The Little Prover

by Friedman, Eastlund

ISBN: 9780262330565 | Copyright 2015

Click here to preview

Instructor Requests

Digital Exam/Desk Copy Print Desk Copy Ancillaries
Tabs

The Little Prover introduces inductive proofs as a way to determine facts about computer programs. It is written in an approachable, engaging style of question-and-answer, with the characteristic humor of The Little Schemer (fourth edition, MIT Press). Sometimes the best way to learn something is to sit down and do it; the book takes readers through step-by-step examples showing how to write inductive proofs. The Little Prover assumes only knowledge of recursive programs and lists (as presented in the first three chapters of The Little Schemer) and uses only a few terms beyond what novice programmers already know. The book comes with a simple proof assistant to help readers work through the book and complete solutions to every example.

Computational theorem proving is so useful, effective, and important that its advocates present it in economic terms: about preventing costly errors in software and protocols. What gets lost is just how much fun it can be. Friedman and Eastlund, two jolly characters, eschew talk of bugs and bombs, and strip it to its essence as only a Little book can. Want proof? Look inside!

Shriram Krishnamurthi Professor of Computer Science, Brown University

What can you learn about a program without actually running it? What can you know by reading the code? In the grand tradition of The Little LISPer and The Little Schemer, Dan Friedman and Carl Eastlund elegantly present small programs that contain big ideas, but now also show how to prove claims about their behavior. The question-and-answer format makes it surprisingly easy to learn and master inductive proof techniques—it’s like eating peanuts! Don’t overlook the concise and elegant code for the J-Bob proof assistant itself, tucked in the back. The Little Prover is a marvelous introduction to the program proof techniques used in such tools as ACL2, Isabelle, and Coq.

Guy L. Steele Jr. Software Architect, Oracle Labs, coinventor of the Scheme language, and coauthor of Common LISP: The Language

Friedman and Eastlund’s The Little Prover is a gentle introduction to the nuts and bolts of formal proofs about programs. Following on from The Little Schemer, it is an excellent guide for both thoughtful functional programmers wondering what it really means to know that a program is correct and do-it-yourselfers who want a taste of how proof assistants like ACL2 do their work. Bring your sense of humor and your thinking cap!

Benjamin C. Pierce Henry Salvatori Professor of Computer and Information Science, University of Pennsylvania
Expand/Collapse All
Contents (pg. vii)
Foreword (pg. ix)
Preface (pg. xi)
1. Old Games, New Rules (pg. 2)
2. Even Older Games (pg. 14)
3. What's in a Name? (pg. 32)
4. Part of This Total Breakfast (pg. 42)
5. Think It Over and Over and Over (pg. 58)
6. Think It Through (pg. 76)
7. Oh My, Stars! (pg. 88)
8. Learning the Rules (pg. 106)
9. Changing the Rules (pg. 114)
10. The Stars Are Aligned (pg. 138)
Recess (pg. 164)
The Proof of the Pudding (pg. 180)
The Little Assistant (pg. 202)
Restless for More? (pg. 216)
Afterword (pg. 221)
Index (pg. 222)

Daniel P. Friedman

Daniel P. Friedman is Professor of Computer Science at Indiana University and coauthor of The Little Schemer (fourth edition), The Reasoned Schemer, The Seasoned Schemer, and Essentials of Programming Languages (third edition), all published by the MIT Press.


Carl Eastlund

Carl Eastlund is a software engineer at Jane Street Capital in New York City.


eTextbook
Go paperless today! Available online anytime, nothing to download or install.

Features

  • Bookmarking
  • Note taking
  • Highlighting