Table of Contents
Fetching ...

Relation-Algebraic Verification of Disjoint-Set Forests

Walter Guttmann

TL;DR

A simple relation-algebraic semantics of read and write operations on associative arrays is given and the array operations seamlessly integrate with assignments in computation models supporting while-programs.

Abstract

This paper studies how to use relation algebras, which are useful for high-level specification and verification, for proving the correctness of lower-level array-based implementations of algorithms. We give a simple relation-algebraic semantics of read and write operations on associative arrays. The array operations seamlessly integrate with assignments in computation models supporting while-programs. As a result, relation algebras can be used for verifying programs with associative arrays. We verify the correctness of an array-based implementation of disjoint-set forests using the union-by-rank strategy and find operations with path compression, path splitting and path halving. All results are formally proved in Isabelle/HOL. This paper is an extended version of [1].

Relation-Algebraic Verification of Disjoint-Set Forests

TL;DR

A simple relation-algebraic semantics of read and write operations on associative arrays is given and the array operations seamlessly integrate with assignments in computation models supporting while-programs.

Abstract

This paper studies how to use relation algebras, which are useful for high-level specification and verification, for proving the correctness of lower-level array-based implementations of algorithms. We give a simple relation-algebraic semantics of read and write operations on associative arrays. The array operations seamlessly integrate with assignments in computation models supporting while-programs. As a result, relation algebras can be used for verifying programs with associative arrays. We verify the correctness of an array-based implementation of disjoint-set forests using the union-by-rank strategy and find operations with path compression, path splitting and path halving. All results are formally proved in Isabelle/HOL. This paper is an extended version of [1].
Paper Structure (25 sections, 12 theorems, 13 equations)