The Science of Programming

Chapter-by-chapter notes on David Gries' book, plus the overview hub.

01·Overview & Hub 02·Foundations — Correctness & Propositions 03·Predicates, States & Quantification 04·The Predicate Transformer wp 05·Basic Commands & the Assignment Axiom 06·The Alternative Command (IF) 07·The Iterative Command (DO) & Invariants 08·Developing Programs & Invariants 09·Worked Examples 10·A Natural Deduction Proof System 11·The Procedure Call 12·Bound Functions & Termination 13·Iteration instead of Recursion 14·Efficiency — Strengthening Invariants 15·Two Larger Developments 16·Inverting Programs 17·Documentation & Historical Notes