**Alexander Stepanov**

Working through the exercises in the book will help programmers think rigorously about their code. While learning Athena and going through hundreds of problems is a difficult task, it will lead not only to more correct code, but will help programmers to decompose the code into coherent subcomponents. My professional life would have been easier if this book was available when I was young.

**Rex Page**

*Fundamental Proof Methods in Computer Science* is well thought out and carefully written. The text introduces formal notation from the outset, and employs it throughout the presentation. No other book that I know of brings with it the formalism necessary for mechanized logic processing. This is a significant contribution to the teaching of applications of formal logic in problems relevant to computer science.

**Peter Norvig**

This book serves as both an encyclopedic manual of proof tools and techniques, and as a well-written inspirational manifesto explaining why it is important to be able to think about and work with proofs.

**Endorsement**

Working through the exercises in the book will help programmers think rigorously about their code. While learning Athena and going through hundreds of problems is a difficult task, it will lead not only to more correct code, but will help programmers to decompose the code into coherent subcomponents. My professional life would have been easier if this book was available when I was young.

—

**Alexander Stepanov**, coauthor of

*Elements of Programming* and

*From Mathematics to Generic Programming*
**From the Publisher**

This book serves as both an encyclopedic manual of proof tools and techniques, and as a well-written inspirational manifesto explaining why it is important to be able to think about and work with proofs.

—

**Peter Norvig**, Director of Research, Google

*Fundamental Proof Methods in Computer Science* is well thought out and carefully written. The text introduces formal notation from the outset, and employs it throughout the presentation. No other book that I know of brings with it the formalism necessary for mechanized logic processing. This is a significant contribution to the teaching of applications of formal logic in problems relevant to computer science.

—

**Rex Page**, Professor Emeritus, School of Computer Science, University of Oklahoma, coauthor of

*Discrete Mathematics Using a Computer*Working through the exercises in the book will help programmers think rigorously about their code. While learning Athena and going through hundreds of problems is a difficult task, it will lead not only to more correct code, but will help programmers to decompose the code into coherent subcomponents. My professional life would have been easier if this book was available when I was young.

—

**Alexander Stepanov**, coauthor of

*Elements of Programming* and

*From Mathematics to Generic Programming*