Algebraic Foundations of the Unifying Theories of Programming (2007)
BibTeX
@MISC{Guttmann07algebraicfoundations,
author = {Walter Guttmann},
title = {Algebraic Foundations of the Unifying Theories of Programming},
year = {2007}
}
OpenURL
Abstract
Hoare and He’s Unifying Theories of Programming take a relational view on semantics. The meaning of a non-deterministic, imperative program is described by ‘designs’ composed of two relations. They represent terminating states and relate the initial and final values of the observable variables, respectively. Several ‘healthiness conditions’ are imposed by the theory to obtain properties found in practice. This work determines the structure of designs and modifies the theory to support nonstrict computations. It achieves these goals by identifying healthiness conditions and related axioms that involve unnecessary restrictions and subsequently removing them. The outcome provides a clear account of the algebraic foundations of the Unifying Theories of Programming. One of the results is a generalisation of designs by constructing them on semirings with ideals, structures having fewer axioms than relations. This clarifies the essential algebraic structure of designs, allows the reuse of existing mathematical theory and connects to further semantical approaches. The framework is extended by algebraic formulations of finite and infinite iteration, domain, pre-image, determinacy, invariants and convergence. Calculations







