E-Book Overview
Covers Boolean theory, number and character theory, bunch, set, string and list theory, functions and quantifiers, specifications, real time, robustness, data structures, control structures, subprograms, functional programming, recursive definition, data and program theories, concurrency, and communication. Contains 372 exercises at the end of the book, arranged by chapter.
E-Book Content
a Practical Theory of Programming second edition Eric C.R. Hehner
–5
a Practical Theory of Programming second edition 2004 January 1 Eric C.R. Hehner Department of Computer Science University of Toronto Toronto ON M5S 2E4 The first edition of this book was published by Springer-Verlag Publishers New York 1993 ISBN 0-387-94106-1 QA76.6.H428
This second edition is available free at
www.cs.utoronto.ca/~hehner/aPToP You may copy freely as long as you include all the information on this page.
–4
Contents 0
Preface 0.0 0.1 0.2 0.3
1
Basic Theories 1.0
1.1 1.2
2
Bunch Theory Set Theory (optional) String Theory List Theory 2.3.0 Multidimensional Structures
Function Theory 3.0
3.1 3.2
3.3 3.4
4
Boolean Theory 1.0.0 Axioms and Proof Rules 1.0.1 Expression and Proof Format 1.0.2 Monotonicity and Antimonotonicity 1.0.3 Context 1.0.4 Formalization Number Theory Character Theory
Basic Data Structures 2.0 2.1 2.2 2.3
3
Introduction Second Edition Quick Tour Acknowledgements
Functions 3.0.0 Abbreviated Function Notations 3.0.1 Scope and Substitution Quantifiers Function Fine Points (optional) 3.2.0 Function Inclusion and Equality (optional) 3.2.1 Higher-Order Functions (optional) 3.2.2 Function Composition (optional) List as Function Limits and Reals (optional)
Program Theory 4.0
4.1
Specifica