Logik für Informatiker

Werbung
Logik für Informatiker
Viorica Sofronie-Stokkermans
e-mail: [email protected]
1
Literatur zur Vorlesung
Skriptum von U. Furbach
Ulrich Furbach
Logic for Computer Scientists
http://userpages.uni-koblenz.de/∼obermaie/script.htm
Buch von U. Schöning
Uwe Schöning
Logik für Informatiker
5. Auflage, Spektrum Akademischer Verlag
Buch von M. Fitting
Melvin Fitting
First-Order Logic and Automated Theorem Proving
2. Auflage, Springer-Verlag
2
Logik in der Informatik
Was ist Logik?
• Mathematisch?
ja
• Unverständlich?
hoffentlich nein
• Reine Theorie ohne praktischen Nutzen?
nein: Verifikation von Hardware, Software, Protokollen
Sprachverarbeitung und Wissensrepräsentation
Abfragensprachen für Datenbanken; ...
3
Formale Logik
Ziel
• Formalisierung und Automatisierung rationalen Denkens
• Rational richtige Ableitung von neuem Wissen aus gegebenem
Rolle der Logik in der Informatik
• Anwendung innerhalb der Informatik
Spezifikation, Programmentwicklung, Programmverifikation
• Werkzeug für Anwendungen außerhalb der Informatik
Künstliche Intelligenz, Wissensrepräsentation
4
Modellierung
Abstraktion
5
Modellierung
Adäquatheit des Modells
Wenn formulierbare Aussage wahr im Modell, dann entsprechende Aussage
wahr in Wirklichkeit
6
Modellierung: Strukturen
oben
Aufzug oben
Mitte gedruckt
oben
F.nach unten
mitte
mitte
oben
Aufzug mitte
Unten gedruckt
Aufzug oben
Mitte gedruckt
F.nach unten
mitte
F.nach unten
unten
v(AufzugOben) = wahr
unten
v(AufzugMitte) = wahr
unten
v(AufzugOben) = wahr
v(AufzugMitte) = wahr
v(MitteGedrückt) = wahr
v(UntenGedrückt) = wahr
v(MitteGedrückt) = wahr
v(FährtNachUnten) = wahr
v(FährtNachUnten) = wahr
v(FährtNachUnten) = wahr
7
Modellierung: Strukturen
oben
Aufzug oben
Mitte gedruckt
oben
F.nach unten
mitte
mitte
oben
Aufzug mitte
Unten gedruckt
mitte
Aufzug oben
Mitte gedruckt
F.nach unten
Aufzug mitte
F.nach unten
unten
v(AufzugOben) = wahr
unten
v(AufzugMitte) = wahr
unten
v(AufzugOben) = wahr
v(AufzugMitte) = wahr
v(MitteGedrückt) = wahr
v(UntenGedrückt) = wahr
v(MitteGedrückt) = wahr
v(FährtNachUnten) = wahr
v(FährtNachUnten) = wahr
v(FährtNachUnten) = wahr
8
Modellierung: Strukturen
oben
Aufzug oben
Mitte gedruckt
oben
F.nach unten
mitte
mitte
oben
Aufzug mitte
Unten gedruckt
mitte
Aufzug oben
Mitte gedruckt
F.nach unten
Aufzug mitte
F.nach unten
unten
unten
unten
Aussagen beziehen sich auf Strukturen
(Formale) Aussagen sind in jeder einzelnen Struktur zu wahr oder falsch
auswertbar
9
Formale Logik
• Syntax
welche Formeln?
• Semantik
Modelle (Strukturen)
Wann ist eine Formel wahr (in einer Struktur)?
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
10
Aussagenlogik: Syntax
Die Welt besteht aus Fakten
Bausteine: Atomare Aussagen
Beispiele: Aufzug ist oben:
AufzugOben
Mittlerer Knopf gedrückt:
MitteGedrückt
Verknüpft mit logischen Operatoren
und
oder
impliziert
nicht
(“wenn, dann”)
∧
∨
→
¬
11
Aussagenlogik: Syntax
Komplexe Aussagen:
Beispiele:
Wenn mittlerer Knopf gedrückt, dann Aufzug nicht in der Mitte
MitteGedrückt → ¬AufzugMitte
Der Aufzug ist oben und der Aufzug ist nicht unten
AufzugOben ∧ ¬AufzugUnten
12
Aussagenlogik: Semantik
Der Aufzug ist oben und der Aufzug ist nicht unten
AufzugOben ∧ ¬AufzugUnten
wahr in:
oben
Aufzug oben
Mitte gedruckt
F.nach unten
mitte
unten
13
Aussagenlogik: Semantik
Der Aufzug ist oben und der Aufzug ist nicht unten
AufzugOben ∧ ¬AufzugUnten
falsch in:
oben
mitte
Aufzug mitte
Unten gedruckt
F.nach unten
unten
14
Aussagenlogik: Deduktionsmechanismus
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
Syllogismen:
P→Q
P
Q
AufzugUnten → ¬AufzugOben
AufzugUnten
¬AufzugOben
15
Aussagenlogik: Deduktionsmechanismus
Deduktionsmechanismus im allgemeinen
Kalkül
In dieser Vorlesung:
• Wahrheitstafeln
• Logische Umformung
• Resolutionskalkül
• Tableaukalkül
16
Prädikatenlogik
Aussagenlogik: Die Welt besteht aus Fakten
... aber: Aussagenlogik hat nur beschränkte Ausdruckskraft
Beispiele:
• Die Aussage “Alle Menschen sind sterblich” erfordert eine Formel für
jeden Mensch.
• Die Aussage “Jede natürliche Zahl ist entweder gerade oder ungerade”
erfordert eine Formel für jede Zahl.
17
Prädikatenlogik
Reichere Struktur
• Objekte (Elemente)
Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ...
• Relationen/Eigenschaften
rot, rund, gerade, ungerade, prim, mehrstöckig, ...
ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, ..
=, ≥, ...
• Funktionen
+, Mitte von,
Vater von,
Anfang von, ...
18
Beispiel 1
Objekte (Elemente): Zahlen
Funktionen: +, *
Terme: 2 + 3, 3 ∗ (5 + 6), x, x + 2, x ∗ (2 − y )
Relationen/Eigenschaften: gerade, ungerade
Formel:
gerade(2), ungerade(5), gerade(100), ungerade(100)
gerade(2)∧ ungerade(5)
gerade(x) → gerade(x + 1)
(für alle);
E
A
Quantoren:
(es gibt)
Formeln mit Quantoren:
E
A
x
x
gerade(x)∨ gerade(x + 1)
ungerade(x)
19
Beispiel 2:
• Objekte (Elemente): Menschen
• Funktionen: Vater, Mutter, Jan, Anna
x
Jan
Anna
Vater (x)
Vater (Jan)
Vater (Anna)
Mutter (x)
Mutter (Jan)
Mutter (Anna)
Vater (Mutter (x))
Vater (Mutter (Jan))
...
• Eigenschaften: ist-Bruder-von; Mann; Frau
Mann(x)
Mann(Jan)
Mann(Anna)
Mann(Vater (x))
Frau(Vater (Jan))
Mann(Vater (Jan))
ist-Bruder-von(x, y )
ist-Bruder-von(x, Jan)
ist-Bruder-von(x, Anna)
ist-Bruder-von(Jan, Anna)
20
Beispiel 2:
Formel:
Mann(Vater (Jan))
Mann(Vater (Jan)) ∧ Frau(Mutter (Jan))
Mann(Mutter (Anna))
Mann(Vater (Jan))∧ ist-Bruder-von(Jan, Anna)
Quantoren
A
: für alle
E
: es gibt
Formeln mit Quantoren:
A
A
A
x Mann(Vater (x))
x Mann(Mutter (x))
x, y (ist-Bruder-von(x, y ) → Mann(x))
21
Beispiel 3
“Alle, die in Koblenz studieren, sind schlau”
• Objekte (Elemente): Menschen
• Funktionen: koblenz
• Eigenschaften: studiertIn, schlau
A
x(studiertIn(x, koblenz) → schlau(x))
“Es gibt jemand, der in Landau studiert und schlau ist”
• Objekte (Elemente): Menschen
• Funktionen: landau
• Eigenschaften: studiertIn, schlau
E
x(studiertIn(x, landau) ∧ schlau(x))
22
Prädikatenlogik: Deduktionsmechanismus
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
Syllogismen:
A
A
x(P(x) → Q(x))
x(Q(x) → R(x))
A
x(P(x) → R(x))
A
A
x(studiertIn(x, koblenz) → schlau(x))
x(schlau(x) → gute-noten(x))
A
x(studiertIn(x, koblenz) → gute-noten(x))
23
Prädikatenlogik: Deduktionsmechanismus
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
Syllogismen:
A
Q(a)
x(Q(x) → R(x))
R(a)
Beispiel:
A
studiertIn(Jan, koblenz)
x(studiertIn(x, koblenz) → schlau(x))
schlau(Jan)
24
Prädikatenlogik: Deduktionsmechanismus
In dieser Vorlesung:
• Resolutionskalkül
• Tableaukalkül
25
Das Prinzip
z.B. natürliche Sprache
Problem
Losung
Formeln
Losung
präzise Beschreibung
26
Anwendungesbeispiel: Sicherheitsprotokole
Ziel: zwei Personen (Alice und Bob) wollen miteinander kommunizieren
• über ein unsicheres Daten- oder Telefonnetz,
• sicher, d. h., ohne daß ein Eindringling (Charlie) mithören oder sich als
Alice oder Bob ausgeben kann.
Hilfsmittel: Verschlüsselung
• Alice und Bob vereinbaren einen gemeinsamen Schlüssel
und nutzen ihn, um ihr Gespräch zu verschlüsseln.
• Nur wer den Schlüssel kennt, kann das Gespräch entschlüsseln.
27
Beispiel: Sicherheitsprotokolle
Problem: wie kommen die Gesprächspartner an den gemeinsamen Schlüssel?
• Persönliche Übergabe kommt nicht immer in Frage.
• Wird der gemeinsame Schlüssel über das Netz
unverschlüsselt verschickt, könnte Charlie ihn abfangen oder
austauschen.
• Annahme: es gibt eine sichere Schlüsselzentrale, mit der Alice und Bob
jeweils einen gemeinsamen Schlüssel vereinbart haben.
28
Beispiel: Sicherheitsprotokolle
Das folgende Schlüsselaustauschverfahren wurde 1993 von den beiden Kryptographen Neuman und Stubblebine vorgeschlagen:
Schritt 1:
Alice schickt (offen) Identifikation und Zufallszahl an Bob.
29
Beispiel: Sicherheitsprotokolle
Schritt 2:
Bob leitet Nachricht weiter an Schlüsselzentrale ( Trust“).
”
30
Beispiel: Sicherheitsprotokolle
Schritt 3:
Trust schickt Nachricht an Alice. Darin: ein neuer gemeinsamer Schlüssel,
einmal für Alice und einmal für Bob verschlüsselt.
31
Beispiel: Sicherheitsprotokolle
Schritt 4:
Alice leitet den neuen gemeinsamen Schlüssel weiter an Bob.
32
Beispiel: Sicherheitsprotokolle
Schritt 5:
Alice und Bob können nun mit dem gemeinsamen Schlüssel kommunizieren.
33
Beispiel: Sicherheitsprotokolle
Ist das Verfahren sicher?
Wir übersetzen das Problem in Formeln und lassen sie von einem
Theorembeweiser untersuchen.
34
Beispiel: Sicherheitsprotokolle
Zuerst formalisieren wir die Eigenschaften des Protokolls:
• Wenn Alice/Bob/Trust eine Nachricht in einem bestimmten Format
bekommt, dann schickt er/sie eine andere Nachricht ab.
Dann formalisieren wir die Eigenschaften des Angreifers:
• Wenn eine Nachricht übermittelt wird, kann Charlie sie mithören.
• Wenn Charlie eine verschlüsselte Nachricht bekommt und den
passenden Schlüssel hat, kann er sie entschlüsseln.
• Wenn Charlie eine Nachricht hat, dann kann er sie an Alice/Bob/Trust
abschicken.
...
35
Formalisierung
Zum Schluss müssen wir noch formalisieren was es bedeutet, dass der
Angreifer Erfolg hat.
Dies ist dann der Fall, wenn er einen Schlüssel zur Kommunikation mit Bob
hat, von dem Bob glaubt, es sei ein Schlüssel für Alice.
E
x[Ik(key (x, b)) ∧ Bk(key (x, a))]
36
Automatische Analyse
Die Formalisierung des Protokolls, Formeln (1)-(8) zusammen mit den
Angreiferformeln (9)-(20) und der Erfolgsbedingung für den Angreifer kann
man nun in einen Theorembeweiser eingeben.
Der Theorembeweiser beweist dann automatisch, dass der Angreifer das
Protokoll brechen kann.
37
Das ganze Bild
Probleme
(Beschreibung in natürlicher Sprache)
Formalisierung
Logische Sprache: Syntax
Aussagenlogik /
Prädikatenlogik
Formel
Modelle: Semantik
Kalkül
Logik
Vollständigkeit
Gültige Formel
Beweisbare Formel
Korrektheit
38
Das ganze Bild
Probleme
(Beschreibung in natürlicher Sprache)
Formalisierung
Modellierung
Logische Sprache: Syntax
Aussagenlogik /
Prädikatenlogik
Formel
Modelle: Semantik
Kalkül
Logik
Vollständigkeit
Gültige Formel
Beweisbare Formel
Korrektheit
39
Das ganze Bild
Probleme
(Beschreibung in natürlicher Sprache)
Formalisierung
Logische Sprache: Syntax
Aussagenlogik /
(automatische)
Prädikatenlogik
Deduktion
Formel
Modelle: Semantik
Kalkül
Logik
Vollständigkeit
Gültige Formel
Beweisbare Formel
Korrektheit
40
Inhalt der Vorlesung
• 1. Einführung: Motivation, Beweisstrategien (insb. Induktion)
• 2. Aussagenlogik
– Syntax und Semantik
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux
• 3. Prädikatenlogik
– Syntax und Semantik
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux
• 4. Weitere Aussichten
- Nichtklassische Logiken; Logiken höherer Stufe
- Anwendungen: z.B. Datenbanken oder Verifikation
41
Einführung: Zusammenfassung
• Ziel und Rolle der Formalen Logik in der Informatik
• Modellierung, Adäquatheit der Modellierung
• Wesentliche Komponenten für jede Logik: Syntax, Semantik,
Deduktionsmechanismus (Kalkül)
• Beispiel Aussagenlogik: Syntax, Semantik, Syllogismen
• Beispiel Prädikatenlogik: Syntax, Semantik, Syllogismen
• The Whole Picture:
– Formel in der “wahren Welt” / (semantisch) gültige Formel,
gültige Formel / ableitbare Formel
– Vollständigkeit und Korrektheit von Kalkülen
42
1. Grundlegende Beweisstrategien
43
Mathematisches Beweisen
Mathematische Aussagen
- haben oft die Form: Wenn A, dann B.
- als Formel: A → B
Mathematischer Beweis
- bzgl. eines vorgegebenen Axiomensystems
- mit Hilfe von Inferenzregeln
44
Grundlegende Beweisstrategien
Mathematische Aussagen der Form A → B (Wenn A, dann B)
- Direkter Beweis:
Annahme: A gilt. Benutze A, Axiome, und Inferenzregeln
um B zu beweisen.
Behauptung: Das Quadrat einer ungeraden natürlichen Zahl n ist stets ungerade.
Beweis: Es sei n eine ungerade natürliche Zahl. Dann lässt sich n als n = 2k + 1
darstellen, wobei k ∈ N. Daraus folgt mit Hilfe der ersten binomischen Formel,
dass:
2
2
2
2
n = (2k + 1) = 4k + 4k + 1 = 2 · (2k + 2k) + 1.
Aus der Möglichkeit, n2 so darzustellen folgt, dass n2 ungerade ist.
45
Grundlegende Beweisstrategien
Mathematische Aussagen der Form A → B (Wenn A, dann B)
- Beweis durch Kontraposition:
Beweis von ¬B → ¬A.
- Beweis durch Widerspruch:
Beweise dass A ∧ ¬B → falsch
Behauptung: Ist die Wurzel aus einer geraden natürlichen Zahl n eine natürliche
Zahl, so ist diese gerade.
√
Beweis: Angenommen, n = k wäre ungerade. Dann ist wegen der bereits bewiesenen Behauptung auch k 2 = n ungerade, und das ist ein Widerspruch zu der
Voraussetzung, dass n gerade ist.
√
Also ist die getroffene Annahme falsch, d.h., n ist gerade.
46
Grundlegende Beweisstrategien
Mathematische Aussagen, die nicht die Form A → B haben
- Äquivalenzbeweis (A ⇔ B) (A genau dann, wenn B)
Beweise dass A → B und dass B → A.
(Wenn A, dann B, und wenn B, dann A.)
47
Grundlegende Beweisstrategien
- Beweis durch Widerspruch
Um A zu beweisen:
Annahme: A ist falsch (die Negation von A ist wahr)
Zeige, dass dies zu einem Widerspruch führt.
√
Behauptung: 2 6∈ Q.
√
√
Beweis: Wir nehmen an dass 2 ∈ Q und somit 2 =
p
q
wobei der Bruch p/q in gekürzter
2
= 2, d.h: p 2 = 2q 2 .
Form vorliegt (d.h. p und q teilerfremde ganze Zahlen sind). Dann pq
Da 2q 2 eine gerade Zahl ist, ist auch p 2 gerade. Daraus folgt, dass auch p gerade ist, d.h.
p = 2r (wobei r ∈ Z). Damit erhält man mit obiger Gleichung: 2q 2 = p 2 = (2r )2 = 4r 2 ,
und hieraus nach Division durch 2: q 2 = 2r 2 . Mit der gleichen Argumentation wie zuvor folgt,
dass q 2 und damit auch q eine gerade Zahl ist. Da p und q durch 2 teilbar sind, erhalten
wir einen Widerspruch zur Teilerfremdheit von p und q. Dieser Widerspruch zeigt, dass die
√
Annahme, 2 sei eine rationale Zahl, falsch ist und daher das Gegenteil gelten muss. Damit
√
ist die Behauptung, dass 2 irrational ist, bewiesen.
48
Grundlegende Beweisstrategien
- Beweis durch Fallunterscheidung
Um B zu beweisen, beweise dass A1 → B, . . . , An → B,
wobei A1 ∨ · · · ∨ An ≡ wahr
Behauptung: Jede Primzahl p≥3 hat die Form p = 4·k + 1 oder p = 4·k − 1 mit k ∈ N.
Beweis: Man unterscheidet folgende vier Fälle für p, von denen immer genau einer eintritt:
Fall
Fall
Fall
Fall
1:
2:
3:
4:
p
p
p
p
=
=
=
=
4k
4k + 1
4k + 2
4k + 3 = 4(k + 1) − 1
Im ersten dieser Fälle ist p durch 4 teilbar und damit keine Primzahl,
im dritten Fall ist p durch 2 teilbar und somit ebenfalls keine Primzahl.
Also muss einer der Fälle zwei oder vier eintreten, das heißt p hat die Form p = 4 · k + 1
oder p = 4 · k − 1 mit k ∈ N.
49
Grundlegende Beweisstrategien
- Beweis durch Fallunterscheidung
Um B zu beweisen, beweise dass A1 → B, . . . , An → B,
wobei A1 ∨ · · · ∨ An ≡ wahr
Es sei angemerkt, dass die Fallunterscheidung zwar vollständig sein
muss, aber die untersuchten Fälle sich nicht gegenseitig ausschließen
müssen.
50
Grundlegende Beweisstrategien
Aussagen mit Quantoren
A
x ∈ U : (p(x) → q(x))
Wähle a beliebig aus U.
Beweise, dass p(a) → q(a).
Da a beliebig gewählt werden kann, folgt
x ∈ U : p(x) → q(x)
A
A
Behauptung:
n ∈ N : (n ist gerade und
|
√
√
n ist eine natürliche Zahl → n ist gerade).
|
{z
}
{z
}
p(n)
q(n)
Beweis: Sei n beliebig aus N.
√
√
Wir zeigen, dass wenn n gerade ist und n eine natürliche Zahl ist, dann n gerade ist.
(Dies wurde auf Seite 46 bewiesen.)
51
Grundlegende Beweisstrategien
Aussagen mit Quantoren
E
x ∈ U A(x)
Sei a ein geeignetes Element aus U.
Beweise, dass A(a) wahr ist.
Damit folgt x ∈ U : A(x).
E
Behauptung: x ∈ N : x 2 − 2x + 1 = 0
E
Beweis: A(x) : x 2 − 2x + 1 = 0
Sei a = 1. Wir zeigen, dass A(a) wahr ist:
Damit folgt x ∈ N : A(x)
a2 − 2a + 1 = 12 − 2 + 1 = 0.
52
E
Grundlegende Beweisstrategien
Aussagen mit Quantoren
E
x ∈ U A(x)
Sei a ein geeignetes Element aus U.
Beweise, dass A(a) wahr ist.
Damit folgt x ∈ U : A(x).
E
E
x ∈ U (p(x) → q(x))
Sei a ein geeignetes Element aus U.
Beweis der Implikation p(a) → q(a).
Damit folgt x ∈ U : p(x) → q(x).
E
53
Grundlegende Beweisstrategien
Beweise mittels Vollständiger Induktion
54
Induktion
Wesentliches Beweisprinzip in Mathematik und Logik
Einfache Version
Induktion über die natürlichen Zahlen N
(natural induction)
Generalization
Noethersche Induktion
(noetherian induction/
induction over well-founded partially ordered sets)
Hier: Strukturelle Induktion
55
Induktion über die natürlichen Zahlen
Idee: Definition der natürlichen Zahlen
(A1)
0 ist eine natürliche Zahl
(A2)
Jede natürliche Zahl n hat einen Nachfolger S(n)
(A3)
Aus S(n) = S(m) folgt n = m
(A4)
0 ist nicht Nachfolger einer natürlichen Zahl
(A5)
Jede Menge X , die 0 und mit jeder natürlichen Zahl n
auch deren Nachfolger S(n) enthält, umfasst alle
natürlichen Zahlen.
56
Induktion über die natürlichen Zahlen
(A5)
Jede Menge X , die 0 und mit jeder natürlichen Zahl n
auch deren Nachfolger S(n) enthält, umfasst alle
natürlichen Zahlen.
A
X Menge:
Falls
0 ∈ X , und
A
n ∈N:n ∈X →n+1∈X
A
so
n∈N:n∈X
Induktionssatz
Gelten die beiden Aussagen:
- p(0) und
- n ∈ N : p(n) → p(n + 1),
dann gilt auch n ∈ N : p(n).
Induktionsbasis
Induktionsschritt
A
A
57
Induktion über die natürlichen Zahlen
Struktur eines Induktionsbeweises
(1)
Induktionsbasis:
Beweise p(0)
(2)
Induktionsschritt:
Beweise p(n) → p(n + 1)
für ein beliebiges n ∈ N
58
Induktion über die natürlichen Zahlen
Struktur eines Induktionsbeweises
(1)
Induktionsbasis:
Beweise p(0)
(2)
Induktionsvoraussetzung:
Für ein beliebig gewähltes
n ∈ N gilt p(n)
(3)
Induktionsschluss:
Folgere p(n + 1) aus der
Induktionsvoraussetzung p(n)
0
1
2
3
59
Beispiel
Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 .
n−1
X
(2i + 1) = n2 .
Für alle n ∈ N,
n−1
X
i=0
(2i + 1) = n2
p(n) :
i=0
(1)
Induktionsbasis:
Beweise p(0) OK
(2)
Induktionsvoraussetzung:
Für ein beliebig gewähltes
n−1
X
2
(2i + 1) = n
n ∈ N gilt p(n):
i=0
(3)
Induktionsschluss:
Folgere p(n +
1) aus p(n)
n
X
2
(2i + 1) = (n + 1) .
p(n + 1) :
i=0
Beweis:
n
X
i=0
(2i + 1) = (
n−1
X
p(n)
2
2
(2i + 1)) + (2n + 1) = n + (2n + 1) = (n + 1) .
i=0
60
Wohlfundierte (Noethersche) Induktion
Verallgemeinerte vollständige Induktion
Gelten die beiden Aussagen:
p(0)
und
n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1)
A
A
dann gilt die Aussage
n ∈ N : p(n).
Äquivalent
Gelten die beiden Aussagen:
p(0)
und
n ∈ N : ( k ∈ N : (k < n + 1 → p(k)) → p(n + 1))
A
A
A
dann gilt die Aussage
n ∈ N : p(n).
61
Wohlfundierte (Noethersche) Induktion
Verallgemeinerte vollständige Induktion
Gelten die beiden Aussagen:
p(0)
und
n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1)
A
A
dann gilt die Aussage
n ∈ N : p(n).
Äquivalent
Gilt die Aussage:
A
A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
dann gilt die Aussage
n ∈ N : p(n).
62
Vollständige Induktion
A
Zu zeigen:
n ≥ n0 : P(n)
Sei n ∈ N, n ≥ n0 .
Induktionsvoraussetzung: p(k) gilt für alle k < n
Induktionsschluss: Folgere p(n) aus der Induktionsvoraussetzung.
63
Wohlfundierte (Noethersche) Induktion
A
Theorem:
Falls
A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
n ∈ N : p(n)
dann gilt
P
Q
Beweis: Zu zeigen: P → Q
Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P
E
A
Annahme: ¬Q := ¬( n ∈ N : p(n)) ≡ n ∈ N : ¬p(n).
> wohlfundierte Ordnung auf N: es gibt keine unendliche Folge
x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . .
Sei Y = {n ∈ N | ¬p(n)} 6= ∅. Dann hat Y ein minimales Element m, d.h.
m(m ∈ Y ∧ ( k ∈ N : (k < m → k 6∈ Y ))) = ¬P.
A
64
E
Wohlfundierte (Noethersche) Induktion
A
Theorem:
Falls
A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
n ∈ N : p(n)
dann gilt
P
Q
Beweis: Zu zeigen: P → Q
Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P
E
A
Annahme: ¬Q := ¬( n ∈ N : p(n)) ≡ n ∈ N : ¬p(n).
> wohlfundierte Ordnung auf N: es gibt keine unendliche Folge
x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . .
Sei Y = {n ∈ N | ¬p(n)} 6= ∅. Dann hat Y ein minimales Element m, d.h.
m(m ∈ Y ∧ ( k ∈ N : (k < m → k 6∈ Y ))) = ¬P.
A
65
E
Wohlfundierte (Noethersche) Induktion
A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
dann gilt
A
Theorem:
Falls
n ∈ N : p(n)
P
Q
Verallgemeinerung
- beliebige Menge A statt N
- < Ordnung auf A
- < wohlfundiert (es gibt keine unendliche Folge x1 , . . . , xn , . . . mit
x1 > x2 > · · · > xn > . . . )
66
Beispiel
Satz: Jede natürliche Zahl n ≥ 2 lässt sich als Produkt von Primzahlen darstellen.
p(n): n ≥ 2 → n lässt sich als Produkt von Primzahlen darstellen.
Beweis: Sei n ∈ N, n ≥ 2, beliebig gewählt.
Induktionsvoraussetzung: p(k) gilt für alle k < n
Induktionsschluss: Folgere p(n) aus der Induktionsvoraussetzung.
Fallunterscheidung:
Fall 1: n Primzahl. Dann lässt sich n als Produkt von Primzahlen
darstellen (n = n)
Fall 2: n keine Primzahl. Dann n = k1 · k2 , mit k1 , k2 ∈ N, k1 , k2 ≥ 2.
Da aber ki < n, i = 1, 2 ist nach Induktionsvoraussetzung bereits eine
Darstellung als Produkt von Primzahlen für ki bekannt.
Multipliziert man diese beiden Produkte miteinander, so erhält man
eine Darstellung für n.
67
Fehlerquellen
Häufige Fehler bei Induktionsbeweisen
• es gibt unendliche absteigende Ketten x1 > x2 > . . .
• Induktionsanfäng inkorrekt
• Bei Induktionsschritt die Grenzfälle nicht bedacht
68
Fehlerquellen
Was ist hier falsch?
Behauptung: Alle Menschen haben die gleiche Haarfarbe
p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe
Induktionbasis: n = 1
Für eine Menge mit nur einem Menschen gilt die Behauptung trivial
69
Fehlerquellen
Was ist hier falsch?
Behauptung: Alle Menschen haben die gleiche Haarfarbe
p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe
Induktionsvoraussetzung: p(n) wahr.
Induktionsschritt: Beweise, dass aus p(n), p(n + 1) folgt.
n + 1 Menschen werden in eine Reihe gestellt.
Der Mensch links außen wird rausgeschickt. Es bleiben nur n Menschen.
Nun kann die Induktionsbehauptung angewendet werden und alle
verbliebenen haben die gleiche Haarfarbe (mit dem rechts außen).
70
Fehlerquellen
Was ist hier falsch?
Behauptung: Alle Menschen haben die gleiche Haarfarbe
p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe
Induktionsvoraussetzung: p(n) wahr.
Induktionsschritt: Beweise, dass aus p(n), p(n + 1) folgt.
n + 1 Menschen werden in eine Reihe gestellt.
Der Mensch rechts außen wird rausgeschickt. Es bleiben nur n Menschen.
Die Induktionsbehauptung kann angewendet werden und alle
verbliebenen haben die gleiche Haarfarbe (mit dem links außen).
Also haben die beiden außen die gleiche Haarfarbe, wie die in
der Mitte, und die haben auch alle die gleiche Haarfarbe
Also haben alle n + 1 Menschen die gleiche Haarfarbe.
71
Strukturelle Induktion
Bei der vollständigen Induktion werden Eigenschaften der natürlichen
Zahlen bewiesen.
Bei der strukturellen Induktion werden Eigenschaften für Mengen bewiesen,
deren Elemente aus Grundelementen durch eine endliche Anzahl von
Konstruktionsschritten (unter Verwendung bereits konstruierter Elemente)
bzw. mittels eines Erzeugungssystems entstehen.
72
Induktive Definitionen
Induktive Definition von Mengen:
Induktive Definition einer Menge M aus einer Basismenge B mit
“Konstruktoren” in Σ.
(Konstruktoren sind Funktionssymbole; für f ∈ Σ, a(f ) ∈ N ist die
Stelligkeit von f .)
Basismenge:
B
Erzeugungsregel:
Wenn f ∈ Σ mit Stelligkeit n und
e1 , . . . , en ∈ M, dann gilt f (e1 , . . . , en ) ∈ M.
M ist die kleinste Menge,
• die die Basismenge B enthält,
• mit der Eigenschaft, dass für alle f ∈ Σ mit Stelligkeit n und alle
e1 , . . . , en ∈ M: f (e1 , . . . , en ) ∈ M.
73
Induktive Definitionen: Beispiele
(1) Menge N aller natürlichen Zahlen
Basismenge:
0
Erzeugungsregel:
Wenn n ∈ N, dann gilt n + 1 ∈ N
N ist die kleinste aller Mengen A mit folgenden Eigenschaften:
(1) A enthält 0;
(2) für alle Elemente n, falls n ∈ A so n + 1 ∈ A.
Das bedeutet, dass:
(1) 0 ∈ N
(2) Falls n ∈ N so n + 1 ∈ N.
(3) Für jede Menge A mit Eigenschaften (1) und (2) gilt: N ⊆ A.
74
Induktive Definitionen: Beispiele
(2) Menge Σ∗ aller Wörter über ein Alphabet Σ
Basismenge:
Erzeugungsregel:
Das leere Wort ǫ ∈ Σ∗
Wenn w ∈ Σ∗ und a ∈ Σ,
dann gilt wa ∈ Σ∗
Σ∗ ist die kleinste aller Mengen A mit folgenden Eigenschaften:
(1) A enthält das leere Wort ǫ
(2) für alle Elemente w , falls w ∈ A und a ∈ Σ, so wa ∈ A.
Das bedeutet, dass:
(1) ǫ ∈ Σ∗
(2) Falls w ∈ Σ∗ und a ∈ Σ so wa ∈ Σ∗ .
(3) Für jede Menge A mit Eigenschaften (1) und (2) gilt: Σ∗ ⊆ A.
75
Induktive Definitionen: Beispiele
(3) Bin : die Menge aller (vollständigen) binären Bäume
Basismenge:
Erzeugungsregel:
◦ Baum mit nur einem Knoten.
Wenn B1 , B2 ∈ Bin, dann ist auch
Tree(B1 , B2 ) ∈ Bin.
Tree(B1 , B2 )
B1
B2
Beispiele:
= Tree( ,
)
= Tree( ,
)
= Tree(
,
)
76
Induktive Definitionen: Beispiele
(3) Bin : die Menge aller (vollständigen) binären Bäume
Basismenge:
Erzeugungsregel:
◦ Baum mit nur einem Knoten.
Wenn B1 , B2 ∈ Bin, dann ist auch
Tree(B1 , B2 ) ∈ Bin.
Bin ist die kleinste aller Mengen A mit folgenden Eigenschaften:
(1) A enthält der Baum mit nur einem Knoten ◦.
(2) für alle Elemente B1 , B2 , falls B1 , B2 ∈ A so Tree(B1 , B2 ) ∈ A.
Das bedeutet, dass:
(1) ◦ ∈ Bin
(2) Falls B1 , B2 ∈ Bin so Tree(B1 , B2 ) ∈ Bin.
(3) Für jede Menge A mit Eigenschaften (1) und (2) gilt: Bin ⊆ A.
77
Induktive Definitionen: Beispiele
(4) Menge aller aussagenlogischen Formeln
Basismenge:
⊥ (falsch), ⊤ (wahr), P0 , P1 , P2 , . . . sind
aussagenlogische Formeln
Erzeugungsregel:
(atomare Formeln)
Wenn F1 , F2 aussagenlogische Formeln sind,
dann sind auch ¬F1 , F1 ∧ F2 , F1 ∨ F2 ,
F1 → F2 , F1 ↔ F2 aussagenlogische Formeln
78
Induktive Definitionen
Induktive Definition von Mengen:
Induktive Definition einer Menge M aus einer Basismenge B mit Operationssymbole
(“Konstruktoren”) Σ (wobei a(f ) Stelligkeit von f für f ∈ Σ).
Basismenge:
B
Erzeugungsregel:
Wenn f ∈ Σ mit Stelligkeit n und
e1 , . . . , en ∈ M, dann gilt f (e1 , . . . , en ) ∈ M.
M ist die kleinste aller Mengen A mit folgenden Eigenschaften:
(1) A enthält die Basismenge B
(2) für alle Elemente e1 , . . . , en ∈ A, und alle f ∈ Σ (mit Stelligkeit n), ist auch
f (e1 , . . . , en ) in A.
Dass bedeutet, dass:
(1) B ⊆ M
(2) Falls e1 , . . . , en ∈ M und f ∈ Σ (mit Stelligkeit n), so f (e1 , . . . , en ) ∈ M.
(3) Für jede Menge A mit Eigenschaften (1) und (2) gilt: M ⊆ A.
79
Strukturelle Induktion
A
Zu zeigen:
x ∈ M : P(x)
(1) Induktionsbasis: Beweise, dass für alle b ∈ B, P(b) gilt.
(2) Sei e ∈ M, e 6∈ B.
Dann e = f (e1 , . . . , en ), mit f ∈ Σ und e1 , . . . , en ∈ M.
Induktionsvoraussetzung: Wir nehmen an, dass P(e1 ), . . . , P(en ) gelten.
Induktionsschluss: Folgere, dass P(e) gilt.
80
Strukturelle Induktion
Satz. Falls:
(1) bewiesen werden kann, dass für alle b ∈ B, P(b) gilt.
(2) falls e = f (e1 , . . . , en ) mit f ∈ Σ
unter der Annahme dass P(e1 ), . . . , P(en ) gelten
wir beweisen können, dass auch P(e) gilt
(Induktionsbasis)
(Induktionsvoraussetzung)
(Induktionsschritt)
Dann gilt P(m) für alle m ∈ M.
Beweis: Sei A = {e | P(e) wahr }.
(1) Da bewiesen werden kann, dass für alle b ∈ B, P(b) gilt, wissen wir, dass A die
Basismenge B enthält.
(2) Da wir, aus der Annahme dass P(e1 ), . . . , P(en ) wahr sind, beweisen können,
dass auch P(e) wahr ist, wissen wir, dass
falls e1 , . . . , en ∈ A, und f ∈ Σ (mit Stelligkeit n), so f (e1 , . . . , en ) in A.
Da M die kleinste aller Mengen mit Eigenschaften (1) und (2) ist, folgt, dass
M ⊆ A = {e | P(e) wahr }, d.h.
m ∈ M, P(m) wahr.
A
81
Beispiel
Σ∗ : die Menge aller Wörter über ein Alphabet Σ
Basismenge:
Das leere Wort ǫ ∈ Σ∗
Erzeugungsregel:
Wenn w ∈ Σ∗ und a ∈ Σ,
dann gilt wa ∈ Σ∗
Sei die Umkehrung (Reverse) eines Wortes wie folgt definiert:
rev(ǫ) = ǫ
rev(wa) = a rev(w ) mit w ∈ Σ∗ und a ∈ Σ.
82
Beispiel
A
Zu zeigen:
w1 , w2 ∈ Σ∗ , rev(w1 w2 ) = rev(w2 )rev (w1 )
Sei w1 ∈ Σ∗ , beliebig.
A
Zu zeigen: w2 ∈ Σ∗ , p(w2 )
wobei: p(w2 ) :
rev(w1 w2 ) = rev(w2 )rev(w1 )
Induktion über die Struktur von w2 .
(1) Induktionsbasis: Wir zeigen, dass die Eigenschaft gilt für w2 = ǫ
(d.h. dass P(ǫ) : rev(w1 ǫ) = rev(ǫ)rev(w1 ) wahr ist).
Beweis: rev(w1 ǫ) = rev(w1 ) = ǫrev (w1 ) = rev(ǫ)rev (w1 ).
83
Beispiel
A
Zu zeigen:
w1 , w2 ∈ Σ, rev(w1 w2 ) = rev(w2 )rev (w1 )
Sei w1 ∈ Σ∗ , beliebig.
A
Zu zeigen:
w2 ∈ Σ, p(w2 )
wobei: p(w2 ) :
rev(w1 w2 ) = rev(w2 )rev(w1 )
(2) Sei w2 ∈ Σ∗ , w2 6= ǫ. Dann w2 = wa.
Induktionsvoraussetzung: Wir nehmen an, dass p(w ) gilt,
d.h. dass rev(w1 w ) = rev(w )rev (w1 ).
Induktionsschluss: Wir beweisen, dass dann p(w2 ) gilt.
rev(w1 w2 )
=
rev(w1 (wa)) = rev((w1 w )a) = a rev(w1 w )
=
a rev(w )rev(w1 )
=
(a rev(w ))rev(w1 ) = rev(wa)rev(w1 )
=
rev(w2 )rev(w1 )
(Definition von rev)
(Induktionsvoraussetzung)
(Definition von rev)
84
Beispiel 2
Bin : Menge allen (vollständigen) binären Bäume
Basismenge:
◦ Baum mit nur einem Knoten.
Erzeugungsregel:
Wenn B1 , B2 ∈ Bin, dann ist auch
Tree(B1 , B2 ) ∈ Bin.
Tree(B1 , B2 )
B1
B2
85
Beispiel 2
Behauptung:
Für alle B ∈ Bin, falls B n Blätter hat, so besitzt B genau n − 1 innere Knoten.
P(B) :
Falls B n ≥ 1 Blätter hat,
dann besitzt B genau n − 1 innere Knoten.
(1) Induktionsbasis: Wir zeigen, dass P(B) gilt wenn B nur aus einem Knoten ◦
besteht.
Beweis: Sei B Baum, der nur aus einem Knoten besteht.
Dann besteht T nur aus einem Blatt, und B hat keinen inneren Knoten. d.h.
P(B) gilt.
86
Beispiel 2 ... ctd.
(2) Sei B ∈ Bin, B nicht in der Basismenge, d.h. B = Tree(B1 , B2 ).
Induktionsvoraussetzung: Wir nehmen an, dass P(B1 ), P(B2 ) gelten.
Induktionsschluss: Wir beweisen, dass P(B) gilt.
Beweis: Sei B = Tree(B1 , B2 ). Dann gilt:
• n = n1 + n2 , wobei n, n1 , n2 Anzahl der Blätter von B, B1 bzw. B2 sind.
• mit m, m1 , m2 als Anzahl innerer Knoten von B, B1 bzw. B2 :
=
1 + m1 + m2
nach Definition von B = Tree(B1 , B2 )
=
1 + (n1 − 1) + (n2 − 1)
nach Induktionsvoraussetzung
=
(n1 + n2 ) − 1 = n − 1.
Somit ist es bewiesen, dass
A
m
B ∈ Bin, P(B) gilt.
87
Zusammenfassung
• Grundlegende Beweisstrategien
• Induktion über die natürlichen Zahlen
• Fehlerquellen
• Strukturelle Induktion
88
2. Aussagenlogik
Teil 1
23.04.2013
89
Beispiel: Das 8-Damen Problem
Man platziere acht Damen so auf einem Schachbrett, dass sie sich
gegenseitig nicht bedrohen.
90
Beispiel: Das 8-Damen Problem
Beschreibung des Problems
Für jedes Feld des Schachbretts eine aussagenlogische Variable
Dij
Mit der Vorstellung, dass Dij den Wert wahr hat, wenn auf dem Feld (i, j)
eine Dame steht.
Wir benutzen kartesische Koordinaten zur Notation von Positionen
91
Beispiel: Das 8-Damen Problem
Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr.
Einschränkungen pro Feld: Fij
Falls auf dem Feld (5, 7) eine Dame steht:
• keine andere Dame auf Feld
(5,8), (5,6), (5,5), (5,4),(5,3), (5,2), (5,1)
D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1
• keine andere Dame auf Feld
(1,7), (2,7), (3,7), (4,7),(6,7), (7,7), (8,7)
D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87
• keine andere Dame auf Feld (6,8), (4,6), (3,5), (2,4),(1,3)
D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3
• keine andere Dame auf Feld (4,8), (6,6), (7,5), (8,4)
D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4
92
Beispiel: Das 8-Damen Problem
Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr.
Einschränkungen pro Feld: Fij
D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1
D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87
D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3
D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4
|
{z
F57
}
Globale Einschränkungen
Für jedes k mit 1 ≤ k ≤ 8:
Rk := D1,k ∨ D2,k ∨ D3,k ∨ D4,k ∨ D5,k ∨ D6,k ∨ D7,k ∨ D8,k
93
Beispiel: Das 8-Damen Problem
Struktur: Wahrheitswerte für die atomaren Aussagen Dij
Modell für Fij (Rk ): Wahrheitswerte für die atomaren Aussagen Dij so dass
Fij wahr (bzw. Rk wahr).
Lösung des 8-Damen Problems:
Eine aussagenlogische Struktur beschreibt eine Lösung des 8-DamenProblems genau dann, wenn sie ein Modell der Formeln
• Fij für alle 1 ≤ i, j ≤ 8
• Rk für alle 1 ≤ k ≤ 8
ist.
94
Formale Logik
• Syntax
welche Formeln?
• Semantik
Modelle (Strukturen)
Wann ist eine Formel wahr (in einer Struktur)?
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
95
Syntax der Aussagenlogik: Logische Zeichen
⊤ Symbol für die Formel “wahr”
⊥ Symbol für die Formel “falsch”
¬ Negationssymbol (“nicht”)
∧ Konjunktionssymbol (“und”)
∨ Disjunktionssymbol (“oder”)
→ Implikationssymbol (“wenn . . . dann”)
↔ Symbol für Äquivalenz (“genau dann, wenn”)
( ) die beiden Klammern
96
Vokabular der Aussagenlogik
Abzählbare Menge von Symbolen, etwa
Π = {P0 , . . . , Pn }
oder
Π = {P0 , P1 , . . . }
Bezeichnungen für Symbole in Π
• atomare Aussagen
• Atome
• Aussagenvariablen
97
Formeln der Aussagenlogik
Definition: Menge ForΠ der Formeln über Π:
Die kleinste Menge mit:
• ⊤ ∈ ForΠ und ⊥∈ ForΠ
• Π ⊆ ForΠ
• Wenn F , G ∈ ForΠ , dann auch
¬F , (F ∧ G ), (F ∨ G ), (F → G ), (F ↔ G )
Elemente von ForΠ .
98
Aussagenformeln
ForΠ
Menge der Formeln über Π:
F, G, H
::=
⊥
(Falsum)
|
⊤
(Verum)
|
P,
|
¬F
|
(F ∧ G )
(Konjunktion)
|
(F ∨ G )
(Disjunktion)
|
(F → G )
(Implikation)
|
(F ↔ G )
(Äquivalenz)
P∈Π
(atomare Formel)
(Negation)
99
Konventionen zur Notation
• Klammereinsparungen werden nach folgenden Regeln vorgenommen:
– ¬
>p
∧
>p
∨
>p
→
>p
↔
(Präzedenzen),
– ∨ und ∧ sind assoziativ und kommutativ,
100
Konventionen zur Notation
• Klammereinsparungen werden nach folgenden Regeln vorgenommen:
– ¬
>p
∧
>p
∨
>p
→
>p
↔
(Präzedenzen),
– ∨ und ∧ sind assoziativ und kommutativ,
Beispiele: Π = {P, Q, R}
⊥, P, ¬Q, P ∧ ¬Q, (P ∨ (¬R ∧ ⊤))
sind Formeln
Wir schreiben P ∧ Q ∧ R statt (P ∧ Q) ∧ R.
101
Beispiel: 8-Damenproblem
Aussagenlogische Variablen
Di,j bedeutet: Auf dem Feld (i, j) steht eine Dame.
Formeln
“Wenn auf dem Feld (5, 7) eine Dame steht, kann keine Dame auf Feld
(5,8), (5,6), (5,5), (5,4),(5,3), (5,2), (5,1) stehen”:
D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1
102
Beispiel 1
Wenn ich kein Bier zu einer Mahlzeit trinke, dann habe ich immer Fisch.
◮ ¬B→F
Immer wenn ich Fisch und Bier zur selben Mahlzeit habe, verzichte ich
auf Eiscreme.
◮ F ∧B→ ¬E
Wenn ich Eiscreme habe oder Bier meide, dann rühre ich Fisch nicht an.
◮ E ∨¬B→ ¬F
103
Beispiel 1
◮ ¬B→F
◮ F ∧B→ ¬E
◮ E ∨¬B→ ¬F
Wir möchten wissen, welche Menüs solche Diätregeln erfüllen.
z.B.:
Formalisierung:
• kein Bier, Fisch und Eiscreme
erfüllt 3. Diätregel nicht!
B 7→ falsch, F 7→ wahr, E 7→ wahr
• Bier, Fisch, keine Eiscreme
erfüllt alle Diätregeln
B 7→ wahr, F 7→ wahr, E 7→ falsch
104
Beispiel 1
◮ ¬B→F
◮ F ∧B→ ¬E
◮ E ∨¬B→ ¬F
Wir möchten wissen, welche Menüs solche Diätregeln erfüllen.
z.B.:
Formalisierung:
0:falsch, 1:wahr
A : {B, F , E } → {0, 1}
• kein Bier, Fisch und Eiscreme
erfüllt 3. Diätregel nicht!
A(B) = 0, A(F ) = 1, A(E ) = 1
• Bier, Fisch, keine Eiscreme
erfüllt alle Diätregeln
A(B) = 1, A(F ) = 1, A(E ) = 0
105
Semantik der Aussagenlogik
Π eine aussagenlogische Signatur
Aussagenvariablen für sich haben keine Bedeutung.
Hierfür müssen Wertebelegungen (Valuationen) explizit oder implizit aus
dem Kontext zur Verfügung stehen.
Eine Valuation (Wertebelegung) ist eine Abbildung
A : Π → {0, 1}
Wir werden Wertebelegungen auch Aussagenlogische Strukturen,
Aussagenlogische Modelle oder Interpretationen nennen.
106
Semantik der Aussagenlogik
Π eine aussagenlogische Signatur
Aussagenvariablen für sich haben keine Bedeutung.
Hierfür müssen Wertebelegungen (Valuationen) explizit oder implizit aus
dem Kontext zur Verfügung stehen.
Eine Wertebelegung ist eine Abbildung
A : Π → {0, 1}
Beispiel:
A
B
C
0
1
0
(Bei drei Symbolen gibt es 8 mögliche Modelle)
107
Semantik der Aussagenlogik
Auswertung von Formeln
Sei A : Π → {0, 1} eine Wertebelegung.
A∗ : ForΠ → {0, 1} wird wie folgt definiert:
A∗ (⊥) = 0
A∗ (⊤) = 1
A∗ (P) = A(P)
108
Semantik der Aussagenlogik
Auswertung von Formeln
Sei A : Π → {0, 1} eine Wertebelegung.
A∗ : ForΠ → {0, 1} wird wie folgt definiert:

 0
∗
A (¬F ) =
 1
falls
A∗ (F ) = 1
falls
A∗ (F ) = 0
109
Semantik der Aussagenlogik
Auswertung von Formeln
Sei A : Π → {0, 1} eine Wertebelegung.
A∗ : ForΠ → {0, 1} wird wie folgt definiert:

 0
∗
A (F1 ∧ F2 ) =
 1
falls
A∗ (F1 ) = 0 oder A∗ (F2 ) = 0
falls
A∗ (F1 ) = A∗ (F2 ) = 1
110
Semantik der Aussagenlogik
Auswertung von Formeln
Sei A : Π → {0, 1} eine Wertebelegung.
A∗ : ForΠ → {0, 1} wird wie folgt definiert:

 0
∗
A (F1 ∧ F2 ) =
 1

 0
A∗ (F1 ∨ F2 ) =
 1
falls
A∗ (F1 ) = 0 oder A∗ (F2 ) = 0
falls
A∗ (F1 ) = A∗ (F2 ) = 1
falls
A∗ (F1 ) = A∗ (F2 ) = 0
falls
A∗ (F1 ) = 1 oder A∗ (F2 ) = 1
111
Semantik der Aussagenlogik
Auswertung von Formeln
Sei A : Π → {0, 1} eine Wertebelegung.
A∗ : ForΠ → {0, 1} wird wie folgt definiert:

 1
∗
A (F1 → F2 ) =
 0

 1
A∗ (F1 ↔ F2 ) =
 0
falls
A∗ (F1 ) = 0 oder A∗ (F2 ) = 1
falls
A∗ (F1 ) = 1 und A∗ (F2 ) = 0
falls
A∗ (F1 ) = A∗ (F2 )
sonst
112
Wahrheitstafel für die logischen Operatoren
P
¬P
0
1
1
0
∧
0
1
∨
0
1
0
0
0
0
0
1
1
0
1
1
1
1
→
0
1
↔
0
1
0
1
1
0
1
0
1
0
1
1
0
1
113
Semantik der Aussagenlogik
Auswertung von Formeln
Sei A : Π → {0, 1} eine Π-Valuation.
A∗ : ForΠ → {0, 1} wird induktiv über Aufbau von F wie folgt definiert:
A∗ (⊥) = 0
A∗ (⊤) = 1
A∗ (P) = A(P)
A∗ (¬F ) = 1 − A∗ (F )
A∗ (F ρG ) = Bρ (A∗ (F ), A∗ (G ))
Bρ (x, y ) berechnet entschpr. der Wahrheitstafel für ρ
z.B. : B∨ (0, 1) = (0 ∨ 1) = 1; B→ (1, 0) = (1 → 0) = 0
Wir schreiben normalerweise A statt A∗ .
114
Beispiel
Sei A : {P, Q, R} → {0, 1} mit A(P) = 1, A(Q) = 0, A(R) = 1.
A∗ ((P ∧ (Q ∨ ¬P)) → R)
=
A∗ (P ∧ (Q ∨ ¬P) → A∗ (R)
=
(A∗ (P) ∧ A∗ (Q ∨ ¬P)) → A∗ (R)
=
(A(P) ∧ (A(Q) ∨ ¬A(P))) → A(R)
=
(1 ∧ (0 ∨ ¬1)) → 1
=
1
115
Wahrheitstabellen: Beispiel
F = (A ∨ C ) ∧ (B ∨ ¬C )
(A ∨ C )
¬C
(B ∨ ¬C )
(A ∨ C ) ∧ (B ∨ ¬C )
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
A
B
C
0
0
0
0
0
0
0
1
1
0
116
Modell einer Formel(menge)
Definition: Interpretation A ist Modell einer Formel F ∈ ForΠ , falls
A∗ (F ) = 1.
Definition: Interpretation A ist Modell einer Formelmenge M ⊆ ForΠ , falls
A∗ (F ) = 1 für alle F ∈ M
Notation:
A |= F
A |= M
117
Beispiel
F = (A ∨ C ) ∧ (B ∨ ¬C )
(A ∨ C )
¬C
(B ∨ ¬C )
(A ∨ C ) ∧ (B ∨ ¬C )
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
A
B
C
0
0
0
0
0
0
0
1
1
0
Sei A : {P, Q, R} → {0, 1} mit A(P) = 0, A(Q) = 1, A(R) = 1.
A |= (A ∨ C ) ∧ (B ∨ ¬C )
A |= {(A ∨ C ), (B ∨ ¬C )}
118
Gültigkeit und Erfüllbarkeit
Definition: F gilt in A (oder A ist Modell von F )
gdw.
A(F ) = 1.
Notation: A |= F
Definition: F ist (allgemein-) gültig (oder eine Tautologie)
F , für alle A : Π → {0, 1}
gdw.:
A |=
Notation: |= F
Definition: F heißt erfüllbar gdw. es A : Π → {0, 1} gibt, so dass A |= F .
Sonst heißt F unerfüllbar (oder eine Kontradiktion).
119
Beispiel
F = (A ∨ C ) ∧ (B ∨ ¬C )
(A ∨ C )
¬C
(B ∨ ¬C )
(A ∨ C ) ∧ (B ∨ ¬C )
1
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
0
1
1
A
B
C
0
0
0
0
0
0
0
1
1
0
F ist nicht allgemeingültig:
A1 (F ) = 0 für A1 : {P, Q, R} → {0, 1} mit A(P) = A(Q) = A(R) = 0.
F ist erfüllbar (also ist F nicht unerfüllbar):
A2 (F ) = 1 für A : {P, Q, R} → {0, 1} mit A(P) = 0, A(Q) = 1, A(R) = 1.
120
Tautologien und Kontradiktionen
Tautologien: Formel, die stets wahr sind.
Beispiele: p ∨ (¬p) (Prinzip vom ausgeschlossenen Dritten)
(Tertium non datur)
p ↔ ¬¬p (Prinzip der doppelten Negation)
Kontradiktionen: Formel, die stets falsch sind.
Beispiel: p ∧ ¬p
• Die Negation einer Tautologie ist eine Kontradiktion
• Die Negation einer Kontradiktion ist eine Tautologie
121
Beispiele
Die folgenden Formeln sind Tautologien:
(1)
(p → ¬p) → (¬p)
(2)
(p ∧ (p → q)) → q
(3)
(p ∧ q) → p
(p ∧ q) → q
(4)
p → (p ∨ q)
q → (p ∨ q)
(5)
(p → q) → [(q → r ) → (p → r )]
(6)
(((p → q) ∧ (q → r )) ∧ p) → r
122
Folgerung und Äquivalenz
Definition: F impliziert G (oder G folgt aus F ),
gdw.: für alle A : Π → {0, 1} gilt: Wenn A |= F , dann A |= G .
Notation: F |= G
Definition: F und G sind äquivalent
gdw.: für alle A : Π → {0, 1} gilt: A |= F gdw. A |= G .
Notation: F ≡ G .
Erweiterung auf Formelmengen N in natürlicher Weise, z.B.:
N |= G
gdw.:
für alle A : Π → {0, 1} gilt:
falls A |= F , für alle F ∈ N,
so A |= G .
123
Beispiel
F = (A ∨ C ) ∧ (B ∨ ¬C )
G = (A ∨ B)
Überprüfe, ob F |= G : Ja, F |= G
A
B
C
(A ∨ C )
(B ∨ ¬C )
(A ∨ C ) ∧ (B ∨ ¬C )
(A ∨ B)
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
124
Beispiel
F = (A ∨ C ) ∧ (B ∨ ¬C )
G = (A ∨ B)
Überprüfe, ob F |= G : Ja, F |= G
.... aber es ist nicht wahr dass G |= F (Notation: G 6|= F )
A
B
C
(A ∨ C )
(B ∨ ¬C )
(A ∨ C ) ∧ (B ∨ ¬C )
(A ∨ B)
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
125
Zusammenfassung
• Syntax (Formeln)
• Semantik
Wertebelegungen (Valuationen, Modelle)
Wahrheitstafel für die logischen Operatoren
Auswertung von Formeln / Wahrheitstabellen
Modell einer Formel(menge)
Gültigkeit und Erfüllbarkeit
Tautologien und Kontradiktionen
Folgerung und Äquivalenz
126
2. Aussagenlogik
Teil 2
30.04.2012
127
Tautologien und Kontradiktionen
Tautologien, allgemeingültige Formeln:
Formeln, die stets wahr sind.
Kontradiktionen, unerfüllbare Formeln:
Formel, die stets falsch sind.
• Die Negation einer Tautologie ist eine Kontradiktion
• Die Negation einer Kontradiktion ist eine Tautologie
Theorem. F ist allgemeingültig gdw. ¬F ist unerfüllbar.
Beweis 1: Aus der Wahrheitstafel.
Beweis 2: F allgemeingültig gdw. A(F )=1 für alle A:Π→{0, 1}
gdw. A(¬F )=0 für alle A:Π→{0, 1} gdw. ¬F unerfüllbar
128
Erster Kalkül: Wahrheitstafelmethode
Erfüllbarkeitstest:
Jede Formel F enthält endlich viele Aussagenvariablen.
A(F ) ist nur von den Werten dieser Aussagenvariablen abhängig.
F enthält n Aussagenvariablen:
⇒ 2n Wertbelegungen notwendig um zu überprüfen,
ob F erfüllbar ist oder nicht.
⇒ Wahrheitstafel
⇒ Das Erfüllbarkeitsproblem ist entscheidbar
(Cook’s Theorem: NP-vollständig)
Es existieren viel bessere Methoden als Wahrheitstafeltests um die
Erfüllbarkeit einer Formel zu überprüfen.
129
Folgerung
Definition: F impliziert G (oder G folgt aus F ),
gdw.: für alle A : Π → {0, 1} gilt: Wenn A |= F , dann A |= G .
Notation: F |= G
Erweiterung auf Formelmengen N in natürlicher Weise, z.B.:
N |= G
gdw.:
für alle A : Π → {0, 1} gilt:
falls A |= F , für alle F ∈ N,
so A |= G .
130
Äquivalenz
Definition: F und G sind äquivalent
gdw.: für alle A : Π → {0, 1} gilt: A |= F gdw. A |= G .
Notation: F ≡ G .
Zwei Formeln sind logisch äquivalent, wenn sie in den gleichen Modellen
wahr sind
Beispiel:
(P → Q) ≡ (¬Q → ¬P)
(Kontraposition)
131
Wichtige Äquivalenzen
Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig:
(F ∧ F ) ≡ F
(F ∨ F ) ≡ F
(Idempotenz)
(F ∧ G ) ≡ (G ∧ F )
(F ∨ G ) ≡ (G ∨ F )
(Kommutativität)
(F ∧ (G ∧ H)) ≡ ((F ∧ G ) ∧ H)
(F ∨ (G ∨ H)) ≡ ((F ∨ G ) ∨ H)
(Assoziativität)
(F ∧ (F ∨ G )) ≡ F
(F ∨ (F ∧ G )) ≡ F
(Absorption)
(F ∧ (G ∨ H)) ≡ ((F ∧ G ) ∨ (F ∧ H))
(F ∨ (G ∧ H)) ≡ ((F ∨ G ) ∧ (F ∨ H))
(Distributivität)
132
Wichtige Äquivalenzen
Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig:
(¬¬F ) ≡ F
(Doppelte Negation)
¬(F ∧ G ) ≡ (¬F ∨ ¬G )
¬(F ∨ G ) ≡ (¬F ∧ ¬G )
(De Morgan’s Regeln)
(F → G ) ≡ (¬G → ¬F )
(Kontraposition)
(F → G ) ≡ (¬F ∨ G )
(Elimination Implikation)
F ↔ G ≡ (F → G ) ∧ (G → F )
(Elimination Äquivalenz)
133
Wichtige Äquivalenzen
Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig:
(F ∧ G ) ≡ F , falls G Tautologie
(F ∨ G ) ≡ ⊤, falls G Tautologie
(Tautologieregeln)
(F ∧ G ) ≡ ⊥, falls G unerfüllbar
(F ∨ G ) ≡ F , falls G unerfüllbar
(Tautologieregeln)
134
Wichtige Äquivalenzen mit ⊤/⊥
(A ∧ ¬A) ≡ ⊥
(A ∨ ¬A) ≡ ⊤
(Tertium non datur)
(A ∧ ⊤) ≡ A
(A ∧ ⊥) ≡ ⊥
135
Wichtige Äquivalenzen (Zusammengefasst)
(F ∧ F ) ≡ F
(F ∧ G ) ≡ (G ∧ F )
(F ∨ F ) ≡ F
(F ∨ G ) ≡ (G ∨ F )
(F ∧ (G ∧ H)) ≡ ((F ∧ G ) ∧ H)
(F ∨ (G ∨ H)) ≡ ((F ∨ G ) ∨ H)
(F ∧ (F ∨ G )) ≡ F
(F ∨ (F ∧ G )) ≡ F
(F ∧ (G ∨ H)) ≡ ((F ∧ G ) ∨ (F ∧ H))
(F ∨ (G ∧ H)) ≡ ((F ∨ G ) ∧ (F ∨ H))
(¬¬F ) ≡ F
¬(F ∧ G ) ≡ (¬F ∨ ¬G )
¬(F ∨ G ) ≡ (¬F ∧ ¬G )
(F → G ) ≡ (¬G → ¬F )
(F → G ) ≡ (¬F ∨ G )
F ↔ G ≡ (F → G ) ∧ (G → F )
(Idempotenz)
(Kommutativität)
(Assoziativität)
(Absorption)
(Distributivität)
(Doppelte Negation)
(De Morgan’s Regeln)
(Kontraposition)
(Elimination Implikation)
(Elimination Äquivalenz)
136
Terminologie
Eine Formel F , die als Teil einer Formel G auftritt,
heißt Teilformel von G .
• F ist eine Teilformel von F


• F = ¬G und
→

H Teilformel von G
• F = F1 ρ F2
(wo ρ ∈ {∨, ∧, ⇒, ⇔})
H Teilformel von F1 oder F2
H Teilformel von F




→
H Teilformel von F



137
Substitutionstheorem
Theorem.
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens)
einem Vorkommen der Teilformel F .
Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend)
ein Vorkommen von F in H durch G ersetzt wird.
Beispiel:
A∨B ≡B ∨A
impliziert
(C ∧ (A ∨ B)) ≡ (C ∧ (B ∨ A))
138
Substitutionstheorem
Theorem.
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens)
einem Vorkommen der Teilformel F .
Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend)
ein Vorkommen von F in H durch G ersetzt wird.
p(H)
Beweis: Strukturelle Induktion.
Induktionsbasis: Beweisen, dass p(H) für alle Formeln H in {⊥, ⊤} ∪ Π gilt.
Beweis: Falls H∈{⊥, ⊤}∪Π und F Teilformel von H, so muss F = H sein.
Dann ist die Formel H ′ , die aus H hervorgeht, indem F (= die ganze
Formel H) durch G ersetzt wird, gleich G .
Aber dann: H = F ≡ G = H ′ .
139
Substitutionstheorem
Beweis: (Fortsetzung)
Sei H eine Formel, H 6∈ {⊥, ⊤} ∪ Π. Sei F eine Teilformel von H.
Fall 1: F = H. Dann H ′ = G (wie vorher), so H = F ≡ G = H ′ .
Fall 2: F 6= H.
Induktionsvoraussetzung:
Annahme: p(H ′ ) gilt für alle dir. Teilformeln H ′ von H.
Induktionsschritt: Beweis, dass p(H) gilt (durch Fallunterscheidung):
Fall 2.1: H = ¬H1 . Da F 6= H, ist F eine Teilformel von H1 .
Induktionvoraussetzung: p(H1 ) gilt, d.h. H1 ≡ H1′ , wobei H1′ aus H1 hervorgeht,
indem (irgend) ein Vorkommen von F in H1 durch G ersetzt wird.
Da H = ¬H1 , ist H ′ = ¬H1′ .
I .V .
Dann für alle A : Π → {0, 1}: A(H)=A(¬H1 )=¬A(H1 ) = ¬A(H1′ )=A(¬H1′ )=A(H ′ ).
Somit ist bewiesen, dass H ≡ H ′ .
140
Substitutionstheorem
Beweis: (Fortsetzung)
Induktionsschritt: Beweis, dass p(H) gilt (durch Fallunterscheidung):
Fall 2.2: H = H1 op H2 . Da F 6= H, ist F Teilformel von H1 oder von H2 .
Fall 2.2.1 F ist eine Teilformel von H1 .
Induktionvoraussetzung: p(H1 ) gilt, d.h. H1 ≡ H1′ , wobei H1′ aus H1 hervorgeht,
indem (irgend) ein Vorkommen von F in H1 durch G ersetzt wird.
Da H = H1 op H2 , und F in H1 vorkommt, so H ′ = H1′ op H2 .
I .V .
Dann für alle A : Π → {0, 1}: A(H)=A(H1 op H2 )=A(H1 ) op A(H2 ) =
A(H1′ ) op A(H2 )=A(H1′ op H2 ) = A(H ′ ).
Somit ist bewiesen, dass H ≡ H ′ .
Fall 2.2.2 F ist eine Teilformel von H2 . Analog.
141
Ein zweiter Kalkül: Logische Umformung
Definition: Äquivalenzumformung
• (Wiederholte) Ersetzung einer (Unter-)Formel durch äquivalente
Formel
• Anwendung des Substitutionstheorems
Theorem
Äquivalenzumformung bildet mit den aufgelisteten wichtigen Äquivalenzen einen vollständigen Kalkül:
Wenn F und G logisch äquivalent sind, kann F in G umgeformt werden.
142
Beispiel
(P → Q) ∧ ¬((Q → R) → (P → R))
≡ (¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R))
(Elimination Implikation)
≡ (¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R))
(De Morgan’s Regel,∨)
≡ (¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R))
≡ (¬P ∨ Q) ∧
((¬Q ∨ R) ∧ (¬¬P ∧ ¬R))
(Elimination Implikation)
(Doppelte Negation, De Morgan, ∨)
≡ (¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R))
(Doppelte Negation)
≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P))
(Kommutativität)
≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R))
(Distributivität)
≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥)
(Äquivalenzen mit ⊥)
≡ (¬P ∧ ¬Q ∧ P ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R)
(Distributivität)
≡ (¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R)
(Äquivalenzen mit ⊥)
≡ (¬P ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R)
(Kommutativität)
≡ ⊥ ∨ ⊥≡⊥
(Äquivalenzen mit ⊥)
≡ ((¬P ∧ P) ∧ ¬Q ∧ ¬R) ∨ ((Q ∧ ¬Q) ∧ P ∧ ¬R) (Assoziativität)
143
Allgemeingültigkeit/Folgerung
F , G Formeln
Theorem. F |= G gdw. |= F → G .
Beweis:
F |= G
g.d.w.
für alle A : Π → {0, 1}, falls A(F ) = 1 so A(G ) = 1
g.d.w.
für alle A : Π → {0, 1}, (A(F ) → A(G )) = 1
g.d.w.
für alle A : Π → {0, 1}, A(F → G ) = 1
g.d.w. |= F → G
144
Allgemeingültigkeit/Folgerung
F , G Formeln; N Formelmenge.
Theorem. N ∪ {F } |= G gdw. N |= F → G .
Beweis: “⇒”
Annahme: N ∪ {F } |= G d.h. für alle A:Π→{0, 1},
falls [A(H)=1 für alle Formeln H∈N∪{F }] so A(G )=1.
Wir beweisen, dass N |= F → G , d.h. für alle A : Π → {0, 1}
falls [A(H) = 1 für alle Formeln H ∈ N] so A(F → G ) = 1.
Sei A : Π → {0, 1} mit A(H) = 1 für alle Formeln H ∈ N.
Fall 1: A(F ) = 0. Dann A(F → G ) = 1.
Fall 2: A(F ) = 1, d.h. [A(H) = 1 für alle Formeln H ∈ N ∪ {F }]. Dann
A(G ) = 1 und somit A(F → G ) = 1.
145
Allgemeingültigkeit/Folgerung
F , G Formeln; N Formelmenge.
Theorem. N ∪ {F } |= G gdw. N |= F → G .
Beweis: “⇐”
Annahme: N |= F → G d.h. für alle A:Π→{0, 1},
falls [A(H)=1 für alle Formeln H∈N] so A(F → G )=1.
Wir beweisen, dass N ∪ {F } |= G , d.h. für alle A : Π → {0, 1}
falls [A(H) = 1 für alle Formeln H ∈ N ∪ {F }] so A(G ) = 1.
Sei A : Π → {0, 1} mit A(H) = 1 für alle Formeln H ∈ N ∪ {F }.
Dann (i) A(F ) = 1 und
(ii) [A(H) = 1 für alle Formeln H ∈ N], also A(F → G ) = 1.
Es folgt, dass 1 = A(F → G ) = (A(F ) → A(G )) = (1 → A(G )) = A(G ),
so A(G ) = 1.
146
Allgemeingültigkeit/Folgerung
F , G Formeln.
Theorem. F ≡ G gdw. |= F ↔ G .
Beweis:
F ≡F
g.d.w. für alle A : Π → {0, 1}, A(F ) = A(G )
g.d.w. für alle A : Π → {0, 1}, (A(F ) ↔ A(G )) = 1
g.d.w. für alle A : Π → {0, 1}, A(F ↔ G ) = 1
g.d.w.
|= F ↔ G
147
Allgemeingültigkeit/Folgerung:
Zusammenfassung
F , G Formeln; N Formelmenge.
Theorem. F |= G gdw. |= F → G .
Theorem. N ∪ {F } |= G gdw. N |= F → G .
Theorem. F ≡ G gdw. |= F ↔ G .
148
Unerfüllbarkeit/Allgemeingültigkeit/Folgerung
F , G Formeln.
Theorem. F ist allgemeingültig gdw. ¬F ist unerfüllbar.
Beweis auf Seite 128.
Theorem. F |= G gdw. F ∧ ¬G ist unerfüllbar.
Beweis:
F |= G
gdw.
|= F → G
d.h. F → G allgemeingültig
gdw.
¬(F → G ) unerfüllbar.
gdw.
F ∧ ¬G unerfüllbar.
... da ¬(F → G ) ≡ ¬(¬F ∨ G ) ≡ ¬¬F ∧ ¬G ≡ F ∧ ¬G .
149
Unerfüllbarkeit/Allgemeingültigkeit/Folgerung
F , G Formeln; N Formelmenge.
Theorem. N |= G gdw. N ∪ ¬G ist unerfüllbar.
Beweis: “⇒”
Annahme: N |= G d.h. für alle A:Π→{0, 1},
falls [A(H)=1 für alle Formeln H∈N] so A(G )=1.
Zu zeigen: N ∪ ¬G unerfüllbar.
Beweis durch Widerspruch: Wir nehmen an, N ∪ ¬G erfüllbar,
d.h. es gibt A:Π→{0, 1}, mit
[A(H)=1 für alle Formeln H∈N ∪ {¬G }].
Dann [A(H)=1 für alle Formeln H∈N] und A(¬G ) = 1 (d.h.
A(G ) = 0). Widerspruch.
150
Unerfüllbarkeit/Allgemeingültigkeit/Folgerung
F , G Formeln; N Formelmenge.
Theorem. N |= G gdw. N ∪ ¬G ist unerfüllbar.
Beweis: “⇐”
Annahme: N ∪ ¬G unerfüllbar.
Zu zeigen: N |= G d.h. für alle A:Π→{0, 1},
falls [A(H)=1 für alle Formeln H∈N] so A(G )=1.
Beweis: Sei A:Π→{0, 1}, mit [A(H)=1 für alle Formeln H∈N].
Falls A(G ) = 0, wäre A ein Modell für N ∪ {¬G }. Das ist
aber unmöglich, da wir angenommen haben, dass N ∪ {¬G }
unerfüllbar ist.
Es folgt, dass A(G ) = 1.
151
Unerfüllbarkeit/Allgemeingültigkeit/Folgerung:
Zusammenfassung
F , G Formeln; N Formelmenge.
Theorem. F ist allgemeingültig gdw. ¬F ist unerfüllbar.
Theorem. F |= G gdw. F ∧ ¬G ist unerfüllbar.
Theorem. N |= G gdw. N ∪ ¬G ist unerfüllbar.
Nota bene: falls N unerfüllbar, so N |= G für jede Formel G
... auch für ⊥.
Notation: N |= ⊥ für N unerfüllbar.
152
Zusammenfassung
• Erfüllbarkeit, Allgemeingültigkeit
• Erster Kalkül: Wahrheitstafelmethode
• Folgerung, Äquivalenz
• Wichtige Äquivalenzen
• Ein zweiter Kalkül: Logische Umformung
• Unerfüllbarkeit/Allgemeingültigkeit/Folgerung
153
2. Aussagenlogik
Teil 3
06.05.2013
154
Unser Ziel
Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit
(für Formeln und/oder Formelmengen)
Dazu brauchen wir “Normalformen”
155
Normalformen
Definition:
• Atom: aussagenlogische Variable
• Literal: Atom, oder
Negation eines Atoms
Beispiel. Sei Π = {P, Q, R}.
Atome: P, Q, R
Literale: P, ¬P, Q, ¬Q, R, ¬R
156
Normalformen
Definition:
• Atom: aussagenlogische Variable
• Literal: Atom, oder
Negation eines Atoms
Definition:
Klausel: Eine Disjunktion von Literalen
• mehrstellige Disjunktionen (P ∨ ¬Q ∨ R), (P ∨ P ∨ ¬Q)
• einstellige Disjunktionen P
• die nullstellige Disjunktion (leere Klausel) ⊥
157
Normalformen
Definition:
Konjunktive Normalform (KNF): Eine Konjunktion von Disjunktionen von
Literalen, d.h., eine Konjunktion von Klauseln
mehrstellig, einstellig oder nullstellig
Beispiele:
(P ∨ ¬Q) ∧ (Q ∨ ¬R ∨ ¬S)
P ∨Q
P ∧ (Q ∨ R)
P ∧Q
P ∧P
⊤
158
Normalformen
Definition:
Disjunktive Normalform (DNF): Eine Disjunktion von Konjunktionen von
Literalen.
mehrstellig, einstellig oder nullstellig
Beispiele:
(P ∧ ¬Q) ∨ (Q ∧ ¬R ∧ ¬S)
P ∧Q
P ∨ (Q ∧ R)
P ∨Q
P ∨P
⊥
159
Normalformen
Eigenschaften:
• Zu jeder aussagenlogischen Formel gibt es:
- eine äquivalente Formel in KNF
- eine äquivalente Formel in DNF
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
• Solche Formeln können aus einer Wahrheitstafel abgelesen werden
• Solche Formeln können durch Umformungen hergestellt werden
160
Beispiel: DNF
F :
(P ∨ Q) ∧ ((¬P ∧ Q) ∨ R)
(P ∨ Q)
¬P
(¬P ∧ Q)
((¬P ∧ Q) ∨ R)
F
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
P
Q
R
0
0
0
0
0
0
DNF:
0
1
0
(¬P ∧ Q ∧ ¬R) ∨ (¬P ∧ Q ∧ R) ∨ (P ∧ ¬Q ∧ R) ∨ (P ∧ Q ∧ R)
161
Beispiel: KNF
F :
(P ∨ Q) ∧ ((¬P ∧ Q) ∨ R)
(P ∨ Q)
¬P
(¬P ∧ Q)
((¬P ∧ Q) ∨ R)
F
0
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
P
Q
R
0
0
0
0
0
0
0
1
0
¬F
1
DNF für ¬F : (¬P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ ¬Q ∧ R) ∨ (P ∧ ¬Q ∧ ¬R) ∨ (P ∧ Q ∧ ¬R)
KNF für F : (P ∨ Q ∨ R) ∧ (P ∨ Q ∨ ¬R) ∧ (¬P ∨ Q ∨ R) ∧ (¬P ∨ ¬Q ∨ R)
162
Normalformen
DNF für F :
_
A(P1 )
(P1
A(Pn )
∧ · · · ∧ Pn
)
A:{P1 ,...,Pn }→{0,1}
A(F )=1
wobei:
P 0 = ¬P
P1 = P
Theorem
Für alle Interpretationen A′ : {P1 , . . . , Pn } → {0, 1}:
_
A(P )
A(P )
′
′
A (F ) = 1 gdw. A (
(P1 1 ∧ · · · ∧ Pn n )) = 1.
A:{P1 ,...,Pn }→{0,1}
A(F )=1
163
Normalformen
DNF für F :
_
A(P1 )
(P1
A(Pn )
∧ · · · ∧ Pn
)
A:{P1 ,...,Pn }→{0,1}
A(F )=1
wobei:
P 0 = ¬P
P1 = P
KNF für F: ¬F ′ ,
wobei F ′ die DNF von ¬F ist.
^
1−A(P1 )
1−A(Pn )
KNF für F :
)
(P1
∨ · · · ∨ Pn
A:{P1 ,...,Pn }→{0,1}
A(F )=0
164
Normalformen
Eigenschaften:
• Zu jeder aussagenlogischen Formel gibt es:
- eine äquivalente Formel in KNF
- eine äquivalente Formel in DNF
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
• Solche Formeln können aus einer Wahrheitstafel abgelesen werden
• Solche Formeln können durch Umformungen hergestellt werden
165
Umformung in KNF
Vier Schritte:
1. Elimination von ↔
Verwende A ↔ B ≡ (A → B) ∧ (B → A)
2. Elimination von →
Verwende A → B ≡ (¬A ∨ B)
3. “Nach innen schieben” von ¬
Verwende de Morgans Regeln und ¬¬A ≡ A
7→ Negationsnormalform (NNF)
Eine logische Formel ist in Negationsnormalform (NNF),
falls die Negationsoperatoren in ihr nur direkt über
atomaren Aussagen vorkommen.
166
Umformung in KNF
Vier Schritte:
1. Elimination von ↔
Verwende A ↔ B ≡ (A → B) ∧ (B → A)
2. Elimination von →
Verwende A → B ≡ (¬A ∨ B)
3. “Nach innen schieben” von ¬
Verwende de Morgans Regeln und ¬¬A ≡ A
(NNF)
4. “Nach innen schieben” von ∨
Verwende Distributivität von ∨ über ∧
167
Umformung in KNF: Beispiel
Gegeben:
P ↔ (Q ∨ R)
1. Elimination von ↔
(P → (Q ∨ R)) ∧ ((Q ∨ R) → P)
2. Elimination von →
(¬P ∨ Q ∨ R) ∧ (¬(Q ∨ R) ∨ P)
3. “Nach innen schieben” von ¬
(NNF)
(¬P ∨ Q ∨ R) ∧ ((¬Q ∧ ¬R)) ∨ P)
4. “Nach innen schieben” von ∨
(¬P ∨ Q ∨ R) ∧ (¬Q ∨ P) ∧ (¬R ∨ P))
168
Umformung in DNF
Vier Schritte:
1. Elimination von ↔
Verwende A ↔ B ≡ (A → B) ∧ (B → A)
2. Elimination von →
Verwende A → B ≡ (¬A ∨ B)
3. “Nach innen schieben” von ¬
Verwende de Morgans Regeln und ¬¬A ≡ A
(NNF)
4. “Nach innen schieben” von ∧
Verwende Distributivität von ∧ über ∨
169
Umformung in DNF: Beispiel
Gegeben:
P ↔ (Q ∨ R)
1. Negationsnormalform (NNF) (s. Seite 168):
(¬P ∨ Q ∨ R) ∧ ((¬Q ∧ ¬R) ∨ P)
2. “Nach innen schieben” von ∧
(¬P ∧ ((¬Q ∧ ¬R) ∨ P)) ∨ (Q ∧ ((¬Q ∧ ¬R) ∨ P)) ∨ (R ∧ ((¬Q ∧ ¬R) ∨ P))
≡
(¬P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ P) ∨ (Q ∧ ¬Q ∧ ¬R) ∨ (Q ∧ P) ∨
≡
(¬P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ P)
| {z }
(R ∧ ¬Q ∧ ¬R) ∨ (R ∧ P)
≡⊥
((R ∧ ¬R) ∧¬Q) ∨ (R ∧ P)
| {z }
∨ ((Q ∧ ¬Q) ∧¬R) ∨ (Q ∧ P) ∨
| {z }
≡⊥
≡⊥
≡
(¬P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ P) ∨ (R ∧ P)
170
Beispiel zur exponentiellen Länge der KNF
Gegeben:
An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )
Zu An äquivalente KNF
^
(P1,f (1) ∨ · · · ∨ Pn,f (n) )
f :{1,...,n}→{1,2}
171
Beispiel zur exponentiellen Länge der KNF
Gegeben:
An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )
Länge: 21
n = 1 : A1 = P11 ∧P12
n = 2 : A2 = (P11 ∧P12 )∨(P21 ∧P22 )
≡ ((P11 ∧P12 )∨P21 )∧((P11 ∧P12 )∨P22 )
≡ (P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 )
Länge: 22
n = 3 : A3 = (P11 ∧P12 )∨(P21 ∧P22 )∨(P31 ∧P32 )
|
{z
}
A
2
≡ ((P11 ∨P21 )∧(P
12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨(P31 ∧P32 )
|
{z
}
KNF (A2 )
≡ (((P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨P31 )∧
(((P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨P32 )
≡ (((P11 ∨P21 ∨P31 )∧(P12 ∨P21 ∨P31 )∧(P11 ∨P22 ∨P31 )∧(P12 ∨P22 ∨P31 )∧
(((P11 ∨P21 ∨P32 )∧(P12 ∨P21 ∨P32 )∧(P11 ∨P22 ∨P32 )∧(P12 ∨P22 ∨P32 ) Länge: 23
172
Beispiel zur exponentiellen Länge der KNF
Gegeben: An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )
• Klausel in KNF von An : 2n
Beweis durch Induktion
Induktionsbasis: n = 1 : A1 in KNF, 21 Klausel.
173
Beispiel zur exponentiellen Länge der KNF
Gegeben: An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )
• Klausel in KNF von An : 2n
Beweis durch Induktion
Induktionsvoraussetzung: KNF von An hat 2n Klausel
KNF (An ) = C1 ∧ · · · ∧ C2n , Ci = (Li1 ∨ · · · ∨ Lini ) Klausel
Induktionsschritt: Zu zeigen: KNF von An+1 hat 2n+1 Klausel
An+1 =
≡
≡
≡
≡
(P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 ) ∨ (P(n+1),1 ∧ P(n+1),2 )
((P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )) ∨ (P(n+1),1 ∧ P(n+1),2 )
|
{z
}
An
(C1 ∧ · · · ∧ C2n ) ∨ (P(n+1),1 ∧ P(n+1),2 )
{z
}
|
KNF (An )
((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),1 ) ∧ ((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),2 )
(C1 ∨ P(n+1),1 ) ∧ · · · ∧ (C2n ∨ P(n+1),1 ) ∧ (C1 ∨ P(n+1),2 ) ∧ · · · ∧ (C2n ∨ P(n+1),2 )
|
{z
} |
{z
}
2n
2n
174
KNF: Mengenschreibweise
Notation:
Klausel als Menge von Literalen
Formel in KNF als Menge von Klauseln
Beispiel:
(P ∨ Q ∨ R) ∧ (P ∨ Q ∨ ¬R) ∧ (¬P ∨ Q ∨ R) ∧ (¬P ∨ ¬Q ∨ R)
{ {P, Q, R}, {P, Q, ¬R}, {¬P, Q, R}, {¬P, ¬Q, R} }
175
KNF: Mengenschreibweise
Bedeutung der leeren Menge
• Leere Klausel
= leere Menge von Literalen
= leere Disjunktion
=⊥
• Leere Menge von Klausels
= leere Konjunktion
=⊤
176
Vereinfachung der KNF: Subsumption
Theorem (Subsumption Regel)
Enthält eine KNF-Formel (= Klauselmenge) Klauseln K , K ′ mit
K ⊂ K′
dann entsteht eine äquivalente Formel, wenn K ′ weggelassen wird.
Beweis:
K = {L1 , . . . , Lp } ⊆ {L1 , . . . , Lp , Lp+1 , . . . , Lm } = K ′
F enthält K ∧ K ′
K ∧ K′ =
≡
(L1 ∨ · · · ∨ Lp ) ∧ ((L1 ∨ · · · ∨ Lp ) ∨ Lp+1 ∨ . . . Lm )
(L1 ∨ · · · ∨ Lp ) = K
(Absorption)
177
Das SAT-Problem (Erfüllbarkeitsproblem)
Definition: SAT-Problem
Gegeben:
Eine aussagenlogische Formel F
Frage:
Ist F erfüllbar?
NB: F allgemeingültig gdw. ¬F nicht erfüllbar
178
Das SAT-Problem (Erfüllbarkeitsproblem)
Erfüllbarkeitsproblem für DNF Formeln
Vm
Sei F = i=1 ( j=1 Lij ) in DNF
Vm
F unerfüllbar gdw. ( j=1 Lij ) unerfüllbar für alle i = 1, . . . , n
Vm
gdw. ( j=1 Lij ) enthält zwei komplementare Literale für alle i
Wn
179
Zusammenfassung
• Normalformen
Atome, Literale, Klauseln
Konjunktive und Disjunktive Normalform
Ablesen von DNF und KNF aus Wahrheitstafeln
Umformen in KNF/DNF
Mengenschreibweise
Subsumption
• SAT-Problem (Erfüllbarkeitsproblem)
Definition
Erfüllbarkeitsproblem für DNF Formeln
180
2. Aussagenlogik
Teil 4
07.05.2012
181
Das SAT-Problem (Erfüllbarkeitsproblem)
Erfüllbarkeitsproblem für DNF Formeln
W
V
Sei F = ni=1 ( m
j=1 Lij ) in DNF
V
F unerfüllbar
gdw. ( m
j=1 Lij ) unerfüllbar für alle i = 1, . . . , n
Vm
gdw. ( j=1 Lij ) enthält zwei komplementare Literale für alle i
Beispiele:
(P ∧ ¬Q) ∨ (P ∧ Q ∧ ¬R ∧ ¬Q)
| {z } |
{z
}
erfüllbar
erfüllbar
unerfüllbar
(P ∧ ¬Q ∧ ¬P) ∨ (P ∧ Q ∧ ¬R ∧ ¬Q)
{z
} |
{z
}
|
unerfüllbar
unerfüllbar
unerfüllbar
182
Das SAT-Problem (Erfüllbarkeitsproblem)
Erfüllbarkeitsproblem für DNF Formeln
V
W
Sei F = ni=1 ( m
j=1 Lij ) in DNF
Vm
F unerfüllbar
gdw. ( j=1 Lij ) unerfüllbar für alle i = 1, . . . , n
Vm
gdw. ( j=1 Lij ) enthält zwei komplementare Literale für alle i
Allgemeingültigkeit für KNF Formeln
V
W
Wm
F = ni=1 ( m
L
)
in
KNF
ist
allgemeing
ültig
gdw.
jede
Disjunktion
j=1 ij
j=1 Lij zwei
komplementare Literale enthält.
Beispiele:
(P ∨ ¬Q)
| {z }
erfüllbar (keine Tautologie)
∧ (P ∨ Q ∨ ¬R ∨ ¬Q)
|
{z
}
Tautologie
(P ∨ ¬Q ∨ ¬P) ∧ (P ∨ Q ∨ ¬R ∨ ¬Q)
{z
} |
{z
}
|
Tautologie
keine Tautologie (nicht allgemeingültig)
Tautologie (allgemeingültig)
Tautologie
183
Das SAT-Problem (Erfüllbarkeitsproblem)
Definition: SAT-Problem
Gegeben:
Eine aussagenlogische Formel F
Frage:
Ist F erfüllbar?
Theorem (ohne Beweis)
SAT ist ein NP-vollständiges Problem
184
NP
Zur Erinnerung:
• P ist die Klasse aller Probleme, die in polynomieller Zeit entscheidbar
sind.
• NP ist die Klasse aller Probleme, die nichtdeterministisch in
polynomieller Zeit entscheidbar sind.
Ein Entscheidungsproblem ist genau dann in NP, wenn eine gegebene
Lösung für das entsprechende Suchproblem in Polynomialzeit überprüft
werden kann.
SAT ist in NP:
• Rate eine “Lösung”
(Interpretation A mit A(F ) = 1)
• Überprüfe, ob A wirklich eine “Lösung” ist
(i.e. ob A(F ) = 1)
kann in Polynomialzeit überprüft werden
185
NP-Vollständigkeit
Zur Erinnerung:
“SAT ist NP-vollständig” heißt:
• SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar
• Jedes nichtdeterministisch in polynomieller Zeit entscheidbare Problem
kann in polynomieller Zeit auf SAT reduziert werden
• Wenn es stimmt, dass NP 6= P, dann ist SAT nicht in polynomieller
Zeit entscheidbar
186
Teilklassen des Erfüllbarkeitsproblems
Definition:
k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben
Beispiele:
P ∧ ¬Q
1-KNF
P ∧ (¬P ∨ Q) ∧ (R ∨ ¬Q) 2-KNF
(P ∨ Q) ∧ (P ∨ ¬Q ∨ R) 3-KNF
Alternative Definition (nicht allgemeiner):
k-KNF Formel: KNF-Formeln, deren Klauseln genau k Literale haben
Beispiele:
P ∧ ¬Q
1-KNF
(P ∨ P) ∧ (¬P ∨ Q) ∧ (R ∨ ¬Q) 2-KNF
(P ∨ P ∨ Q) ∧ (P ∨ ¬Q ∨ R)
3-KNF
187
Teilklassen des Erfüllbarkeitsproblems
Definition:
k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben
Theorem
• Erfüllbarkeit für Formeln in KNF: NP-vollständig
• Erfüllbarkeit für Formeln in 3-KNF: NP-vollständig
(ohne Beweis)
(Beweisidee)
188
3-SAT
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis
• 3-SAT ist ein Spezialfall von SAT und deshalb wie SAT in NP.
• Um zu zeigen, dass 3-SAT ebenfalls NP-vollständig ist, müssen wir
zeigen, dass jedes SAT Problem in polynomieller Zeit auf das 3-SAT
Problem reduzierbar ist.
189
3-SAT
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis (Teil 2)
Wir zeigen, dass jedes SAT Problem in polynomieller Zeit auf das 3-SAT
Problem reduzierbar ist.
Gegeben sei eine Formel F in KNF. Wir transformieren F in eine Formel F ′
in 3-KNF, so dass:
F ist erfüllbar gdw. F ′ ist erfüllbar.
Eine k-Klausel sei eine Klausel mit k Literalen.
Aus einer 1- bzw 2-Klausel können wir leicht eine äquivalente 3-Klausel
machen, indem wir ein Literal wiederholen.
Was machen wir mit k-Klauseln für k > 3?
190
3-SAT
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis (Teil 3)
Sei C beispielsweise eine 4-Klausel der Form
C = L1 ∨ L2 ∨ L3 ∨ L4 .
In einer Klauseltransformation ersetzen wir C durch die Teilformel
C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ),
wobei H eine zusätzlich eingeführte Hilfsvariable bezeichnet.
191
Beispiel
C = P ∨ ¬Q ∨ ¬R ∨ S
7→
(P ∨ ¬Q ∨ H) ∧ (¬H ∨ ¬R ∨ S).
192
3-SAT
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis (Teil 3)
Sei C beispielsweise eine 4-Klausel der Form
C = L1 ∨ L2 ∨ L3 ∨ L4 .
In einer Klauseltransformation ersetzen wir C durch die Teilformel
C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ),
wobei H eine zusätzlich eingeführte Hilfsvariable bezeichnet.
F ′ sei aus F entstanden durch Ersetzung von C durch C0 .
zu zeigen: F ′ erfüllbar gdw. F erfüllbar
193
3-SAT
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis (Teil 4)
C = L1 ∨ L2 ∨ L3 ∨ L4 ; C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ),
F ′ sei aus F entstanden durch Ersetzung von C durch C0 .
zu zeigen: F ′ erfüllbar gdw. F erfüllbar
“⇐”
Sei A eine erfüllende Belegung für F . A weist mindestens einem Literal aus C den
Wert 1 zu. Wir unterscheiden zwei Fälle:
1) Falls L1 oder L2 den Wert 1 haben, so ist F ′ für A(H) = 0 erfüllt.
2) Falls L3 oder L4 den Wert 1 haben, so ist F ′ für A(H) = 1 erfüllt.
Also ist F ′ in beiden Fällen erfüllbar.
194
3-SAT
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis (Teil 5)
C = L1 ∨ L2 ∨ L3 ∨ L4 ; C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ),
F ′ sei aus F entstanden durch Ersetzung von C durch C0 .
zu zeigen: F ′ erfüllbar gdw. F erfüllbar
“⇒”
Sei A eine erfüllende Belegung für F ′ . Wir unterscheiden zwei Fälle:
1) Falls A(H) = 0, so muss A(L1 ) = 1 oder A(L2 ) = 1.
2) Falls A(H) = 1, so muss A(L3 ) = 1 oder A(L4 ) = 1
In beiden Fällen erfüllt A somit auch C , i.e. auch F .
195
3-SAT
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis (Teil 6)
Wir verallgemeinern die Klauseltransformation für k ≥ 4:
Jede Klausel der Form
L1 ∨ L2 ∨ · · · ∨ Lk−1 ∨ Lk
wird durch eine Formel der Form
(L1 ∨ L2 ∨ ... ∨ Lk−2 ∨ H) ∧ (¬H ∨ Lk−1 ∨ Lk )
ersetzt.
Die Erfüllbarkeitsäquivalenz folgt analog zum Fall k = 4.
196
Beispiele
Beispiel 1:
(P ∨ ¬Q ∨ R ∨ S ∨ U ∨ ¬V )
7→
(P ∨ ¬Q ∨ R ∨ S ∨ H1 ) ∧ (¬H1 ∨ U ∨ ¬V )
7→
(P ∨ ¬Q ∨ H3 ) ∧ (¬H3 ∨ R ∨ H2 )∧
7→
(P ∨ ¬Q ∨ R ∨ H2 ) ∧ (¬H2 ∨ S ∨ H1 ) ∧ (¬H1 ∨ U ∨ ¬V )
(¬H2 ∨ S ∨ H1 ) ∧ (¬H1 ∨ U ∨ ¬V )
Beispiel 2:
7→
7→
(P ∨ ¬Q ∨ ¬R ∨ S) ∧ (¬P ∨ Q ∨ R ∨ ¬S)
(P ∨ ¬Q ∨ H1 ) ∧ (¬H1 ∨ ¬R ∨ S) ∧ (¬P ∨ Q ∨ R ∨ ¬S)
(P ∨ ¬Q ∨ H1 ) ∧ (¬H1 ∨ ¬R ∨ S) ∧ (¬P ∨ Q ∨ H2 ) ∧ (¬H2 ∨ R ∨ ¬S)
197
Bis jetzt
• Das SAT-Problem (Erfüllbarkeitsproblem)
• Teilklassen des Erfüllbarkeitsproblems
k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben
Theorem
• Erfüllbarkeit für Formeln in KNF: NP-vollständig
(ohne Beweis)
• Erfüllbarkeit für Formeln in 3-KNF (3-SAT): NP-vollständig
• Erfüllbarkeit für Formeln in 2-KNF: polynomiell entscheidbar
(nächste Vorlesung)
• Erfüllbarkeit für Formeln in DNF: polynomiell entscheidbar
Wn Vm
F = i=1 ( j=1 Lij ) Formel in DNF unerfüllbar gdw. für alle
Vm
i, ( j=1 Lij ) enthält zwei komplementäre Literale.
198
Teilklassen des Erfüllbarkeitsproblems
Definition:
k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben
Theorem
• Erfüllbarkeit für Formeln in KNF: NP-vollständig
• Erfüllbarkeit für Formeln in 3-KNF: NP-vollständig
(ohne Beweis)
(Beweisidee)
• Erfüllbarkeit für Formeln in 2-KNF: polynomiell entscheidbar
• Erfüllbarkeit für Formeln in DNF: polynomiell entscheidbar
199
Horn-Formeln
Defintion:
Horn-Formel: Formel in KNF, in der jede Klausel höchstens ein positives
Literal enthält
Notation: als Implikation
¬P1 ∨ · · · ∨ ¬Pn ∨ P
P1 ∧ · · · ∧ Pn → P
¬P1 ∨ · · · ∨ ¬Pn
PA ∧ · · · ∧ Pn →
P
→P
P1 ∧ · · · ∧ Pn : Rumpf
P: Kopf
→ P: Fakt
200
Horn Formel: Beispiele
Klausel
Literalmengen
Implikationen
¬P
{¬P}
P→
Q ∨ ¬R ∨ ¬S
{Q, ¬R, ¬S}
R, S → Q
¬Q ∨ ¬S
{¬Q, ¬S}
Q, S →
R
{R}
→R
¬Q ∨ P
{¬Q, P}
Q→P
201
Erfüllbarkeitsproblem für Horn-Formeln
Theorem
Die Erfüllbarkeit von Horn-Formeln ist in quadratischer Zeit entscheidbar.
Lemma. Sei F Hornformel die keine Fakten enthält. Dann ist F erfüllbar.
Beweis: Sei A : Π → {0, 1} mit A(P) = 0 für alle P ∈ Π. Dann A(F ) = 1.
202
Erfüllbarkeitsproblem für Horn-Formeln
Theorem
Die Erfüllbarkeit von Horn-Formeln ist in quadratischer Zeit entscheidbar.
Beweis: (Idee)
Ziel: A : Π → {0, 1} mit A(F ) = 1.
Falls keine Fakten in F : F erfüllbar.
Sonst: Für alle Fakten → P in F : A(P) := 1;
Wiederhole das Verfahren für F ′ , entstanden aus F durch Ersetzung von P
mit ⊤.
203
Erfüllbarkeitstest für Horn-Formeln
Eingabe: F = D1 ∧ · · · ∧ Dn eine Hornformel
(die Klausel Di enthält höchstens ein positives Literal)
Ein Atom in F zu markieren, bedeutet, es an allen Stellen seines Auftretens
in F zu markieren
204
Erfüllbarkeitstest für Horn-Formeln
0:
IF keine Fakten (Klausel “→ A”) vorhanden
THEN Ausgabe: erfüllbar
1:
ELSE markiere alle Fakten in F (Atome A mit → A in F )
IF keine Klausel A1 ∧ · · · ∧ An → B in F , so dass
alle Atome in A1 , . . . , An markiert aber B nicht
THEN Ausgabe: erfüllbar
ELSE wähle die erste solche Klausel
IF B leer
THEN Ausgabe: unerfüllbar
ELSE markiere überall B in F
GOTO 1
205
Beispiel 1
(¬P) ∧ (Q) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧
(¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U ∨ W )
Konjunktion von Implikationen:
P →
(P → ⊥)
∧
(P → R)
∧
(W → T )
∧
W →T
∧
U, T , Z → P
(⊤ → Q)
(Q → S)
(S → U)
((U ∧ T ∧ Z ) → P)
((Q ∧ S ∧ U) → W )
∧
∧
∧
→Q
P →R
Q →S
S →U
Q, S, U → W
206
Beispiel 1
(¬P) ∧ (Q) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧
(¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U ∨ W )
Erfüllbar
Markierte Atome und Erklärung:
P →
→Q
P →R
Q→S
W →T
S →U
U, T , Z → P
Q, S, U → W
{Q}
initialer Fakt wegen ⊤ → Q
{Q, S}
{Q, S, U}
wegen Q → S
wegen S → U
{Q, S, U, W }
{Q, S, U, W , T }
wegen Q, S, U → W
wegen W → T
Keine weiteren Schritte möglich, da es
keine Implikation gibt,deren linke Seite
vollständig markiert ist und die rechte Seite nicht
Modell: A(Q) = A(S) = A(U) = A(W ) = A(T ) = 1, A(P) = A(R) = A(Z ) = 0
Markierte Atome: wahr; nicht markierte Atome: falsch.
207
Beispiel 2
(¬P) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧
(¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U ∨ W )
Erfüllbar
Markierte Atome und Erklärung:
P →
Keine Schritte möglich, da es
P →R
keine Implikation gibt,deren linke Seite
Q→S
vollständig markiert ist und die rechte Seite nicht
W →T
S →U
U, T , Z → P
Q, S, U → W
Modell: A(P) = A(Q) = A(R) = A(S) = A(T ) = A(U) = A(W ) = A(Z ) = 0
208
Beispiel 3
(¬P) ∧ (Q) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧
(¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U)
Markierte Atome und Erklärung:
P →
→Q
P →R
Q→S
W →T
S →U
U, T , Z → P
Q, S, U →
{Q}
initialer Fakt wegen ⊤ → Q
{Q, S}
wegen Q → S
{Q, S, U}
wegen S → U
Unerfüllbar
Q, S, U markiert, aber Kopf von
Q, S, U → leer
209
Zusammenfassung
• SAT-Problem (SAT, 3-SAT, 2-SAT, DNF-SAT)
• Horn-Formeln
• Erfüllbarkeitstest für Hornformeln
210
2. Aussagenlogik
Teil 5
14.05.2012
211
Erfüllbarkeitsproblem für Horn-Formeln
Theorem
Die Erfüllbarkeit von Horn-Formeln ist in quadratischer Zeit entscheidbar.
Beweis: (Idee)
Ziel: A : Π → {0, 1} mit A(F ) = 1.
Falls keine Fakten in F : F erfüllbar.
Sonst: Für alle Fakten → P in F : A(P) := 1;
Wiederhole das Verfahren für F ′ , entstanden aus F durch Ersetzung von P
mit ⊤.
Komplexität: |F | × |F |
212
Unser Ziel
Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit
(für Formeln und/oder Formelmengen)
1. Formeln in KNF (Mengen von Klauseln)
Resolution
2. Formelmengen
Semantische Tableaux
213
1. Resolution
214
Motivation
(¬P) ∧ (Q) ∧ (¬P ∨ R) ∧ (¬Q ∨ S) ∧ (T ∨ ¬W ) ∧ (¬S ∨ U)∧
(¬U ∨ ¬T ∨ P ∨ ¬Z ) ∧ (¬Q ∨ ¬S ∨ ¬U ∨ W )
Markierte Atome und Erklärung:
Implikationen
Klauseln
P →
¬P
→Q
Q
P →R
¬P ∨ R
Q→S
S
W →T
T
S →U
U
U, T , Z → P
¬Z ∨ P
Q, S, U → W
W
{Q}
initialer Fakt wegen ⊤ → Q
{Q, S}
{Q, S, U}
wegen Q → S
wegen S → U
{Q, S, U, W }
Q 7→ ⊤
S 7→ ⊤
U 7→ ⊤
wegen Q, S, U → W
W 7→ ⊤
wegen W → T
T 7→ ⊤
{Q, S, U, W , T }
Modell:
A(Q) = A(S) = A(U) = A(W ) = A(T ) = 1
A(P) = A(R) = A(Z ) = 0
Markierte Atome: wahr; nicht markierte Atome: falsch.
215
Bemerkung
Horn Klauseln:
P
P, P1 . . . Pn → Q
P1 . . . Pn → Q
Klauselschreibweise:
P
¬P ∨ ¬P1 . . . ¬Pn ∨ Q
¬P1 ∨ · · · ∨ ¬Pn ∨ Q
Mengenschreibweise:
{P}
{¬P, ¬P1 , ¬Pn , Q}
{¬P1 , . . . , ¬Pn , Q}
216
Verallgemeinerung?
Syllogismus (in der ersten Vorlesung erwähnt):
P
P→C
C
Mengenschreibweise: 1-Resolution (unit resolution)
{P}
{¬P} ∪ C
C
{¬P}
{P} ∪ C
C
217
Verallgemeinerung?
Nicht geeignet für Erfüllbarkeitsüberprüfung beliebiger Klauselmengen:
Die Klauselmenge
M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }}
ist nicht erfüllbar, aber mit 1-Resolution ist aus M nichts ableitbar, also
auch nicht ⊥.
Ziel: Kalkül mit der Eigenschaft dass:
(1) falls M unerfüllbar ⊥ ist aus M ableitbar
(2) falls ⊥ aus M ableitbar, M unerfüllbar.
7→ Das Resolutionkalkül
218
Der aussagenlogische Resolutionkalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Voraussetzung: Alle Formeln in konjunktiver Normalform
• Eine einzige Regel
• Operiert auf Klauseln (in Mengenschreibweise)
219
Resolutionskalkül
Definition: Resolutionsregel (einzige Regel des Kalküls)
C1 ∪ {P}
{¬P} ∪ C2
C1 ∪ C2
wobei
• P eine aussagenlogische Variable
• C1 , C2 Klauseln (können leer sein)
Definition:
C1 ∪ C2 heißt Resolvente von C1 ∪ {P}, C2 ∪ {¬P}
220
Resolution: Beispiel
Gegeben die Klauselmenge:
M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }}
Resolution:
{P1 , P2 } {P1 , ¬P2 }
{P1 }
{¬P1 , P2 } {¬P1 , ¬P2 }
{¬P1 }
{P1 }
{¬P1 }
⊥
Insgesamt: M ⊢Res ⊥
also: M unerfüllbar
221
Resolution: Weiteres Beispiel
Zu zeigen:
(P → Q) → ((Q → R) → (P → R))
ist allgemeingültig
Dazu zeigen wir, dass
¬[(P → Q) → ((Q → R) → (P → R))]
unerfüllbar ist.
Klauselnormalform:
{{¬P, Q}, {¬Q, R}, {P}, {¬R}}
222
Resolution: Weiteres Beispiel
Klauselnormalform:
M = {{¬P, Q}, {¬Q, R}, {P}, {¬R}}
Ableitung der leeren Klausel aus M:
(1)
{¬P, Q}
gegeben
(2)
{¬Q, R}
gegeben
(3)
{P}
gegeben
(4)
{¬R}
gegeben
(5)
{Q}
aus (1) und (3)
(6)
{R}
aus (2) und (5)
(7)
⊥
aus (4) und (6)
223
Resolution: Bemerkungen
Vorsicht bei Klauseln mit mehreren Resolutionsmöglichkeiten
• Zwei Klauseln können mehr als eine Resolvente haben
z.B.: {A, B} und {¬A, ¬B}
• {A, B, C } und {¬A, ¬B, D} haben NICHT {C , D} als Resolvente
Heuristik: Immer möglichst kleine Klauseln ableiten
224
Notwendigkeit der Mengenschreibweise
Die Menge
E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 }
ist unerfüllbar.
Es gibt folgende Resolutionsmöglichkeiten (ohne Mengenschreibweise)
P1 ∨ ¬P2 ¬P1 ∨ P2
¬P2 ∨ P2
¬P1 ∨ P2 ¬P1 ∨ ¬P2
¬P1 ∨ ¬P1
P1 ∨ ¬P2 ¬P1 ∨ P2
¬P1 ∨ P1
¬P1 ∨ P2 P1 ∨ P2
P2 ∨ P2
P1 ∨ ¬P2 ¬P1 ∨ ¬P2
¬P2 ∨ ¬P2
¬P1 ∨ ¬P2 P1 ∨ P2
¬P1 ∨ P1
P1 ∨ ¬P2 P1 ∨ P2
P1 ∨ P1
¬P1 ∨ ¬P2 P1 ∨ P2
¬P2 ∨ P2
Auf diese Weise ist ⊥ nicht herleitbar
225
Ohne Mengenschreibweise
Resolutionsregel:
C1 ∨ P
¬P ∨ C2
C1 ∨ C2
Faktorisieren:
C ∨L∨L
C ∨L
226
Resolution mit Faktorisierung
Die Menge
E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 }
ist unerfüllbar.
Es gibt folgende Resolutionsmöglichkeiten (mit Faktorisieren)
P1 ∨ ¬P2 ¬P1 ∨ P2
¬P2 ∨ P2
P1 ∨ ¬P2 ¬P1 ∨ P2
¬P1 ∨ P1
P1 ∨ ¬P2 ¬P1 ∨ ¬P2
¬P2 ∨ ¬P2
¬P1 ∨ P2 ¬P1 ∨ ¬P2 ¬P1 ∨ P2 P1 ∨ P2 ¬P1 ∨ ¬P2 P1 ∨ P2
¬P1 ∨ ¬P1
P2 ∨ P2
¬P1 ∨ P1
P1 ∨ P1 ¬P1 ∨ ¬P1 P2 ∨ P2 ¬P2 ∨ ¬P2
P1
¬P1
P2
¬P2
P1 ∨ ¬P2 P1 ∨ P2
P1 ∨ P1
¬P1 ∨ ¬P2 P1 ∨ P2
¬P2 ∨ P2
P1 ¬P1
⊥
227
Resolution: Beispiel
Gegeben die Klauselmenge:
M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }}
Resolution:
{P1 , P2 } {P1 , ¬P2 }
{P1 }
{¬P1 , P2 } {¬P1 , ¬P2 }
{¬P1 }
{P1 }
{¬P1 }
⊥
Insgesamt: M ⊢Res ⊥
also: M unerfüllbar
228
Resolution
Ziele:
• Formalisieren, was M ⊢Res ⊥ bedeutet
• Zeigen, dass M ⊢Res ⊥ gdw. M unerfüllbar.
229
Resolution
Sei F eine Klauselmenge und
Res(F ) = F ∪ {R | R ist eine Resolvente zweier Klauseln aus F }
Res0 (F ) = F
Resn+1 (F ) = Res(Resn (F ))
Res⋆ (F ) =
n
Res
(F )
n∈N
S
(bezeichnet die Vereinigung der Resolventen aus aller möglichen Resolutionsschritte
auf F )
Notation: Falls C ∈ Res⋆ (F ), so schreiben wir F ⊢Res C .
Definition: Beweis für C (aus F ): C1 , . . . Cn , wobei:
Cn = C und für alle 1 ≤ i ≤ n: (Ci ∈ F oder Ci Resolvente für
j1 , j2 <i).
Cj1 Cj2
Ci
mit
230
Resolution: Weiteres Beispiel
Klauselnormalform:
M = {{¬P, Q}, {¬Q, R}, {P}, {¬R}}
(1)
{¬P, Q}
gegeben
(2)
{¬Q, R}
gegeben
(3)
{P}
gegeben
(4)
{¬R}
gegeben
(5)
{Q}
aus (1) und (3)
(6)
{R}
aus (2) und (5)
Beweis für {R} aus M
231
Resolution: Weiteres Beispiel
Klauselnormalform:
M = {{¬P, Q}, {¬Q, R}, {P}, {¬R}}
(1)
{¬P, Q}
gegeben
(2)
{¬Q, R}
gegeben
(3)
{P}
gegeben
(4)
{¬R}
gegeben
(5)
{Q}
aus (1) und (3)
(6)
{R}
aus (2) und (5)
(7)
⊥
aus (4) und (6)
Beweis für ⊥ aus M
(Widerspruch)
232
Resolution: Korrektheit und Vollständigkeit
Theorem (Korrektheit)
Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar.
Theorem (Vollständigkeit)
Für eine Menge M von Klauseln gilt: Falls M unerfüllbar, so M ⊢Res ⊥.
233
Resolution: Korrektheit
Theorem (Korrektheit)
Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar.
Beweis: Wir werden zeigen, dass falls C ∈ Res∗ (M), so M ≡ M ∪ {C }.
(Theorem auf Seite 236). (NB: M ∪ {C } Notation für M ∧ C .)
Dann, falls M ⊢Res ⊥, so ⊥∈ Res∗ (M), d.h. M ≡ M ∪ {⊥}.
Aber M ∪ {⊥} ist unerfüllbar, deshalb ist auch M unerfüllbar.
Erklärung 1: Falls M = {C1 , . . . , Cn } so M ∪ {⊥} ist eine Notation für
C1 ∧ · · · ∧ Cn ∧ ⊥. Aber C1 ∧ · · · ∧ Cn ∧ ⊥ ≡ ⊥, so ist C1 ∧ · · · ∧ Cn ∧ ⊥
unerfüllbar (also auch M ∪ {⊥}). Da M ≡ M ∪ {⊥}, ist auch M unerfüllbar.
Erklärung 2: Es gibt keine Wertebelegung A die alle Klauseln in M ∪ {⊥} wahr macht
(d.h. so dass: A(D) = 1 für alle Klauseln D in M und A(⊥) = 1).
234
Resolution: Korrektheit
Lemma: C1 ∨ P, C2 ∨ ¬P |= C1 ∨ C2
Beweis:
Sei A Interpretation mit A(C1 ∨ P) = 1 und A(C2 ∨ ¬P) = 1.
Zu zeigen: A(C1 ∨ C2 ) = 1.
Fall 1: A(C1 ) = 1. Dann A(C1 ∨ C2 ) = 1.
Fall 2: A(C1 ) = 0. Dann A(P) = 1.
Da A(C2 ∨ ¬P) = 1, so A(C2 ) = 1, d.h. A(C1 ∨ C2 ) = 1.
235
Resolution: Korrektheit
Theorem: Falls C ∈ Res⋆ (F ), so F ≡ F ∪ {C }.
Beweis: Annahme: C ∈ Resn (F ).
Zu zeigen: F ≡ F ∧ C , i.e.:
Für alle A : Π → {0, 1} gilt: A(F ) = 1 gdw. (A(F ) = 1 und A(C ) = 1).
• Sei A : Π → {0, 1} mit A(F ) = 1.
Induktion: Für alle m ∈ N gilt: Falls D ∈ Resm (F ), so A(D) = 1.
(folgt aus: C1 ∨ P, C2 ∨ ¬P |= C1 ∨ C2 )
Dann A(C ) = 1, so (A(F ) = 1 und A(C ) = 1), d.h. A(F ∧ C ) = 1.
• Sei A : Π → {0, 1} mit A(F ∧ C ) = 1.
Dann A(F ) = 1 und A(C ) = 1, so A(F ) = 1.
236
Resolution: Vollständigkeit
Theorem.
Für jede endliche Menge M von Klauseln gilt:
falls M unerfüllbar, so M ⊢Res ⊥.
Beweis: Induktion:
p(n):
Sei M Menge von Klauseln mit n Aussagenvariablen.
Falls M unerfüllbar, so M ⊢Res ⊥
237
2. Aussagenlogik
Teil 6
28.05.2012
238
Resolution
Ziele:
• Formalisieren, was M ⊢Res C bedeutet
• Zeigen, dass M ⊢Res ⊥ gdw. M unerfüllbar.
Korrektheit:
Falls M ⊢Res ⊥, so M unerfüllbar.
Vollständigkeit: Falls M unerfüllbar, so M ⊢Res ⊥
• Zeigen, dass das Verfahren terminiert.
239
Resolution: Korrektheit und Vollständigkeit
Theorem (Korrektheit)
Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar.
letzte Vorlesung
Theorem (Vollständigkeit)
Für eine Menge M von Klauseln gilt: Falls M unerfüllbar, so M ⊢Res ⊥.
heute
240
Resolution: Vollständigkeit
Theorem.
Für jede endliche Menge M von Klauseln gilt:
falls M unerfüllbar, so M ⊢Res ⊥.
Beweis: Induktion:
p(n):
Sei M Menge von Klauseln mit n Aussagenvariablen.
Falls M unerfüllbar, so M ⊢Res ⊥
Induktionsbasis: n = 0.
Dann M = {⊥}, d.h. M ⊢Res ⊥
241
Resolution: Vollständigkeit
M0 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊥:
- Pn+1 wird aus allen Klauseln gelöscht,
- Klauseln, die ¬Pn+1 enthalten werden ebenfalls gelöscht
M1 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊤:
- ¬Pn+1 wird aus allen Klauseln gelöscht,
- Klauseln, die Pn+1 enthalten werden ebenfalls gelöscht
Fakten:
• M0 , M1 enthalten nur Aussagenvariablen {P1 , . . . , Pn }
• M0 , M1 unerfüllbar
Induktionsvoraussetzung:
M0 ⊢Res ⊥, i.e. es gibt C1 , C2 , . . . , Cm Beweis (aus M0 ) für ⊥
Pn+1 zurück: C1′ , C2′ , . . . , Cm′ Beweis (aus M) für ⊥ oder Pn+1
M1 ⊢Res ⊥, i.e. es gibt D1 , D2 , . . . , Dk Beweis (aus M1 ) für ⊥
¬Pn+1 zurück: D1′ , D2′ , . . . , Dk′ Beweis (aus M) für ⊥ oder ¬Pn+1







⇒ M ⊢Res ⊥
242
Resolution: Vollständigkeit
Theorem.
Für jede endliche Menge M von Klauseln gilt:
falls M unerfüllbar, so M ⊢Res ⊥.
Es gilt auch:
Theorem.
Für jede Menge M von Klauseln gilt:
falls M unerfüllbar, so M ⊢Res ⊥.
243
Terminierung
Theorem.
Aussagenlogische Resolution (für Klauselmengen in Mengennotation)
terminiert, für jede endliche Menge von Klauseln.
Beweis: Es gibt nicht mehr als 22n Klauseln (in Mengennotation) mit n
Aussagenvariablen.
7→ nicht mehr als (22n )2 mögliche Anwendungen der Resolutionsregel.
244
2-SAT
Theorem
Erfüllbarkeit für Formeln in 2-KNF (2SAT) ist polynomiell entscheidbar
Beweis (Krom, 1967)
Fall 1: Für jede Aussagenvariable P, entweder enthalten alle Klauseln P oder ¬P:
erfüllbar.
Fall 2: Es gibt Klauseln C1 = L1 ∨ P, C2 = L2 ∨ ¬P
Resolutionschritt; Resolvente L1 ∨ L2 (Mengennotation)
Fakt: Resolventen sind immer auch in 2-KNF.
Wenn F n Aussagenvariablen enthält, gibt es 2n mögliche Literale, und ≤ 4n2
nicht-leere verschiedene 2-KNF Klauseln.
F ist erfüllbar gdw. ⊥6∈ Res∗ (F )
Wenn wir Res∗ (F ) berechnen: nicht mehr als (4n2 )2 Resolutionsschritte
notwendig.
7→ Erfüllbarkeit von F ist polynomiell entscheidbar.
245
1-Resolution
Die 1-Resolution (unit resolution) benutzt dieselbe Notation wie im
Resolutionskalkül. Die 1-Resolutionsregel ist ein Spezialfall der allgemeinen
Resolutionsregel:
{P}
{¬P} ∪ C
C
{¬P}
{P} ∪ C
C
Der 1-Resolutionskalkül ist nicht vollständig.
Die Klauselmenge
M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }}
ist nicht erfüllbar, aber mit 1-Resolution ist aus M nichts ableitbar, also
auch nicht ⊥.
246
Unser Ziel
Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit
(für Formeln und/oder Formelmengen)
1. Formeln in KNF (Mengen von Klauseln)
Resolution
bis jetzt
2. Formelmengen
Semantische Tableaux
247
Unser Ziel
Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit
(für Formeln und/oder Formelmengen)
1. Formeln in KNF (Mengen von Klauseln)
Resolution
2. Formelmengen
Semantische Tableaux
248
Der aussagenlogische Tableaukalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Beweis durch Fallunterscheidung
• Top-down-Analyse der gegebenen Formeln
249
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
250
Formeltypen
Konjunktive Formeln: Typ α
• ¬¬F
• F ∧G
• ¬(F ∨ G )
• ¬(F → G )
Disjunktive Formeln: Typ β
• ¬(F ∧ G )
• F ∨G
• F →G
251
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 )
252
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
253
Regeln des (aussagenlogischen) Tableaukalküls
p∧q
|
p
|
q
α
Konjunktiv
α1
α2
β
β1 | β2
p∨q
Disjunktiv
p
φ
¬φ
⊥
/
Widerspruch
\
q
φ
¬φ
|
⊥
254
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
255
Ein Tableau für {P ∧ ¬(Q ∨ ¬R), ¬Q ∨ ¬R}
1.(1)
(2)
P ∧ ¬(Q ∨ ¬R)
¬Q ∨ ¬R
XXX
XX
(3)
¬Q
(5)
P
(10)
P
(6)
¬(Q ∨ ¬R)
(11)
¬(Q ∨ ¬R)
(7)
¬Q
(8)
¬¬R
(9)
R
(4)
¬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.)
256
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
257
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)
258
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.
259
Formale Definition des Kalküls
Nota bene:
Alle Äste in einem Tableau für M enthalten implizit alle Formeln in M
Definition.
Ast B eines Tableaus für M ist geschlossen, wenn es eine Formel F existiert,
so dass B die Formeln F und ¬F enthält.
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
260
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.
261
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
hhhh
(8)
¬P
(9)
β [21 ]
Q→R
β [22 ]
XXXX
X
(10)
P
β [41 ]
(11)
S
β [42 ]
geschlossenes Tableau.
262
2. Aussagenlogik
Teil 7
3.06.2013
263
Klauseltableau
M Menge von Klauseln
Änderungen
• Keine α-Regel
• Erweiterungsregel kann Verzweigungsgrad > 2 haben
• Alle Knoten im Tableau enthalten Literale
264
Klauseltableau: Beispiel
M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }
P
⊥
g 1. VVVVV
g
g
g
g
VVVV
gg
g
g
g
VV
g
g
Q L
¬P K
LLL
K
u
u
K
u
u
K
uu
uu
P I
¬Q
¬Q P
p
P
I
p
PP
s
I
p
s
p
s
s
P
Q
R
¬P
¬Q
⊥
⊥
⊥
⊥
⊥
⊥
265
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
Korrektheit: “⇐”
Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
(d.h. ein Tableau für M, das geschlossen ist)
so ist M unerfüllbar.
... alternativ:
Falls M erfüllbar ist, hat M kein geschlossenes Tableau.
266
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
Vollständigkeit: “⇒”
Falls M unerfüllbar ist,
gibt es einen Tableaubeweis für (die Unerfüllbarkeit von) M
(d.h. ein Tableau für M, das geschlossen ist).
267
Kern des Korrektheitsbeweises
Theorem (Korrektheit)
Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
(d.h. ein Tableau für M, das geschlossen ist) so ist M unerfüllbar.
... alternativ: Falls M erfüllbar ist, hat M kein geschlossenes Tableau.
Definition.
Ein Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist
Ein Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Lemma 2. Ein geschlossenes Tableau ist nicht erfüllbar
... Also: Kein geschlossenes Tableau für erfüllbare Formelmenge
268
Lemma 1: Beweis
Definition.
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist.
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Beweis: Induktion
p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
Induktionsbasis: T wurde in einem Schritt gebildet.
Initialisierung
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
da M erfüllbar ist, ist ein solches Tableau erfüllbar
269
Lemma 1: Beweis
Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist.
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Beweis: Induktion
p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1).
Sei T ein in n + 1 Schritten gebildetes Tableau für M.
Dann gibt es ein Tableau T ′ für M (in n Schritten gebildet), ein Ast B von T ′ und
eine Formel F auf B, die kein Literal ist, so dass T durch die Erweiterung von B
gemäß der auf F anwendbaren Regel (α oder β) entstanden ist.
Induktionsvoraussetzung: T ′ erfüllbar, d.h. hat (mindestens) einen erfüllbaren Ast B ′ .
Fall 1: B ′ 6= B. Dann ist B ′ auch Ast in T , d.h. T erfüllbar.
270
Lemma 1: Beweis
Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist.
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Beweis: Induktion
p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1).
Sei T ein in n + 1 Schritten gebildetes Tableau für M.
Dann gibt es ein Tableau T ′ für M (in n Schritten gebildet), ein Ast B von T ′ und
eine Formel F auf B oder in M, die kein Literal ist, so dass T durch die Erweiterung
von B gemäß der auf F anwendbaren Regel (α oder β) entstanden ist.
Induktionsvoraussetzung: T ′ erfüllbar, d.h. hat (mindestens) einen erfüllbaren Ast B ′ .
Fall 2: B ′ = B d.h. B erfüllbar. Sei A Modell für die Formeln NB auf B.
Fall 2a: α-Regel angewandt F ≡ F1 ∧ F2 . Dann ist A Modell für
NB ∪ {F1 , F2 }, d.h.: die Erweiterung von B mit dieser α-Regel ist erfüllbar,
so T erfüllbar.
271
Lemma 1: Beweis
Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist.
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Beweis: Induktion
p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1).
Sei T ein in n + 1 Schritten gebildetes Tableau für M.
Dann gibt es ein Tableau T ′ für M (in n Schritten gebildet), ein Ast B von T ′ und
eine Formel F auf B oder in M, die kein Literal ist, so dass T durch die Erweiterung
von B gemäß der auf F anwendbaren Regel (α oder β) entstanden ist.
Induktionsvoraussetzung: T ′ erfüllbar, d.h. hat (mindestens) einen erfüllbaren Ast B ′ .
Fall 2: B ′ = B d.h. B erfüllbar. Sei A Modell für die Formeln NB auf B.
Fall 2b: β-Regel angewandt F ≡F1 ∨F2 . Dann 1=A(F )=A(F1 )∨A(F2 ), so
A(F1 )=1 oder A(F2 )=1. Dann A|=NB ∪{Fi }, i=1 oder 2, d.h. A Modell
für alle Formeln auf der Erweiterung von B mit F1 oder F2 , so T erfüllbar.
272
Lemma 2: Beweis
Definition.
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Lemma 2. Ein geschlossenes Tableau ist nicht erfüllbar
Beweis: Kontraposition
Annahme: T erfüllbar. Dann hat T einen erfüllbaren Ast B.
Falls die Menge der Formeln auf B (und M) erfüllbar ist, kann B nicht Formeln F und
¬F enthalten, d.h. B kann nicht geschlossen sein.
273
Korrektheit und Vollständigkeit
Theorem (Korrektheit)
Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
(d.h. ein Tableau für M, das geschlossen ist) so ist M unerfüllbar.
Theorem (Vollständigkeit)
Falls M unerfüllbar, so gibt es einen Tableaubeweis für die Unerfüllbarkeit
von M (d.h. einen Tableau für M, das geschlossen ist).
... alternativ:
“falls es keinen Tableaubeweis für die Unerfüllbarkeit von M gibt (d.h.
“maximales Tableau’” für M nicht geschlossen) so ist M erfüllbar”
274
Kern des Vollständigkeitsbeweises
Definition.
Ein Tableau heißt voll expandiert, wenn
• jede Regel
• auf jede passende Formel
• auf jedem offenen Ast
angewendet worden ist.
Lemma 3.
Sei B offener Ast in voll expandiertem Tableau.
Dann ist die Menge der Formeln in B erfüllbar.
... Also: Voll expandiertes Tableau für unerfüllbares M ist geschlossen
275
Lemma 3: Beweis
Lemma 3.
Sei B offener Ast in voll expandiertem Tableau.
Dann ist die Menge der Formeln in B erfüllbar.
Beweis: (für klausale Tableaux)
Sei N die Menge der Formeln auf B. Da B offen ist, ist ⊥ nicht in N.
Seien C ∨ A, D ∨ ¬A zwei Klauseln in N die komplementäre Literale enthalten. Einer
von C , D ist nicht leer (sonst wäre B geschlossen).
Annahme: C nicht leer. Da B voll expandiert ist, wurde die β-Regel für C ∨ A
angewandt (auch für D ∨ ¬A falls D nicht leer).
Fall
Fall
Fall
Fall
1: A, ¬A ∈ B: unmöglich, da B offen ist.
2: A, L ∈ B mit L Literal in D. N erfüllbar gdw. N\{D ∨ ¬A} erfüllbar.
3: L, ¬A ∈ B, mit L Literal in C . N erfüllbar gdw. N\{C ∨ A} erfüllbar.
4: L1 , L2 ∈ B, mit L1 Literal in C , L2 Literal in D.
N erfüllbar gdw. N\{C ∨ A, D ∨ ¬A} erfüllbar.
N 7→ N ′ , N ′ Klauselmenge ohne komplementäre Literale und ohne ⊥
Die Erfüllbarkeit von N ′ folgt aus der Vollständigkeit der Resolution.
276
Klauseltableau: Einschränkungen des Suchraums
Regularität:
Kein Literal darf auf einem Ast mehr als einmal vorkommen
Schwache Konnektionsbedingung (Connection calculus)
Bei Erweiterung von Ast B muss mindestens eines der neuen Literale
komplementär zu Literal in B sein.
Starke Konnektionsbedingung (Modellelimination)
Bei Erweiterung von Ast B muss mindestens eines der neuen Literale
komplementär zum Blatt von B sein – außer beim ersten Schritt.
277
Klauseltableau: Einschränkungen des Suchraums
Theorem (hier ohne Beweis)
Regularität, starke und schwache Konnektionsbedingung
erhalten Vollständigkeit.
Jedoch
Bei starker Konnektionsbedingung kann ungünstige Erweiterung in
Sackgasse führen.
(bei schwacher Konnektionsbedinung nicht)
Beispiel: M = {{P}, {¬Q}, {¬P, Q}, {¬P, R}}
Zuerst {¬P, Q}: OK
Zuerst {¬P, R}: Sackgasse
278
Klauseltableau: Weiteres Beispiel
Signatur: F : Flugreise V : Vollpension M: Meer P: Pool
Falls sie nicht mit dem Flugzeug fliegen, besteht der Vater auf Vollpension am Meer.
¬F → (V ∧ M)
Die Mutter möchte mindestens einen ihrer drei Wünsche erfüllt sehen: ans Meer
fliegen, oder am Meer ohne Pool, oder Vollpension und Pool.
(M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P)
Gibt es keinen Pool, so besteht Tochter Lisa auf einer Flugreise und Urlaub am Meer
und darauf, dass keine Vollpension gebucht wird.
¬P → (F ∧ M ∧ ¬V )
Auch dem Baby soll einer seiner Wünsche erfüllt werden: erstens einen Pool und nicht
fliegen oder zweitens Vollpension, dann aber ohne Pool.
(P ∧ ¬F ) ∨ (V ∧ ¬P)
279
Klauseltableau: Weiteres Beispiel
Behauptung
Dann müssen sie ans Meer mit Vollpension, mit Pool und ohne Flug.
M ∧ V ∧ P ∧ ¬F
Zu zeigen:
{¬F → (V ∧ M), (M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P),
¬P → (F ∧ M ∧ ¬V ), (P ∧ ¬F ) ∨ (V ∧ ¬P)}
|=
M ∧ V ∧ P ∧ ¬F
Wir zeigen, dass die folgende Konjunktion unerfüllbar ist:
(¬F → (V ∧ M), (M ∧ F ))∧
((M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P))∧
(¬P → (F ∧ M ∧ ¬V ))∧
((P ∧ ¬F ) ∨ (V ∧ ¬P))∧
¬M ∨ ¬V ∨ ¬P ∨ F
(Negation der Behauptung)
280
Klauseltableau: Weiteres Beispiel
¬F → (V ∧ M)
(M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P)
¬P → (F ∧ M ∧ ¬V )
(P ∧ ¬F ) ∨ (V ∧ ¬P)
Negation der Behauptung
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
F ∨V
F ∨M
M∨V
M∨P
M ∨ ¬P ∨ V
F ∨M∨V
F ∨M∨P
F ∨ ¬P ∨ V
P ∨F
P ∨M
P ∨ ¬V
P ∨V
¬F ∨ V
¬F ∨ ¬P
¬M ∨ ¬V ∨ ¬P ∨ F
281
Klauseltableau: Weiteres Beispiel
Beobachtung
Konstruktion des Konnektionstableaus
• bei Beginn mit Klausel (1)
• mit Regularität
• mit starker Konnektionsbedingung
Dann:
Nahezu deterministische Beweiskonstruktion
282
Klauseltableau: Weiteres Beispiel
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
F ∨V
F ∨M
M∨V
M∨P
M ∨ ¬P ∨ V
F ∨M∨V
F ∨M∨P
F ∨ ¬P ∨ V
P ∨F
P ∨M
P ∨ ¬V
P ∨V
¬F ∨ V
¬F ∨ ¬P
¬M ∨ ¬V ∨ ¬P ∨ F
1
F
V
V
F
P
P
P
V
P
F
V
F
F
M
M
V
P
F
283
2. Aussagenlogik
Teil 8
4.06.2013
284
Terminierung
Definition. Ein Tableau ist strikt, falls für jede Formel F die entsprechende
Erweiterungsregel höchstens einmal auf jeden Ast, der die Formel enthält,
angewandt wurde.
Theorem.
Sei T ein striktes aussagenlogisches Tableau. Dann ist T endlich.
Beweis: Neue Formeln mit denen ein Tableau erweitert wird sind ⊥, (⊤) oder
Teilformeln der Formel, auf der die Erweiterungsregel angewandt wird. Da T strikt
ist, wird für jede Formel F die entsprechende Erweiterungsregel höchstens einmal auf
jeden Ast, der die Formel enthält, angewandt.
Dann sind alle Äste in T endlich, und so ist auch T endlich (König’s Lemma).
285
Zusammenfassung: Tableaukalkül
Beweis durch Widerspruch und Fallunterscheidung
• Tableauregeln (mit uniformer Notation)
• Formale Definition des Kalküls
• Korrektheit und Vollständigkeit
• Klauseltableau
• Regularität
• Schwache und starke Konnektionsbedingung
• Strikte Tableaux
• Terminierung
286
Herunterladen