SluitenHelpPrint
Switch to English
Cursus: NWI-IMC010
NWI-IMC010
Type Theory and Coq
Cursus informatieRooster
CursusNWI-IMC010
Studiepunten (ECTS)6
CategorieMA (Master)
VoertaalEngels
Aangeboden doorRadboud Universiteit; Faculteit der Natuurwetenschappen, Wiskunde en Informatica; Informatica en Informatiekunde;
Docenten
Docent
prof. dr. J.H. Geuvers
Overige cursussen docent
Docent
dr. F. Wiedijk
Overige cursussen docent
Coördinator
dr. F. Wiedijk
Overige cursussen docent
Contactpersoon van de cursus
dr. F. Wiedijk
Overige cursussen docent
Collegejaar2016
Periode
KW3-KW4  (30-01-2017 t/m 03-09-2017)
Aanvangsblok
KW3
Onderwijsvorm
voltijd
Opmerking-
Inschrijven via OSIRISJa
Inschrijven voor bijvakkersJa
VoorinschrijvingNee
WachtlijstNee
Plaatsingsprocedure-
Cursusdoelen

After the course students can:

  • explain the notions in the subjects list below
  • make type derivations in the type systems lambda-arrow, lambda-P and lambda-2
  • translate natural deduction proofs to lambda terms in these type systems, and vice versa
  • relate detours to term redexes and eliminate detours from natural deduction proofs
  • give the detours for the various logical connectives
  • define simple inductive types and predicates and write functional programs in the Coq logic on them
  • calculate the recursion principles for simple inductive types
  • modify non-dependent and non-polymorphic datatypes into their dependent and polymorphic counterparts
  • use lambda-P as a logical framework for a simple logic
  • use the Coq proof assistant to make a non-trivial Coq formalization
  • understand and present a basic research paper on type theory
Inhoud
This course is an introduction to type theory. Type theory studies the typed version of lambda calculus, and applies it to mathematics and computer science. It is one of the main foundations for the technology of proof assistants. In a proof assistant a mathematical proof (which often is a proof in which software or hardware is proved correct) can be developed with support from the computer in such a way that it has the highest reliability possible. The main proof assistant that is based on type theory is the Coq system from INRIA in France.
Bijzonderheden
This course is interesting for mathematics students.
Onderwerpen
• the Coq proof assistant
• the type system lambda-arrow: simple type theory, simply typed lambda calculus
• the type system lambda-P: dependent types and logical frameworks
• the type system lambda-2: polymorphism and second order propositional logic
• Pure Type Systems in general and the Barendregt cube
• the Curry-Howard-de Bruijn isomorphism
• classical versus intuitionistic logic
• the type checking and inhabitation problems
• term normalization, detour elimination, and their relation
• inductive types and predicates, recursive functions
• program extraction
• a more advanced research topic
Toetsinformatie
The final note will be the average of three marks:

• the mark for the presentation in the second part of the course
• the mark for the final written exam
• the mark for the Coq formalization

There is a deadline for handing in the Coq exercise. If this deadline is not met, the Coq exercise will be considered not to have been made.
Voorkennis
Basic lambda calculus. Functional programming.
Literatuur
Course notes written by Femke van Raamsdonk of the Free University Amsterdam. These course notes will be available on the website in pdf format. One or more research articles about type theory, that also will be made available in pdf format.
Werkvormen

• 16 hours computer course
• 32 hours lecture
• 16 hours student presentation
• 104 hours individual study period
Extra information teaching methods: The course has two parts.

The first part consists of working through the course notes by Femke van Raamsdonk. There will be lectures and there is a practicum in which exercises will be made (there are both Coq and pen-and-paper exercises).

In the second part a more advanced topic will be studied. There will be further lectures about a reseach topic, and after that a research article will be presented in parts by the students to the group.

Besides those two parts, each participant will create a Coq formalization. Each student will have a different subject for that formalization.

The practicum will use the ProofWeb system, which allows students to use the Coq proof assistant through the web. If there are only a few students, the practicum will not be given as contact hours, but instead there will be regular meetings for feedback.
Verplicht materiaal
Dictaat
Course notes written by Femke van Raamsdonk of the Free University Amsterdam. These course notes will be available on the website in pdf format.
Aanbevolen materiaal
Artikelen
One or more research articles about type theory, that also will be made available in pdf format.
Werkvormen
Computerpracticum
AanwezigheidsplichtJa

Cursusgebeurtenis

Hoorcollege

Presentatie
AanwezigheidsplichtJa

Zelfstudie

Toetsen
Tentamen
Weging1
GelegenhedenBlok KW4, Blok KW4

SluitenHelpPrint
Switch to English