Im Rahmen des Fermat Projektes des IMMD8 sind Teilprojekte zusammengeführt, die die Anwendung der Künstlichen Intelligenz auf die Mathematik erforschen. Projektziel ist es, ein Assistenzsystem für Mathematiker zu entwickeln, das aus Komponenten zum

besteht.

In nachfolgenden Abschnitt werden nun einige der am IMMD VIII ausgeschriebenen Studien-und Diplomarbeiten motiviert und beschrieben.

Eine Datenbank für mathematisches Wissen

Innerhalb des Fermat-Projektes nimmt die Datenbank für mathematisches Wissen einen zentralen Platz ein. Dem Mathematiker soll ein komfortables Werkzeug zum Auffinden mathematischen Wissens bereitgestellt werden.

Die Mizar-Forschungsgruppe hat sich zur Aufgabe gemacht, grundlegende Theorien aus allen Bereichen der Mathematik zu formalisieren. Alle mit dem Beweisüberprüfungssystem Mizar verifizierten Beweise werden im Journal of Formalized Mathematics publiziert. Die Formalisierung (mehr als 2000 Definitionen und 20000 bewiesene Theoreme) besteht im Wesentlichen aus einer großen ungeordneten Ansammlung von Dateien; als Suchwerkzeug steht das grep-Kommando zur Verfügung.

Im Rahmen einer Diplomarbeit konnte diese Dateiensammlung in eine objekt-orientierte Datenbank transferiert werden. Aufbauend auf der objekt-orientierten Repräsentation des gesamten vom Mizar-Team geleisteten Formalisierung sind am IMMD VIII die folgenden Studien- und Diplomarbeiten als Folgearbeiten zu vergeben:

Implementierungsumgebung ist stets Allegro Common Lisp/AllegroStore.

Automatische Beweisüberprüfung

Im Forschungsbereich Automatische Beweisüberprüfung des FERMAT Projektes beschäftigt man sich mit der Aufgabe, publizierte Textbuchbeweise zu Theoremen der Zahlenheorie automatisch auf ihre Korrektheit zu überprüfen. Zur automatischen Analyse dieser informeller Beweise werden dabei Methoden des automatischen Theorembeweisens mit denen der automatischen Verarbeitung natürlicher Sprache kombiniert.

Existierende Beweisüberprüfer sind nicht in der Lage, natürlich-sprachliche Eingaben -- z.B. Beweistexte, die einem Lehrbuch zur elementaren Zahlentheorie entnommen sind -- zu verarbeiten. Liegt der mathematische Text dem Beweisüberprüfer aber formal -- etwa als Abfolge von Regelanwendungen des Sequentzenkalküls für Prädikatenlogik 1. Stufe mit Gleichheit - vor, so ist seine Überprüfung trivial. Ein Korrektheitsüberprüfung beschränkt sich auf das schrittweise Nachvollziehen der korrekten Anwendung von Kalkülregeln.

Interessant wird es, wenn der Beweis nur bruchstückhaft formal vorliegt. Es ist nun Aufgabe des Beweisüberprüfers, die fehlenden formalen Beweisschritte selbst zu erbringen, um die Lücken -- aber nicht mehr -- zu füllen. Der Beweisüberprüfer tritt damit als Beweiser auf.

Noch interessanter ist die Frage, inwieweit ein Beweisüberprüfer in der Lage ist, informelle Beweise zu überprüfen. In mathematischen Texten -- seien es nun Lehrbücher zur elemenaren Zahlenheorie oder in Fachzeitschriften veröffentlichte Artikel aus der aktuellen Forschung -- ist der formale Anteil der Beweise gering. Formale Beweise, in dem Sinn, daß sie in einem formalen Kalkül geführt worden sind oder geführt werden könnten, lassen sich in mathematischen Texten nicht finden. Sie wären auch nicht lesbar und verständlich. Der Mathematiker bedient sich vielmehr einer Fachsprache, mit der er versucht, mathematische Inhalte -- nicht formal, aber präzise -- zu vermitteln. Er reichert mathematische Beweise durch Zusatzinformationen, wie verwendete Beweismethode und Beweisfäden, an. Er verzichtet aus Gründen der Lesbarkeit und Verständlichkeit auf die Darstellung trivialer Beweisschritte. Dies stellt an ein System für automatische Beweisüberprüfung besondere Herausforderungen ([Sim90]).

Im Rahmen des Teilprojektes Automatische Beweisüberprüfung sind folgende Arbeiten zu vergeben: Es sind mathematische Beweise zu analysieren und zu beschreiben! Die zu untersuchenden Theoreme und ihre Beweise sind aus der elementaren Zahlentheorie und stammen aus [HW71]. Zunächst ist eine Klassifizierung der Beweise in Beweistypen (direkter Beweis, indirekter Beweis, etc.) vorzunehmen. Hilfreich dabei ist die Lekture von Solow's How to read and do proofs ([Sol90]).

Alle in [HW71] vorkommenden Beweise sind danach zu identifizieren. Dazu gehört auch die Markierung von Beweisanfängen und -enden sowie die Identifizeriung von Sätzen, die mit dem eigentlichen Beweisverlauf nicht zu tun haben (historische Anmerkungen, Anmerkungen zum Schwierigkeitsgrad des Beweises und sonstige Meta-Aussagen). Dabei sind auch verschachtelte Beweise -- ein Beweis zerfällt in mehrere Unterbeweise unterschiedlicher Beweistypen -- zu betrachten. In der Beweisbeschreibung sollten logische Beziehungen zwischen Aussagen, evtl. Beweispläne sowie die Offenlegung von Beweislücken nicht fehlen. Im Text stets wiederkehrende Phrasen sind zu identifizieren und in Semantik-erhaltende Standardphrasen zu transformieren.

Ziel ist die Entwicklung einer Beweisbeschreibungssprache!

email: zinn@immd8.informatik.uni-erlangen.de
http://www.informatik.uni-erlangen.de/IMMD8/staff/Zinn/zinn.html

Eine elektronische Fassung dieses Dokuments finden Sie im WWW:

http://www8.informatik.uni-erlangen.de/IMMD8/Research/fermat.html