Predicate transformation semantics is the best specification method for the development of correct and well-structured computer programs. This book is a complete account of the predicate transformation calculus semantics of sequential programs, including repetitions, recursive procedures, computational induction, and unbounded nondeterminacy. The author develops their theory to a greater depth than has been achieved before, and describes it in a way that makes it readily compatible with programming methodology. He gives proofs of the programming rules for partial and total correctness of repetitions and recursive procedures, supplies new rules for proving incorrectness, and a stronger rule for proving that two programs satisfy the same specifications. Finally, the semantics are extended so that non-terminating programs can be specified as well.
|Publisher:||Cambridge University Press|
|Series:||Cambridge Tracts in Theoretical Computer Science Series , #27|
|Product dimensions:||6.85(w) x 9.72(h) x 0.51(d)|
Table of Contents
List of symbols; Introduction; 1. Weakest preconditions; 2. Annotation, recursion and repetition; 3. Healthiness laws; 4. Semantics of recursion; 5. Ramifications; 6. Relational semantics; 7. Determinacy and disjunctivity; 8. Syntactic criteria; 9. Operational semantics of recursion; 10. Procedure substitutions; 11. Induction and semantic equality; 12. Induction and refinement; 13. The strong preorder; 14. Temporal operators; 15. Predicative fairness; 16. Solutions of exercises; References; Index of concepts and identifiers.