Mathematical Logic through Python
Using a unique pedagogical approach, this text introduces mathematical logic by guiding students in implementing the underlying logical concepts and mathematical proofs via Python programming. This approach, tailored to the unique intuitions and strengths of the ever-growing population of programming-savvy students, brings mathematical logic into the comfort zone of these students and provides clarity that can only be achieved by a deep hands-on understanding and the satisfaction of having created working code. While the approach is unique, the text follows the same set of topics typically covered in a one-semester undergraduate course, including propositional logic and first-order predicate logic, culminating in a proof of Gödel's completeness theorem. A sneak peek to Gödel's incompleteness theorem is also provided. The textbook is accompanied by an extensive collection of programming tasks, code skeletons, and unit tests. Familiarity with proofs and basic proficiency in Python is assumed.
- Makes mathematical logic more accessible to students with less mathematical background by steering away from the rigorous 'definition-theorem-proof' style of mathematics courses and instead using programming as a tool to reason about logic
- Presents material in a sequence of tasks, with over 150 tasks throughout the book, which provides students with a clear, explicit, and deep hands-on understanding
- Follows the same set of topics typically covered in a traditional first course mathematical logic
- Can also be used as a supplementary text for instructors wanting to incorporate programming into their basic logic, discrete mathematics, and automata/formal language courses
- Extra online resources include code skeletons and APIs for all tasks in the book, as well as unit tests that provide automatic testing of the solution to every task in the book, all in the Python programming language
Reviews & endorsements
'The authors transformed the first course in Mathematical Logic – an experience that many students view as daunting and technical – into an inspiring journey that sails playfully yet rigorously from logic's first principles to Gödel's Completeness Theorem. The secret sauce is making progress by writing many little Python programs instead of proving theorems, a hands-on approach that suits computer science students perfectly.' Shimon Schocken, Reichman University
'Mathematical logic is all about expressions and syntactic operations, and many of its best ideas find a natural home in computer science. Gonczarowski and Nisan make the subject come alive by opening it up to computational implementation and exploration.' Jeremy Avigad, Carnegie Mellon University
'Mathematical Logic through Python offers a refreshingly innovative approach that makes it stand out among several excellent books on mathematical logic. By building on readers' experience and intuition through programming, it naturally provides them with a deep understanding of the fundamental concepts of mathematical logic that underly computer science.' Yoram Moses, Technion - Israel Institute of Technology
'… a very useful addition to the existing library of mathematical logic textbooks.' Tim Swift, Irish Mathematical Society Bulletin
Product details
September 2022Hardback
9781108845076
280 pages
260 × 181 × 17 mm
0.74kg
Temporarily unavailable - available from TBC
Table of Contents
- Preface
- Introduction and Overview
- Part I. Propositional Logic:
- 1. Propositional Logic Syntax
- 2. Propositional Logic Semantics
- 3. Logical Operators
- 4. Proof by Deduction
- 5. Working with Proofs
- 6. The Tautology Theorem and the Completeness of Propositional Logic
- Part II. Predicate Logic:
- 7. Predicate Logic Syntax and Semantics
- 8. Getting Rid of Functions and Equality
- 9. Deductive Proofs of Predicate Logic Formulas
- 10. Working with Predicate Logic Proofs
- 11. The Deduction Theorem and Prenex Normal Form
- 12. The Completeness Theorem
- 13. Sneak Peek at Mathematical Logic II: Godel's Incompleteness Theorem
- Cheatsheet Axioms and Axiomatic Inference Rules Used in this Book
- Notes
- Index.