Book contents
- Frontmatter
- Contents
- Preface
- List of symbols
- 0 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
- Frontmatter
- Contents
- Preface
- List of symbols
- 0 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
Summary
The purpose of this book is to develop the semantics of imperative sequential programs. One prerequisite for reading is some familiarity with the use of predicates in programming, as exposed for instance in the books [Backhouse 1986], [Dijkstra 1976], or [Gries 1981]. Some mathematical maturity is another prerequisite: we freely use sets, functions, relations, orders, etc. We strive for providing complete proofs. This requires many backward references but, of course, the reader may sometimes prefer to ignore them. Actually, at every assertion the reader is invited to join the game and provide a proof himself.
In every chapter, the formulae are numbered consecutively. For reference to formulae of other chapters we use the convention that i(j) denotes formula (j) of Chapter i.
At the end of almost every chapter we give a number of exercises, grouped according to the latest relevant section. When referring to exercise i.j.k, we mean exercise k of Section i.j. Some exercises are simple tests of the reader's apprehension, while other exercises contain applications and extensions of the main text. For (parts of) exercises marked with ♡ we provide solutions in Chapter 16.
References to the literature are given in the form [X n], for author X and year n, possibly followed by a letter.
Semantics of imperative sequential programs
The word ‘semantics’ means ‘meaning’. In the title of this book, it announces two central themes. The meaning of a program is given by its specification.
- Type
- Chapter
- Information
- Programs, Recursion and Unbounded Choice , pp. 1 - 11Publisher: Cambridge University PressPrint publication year: 1992