Logik für Informatiker Wintersemester 2007/08 Thomas Schwentick Teil C: Nichtklassische Logiken 8. Modallogik - Erfüllbarkeit Version von: 4. Februar 2008(11:58) Inhalt 8.1 Ein Tableaukalkül für die Aussagenlogik 8.2 Ein Tableaukalkül für die Modallogik Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 1 Vorüberlegungen • Ziel in diesem Kapitel: • • Beweiskalkül und Erfüllbarkeitstest für die Modallogik Da die Modallogik als Erweiterung der Aussagenlogik aufgefasst werden kann, liegt es nahe, ein Verfahren für die Aussagenlogik geeignet für die Modallogik zu erweitern Welche Erfüllbarkeitstests kennen wir für AL-Formeln F ? Wahrheitstabelle 1. Berechne α(F ) für alle Belegungen α 2. Falls es ein α gibt mit α(F ) = 1, Ausgabe α 3. Andernfalls: Ausgabe „unerfüllbar“ Resolution 1. Wandle F in KNF und dann in eine Klauselmenge K um 2. Schließe K unter der Resolutionsregel ab: K ∪ {X} ∈ K, K 0 ∪ {¬X} ∈ K ⇒ K ∪ K0 ∈ K • 3. Falls dann ∅ ∈ K: Ausgabe „unerfüllbar“ 4. Andernfalls: Destilliere erfüllende Belegung aus den atomaren Formeln in K Aber: bei beiden Methoden ist nicht klar, wie sie für die Modallogik erweitert werden könnten Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 2 AL-Tableaukalkül: Beispiel für die Herangehensweise Beispiel • Ist (¬A ∧ ((B ∨ A) ∧ (B → A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B)) erfüllbar? • Die Formel ist erfüllbar, wenn eine der beiden Teilformeln erfüllbar ist (1) Ist ¬A ∧ ((B ∨ A) ∧ (B → A)) erfüllbar? – Dafür müssten die Formeln ¬A und ((B ∨ A) ∧ B → A) simultan erfüllbar sein – Dafür müssten ¬A, B ∨ A, und B → A simultan erfüllbar sein – Zwei Fälle: (1a) ¬A, B , und B → A simultan erfüllbar - zwei Unterfälle: (1bi) ¬A, B , und ¬B simultan erfüllbar: (1bii) ¬A, B , und A simultan erfüllbar: ¬A, A, und B → A simultan erfüllbar: (2) Backtracking: Ist (A ∧ ((¬A ∧ B) ∨ ¬B)) erfüllbar? – Sind A, (¬A ∧ B) ∨ ¬B simultan erfüllbar? Zwei Fälle: (2a) A, ¬A ∧ B simultan erfüllbar ∗ A, ¬A, und B simultan erfüllbar (2b) A, ¬B simultan erfüllbar: , (1b) • Diese Vorgehensweise ist ziemlich unübersichtlich • Tableaukalkül: Systematisches Vorgehen nach obiger Methode Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 3 AL-Tableaukalkül: Regeln • Ein aussagenlogisches Tableau ist ein Baum, dessen Knoten mit aussagenlogischen Formeln beschriftet sind • Ein Tableau für eine AL-Formel F in Negations-Normalform kann wie folgt konstruiert werden: – Zunächst wird die Wurzel des Baumes erzeugt und mit F beschriftet – Danach wird so lange eine der beiden folgenden Regeln angewendet, bis dies nicht mehr möglich ist: ∨-Regel: ∗ Wähle einen unmarkierten Knoten v mit einer Formel der Form F1 ∨ F2 ∗ Füge an jedes Blatt des Baumes unterhalb v (oder an v , falls v ein Blatt ist) zwei neue Knoten v1 und v2 als Kinder an, die mit F1 bzw. F2 beschriftet sind ∗ Markiere v ∧-Regel: ∗ Wähle einen unmarkierten Knoten v mit einer Formel der Form F1 ∧ F2 ∗ Füge an jedes Blatt des Baumes unterhalb v (oder an v , falls v ein Blatt ist) ein neues Kind v 0 an, das mit F1 beschriftet ist und an v 0 ein weiteres Kind v 00 , das mit F2 beschriftet ist ∗ Markiere v Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 4 AL-Tableaukalkül: Erstes Beispiel (¬A ∧ ((B ∨ A) ∧ (B → A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B))X ¬A ∧ ((B ∨ A) ∧ (B → A))X A ∧ ((¬A ∧ B) ∨ ¬B)X ¬A A (B ∨ A) ∧ (B → A)X (¬A ∧ B) ∨ ¬B X B ∨ AX ¬A ∧ B X B → AX ¬A B ¬B A A ¬B Logik für Inf. / Schwentick / WiSe 07/08 ¬B B A C: 8. Modallogik - Erfüllbarkeit Folie 5 AL-Tableaukalkül: Bedeutung • Ein Tableau heißt saturiert, wenn alle Knoten, die keine atomaren Formeln enthalten, markiert sind • Woran lässt sich an einem saturierten Tableau T zu F ablesen, ob F erfüllbar ist? • Dazu betrachten wir die Blätter von T : – Wir nennen ein Blatt v von T geschlossen, wenn auf dem Weg von v zur Wurzel eine Variable X und ihre Negation ¬X vorkommt ➞ Geschlossene Blätter entsprechen also widersprüchlichen Pfaden – Wir nennen ein Blatt offen, wenn es nicht geschlossen ist – Ein saturiertes Tableau heißt geschlossen, wenn alle seine Blätter geschlossen sind, andernfalls offen • Eine Formel F ist genau dann erfüllbar, wenn F ein saturiertes Tableau T mit mindestens einem offenen Blatt hat (Das werden wir noch beweisen!) • Und: wenn es ein solches Tableau für F gibt, so haben alle saturierten Tableaus für F ein offenes Blatt • Eine erfüllende Belegung für F lässt sich wie folgt konstruieren: – Wähle ein offenes Blatt v von T – Definiere eine Wahrheitsbelegung α so, dass sie alle atomaren Formeln auf dem Weg von v zur Wurzel wahr macht Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 6 AL-Tableaukalkül: Erstes Beispiel (Forts.) (¬A ∧ ((B ∨ A) ∧ (B → A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B)) ¬A ∧ ((B ∨ A) ∧ (B → A)) A ∧ ((¬A ∧ B) ∨ ¬B) ¬A A (B ∨ A) ∧ (B → A) (¬A ∧ B) ∨ ¬B B∨A ¬A ∧ B B→A B ¬B ¬A A A ¬B ¬B , B A • Erfüllende Belegung: A 7→ 1, B 7→ 0 Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 7 AL-Tableaukalkül: Korrektheit, Vollständigkeit, Termination Satz 8.1 (a) Für jede AL-Formel F erzeugt die Tableau-Methode nach endlich vielen Schritten ein saturiertes Tableau T der Tiefe ≤ |F | − 1 mit ≤ 2|F | Knoten (b) Ist F unerfüllbar, so ist jedes saturierte Tableau T zu F geschlossen (c) Ist F erfüllbar, so ist jedes saturierte Tableau T zu F offen und aus dem Pfad jedes offenen Blattes lässt sich unmittelbar eine erfüllende Belegung für F gewinnen • Bevor wir diesen Satz beweisen, führen wir noch etwas Notation ein • Sei F eine AL-Formel, T ein (saturiertes oder nicht saturiertes) Tableau zu F und v ein Knoten von T – Die Formel, mit der v beschriftet ist, bezeichnen wir durch Fv – Der Pfad Pv von v besteht aus allen Knoten auf dem Weg von v zur Wurzel des Baumes (einschließlich v und der Wurzel) – Ist α eine Belegung, so schreiben wir α(Pv ) = 1 („α erfüllt Pv “), wenn α(Fw) = 1 für alle Knoten w in Pv Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 8 Beweis von Satz 8.2 Beweis • Wir zeigen zunächst (a): jedes Tableau zu einer Formel F hat höchstens die Tiefe |F | − 1 und höchstens 2|F | Knoten • Klar: im Tableau zu F kommen nur Teilformeln von F vor • Und: jede Teilformel von F kommt auf jedem Pfad höchstens so oft vor, wie sie in F vorkommt ➨ Jeder Pfad hat höchstens so viele Knoten wie F Vorkommen von • • Teilformeln hat Erläuterung: Vorkommen von Teilformeln in (A ∧ B) ∨ (C → (A ∧ B)): B: 2 C: 1 – A: 2 – A ∧ B: 2 C → (A ∧ B): 1 – (A ∧ B) ∨ (C → (A ∧ B)): 1 – Zusammen: 9 Vorkommen von Teilformeln Durch Induktion leicht zu zeigen: die Anzahl der Vorkommen von Teilformeln von F in F ist ≤ |F | ➨ die Tiefe jedes Pfades ist ≤ |F | − 1 ➨ T hat höchstens 2|F | Knoten, da T binär ist • Die Tableau-Methode terminiert nach höchstens 2|F | Regelanwendungen Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 9 Beweis von Satz 8.2 (Forts.) Beweis (Forts.) Beweis (Forts.) • Wir zeigen nun (b): Ist F unerfüllbar, so ist jedes saturierte Tableau T zu F geschlossen • Sei also F unerfüllbar und T ein saturiertes Tableau für F • Annahme: T hat ein offenes Blatt v • Wir zeigen: dann ist F erfüllbar und wir • können schließen, dass die Annahme falsch war Zu v definieren wir eine Belegung α für die Variablen von F : α(X) =def 1 falls X in Pv vorkommt 0 andernfalls (im zweiten Fall kommt ¬X in Pv vor oder weder X noch ¬X ) • Behauptung: α(F ) = 1 • Dazu zeigen wir für alle Knoten w von Pv , • Induktionsanfang: w = v Klar, da Fw • eine atomare Formel ist Induktionsschritt: – Also: für alle Knoten u unterhalb von w und oberhalb von v gilt: α(Fu) = 1 – Wir unterscheiden 3 Fälle: 1. Fall: Fw ist atomar ∗ Dann ist α(Fw) = 1 nach Konstruktion von α 2. Fall: Fw = G1 ∧ G2 ➨ G1 und G2 kommen zwischen w und v vor und werden nach Induktion durch α wahr gemacht ➨ α(Fw) = 1 3. Fall: Fw = G1 ∨ G2 ➨ G1 oder G2 kommt zwischen w und v vor und wird nach Induktion durch α wahr gemacht ➨ α(Fw) = 1 durch Induktion nach der Entfernung von v , dass α(Fw) = 1 gilt Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 10 Beweis von Satz 8.2 (Forts.) Beweis (Forts.) Beweis (Forts.) • Jetzt zeigen wir (c): Ist F erfüllbar, so ist jedes saturierte Tableau T zu F offen • und aus dem Pfad jedes offenen Blattes lässt sich unmittelbar eine erfüllende Belegung für F gewinnen Wegen des Beweises zu (b) reicht es zu beweisen, dass für jedes Tableau T von F gilt: Ist α(F ) = 1, so gibt es ein Blatt v von T mit α(Pv ) = 1 (∗) (Induktion nach der Größe von T ) Sei also α eine erfüllende Belegung für F • • Induktionsanfang: T besteht nur aus F X • Induktionsschritt: – Sei T durch Anwendung einer Regel aus T 0 entstanden – Induktion: In T 0 gibt es ein Blatt w mit α(Pw) = 1 – Falls w auch ein Blatt von T ist: X – Andernfalls wurden an w neue Knoten angehängt Logik für Inf. / Schwentick / WiSe 07/08 Sei v der Knoten, auf den dabei eine Regel angewendet wurde 1. Fall: ∨-Regel ➨ v ist in Pw und Fv ist von der Form G1 ∨ G2 • Da α(Fv ) = 1 gilt, folgt: α(G1 ) = 1 oder α(G2 ) = 1 ➨ Für die Kinder v1 und v2 von w gilt: α(Fv1 ) = 1 oder α(Fv2 ) = 1 ➨ α(Pv1 ) = 1 oder α(Pv2 ) = 1 ➨ (∗) 2. Fall: ∧-Regel ➨ v ist in Pw und Fv ist von der Form G1 ∧ G2 • da α(Fv ) = 1 gilt: α(G1 ) = α(G2 ) = 1 ➨ Für das Kind v 0 und den Enkel v 00 von w gilt: α(Fv0 ) = α(Fv00 ) = 1 ➨ α(Pv00 ) = 1 ➨ (∗) C: 8. Modallogik - Erfüllbarkeit Folie 11 Inhalt 8.1 Ein Tableaukalkül für die Aussagenlogik 8.2 Ein Tableaukalkül für die Modallogik Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 12 Tableaukalkül für ML: Grundidee • Ist die Formel 33A ∧ 2(A → 2¬A) • erfüllbar? Wir können die ∧-Regel des AL-Tableaukalküls einmal anwenden: 33A ∧ 2(A → 2¬A)X 33A 2(A → 2¬A) • Aber wie soll es dann weiter gehen? • Um 33A wahr zu machen, muss es eine • • Welt geben, die in einem Schritt erreichbar ist und 3A erfüllt Idee: Wir ergänzen jeden Knoten des Tableaus um die Angabe einer Welt Knotenbeschriftungen sind also von der Form s, G (und die intendierte Bedeutung ist, dass G in s gilt) Logik für Inf. / Schwentick / WiSe 07/08 • Um die Modaloperatoren aufzulösen, erlauben wir das Hinzufügen neuer Welten: – Wenn wir einen mit s, 3G beschrifteten Knoten markieren, fügen wir ∗ einen mit (s, s0) ∈ E beschrifteten Knoten ein (für eine neue Welt s0 ) und ∗ darunter einen mit s0, G beschrifteten Knoten (Details folgen noch...) – Wenn wir einen mit s, 2G beschrifteten Knoten markieren, fügen wir, für jede Welt s0 , für die es auf dem Pfad einen mit (s, s0) ∈ E markierten Knoten gibt, einen mit s0 , G beschrifteten Knoten an (Details folgen noch...) C: 8. Modallogik - Erfüllbarkeit Folie 13 Tableaukalkül für ML: erstes Beispiel Beispiel Beispiel (Forts.) • Ist 33A ∧ 2(A → 2¬A) erfüllbar? • Also ist F erfüllbar: s1 , 33A ∧ 2(A → 2¬A)X s1 s1 , 33AX s1 , 2(A → 2¬A)X s2 (s1 , s2 ) ∈ E X s2 , 3AX s3 A (s2 , s3 ) ∈ E X s3 , A s2 , ¬A ∨ 2¬AX s2 , ¬A , s2 , 2¬AX s3 , ¬A Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 14 Tableaukalkül für ML: zweites Beispiel Beispiel s1 , 3A ∧ 3(A → B) ∧ 2¬B X s1 , 3AX s1 , 3(A → B)X s1 , 2¬B X (s1 , s2 ) ∈ E • Also: – Sei w ein Knoten mit Beschriftung s, 3G, der markiert wird und sei v ein mit (s, t) ∈ E beschrifteter Knoten, der dabei neu eingefügt wird – Dann muss für jeden schon markierten Knoten mit Beschriftung s, 2G0 in Pv ein mit t, G beschrifteter Knoten unterhalb v eingefügt werden s2 , A s2 , ¬B (s1 , s3 ) ∈ E s3 , ¬A ∨ B X s3 , ¬B s3 , ¬A , s3 , B Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 15 Modallogischer Tableaukalkül: Definition • Der modallogische Tableaukalkül entsteht aus dem aussagenlogische Tableaukalkül durch folgenden Ergänzungen: – Jeder Knoten des Tableaus wird durch ein Paar si, G beschriftet – Knoten, die mit einer Formel der Typen 2-Regel: • Wähle einen unmarkierten Knoten v mit einer Formel der Form si, 2G • Füge an jedes Blatt w des Baumes unterhalb v (oder an v , falls v ein Blatt ist) für jede Welt sj , für die (si, sj ) ∈ E in Pw vorkommt, einen neuen Knoten sj , G an (die dadurch entstehenden Knoten unterhalb von v bilden einen Weg) ∗ si , X 3-Regel: ∗ si, ¬X • Wähle einen unmarkierten Knoten v mit einer ∗ si, F1 ∨ F2 Formel der Form si, 3G ∗ si, F1 ∧ F2 • Wähle j so, dass sj noch nicht in T vorkommt beschriftet sind, werden wie im und füge an jedes Blatt w des Baumes unterhalb v (oder an v , falls v ein Blatt ist) AL-Tableaukalkül behandelt und – einen neuen markierten Knoten mit die dabei eventuell neu eingefügten Beschriftung (si, sj ) ∈ E und haben ebenfalls die Welt si – darunter einen neuen Knoten mit – Die Wurzel wird mit s1 , F Beschriftung sj , G an beschriftet • Füge außerdem für jeden schon markierten und mit si, 2G0 beschrifteten Knoten in Pw einen Knoten sj , G0 unterhalb von w an Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 16 Tableaukalkül für ML: drittes Beispiel • Mit dem modallogischen Tableaukalkül s1 , 2(A → B) ∧ 3A ∧ 2¬B X lassen sich natürlich auch modallogische Äquivalenzen und Folgerungen testen s1 , 2(A → B)X • Als Beispiel betrachten wir die Aussage: aus 2(F1 → F2 ) folgt 3F1 → 3F2 • Da für die Modallogik auch ein s1 , 3AX s1 , 2¬B X Substitutionslemma (entsprechend zu AL) gilt, genügt es zu zeigen, dass die Formel (s1 , s2 ) ∈ E 2(A → B) → (3A → 3B) s2 , A eine Tautologie ist • Dazu zeigen wir, dass ihre Negation F = ¬[2(A → B) → (3A → 3B)] s2 , ¬B unerfüllbar ist s2 , ¬A ∨ B X • Dazu bringen wir F zunächst in Negations-Normalform s2 , ¬A 2(A → B) ∧ 3A ∧ 2¬B s2 , B und wenden den Tableaukalkül an • Also ist F unerfüllbar und die Folgerung bewiesen Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 17 ML-Tableaukalkül: Korrektheit, Vollständigkeit, Termination • Die Analyse des ML-Tableaukalküls ist sehr ähnlich zur Analyse • • des AL-Tableaukalküls Ein Blatt v ist geschlossen, falls in Pv zwei Knoten si, X und si, ¬X vorkommen Die restlichen Begriffe sind analog wie für AL Satz 8.2 (a) Für jede ML-Formel F erzeugt die Tableau-Methode nach endlich vielen Schritten ein saturiertes Tableau T der Tiefe O(|F |2 ) mit 2 2O(|F | ) Knoten (b) Ist F unerfüllbar, so ist jedes saturierte Tableau T zu F geschlossen (c) Ist F erfüllbar, so ist jedes saturierte Tableau T zu F offen und aus dem Pfad jedes offenen Blattes lässt sich unmittelbar eine erfüllende Belegung für F gewinnen • Wie schon gesagt: Das Problem, die Erfüllbarkeit einer ML-Formel zu testen, ist vollständig für die Komplexitätsklasse PSPACE Logik für Inf. / Schwentick / WiSe 07/08 C: 8. Modallogik - Erfüllbarkeit Folie 18