In praise of algebra

Tony Hoare, Stephan van Staden
2012 Formal Aspects of Computing  
We survey the well-known algebraic laws of sequential programming, and extend them with some less familiar laws for concurrent programming. We give an algebraic definition of the Hoare triple, and algebraic proofs of all the relevant laws for concurrent separation logic. We give the provable concurrency laws for Milner transitions, for the Back/Morgan refinement calculus, and for Dijkstra's weakest preconditions. We end with a section in praise of algebra, of which Carroll Morgan is such a master.
doi:10.1007/s00165-012-0249-0 fatcat:6jsnrjik7fc5nhiqlu3w5edpii