Muutke küpsiste eelistusi

Mathematical Logic through Python [Pehme köide]

(Hebrew University of Jerusalem), (Harvard University, Massachusetts)
  • Formaat: Paperback / softback, 284 pages, kõrgus x laius x paksus: 254x178x14 mm, kaal: 610 g, Worked examples or Exercises
  • Ilmumisaeg: 15-Sep-2022
  • Kirjastus: Cambridge University Press
  • ISBN-10: 1108949479
  • ISBN-13: 9781108949477
  • Formaat: Paperback / softback, 284 pages, kõrgus x laius x paksus: 254x178x14 mm, kaal: 610 g, Worked examples or Exercises
  • Ilmumisaeg: 15-Sep-2022
  • Kirjastus: Cambridge University Press
  • ISBN-10: 1108949479
  • ISBN-13: 9781108949477
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.

Arvustused

'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

Muu info

A unique approach to mathematical logic where students implement the underlying concepts and proofs in the Python programming language.
Preface xi
0 Introduction and Overview
1(12)
0.1 Our Final Destination: Godel's Completeness Theorem
2(2)
0.2 Our Pedagogical Approach
4(1)
0.3 How We Travel: Programs That Handle Logic
5(3)
0.4 Our Roadmap
8(5)
Part I Propositional Logic
1 Propositional Logic Syntax
13(11)
1.1 Propositional Formulas
13(5)
1.2 Parsing
18(3)
1.3 Infinite Sets of Formulas
21(1)
1.A Optional Reading: Polish Notations
22(2)
2 Prepositional Logic Semantics
24(17)
2.1 Detour: Semantics of Programming Languages
24(1)
2.2 Models and Truth Values
25(3)
2.3 Truth Tables
28(2)
2.4 Tautologies, Contradictions, and Satisfiability
30(1)
2.5 Synthesis of Formulas
31(2)
2.A Optional Reading: Conjunctive Normal Form
33(2)
2.B Optional Reading: Satisfiability and Search Problems
35(6)
3 Logical Operators
41(12)
3.1 More Operators
41(2)
3.2 Substitutions
43(3)
3.3 Complete Sets of Operators
46(3)
3.4 Proving Incompleteness
49(4)
4 Proof by Deduction
53(16)
4.1 Inference Rules
53(3)
4.2 Specializations of an Inference Rule
56(3)
4.3 Deductive Proofs
59(5)
4.4 Practice Proving
64(2)
4.5 The Soundness Theorem
66(3)
5 Working with Proofs
69(15)
5.1 Using Lemmas
69(4)
5.2 Modus Ponens
73(3)
5.3 The Deduction Theorem
76(3)
5.4 Proofs by Way of Contradiction
79(5)
6 The Tautology Theorem and the Completeness of Propositional Logic
84(25)
6.1 Our Axiomatic System
84(2)
6.2 The Tautology Theorem
86(6)
6.3 The Completeness Theorem for Finite Sets
92(2)
6.4 The Compactness Theorem and the Completeness Theorem for Infinite Sets
94(3)
6.A Optional Reading: Adding Additional Operators
97(4)
6.B Optional Reading: Other Axiomatic Systems
101(8)
Part II Predicate Logic
7 Predicate Logic Syntax and Semantics
109(20)
7.1 Syntax
110(11)
7.2 Semantics
121(8)
8 Getting Rid of Functions and Equality
129(14)
8.1 Getting Rid of Functions
129(9)
8.2 Getting Rid of Equality
138(5)
9 Deductive Proofs of Predicate Logic Formulas
143(35)
9.1 Example of a Proof
144(1)
9.2 Schemas
145(15)
9.3 Proofs
160(11)
9.4 Getting Rid of Tautology Lines
171(7)
10 Working with Predicate Logic Proofs
178(33)
10.1 Our Axiomatic System
178(6)
10.2 Syllogisms
184(11)
10.3 Some Mathematics
195(16)
11 The Deduction Theorem and Prenex Normal Form
211(20)
11.1 The Deduction Theorem
211(4)
11.2 Prenex Normal Form
215(16)
12 The Completeness Theorem
231(25)
12.1 Deriving a Model or a Contradiction for a Closed Set
236(4)
12.2 Closing a Set
240(12)
12.3 The Completeness Theorem
252(1)
12.4 The Compactness Theorem and the "Provability" Version of the Completeness Theorem
253(3)
13 Sneak Peek at Mathematical Logic II: Godel's Incompleteness Theorem
256(10)
13.1 Complete and Incomplete Theories
256(2)
13.2 Gbdel Numbering
258(2)
13.3 Undecidability of the Halting Problem
260(2)
13.4 The Incompleteness Theorem
262(4)
Cheatsheet: Axioms and Axiomatic Inference Rules Used in This Book 266(2)
Index 268
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.