Established in 1962, the MIT Press is one of the largest and most distinguished university presses in the world and a leading publisher of books and journals at the intersection of science, technology, art, social science, and design.

Instructor Resources

Reader Resources

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!

Overview

Author(s)

Praise

Summary

An introduction to writing proofs about computer programs, written in an accessible question-and-answer style, complete with step-by-step examples and a simple proof assistant.

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.

Paperback

Share

Authors

Daniel P. Friedman

Daniel P. Friedman is Professor of Computer Science in the School of Informatics, Computing, and Engineering at Indiana University and is the author of many books published by the MIT Press, including The Little Schemer and The Seasoned Schemer (with Matthias Felleisen); The Little Prover (with Carl Eastlund); and The Reasoned Schemer (with William E. Byrd, Oleg Kiselyov, and Jason Hemann).

Carl Eastlund

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

Contributors

J Strother Moore and Matthias Felleisen.

Endorsements

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