This revised edition covers topics such as procedures, parameters, recursion and data refinement, with the integration of specification, development and coding, based on ordinary (classical) logic.Expand

Probabilistic predicates generalize standard predicates over a state space; with Probabilistic predicate transformers one thus reasons about imperative programs in terms of probabilistic pre- and postconditions.Expand

Dijkstra's language is extended by <italic>specification statements</italic>, which specify parts of a program “yet to be developed.” A weakest precondition semantics is given for these statements so that the extended language has a meaning as precise as the original.Expand

We provide an operational and axiomatic framework for both partial and total correctness of probabilistic and demonic sequential programs; among other things, that provides the theory to support our earlier---and practical---publication on demonic nondeterminism.Expand

A state-based and an event-based approach to concurrency are linked: the traces, failures and divergences of CSP are expressed as weakest precondition formulae over Action Systems.Expand

The μ-calculus is a powerful tool for specifying and verifying transition systems, including those with both demonic (universal) and angelic (existential) choice; its quantitative generalization qMμ extends to include probabilistic choice.Expand

The traces, failures, and divergences of CSP can be expressed as weakest precondition formulae over action systems, by giving two proof methods which are sound and jointly complete: forwards and backwards simulations.Expand