Getypter und ungetypter Lambda-Kalkül
Semantik von Programmiersprachen, Anfänge der Bereichstheorie
Datentypen, Kodatentypen, Induktion und Koinduktion, Rekursion und Korekursion
Programmverifikation, Floyd-Hoare-Kalkül
Reguläre Sprachen und endliche Automaten
Beschriftete Transitionssysteme, Bisimulation und Temporallogik
erläutern Grundbegriffe der Syntax und Semantik von Formalismen und setzen diese zueinander in Bezug
beschreiben und erklären grundlegende Algorithmen zu logischem Schließen und Normalisierung
beschreiben wichtige Konstruktionen von Modellen, Automaten und Sprachen
verfassen formale Spezifikationen sequentieller und nebenläufiger Programme
verifizieren einfache Programme gegenüber ihrer Spezifikation durch Anwendung der relevanten Kalküle
setzen formale Sprachen mit entsprechenden Automaten in Beziehung
führen einfache Beweise über Programme mittels Induktion und Koinduktion
wählen für gegebene Verifikationsprobleme geeignete Formalismen aus
erstellen einfache Meta-Analysen formaler Systeme, etwa Konfluenzprüfung von Termersetzungssystemen
führen einfache Meta-Beweise über Formalismen mittels Induktion und Koinduktion