NWI-I00139
Proof Assistants
Cursus informatieRooster
CursusNWI-I00139
Studiepunten (ECTS)6
CategorieMA (Master)
VoertaalEngels
Aangeboden doorRadboud Universiteit; Faculteit der Natuurwetenschappen, Wiskunde en Informatica; Informatica en Informatiekunde;
Docenten
Coördinator
dr. F. Wiedijk
Overige cursussen docent
Docent
dr. F. Wiedijk
Overige cursussen docent
Contactpersoon van de cursus
dr. F. Wiedijk
Overige cursussen docent
Examinator
dr. F. Wiedijk
Overige cursussen docent
Collegejaar2022
Periode
KW3-KW4  (30-01-2023 t/m 31-08-2023)
Aanvangsblok
KW3
Onderwijsvorm
voltijd
Opmerking-
Inschrijven via OSIRISJa
Inschrijven voor bijvakkersJa
VoorinschrijvingNee
WachtlijstNee
Plaatsingsprocedure-
Cursusdoelen
After the course students can:
  • develop a formalization in a proof assistant
  • implement a simple proof assistant
  • select an appropriate proof assistant for a given purpose
  • install and use a proof assistant that they have not seen before

Inhoud
This course is an introduction to the field of proof assistants, also known as proof checkers or interactive theorem provers. These are implementations of logical systems, programs for the development and verification of formal proofs, both for mathematics and for computer science.  The course presents the current state of the art in proof assistants, and then teaches two specific proof assistants in detail.  
The first of these is the Isabelle system.  With this proof assistant we focus on the user perspective, and will develop a non-trivial proof in full detail.  The second is the HOL system.  With this system we focus on the implementation architecture and automation of the system.  Finally an overview of the main current proof assistants is presented, and some of the large efforts in this area that are currently ongoing are reviewed.
Proof assistants, both for mathematics and for computer science, are one of the research topics of the Foundations group.

Instructional Modes
  • Lecture
  • Presentation
  • Self-study
Niveau

Voorkennis
Predicate logic. Lambda calculus. Functional programming.
Toetsinformatie
The final note will be the average of three marks:
  • the mark for the Isabelle formalization
  • the mark for the small LCF-style proof assistant
  • the mark for the presentation in the third part of the course
  • Bijzonderheden

    Verplicht materiaal
    Boek
    Concrete Semantics, by Tobias Nipkow and Gerwin Klein. This book can be bought on paper, but is also freely available as PDF on the web.
    Artikelen
    There are various documents that will be used to support the course. These will be made available on the website in PDF format.

    Werkvormen
    Computerpracticum

    Cursusgebeurtenis

    Algemeen
    Extra information teaching methods: The course has three parts:

    • Isabelle: using a proof assistant
    • HOL: implementing a proof assistant
    • overview of the other proof assistants
    The first two parts consists of lectures. During these parts students will be working on exercises during the practicum. There will be a final exercise for each of these two parts, that will have to be handed in.

    The third part consists of presentations by the students. Each student will present a different proof assistant. As preparation for this part there is one lecture with an overview of proof assistant, to enable students to make a motivated choice for their presentation.

    Opmerking
    • 24 hours computer course
    • 24 hours lecture
    • 16 hours student presentation
    • 104 hours individual study peri

    Toetsen
    Formalisatie
    Weging1
    ToetsvormOpdracht
    GelegenhedenBlok KW4, Blok KW4

    Programmeeropdracht
    Weging1
    ToetsvormOpdracht
    GelegenhedenBlok KW4, Blok KW4

    Presentatie
    Weging1
    ToetsvormPresentatie
    GelegenhedenBlok KW4, Blok KW4