current edition

You can download the book right here. It is 6+236 pages.


  1. Preface
  2. Basic Theories
  3. Basic Data Structures
  4. Function Theory
  5. Program Theory
  6. Programming Language
  7. Recursive Definition
  8. Theory Design and Implementation
  9. Concurrency
  10. Interaction
  11. Exercises
  12. Reference

Solutions to exercises are available to course instructors.

中文版 (Chinese version)

change log

The course Formal Methods of Software Design based on the book is available online free. It includes lectures and transcripts.

author's website