IMC010: Type Theory and Coq

Teachers

Structure of the course

The course consists of five parts:

1. Lectures

Freek will teach the basics of type theory from:

Niels and Herman will teach some metatheory from:

using the schedule:

6 Septemberintroduction & lambda calculusFreek: intro
slides, with pauses
13 Septemberpropositional logic & simple typesFreek: 1 & 2
slides, with pauses
coq file
20 SeptemberChurch-Rosser property & principal typesNiels: 3.1, 4.1-4.3
slides
27 Septemberpredicate logic & dependent typesFreek: 4 & 6
slides, with pauses
coq file
4 Octoberinductive typesFreek: 3
slides, with pauses
coq file
11 Octobersecond-order logic & polymorphic typesFreek: 7 & 8
slides, with pauses
coq file
18 Octobernormalization for λ→ and λ2Herman: 4.4, 5.6
slides, exercises, answers

2. Coq practicum

There will be a Coq practicum corresponding to Femke's course notes. For this you need to install Coq and download a

The completed files need to be handed in in Brightspace. Finishing this practicum is obligatory to be able to pass the course, but there will not be a grade for it.

This is the first half of the course.

3. Exam

The exam will not be at the end of the course but halfway through. Therefore the subject of the exam will be just the lectures by Freek, Niels and Herman, and not the topic of the reading group.

The date of the exam will be:

31 Octobertwo hour exam on the theory 

See at the end of this web page for some material to practise for the exam, like old exams from last years.

4. Reading group with presentations

In the second half of the course we read papers about a specific topic related to a recent research publication (a different topic every year). The topic of this year will be inductive types, in particular inductive types in Martin-Löf's type theory and higher inductive types (HITs) in homotopy type theory (HoTT).

The presentations are by the students in pairs. These presentations are 45 minutes, and should contain both examples, as well as the gist of the proofs in the paper. It is more important to explain the important points of the paper well, then to cover everything in full detail.

The reading material for this year, together with the students that will present them, are:

Subject 1: inductive types

Subject 2: inductive types in Coq

Subject 3: inductive-recursive types

Subject 4: inductive-inductive types

Subject 5: higher inductive types

Subject 6: quotient inductive-inductive types

So the schedule for the presentations is:

21 Novemberpresentation 1Rutger Broekhoff +
Mikhail Ushakov
slides tgz
presentation 2Niels
22 Novemberpresentation 3Niels van Duijl +
Erik Oosting
slides
explanationsNiels
slides slides html coq
25 Novemberdemonstration in
Den Haag
28 Novemberpresentation 4Ivo Melse +
Mieke van der Meiden
slides
presentation 5Jasper Laumen +
Tanja Muller
slides
29 Novemberpresentation 6Sebastian Pack +
Max de Boer-Blazdell
slides
explanationsNiels
slides
5 Decemberpresentation 7Dick Arends +
Stephan Stanišić
slides
presentation 8Bas van der Linden +
Remco van Os
slides
6 Decemberpresentation 10Sophia Lin +
Madelief Slaats
slides agda agda agda agda
12 Decemberpresentation 9Thomas Posthuma +
Pieter-Jan Lavaerts
slides, with pauses
presentation 11Joris van der Sluis
13 Decemberpresentation 12Pim Leerkes +
Mark Lapidus
slides
presentation 13Lyra van Bokhoven +
Jasmijn van Tillo
slides
19 Decemberpresentation 14Tomasz Miśkowicz +
Jakub Dreżewski
slides
presentation 15Lukas Nieuweboer +
Simon Ruiz
slides
20 Decemberbonus test

5. Coq project

Each student has to do a small Coq project. This project can be chosen from

but if students have a suggestion for an interesting project that they want to do, that is also allowed.

The deadline for the Coq project is 24 January 2025.

Grading

You will get three marks: for the exam, the Coq presentations, and the Coq project (items 4, 5 and 6 above). The final mark for the course is the average of those three marks, rounded to a half integral number. A mark of 5.5 will be rounded up to 6, and the mark for the exam has to be at least 5.0.

Some supporting material

Supporting documents

Paper exercises

Old exams