About the course
The course provides an introduction to type theory with simple and dependent types, how it can be used to represent logical systems and proofs, and how proofs give rise to computable functions. The final part of the course covers applications of type theory. The following topics are covered:
Type theory: lambda calculus, contexts, forms of judgement, simple types, inductive types. Operational semantics: confluence and normalization. The Curry-Howard isomorphism. Martin-Löf type theory: dependent types, induction and elimination rules, identity types, universes. The Brouwer-Heyting-Kolmogorov interpretation of logic. Meaning explanations. Semantics of dependent types. Explicit substitution. Category theoretical models. One or more of the following areas of application of type theory are covered: homotopy theory, models for (constructive) set theory and proof assistants.