Mathematical Logic Through Python
Author(s): Yannai A. Gonczarowski, Noam Nisan
🚚 Free UK delivery on books (excluding sale). T&Cs apply.
Free click & collect on all orders.
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