Concurrent Kleene Algebra and its Foundations

Tony Hoare, Bernhard Möller, Georg Struth, Ian Wehrman
2011 The Journal of Logic and Algebraic Programming  
A Concurrent Kleene Algebra offers two composition operators, related by a weak version of an exchange law: when applied in a trace model of program semantics, one of them stands for sequential execution and the other for concurrent execution of program components. After introducing this motivating concrete application, we investigate its abstract background in terms of a primitive independence relation between the traces. On this basis, we develop a series of richer algebras; the richest
more » ... tes a proof calculus for programs similar to that of a Jones style rely/guarantee calculus. On the basis of this abstract algebra, we finally reconstruct the original trace model, using the notion of atoms from lattice theory.
doi:10.1016/j.jlap.2011.04.005 fatcat:7zx4n42mojaqhaktidvrdzl6cq