Communicating sequential processes
Communicating sequential processes
Countable nondeterminism and random assignment
Journal of the ACM (JACM)
A mathematical approach to nondeterminism in data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interpretations of recursion under unbounded nondeterminacy
Theoretical Computer Science
Parallel program design: a foundation
Parallel program design: a foundation
Predicate calculus and program semantics
Predicate calculus and program semantics
Data refinement by calculation
Acta Informatica
Category theory for computing science
Category theory for computing science
Programming from specifications
Programming from specifications
Beauty is our business
Science of Computer Programming
Nondeterminacy and recursion via stacks and games
Theoretical Computer Science
Journal of the ACM (JACM)
A Weaker Precondition for Loops
ACM Transactions on Programming Languages and Systems (TOPLAS)
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Mathematical Theory of Program Correctness
Mathematical Theory of Program Correctness
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
On the Semantics of Fair Parallelism
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
Semantics of Nondeterministic and Noncontinuous Constructs
Program Construction, International Summer Schoo
A Lattice-theoretical Basis for a Specification Language
Proceedings of the International Conference on Mathematics of Program Construction, 375th Anniversary of the Groningen University
The complexity of theorem-proving procedures
STOC '71 Proceedings of the third annual ACM symposium on Theory of computing
Terms with unbounded demonic and angelic nondeterminacy
Science of Computer Programming
Dual unbounded nondeterminacy, recursion, and fixpoints
Acta Informatica
Finite automata and their decision problems
IBM Journal of Research and Development
Hi-index | 5.23 |
The refinement calculus of Back, Morgan, Morris, and others is based on monotone predicate transformers (weakest preconditions) where conjunctions stand for demonic choices between commands and disjunctions for angelic choices. Arbitrary monotone predicate transformers cannot be modelled by relational semantics but can be modelled by so-called multirelations. Results of Morris indicate, however, that the natural domain for the combination of demonic and angelic choice is the free distributive completion (FDC) of the state space. The present paper provides a new axiomatization and more explicit construction of the FDC of an arbitrary ordered set. The FDC concept is self-dual, but the construction is not. We therefore determine the duality function from the FDC to the dual of the FDC of the dual ordered set. The elements of the FDC are classified according to their conjunctivity and disjunctivity. The theory is applied to imperative programming with operators for sequential composition and demonic and angelic choice. The theory based on the FDC is shown to be equivalent to a weakest precondition theory for up-closed predicates. If the order is discrete (i.e., the equality relation), the FDC turns out to be the domain of the choice semantics of Back and von Wright, whereas up-closed multirelations are functions towards this domain.