Program Proofs
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 
1141707872
Program Proofs
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 
48.99 In Stock
Program Proofs

Program Proofs

Program Proofs

Program Proofs

eBook

$48.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

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 

Product Details

ISBN-13: 9780262375429
Publisher: MIT Press
Publication date: 03/07/2023
Sold by: Penguin Random House Publisher Services
Format: eBook
Pages: 496
Sales rank: 535,981
File size: 3 MB

About the Author

K. Rustan M. Leino is a Senior Principal Applied Scientist in the Automated Reasoning Group at Amazon Web Services, an ACM Fellow, an IFIP Fellow, and a recipient of the CAV Award.

Table of Contents

Preface ix
Notes for Teachers xv
0. Introduction 1
Part 0. Learning the Ropes
1. Basics 9
2. Making It Formal 25
3. Recursion and Termination 63
4. Inductive Datatypes 83
5. Lemmas and Proofs 95
Part 1. Functional Programs
6. Lists 137
7. Unary Numbers 161
8. Sorting 175
9. Abstraction 189
10. Data-Structure Invariants 207
Part 2. Imperative Programs
11. Loops 235
12. Recursive Specifications, Iterative Programs 257
13. Arrays and Searching 275
14. Modifying Arrays 321
15. In-situ Sorting 337
16. Objects 351
17. Dynamic Heap Data Structures 387
A. Dafny Syntax Cheat Sheet 427
B. Boolean Algebra 433
C. Answers to Select Exercises 445
References 459
Index 467
From the B&N Reads Blog

Customer Reviews