Logik für Informatiker

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