Deklarative Programmierung

Werbung
Aussagenlogischer Tableau-Kalkül
Idee:
I
intuitiver Beweiskalkül (rekursiv über Aufbau der Formel)
I
Unerfüllbarkeitbeweis durch Fallunterscheidung
I
Darstellung in Baumform
Grundform der Formel:
konjunktiv: ϕ ∧ ψ
¬(ϕ ∨ ψ), weil äquivalent zu ¬ϕ ∧ ¬ψ
¬(ϕ → ψ), weil äquivalent zu ϕ ∧ ¬ψ
¬¬ϕ
disjunktiv: ϕ ∨ ψ
¬(ϕ ∧ ψ), weil äquivalent zu ¬ϕ ∨ ¬ψ
ϕ → ψ, weil äquivalent zu ¬ϕ ∨ ψ
89
Aussagenlogischer Tableau-Kalkül: Regeln
Regeln für konjunktive Formeln (an jedes erreichbare Blatt
anhängen):
A∧B
¬(A ∨ B)
¬(A → B)
•
|
A
|
B
•
|
¬A
|
¬B
•
|
A
|
¬B
¬¬A
•
|
A
Regeln für disjunktive Formeln (an jedes erreichbare Blatt anhängen):
A∨B
¬(A ∧ B)
A→B
•
/ \
A B
•
/ \
¬A ¬B
•
/ \
¬A B
Beispiel: ((p → q) ∧ p) → q allgemeingültig
90
Aussagenlogische Tableaux
Aussagenlogisches Tableau: endlicher Baum T mit
I
Knotenmarkierungen der Knoten u ∈ T : Formel ϕ
I
Zu jedem Knoten ui ∈ T und jedem Pfad von ui zu einem
Blatt in T existiert ein Knoten uj ∈ T mit Kindern
entsprechend der Tableau-Regel für Markierung ϕ von ui .
(schrittweise Konstruktion)
Beispiele:
I
¬(p → q) ∧ (¬p ∨ q)
I
(p ∨ q) ∧ ¬(p ∧ q)
I
Pfad u0 , . . . , un in einem Tableau T heißt geschlossen gdw.
auf diesem Pfad zwei Knoten mit den Markierungen
{ψ, ¬ψ} existieren.
I
Tableau T heißt geschlossen gdw. jeder Pfad in T
geschlossen ist.
91
Beweisen mit aussagenlogischen Tableaux
Satz
Für jede Formel ϕ ∈ AL(P) gilt:
Vollständigkeit: Falls ϕ unerfüllbar ist, ist jedes Tableau für ϕ
geschlossen.
Korrektheit: Falls ein geschlossenes Tableau für ϕ existiert, ist
ϕ unerfüllbar.
92
Aussagenlogische Tableau-Beweise
für die Unerfüllbarkeit einer Formel ϕ ∈ AL(P):
(schrittweise) Konstruktion eines Tableau mit Wurzelmarkierung
ϕ durch eine Folge von Knoten-Expansionen entsprechend der
Tableau-Regeln
I
ϕ ∈ AL(P) ist unerfüllbar gdw. ein geschlossenes Tableau
mit Wurzelmarkierung ϕ existiert.
I
ϕ ∈ AL(P) ist allgemeingültig gdw. ein geschlossenes
Tableau mit Wurzelmarkierung ¬ϕ existiert.
Aus jedem nicht-geschlossenen Tableau für ϕ lassen sich
Modelle für ϕ ablesen.
93
Aussagenlogische Tableaux: Beispiele
I
p ∧ (p → q) ist erfüllbar
I
¬(((¬p → q) → r ) → ((¬q → p) → r )) ist unerfüllbar
I
p → (q → p) ist allgemeingültig
I
(p ∨ q) ∧ ¬((p ∧ ¬q) ∨ q) ist unerfüllbar
94
Ausblick: Tableau-Kalkül für modale Logiken
Syntax: zusätzlich Modalitäten , (einstellige Junktoren)
Modelle: Kripke-Strukturen, Graphen aus
I
„Welten“s, t, . . .
I
Übergangsrelation R zwischen „Welten“
Erweiterung um Regeln für diese Übergänge
(Übergänge als eigener Knotentyp)
s: A
•
|
(s, t) ∈ R
|
t :A
s: A
•
|
t1 : A
|
..
.
s: ¬A
•
|
s : ¬A
s: ¬ A
•
|
s : ¬A
|
tn : A
95
Geplante Autotool-Aufgaben zum Tableau-Kalkül
I
Geben Sie ein aussagenlogisches Tableau an, welches die
Erfüllbarkeit der Formel ... beweist bzw. widerlegt.
(Hier ist eine Markerung mit Zeitpunkten notwendig)
I
Geben Sie eine Folge von Regelanwendungen und
Positionen (im jeweils erzeugten Teil-Tableau) an, welche
eine vollständiges aussagenlogisches Tableaux zum
Nachweis / zur Widerlegung der Erfüllbarkeit der Formel ...
erzeugt.
96
Vorbereitung
alle zusammen:
1. Entwurf von Datenstrukturen zur Darstellung
aussagenlogischer Tableaux (mit Zeitpunkten)
(Bäume, ähnlich DS in den Autotool-Aufgaben dazu)
erweiterungsfähig
2. Entwurf von Datenstrukturen zur schrittweisen Erweiterung
aussagenlogischer Tableaux durch Anwendung von
Regeln
(Anweisungsfolgen, ähnlich DS in den Autotool-Aufgaben
zu Resolution, Hilbert-Kalkül, AVL-Bäume)
3. graphische Darstellung aussagenlogischer Tableaux
(Erzeugung von Graphviz-Code, analog Autotool-Aufgaben
zu AVL-Bäumen)
4. Entwicklung jeweils mehrerer aussagekräftiger Beispiele
97
Teilaufgaben
Entwurf und (Haskell-)Implementierung von Algorithmen zum
I
Prüfen beliebiger aussagenlogischer Tableaux (mit
Zeitpunkten) auf Korrektheit
mit sinnvollen Fehlermeldungen
I
Prüfen der Korrektheit von Anweisungsfolgen durch
schrittweise Ausführung (Berechnung der Tableaux)
mit sinnvollen Fehlermeldungen
I
Finden von Tableaux-Beweisen zu beliebigen
aussagenlogischen Formeln,
Feststellen der Schwierigkeit,
Würfel bzw. Filter für etwa gleichschwere Formeln
98
Herunterladen