
Program Proofs
- Length: 496 pages
- Edition: 1
- Language: English
- Publisher: The MIT Press
- Publication Date: 2023-03-07
- ISBN-10: 026254623X
- ISBN-13: 9780262546232
- Sales Rank: #314125 (See Top 100 Books)
This comprehensive and highly readable textbook teaches how to formally reason about computer programs using an incremental approach and the verification-aware programming language Dafny.
Program Proofs shows students what it means to write specifications for programs, what it means for programs to satisfy those specifications, and how to write proofs that connect specifications and programs. Writing with clarity and humor, K. Rustan M. Leino first provides an overview of the basic theory behind reasoning about programs. He then gradually builds up to complex concepts and applications, until students are facing real programs using objects, data structures, and non-trivial recursion. To emphasize the practical nature of program proofs, all material and examples use the verification-aware programming language Dafny, but no previous knowledge of Dafny is assumed.
- Written in a highly readable and student-friendly style
- Builds up to complex concepts in an incremental manner
- Comprehensively covers how to write proofs and how to specify and verify both functional programs and imperative programs
- Uses real program text from a real programming language, not psuedo code
- Features engaging illustrations and hands-on learning exercises
Cover Contents Preface Notes for Teachers Chapter 0. Introduction Part 0. Learning the Ropes Chapter 1. Basics Chapter 2. Making It Formal Chapter 3. Recursion and Termination Chapter 4. Inductive Datatypes Chapter 5. Lemmas and Proofs Part 1. Functional Programs Chapter 6. Lists Chapter 7. Unary Numbers Chapter 8. Sorting Chapter 9. Abstraction Chapter 10. Data-Structure Invariants Part 2. Imperative Programs Chapter 11. Loops Chapter 12. Recursive Specifications, Iterative Programs Chapter 13. Arrays and Searching Chapter 14. Modifying Arrays Chapter 15. In-situ Sorting Chapter 16. Objects Chapter 17. Dynamic Heap Data Structures Reference Material Appendix A. Dafny Syntax Cheat Sheet Appendix B. Boolean Algebra Appendix C. Answers to Select Exercises References Index
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.