widerspruch kalkül

Werbung
Vorlesung
Logik für Informatiker
7. Aussagenlogik
– Analytische Tableaus –
Bernhard Beckert
Universität Koblenz-Landau
Sommersemester 2006
Logik für Informatiker, SS ’06 – p.1
Der aussagenlogische Tableaukalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
Logik für Informatiker, SS ’06 – p.2
Der aussagenlogische Tableaukalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Beweis durch Fallunterscheidung
Logik für Informatiker, SS ’06 – p.2
Der aussagenlogische Tableaukalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Beweis durch Fallunterscheidung
• Top-down-Analyse der gegebenen Formeln
Logik für Informatiker, SS ’06 – p.2
Der aussagenlogische Tableaukalkül
Vorteile
• Intuitiver als Resolution
Logik für Informatiker, SS ’06 – p.3
Der aussagenlogische Tableaukalkül
Vorteile
• Intuitiver als Resolution
• Formeln müssen nicht in Normalform sein
Logik für Informatiker, SS ’06 – p.3
Der aussagenlogische Tableaukalkül
Vorteile
• Intuitiver als Resolution
• Formeln müssen nicht in Normalform sein
• Falls Formelmenge erfüllbar ist (Test schlägt fehl),
wird ein Gegenbeispiel (eine erfüllende Interpretation) konstruiert
Logik für Informatiker, SS ’06 – p.3
Der aussagenlogische Tableaukalkül
Vorteile
• Intuitiver als Resolution
• Formeln müssen nicht in Normalform sein
• Falls Formelmenge erfüllbar ist (Test schlägt fehl),
wird ein Gegenbeispiel (eine erfüllende Interpretation) konstruiert
Nachteil
• Mehr als eine Regel
Logik für Informatiker, SS ’06 – p.3
Kleine Deutsch- und Englischsstunde
Deutsch
das
Tableau
des
Tableaus
(Gen.)
die
Tableaus
(pl.)
Logik für Informatiker, SS ’06 – p.4
Kleine Deutsch- und Englischsstunde
Deutsch
das
Tableau
des
Tableaus
(Gen.)
die
Tableaus
(pl.)
der
Tableaukalkül (nicht das)
Logik für Informatiker, SS ’06 – p.4
Kleine Deutsch- und Englischsstunde
Deutsch
das
Tableau
des
Tableaus
(Gen.)
die
Tableaus
(pl.)
der
Tableaukalkül (nicht das)
Englisch
the
tableau
(sing.)
the
tableaux
(pl.)
the
tableau calculus
Logik für Informatiker, SS ’06 – p.4
Zur Erinnerung: Uniforme Notation
Konjunktive Formeln:
Typ α
¬¬ A
A∧B
¬(A ∨ B)
¬(A → B)
Logik für Informatiker, SS ’06 – p.5
Zur Erinnerung: Uniforme Notation
Konjunktive Formeln:
Typ α
¬¬ A
A∧B
¬(A ∨ B)
¬(A → B)
Disjunktive Formeln:
Typ β
¬(A ∧ B)
A∨B
A→B
Logik für Informatiker, SS ’06 – p.5
Zur Erinnerung: Uniforme Notation
Zuordnungsregeln Formeln / Unterformeln
α
α1
α2
A∧ B
A
B
¬(A∨ B) ¬ A ¬ B
¬(A→ B)
¬¬ A
A ¬B
A
A
Logik für Informatiker, SS ’06 – p.6
Zur Erinnerung: Uniforme Notation
Zuordnungsregeln Formeln / Unterformeln
α
α1
α2
A∧ B
A
B
¬(A∨ B) ¬ A ¬ B
¬(A→ B)
¬¬ A
A ¬B
A
β
β1
β2
¬(A∧ B) ¬ A ¬ B
A∨ B
A
B
A→ B ¬ A
B
A
Logik für Informatiker, SS ’06 – p.6
Regeln des (aussagenlogischen) Tableaukalküls
α
konjunktiv
p∧q
α1
p
α2
q
Logik für Informatiker, SS ’06 – p.7
Regeln des (aussagenlogischen) Tableaukalküls
α
konjunktiv
p∧q
α1
p
α2
q
β
β1 β2
disjunktiv
p∨q
p
q
Logik für Informatiker, SS ’06 – p.7
Regeln des (aussagenlogischen) Tableaukalküls
α
konjunktiv
p∧q
α1
p
α2
q
β
disjunktiv
q
p
β1 β2
F
p∨q
Widerspruch
F
¬F
¬F
∗
∗
Logik für Informatiker, SS ’06 – p.7
Instanzen der α- und β -Regel
Instanzen der α-Regel
P∧Q
¬(P ∨ Q)
¬(P → Q)
¬¬ P
P
¬P
P
P
Q
¬Q
¬Q
Logik für Informatiker, SS ’06 – p.8
Instanzen der α- und β -Regel
Instanzen der α-Regel
P∧Q
¬(P ∨ Q)
¬(P → Q)
¬¬ P
P
¬P
P
P
Q
¬Q
¬Q
Instanzen der β -Regel
P∨Q
¬(P ∧ Q)
P→Q
P
¬P ¬Q
¬P Q
Q
Logik für Informatiker, SS ’06 – p.8
Beispiel
¬(((¬ A → B) → C) → ((¬ B → A) → C))
(¬ A → B) → C
¬((¬ B → A) → C)
¬B → A
¬C
¬(¬ A → B)
C
¬A
∗
¬B
¬¬ B
A
B
∗
∗
Logik für Informatiker, SS ’06 – p.9
Determinismus von Kalkül und Regeln
Determinismus
• Die Regeln sind alle deterministisch
Logik für Informatiker, SS ’06 – p.10
Determinismus von Kalkül und Regeln
Determinismus
• Die Regeln sind alle deterministisch
• Der Kalkül aber nicht:
Auswahl der nächsten Formel, auf die Regel angewendet wird
Logik für Informatiker, SS ’06 – p.10
Determinismus von Kalkül und Regeln
Determinismus
• Die Regeln sind alle deterministisch
• Der Kalkül aber nicht:
Auswahl der nächsten Formel, auf die Regel angewendet wird
Heuristik
Nicht-verzweigende Regeln zuerst:
„α vor β “
Logik für Informatiker, SS ’06 – p.10
Determinismus von Kalkül und Regeln
Determinismus
• Die Regeln sind alle deterministisch
• Der Kalkül aber nicht:
Auswahl der nächsten Formel, auf die Regel angewendet wird
Heuristik
Nicht-verzweigende Regeln zuerst:
„α vor β “
Nota bene
Selbe Formel kann mehrfach (auf verschiedenen Ästen)
verwendet werden
Logik für Informatiker, SS ’06 – p.10
Formale Definition des Kalküls
Definition:
Tableau
Binärer Baum, dessen Knoten mit Formeln markiert sind
Logik für Informatiker, SS ’06 – p.11
Formale Definition des Kalküls
Definition:
Tableau
Binärer Baum, dessen Knoten mit Formeln markiert sind
Definition:
Tableauast
Maximaler Pfad in Einem Tableau (von Wurzel zu Blatt)
Logik für Informatiker, SS ’06 – p.11
Formale Definition des Kalküls
Sei M eine Formelmenge
Initialisierung
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
Logik für Informatiker, SS ’06 – p.12
Formale Definition des Kalküls
Sei M eine Formelmenge
Initialisierung
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
Erweiterung
T ein Tableau für M
Logik für Informatiker, SS ’06 – p.12
Formale Definition des Kalküls
Sei M eine Formelmenge
Initialisierung
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
Erweiterung
T ein Tableau für M
B ein Ast von T
Logik für Informatiker, SS ’06 – p.12
Formale Definition des Kalküls
Sei M eine Formelmenge
Initialisierung
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
Erweiterung
T ein Tableau für M
B ein Ast von T
F eine Formel auf B oder in M , die kein Literal ist
Logik für Informatiker, SS ’06 – p.12
Formale Definition des Kalküls
Sei M eine Formelmenge
Initialisierung
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
Erweiterung
T ein Tableau für M
B ein Ast von T
F eine Formel auf B oder in M , die kein Literal ist
T 0 entstehe durch Erweiterung von B gemäß
der auf F anwendbaren Regel (α oder β )
Logik für Informatiker, SS ’06 – p.12
Formale Definition des Kalküls
Sei M eine Formelmenge
Initialisierung
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
Erweiterung
T ein Tableau für M
B ein Ast von T
F eine Formel auf B oder in M , die kein Literal ist
T 0 entstehe durch Erweiterung von B gemäß
der auf F anwendbaren Regel (α oder β )
Dann ist T 0 ein Tableau für M
Logik für Informatiker, SS ’06 – p.12
Formale Definition des Kalküls
Nota bene
Alle Äste in einem Tableau für M enthalten implizit alle Formeln in M
Logik für Informatiker, SS ’06 – p.13
Formale Definition des Kalküls
Definition:
Geschlossener Ast
Ast B eines Tableaus für M ist geschlossen, wenn
F, ¬ F ∈ B ∪ M
Logik für Informatiker, SS ’06 – p.14
Formale Definition des Kalküls
Definition:
Geschlossener Ast
Ast B eines Tableaus für M ist geschlossen, wenn
F, ¬ F ∈ B ∪ M
Definition:
Geschlossenes Tableau
Ein Tableau ist geschlossen, wenn jeder seiner Äste geschlossen ist
Logik für Informatiker, SS ’06 – p.14
Formale Definition des Kalküls
Definition:
Geschlossener Ast
Ast B eines Tableaus für M ist geschlossen, wenn
F, ¬ F ∈ B ∪ M
Definition:
Geschlossenes Tableau
Ein Tableau ist geschlossen, wenn jeder seiner Äste geschlossen ist
Definition:
Tableaubeweis
Ein Tableau für M , das geschlossen ist,
ist ein Tableaubeweis für (die Unerfüllbarkeit von) M
Logik für Informatiker, SS ’06 – p.14
Beispiel: Nun formal richtig
M = ¬(((¬ A → B) → C) → ((¬ B → A) → C))
1
(¬ A → B) → C
¬((¬ B → A) → C)
¬B → A
¬C
¬(¬ A → B)
C
¬A
∗
¬B
¬¬ B
A
B
∗
∗
Logik für Informatiker, SS ’06 – p.15
Korrektheit und Vollständigkeit des Tableaukalküls
Theorem
Eine Formelmenge M ist unerfüllbar
genau dann, wenn
es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
Logik für Informatiker, SS ’06 – p.16
Kern des Korrektheitsbeweises
Definition:
Erfüllbares Tableau
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Logik für Informatiker, SS ’06 – p.17
Kern des Korrektheitsbeweises
Definition:
Erfüllbares Tableau
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Lemma
Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Logik für Informatiker, SS ’06 – p.17
Kern des Korrektheitsbeweises
Definition:
Erfüllbares Tableau
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Lemma
Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Lemma
Ein geschlossenes Tableau ist nicht erfüllbar
Logik für Informatiker, SS ’06 – p.17
Kern des Korrektheitsbeweises
Definition:
Erfüllbares Tableau
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Lemma
Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Lemma
Ein geschlossenes Tableau ist nicht erfüllbar
Also
Kein geschlossenes Tableau für erfüllbare Formelmenge
Logik für Informatiker, SS ’06 – p.17
Kern des Vollständigkeitsbeweises
Definition:
Voll expandiertes Tableau
Ein Tableau heißt voll expandiert, wenn
jede Regel
auf jede passende Formel
auf jedem offenen Ast
angewendet worden ist
Logik für Informatiker, SS ’06 – p.18
Kern des Vollständigkeitsbeweises
Definition:
Voll expandiertes Tableau
Ein Tableau heißt voll expandiert, wenn
jede Regel
auf jede passende Formel
auf jedem offenen Ast
angewendet worden ist
Lemma
B offener Ast in voll expandiertem Tableau, dann B ∪ M erfüllbar
Also
Voll expandierte Tableau für unerfüllbares M ist geschlossen
Logik für Informatiker, SS ’06 – p.18
Klauseltableau
M eine Menge von Klauseln
Logik für Informatiker, SS ’06 – p.19
Klauseltableau
M eine Menge von Klauseln
Änderungen
• Keine α-Regel
Logik für Informatiker, SS ’06 – p.19
Klauseltableau
M eine Menge von Klauseln
Änderungen
• Keine α-Regel
• Erweiterungsregel kann Verzweigungsgrad >2 haben
Logik für Informatiker, SS ’06 – p.19
Klauseltableau
M eine Menge von Klauseln
Änderungen
• Keine α-Regel
• Erweiterungsregel kann Verzweigungsgrad >2 haben
• Alle Knoten im Tableau enthalten Literale
Logik für Informatiker, SS ’06 – p.19
Klauseltableau: Beispiel
M = { { P, Q, R}, {¬ R}, {¬ P, Q}, { P, ¬ Q}, {¬ P, ¬ Q} }
Logik für Informatiker, SS ’06 – p.20
Klauseltableau: Beispiel
M = { { P, Q, R}, {¬ R}, {¬ P, Q}, { P, ¬ Q}, {¬ P, ¬ Q} }
1
¬P
P
P
Q
¬Q
Q
P
R
¬P
¬Q
¬Q
Logik für Informatiker, SS ’06 – p.20
Klauseltableau: Einschränkungen des Suchraums
Regularität
Kein Literal darf auf einem Ast mehr als einmal vorkommen
Logik für Informatiker, SS ’06 – p.21
Klauseltableau: Einschränkungen des Suchraums
Regularität
Kein Literal darf auf einem Ast mehr als einmal vorkommen
Schwache Konnektionsbedingung
Bei Erweiterung von Ast B muss mindestens eines der neuen Literale
komplementär zu Literal in B ∪ M sein
Logik für Informatiker, SS ’06 – p.21
Klauseltableau: Einschränkungen des Suchraums
Regularität
Kein Literal darf auf einem Ast mehr als einmal vorkommen
Schwache Konnektionsbedingung
Bei Erweiterung von Ast B muss mindestens eines der neuen Literale
komplementär zu Literal in B ∪ M sein
Starke Konnektionsbedingung
(Modellelimination)
Bei Erweiterung von Ast B muss mindestens eines der neuen Literale
komplementär zum Blatt von B sein
– außer beim ersten Schritt
Logik für Informatiker, SS ’06 – p.21
Klauseltableau: Einschränkungen des Suchraums
Regularität, starke u. schwache Konnektionsbedingung
erhalten Vollständigkeit
Logik für Informatiker, SS ’06 – p.22
Klauseltableau: Einschränkungen des Suchraums
Regularität, starke u. schwache Konnektionsbedingung
erhalten Vollständigkeit
Jedoch
Bei starker Konnektionsbedingung kann ungünstige Erweiterung
in Sackgasse führen
Logik für Informatiker, SS ’06 – p.22
Klauseltableau: Einschränkungen des Suchraums
Regularität, starke u. schwache Konnektionsbedingung
erhalten Vollständigkeit
Jedoch
Bei starker Konnektionsbedingung kann ungünstige Erweiterung
in Sackgasse führen
(bei schwacher Konnektionsbedinung nicht)
Logik für Informatiker, SS ’06 – p.22
Klauseltableau: Einschränkungen des Suchraums
Regularität, starke u. schwache Konnektionsbedingung
erhalten Vollständigkeit
Jedoch
Bei starker Konnektionsbedingung kann ungünstige Erweiterung
in Sackgasse führen
(bei schwacher Konnektionsbedinung nicht)
Beispiel:
M = { { P}, {¬ Q}, {¬ P, Q}, {¬ P, R} }
Logik für Informatiker, SS ’06 – p.22
Klauseltableau: Weiteres Beispiel
Signatur:
F : Flugreise
V : Vollpension
M : Meer
P: Pool
Logik für Informatiker, SS ’06 – p.23
Klauseltableau: Weiteres Beispiel
Signatur:
F : Flugreise
V : Vollpension
M : Meer
P: Pool
Falls sie nicht mit dem Flugzeug fliegen,
besteht der Vater auf Vollpension am Meer.
¬ F → (V ∧ M)
Logik für Informatiker, SS ’06 – p.23
Klauseltableau: Weiteres Beispiel
Signatur:
F : Flugreise
V : Vollpension
M : Meer
P: Pool
Falls sie nicht mit dem Flugzeug fliegen,
besteht der Vater auf Vollpension am Meer.
¬ F → (V ∧ M)
Die Mutter möchte mindestens einen ihrer drei Wünsche erfüllt sehen:
ans Meer fliegen, oder am Meer ohne Pool, oder Vollpension und Pool.
(M ∧ F) ∨ (M ∧ ¬ P) ∨ (V ∧ P)
Logik für Informatiker, SS ’06 – p.23
Klauseltableau: Weiteres Beispiel
Signatur:
F : Flugreise
V : Vollpension
M : Meer
P: Pool
Falls sie nicht mit dem Flugzeug fliegen,
besteht der Vater auf Vollpension am Meer.
¬ F → (V ∧ M)
Die Mutter möchte mindestens einen ihrer drei Wünsche erfüllt sehen:
ans Meer fliegen, oder am Meer ohne Pool, oder Vollpension und Pool.
(M ∧ F) ∨ (M ∧ ¬ P) ∨ (V ∧ P)
Gibt es keinen Pool, so besteht Tochter Lisa auf einer Flugreise und
Urlaub am Meer und darauf, dass keine Vollpension gebucht wird.
¬ P → (F ∧ M ∧ ¬V)
Logik für Informatiker, SS ’06 – p.23
Klauseltableau: Weiteres Beispiel
Signatur:
F : Flugreise
V : Vollpension
M : Meer
P: Pool
Falls sie nicht mit dem Flugzeug fliegen,
besteht der Vater auf Vollpension am Meer.
¬ F → (V ∧ M)
Die Mutter möchte mindestens einen ihrer drei Wünsche erfüllt sehen:
ans Meer fliegen, oder am Meer ohne Pool, oder Vollpension und Pool.
(M ∧ F) ∨ (M ∧ ¬ P) ∨ (V ∧ P)
Gibt es keinen Pool, so besteht Tochter Lisa auf einer Flugreise und
Urlaub am Meer und darauf, dass keine Vollpension gebucht wird.
¬ P → (F ∧ M ∧ ¬V)
Auch dem Baby soll einer seiner Wünsche erfüllt werden: erstens einen
Pool und nicht fliegen oder zweitens Vollpension, dann aber ohne Pool.
(P ∧ ¬ F) ∨ (V ∧ ¬ P)
Logik für Informatiker, SS ’06 – p.23
Klauseltableau: Weiteres Beispiel
Behauptung
Dann müssen sie ans Meer mit Vollpension, mit Pool und ohne Flug.
M ∧ V ∧ P ∧ ¬F
Logik für Informatiker, SS ’06 – p.24
Klauseltableau: Weiteres Beispiel
Behauptung
Dann müssen sie ans Meer mit Vollpension, mit Pool und ohne Flug.
M ∧ V ∧ P ∧ ¬F
Negation der Behauptung:
¬ M ∨ ¬V ∨ ¬ P ∨ F
Logik für Informatiker, SS ’06 – p.24
Klauseltableau: Weiteres Beispiel
¬ F → (V ∧ M)
(1)
(2)
(M ∧ F) ∨ (M ∧ ¬ P) ∨ (V ∧ P) (3)
(4)
(5)
(6)
(7)
(8)
F∨V
F∨M
M∨V
M∨P
M ∨ ¬P ∨ V
F∨M∨V
F∨M∨P
F ∨ ¬P ∨ V
¬ P → (F ∧ M ∧ ¬V)
(9) P ∨ F
(10) P ∨ M
(11) P ∨ ¬V
(P ∧ ¬ F) ∨ (V ∧ ¬ P)
(12) P ∨ V
(13) ¬ F ∨ V
(14) ¬ F ∨ ¬ P
Negation der Behauptung
(15) ¬ M ∨ ¬V ∨ ¬ P ∨ F
Logik für Informatiker, SS ’06 – p.25
Klauseltableau: Weiteres Beispiel
Beobachtung
Konstruktion des Konnektionstableaus
bei Beginn mit Klausel (1)
mit Regularität
mit starker Konnektionsbedingung
Dann
Nahezu deterministische Beweiskonstruktion
Logik für Informatiker, SS ’06 – p.26
Zusammenfassung: Tableaukalkül
• Beweis durch Widerspruch und Fallunterscheidung
Logik für Informatiker, SS ’06 – p.27
Zusammenfassung: Tableaukalkül
• Beweis durch Widerspruch und Fallunterscheidung
• Tableauregeln (mit uniformer Notation)
Logik für Informatiker, SS ’06 – p.27
Zusammenfassung: Tableaukalkül
• Beweis durch Widerspruch und Fallunterscheidung
• Tableauregeln (mit uniformer Notation)
• Formale Definition des Kalküls
Logik für Informatiker, SS ’06 – p.27
Zusammenfassung: Tableaukalkül
• Beweis durch Widerspruch und Fallunterscheidung
• Tableauregeln (mit uniformer Notation)
• Formale Definition des Kalküls
• Korrektheit und Vollständigkeit
Logik für Informatiker, SS ’06 – p.27
Zusammenfassung: Tableaukalkül
• Beweis durch Widerspruch und Fallunterscheidung
• Tableauregeln (mit uniformer Notation)
• Formale Definition des Kalküls
• Korrektheit und Vollständigkeit
• Klauseltableau
Logik für Informatiker, SS ’06 – p.27
Zusammenfassung: Tableaukalkül
• Beweis durch Widerspruch und Fallunterscheidung
• Tableauregeln (mit uniformer Notation)
• Formale Definition des Kalküls
• Korrektheit und Vollständigkeit
• Klauseltableau
• Regularität
Logik für Informatiker, SS ’06 – p.27
Zusammenfassung: Tableaukalkül
• Beweis durch Widerspruch und Fallunterscheidung
• Tableauregeln (mit uniformer Notation)
• Formale Definition des Kalküls
• Korrektheit und Vollständigkeit
• Klauseltableau
• Regularität
• Schwache und starke Konnektionsbedingung
Logik für Informatiker, SS ’06 – p.27
Herunterladen