Restructuring a concurrent refinement algebra
Ian J. Hayes, Larissa A. Meinicke, Naso Evangelou-Oost
TL;DR
The paper addresses deriving shared-variable concurrent programs from rely/guarantee specifications by restructuring the Concurrent Refinement Algebra (CRA) around a unified algebraic backbone. It shows that sequential composition, parallel composition, and weak conjunction form common quantale and biquantale structures with weak interchange laws, and that this structure extends consistently to tests, atomic and pseudo-atomic commands. By introducing compatible sets of commands and reusing atomic-algebra lemmas for pseudo-atomic commands, the authors obtain a coherent, reusable toolkit for reasoning about termination, guarantees, and relies within rely/guarantee concurrency, implemented in Isabelle/HOL. The work provides concrete laws for distributing across iterations and fixed points, enabling simplified proofs and practical mechanization for concurrent program refinement from specifications. Overall, it advances a principled, tool-supported foundation for deriving concurrent programs from rely/guarantee specifications with stronger algebraic guarantees.
Abstract
The concurrent refinement algebra has been developed to support rely/guarantee reasoning about concurrent programs. The algebra supports atomic commands and defines parallel composition as a synchronous operation, as in Milner's SCCS. In order to allow specifications to be combined, the algebra also provides a weak conjunction operation, which is also a synchronous operation that shares many properties with parallel composition. The three main operations, sequential composition, parallel composition and weak conjunction, all respect a (weak) quantale structure over a lattice of commands. Further structure involves combinations of pairs of these operations: sequential/parallel, sequential/weak conjunction and parallel/weak conjunction, each pair satisfying a weak interchange law similar to Concurrent Kleene Algebra. Each of these pairs satisfies a common biquantale structure. Additional structure is added via compatible sets of commands, including tests, atomic commands and pseudo-atomic commands. These allow stronger (equality) interchange and distributive laws. This paper describes the result of restructuring the algebra to better exploit these commonalities. The algebra is implemented in Isabelle/HOL.
