The weakest precondition calculus: Recursion and duality
- 1 November 1994
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in Formal Aspects of Computing
- Vol. 6 (Suppl 1) , 788-800
- https://doi.org/10.1007/bf01213603
Abstract
An extension of Dijkstra's guarded command language is studied, including unbounded demonic choice and a backtrack operator. We consider three orderings on this language: a refinement ordering defined by Back, a new deadlock ordering, and an approximation ordering of Nelson. The deadlock ordering is in between the two other orderings. All operators are monotonic in Nelson's ordering, but backtracking is not monotonic in Back's ordering and sequential composition is not monotonic for the deadlock ordering. At first sight recursion can only be added using Nelson's ordering. We show that, under certain circumstances, least fixed points for non-monotonic functions can be obtained by iteration from the least element. This permits the addition of recursion even using Back's ordering or the deadlock ordering in a fully compositional way. In order to give a semantic characterization of the three orderings that relates initial states to possible outcomes of the computation, the relation between predicate transformers and discrete power domains is studied. We consider (two versions of) the Smyth power domain and the Egli-Milner power domain.Keywords
This publication has 14 references indexed in Scilit:
- The weakest precondition calculus: Recursion and dualityFormal Aspects of Computing, 1994
- Refinement calculus, part II: Parallel and reactive programsPublished by Springer Nature ,1990
- A generalization of Dijkstra's calculusACM Transactions on Programming Languages and Systems, 1989
- A theoretical basis for stepwise refinement and the programming calculusScience of Computer Programming, 1987
- Countable nondeterminism and random assignmentJournal of the ACM, 1986
- A simple fixpoint argument without the restriction to continuityActa Informatica, 1986
- On correct refinement of programsJournal of Computer and System Sciences, 1981
- do considered od: A contribution to the programming calculusActa Informatica, 1979
- Power domainsJournal of Computer and System Sciences, 1978
- A characterization of weakest preconditionsJournal of Computer and System Sciences, 1977