This course covers the intersection of programming language theory and mathematical logic.
The key notion is "Curry-Howard correspondence", which shows the direct relationship between computer programs and mathematical proofs.
Topics include syntax and semantics of various logics (classical, intuitionistic, modal, etc.), various proof systems (natural deduction, sequent calculus, etc.) , and lambda calculus.
Students will acquire an insight into the logical foundations of computation.
Curry-Howard correspondence, lambda calculus, classical logic, intuitionistic logic, modal logic, natural deduction, sequent calculus, Kripke model
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | Practical and/or problem-solving skills |
The course consists of lectures.
Students will have exercise assignments several times.
Course schedule | Required learning | |
---|---|---|
Class 1 | Introduction: intuitionistic and classical logics. | Instructed in the class. |
Class 2 | Natural deduction (1): syntax. | Instructed in the class. |
Class 3 | Natural deduction (2): normalization of proofs. | Instructed in the class. |
Class 4 | Sequent calculus (1): syntax. | Instructed in the class. |
Class 5 | Sequent calculus (2): cut-elimination. | Instructed in the class. |
Class 6 | Hilbert-style system. | Instructed in the class. |
Class 7 | Kripke model. | Instructed in the class. |
Class 8 | Lambda calculus (1): syntax, Curry-Howard correspondence. | Instructed in the class. |
Class 9 | Lambda calculus (2): Church‒Rosser theorem. | Instructed in the class. |
Class 10 | Lambda calculus (3): type inference. | Instructed in the class. |
Class 11 | Lambda calculus (4): strong normalization theorem. | Instructed in the class. |
Class 12 | Combinatory logic. | Instructed in the class. |
Class 13 | Various systems (1): higher order logics. | Instructed in the class. |
Class 14 | Various systems (2): modal logics. | Instructed in the class. |
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Dirk van Dalen: Logic and Structure, Fourth Edition (Corrected 2nd printing 2008).
Henk Barendregt, Erik Barendsen: Introduction to Lambda Calculus (Revised edition December 1998, March 2000).
Instructed in the class.
Based on exercise assignments.
Students who had completed MCS.T404 "Logical Foundations of Computing" cannot take this course.