International Journal of Algebra and Computation · 2009 · 24 citations · 11 references
ComputingComputer ScienceMathematicsLogicProgramming LanguagesTheory Of ComputationModel TheoryPredicate LogicAxiomatizationProgram Termination
The "if–then–else" construction is one of the most elementary programming commands, and its abstract laws have been widely studied, starting with McCarthy. Possibly, the most obvious extension of this is to include the operation of composition of programs, which gives a semigroup of functions (total, partial, or possibly general binary relations) that can be recombined using if–then–else. We show that this particular extension admits no finite complete axiomatization and instead focus on the case where composition of functions with predicates is also allowed (and we argue there is good reason to take this approach). In the case of total functions — modeling halting programs — we give a complete axiomatization for the theory in terms of a finite system of equations. We obtain a similar result when an operation of equality test and/or fixed point test is included.
11
On Hoare logic and Kleene algebra with tests
Dexter Kozen · ACM Transactions on Computational Logic · 2000 · 150 citations
Relation algebras and function semigroups
Boris M. Schein · Semigroup Forum · 1970 · 105 citations
Dynamic algebras: Examples, constructions, applications
Vaughan Pratt · Studia Logica · 1991 · 68 citations
Algebras of modal operators and partial correctness
Bernhard Möller, Georg Struth · Theoretical Computer Science · 2005 · 66 citations · Full text