Der Tableauxbeweiser



next up previous
Next: Aufgabe 2 Up: Aufgabe 1 Previous: Beweiser über Wahrheitstafeln

Der Tableauxbeweiser

Wir beschränken uns in dieser Aufgabe auf Formeln mit den Junktoren und . Formeln, die auch den Junktor enthalten, müssen zunächst umgeformt werden, was aber nicht Teil der Aufgabe zu sein braucht.
Der Tableaukalkül hat als Eigenschaft, daer nicht wie die Resolution auf Klauseln operiert sondern auf den Formel in ihrer ursprünglichen Syntax. Tableaubeweise sind damit nicht auf einer so maschinennahen abstrakten Ebene und für Menschen leichter lesbar.
Der Kalkül operiert auf markierten Formeln. Eine markierte Formel ist von der Gestalt 0A oder 1A mit A. (Man kann den Tableaukalkül auch auf unmarkierten Formeln definieren. Die Marken dienen nur der Übersichtlichkeit.) Wir unterscheiden drei verschiedene Typen markierter Formeln:

Zu jeder nicht elementaren markierten Formel X definieren wir jetzt bis zu zwei direkte Abkömmlinge X,X, gemäfolgender Tabellen:
Typ Typ


Definition (Tableaux)
Der Tableaukalkül findet sich dargestellt in []. Es sei E eine endliche Menge von markierten Formeln. Ein Tableau für E ist ein Binärbaum mit Beschriftung der Knoten durch markierte Formeln oder durch das Zeichen *, gemäder folgenden rekursiven Definition:

(1)
Ist E={XX}, so ist

ein Tableau für E.

(2)
Ist T ein Tableau für E und ein Pfad von der Wurzel zu einem Blatt, der nirgends mit * markiert ist (offener Pfad) und auf dem ein Knoten mit X vom Typ markiert ist; dann ist auch T' ein Tableau für E, welches durch Verlängern von um ein Blatt mit der Markierung X oder X ensteht.
(3)
Ist T ein Tableau für E und ein offener Pfad von der Wurzel zu einem Blatt, auf dem ein Knoten mit X vom Typ markiert ist; dann ist auch T' ein Tableau für E, welches durch Anhängen zweier Kanten an zu neuen Blättern mit den Markierungen X und X ensteht.
(4)
Ist T ein Tableau für E und ein offener Pfad von der Wurzel zu einem Blatt, auf dem je ein Knoten mit 0A bzw 1A für A markiert ist; dann ist auch T' ein Tableau für E, welches durch Anhängen des neuen Blattes mit der Markierung * an an entsteht.
(5)
Nur die gemä(1)-(4) gebildeten Bäume sind Tableaux für E.

Ein Beweis für die allgemeingültigkeit einer Formel F ist ein Tableau für {0F},dessen Blätter alle mit * markiert sind.
Aufgabe ist es nun für eine eingegebene Formel F einen Beweis zu führen: sprich es soll versucht werden, ein Tableaux für 0F zu erstellen, das entweder nur mit * markierte Blätter besitzt (erfolgreicher Beweis), oder in dem für jeden Knoten Knoten auf jeden Pfad durch diesen Knoten die direkten Abkömmlinge gebildet wurden. Hauptüberlegung ist dabei, eine geeignete Datenstruktur für Tableaux zu definieren. Es bieten sich dabei mehrere Alternativen an, zB: Es empfielt sich einem Knoten die Information mitzugeben, ob seine Abkömmlinge schon vollständig gebildet wurden.
Desweiteren muentschieden werden, nach welcher Strategie die Regeln zur Bildung des Tableaus angewendet werden. Hierbei muinsbesondere überlegt werden, wann und wie man prüft, ob ein Pfad mit einem * abgeschlossen werden darf.
Es wird in dieser Aufgabe keine Ausgabe in -Format verlangt. Die Ausgabe des internen Datentypen oder zumindest eine einfache ASCII-Darstellung eines Tableaus soll reichen. (wobei eine ASCII Darstellung in Hinblick auf die nächste Aufgabe schöner wäre.) (Profis ist es natürlich nicht verboten, eine Darstellung im -Format zu generieren.)

next up previous
Next: Aufgabe 2 Up: Aufgabe 1 Previous: Beweiser über Wahrheitstafeln



Sven Eric Panitz
Mi., 01. Nov. 1995, 12:12:54