Logik für Informatiker 2. Aussagenlogik Teil 9 22.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: [email protected] 1 Bis jetzt Unser Ziel Kalküle zur systematischen Überprüfung von Erfüllbarkeit (für Formeln und/oder Formelmengen) 2 Bis jetzt Unser Ziel Kalküle zur systematischen Überprüfung von Erfüllbarkeit (für Formeln und/oder Formelmengen) • Der aussagenlogische Resolutionkalkül • Der 1-Resolutionskalkül (unvollständig) • Davis-Putnam Verfahren • Das Davis-Putnam Verfahren (1960) 1-Resolution + Fallunterscheidung • Das Davis-Putnam-Logemann-Loveland Verfahren (1962) • Semantische Tableaux 3 Heute Unser Ziel Kalküle zur systematischen Überprüfung von Erfüllbarkeit (für Formeln und/oder Formelmengen) • Der aussagenlogische Resolutionkalkül • Der 1-Resolutionskalkül (unvollständig) • Davis-Putnam Verfahren • Das Davis-Putnam Verfahren (1960) 1-Resolution + Fallunterscheidung • Das Davis-Putnam-Logemann-Loveland Verfahren (1962) (DPLL) • Semantische Tableaux 4 DPLL Gegeben: N Klauselmenge Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell) Idee: Erfüllende Wertebelegung inkrementell gebildet. “partielle Wertebelegungen” Wir beginnen mit der leeren Belegung und versuchen diese Belegung zu einem Modell für N zu erweitern. 5 DPLL Gegeben: N Klauselmenge Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell) Idee: Erfüllende Wertebelegung inkrementell gebildet. “partielle Wertebelegungen” Wir beginnen mit der leeren Belegung und versuchen diese Belegung zu einem Modell für N zu erweitern. Falls A partielle Wertebelegung, so können Literale und Klauseln in A wahr, falsch oder undefiniert sein. Eine Klausel ist wahr in A, wenn ein Literal in C wahr ist; falsch, wenn alle Literale falsch sind. Sonst ist C undefiniert (unresolved). 6 Einerklauseln (Unit clauses) Sei A eine Interpretation. Sei C = L1 ∨ · · · ∨ Ln ∨ L ∈ N, so dass L1 , . . . , Ln falsch in A und L nicht definiert. Dann heißt C Einerklausel (Unit clause). Lemma. Seien A eine Interpretation und C = L1 ∨ · · · ∨ Ln ∨ L ∈ N, so dass L1 , . . . , Ln falsch in A und L nicht definiert. Es gibt ein Modell von N, das A erweitert, genau dann, wenn es ein Modell von N gibt, das A erweitert und L wahr macht. 7 Pure Literale Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien Mengen von Literalen), wenn • L Element einer Klausel in N ist und • das Komplement von L in keiner Klausel von N enthalten ist. Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N pures Literal enthält. Lemma. Für jede pure Klausel C in einer Klauselmenge N: N erfüllbar gdw. N\{C } erfüllbar Lemma. Sei A eine partielle Wertebelegung. Für jedes pure Literal L in einer Klauselmenge N gilt: Es gibt ein Modell von N, das A erweitert genau dann, wenn es ein Modell von N gibt, das A erweitert und L wahr macht. 8 DPLL N: eine Menge von Klauseln, A partielle Wertebeleung Programm DPLL(N, A): IF (alle Klauseln in N wahr in A) THEN Return “wahr” ELSE IF (eine Klausel in N falsch in A) Return “falsch” ELSE IF (N enthält Einerklausel {P}) THEN return DPLL(N, A ∪ {P 7→ 1}) ELSE IF (N enthält Einerklausel {¬P}) THEN return DPLL(N, A ∪ {P 7→ 0}) ELSE IF (N enthält pures Literal P) THEN return DPLL(N, A ∪ {P 7→ 1}) ELSE IF (N enthält pures Literal ¬P) THEN return DPLL(N, A ∪ {P 7→ 0}) ELSE { Sei P undefinierte Aussagenvariable in N IF (DPLL(N, A(P 7→ 0))) THEN return “wahr” ELSE return DPLL(N, A ∪ {P 7→ 1}) 9 DPLL N: eine Menge von Klauseln, A partielle Wertebeleung Programm DPLL(N, A): IF (alle Klauseln in N wahr in A) THEN Return “wahr” ELSE IF (eine Klausel in N falsch in A) Return “falsch” ELSE IF (N enthält Einerklausel {P}) THEN return DPLL(N, A ∪ {P 7→ 1}) ELSE IF (N enthält Einerklausel {¬P}) THEN return DPLL(N, A ∪ {P 7→ 0}) ELSE IF (N enthält pures Literal P) THEN return DPLL(N, A ∪ {P 7→ 1}) ELSE IF (N enthält pures Literal ¬P) THEN return DPLL(N, A ∪ {P 7→ 0}) ELSE { Sei P undefinierte Aussagenvariable in N IF (DPLL(N, A(P 7→ 0))) THEN return “wahr” ELSE return DPLL(N, A ∪ {P 7→ 1}) Am Anfang: A = ∅ DPLL(N, ∅) 10 Eine alternative Formulierung Zustand: M||F wobei: - M Sequenz von Literalen (partielle Wertebelegung) (Ld : Entscheidungsliteral) - F Klauselmenge 11 Eine alternative Formulierung UnitPropagation M||F , C ∨ L ⇒ M, L||F , C ∨ L falls M |= ¬C , und L undef. in M Decide M||F ⇒ M, Ld ||F falls L oder ¬L kommt in F vor, L undef. in M Fail M||F , C ⇒ Fail falls M |= ¬C , M enthält kein Entscheidungsliteral Backjump M, Ld , N||F ⇒ M, L′ ||F 8 ′ mit: > es gibt eine Klausel C ∨ L > > > > < F |= C ∨ L′ , M |= ¬C , falls > L′ undef. in M > > > > : L′ oder ¬L′ kommt in F vor. 12 Eine alternative Formulierung Backjump M, Ld , N||F ⇒ M, L′ ||F 8 ′ mit: > es gibt eine Klausel C ∨ L > > > > < F |= C ∨ L′ , M |= ¬C , falls > L′ undef. in M > > > > : L′ oder ¬L′ kommt in F vor. Es gibt mehrere mögliche backjump Klauseln. Ein Kandidat ist ¬L1 ∨ · · · ∨ ¬Ln wo L1 , . . . , Ln alle Entscheidungsliterale in MLd N sind. (Es gibt manchmal bessere Kandidaten). 13 Eine alternative Formulierung Backjump M, Ld , N||F ⇒ M, L′ ||F 8 ′ mit: > es gibt eine Klausel C ∨ L > > > > < F |= C ∨ L′ , M |= ¬C , falls > L′ undef. in M > > > > : L′ oder ¬L′ kommt in F vor. Es gibt mehrere mögliche backjump Klauseln. Ein Kandidat ist ¬L1 ∨ · · · ∨ ¬Ln wo L1 , . . . , Ln alle Entscheidungsliterale in MLd N sind. (Es gibt manchmal bessere Kandidaten). PureLiteral (Sehr zeitaufwendig: wird selten benutzt) M||F ⇒ M, L||F falls L undef. in M und L pures Literal in F . 14 Beispiel Wertebelegung: Klauselmenge: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 15 Beispiel Wertebelegung: Klauselmenge: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) 16 Beispiel Wertebelegung: Klauselmenge: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 17 Beispiel Wertebelegung: Klauselmenge: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide) 18 Beispiel Wertebelegung: Klauselmenge: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide) ¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp) 19 Beispiel Wertebelegung: Klauselmenge: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ ¶5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide) ¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp) ¬P1 ¬P3 P5 d ¬P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Backtrack) 20 Beispiel Wertebelegung: Klauselmenge: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide) ¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp) ¬P1 ¬P3 P5 d ¬P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Backtrack) ¬P1 ¬P3 ¬P5 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 21 Beispiel Wertebelegung: Klauselmenge: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide) ¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp) ¬P1 ¬P3 P5 d ¬P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Backtrack) ¬P1 ¬P3 ¬P5 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp) ¬P1 ¬P3 ¬P5 P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 22 Beispiel Wertebelegung: Klauselmenge: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide) ¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp) ¬P1 ¬P3 P5 d ¬P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Backtrack) ¬P1 ¬P3 ¬P5 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp) ¬P1 ¬P3 ¬P5 P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 Die Klauselmenge ist erfüllbar. Modell: A(P1 ) = 0, A(P3 ) = 0, A(P5 ) = 0, A(P6 ) = 1 A(P2 ), A(P4 ) beliebig. 23 DPLL Das DPLL-Verfahren (Davis-Putnam-Logemann-Loveland) • Das bekannteste und am meisten verbreitete Verfahren zur systematischen Suche eines Modells • wurde in den letzten Jahrzehnten mit Hilfe von Heuristiken und Lernverfahren stark verbessert 24 Andere Kalküle • 1-Resolution • Das Davis-Putnam-Verfahren • Semantische Tableaux 25 Der aussagenlogische Tableaukalkül Geschichte • Beth (1955), Hintikka (1955) and Schütte (1956) • Analytic tableaus: Smullyan 1968 • Automatisches Beweisen/Mechanisierung: Kanger 1957, Prawitz 1960, Wang 1960, Davis 1960, Maslov 1968. • Weiterentwicklung/Verfeinerungen: Loveland 1968 (Model elimination), Kowalski, Kuehner 1971 (SL-resolution) Bibel 1975, Andrews 1976 ... 26 Der aussagenlogische Tableaukalkül Wesentliche Eigenschaften • Widerlegungskalkül: Testet auf Unerfüllbarkeit • Beweis durch Fallunterscheidung • Top-down-Analyse der gegebenen Formeln 27 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 28 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 Nachteile • Mehr als eine Regel 29 Formeltypen Konjunktive Formeln: Typ α • ¬¬F • F ∧G • ¬(F ∨ G ) • ¬(F → G ) 30 Formeltypen Konjunktive Formeln: Typ α • ¬¬F • F ∧G • ¬(F ∨ G ) • ¬(F → G ) Disjunktive Formeln: Typ β • ¬(F ∧ G ) • F ∨G • F →G 31 Formeltypen Konjunktive Formeln: Typ α • ¬¬F • F ∧G • ¬(F ∨ G ) • ¬(F → G ) Zuordnungsregeln Formeln / Unterformeln α F ∧G α1 α2 F G ¬F ¬G ¬(F → G ) F ¬G ¬¬F F ¬(F ∨ G ) 32 Formeltypen Disjunktive Formeln: Typ β • ¬(F ∧ G ) • F ∨G • F →G Zuordnungsregeln Formeln / Unterformeln β β1 β2 ¬(F ∧ G ) ¬F ¬G F G ¬F G F ∨G F →G 33 Regeln des (aussagenlogischen) Tableaukalküls α α1 α2 34 Regeln des (aussagenlogischen) Tableaukalküls α α1 α2 Konjunktiv p∧q | p | q 35 Regeln des (aussagenlogischen) Tableaukalküls p∧q | p | q α Konjunktiv α1 α2 β β1 | β2 p∨q Disjunktiv / p \ q 36 Regeln des (aussagenlogischen) Tableaukalküls p∧q | p | q α Konjunktiv α1 α2 β β1 | β2 p∨q Disjunktiv p φ ¬φ ⊥ / Widerspruch \ q φ ¬φ | ⊥ 37 Instanzen der α und β-Regel Instanzen der α-Regel P ∧Q ¬(P ∨ Q) ¬(P → Q) ¬¬P P ¬P P P Q ¬Q ¬Q 38 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 | Q ¬P | ¬Q ¬P | Q 39 Ein Tableau für {P ∧ ¬(Q ∨ ¬R), ¬Q ∨ ¬R} 1. P ∧ ¬(Q ∨ ¬R) 2. ¬Q ∨ ¬R PP PP 4. ¬R 3. ¬Q 5. P 10. P 6. ¬(Q ∨ ¬R) 11. ¬(Q ∨ ¬R) 7. ¬Q 8. ¬¬R 9. R Dieses Tableau ist nicht “maximal”, aber der erste “Ast” ist. Dieser Ast ist nicht “geschlossen” (enthält keinen Widerspruch), also ist die Menge {1, 2} erfüllbar. (Diese Begriffe werden auf den nächsten Seiten erklärt.) 40 Determinismus von Kalkül und Regeln Determinismus • Die Regeln sind alle deterministisch 41 Determinismus von Kalkül und Regeln Determinismus • Die Regeln sind alle deterministisch • Der Kalkül aber nicht: Auswahl der nächsten Formel, auf die eine Regel angewendet wird 42 Determinismus von Kalkül und Regeln Determinismus • Die Regeln sind alle deterministisch • Der Kalkül aber nicht: Auswahl der nächsten Formel, auf die eine Regel angewendet wird Heuristik • Nicht-verzweigende Regeln zuerst: α vor β 43 Determinismus von Kalkül und Regeln Determinismus • Die Regeln sind alle deterministisch • Der Kalkül aber nicht: Auswahl der nächsten Formel, auf die eine Regel angewendet wird Heuristik • Nicht-verzweigende Regeln zuerst: α vor β Nota bene: Dieselbe Formel kann mehrfach (auf verschiedenen Ästen) verwendet werden 44 Formale Definition des Kalküls Definition Tableau: Binärer Baum, dessen Knoten mit Formeln markiert sind 45 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) 46 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 47 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 48 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 ′ entstehe durch Erweiterung von B gemäß der auf F anwendbaren Regel (α oder β) 49 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 ′ entstehe durch Erweiterung von B gemäß der auf F anwendbaren Regel (α oder β) Dann ist T ′ ein Tableau für M. 50 Formale Definition des Kalküls Nota bene: Alle Äste in einem Tableau für M enthalten implizit alle Formeln in M 51 Formale Definition des Kalküls Definition. Ast B eines Tableaus für M ist geschlossen, wenn F , ¬F ∈ B ∪ M 52 Formale Definition des Kalküls Definition. Ast B eines Tableaus für M ist geschlossen, wenn F , ¬F ∈ B ∪ M Definition. Ein Tableau ist geschlossen, wenn jeder seiner Äste geschlossen ist. 53 Formale Definition des Kalküls Definition. Ast B eines Tableaus für M ist geschlossen, wenn F , ¬F ∈ B ∪ M Definition. Ein Tableau ist geschlossen, wenn jeder seiner Äste geschlossen ist. Definition. Ein Tableau für M, das geschlossen ist, ist ein Tableaubeweis für (die Unerfüllbarkeit von) M 54 Beispiel Zu zeigen: (P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S)) allgemeingültig 55 Beispiel Zu zeigen: (P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S)) allgemeingültig Wir zeigen, dass ¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))] unerfüllbar ist. 56 Beispiel 1. ¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))] 2. (P → (Q → R)) [11 ] 3. ¬((P ∨ S) → ((Q → R) ∨ S)) [12 ] 4. P ∨S [31 ] 5. ¬((Q → R) ∨ S)) [32 ] 6. ¬(Q → R) [51 ] 7. ¬S [52 ] hhhhh hhh 8. ¬P 9. [21 ] Q→R [22 ] XXXX X 10. P [41 ] 11. S [42 ] geschlossenes Tableau. 57 Klauseltableau M Menge von Klauseln 58 Klauseltableau M Menge von Klauseln Änderungen • Keine α-Regel • Erweiterungsregel kann Verzweigungsgrad > 2 haben • Alle Knoten im Tableau enthalten Literale 59 Klauseltableau: Beispiel M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} } 60 Klauseltableau: Beispiel M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} } ¬P 1. TTT i i i TTTT i i i i TT iii Q 61 Klauseltableau: Beispiel M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} } ¬P P u uuu 1. UUUU h h h h UUUU h h h h UU h hh Q JJ KKK w JJ w w w ¬Q P ¬Q 62 Klauseltableau: Beispiel M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} } P g 1. VVVVV g g g VVVV gg g g g VV gg Q LL ¬P K u K LL u u K u u u u u ¬Q ¬Q O P I p O I p s OO I p s s p s P Q R ¬P ¬Q 63 Klauseltableau: Beispiel M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} } P ⊥ 1. VVVV g g g g VVVV g g g g VVV gggg Q LL ¬P K u K LL u u K u u u u u ¬Q ¬Q P P I p P I p s PP p I s p s p s P Q R ¬P ¬Q ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ 64 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 65