Vorlesung “Logik” Wintersemester 2015/16 Universität Duisburg

Werbung
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Vorlesung “Logik”
Wintersemester 2015/16
Universität Duisburg-Essen
Menge: Menge X von Elementen, wird beschrieben als Aufzählung
X = {A1 , A2 , A3 , A7 }
oder als Menge von Elementen mit einer bestimmten Eigenschaft
Barbara König
Übungsleitung: Dennis Nolte, Dr. Harsh Beohar
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
X = {Ai | 1 ≤ i ≤ 3 oder i = 7}.
1
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Mengen, Relationen und Funktionen
Logik
36
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:
Element einer Menge: Wir schreiben x ∈ X , falls ein Element x in
der Menge X enthalten ist.
{1, 2, 3} = {1, 3, 2} = {2, 1, 3} = {2, 3, 1} = {3, 1, 2} = {3, 2, 1}
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.
Ein Element kann nicht “mehrfach” in einer Menge auftreten.
Es ist entweder in der Menge, oder es ist nicht in der Menge.
Beispielsweise gilt:
Leere Menge: Mit ∅ oder {} bezeichnet man die leere Menge. Sie
enthält keine Elemente und ist Teilmenge jeder anderen Menge.
{1, 2, 3} =
6 {1, 2, 3, 4} = {1, 2, 3, 4, 4}
Barbara König
Logik
37
Barbara König
Logik
38
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Mengen, Relationen und Funktionen
Mengen, Relationen und Funktionen
Kreuzprodukt (kartesisches Produkt)
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 .
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.
Beispiel:
X × Y = {(x, y ) | x ∈ X , y ∈ Y }
X = {1, 2, 3} Y = {a, b, c, d}
R = {(1, a), (1, b), (2, b), (3, d)} ⊆ X × Y
Beispiel:
{1, 2} × {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
39
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Mengen, Relationen und Funktionen
Logik
40
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Notation von Funktionen
f:X
x
Funktion von der Menge X in die Menge Y
Eine Relation f ⊆ X × Y heißt Funktion, wenn folgendes gilt:
→ 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.
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.
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
Barbara König
Logik
42
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Syntax der Aussagenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Formel als Syntaxbaum
Eine atomare Formel hat die Form Ai (wobei i = 1, 2, 3, . . .).
Jede Formel kann auch durch einen Syntaxbaum dargestellt
werden.
Definition (Formel)
Beispiel: F = ¬((¬A4 ∨ A1 ) ∧ A3 )
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 : “nicht F ”, “Negation von F ”
A4
(F ∨ G ): “F oder G ”, “Disjunktion von F und G ”
Barbara König
43
Logik
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Teilformel
A3
A1
Logik
44
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Semantik der Aussagenlogik (I)
Die Teilformeln einer Formel F entsprechen dann den Teilbäumen.
¬
¬
∧
A4
∧
∨
¬
¬
∨
A3
A1
A1
¬
A4
∧
A3
A1
¬
A4
¬
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.
¬
∧
∨
A3
A1
A4
¬
¬A4
∨
A3
∧
∨
A3
A1
A4
(¬A4 ∨ A1 )
¬
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.
A3
A1
A4
¬
¬
∧
((¬A4 ∨ A1 ) ∧ A3 )
∨
¬
∧
∨
A3
A1
A4
Barbara König
¬((¬A4 ∨ A1 ) ∧ A3 )
Logik
¬
A3
A1
A4
45
Barbara König
Logik
46
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Semantik der Aussagenlogik (II)
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Verknüpfungstafeln (I)
Berechnung von  mit Hilfe von Verknüpfungstafeln, auch
Wahrheitstafeln genannt.
Â(A) = A(A)
1
Â((F ∧ G )) =
0
1
Â((F ∨ G )) =
0
1
Â((¬F )) =
0
falls A ∈ D eine atomare Formel ist
Beobachtung: Der Wert Â(F ) hängt nur davon ab, wie A auf den
den in F vorkommenden atomaren Formeln definiert ist.
falls Â(F ) = 1 und Â(G ) = 1
sonst
Tafeln für die Operatoren ∨, ∧, ¬:
falls Â(F ) = 1 oder Â(G ) = 1
sonst
A
0
0
1
1
falls Â(F ) = 0
sonst
Wir schreiben A statt Â.
Barbara König
Aussagenlogik
Prädikatenlogik
(
i=1
Fi )
∨
0
1
1
1
B
0
1
0
1
A
0
0
1
1
B
0
1
0
1
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
A
0
0
1
1
∧
0
0
0
1
B
0
1
0
1
¬
1
0
A
0
1
A
0
1
48
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Verknüpfungstafeln (II)
A, B, C oder P, Q, R oder . . .
i=1
n
^
A
0
0
1
1
47
Logik
Abkürzungen
(F1 → F2 )
(F1 ↔ F2 )
n
_
( Fi )
B
0
1
0
1
statt
statt
statt
(¬F1 ∨ F2 )
((F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 ))
statt
(. . . ((F1 ∨ F2 ) ∨ F3 ) ∨ . . . ∨ Fn )
statt
(. . . ((F1 ∧ F2 ) ∧ F3 ) ∧ . . . ∧ Fn )
Barbara König
Logik
Tafeln für die Operatoren →, ↔:
A1 , A2 , A3 . . .
A
0
0
1
1
49
B
0
1
0
1
A
0
0
1
1
→
1
1
0
1
B
0
1
0
1
A
0
0
1
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
50
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Präzedenzen
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Formalisierung natürlicher Sprache (I)
Präzedenz der Operatoren:
↔
→
∨
∧
¬
Ein Gerät besteht aus einem Bauteil A, einem Bauteil B und einem
roten Licht. Folgendes ist bekannt:
bindet am schwächsten
...
...
...
bindet am stärksten
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.
Die Formel
Das rote Licht leuchtet.
A ↔ B ∨ ¬C → D ∧ ¬E
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)
wird also wie folgt gelesen:
(A ↔ ((B ∨ ¬C ) → (D ∧ ¬E )))
Dennoch: Zusätzliche Klammern schaden im allgemeinen nicht
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
51
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Formalisierung natürlicher Sprache (II)
AK
0
0
1
1
0
0
1
1
BK
0
1
0
1
0
1
0
1
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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.
(((AK ∨ BK ) ∧ (AK → BK )) ∧
((BK ∧ RL) → ¬AK )) ∧ RL
0
0
0
0
0
1
0
0
Barbara König
52
Logik
Modelle
Gesamte Wahrheitstafel:
RL
0
0
0
0
1
1
1
1
Barbara König
Sei A passend zu F :
53
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
54
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Gültigkeit und Erfüllbarkeit
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aufgabe
Definition (Erfüllbarkeit)
Gültig
Eine Formel F heißt erfüllbar, falls F mindestens ein Modell
besitzt, andernfalls heißt F unerfüllbar.
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.
Aussagenlogik
Prädikatenlogik
55
Logik
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Aufgabe
56
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Spiegelungsprinzip
Gelten die folgenden Aussagen?
gültige
Formeln
J/N
Wenn
Wenn
Wenn
Wenn
Unerfüllbar
A
A∨B
A ∨ ¬A
A ∧ ¬A
A → ¬A
A→B
A → (B → A)
A → (A → B)
A ↔ ¬A
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.)
Barbara König
Erfüllbar
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
erfüllbare, aber
nicht gültige
Formeln
F
¬G
57
Barbara König
¬F
Logik
unerfüllbare
Formeln
G
58
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Ein Gültigkeitstest
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Folgerung
Wie kann man überprüfen, ob eine Formel F gültig (erfüllbar,
unerfüllbar) ist?
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:
Eine Möglichkeit: Wahrheitstafel aufstellen
Angenommen, die Formel F enthält n verschiedene atomare
Formeln. Wie groß ist die Wahrheitstafel?
Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch
Modell von G .
Anzahl Zeilen in der Wahrheitstafel: 2n
Geht es auch effizienter? Diese Frage wird im Laufe der Vorlesung
beantwortet.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von
F1 , . . . , Fk ist.
59
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Folgerung: Beispiel
60
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aufgabe
M
A
A
A, B
A, B
(A ∧ B)
(A ∨ B)
A, (A → B)
(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
61
F
(A ∨ B)
(A ∧ B)
(A ∨ B)
(A ∧ B)
A
A
B
Barbara König
Logik
Gilt M |= F ?
62
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Folgerung, Gültigkeit und Unerfüllbarkeit
Äquivalenz
Zeigen Sie, dass folgende Aussagen äquivalent sind:
1
2
3
(Semantische) Äquivalenz
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
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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,
gilt A(F ) = A(G ). Hierfür schreiben wir F ≡ G .
63
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Aufgabe
Logik
64
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Die Hauptprobleme
Modellprüfung
Sei F eine Formel und sei A eine passende Belegung. Gilt
A(F ) = 1?
Gelten die folgenden Äquivalenzen?
Erfüllbarkeit
Sei F eine Formel. Ist F erfüllbar?
(A ∧ (A ∨ B)) ≡ A
¬(A ∨ B) ≡ (¬A ∧ ¬B)
Gültigkeit
Sei F eine Formel. Ist F gültig?
(A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ C )
(A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ (A ∧ C ))
Folgerung
Seien F und G Formeln. Gilt F |= G ?
Äquivalenz
Seien F und G Formeln. Gilt F ≡ G ?
Barbara König
Logik
65
Barbara König
Logik
66
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Reduktion von Problemen (I)
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Reduktion von Problemen (II)
Welche Probleme lassen sich auf welche reduzieren?
Gültigkeit ⇐⇒ (Nicht)Erfüllbarkeit:
Unerfüllbarkeit =⇒ Folgerung:
Gültigkeit =⇒ Folgerung:
Folgerung =⇒ Unerfüllbarkeit:
F unerfüllbar gdw. F |= U
(U ist beliebige unerfüllbare Formel)
F gültig gdw. ¬F nicht erfüllbar
F erfüllbar gdw. ¬F nicht gültig
F gültig
gdw.
T |= F
F |= G
(T ist beliebige gültige Formel)
Folgerung =⇒ Gültigkeit:
F |= G
gdw.
Barbara König
F ∧ ¬G unerfüllbar
F → G gültig
Logik
Aussagenlogik
Prädikatenlogik
gdw.
67
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Reduktion von Problemen (III)
68
Logik
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)
Gültigkeit =⇒ Äquivalenz:
F gültig
gdw.
F ≡T
(T ist beliebige gültige Formel)
symmetrisch: Falls F ≡ G gilt, so gilt auch G ≡ F
Äquivalenz =⇒ Gültigkeit:
F ≡G
gdw.
transitiv: Falls F ≡ G und G ≡ H gilt, so gilt auch F ≡ H
F ↔ G gültig
abgeschlossen unter Operatoren: Falls F1 ≡ F2 und G1 ≡ G2 gilt,
so gilt auch (F1 ∧ G1 ) ≡ (F2 ∧ G2 ),
(F1 ∨ G1 ) ≡ (F2 ∨ G2 ) und ¬F1 ≡ ¬F2 .
Bemerkung: Eine gültige Formel bezeichnet man manchmal auch
mit 1, eine unerfüllbare Formel mit 0.
Reflexive, symmetrische, transitive Relation
Äquivalenzrelation
Äquivalenzrelation + Abgeschlossenheit unter
Operatoren
Kongruenzrelation
Barbara König
Logik
69
Barbara König
Logik
70
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Ersetzbarkeitstheorem
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenzen (I)
Satz
Die Abgeschlossenheit unter Operatoren lässt sich auch
folgendermaßen formulieren:
Es gelten die folgenden Äquivalenzen:
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
Aussagenlogik
Prädikatenlogik
(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
71
Logik
(Idempotenz)
Aussagenlogik
Prädikatenlogik
Äquivalenzen (II)
(Assoziativität)
(Absorption)
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
(Kommutativität)
Logik
72
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenzen
(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
Die Tautologie- und Unerfüllbarkeitsregeln können auch
folgendermaßen geschrieben werden:
(Distributivität)
(Doppelnegation)
(de Morgansche
Regeln)
Logik
(Tautologieregeln)
(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.
(Unerfüllbarkeitsregeln)
73
Barbara König
Logik
74
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Gültigkeits- und Erfüllbarkeitstests mit limboole
Gültigkeits- und Erfüllbarkeitstests mit limboole
Eingabeformat für limboole
limboole – http://fmv.jku.at/limboole/
Aussagenlogik
↔
→
∨
∧
¬
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
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
75
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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
Aussagenlogik
Prädikatenlogik
Anwendung: Diagnose
limboole
<->
->
|
&
!
Logik
76
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Um zu zeigen, dass
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.
F
}|
{
z
(AK ∨ BK ), (AK → BK ), ((BK ∧ RL) → ¬AK ), RL
|= RL
| ∧ ¬AK
{z ∧ BK}
Diese Überprüfung soll mit Hilfe von limboole durchgeführt
werden und nutzt die Tatsache, dass
G
gilt, überprüfen wir, ob F → G gültig ist. Diese Formel sieht in
limboole-Syntax folgendermaßen aus:
F ≡ G gdw. F ↔ G gültig ist.
((AK | BK) & (AK -> BK) & ((BK & RL) -> !AK) & RL)
-> (!AK & BK & RL)
Barbara König
Logik
77
Barbara König
Logik
78
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Anwendung: Vergleich von Schaltkreisen
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Schaltkreis 1:
Schaltkreis 2:
X1
X1
∧
Y1
X2
∧
Y1
∨
¬
Nor
∧
X2
∧
¬
∧
¬
∧
∨
∨
Y2
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
79
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Logik
80
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Formel S1 für Schaltkreis 1 (in limboole-Syntax)
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.
(((X1 & Y1) | !(X1 | Y1)) & ((X2 & Y2) | !(X2 | Y2))
Formel S2 für Schaltkreis 1 (in limboole-Syntax)
Zusatzaufgabe: wie kann man mit Hilfe von limboole überprüfen,
auf welchen Eingaben sich die beiden Schaltkreise unterscheiden?
(X1 & Y2 & X2 & Y1) | (X2 & Y2 & !X1 & !Y1) |
(X1 & Y1 & !X2 & Y2) | (!X2 & !X1 & !Y1 & Y2)
Logik
Barbara König
Aussagenlogik
Prädikatenlogik
Anwendung: Vergleich von Schaltkreisen
Barbara König
∧
Y2
Nor
81
Barbara König
Logik
82
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Normalformen (I)
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Normalformen (II)
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 disjunktiver Normalform (DNF), falls sie eine
Disjunktion von Konjunktionen von Literalen ist:
Eine Formel F ist in konjunktiver Normalform (KNF), falls sie eine
Konjunktion von Disjunktionen von Literalen ist:
F =(
F =(
n m
W
Vi
( Li,j )),
i=1 j=1
n m
V
Wi
( Li,j )),
wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · }
i=1 j=1
wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · }
Barbara König
Aussagenlogik
Prädikatenlogik
83
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Umformungsmethode (in KNF)
¬¬G
durch
G
durch
¬(G ∨ H)
durch
(¬G ∨ ¬H)
(¬G ∧ ¬H)
Ersetze jedes Vorkommen einer Teilformel der Bauart
(F ∨ (G ∧ H))
((F ∧ G ) ∨ H)
durch
durch
F
((F ∨ G ) ∧ (F ∨ H))
Logik
≡ (A1 ∨ A2 ∨ · · · ∨ An )
∧ (B1 ∨ A2 ∨ · · · ∨ An )
((F ∨ H) ∧ (G ∨ H))
∧ (A1 ∨ B2 ∨ · · · ∨ An )
bis keine derartige Teilformel mehr vorkommt.
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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.
bis keine derartige Teilformel mehr vorkommt.
2
84
Aufwand der Umformungsmethode
Bei der Umwandlung einer Formel in KNF kann die Formel
exponentiell größer werden.
Ersetze in F jedes Vorkommen einer Teilformel der Bauart
¬(G ∧ H)
Logik
Umformungsmethode (in KNF)
Gegeben: eine Formel F .
1
Barbara König
∧ ...
85
Barbara König
Logik
86
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Mengendarstellung in KNF
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Ablesen von DNF und KNF aus Wahrheitstafel
Klausel: Menge von Literalen (Disjunktion).
A
0
0
0
0
1
1
1
1
{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).
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
Aussagenlogik
Prädikatenlogik
Logik
87
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Für Formeln in DNF gibt es einen einfachen Erfüllbarkeitstest.
Für Formeln in KNF gibt es einen einfachen Gültigkeitstest.
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.
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 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).
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
88
89
Barbara König
Logik
90
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
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.
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.
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.
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
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Es gibt jedoch einige Verfahren, die zumindest in vielen Fällen sehr
effizient sind (z.B. limboole und das im folgenden besprochene
Resolutionsverfahren).
91
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Vollständigkeit von Operatormengen
Logik
92
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.
n
Daher gibt es genau 22 n-stellige Boolesche Funktionen bzw.
Wahrheitstafeln mit n atomaren Formeln.
Eine Formel F mit atomaren Formeln aus der Menge {A1 , . . . , An }
beschreibt eine n-stellige Boolesche Funktion bF wie folgt:
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.
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
93
Barbara König
Logik
94
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Vollständigkeit von Operatormengen
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 {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 {¬, ∨, ∧} 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
Aussagenlogik
Prädikatenlogik
Logik
Die Operatormenge {Nor} ist vollständig, wobei der
Operator Nor wie folgt definiert ist: A Nor B = ¬(A ∨ B).
95
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Vollständigkeit von Operatormengen
Logik
96
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Endlichkeitssatz
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.
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.
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.
Endlichkeitssatz (compactness theorem)
Eine Menge M von Formeln ist erfüllbar genau dann, wenn jede
der endlichen Teilmengen von M erfüllbar ist.
Die Operatormenge {¬, ↔} ist nicht vollständig (ohne
Begründung).
Barbara König
Logik
97
Barbara König
Logik
98
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Endlichkeitssatz
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:
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:
1
M1 ⊆ M2 ⊆ M3 ⊆ . . .
S
M= ∞
i=1 Mi
2
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
Aussagenlogik
Prädikatenlogik
Logik
99
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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).
Logik
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.
Endlichkeitssatz
Barbara König
Setze I := {1, 2, 3, . . . }
101
Barbara König
Logik
100
Herunterladen