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.
Review
'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
Book Description
A unique approach to mathematical logic where students implement the underlying concepts and proofs in the Python programming language.
About the Author
Yannai A. Gonczarowski is Assistant Professor of both Economics and Computer Science at Harvard University, and is the first faculty at Harvard to be appointed to both of these departments. He received his PhD in Mathematics and Computer Science from The Hebrew University of Jerusalem. Among his research awards are the ACM SIGecom Dissertation Award and INFORMS AMD Junior Researcher Paper Prize. He is also a professionally trained opera singer.
Noam Nisan is Professor of Computer Science and Engineering at The Hebrew University of Jerusalem, serving as Dean of the School of Computer Science and Engineering during 2018-2021. He received his PhD in Computer Science from the University of California, Berkeley. Among the awards for his research on computational complexity and algorithmic game theory are the Gödel Prize and Knuth Award. This is his fifth book.
Description:
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.
Review
'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
Book Description
A unique approach to mathematical logic where students implement the underlying concepts and proofs in the Python programming language.
About the Author
Yannai A. Gonczarowski is Assistant Professor of both Economics and Computer Science at Harvard University, and is the first faculty at Harvard to be appointed to both of these departments. He received his PhD in Mathematics and Computer Science from The Hebrew University of Jerusalem. Among his research awards are the ACM SIGecom Dissertation Award and INFORMS AMD Junior Researcher Paper Prize. He is also a professionally trained opera singer.
Noam Nisan is Professor of Computer Science and Engineering at The Hebrew University of Jerusalem, serving as Dean of the School of Computer Science and Engineering during 2018-2021. He received his PhD in Computer Science from the University of California, Berkeley. Among the awards for his research on computational complexity and algorithmic game theory are the Gödel Prize and Knuth Award. This is his fifth book.