Zur Seitennavigation oder mit Tastenkombination für den accesskey-Taste und Taste 1 
Zum Seiteninhalt oder mit Tastenkombination für den accesskey und Taste 2 

Foto: Matthias Friel

Mathematisches Beweisen lernen mithilfe des Beweisassistenten Coq - Einzelansicht

Veranstaltungsart Vorlesung/Übung Veranstaltungsnummer
SWS 4 Semester SoSe 2022
Einrichtung Institut für Informatik und Computational Science   Sprache deutsch
Belegungsfrist 01.04.2022 - 10.05.2022

Belegung über PULS
Gruppe 1:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson Ausfall-/Ausweichtermine Max. Teilnehmer/-innen
Einzeltermine anzeigen
Tutorium Di 08:00 bis 10:00 Einzeltermin am 19.04.2022 2.70.0.05 Dr. rer. nat. Böhne  
Einzeltermine anzeigen
Übung Do 12:00 bis 14:00 wöchentlich 21.04.2022 bis 28.07.2022  2.70.0.05 Dr. rer. nat. Böhne  
Einzeltermine anzeigen
Vorlesung Mo 08:00 bis 10:00 wöchentlich 25.04.2022 bis 25.07.2022  2.70.0.10 Dr. rer. nat. Böhne  
Einzeltermine anzeigen
Tutorium Di 08:00 bis 10:00 wöchentlich 26.04.2022 bis 26.07.2022  2.70.0.10 Dr. rer. nat. Böhne  
Gruppe 2:
     jetzt belegen / abmelden
    Tag Zeit Rhythmus Dauer Raum Lehrperson Ausfall-/Ausweichtermine Max. Teilnehmer/-innen
Einzeltermine anzeigen
Tutorium Di 08:00 bis 10:00 Einzeltermin am 19.04.2022 2.70.0.05 Dr. rer. nat. Böhne  
Einzeltermine anzeigen
Übung Fr 12:00 bis 14:00 wöchentlich 22.04.2022 bis 29.07.2022  2.70.0.05 Dr. rer. nat. Böhne  
Einzeltermine anzeigen
Vorlesung Mo 08:00 bis 10:00 wöchentlich 25.04.2022 bis 25.07.2022  2.70.0.10 Dr. rer. nat. Böhne  
Einzeltermine anzeigen
Tutorium Di 08:00 bis 10:00 wöchentlich 26.04.2022 bis 26.07.2022  2.70.0.10 Dr. rer. nat. Böhne  
Voraussetzungen

Keine

Leistungsnachweis

Die abschließende Prüfung ist eine schriftliche Klausur, die -- im Präsenzfall -- am Rechner in den Poolräumen des Instituts für Informatik und Computational Science stattfinden wird.

Lerninhalte

(*** Schreiben Sie sich in den aktuellen Moodle-Kurs (Kurzform Coq_2022) mit dem Einschreibeschlüssel Coqolores ein ***)

(*** Bitte installieren Sie in der ein oder anderen Form Linux (z.B. Ubuntu). Bei den anderen Betriebssystemen kommt es zu Problemen mit dem Make-Befehl von Coq und der Eingabe mathematischer Symbole ***)

 

Informatik-Studierende finden Themen der Theoretischen Informatik grundsätzlich interessant, aber korrespondierende Übungsaufgaben -- insbesondere Beweisaufgaben -- stellen immer wieder eine große Herausforderung dar. Der Kurs greift diesen Punkt auf und stellt das mathematische Beweisen in den Mittelpunkt der Auseinandersetzung.

Zum Erlernen der klassischen „Papier&Stift”-Beweise werden wir einen indirekten Weg einschlagen: Zunächst werden wir lernen, mit dem Beweisassistenten Coq Beweise zu führen (Erklärung Beweisassistent s.u.). Später werden wir daran arbeiten, diese Form der Beweise in „Papier&Stift”-Beweise zu übertragen. Schließlich wird auch eingeübt werden, „Papier&Stift”-Beweise direkt zu führen.

Die Inhalte, anhand derer wir die Beweismethodik einstudieren werden, sind die folgenden:
1) Logik
  a) Aussagenlogik
  b) Prädikatenlogik
2) Datenstrukturen
  a) Nicht-rekursive Datenstrukturen (Records)
  b) Listen
  c) Natürliche Zahlen
  d) Binärbäume
Das Ziel allerdings ist hierbei weniger einen konkreten Themenbereich der Mathematik oder Theoretischen Informatik durchzuarbeiten, sondern den Teilnehmerinnen und Teilnehmern des Kurses ein grundlegendes Verständnis mathematischer Beweisformen, formaler Methoden und dem dazugehörigen Handwerkszeug zur Entwicklung und Erstellung dieser zu vermitteln.

Was sind Beweisassistenten?

Computergestützte Systeme zur Durchführung mathematischer Beweise werden seit den 1960ern entwickelt. Man unterscheidet zwischen Systemen, die Beweise erzeugen, sowie solchen, die Menschen beim Erzeugen von Beweisen unterstützen. Letztere werden auch Beweisassistenten oder interaktive Theorembeweiser genannt, ein solches System ist Coq, welches wir im Kurs einsetzen werden.

Bei Beweisassistenten im engeren Sinne des Begriffes kann der Nutzer Schritt für Schritt Wissen aus den Voraussetzungen generieren und das bisherige Ziel durch ein leichter zu zeigendes, aber hinreichendes Ziel ersetzen. Konkret werden Beweise durch eine Auflistung von sogenannten Taktiken innerhalb einer dem Programmieren ähnlichen Entwicklungsumgebung gewonnen, wobei den Taktiken systemintern Inferenzregeln zugrunde liegen. Das System führt die durch die Taktiken vermittelten Inferenzregeln aus. Dabei prüft es jeden Beweisschritt auf seine formale Korrektheit. Dies ist in erster Näherung mit dem Compilereinsatz beim Programmieren vergleichbar.

Beweisassistenten haben gegenüber Stift und Papier verschiedene Vorteile:
-    Sie liefern unmittelbares Feedback auf eine Beweisidee, indem sie genau anzeigen, ob ein Beweisschritt erfolgreich anwendbar ist und welche Schritte noch auszuführen sind, damit ein Beweis vollständig abgeschlossen ist.
-    Studierende können zu Beginn verschiedene Beweisideen ausprobieren, indem sie mit dem jeweiligen System spielen. Das garantiert höhere Flexibilität gegenüber Stift- und Papierbeweisen, in denen man nur sehr schlecht Dinge streichen oder verbessern kann, ohne den Beweis neu aufschreiben zu müssen. Aus dem gleichen Grund sollte ein Beweisassistent auch besser darin unterstützen, mit einem Beweis überhaupt zu beginnen.


Strukturbaum
Keine Einordnung ins Vorlesungsverzeichnis vorhanden. Veranstaltung ist aus dem Semester SoSe 2022 , Aktuelles Semester: SoSe 2024