This text attempts to change the way we teach logic to beginning students. Instead of teaching logic as a subject in isolation, we regard it as a basic tool and show how to use it. We strive to give students a skill in the propositional and predicate calculi and then to exercise that skill thoroughly in applications that arise in computer science and discrete mathematics.
We are not logicians, but programming methodologists, and this text reflects that perspective. We are among the first generation of scientists who are more interested in using logic than in studying it. With this text, we hope to empower further generations of computer scientists and mathematicians to become serious users of logic.
This text attempts to change the way logic and discrete math are taught in computer science and mathematics. While many books treat logic simply as another topic of study, this book's uniqueness lies in its willingness to take it one step further. In the book, logic is treated as a basic tool, to be applied in essentially every other area.