Ausgewählte Themen aus dem Bereich Formale Methoden und ihre Anwendungen (IN3350)
| Vortragende/r (Mitwirkende/r) | |
|---|---|
| Nummer | 0000002056 |
| Art | Vorlesung mit integrierten Übungen |
| Umfang | 4 SWS |
| Semester | Wintersemester 2026/27 |
| Unterrichtssprache | English |
| Stellung in Studienplänen | Siehe TUMonline |
| Termine | Siehe TUMonline |
- 13.10.2026 14:00-16:00 00.13.008, Seminarraum
- 19.10.2026 14:00-16:00 01.11.018, Seminarraum
- 20.10.2026 14:00-16:00 00.13.008, Seminarraum
- 26.10.2026 14:00-16:00 01.11.018, Seminarraum
- 27.10.2026 14:00-16:00 00.13.008, Seminarraum
- 02.11.2026 14:00-16:00 01.11.018, Seminarraum
- 03.11.2026 14:00-16:00 00.13.008, Seminarraum
- 09.11.2026 14:00-16:00 01.11.018, Seminarraum
- 10.11.2026 14:00-16:00 00.13.008, Seminarraum
- 16.11.2026 14:00-16:00 01.11.018, Seminarraum
- 17.11.2026 14:00-16:00 00.13.008, Seminarraum
- 23.11.2026 14:00-16:00 01.11.018, Seminarraum
- 24.11.2026 14:00-16:00 00.13.008, Seminarraum
- 30.11.2026 14:00-16:00 01.11.018, Seminarraum
- 01.12.2026 14:00-16:00 00.13.008, Seminarraum
- 07.12.2026 14:00-16:00 01.11.018, Seminarraum
- 08.12.2026 14:00-16:00 00.13.008, Seminarraum
- 14.12.2026 14:00-16:00 01.11.018, Seminarraum
- 15.12.2026 14:00-16:00 00.13.008, Seminarraum
- 21.12.2026 14:00-16:00 01.11.018, Seminarraum
- 22.12.2026 14:00-16:00 00.13.008, Seminarraum
- 11.01.2027 14:00-16:00 01.11.018, Seminarraum
- 12.01.2027 14:00-16:00 00.13.008, Seminarraum
- 18.01.2027 14:00-16:00 01.11.018, Seminarraum
- 19.01.2027 14:00-16:00 00.13.008, Seminarraum
- 25.01.2027 14:00-16:00 01.11.018, Seminarraum
- 26.01.2027 14:00-16:00 00.13.008, Seminarraum
- 01.02.2027 14:00-16:00 01.11.018, Seminarraum
- 02.02.2027 14:00-16:00 00.13.008, Seminarraum
Teilnahmekriterien
Beschreibung
Eine anwendungsorientierte Einführung in das automatische und interaktive Beweisen, aufgebaut als Aufstieg durch zunehmend ausdrucksstärkere Logiken und die Beweissuchverfahren, die sie jeweils erfordern. Der Schwerpunkt liegt darauf, wie moderne Beweissysteme funktionieren und wie man sie einsetzt; Grundlagenresultate werden präzise formuliert, die Beweise auf der Ebene der Beweisidee skizziert. Vier Blöcke zu je fünf Vorlesungen und einer Übung.
**Block 1: SAT.** Erfüllbarkeit, konjunktive Normalform, NP-Vollständigkeit. DPLL und Conflict-Driven Clause Learning (CDCL). Implementierungstechniken. Beweiszertifikate: DRAT, LRAT und die Prüfung durch einen kleinen vertrauenswürdigen Checker. Kodierungen und Anwendungen.
**Block 2: SMT.** SMT-LIB und die gängigen Theorien. Der Eager-Ansatz (Reduktion auf SAT) und seine Grenzen. DPLL(T). Theorie-Solver: inkrementelles Simplex-Verfahren mit Farkas-Zertifikaten, Congruence Closure, Arrays. Theoriekombination nach Nelson-Oppen. Z3 und cvc5.
**Block 3: Automatisches Beweisen in der Prädikatenlogik erster Stufe.** Semi-Entscheidbarkeit und entscheidbare Fragmente. Unifikation und Resolution. Reduktionsordnungen, LPO und KBO, und das Problem der Gleichheit. Superposition, Redundanz, Saturation. Architektur eines Beweisers; TPTP; E und Vampire.
**Block 4: Interaktives Beweisen in Lean.** Abhängige Typen, Curry-Howard, vertrauenswürdiger Kern und de-Bruijn-Kriterium. Beweisterme und Taktiken. Automatisierung über Mathlib, zurückgeführt auf die Verfahren der vorangegangenen Blöcke. Formalisierung großer Entwicklungen; Hammers, Premise Selection, Autoformalization.
**Block 1: SAT.** Erfüllbarkeit, konjunktive Normalform, NP-Vollständigkeit. DPLL und Conflict-Driven Clause Learning (CDCL). Implementierungstechniken. Beweiszertifikate: DRAT, LRAT und die Prüfung durch einen kleinen vertrauenswürdigen Checker. Kodierungen und Anwendungen.
**Block 2: SMT.** SMT-LIB und die gängigen Theorien. Der Eager-Ansatz (Reduktion auf SAT) und seine Grenzen. DPLL(T). Theorie-Solver: inkrementelles Simplex-Verfahren mit Farkas-Zertifikaten, Congruence Closure, Arrays. Theoriekombination nach Nelson-Oppen. Z3 und cvc5.
**Block 3: Automatisches Beweisen in der Prädikatenlogik erster Stufe.** Semi-Entscheidbarkeit und entscheidbare Fragmente. Unifikation und Resolution. Reduktionsordnungen, LPO und KBO, und das Problem der Gleichheit. Superposition, Redundanz, Saturation. Architektur eines Beweisers; TPTP; E und Vampire.
**Block 4: Interaktives Beweisen in Lean.** Abhängige Typen, Curry-Howard, vertrauenswürdiger Kern und de-Bruijn-Kriterium. Beweisterme und Taktiken. Automatisierung über Mathlib, zurückgeführt auf die Verfahren der vorangegangenen Blöcke. Formalisierung großer Entwicklungen; Hammers, Premise Selection, Autoformalization.
Inhaltliche Voraussetzungen
Grundlagen der mathematischen Logik oder der diskreten Mathematik: Aussagen- und Prädikatenlogik, Induktionsbeweise. Für die praktischen Übungsaufgaben sichere Programmierkenntnisse in einer gängigen Programmiersprache: die Studierenden vervollständigen ein vorgegebenes Beweiser-Grundgerüst und schreiben Skripte gegen die Schnittstellen der eingesetzten Werkzeuge.
Vorkenntnisse zu Beweisassistenten oder Werkzeugen des automatischen Beweisens werden nicht vorausgesetzt. Das Modul Logik (IN2049) ist eine sinnvolle, aber keine notwendige Vorbereitung.
Vorkenntnisse zu Beweisassistenten oder Werkzeugen des automatischen Beweisens werden nicht vorausgesetzt. Das Modul Logik (IN2049) ist eine sinnvolle, aber keine notwendige Vorbereitung.
Lehr- und Lernmethoden
**Vorlesungen** stellen die Algorithmen, die Resultate und die Implementierungstechniken dar, mit kurzen Werkzeugdemonstrationen dort, wo ein System behandelt wird.
**Übungen**, eine je Block, dienen dem angeleiteten Problemlösen und der Besprechung der eingereichten Lösungen.
**Übungsaufgaben**, eine je Block, bilden den wesentlichen Teil des Selbststudiums und erstrecken sich über den gesamten Block. Jede verbindet leichtere theoretische mit umfangreicheren praktischen Aufgaben, die die eigenständige Arbeit mit einem aktuellen System erfordern.
**Übungen**, eine je Block, dienen dem angeleiteten Problemlösen und der Besprechung der eingereichten Lösungen.
**Übungsaufgaben**, eine je Block, bilden den wesentlichen Teil des Selbststudiums und erstrecken sich über den gesamten Block. Jede verbindet leichtere theoretische mit umfangreicheren praktischen Aufgaben, die die eigenständige Arbeit mit einem aktuellen System erfordern.