Vorlesung “Logik” Sommersemester 2012 Universität Duisburg

Werbung
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Syntax der Aussagenlogik
Eine atomare Formel hat die Form Ai (wobei i = 1, 2, 3, . . .).
Vorlesung “Logik”
Sommersemester 2012
Universität Duisburg-Essen
Definition (Formel)
Formeln werden durch folgenden induktiven Prozess definiert:
Barbara König
Übungsleitung: Christoph Blume
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
Aussagenlogik
Prädikatenlogik
Logik
1
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Logik
Aussagenlogik
Prädikatenlogik
Formel als Syntaxbaum
35
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Teilformel
Jede Formel kann auch durch einen Syntaxbaum dargestellt
werden.
Die Teilformeln einer Formel F entsprechen dann den Teilbäumen.
Beispiel: F = ¬((¬A4 ∨ A1 ) ∧ A3 )
A4
¬
¬
¬
∧
∧
∨
A3
¬
¬
A4
¬A4
A3
∧
A3
A3
A1
¬
¬
∧
∧
∨
¬
A3
A1
(¬A4 ∨ A1 )
A1
∨
¬
A3
A1
A4
¬
A1
¬
∧
((¬A4 ∨ A1 ) ∧ A3 )
∨
¬
∧
A3
A1
¬((¬A4 ∨ A1 ) ∧ A3 )
A4
Logik
¬
A3
A4
A4
A4
Barbara König
∨
A4
∧
∨
A1
A1
¬
∨
¬
36
Barbara König
∨
¬
A3
A1
A4
Logik
37
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Semantik der Aussagenlogik (I)
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Semantik der Aussagenlogik (II)
Â(A) = A(A)
1
Â((F ∧ G )) =
0
1
Â((F ∨ G )) =
0
1
Â((¬F )) =
0
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.
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
Aussagenlogik
Prädikatenlogik
Logik
38
Aussagenlogik
Prädikatenlogik
Verknüpfungstafeln (I)
A, B, C oder P, Q, R oder . . .
Beobachtung: Der Wert Â(F ) hängt nur davon ab, wie A auf den
den in F vorkommenden atomaren Formeln definiert ist.
(F1 → F2 )
(F1 ↔ F2 )
n
_
( Fi )
Tafeln für die Operatoren ∨, ∧, ¬:
B
0
1
0
1
A
0
0
1
1
∨
0
1
1
1
B
0
1
0
1
Logik
39
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Abkürzungen
Berechnung von  mit Hilfe von Verknüpfungstafeln, auch
Wahrheitstafeln genannt.
A
0
0
1
1
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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
(
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
40
Barbara König
Logik
41
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Verknüpfungstafeln (II)
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Präzedenzen
Präzedenz der Operatoren:
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.
Die Formel
bindet am schwächsten
...
...
...
bindet am stärksten
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
Aussagenlogik
Prädikatenlogik
Logik
Aussagenlogik
Prädikatenlogik
Formalisierung natürlicher Sprache (I)
43
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Gesamte Wahrheitstafel:
Bauteil A oder Bauteil B (oder beide) sind kaputt.
RL
0
0
0
0
1
1
1
1
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)
Logik
Logik
Formalisierung natürlicher Sprache (II)
Ein Gerät besteht aus einem Bauteil A, einem Bauteil B und einem
roten Licht. Folgendes ist bekannt:
Barbara König
Barbara König
42
Grundbegriffe, Äquivalenz und Normalformen
Resolution
44
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
45
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Modelle
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Gültigkeit und Erfüllbarkeit
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.
Definition (Erfüllbarkeit)
Sei A passend zu F :
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.)
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
Aussagenlogik
Prädikatenlogik
Logik
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.
46
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Aufgabe
Logik
47
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aufgabe
Gültig
Erfüllbar
Unerfüllbar
Gelten die folgenden Aussagen?
A
A∨B
A ∨ ¬A
A ∧ ¬A
A → ¬A
A→B
A → (B → A)
A → (A → B)
A ↔ ¬A
Barbara König
J/N
Wenn
Wenn
Wenn
Wenn
Logik
48
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
49
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Spiegelungsprinzip
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Ein Gültigkeitstest
gültige
Formeln
erfüllbare, aber
nicht gültige
Formeln
F
¬G
Barbara König
Aussagenlogik
Prädikatenlogik
¬F
Wie kann man überprüfen, ob eine Formel F gültig ist?
unerfüllbare
Formeln
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.
G
Logik
50
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Folgerung
Logik
51
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Folgerung: Beispiel
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:
(AK ∨ BK ), (AK → BK ),
((BK ∧ RL) → ¬AK ), RL |= RL ∧ ¬AK ∧ BK
Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch
Modell von G .
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.
Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von
F1 , . . . , Fk ist.
Barbara König
Logik
52
Barbara König
Logik
53
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Aufgabe
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Folgerung, Gültigkeit und Unerfüllbarkeit
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
Aussagenlogik
Prädikatenlogik
Gilt M |= F ?
Logik
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.
54
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Äquivalenz
Logik
55
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aufgabe
Gelten die folgenden Äquivalenzen?
(Semantische) Äquivalenz
(A ∧ (A ∨ B)) ≡ A
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 .
¬(A ∨ B) ≡ (¬A ∧ ¬B)
(A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ C )
(A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ (A ∧ C ))
Barbara König
Logik
56
Barbara König
Logik
57
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Die Hauptprobleme
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Reduktion von Problemen (I)
Modellprüfung
Sei F eine Formel und sei A eine passende Belegung. Gilt
A(F ) = 1?
Welche Probleme lassen sich auf welche reduzieren?
Gültigkeit ⇐⇒ (Nicht)Erfüllbarkeit:
Erfüllbarkeit
Sei F eine Formel. Ist F erfüllbar?
F gültig gdw. ¬F nicht erfüllbar
F erfüllbar gdw. ¬F nicht gültig
Gültigkeit
Sei F eine Formel. Ist F gültig?
Gültigkeit =⇒ Folgerung:
Folgerung
Seien F und G Formeln. Gilt F |= G ?
Folgerung =⇒ Gültigkeit:
F gültig
Aussagenlogik
Prädikatenlogik
Logik
58
F → G gültig
Logik
59
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Reduktion von Problemen (III)
Gültigkeit =⇒ Äquivalenz:
F gültig
F unerfüllbar gdw. F |= U
(U ist beliebige unerfüllbare Formel)
F ≡T
F ≡G
F ∧ ¬G unerfüllbar
Logik
gdw.
(T ist beliebige gültige Formel)
Äquivalenz =⇒ Gültigkeit:
Folgerung =⇒ Unerfüllbarkeit:
Barbara König
gdw.
Aussagenlogik
Prädikatenlogik
Unerfüllbarkeit =⇒ Folgerung:
gdw.
(T ist beliebige gültige Formel)
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Reduktion von Problemen (II)
F |= G
T |= F
F |= G
Äquivalenz
Seien F und G Formeln. Gilt F ≡ G ?
Barbara König
gdw.
gdw.
F ↔ G gültig
Bemerkung: Eine gültige Formel bezeichnet man manchmal auch
mit 1, eine unerfüllbare Formel mit 0.
60
Barbara König
Logik
61
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.)
Es gibt noch zahlreicher andere Tools dieser Art, die
normalerweise als SAT-Solver bezeichnet werden. Einige
davon sind inzwischen auch effizienter als limboole.
Aussagenlogik
Prädikatenlogik
Logik
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.
Anders als andere Werkzeuge konvertiert limboole selbst die
Eingabe in (konjunktive) Normalform.
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
62
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Anwendung: Diagnose
Logik
63
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
64
Barbara König
Logik
65
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
∧
Y1
¬
Nor
∧
¬
∨
∧
X2
X2
∧
∧
¬
∨
Y2
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
66
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Logik
67
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
68
Barbara König
Logik
69
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Eigenschaften der Äquivalenz
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Ersetzbarkeitstheorem
Wir betrachten nun wieder die Äquivalenz auf Formeln. Sie hat
folgende Eigenschaften:
Die Abgeschlossenheit lässt sich auch folgendermaßen formulieren:
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
Satz (Ersetzbarkeitstheorem)
transitiv: Falls F ≡ G und G ≡ H gilt, so gilt auch F ≡ H
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 (H ≡ H 0 ), wobei H 0 aus H hervorgeht, indem
(irgend) ein Vorkommen von F in H durch G ersetzt wird.
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
Aussagenlogik
Prädikatenlogik
Logik
Barbara König
70
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Äquivalenzen (I)
Logik
71
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenzen (II)
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
72
(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)
73
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Äquivalenzen
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Normalformen (I)
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)
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 =(
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
Aussagenlogik
Prädikatenlogik
Logik
n m
V
Wi
( Li,j )),
i=1 j=1
wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · }
Barbara König
74
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Normalformen (II)
Logik
75
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Umformungsmethode (in KNF)
Gegeben: eine Formel F .
1
Eine Formel F ist in disjunktiver Normalform (DNF), falls sie eine
Disjunktion von Konjunktionen von Literalen ist:
n m
W
Vi
F = ( ( Li,j )),
Ersetze in F jedes Vorkommen einer Teilformel der Bauart
¬¬G
durch
G
¬(G ∧ H)
durch
(¬G ∨ ¬H)
¬(G ∨ H)
durch
(¬G ∧ ¬H)
bis keine derartige Teilformel mehr vorkommt.
i=1 j=1
2
wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · }
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
76
Barbara König
Logik
77
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Umformungsmethode (in KNF)
Mengendarstellung in KNF
Aufwand der Umformungsmethode
Bei der Umwandlung einer Formel in KNF kann die Formel
exponentiell größer werden.
Klausel: Menge von Literalen (Disjunktion).
{A, B} stellt (A ∨ B) dar.
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
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Formel: Menge von Klauseln (Konjunktion).
{{A, B}, {¬A, B}} stellt ((A ∨ B) ∧ (¬A ∨ B)) dar.
Die leere Klausel ist äquivalent zu einer unerfüllbaren Formel.
Die leere Formel ist äquivalent zu einer gültigen Formel.
≡ (A1 ∨ A2 ∨ · · · ∨ An )
∧ (B1 ∨ A2 ∨ · · · ∨ An )
∧ (A1 ∨ B2 ∨ · · · ∨ An )
∧ ...
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
78
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Ablesen 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
Logik
79
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Für Formeln in DNF gibt es einen einfachen Erfüllbarkeitstest.
DNF: Aus jeder Zeile mit Wahrheitswert 1
wird eine Konjunktion, aus einer 0 in der
Spalte A wird ¬A, aus einer 1 wird A
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.
(¬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
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).
(A ∨ B ∨ ¬C ) ∧ (A ∨ ¬B ∨ C )
∧ (A ∨ ¬B ∨ ¬C ) ∧ (¬A ∨ B ∨ ¬C )
∧ (¬A ∨ ¬B ∨ C )
Barbara König
Barbara König
Logik
80
Barbara König
Logik
81
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Für Formeln in KNF gibt es einen einfachen Gültigkeitstest.
Aufwand der Tests:
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.
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.
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
Aussagenlogik
Prädikatenlogik
Logik
82
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
83
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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 Boolesche Funktion bF wie folgt:
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.
bF (x1 , . . . , xn ) = Ax1 ,...,xn (F ),
wobei Ax1 ,...,xn eine Belegung ist, die Ai mit xi ∈ {0, 1} belegt.
Es gibt jedoch einige Verfahren, die zumindest in vielen Fällen sehr
effizient sind (z.B. limboole und das im folgenden besprochene
Resolutionsverfahren).
Logik
Logik
Vollständigkeit von Operatormengen
Das Problem, die Erfüllbarkeit einer beliebigen Formel (oder einer
Formel in KNF) zu bestimmen ist auch als SAT-Problem
(Satisfiability-Problem) bekannt.
Barbara König
Barbara König
Die n-stelligen Booleschen Funktionen entsprechen genau den
Wahrheitstafeln mit n Spalten für atomare Formeln und einer
Ergebnisspalte.
84
Barbara König
Logik
85
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.
n
Daher gibt es genau 22 n-stellige Boolesche Funktionen bzw.
Wahrheitstafeln mit n atomaren Formeln.
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.
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
Aussagenlogik
Prädikatenlogik
Logik
86
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Vollständigkeit von Operatormengen
Logik
87
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 {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 nicht vollständig.
Begründung: wie oben.
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 {Nor} ist vollständig, wobei der
Operator Nor wie folgt definiert ist: A Nor B = ¬(A ∨ B).
Die Operatormenge {¬, ↔} ist nicht vollständig (ohne
Begründung).
Barbara König
Logik
88
Barbara König
Logik
89
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Endlichkeitssatz
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:
Definition (Erfüllbarkeit einer Menge) – Wiederholung
Eine 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.
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.
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
Aussagenlogik
Prädikatenlogik
Logik
Aussagenlogik
Prädikatenlogik
Endlichkeitssatz
2
Logik
91
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 eine erfüllende Belegung für Mi . Wir konstruieren ein Modell A
von M wie folgt:
1
Barbara König
90
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Bemerkungen zum Endlichkeitssatz:
Der Beweis ist nicht-konstruktiv, er zeigt nur, dass es eine
erfüllende Belegung A gibt, nicht wie man sie erhält.
Aussagen der Form “es gibt unendlich viele i ∈ I mit . . . ”
können nicht in eine (mechanische) Konstruktion
umgewandelt werden.
Setze I := {1, 2, 3, . . . }
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.
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).
3. Schritt: Zeige, dass A tatsächlich ein Modell für M ist.
Barbara König
Logik
92
Barbara König
Logik
93
Herunterladen