EduXchange.nl
The full range of minors offered by the LDE institutions for the academic year 2025-2026 will be published on eduXchange at the beginning of March.

Proving with Computer Assistance

2IMF15

About this course

Please note that the the lecture is not completely in slot A. The lectures are scheduled on Thursdays hours 3+4 and 5+6

  • Type systems, especially simply typed, dependently typed, polymorphically typed and higher order typed lambda calculi.
  • Type systems in programming languages: implicit/explicit typing, polymorphic types, inductive and abstract data types; the prinicipal types algorithm of Hindley-Milner.
  • The Curry-Howard isomorphism (or 'formulas-as-types' , “proofs-as-terms” interpretation).
  • Translation of logical propositions in first and higher order logic to a type system.
  • Natural Deduction proofs with the proof assistant Coq.
  • The formalization of a problem in computer science (the correctness of an algorithm) in the proof assistant Coq. (Project)

Learning outcomes

  • The primary goal is to understand interactive theorem provers ("proof assistants"), and to learn how to use a proof assistant to formalize a program and to verify its correctness to the currently highest possible degree.
  • The secondary goal is to understand type systems, from the point of view of (functional) programming and from the point of view of logic, following the Curry-Howard interpretation of "formulas-as-types".
    Combining these two viewpoints, type theory forms the theoretical basis for the proof assistant Coq. The proof assistant Coq will be studied and used for a formalization project.

Prior knowledge

2IT60 Logic and set theory (or a similar basic logic course that treats natural deduction)

Recommended: 2IPH0 - Functional Programming

Resources

  • Exercises + answers; Will appear on the webpage of the course
  • Introduction to Type Theory - pdf file available through the webpage
  • The book Type Theory and Formal Proof -- An Introduction (Rob Nederpelt and Herman Geuvers, Cambridge University Press, November 2014)
  • The slides of the course - pdf files available through the webpage

Additional information

  • Credits
    ECTS 5
  • Level
    master
If anything remains unclear, please check the FAQ of TU Eindhoven.

Offering(s)

  • Start date

    10 February 2025

    • Ends
      6 April 2025
    • Term *
      Block GS3
    • Location
      Eindhoven
    • Instruction language
      English
    • Time info
      Option 1: Monday 08:45 - 10:45, Thursday 13:30 - 15:30. Option 2: Tuesday 15:30 - 17:30, Thursday 10:45 - 12:45
    Course is currently running
These offerings are valid for students of Utrecht University