Zum Inhalt
Fakultät für Informatik
VeranstalterProf. Dr. Jakob Rehof
Kontaktperson für
organisatorische Fragen:
Felix Laarmann
TypVertiefungsmodul
ModulnummerINF-MSc-326
VorlesungsverzeichnisLSF
SWS2 SWS Vorlesung
2 SWS Übung
OrtOH12/E.003
Zeit

Montags: 10-12 Uhr

Mittwochs: 14-16 Uhr

BeginnDezember 2026
Ende03.02.2027

Aktuelles

  • Die LMSE 2 wird denselben Moodleraum wie die LMSE 1 nutzen. Bitte tretet diesem bei.

Beschreibung

Die Vorlesung LMSE 2 behandelt das Thema Typtheorie und deren Verbindung zur mathematischen Logik. Das zentrale Resultat der Typtheorie ("Curry-Howard-Isomorphismus") zeigt die Korrespondenz zwischen Typen und logischen Formeln, sowie zwischen Programmen und logischen Beweisen.

Es werden über den LMSE 1 Inhalt hinaus weitere Typsysteme (Intersektionstypsystem, System F, Dependent Types, Pure Type Systems) und damit verbundene logische Ausdrucksmächtigkeit betrachtet. Dabei muss der Lambda-Kalkül erweitert werden, um Berechnungen sowohl auf Termebene, als auch auf Typebene zu ermöglichen.

Diese Erweiterung erlaubt in der Praxis mechanisch verifizierbare Beweise über funktionale Programme mittels Typtheorie zu führen.

Die Vorlesung LMSE 2 umfasst folgende Themen:

  • Lambda Kalkül mit Intersektionstypen und starke Normalisierung
  • System F und intuitionistische Logik zweiter Stufe
  • Dependent Types und Programmkorrektheitsbeweise
  • Mechanisierung mathematischer Beweise
  • Curry-Howard-Isomorphismus (Korrespondenz zwischen Typen und logischen Formeln)
Bemerkungen
  • Ehemals als "Komponenten- und Service-Orientierte Softwarekonstruktion" angeboten
  • LMSE 2 findet in der zweiten Hälfte der Vorlesungszeit statt
  • LMSE 2 kann in vorheriger Kombination mit LMSE 1 innerhalb eines Semesters belegt und geprüft werden

Übung

  • Die Übung zu LMSE 2 ist eine Präsenzübung (keine Anwesenheits- oder Abgabepflicht).
  • Die Übung dient der Verstetigung des Vorlesungsinhalts sowie der praktischen Anwendung der erlangten Kenntnisse.
  • Beweise werden zum Teil länger diskutiert und anhand von Beispielen untersucht.
Anmeldung
  • Die Übungen können ohne Anmeldung besucht werden.
Übungsgruppen
GruppeZeitOrtStartTurnus
1Montags 12:15 - 13:45OH14/104Voraussichtlich Mitte Dezemberwöchentlich
2Dienstags 12:15 - 13:45OH14/104Voraussichtlich Mitte Dezemberwöchentlich

 

Praktikum

Das Praktikum dient der praktischen Umsetzung der in der Vorlesung erlangten Kenntnisse. Dabei soll in Gruppen jeweils eine Beweisaufgabe gelöst werden, die im direkten Zusammenhang zum Vorlesungsinhalt (insb. Lambda-Kalkül) steht.

  • Die verwendete Programmiersprache ist ROCQ
  • Zum erfolgreichen bestehen des Praktikums gehören:
    • Formales Beweisen der unter der jeweiligen Aufgaben angegebenen Aussagen
    • Wiki-Eintrag mit Beschreibung der bewiesenen Aussage inkl. einer informellen Beweisskizze
    • Kurze Vorstellung der Lösung bei der Abschlusspräsentation der Praktikumsprojekte durch ein Mitglied der jeweiligen Gruppe (10 Minuten, keine Folien)

Studienleistung

Das Erlangen der Studienleistung ist Voraussetzung für die Teilnahme an der abschließenden Klausur.
Die Kriterien der Studienleistung sind wie folgt:

  • erfolgreich abgeschlossenes Praktikumsprojekt

Klausuren

Die Termine werden noch bekannt gegeben.