laden - LS1 - Logik in der Informatik

Werbung
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
Herunterladen