A Relational Model of Demonic Nondeterministic Programs

The paper gives a self-contained account of a calculus of relations from basic operations through the treatment of recursive relation equations. This calculus serves as an algebraic apparatus for defining the denotational semantics of Dijkstra’s nondeterministic sequential programming language. Nondeterministic programs are modeled by binary relations, objects of an algebraic structure founded upon the operations “union”, “left restriction”, “demonic composition”, “demonic union”, and the ordering “restriction of”. Recursion and iteration are interpreted as fixed points of continuous relationals. Developed in the framework of set theory, this calculus may be regarded as a systematic generalization of the functional style.