The weakest precondition calculus: Recursion and duality

  title={The weakest precondition calculus: Recursion and duality},
  author={Marcello M. Bonsangue and Joost N. Kok},
  journal={Formal Aspects of Computing},
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… 
A fixpoint theory for non-monotonic parallelism
Parameterised three-valued model checking
Dually nondeterministic functions
It is shown that nondeterministic functions can be described by a general theory that accounts for it in the form in which it occurs in many programming contexts, among them specifications, competing agents, data refinement, abstract interpretation, imperative programming, process algebras, and recursion theory.
Symbolic execution formally explained
A formal explanation of symbolic execution in terms of a symbolic transition system is provided and its correctness and completeness are proved with respect to an operational semantics which models the execution on concrete values.
M ar 2 01 6 Reasoning about Recursive Probabilistic Programs ∗
This paper presents a wp–style calculus for obtaining expectations on the outcomes of (mutually) recursive probabilistic prog rams. We provide several proof rules to derive one– and two–sided bou nds
Reasoning about Recursive Probabilistic Programs*
A wp–style calculus for obtaining expectations on the outcomes of (mutually) recursive probabilistic programs and bounds on the expected runtime of recursive programs that can be used to determine the time until termination of such programs are given.
Mandatory and Potential Choice: Comparing Event-B and STAIRS
The relationship between the operators for choice in Event-B and STAIRS is investigated, which is designed to provide the UML community with an understanding of refinement and fulfillment.
Abstract delta modeling : software product lines and beyond
To prevent a large software system from collapsing under its own complexity, its code needs to be well-structured. Ideally we want all code related to a certain feature to be grouped together —called


A Cook's Tour of Countable Nondeterminism
This work provides four semantics for a small programming language involving unbounded (but countable) nondeterminism and introduces a Hoare-like proof system for total correctness.
A generalization of Dijkstra's calculus
  • Greg Nelson
  • Computer Science
    ACM Trans. Program. Lang. Syst.
  • 1989
This paper gives a self-contained account of the generalized calculus from first principles through the semantics of recursion through the fixpoint method from denotational semantics.
Countable nondeterminism and random assignment
Four semantics for a small programming language involving unbounded (but countable) nondeterminism are provided and a Hoare-like proof system for total correctness is introduced and its soundness and completeness in an appropriate sense are shown.
Refinement Calculus, Part I: Sequential Nondeterministic Programs
A lattice theoretic framework for the calculus of program refinement is presented, which permits miraculous, angelic and demonic statements to be used in the description of program behavior.
Predicate-transformer semantics of general recursion
The semantics of a language with arbitrary atomic statements, unbounded nondeterminacy, and mutual recursion is developed, and the universal conjunctivity of the weakest liberal preconditions and the connection between the weakest precondition and the weakest liberalism are proved to remain valid.
Dijkstra's Predicate Transformer, Non-Determinism, Recursion and Termination
A method for expressing total correctness of non-deterministic recursive procedures by means of inductive assertion patterns is presented and shown to be adequate (complete), thus refining work of de BAKKER's and MEERTENS'.
A simple fixpoint argument without the restriction to continuity
It is shown that, even in the case of unbounded nondeterminacy, the fundamental theorem about the repetition can be proved by a simple and quite elementary argument.
Power Domains
  • M. Smyth
  • Mathematics
    J. Comput. Syst. Sci.
  • 1978
On Correct Refinement of Programs
  • R. Back
  • Computer Science, Chemistry
    J. Comput. Syst. Sci.
  • 1981