Temporal weakest precondions are introduced for calculational reasoning about the states encountered during execution of not-necessarily terminating recursive procedures. The formalism can distinguish error from useful nontermination. The precondition functions are constructed in a new and more elegant way. Healthiness laws are discussed briefly. Proof rules are introduced that enable calculational proofs of various safety and progress properties. The construction of the precondition functions is justified in an Appendix that provides the operational semantics
A language is constructed that supports arbitrary atomic statements, composition, alternatives, and ...
The termination assertion p〈S〉 q means that whenever the formula p is true, there is an execution of...
We describe a formal verification framework and tool implementation, based upon cyclic proofs, for c...
Temporal weakest precondions are introduced for calculational reasoning about the states encountered...
The weakest-precondition interpretation of recursive procedures is developed for a language with a c...
We develop the semantics of a language with arbitrary atomic statements, unbounded nondeterminacy, a...
The weakest precondition semantics of recursive procedures with local variables are developed for an...
Four proof rules for recursive procedures in a Pascal-like language are presented. The main rule dea...
Dijkstra's language of guarded commands is extended with recursion and transformed into algebra. The...
AbstractDijkstra and Scholten (1990) present an axiomatic semantics for Dijkstra's guarded command l...
In expounding the notions of pre- and postconditions, of termination and nontermination, of correctn...
A language is constructed that supports arbitrary atomic statements, composition, alternatives, and ...
The termination assertion p〈S〉 q means that whenever the formula p is true, there is an execution of...
We describe a formal verification framework and tool implementation, based upon cyclic proofs, for c...
Temporal weakest precondions are introduced for calculational reasoning about the states encountered...
The weakest-precondition interpretation of recursive procedures is developed for a language with a c...
We develop the semantics of a language with arbitrary atomic statements, unbounded nondeterminacy, a...
The weakest precondition semantics of recursive procedures with local variables are developed for an...
Four proof rules for recursive procedures in a Pascal-like language are presented. The main rule dea...
Dijkstra's language of guarded commands is extended with recursion and transformed into algebra. The...
AbstractDijkstra and Scholten (1990) present an axiomatic semantics for Dijkstra's guarded command l...
In expounding the notions of pre- and postconditions, of termination and nontermination, of correctn...
A language is constructed that supports arbitrary atomic statements, composition, alternatives, and ...
The termination assertion p〈S〉 q means that whenever the formula p is true, there is an execution of...
We describe a formal verification framework and tool implementation, based upon cyclic proofs, for c...