This course provides a thorough introduction to modern constructive logic, emphasizing its numerous applications in computer science, and its mathematical properties. The core topics of this course are intuitionistic logic, natural deduction, Curry-Howard isomorphism, propositions as types, proofs as programs, formulas as programs, constructive logic as functional programming, constructive logic as logic programming, Heyting arithmetic and primitive recursion, cut elimination, inductive definitions, sequent calculus, and decidable fragments. Advanced topics may include type theory, proof search, linear logic, temporal logic, intuitionistic modal logic.
Students who successfully complete this course will:
- Understand the working principles of logic
- Understand how the meaning of a proposition comes from its verifications
- Distinguish propositions from judgments
- Use proof rules to conduct formal proofs
- Justify how proof rules fit to one another in sound and complete ways
- Assess the validity of a formal proof
- Understand propositions as types, proofs as programs, formulas as programs
- Relate constructive logic to computation and constructive proofs to functional programs
- Relate deductive proof search to computation in logic programming
- Relate induction to recursion and use induction to prove properties in and about logical systems
- Understand the principles and applications of logic programming
- METHOD OF EVALUATION:
- Grading will be based on a final exam. Final exam: TBD Closed book, one double-sided sheet of hand-written notes permitted. Also see exams from prior semesters.
- MORE INFORMATION:
See prior instances at KIT in Summer 2023 and of similar courses at Carnegie Mellon University in Fall 2015 and Fall 2016 and Spring 2020 and Spring 2021 by André Platzer and earlier by Frank Pfenning, Karl Crary for more information on prior versions of this course.
The instructor greatly appreciates the help by other members of the Alexander von Humboldt Professor group for Logic of Autonomous Dynamical Systems at KIT.
Also See related courses in Summer