Relation-Algebraic Verification of Disjoint-Set Forests

01/24/2023
by   Walter Guttmann, et al.
0

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].

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/12/2017

Verifying Array Manipulating Programs by Tiling

Formally verifying properties of programs that manipulate arrays in loop...
research
06/02/2021

Putting the Squeeze on Array Programs: Loop Verification via Inductive Rank Reduction

Automatic verification of array manipulating programs is a challenging p...
research
05/26/2023

Automatic Program Instrumentation for Automatic Verification (Extended Technical Report)

In deductive verification and software model checking, dealing with cert...
research
01/25/2023

Proving Correctness of Parallel Implementations of Transition System Specifications

The overall problem addressed in this paper is the long-standing problem...
research
05/01/2020

Multi-dimensional Arrays with Levels

We explore a data structure that generalises rectangular multi-dimension...
research
05/29/2021

Formally Validating a Practical Verification Condition Generator (extended version)

A program verifier produces reliable results only if both the logic used...
research
10/24/2019

Leveraging access mode declarations in a model for memory consistency in heterogeneous systems

On a system that exposes disjoint memory spaces to the software, a progr...

Please sign up or login with your details

Forgot password? Click here to reset