Vorlesung “Logik” Wintersemester 2016/17 Universität Duisburg

Werbung
Aussagenlogik
Prädikatenlogik
Vorlesung “Logik”
Wintersemester 2016/17
Universität Duisburg-Essen
Barbara König
Übungsleitung: Dennis Nolte, Harsh Beohar
Barbara König
Logik
1
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Menge: Menge X von Elementen, wird beschrieben als Aufzählung
X = {A1 , A2 , A3 , A7 }
oder als Menge von Elementen mit einer bestimmten Eigenschaft
X = {Ai | i ∈ N, 1 ≤ i ≤ 3 oder i = 7}.
Barbara König
Logik
35
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Bemerkungen:
Die Elemente einer Menge sind ungeordnet, d.h., ihre
Ordnung spielt keine Rolle. Beispielsweise gilt:
{1, 2, 3} = {1, 3, 2} = {2, 1, 3} = {2, 3, 1} = {3, 1, 2} = {3, 2, 1}
Ein Element kann nicht “mehrfach” in einer Menge auftreten.
Es ist entweder in der Menge, oder es ist nicht in der Menge.
Beispielsweise gilt:
{1, 2, 3} =
6 {1, 2, 3, 4} = {1, 2, 3, 4, 4}
Barbara König
Logik
36
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Element einer Menge: Wir schreiben x ∈ X , falls ein Element x in
der Menge X enthalten ist.
Teilmengenbeziehung: Für zwei Mengen X , Y schreiben wir
X ⊆ Y , falls jedes Element von X auch in Y enthalten ist. Die
Relation ⊆ heißt auch Inklusion.
Leere Menge: Mit ∅ oder {} bezeichnet man die leere Menge. Sie
enthält keine Elemente und ist Teilmenge jeder anderen Menge.
Barbara König
Logik
37
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Kreuzprodukt (kartesisches Produkt)
Seien X , Y zwei Mengen. Die Menge X × Y ist die Menge aller
Paare (x, y ), wobei die erste Komponente des Paars aus X , die
zweite aus Y kommt.
X × Y = {(x, y ) | x ∈ X , y ∈ Y }
Beispiel:
{1, 2} × {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}
Barbara König
Logik
38
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Relation zwischen der Menge X und der Menge Y
Eine Teilmenge R ⊆ X × Y des Kreuzprodukts von X und Y heißt
Relation zwischen X und Y .
Beispiel:
X = {1, 2, 3} Y = {a, b, c, d}
R = {(1, a), (1, b), (2, b), (3, d)} ⊆ X × Y
Barbara König
Logik
39
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Funktion von der Menge X in die Menge Y
Eine Relation f ⊆ X × Y heißt Funktion, wenn folgendes gilt:
für jedes Element x ∈ X gibt es genau ein Element y ∈ Y mit
(x, y ) ∈ f .
Anschaulich: jedem Element der Menge X wird genau ein Element
der Menge Y zugeordnet.
Barbara König
Logik
40
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Notation von Funktionen
f:X
x
→ Y
7→ f (x)
Die Funktion f bildet ein Element x ∈ X auf ein Element f (x) ∈ Y
ab. Dabei ist X der Definitionsbereich und Y der Wertebereich von
f.
Beispiel:
f : {A1 , A2 , A3 , A7 } → {0, 1}
A1 7→ 0, A2 7→ 1, A3 7→ 0, A7 7→ 1
alternativ: f (A1 ) = 0, f (A2 ) = 1, f (A3 ) = 0, f (A7 ) = 1
Barbara König
Logik
41
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Syntax der Aussagenlogik
Eine atomare Formel hat die Form Ai (wobei i = 1, 2, 3, . . .).
Definition (Formel)
Formeln werden durch folgenden induktiven Prozess definiert:
1
Alle atomaren Formeln sind Formeln
2
Für alle Formeln F und G sind (F ∧ G ) und (F ∨ G ) Formeln.
3
Für jede Formel F ist ¬F eine Formel.
Sprechweise:
(F ∧ G ): “F und G , “Konjunktion von F und G ”
(F ∨ G ): “F oder G ”, “Disjunktion von F und G ”
¬F : “nicht F ”, “Negation von F ”
Barbara König
Logik
42
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Formel als Syntaxbaum
Jede Formel kann auch durch einen Syntaxbaum dargestellt
werden.
Beispiel: F = ¬((¬A4 ∨ A1 ) ∧ A3 )
¬
∧
∨
¬
A3
A1
A4
Barbara König
Logik
43
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Teilformel
Die Teilformeln einer Formel F entsprechen dann den Teilbäumen.
¬
¬
¬
∧
∧
∧
∨
A4
¬
∨
A3
A1
A1
¬
A4
∨
A3
A3
A1
A4
¬
∧
∧
∨
¬
A3
A1
A4
¬
¬A4
¬
∨
A3
A1
(¬A4 ∨ A1 )
¬
A3
A1
A4
A4
¬
¬
∧
∨
((¬A4 ∨ A1 ) ∧ A3 )
¬
∧
∨
A3
A1
¬((¬A4 ∨ A1 ) ∧ A3 )
A4
Barbara König
¬
A3
A1
A4
Logik
44
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Semantik der Aussagenlogik (I)
Die Elemente der Menge {0, 1} heißen Wahrheitswerte.
Eine Belegung ist eine Funktion A : D → {0, 1}, wobei D eine
Teilmenge der atomaren Formeln ist.
Wir erweitern A zu einer Funktion  : E → {0, 1}, wobei E ⊇ D
die Menge aller Formeln ist, die nur aus den atomaren Formeln in
D aufgebaut sind.
Barbara König
Logik
45
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Semantik der Aussagenlogik (II)
Â(A) = A(A)
1
Â((F ∧ G )) =
0
1
Â((F ∨ G )) =
0
1
Â((¬F )) =
0
falls A ∈ D eine atomare Formel ist
falls Â(F ) = 1 und Â(G ) = 1
sonst
falls Â(F ) = 1 oder Â(G ) = 1
sonst
falls Â(F ) = 0
sonst
Wir schreiben A statt Â.
Barbara König
Logik
46
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Verknüpfungstafeln (I)
Berechnung von  mit Hilfe von Verknüpfungstafeln, auch
Wahrheitstafeln genannt.
Beobachtung: Der Wert Â(F ) hängt nur davon ab, wie A auf den
den in F vorkommenden atomaren Formeln definiert ist.
Tafeln für die Operatoren ∨, ∧, ¬:
A
0
0
1
1
B
0
1
0
1
A
0
0
1
1
∨
0
1
1
1
B
0
1
0
1
A
0
0
1
1
B
0
1
0
1
Barbara König
A
0
0
1
1
Logik
∧
0
0
0
1
B
0
1
0
1
A
0
1
¬
1
0
A
0
1
47
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Abkürzungen
A, B, C oder P, Q, R oder . . .
(F1 → F2 )
(F1 ↔ F2 )
n
_
( Fi )
(
i=1
n
^
Fi )
statt
A1 , A2 , A3 . . .
statt
statt
(¬F1 ∨ F2 )
((F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 ))
statt
(. . . ((F1 ∨ F2 ) ∨ F3 ) ∨ . . . ∨ Fn )
statt
(. . . ((F1 ∧ F2 ) ∧ F3 ) ∧ . . . ∧ Fn )
i=1
Barbara König
Logik
48
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Verknüpfungstafeln (II)
Tafeln für die Operatoren →, ↔:
A
0
0
1
1
B
0
1
0
1
A
0
0
1
1
→
1
1
0
1
A
0
0
1
1
B
0
1
0
1
B
0
1
0
1
A
0
0
1
1
↔
1
0
0
1
B
0
1
0
1
Name: Implikation, Folgerung
Name: Äquivalenz, Biimplikation
Interpretation: Wenn A gilt,
dann muss auch B gelten.
Interpretation: A gilt genau dann,
wenn B gilt.
Barbara König
Logik
49
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Präzedenzen
Präzedenz der Operatoren:
↔
→
∨
∧
¬
bindet am schwächsten
...
...
...
bindet am stärksten
Die Formel
A ↔ B ∨ ¬C → D ∧ ¬E
wird also wie folgt gelesen:
(A ↔ ((B ∨ ¬C ) → (D ∧ ¬E )))
Dennoch: Zusätzliche Klammern schaden im allgemeinen nicht
Barbara König
Logik
50
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Formalisierung natürlicher Sprache (I)
Ein Gerät besteht aus einem Bauteil A, einem Bauteil B und einem
roten Licht. Folgendes ist bekannt:
Bauteil A oder Bauteil B (oder beide) sind kaputt.
Wenn Bauteil A kaputt ist, dann ist auch Bauteil B kaputt.
Wenn Bauteil B kaputt ist und das rote Licht leuchtet, dann
ist Bauteil A nicht kaputt.
Das rote Licht leuchtet.
Formalisieren Sie diese Situation als aussagenlogische Formel und
stellen Sie die Wahrheitstafel zu dieser Formel auf. Verwenden Sie
dazu folgende atomare Formeln: RL (rotes Licht leuchtet), AK
(Bauteil A kaputt), BK (Bauteil B kaputt)
Barbara König
Logik
51
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Formalisierung natürlicher Sprache (II)
Gesamte Wahrheitstafel:
RL
0
0
0
0
1
1
1
1
AK
0
0
1
1
0
0
1
1
BK
0
1
0
1
0
1
0
1
(((AK ∨ BK ) ∧ (AK → BK )) ∧
((BK ∧ RL) → ¬AK )) ∧ RL
0
0
0
0
0
1
0
0
Barbara König
Logik
52
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Modelle
Sei F eine Formel und A eine Belegung.
Falls A für alle in F vorkommenden atomaren Formeln definiert ist,
so heißt A zu F passend.
Sei A passend zu F :
Falls A(F ) = 1
so schreiben wir
und sagen
oder
A |= F
F gilt unter A
A ist ein Modell für F
Falls A(F ) = 0
so schreiben wir
und sagen
oder
A 6|= F
F gilt nicht unter A
A ist kein Modell für F
Barbara König
Logik
53
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Gültigkeit und Erfüllbarkeit
Definition (Erfüllbarkeit)
Eine Formel F heißt erfüllbar, falls F mindestens ein Modell
besitzt, andernfalls heißt F unerfüllbar.
Eine (endliche oder unendliche!) Menge von Formeln M heißt
erfüllbar, falls es eine Belegung gibt, die für jede Formel in M ein
Modell ist. (In diesem Fall sagt man auch, die Belegung ist ein
Modell für die Menge M.)
Definition (Gültigkeit)
Eine Formel F heißt gültig (oder allgemeingültig oder Tautologie)
falls jede zu F passende Belegung ein Modell für F ist. Wir
schreiben |= F , falls F gültig ist, und 6|= F sonst.
Barbara König
Logik
54
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aufgabe
Gültig
Erfüllbar
Unerfüllbar
A
A∨B
A ∨ ¬A
A ∧ ¬A
A → ¬A
A→B
A → (B → A)
A → (A → B)
A ↔ ¬A
Barbara König
Logik
55
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aufgabe
Gelten die folgenden Aussagen?
J/N
Wenn
Wenn
Wenn
Wenn
F
F
F
F
gültig,
erfüllbar,
gültig,
unerfüllbar,
dann
dann
dann
dann
Barbara König
Gegenb.
F erfüllbar
¬F unerfüllbar
¬F unerfüllbar
¬F gültig
Logik
56
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Spiegelungsprinzip
gültige
Formeln
erfüllbare, aber
nicht gültige
Formeln
F
unerfüllbare
Formeln
¬F
¬G
G
Barbara König
Logik
57
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Ein Gültigkeitstest
Wie kann man überprüfen, ob eine Formel F gültig (erfüllbar,
unerfüllbar) ist?
Eine Möglichkeit: Wahrheitstafel aufstellen
Angenommen, die Formel F enthält n verschiedene atomare
Formeln. Wie groß ist die Wahrheitstafel?
Anzahl Zeilen in der Wahrheitstafel: 2n
Geht es auch effizienter? Diese Frage wird im Laufe der Vorlesung
beantwortet.
Barbara König
Logik
58
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Folgerung
Definition (Folgerung)
Eine Formel G heißt eine Folgerung der Formeln F1 , . . . , Fk falls
für jede Belegung A, die sowohl zu F1 , . . . , Fk als auch zu G
passend ist, gilt:
Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch
Modell von G .
Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von
F1 , . . . , Fk ist.
Barbara König
Logik
59
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Folgerung: Beispiel
(AK ∨ BK ), (AK → BK ),
((BK ∧ RL) → ¬AK ), RL |= RL ∧ ¬AK ∧ BK
Wenn Bauteil A oder Bauteil B kaputt ist und daraus, dass
Bauteil A kaputt ist, immer folgt, dass Bauteil B kaputt ist und . . .
. . . dann kann man die Folgerung ziehen: das rote Licht leuchtet,
Bauteil A ist nicht kaputt und Bauteil B ist kaputt.
Barbara König
Logik
60
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aufgabe
M
A
A
A, B
A, B
(A ∧ B)
(A ∨ B)
A, (A → B)
F
(A ∨ B)
(A ∧ B)
(A ∨ B)
(A ∧ B)
A
A
B
Barbara König
Logik
Gilt M |= F ?
61
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Folgerung, Gültigkeit und Unerfüllbarkeit
Zeigen Sie, dass folgende Aussagen äquivalent sind:
1
2
3
F1 , . . . , Fk |= G , d.h., G ist eine Folgerung von F1 , . . . , Fk .
V
(( ki=1 Fi ) → G ) ist gültig.
V
(( ki=1 Fi ) ∧ ¬G ) ist unerfüllbar.
Barbara König
Logik
62
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenz
(Semantische) Äquivalenz
Zwei Formeln F und G heißen (semantisch) äquivalent, falls für
alle Belegungen A, die sowohl für F als auch für G passend sind,
A(F ) = A(G ) gilt. Hierfür schreiben wir F ≡ G .
Barbara König
Logik
63
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aufgabe
Gelten die folgenden Äquivalenzen?
(A ∧ (A ∨ B)) ≡ A
¬(A ∨ B) ≡ (¬A ∧ ¬B)
(A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ C )
(A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ (A ∧ C ))
Barbara König
Logik
64
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Die Hauptprobleme
Modellprüfung
Sei F eine Formel und sei A eine passende Belegung. Gilt
A(F ) = 1?
Erfüllbarkeit
Sei F eine Formel. Ist F erfüllbar?
Gültigkeit
Sei F eine Formel. Ist F gültig?
Folgerung
Seien F und G Formeln. Gilt F |= G ?
Äquivalenz
Seien F und G Formeln. Gilt F ≡ G ?
Barbara König
Logik
65
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Reduktion von Problemen (I)
Welche Probleme lassen sich auf welche reduzieren?
Gültigkeit ⇐⇒ (Nicht)Erfüllbarkeit:
F gültig gdw. ¬F nicht erfüllbar
F erfüllbar gdw. ¬F nicht gültig
Gültigkeit =⇒ Folgerung:
F gültig
gdw.
T |= F
(T ist beliebige gültige Formel)
Folgerung =⇒ Gültigkeit:
F |= G
gdw.
Barbara König
F → G gültig
Logik
66
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Reduktion von Problemen (II)
Unerfüllbarkeit =⇒ Folgerung:
F unerfüllbar gdw. F |= U
(U ist beliebige unerfüllbare Formel)
Folgerung =⇒ Unerfüllbarkeit:
F |= G
gdw.
Barbara König
F ∧ ¬G unerfüllbar
Logik
67
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Reduktion von Problemen (III)
Gültigkeit =⇒ Äquivalenz:
F gültig
gdw.
F ≡T
(T ist beliebige gültige Formel)
Äquivalenz =⇒ Gültigkeit:
F ≡G
gdw.
F ↔ G gültig
Bemerkung: Eine gültige Formel bezeichnet man manchmal auch
mit 1, eine unerfüllbare Formel mit 0.
Barbara König
Logik
68
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Eigenschaften der Äquivalenz
Wir betrachten nun wieder die Äquivalenz auf Formeln. Sie hat
folgende Eigenschaften:
reflexiv: Es gilt F ≡ F für jede Formel F (jede Formel ist zu
sich selbst äquivalent)
symmetrisch: Falls F ≡ G gilt, so gilt auch G ≡ F
transitiv: Falls F ≡ G und G ≡ H gilt, so gilt auch F ≡ H
abgeschlossen unter Operatoren: Falls F1 ≡ F2 und G1 ≡ G2 gilt,
so gilt auch (F1 ∧ G1 ) ≡ (F2 ∧ G2 ),
(F1 ∨ G1 ) ≡ (F2 ∨ G2 ) und ¬F1 ≡ ¬F2 .
Reflexive, symmetrische, transitive Relation
Äquivalenzrelation
Äquivalenzrelation + Abgeschlossenheit unter
Operatoren
Kongruenzrelation
Barbara König
Logik
69
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Ersetzbarkeitstheorem
Die Abgeschlossenheit unter Operatoren lässt sich auch
folgendermaßen formulieren:
Satz (Ersetzbarkeitstheorem)
Seien F und G äquivalente Formeln (F ≡ G ). Sei H eine Formel
mit (mindestens) einem Vorkommen der Teilformel F . Dann ist H
äquivalent zu H 0 (d.h. H ≡ H 0 ), wobei H 0 aus H hervorgeht, indem
(irgend)ein Vorkommen von F in H durch G ersetzt wird.
Barbara König
Logik
70
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenzen (I)
Satz
Es gelten die folgenden Äquivalenzen:
(F ∧ F )
(F ∨ F )
≡
≡
F
F
(F ∧ G )
(F ∨ G )
≡
≡
(G ∧ F )
(G ∨ F )
((F ∧ G ) ∧ H)
((F ∨ G ) ∨ H)
≡
≡
(F ∧ (G ∧ H))
(F ∨ (G ∨ H))
(F ∧ (F ∨ G ))
(F ∨ (F ∧ G ))
≡
≡
F
F
Barbara König
(Idempotenz)
(Kommutativität)
(Assoziativität)
(Absorption)
Logik
71
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenzen (II)
(F ∧ (G ∨ H))
(F ∨ (G ∧ H))
≡
≡
((F ∧ G ) ∨ (F ∧ H))
((F ∨ G ) ∧ (F ∨ H))
¬¬F
≡
F
¬(F ∧ G )
¬(F ∨ G )
≡
≡
(¬F ∨ ¬G )
(¬F ∧ ¬G )
(F ∨ G )
(F ∧ G )
≡
≡
F , falls F gültig
G , falls F gültig
(F ∨ G )
(F ∧ G )
≡
≡
G , falls F unerfüllbar
F , falls F unerfüllbar
Barbara König
(Distributivität)
(Doppelnegation)
(de Morgansche
Regeln)
Logik
(Tautologieregeln)
(Unerfüllbarkeitsregeln)
72
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenzen
Die Tautologie- und Unerfüllbarkeitsregeln können auch
folgendermaßen geschrieben werden:
(1 ∨ G )
(1 ∧ G )
≡
≡
1
G
(Tautologieregeln)
(0 ∨ G )
(0 ∧ G )
≡
≡
G
0
(Unerfüllbarkeitsregeln)
Daraus folgt unter anderem, dass 1 (= gültige Formel) das
neutrale Element der Konjunktion und 0 (= unerfüllbare Formel)
das neutrale Element der Disjunktion ist.
Barbara König
Logik
73
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Gültigkeits- und Erfüllbarkeitstests mit limboole
limboole – http://fmv.jku.at/limboole/
limboole ist ein Tool, mit dem Gültigkeits- und
Erfüllbarkeitstests für aussagenlogische Formeln durchgeführt
werden können.
Dieses Tool basiert auf einer Kombination des
Davis-Putnam-Verfahrens zusammen mit Boolean Constraint
Propagation. (Genau dieses Verfahren wird in der Vorlesung
nicht vorgestellt, jedoch andere mögliche Verfahren.)
Anders als andere Werkzeuge konvertiert limboole selbst die
Eingabe in (konjunktive) Normalform.
Es gibt noch zahlreiche andere Tools dieser Art, die
normalerweise als SAT-Solver bezeichnet werden. Einige
davon sind inzwischen auch effizienter als limboole.
Barbara König
Logik
74
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Gültigkeits- und Erfüllbarkeitstests mit limboole
Eingabeformat für limboole
Aussagenlogik
↔
→
∨
∧
¬
limboole
<->
->
|
&
!
limboole kann für eine Formel F sowohl überprüfen,
ob sie gültig (valid) oder nicht gültig (invalid) ist als auch
ob sie erfüllbar (satisfiable) oder unerfüllbar (unsatisfiable) ist.
Bei einer nicht-gültigen Formel F wird eine Belegung A mit
A(F ) = 0 ausgegeben, bei einer erfüllbaren Formel eine Belegung
A mit A(F ) = 1.
Barbara König
Logik
75
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Diagnose
Um zu zeigen, dass
F
z
}|
{
(AK ∨ BK ), (AK → BK ), ((BK ∧ RL) → ¬AK ), RL
|= RL
| ∧ ¬AK
{z ∧ BK}
G
gilt, überprüfen wir, ob F → G gültig ist. Diese Formel sieht in
limboole-Syntax folgendermaßen aus:
((AK | BK) & (AK -> BK) & ((BK & RL) -> !AK) & RL)
-> (!AK & BK & RL)
Barbara König
Logik
76
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Aufgabe: Gegeben sind zwei Schaltkreise. Überprüfen Sie, ob diese
Schaltkreise äquivalent sind, in dem Sinne, dass sie bei gleicher
Eingabe die gleichen Ausgaben liefern.
Diese Überprüfung soll mit Hilfe von limboole durchgeführt
werden und nutzt die Tatsache, dass
F ≡ G gdw. F ↔ G gültig ist.
Barbara König
Logik
77
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Schaltkreis 1:
X1
∧
∨
Y1
Nor
∧
X2
∧
∨
Y2
Nor
Barbara König
Logik
78
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Schaltkreis 2:
X1
∧
Y1
¬
∧
¬
∨
X2
∧
¬
∧
Y2
Barbara König
Logik
79
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Formel S1 für Schaltkreis 1 (in limboole-Syntax)
(((X1 & Y1) | !(X1 | Y1)) & ((X2 & Y2) | !(X2 | Y2))
Formel S2 für Schaltkreis 1 (in limboole-Syntax)
(X1 & Y2 & X2 & Y1) | (X2 & Y2 & !X1 & !Y1) |
(X1 & Y1 & !X2 & Y2) | (!X2 & !X1 & !Y1 & Y2)
Barbara König
Logik
80
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Mit Hilfe von limboole lässt sich feststellen, dass die Formel
S1 ↔ S2 nicht gültig ist, das heißt die Schaltkreise sind nicht
äquivalent.
Zusatzaufgabe: wie kann man mit Hilfe von limboole überprüfen,
auf welchen Eingaben sich die beiden Schaltkreise unterscheiden?
Barbara König
Logik
81
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Normalformen (I)
Definition (Normalformen)
Ein Literal ist eine atomare Formel oder die Negation einer
atomaren Formel. (Im ersten Fall sprechen wir von einem positiven,
im zweiten Fall von einem negativen Literal).
Eine Formel F ist in konjunktiver Normalform (KNF), falls sie eine
Konjunktion von Disjunktionen von Literalen ist:
F =(
n m
V
Wi
( Li,j )),
i=1 j=1
wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · }
Eine Disjunktion von Literalen nennt man auch Klausel. Eine
Formel in KNF besteht also aus einer Konjunktion von Klauseln.
Barbara König
Logik
82
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Normalformen (II)
Eine Formel F ist in disjunktiver Normalform (DNF), falls sie eine
Disjunktion von Konjunktionen von Literalen ist:
F =(
n m
W
Vi
( Li,j )),
i=1 j=1
wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · }
Barbara König
Logik
83
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Umformungsmethode (in KNF)
Gegeben: eine Formel F , die in eine äquivalente Formel in KNF
umgeformt wird.
1 Ersetze in F jedes Vorkommen einer Teilformel der Bauart
2
¬¬G
durch
G
¬(G ∧ H)
durch
(¬G ∨ ¬H)
¬(G ∨ H)
durch
(¬G ∧ ¬H)
bis keine derartige Teilformel mehr vorkommt.
Ersetze jedes Vorkommen einer Teilformel der Bauart
(F ∨ (G ∧ H))
durch
((F ∨ G ) ∧ (F ∨ H))
((F ∧ G ) ∨ H)
durch
((F ∨ H) ∧ (G ∨ H))
bis keine derartige Teilformel mehr vorkommt.
Barbara König
Logik
84
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Umformungsmethode (in KNF)
Aufwand der Umformungsmethode
Bei der Umwandlung einer Formel in KNF kann die Formel
exponentiell größer werden.
Beispiel: F = (A1 ∧ B1 ) ∨ (A2 ∧ B2 ) ∨ · · · ∨ (An ∧ Bn )
(bestehend aus n Konjunktionen).
Bei Umwandlung in KNF ergeben sich durch das Distributivgesetz
2n Disjunktionen, da jede Kombination von Literalen (eines aus
jeder Konjunktion) eine neue Disjunktion ergibt.
F
≡ (A1 ∨ A2 ∨ · · · ∨ An )
∧ (B1 ∨ A2 ∨ · · · ∨ An )
∧ (A1 ∨ B2 ∨ · · · ∨ An )
∧ ...
Barbara König
Logik
85
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengendarstellung in KNF
Klausel: Menge von Literalen (Disjunktion).
{A, B} stellt (A ∨ B) dar.
Formel in KNF: Menge von Klauseln (Konjunktion).
{{A, B}, {¬A, B}} stellt ((A ∨ B) ∧ (¬A ∨ B)) dar.
Die leere Klausel ist äquivalent zu einer unerfüllbaren Formel (0).
Die leere Formel ist äquivalent zu einer gültigen Formel (1).
Barbara König
Logik
86
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Ablesen von DNF und KNF aus Wahrheitstafel
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
1
0
0
0
1
0
0
1
DNF: Aus jeder Zeile mit Wahrheitswert 1
wird eine Konjunktion, aus einer 0 in der
Spalte A wird ¬A, aus einer 1 wird A
(¬A ∧ ¬B ∧ ¬C )
∨ (A ∧ ¬B ∧ ¬C ) ∨ (A ∧ B ∧ C )
KNF: Aus jeder Zeile mit Wahrheitswert 0
wird eine Disjunktion, aus einer 0 in der
Spalte A wird A, aus einer 1 wird ¬A
(A ∨ B ∨ ¬C ) ∧ (A ∨ ¬B ∨ C )
∧ (A ∨ ¬B ∨ ¬C ) ∧ (¬A ∨ B ∨ ¬C )
∧ (¬A ∨ ¬B ∨ C )
Barbara König
Logik
87
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Für Formeln in DNF gibt es einen einfachen Erfüllbarkeitstest.
Erfüllbarkeitstest für Formeln in DNF
Eine Formel in disjunktiver Normalform ist erfüllbar, genau dann
wenn sie eine Konjunktion (L1 ∧ · · · ∧ Ln ) enthält, in der jedes
Literal entweder nur positiv oder nur negativ vorkommt. Das heißt,
es gibt keine atomare Formel A, die sowohl als A als auch als ¬A
in dieser Konjunktion vorkommt.
Beispiele:
(A ∧ B ∧ ¬C ) ∨ (¬A ∧ ¬B) ∨ (B ∧ ¬B)
ist erfüllbar, beispielsweise mit der Belegung A(A) = 1,
A(B) = 1, A(C ) = 0.
(A ∧ B ∧ ¬A) ∨ (¬A ∧ ¬B ∧ A ∧ B ∧ C ) ∨ (B ∧ ¬B)
ist nicht erfüllbar (= unerfüllbar).
Barbara König
Logik
88
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Für Formeln in KNF gibt es einen einfachen Gültigkeitstest.
Gültigkeitstest für Formeln in KNF
Eine Formel in konjunktiver Normalform ist gültig, genau dann
wenn es in jeder vorkommenden Disjunktion (L1 ∨ · · · ∨ Ln ) ein
Literal gibt, das sowohl positiv als auch negativ vorkommt. Das
heißt, es gibt in jeder Disjunktion eine atomare Formel A, die
sowohl als A als auch als ¬A vorkommt.
Beispiele:
(A ∨ B ∨ ¬C ) ∧ (¬A ∨ ¬B) ∧ (B ∨ ¬B)
ist nicht gültig, beispielsweise erhält man 0 bei Auswertung
unter der Belegung A(A) = 0, A(B) = 0, A(C ) = 1.
(A ∨ B ∨ ¬A) ∧ (¬A ∨ ¬B ∨ A ∨ B ∨ C ) ∧ (B ∨ ¬B)
ist gültig.
Barbara König
Logik
89
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Aufwand der Tests:
Diese einfachen Erfüllbarkeits- bzw. Gültigkeitstests können
durchgeführt werden, indem man einmal die Formel
durchläuft. Das heißt, man benötigt nur lineare Zeit.
Trotzdem erhält man dadurch keinen einfachen
Erfüllbarkeitstest für Formeln in KNF und keinen einfachen
Gültigkeitstest für Formeln in DNF.
Dazu müsste man eine Formel in KNF erst in DNF
umwandeln (oder umgekehrt), was exponentielle Zeit in
Anspruch nehmen kann.
Barbara König
Logik
90
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Das Problem, die Erfüllbarkeit einer beliebigen Formel (oder einer
Formel in KNF) zu bestimmen ist auch als SAT-Problem
(Satisfiability-Problem) bekannt.
SAT ist NP-vollständig ( “Berechenbarkeit und Komplexität”),
was bedeutet, dass es (zur Zeit) keinen bekannten
Polynomzeit-Algorithmus für dieses Problem gibt. Ob ein solcher
Polynomzeit-Algorithmus existiert, ist ein offenes Problem.
Es gibt jedoch einige Verfahren, die zumindest in vielen Fällen sehr
effizient sind (z.B. limboole und das im folgenden besprochene
Resolutionsverfahren).
Barbara König
Logik
91
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Vollständigkeit von Operatormengen
Definition (Boolesche Funktionen)
Eine Funktion der Form b : {0, 1}n → {0, 1} heißt (n-stellige)
Boolesche Funktion.
Eine Formel F mit atomaren Formeln aus der Menge {A1 , . . . , An }
beschreibt eine n-stellige Boolesche Funktion bF wie folgt:
bF (x1 , . . . , xn ) = Ax1 ,...,xn (F ),
wobei Ax1 ,...,xn die Belegung ist, die Ai mit xi ∈ {0, 1} belegt.
Die n-stelligen Booleschen Funktionen entsprechen genau den
Wahrheitstafeln mit n Spalten für atomare Formeln und einer
Ergebnisspalte.
Barbara König
Logik
92
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Vollständigkeit von Operatormengen
n
Daher gibt es genau 22 n-stellige Boolesche Funktionen bzw.
Wahrheitstafeln mit n atomaren Formeln.
Aufgabe: Stellen Sie alle 16 Wahrheitstafeln mit zwei atomaren
Formeln auf, d.h., bestimmen Sie alle zweistelligen Booleschen
Funktionen. Versuchen Sie, jeder Wahrheitstafel den Operator oder
die Formel zuzuordnen, die sie beschreibt.
Barbara König
Logik
93
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Vollständigkeit von Operatormengen
Definition (Vollständigkeit)
Eine Menge von Operatoren heißt vollständig, wenn man damit für
jede Boolesche Funktion eine entsprechende Formel erstellen kann,
die diese Funktion beschreibt.
Die Operatormenge {¬, ∨, ∧} ist vollständig.
Begründung: wie vorher beschrieben kann jede beliebige
Wahrheitstafel in KNF bzw. DNF umgewandelt werden.
Die Operatormenge {¬, ∨} ist vollständig.
Begründung: A ∧ B ≡ ¬(¬A ∨ ¬B).
Die Operatormenge {¬, ∧} ist vollständig.
Die Operatormenge {¬, →} ist vollständig.
Begründung: A ∨ B ≡ ¬A → B.
Barbara König
Logik
94
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Vollständigkeit von Operatormengen
Die Operatormenge {Nand} ist vollständig, wobei der
Operator Nand wie folgt definiert ist: A Nand B = ¬(A ∧ B).
Begründung: A Nand A = ¬(A ∧ A) ≡ ¬A und
(A Nand B) Nand (A Nand B) ≡ A ∧ B.
Die Operatormenge {Nor} ist vollständig, wobei der
Operator Nor wie folgt definiert ist: A Nor B = ¬(A ∨ B).
Barbara König
Logik
95
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Vollständigkeit von Operatormengen
Die Operatormenge {∧, ∨} ist nicht vollständig.
Begründung: Die Formel ¬A kann nicht dargestellt werden.
Falls eine Formel nur aus Operatoren der Form ∧ und ∨
besteht und der Wahrheitswert 1 eingesetzt wird, so erhält
man wieder 1. Das ist aber bei ¬A nicht der Fall.
Die Operatormenge {→} ist nicht vollständig.
Begründung: analog zu {∧, ∨}
Man erhält jedoch Vollständigkeit, wenn man auch die
Konstante 0 (“falsch”) zulässt. Dann gilt A → 0 ≡ ¬A und ∨
kann wie oben beschrieben mit Hilfe von ¬ und → dargestellt
werden.
Die Operatormenge {¬, ↔} ist nicht vollständig (ohne
Begründung).
Barbara König
Logik
96
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Endlichkeitssatz
Definition (Erfüllbarkeit einer Menge) – Wiederholung
Eine (möglicherweise unendliche) Menge M von aussagenlogischen
Formeln heißt erfüllbar genau dann, wenn es eine Belegung A gibt,
die für alle Formeln in M passend ist und für die gilt A(F ) = 1 für
alle F ∈ M.
Endlichkeitssatz (compactness theorem)
Eine Menge M von Formeln ist erfüllbar genau dann, wenn jede
der endlichen Teilmengen von M erfüllbar ist.
Barbara König
Logik
97
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Endlichkeitssatz
Beweis (Skizze):
1. Schritt: Zerlegung von M in Mengen M1 , M2 , M3 , . . . , wobei Mi
genau die Formeln von M enthält, die aus den atomaren Formeln
A1 , . . . , Ai bestehen. Es gilt:
M1 ⊆ M2 ⊆ M3 ⊆ . . .
S
M= ∞
i=1 Mi
Problem: Jede Menge Mi kann unendlich viele Formeln enthalten.
(Beispielsweise könnte M1 die Formeln A1 , ¬A1 , ¬¬A1 , ¬¬¬A1 ,
. . . enthalten.)
i
Da es jedoch höchstens 22 verschiedene i-stellige Boolesche
Funktionen geben kann, kann man diese in endlich viele
Äquivalenzklassen zusammenfassen.
Barbara König
Logik
98
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Endlichkeitssatz
2. Schritt: Wir zeigen nun, dass M erfüllbar ist, wenn jede endliche
Teilmenge von M (insbesondere jede Menge Mi ) erfüllbar ist. Sei
Ai ein Modell für Mi . Wir konstruieren ein Modell A von M wie
folgt:
1
Setze I := {1, 2, 3, . . . }
2
Stufe n > 0 (Wahrheitswert für An wird festgelegt)
Falls es unendlich viele Indizes i ∈ I gibt mit Ai (An ) = 1,
dann setze A(An ) = 1 und entferne aus I alle Indizes j,
für die Aj (An ) = 0 gilt.
Sonst: setze A(An ) = 0 und entferne aus I alle Indizes j,
für die Aj (An ) = 1 gilt.
3. Schritt: Zeige, dass A tatsächlich ein Modell für M ist.
Barbara König
Logik
99
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Endlichkeitssatz
Bemerkungen zum Endlichkeitssatz:
Der Beweis ist nicht-konstruktiv, er zeigt nur, dass es ein
Modell A gibt, nicht wie man es erhält.
Aussagen der Form “es gibt unendlich viele i ∈ I mit . . . ”
können nicht in eine (mechanische) Konstruktion
umgewandelt werden.
Korollar: Wenn M eine unerfüllbare Menge ist, dann ist
bereits eine endliche Teilmenge von M unerfüllbar.
Die Bedeutung des Endlichkeitssatzes liegt vor allem in seinen
Anwendungsmöglichkeiten im Bereich der Prädikatenlogik
(siehe 2. Kapitel der Vorlesung).
Barbara König
Logik
100
Herunterladen