Het volledige minoraanbod van de LDE-instellingen voor collegejaar 2025-2026 wordt begin maart gepubliceerd op eduXchange.

Proving with Computer Assistance

2IMF15

Over deze cursus

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)

Leerresultaten

  • 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.

Voorkennis

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

Recommended: 2IPH0 - Functional Programming

Bronnen

  • 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

Aanvullende informatie

  • Studiepunten
    ECTS 5
  • Niveau
    master
  • Selectie course
    Nee
Als er nog iets onduidelijk is, kijk even naar de FAQ van TU Eindhoven.

Aanbod

  • Startdatum

    10 februari 2025

    • Einddatum
      6 april 2025
    • Periode *
      Blok GS3
    • Locatie
      Eindhoven
    • Voertaal
      Engels
    • Tijd 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 loopt nu
Gast inschrijvingen worden rechtstreeks behandeld door TU Eindhoven