Please make sure that you are registered for this course in Blackboard, as it will be used to send email and administrate results.
The course consists of five parts:
We use a course by Femke van Raamsdonk of the Free University Amsterdam. This will be taught by Freek using the following schedule:
|31 january||propositional logic & simple type theory||chapters 1 & 2|
|7 february||predicate logic & dependent types||chapters 4 & 6|
|21 february||second-order logic & polymorphism||chapters 7 & 8|
|7 march||inductive types & recursion||chapter 3|
|14 march||inductive predicates & inversion||chapters 5 & 9|
The students will be expected to have studied the chapters listed, and the material will be discussed then. You are welcome to ask for help at any time if you have any questions, either by email or by walking into our offices.
The practical work in Coq corresponding to Femke's course will be done using the ProofWeb system on the machine prover.cs.ru.nl. Each participant will get a login to the course page on this machine, and will get his/her password during the lectures.
The relevant links are:
Next we will go through another (slightly more advanced) introduction to Type Theory. This will be taught by Herman, using the following schedule:
|21 march||principal types and type checking||sections 4.1-4.3, 6.4||slides|
|11 april||Church-Rosser property||section 3.1||exercises|
|18 april||normalization of λ→ and λ2||sections 4.4, 5.6||slides|
This material overlaps with Femke's course, and therefore not all sections of the course notes will be discussed in the lectures in detail. (But you do have to know them for the test!)
The relevant links are:
After the May vacation the course will be taught by Dan, Herman and Freek together. A research paper will be read, together with extra material needed to understand this. The research paper for this year will be on logical relations:
As preparation we will read four other papers:
There also is a note on the Abadi-Plotkin paper by Dan Frumin.
Each student will present his or her part of the material to the group for 45 minutes. (Slides are not required, but are allowed. Relevant examples are strongly encouraged.) If time permits, after the presentations the teachers will expand on what has been presented.
The current schedule for the presentations is:
|2 may||Skorstengaard 1–2||Tom van Bussel||slides|
|Skorstengaard 3||Andreas Vinter-Hviid|
|Skorstengaard 4||Meven Bertrand||slides|
|9 may||Skorstengaard 5||Myrte klein Brink|
|Wadler 1–3||Martin Huyben||slides|
|Wadler 4–7||Daniil Frumin|
|16 may||Plotkin & Abadi 1–2||Anita Kosman||notes|
|Plotkin & Abadi 3.1–3.3||Heleen Fritschy|
|Plotkin & Abadi 3.4–3.5||Iris van der Giessen|
|23 may||Skorstengaard 6||Tom de Jong||handout|
|Ahmed et.al. 1–2||Daniil Frumin|
|Ahmed et.al. 3–4||Sal Wolffs|
|30 may||Appel et.al. 1–3||David Venhoek|
|Appel et.al. 4–5||Menno de Boer|
|Appel et.al. 6–7||Rick Schreurs|
|6 june||Appel et.al. 8–10||Lucas Franceschino|
|Appel et.al. 11–13||Martin Bidlingmaier|
Feel free to exchange presentation slots if you like, but if you do this then please tell Freek, so the schedule will stay up to date. Also, if you need help with preparing your presentation, contact one of the teachers in time.
Each student will be doing a small Coq formalization assignment. This assignment will be chosen by the student from the following list of suggestions.
The test covers both the contents of the courses by Femke and Herman, as well as the contents of the presentations. The final test will be:
Some old tests:
See the "paper exercises" above too, which are also exercises from old tests.
Each participant will get three grades: one for the presentation in the second half of the course, one for the individual Coq exercise, and one for the test. The final grade will be the average of these three grades.
There will be no grade for the practical work for Femke's course in ProofWeb, but this work will need to be finished to be allowed to pass the course.