# Algebras for Program Correctness in Isabelle/HOL

@inproceedings{Armstrong2014AlgebrasFP, title={Algebras for Program Correctness in Isabelle/HOL}, author={Alasdair Armstrong and Victor B. F. Gomes and Georg Struth}, booktitle={RAMiCS}, year={2014} }

We present a reference formalisation of Kleene algebra and demonic refinement algebra with tests in Isabelle/HOL. It provides three different formalisations of tests. Our structured comprehensive libraries for these algebras extend an existing Kleene algebra library. It includes an algebraic account of Hoare logic for partial correctness and several refinement and concurrency control laws in a total correctness setting. Formalisation examples include a complex refinement theorem, a generic…

## 10 Citations

### Formal analysis of concurrent programs

- Computer Science, Mathematics
- 2015

Extensions of Kleene algebras are used to develop algeBRas for rely-guarantee style reasoning about concurrent programs, which yields a rapid, lightweight approach for the construction of verification and refinement tools.

### Lightweight Program Construction and Verification Tools in Isabelle/HOL

- Computer ScienceSEFM
- 2014

This work presents a principled approach to the development of construction and verification tools for while-programs by formalisation in Isabelle/HOL that makes these tools themselves correct by construction.

### Algebraic principles for program correctness tools in Isabelle/HOL

- Computer Science
- 2015

This thesis puts forward a flexible and principled approach to the development of
construction and verification tools for imperative programs, in which the
control flow and the data level are…

### Algebraic Principles for Rely-Guarantee Style Concurrency Verification Tools

- Computer ScienceFM
- 2014

We provide simple equational principles for deriving rely-guarantee-style inference rules and refinement laws based on idempotent semirings. We link the algebraic layer with concrete models of…

### Mechanised Theory Engineering in

- Computer Science
- 2016

The work described here underpins specification languages such as Circus, which combines state-rich imperative operations, communication and concurrency, object orientation, references and pointers, real time, and process mobility, all with denotational, axiomatic, algebraic, and operational semantics.

### Building program construction and verification tools from algebraic principles

- Computer ScienceFormal Aspects of Computing
- 2015

We present a principled modular approach to the development of construction and verification tools for imperative programs, in which the control flow and the data flow are cleanly separated. Our…

### synchronous program algebra: a basis for reasoning about shared-memory and event-based

- Computer Science
- 2022

The algebra has been encoded in Isabelle/HOL to provide a basis for tool support for concurrent program verification based on the rely/guarantee technique, and facilitates simpler, more general, proofs that allow a higher level of automation than what is possible in low-level, model-specific interpretations.

### A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency

- Computer ScienceFormal Aspects of Computing
- 2018

The algebra has been encoded in Isabelle/HOL to provide a basis for tool support for concurrent program verification based on the rely/guarantee technique, and facilitates simpler, more general, proofs that allow a higher level of automation than what is possible in low-level, model-specific interpretations.

### Developments in concurrent Kleene algebra

- Computer ScienceJ. Log. Algebraic Methods Program.
- 2016

## References

SHOWING 1-10 OF 29 REFERENCES

### Kleene Algebra with Tests and Demonic Refinement Algebras

- Computer Science, MathematicsArch. Formal Proofs
- 2014

This work formalises Kleene algebra with tests (KAT) and demonic refinement algebra (DRA) with tests in Isabelle/HOL and derives the inference rules for Hoare logic in KAT and its relational model.

### Program Analysis and Verification Based on Kleene Algebra in Isabelle/HOL

- Computer ScienceITP
- 2013

This work formalises SKAT in Isabelle/HOL, using the quotient type package to reason equationally in this algebra and extends SKAT with assertion statements and derive the inference rules of Hoare logic.

### Automated Analysis of Regular Algebra

- MathematicsIJCAR
- 2012

Isabelle/HOL's automated theorem provers and counterexample generators are used to study the regular algebras of Boffa, Conway, Kozen and Salomaa, formalise their soundness and completeness and engineer their hierarchy.

### Kleene Algebra

- Computer ScienceArch. Formal Proofs
- 2013

This work shows applicability of the algebra to a partially-ordered trace model of program execution semantics and its usefulness by validating familiar proof rules for sequential programs and for concurrent ones (Jones’s rely/guarantee calculus).

### Algebra of Monotonic Boolean Transformers

- Mathematics, Computer ScienceSBMF
- 2011

This paper introduces an algebra which can be used to model total correctness, refinement, demonic and angelic choice and the basic model of this algebra are monotonic Boolean transformers.

### Algebraic Principles for Rely-Guarantee Style Concurrency Verification Tools

- Computer ScienceFM
- 2014

We provide simple equational principles for deriving rely-guarantee-style inference rules and refinement laws based on idempotent semirings. We link the algebraic layer with concrete models of…

### From Kleene Algebra to Refinement Algebra

- Computer ScienceMPC
- 2002

DRA (demonic Re nement Algebra), a variation of KAT for total correctness and illustrating its modeling and reasoning power with a number of applications and examples are described.

### Kleene Algebra with Tests and Program Schematology

- Computer Science, Mathematics
- 2001

A purely algebraic approach to scheme equivalence using Kleene algebra with tests (KAT), where instead of transforming schemes directly using combinatorial graph manipulation, they are regarded as a certain kind of automaton on abstract traces.

### Automated verification of refinement laws

- Computer ScienceAnnals of Mathematics and Artificial Intelligence
- 2009

This work verified two classical complex refinement laws for action systems by ATP: a data refinement law and Back’s atomicity refinement law, and presents a refinement law for infinite loops that has been discovered through automated analysis.

### Normal forms in total correctness for while programs and action systems

- MathematicsJ. Log. Algebraic Methods Program.
- 2011