Jackson, M., & Stokes, T. E. (2015). Monoids with tests and the algebra of possibly non-halting programs. Journal of Logical and Algebraic Methods in Programming, 84(2), 259–275. http://doi.org/10.1016/j.jlamp.2014.08.007
Permanent Research Commons link: https://hdl.handle.net/10289/9274
We study the algebraic theory of computable functions, which can be viewed as arising from possibly non-halting computer programs or algorithms, acting on some state space, equipped with operations of composition, if-then-else and while-do defined in terms of a Boolean algebra of conditions. It has previously been shown that there is no finite axiomatisation of algebras of partial functions under these operations alone, and this holds even if one restricts attention to transformations (representing halting programs) rather than partial functions, and omits while-do from the signature. In the halting case, there is a natural “fix”, which is to allow composition of halting programs with conditions, and then the resulting algebras admit a finite axiomatisation. In the current setting such compositions are not possible, but by extending the notion of if-then-else, we are able to give finite axiomatisations of the resulting algebras of (partial) functions, with while-do in the signature if the state space is assumed finite. The axiomatisations are extended to consider the partial predicate of equality. All algebras considered turn out to be enrichments of the notion of a (one-sided) restriction semigroup
This is an author’s accepted version of an article published in the journal: Journal of Logical and Algebraic Methods in Programming. © 2015 Elsevier.