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