Logik für Informatiker Logik in der Informatik Formale

Werbung
Formale Logik
Logik für Informatiker
Ziel
• Formalisierung und Automatisierung rationalen Denkens
• Rational richtige Ableitung von neuem Wissen aus gegebenem
Viorica Sofronie-Stokkermans
Rolle der Logik in der Informatik
• Anwendung innerhalb der Informatik
Spezifikation, Programmentwicklung, Programmverifikation
e-mail: [email protected]
• Werkzeug für Anwendungen außerhalb der Informatik
Künstliche Intelligenz, Wissensrepräsentation
1
Logik in der Informatik
3
Modellierung
Was ist Logik?
• Mathematisch?
ja
• Unverständlich?
hoffentlich nein
Abstraktion
• Reine Theorie ohne praktischen Nutzen?
nein: Verifikation von Hardware, Software, Protokollen
Sprachverarbeitung und Wissensrepräsentation
Abfragensprachen für Datenbanken; ...
2
4
Modellierung
Beispiel: Aufzug
Adäquatheit des Modells
oben
oben
mitte
mitte
unten
unten
Wenn formulierbare Aussage wahr im Modell, dann entsprechende Aussage
wahr in Wirklichkeit
Aufzug mitte
Oben gedruckt
F.nach oben
5
7
Beispiel: Aufzug
Modellierung: Strukturen
oben
oben
oben
Aufzug oben
Mitte gedruckt
oben
Aufzug oben
Mitte gedruckt
Aufzug oben
Mitte gedruckt
F.nach unten
mitte
oben
mitte
mitte
unten
unten
Aufzug mitte
Unten gedruckt
F.nach unten
mitte
F.nach unten
mitte
F.nach unten
unten
unten
unten
v(AufzugOben) = wahr
v(AufzugMitte) = wahr
v(AufzugOben) = wahr
v(AufzugMitte) = wahr
6
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
oben
Aufzug oben
Mitte gedruckt
oben
Formale Logik
Aufzug oben
Mitte gedruckt
• Syntax
welche Formeln?
F.nach unten
mitte
mitte
Aufzug mitte
Unten gedruckt
mitte
F.nach unten
Aufzug mitte
• Semantik
Modelle (Strukturen)
F.nach unten
unten
Wann ist eine Formel wahr (in einer Struktur)?
unten
unten
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
v(AufzugOben) = wahr
v(AufzugMitte) = wahr
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
9
11
Modellierung: Strukturen
oben
Aufzug oben
Mitte gedruckt
oben
oben
Aussagenlogik: Syntax
Die Welt besteht aus Fakten
Aufzug oben
Mitte gedruckt
Bausteine: Atomare Aussagen
F.nach unten
mitte
mitte
Aufzug mitte
Unten gedruckt
mitte
Beispiele: Aufzug ist oben:
F.nach unten
Aufzug mitte
AufzugOben
F.nach unten
unten
unten
Mittlerer Knopf gedrückt:
unten
MitteGedrückt
Verknüpft mit logischen Operatoren
Aussagen beziehen sich auf Strukturen
(Formale) Aussagen sind in jeder einzelnen Struktur zu wahr oder falsch
auswertbar
10
und
oder
impliziert
nicht
∧
∨
→
¬
12
Aussagenlogik: Syntax
Aussagenlogik: Semantik
Der Aufzug ist oben und der Aufzug ist nicht unten
Komplexe Aussagen:
AufzugOben ∧ ¬AufzugUnten
Beispiele:
falsch in:
Wenn mittlerer Knopf gedrückt, dann Aufzug nicht in der Mitte
oben
MitteGedrückt → ¬AufzugMitte
mitte
Aufzug mitte
Unten gedruckt
Der Aufzug ist oben und der Aufzug ist nicht unten
AufzugOben ∧ ¬AufzugUnten
F.nach unten
unten
13
Aussagenlogik: Semantik
Aussagenlogik: Deduktionsmechanismus
Der Aufzug ist oben und der Aufzug ist nicht unten
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
AufzugOben ∧ ¬AufzugUnten
wahr in:
oben
15
Aufzug oben
Mitte gedruckt
Syllogismen:
F.nach unten
P→Q
P
mitte
Q
Beispiel:
unten
AufzugUnten → ¬AufzugOben
AufzugUnten
¬AufzugOben
14
16
Aussagenlogik: Deduktionsmechanismus
Prädikatenlogik
Deduktionsmechanismus im allgemeinen
Reichere Struktur
Kalkül
• Objekte (Elemente)
Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ...
• Relationen (Eigenschaften)
rot, rund, prim, mehrstöckig, ...
ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, ..
=, ≥, ...
In dieser Vorlesung:
• Wahrheitstafeln
• Logische Umformung
• Funktionen
+, Mitte von, Vater von, Anfang von, ...
• Resolutionskalkül
• Tableaukalkül
• DPLL
17
Prädikatenlogik
19
Beispiel: Tante Agatha
Eine kleine Logelei:
Aussagenlogik: Die Welt besteht aus Fakten
Jemand, der in Schloss Dreadbury wohnt, hat Tante
Agatha ermordet. Agatha, ihr Butler und ihr Neffe Charles
waren die einzigen Bewohner von Schloss Dreadbury. Ein
Mörder hasst immer sein Opfer und ist niemals reicher als
sein Opfer. Charles hasst niemanden, den Tante Agatha
gehasst hat. Agatha hat jeden gehasst außer ihrem Butler.
Der Butler hasst jeden, der nicht reicher ist als Tante
Agatha. Der Butler hasst jeden, den Tante Agatha gehasst
hat. Niemand hasst jeden. Agatha war nicht der Butler.
... 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.
Wer hat Tante Agatha ermordet?
18
20
Beispiel: Tante Agatha
Beispiel: Tante Agatha
Zuerst formalisieren wir das Problem:
Der Butler hasst jeden, der nicht reicher ist als Tante Agatha.
Der Butler hasst jeden, den Tante Agatha gehasst hat.
E
x (schlossbewohner(x) ∧ ermordet(x, a))
◮
Agatha, ihr Butler und ihr Neffe Charles waren die einzigen
Bewohner von Schloss Dreadbury.
x (hasst(a, x) → hasst(b, x))
Niemand hasst jeden.
◮
A
x (schlossbewohner(x) ↔ (x = a ∨ x = b ∨ x = c))
E A
◮
¬ reicher(x, a) → hasst(b, x))
x (¬
A
◮
A
◮
Jemand, der in Schloss Dreadbury wohnt, hat Tante Agatha
ermordet.
x
¬ hasst(x, y ))
y (¬
Agatha war nicht der Butler.
◮
¬a=b
21
Beispiel: Tante Agatha
Prädikatenlogik: Deduktionsmechanismus
• Deduktionsmechanismus
Ein Mörder hasst immer sein Opfer und ist niemals reicher als sein
Opfer.
Ableitung neuer wahrer Formeln
A
A
◮
23
x, y (ermordet(x, y ) → hasst(x, y ))
x, y (ermordet(x, y ) → ¬ reicher(x, y ))
Syllogismen:
Charles hasst niemanden, den Tante Agatha gehasst hat.
A
A
x(P(x) → Q(x))
x (hasst(c, x) → ¬ hasst(a, x))
A
◮
x(Q(x) → R(x))
A
x(P(x) → R(x))
Agatha hat jeden gehasst außer ihrem Butler.
A
◮
¬ hasst(a, x) ↔ x = b)
x (¬
22
24
Beispiel: Tante Agatha
Beispiel: Tante Agatha
Nun können wir aus den Formeln neue Formeln ableiten.
Damit wissen wir schon, dass Charles nicht der Mörder ist.
Beispielweise so:
Die weitere Berechnung ist aber mühsam.
ermordet(x, y ) → hasst(x, y )
hasst(c, y ) → ¬hasst(a, y )
Glücklicherweise können wir die Arbeit einem automatischen
Theorembeweiser überlassen.
ermordet(c, y ) → ¬hasst(a, y )
ermordet(c, y ) → ¬hasst(a, y )
¬hasst(a, y ) → y = b
ermordet(c, y ) → y = b
25
Beispiel: Tante Agatha
27
Prädikatenlogik: Deduktionsmechanismus
Nun können wir aus den Formeln neue Formeln ableiten.
In dieser Vorlesung:
Beispielweise so:
• Resolutionskalkül
• Tableaukalkül
ermordet(x, y ) → hasst(x, y )
hasst(c, y ) → ¬hasst(a, y )
ermordet(c, y ) → ¬hasst(a, y )
ermordet(c, y ) → ¬hasst(a, y )
¬hasst(a, y ) → y = b
ermordet(c, y ) → y = b
ermordet(c, y ) → y = b
¬(a = b)
¬ermordet(c, a)
26
28
Das ganze Bild
Das ganze Bild
Probleme
Probleme
(Beschreibung in natürlicher Sprache)
(Beschreibung in natürlicher Sprache)
Formalisierung
Formalisierung
Logische Sprache: Syntax
Aussagenlogik /
Logische Sprache: Syntax
Prädikatenlogik
Aussagenlogik /
Formel
Prädikatenlogik
Deduktion
Formel
Modelle: Semantik
Kalkül
Logik
Modelle: Semantik
Vollständigkeit
Gültige Formel
(automatische)
Kalkül
Logik
Vollständigkeit
Beweisbare Formel
Gültige Formel
Korrektheit
Beweisbare Formel
Korrektheit
29
Das ganze Bild
31
Inhalt der Vorlesung
• 1. Einführung: Motivation, Beweisstrategien (insb. Induktion)
Probleme
• 2. Aussagenlogik
(Beschreibung in natürlicher Sprache)
– Syntax und Semantik
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux; DPLL
Formalisierung
Modellierung
Logische Sprache: Syntax
Aussagenlogik /
• 3. Prädikatenlogik
Prädikatenlogik
– Syntax und Semantik
Formel
Modelle: Semantik
Kalkül
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux
Logik
Vollständigkeit
Gültige Formel
Beweisbare Formel
• 4. Weitere Aussichten
- Nichtklassische Logiken; Logiken höherer Stufe
- Anwendungen: z.B. Datenbanken oder Verifikation
Korrektheit
30
32
Einführung: Zusammenfassung
Mathematisches Beweisen
Mathematische Aussagen
• Ziel und Rolle der Formalen Logik in der Informatik
• Modellierung, Adäquatheit der Modellierung
- haben oft die Form: Wenn A, dann B.
• Wesentliche Komponenten für jede Logik: Syntax, Semantik,
Deduktionsmechanismus (Kalkül)
- als Formel: A → B
• Beispiel Aussagenlogik: Syntax, Semantik, Syllogismen
Mathematischer Beweis
• Beispiel Prädikatenlogik: Syntax, Semantik, Syllogismen
- bzgl. eines vorgegebenen Axiomensystems
• The Whole Picture:
- mit Hilfe von Inferenzregeln
– Formel in der “wahren Welt” / (semantisch) gültige Formel,
gültige Formel / ableitbare Formel
– Vollständigkeit und Korrektheit von Kalkülen
33
1. Grundlegende Beweisstrategien
35
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 darstellen als
n = 2k + 1, wobei k eine natürliche Zahl oder Null ist. Daraus folgt mit Hilfe der
ersten binomischen Formel
n2 = (2k + 1)2 = 4k 2 + 4k + 1 = 2 · (2k 2 + 2k) + 1.
Aus der Möglichkeit, n2 so darzustellen folgt, dass n2 ungerade ist.
34
36
Grundlegende Beweisstrategien
Grundlegende Beweisstrategien
Mathematische Aussagen der Form A → B (Wenn A, dann B)
Mathematische Aussagen, die nicht die Form A → B haben
- Beweis durch Kontraposition:
Beweis von ¬B → ¬A.
- Ä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.)
- 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.
n gerade und
√
n = k ∈ N → k gerade
Beweis durch Kontraposition: Zu zeigen:
√
n = k ∈ N und k ungerade → n ungerade.
37
39
Grundlegende Beweisstrategien
Grundlegende Beweisstrategien
- Beweis durch Fallunterscheidung
Um B zu beweisen, beweise dass A1 → B, . . . , An → B,
wobei A1 ∨ · · · ∨ An ≡ wahr
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: Jede Primzahl p≥3 hat die Form p = 4·k±1 mit einer natürlichen Zahl k.
Beweis: Man unterscheidet folgende vier Fälle für die Zahl p, von denen immer genau
einer eintritt:
Behauptung: Ist die Wurzel aus einer geraden natürlichen Zahl n eine natürliche
Zahl, so ist diese gerade.
1.
2.
3.
4.
√
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.
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
mit einer natürlichen Zahl k.
38
40
Grundlegende Beweisstrategien
Grundlegende Beweisstrategien
- Beweis durch Fallunterscheidung
Um B zu beweisen, beweise dass A1 → B, . . . , An → B,
wobei A1 ∨ · · · ∨ An ≡ wahr
Aussagen mit Quantoren
Es sei angemerkt, dass die Fallunterscheidung zwar vollständig sein
muss, aber die untersuchten Fälle sich nicht gegenseitig ausschließen
müssen.
E A
E
x (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
x y A(x, y )
41
Grundlegende Beweisstrategien
43
Grundlegende Beweisstrategien
Aussagen mit Quantoren
Beweise mittels Vollständiger Induktion
A
x ∈ U : (p(x) → q(x))
A
Behauptung:
n ∈ N : (n ist gerade und
|
√
A
Wähle a beliebig aus U.
Beweis der Implikation p(a) → q(a).
Da a beliebig gewählt werden kann, folgt
x ∈ U : p(x) → q(x)
√
n ist eine natürliche Zahl → n ist gerade).
{z
}
{z
}
|
p(n)
Beweis: Sei n beliebig aus N. Wir zeigen, dass wenn n gerade ist und
√
Zahl ist, dann n gerade ist (das wurde auf Seite 6 bewiesen).
q(n)
√
n eine natürliche
42
44
Induktion
Induktion über die natürlichen Zahlen
Wesentliches Beweisprinzip in Mathematik und Logik
Idee: Definition der natürlichen Zahlen
Einfache Version
(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.
Induktion über die natürlichen Zahlen N
(natural induction)
Generalization
Noethersche Induktion
(noetherian induction/
induction over well-founded partially ordered sets)
45
47
Emmy Noether
Induktion über die natürlichen Zahlen
(A5)
Geboren 1882 in Erlangen
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
Gestorben 1934 in Princeton (USA)
0 ∈ X , und
A
n ∈N:n ∈X →n+1∈X
so
A
Mitbegründerin der modernen Algebra
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).
Allgemein heißt eine geordnete algebraische Struktur
noethersch, wenn es in ihr keine unendlich absteigenden
Ketten gibt.
A
A
46
48
Induktion über die natürlichen Zahlen
(A5)
Induktion über die natürlichen Zahlen
Struktur eines Induktionsbeweises
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
Induktionsbasis:
Beweise p(0)
Induktionsvoraussetzung:
Für ein beliebig gewähltes
0 ∈ X , und
n ∈ N gilt p(n)
A
n ∈N:n ∈X →n+1∈X
(3)
Induktionsschluss:
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).
Folgere p(n + 1) aus der
Induktionsvoraussetzung p(n)
A
so
(1)
(2)
Induktionsbasis
Induktionsschritt
A
A
49
51
Induktion über die natürlichen Zahlen
Beispiel
Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 .
n−1
X
Für alle n ∈ N,
(2i + 1) = n2 .
Struktur eines Induktionsbeweises
(1)
Induktionsbasis:
Beweise p(0)
(2)
Induktionsschritt:
Beweise p(n) → p(n + 1)
i=0
für ein beliebiges n ∈ N
50
52
Beispiel
Beispiel
Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 .
n−1
X
n−1
X
Für alle n ∈ N,
(2i + 1) = n2 .
p(n) :
(2i + 1) = n2
Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 .
n−1
X
n−1
X
(2i + 1) = n2 .
Für alle n ∈ N,
p(n)
:
(2i + 1) = n2
i=0
i=0
i=0
i=0
(1)
Induktionsbasis:
Beweise p(0)
n = 0: 0 = 02
(1)
Induktionsbasis:
Beweise p(0) OK
(2)
Induktionsvoraussetzung:
Für ein beliebig gewähltes
n−1
X
(2i + 1) = n2
n ∈ N gilt p(n):
(3)
Induktionsschluss:
Folgere p(n + 1) aus p(n)
n
X
(2i + 1) = (n + 1)2 .
p(n + 1) :
i=0
i=0
Beweis:
n
X
(2i + 1) = (
i=0
n−1
X
p(n) 2
2
(2i + 1)) + (2n + 1) = n + (2n + 1) = (n + 1) .
i=0
53
Beispiel
55
Verallgemeinerte vollständige Induktion
Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 .
n−1
X
n−1
X
Für alle n ∈ N,
(2i + 1) = n2 .
p(n) :
(2i + 1) = n2
i=0
Verallgemeinerte vollständige Induktion
Gelten die beiden Aussagen:
p(0)
und
n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1)
i=0
A
Induktionsbasis:
Beweise p(0) OK
(2)
Induktionsvoraussetzung:
Für ein beliebig gewähltes
n−1
X
n ∈ N gilt p(n):
(2i + 1) = n2
dann gilt die Aussage
A
(1)
n ∈ N : p(n).
i=0
54
56
Wohlfundierte (Noethersche) Induktion
Beispiel
• Verallgemeinerte vollständige Induktion
Verallgemeinerte vollständige Induktion
Gelten die beiden Aussagen:
Gilt die Aussage:
A
A
dann gilt die Aussage
A
n ∈ N : p(n).
A
dann gilt die Aussage
A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
p(0)
und
n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1)
n ∈ N : p(n).
Induktionsvoraussetzung:
Äquivalent
Für ein beliebig gewähltes
n ∈ N, gilt p(k) für alle k < n
Gelten die beiden Aussagen:
Induktionsschluss:
Folgere p(n) aus der Induktionsvoraussetzung
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).
57
59
Wohlfundierte (Noethersche) Induktion
Beispiel
Verallgemeinerte vollständige Induktion
Satz: Jede natürliche Zahl lässt sich als Produkt von Primzahlen darstellen.
p(n): n lässt sich als Produkt von Primzahlen darstellen.
Gelten die beiden Aussagen:
p(0)
und
n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1)
A
Induktionsvoraussetzung: p(k) gilt für alle k < n
Induktionsschluss: Folgere p(n) aus der Induktionsvoraussetzung
A
dann gilt die Aussage
Beweis: Sei n ∈ N beliebig gewählt.
n ∈ N : p(n).
Fallunterscheidung:
Äquivalent
Fall 1: n Primzahl. Dann lässt sich n als Produkt von Primzahlen
darstellen.
Gilt die Aussage:
Fall 1: n keine Primzahl. Dann n = k1 · k2 , mit k1 , k2 ∈ N, k1 , k2 > 1.
A
A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
dann gilt die Aussage
Da aber ki < n, i = 1, 2 ist nach Induktionsvoraussetzung bereits eine
Darstellung als Produkt von Primzahlen für ki bekannt.
n ∈ N : p(n).
Multipliziert man diese beiden Produkte miteinander, so erhält man
eine Darstellung für n.
58
60
A
A
n ∈ N : p(n)
dann gilt
Theorem:
Falls
P
dann gilt
Q
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
Theorem:
Falls
Wohlfundierte (Noethersche) Induktion
A
Wohlfundierte (Noethersche) Induktion
n ∈ N : p(n)
P
Q
Beweis: Zu zeigen: P → Q
Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P
Verallgemeinerung
E
A
Annahme: ¬Q := ¬( n ∈ N : p(n)) ≡ n ∈ N : ¬p(n).
- beliebige Menge A statt N
> wohlfundierte Ordnung auf N: es gibt keine unendliche Folge
x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . .
- < “partielle” Ordnung auf A
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.
- < wohlfundiert (es gibt keine unendliche Folge x1 , . . . , xn , . . . mit
x1 > x2 > · · · > x n > . . . )
A
E
61
63
Wohlfundierte (Noethersche) Induktion
Binäre Relationen
Definition:
A
Theorem:
Falls
A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
n ∈ N : p(n)
dann gilt
Eine binäre Relation R über einer Menge A ist eine Teilmenge von A × A.
P
R binäre Relation: R ⊆ A × A.
Q
Statt (x, y ) ∈ R schreiben wir: R(x, y ) oder xRy .
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
62
64
E
Partielle Ordnungen
Partielle Ordnungen
Definition:
Definition:
Eine binäre Relation R über einer Menge A ist eine partielle Ordnung gdw.
Eine binäre Relation R über einer Menge A ist eine partielle Ordnung gdw.
R ist transitiv:
A
R ist antisymmetrisch
•
•
R ist antisymmetrisch
A
•
R ist reflexiv:
A
R ist transitiv:
A
•
•
A
R ist reflexiv:
A
•
x ∈ A(xRx)
x, y , z ∈ A(xRy ∧ yRz → xRz)
x, y ∈ A(xRy ∧ yRx → x = y )
x ∈ A(xRx)
x, y , z ∈ A(xRy ∧ yRz → xRz)
x, y ∈ A(xRy ∧ yRx → x = y )
Beispiele:
• (N, ≤)
• (A, R), wobei
A = {0, a, b, 1} und
R = {(0, 0), (0, a), (0, 1), (a, a), (a, 1), (b, b), (b, 1), (1, 1)}
R partielle Ordnung: a und b in R unvergleichbar.
65
Partielle Ordnungen
Totale Ordnungen
Definition:
Definition: Sei (A, R) eine partiell geordnete Menge.
R ist eine totale Ordnung gdw. R(x, y ) oder R(y , x) für alle x, y ∈ A.
Eine binäre Relation R über einer Menge A ist eine partielle Ordnung gdw.
•
R ist reflexiv:
A
•
R ist transitiv:
A
•
R ist antisymmetrisch
67
A
x ∈ A(xRx)
x, y , z ∈ A(xRy ∧ yRz → xRz)
x, y ∈ A(xRy ∧ yRx → x = y )
Dann heißt (A, R) eine partiell geordnete Menge
66
68
Minimum
Wohlfundierte partielle Ordnungen
Definition: Sei (A, R) eine partiell geordnete Menge.
Sei (A, ≤) eine partiell geordnete Menge.
Sei A′ ⊆ A, und m ∈ A′ .
m ist ein Minimales Element von A′ , gdw.: es gibt kein x ∈ A′ mit
x ≤ m, x 6= m.
Definition: x < y gdw.: (x ≤ y und x 6= y )
(für x, y ∈ A)
69
Minimum
Wohlfundierte partielle Ordnungen
Definition: Sei (A, R) eine partiell geordnete Menge.
A′
71
Sei (A, ≤) eine partiell geordnete Menge.
A′ .
Sei
⊆ A, und m ∈
m ist ein Minimales Element von A′ , gdw.: es gibt kein x ∈ A′ mit
x ≤ m, x 6= m.
Definition: x < y gdw.: (x ≤ y und x 6= y )
(für x, y ∈ A)
Definition (Noethersch / wohlfundiert)
(A, ≤) heißt noethersch (oder wohlfundiert) gdw.:
Beispiele:
Es gibt keine unendlich absteigende Kette in A, das heißt:
• (N, ≤). Sei A′ = {3, 5, 7, 9} ⊆ N.
3 ist ein Minimales Element von A′ .
Es gibt keine unendliche Folge (xi )i∈N , mit
• xi ∈ A für alle i ∈ N und
• xi+1 < xi für alle i ∈ N.
• Sei (A, R) wobei
A = {a, b, c, d} und
R = {(a, a), (a, b), (c, c), (c, b), (c, d), (e, e), (e, d), (b, b), (d, d)}
(Unendlich aufsteigende Ketten sind zulässig)
Sei A′ = {a, b, c} ⊆ A.
A′ hat zwei minimale Elemente: a und c.
70
72
Beispiele
Wohlfundierte partielle Ordnungen
(N, ≤) is wohlfundiert
Lemma.
(A, ≤) ist noethersch (wohlfundiert) gdw.: jede nicht-leere Teilmenge von
A hat (mindestens) ein Minimales Element.
(Z, ≤) ist nicht wohlfundiert
(0 ∪ { n1 | n ∈ N}, ≤) ist nicht wohlfundiert
(R, ≤) ist nicht wohlfundiert
Beweis: “←”
Statt P → Q, beweisen wir wieder ¬Q → ¬P.
Annahme: (A, ≤) ist nicht noethersch,
d.h. es gibt eine unendliche Folge (xi )i∈N , mit
• xi ∈ A für alle i ∈ N und
• xi+1 < xi für alle i ∈ N.
Sei A′ = {xi | i ∈ N}.
Wir zeigen, dass A′ keinen minimalen Element hat: Sei a ∈ A′ . Dann a = xi
für einen i ∈ N. Dann ist xi+1 < a; deshalb kann a nicht minimal sein.
73
75
Wohlfundierte partielle Ordnungen
Wohlfundierte partielle Ordnungen
Lemma.
(A, ≤) ist noethersch (wohlfundiert) gdw.: jede nicht-leere Teilmenge von
A hat (mindestens) ein Minimales Element.
Lemma.
(A, ≤) ist noethersch (wohlfundiert) gdw.: jede nicht-leere
Teilmenge von A hat (mindestens) ein Minimales Element.
Beweis: “→”
Statt P → Q, beweisen wir ¬Q → ¬P.
Nota bene
Sei A′ ⊆ A nicht-leere Teilmenge von A, die kein minimales Element
enthält. Sei x1 ∈ A′ . Da x1 nicht minimal ist, gibt es x2 ∈ A′ mit x2 < x1 .
Da x2 nicht minimal ist, gibt es x3 ∈ A′ mit x3 < x2 < x1 . Wir können
deswegen eine unendliche absteigende Kette von Elementen aus A bilden,
d.h. A ist nicht noethersch.
Es genügt nicht, dass A ein minimales Element hat (selbst dann nicht, wenn
≤ total ist).
Beispiel:
(0 ∪ {
74
1
| n ∈ N}, ≤)
n
76
A
A
n ∈ N : p(n)
Theorem:
Falls
P
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
A
dann gilt
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
Theorem:
Falls
Verallgemeinerte vollständige Induktion
n ∈ N : p(n)
dann gilt
Q
Beweis: < wohlfundiert (es gibt keine unendliche Folge x1 , . . . , xn , . . . mit
x1 > x2 > · · · > x n > . . . )
A
Verallgemeinerte vollständige Induktion
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 > . . . .
Verallgemeinerung
- beliebige Menge A statt N
- < “partielle” Ordnung auf A
- < wohlfundiert
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
E
77
79
Wohlfundierte (Noethersche) Induktion
Wohlfundierte (Noethersche) Induktion
Sei (A, ≤) noethersch (wohlfundiert).
Sei p ein Prädikat auf A, d.h., eine Funktion p : A → {wahr , falsch}
(Eigenschaft der Elementen aus A, die wahr oder falsch sein kann.)
Theorem: (Verallgemeinerte vollständige Induktion)
P
Theorem.
Falls
Q
dann gilt
Sei (A, ≤) noethersch (wohlfundiert).
Sei p ein Prädikat auf A, d.h., eine Funktion p : A → {wahr , falsch}
A
Sei Y = {y ∈ X | ¬p(y )} 6= ∅. Dann hat Y ein minimales Element x0 , d.h.
x0 (x0 ∈ Y ∧ ( y ∈ X : (y < x0 → y 6∈ Y ))).
Q
E
A
A
x ∈ A : p(x)
P
78
A
A
dann gilt
Q
E
Theorem. (Noethersche Induktion)
x ∈ A : ( y ∈ A : (y < x → p(y )) → p(x))
x ∈ X : p(x)
P
Beweis: zu zeigen: P → Q. Kontrapositionsbeweis: ¬Q → ¬P
Annahme: ¬Q := (¬ x ∈ X :p(x)) ≡ ( x ∈ X :¬p(x)).
> wohlfundierte Ordnung auf X : es gibt keine unendliche Folge
x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . .
(Eigenschaft der Elementen aus A, die wahr oder falsch sein kann.)
Falls
x ∈ X : ( y ∈ X : (y < x → p(y )) → p(x))
A
A
n ∈ N : p(n)
A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A
A
dann gilt
A
Falls
80
Wohlfundierte (Noethersche) Induktion
Fehlerquellen
Sei (A, ≤) noethersch (wohlfundiert).
Sei p ein Prädikat auf A, d.h., eine Funktion p : A → {wahr , falsch}
(Eigenschaft der Elementen aus A, die wahr oder falsch sein kann.)
A
x ∈ X : ( y ∈ X : (y < x → p(y )) → p(x))
A
dann gilt
Behauptung: Alle Menschen haben die gleiche Haarfarbe
A
Theorem.
Falls
Was ist hier falsch?
x ∈ X : p(x)
P
p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe
Q
Induktionbasis: n = 1
Beweis: zu zeigen: P → Q. Kontrapositionsbeweis: ¬Q → ¬P
Annahme: ¬Q := (¬ x ∈ X :p(x)) ≡ ( x ∈ X :¬p(x)).
Für eine Menge mit nur einem Menschen gilt die Behauptung trivial
E
A
> wohlfundierte Ordnung auf X : es gibt keine unendliche Folge
x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . .
Sei Y = {y ∈ X | ¬p(y )} 6= ∅. Dann hat Y ein minimales Element x0 , d.h.
x0 (x0 ∈ Y ∧( y ∈ X : (y < x0 → y 6∈ Y ))) = ¬P.
| {z }
{z
}
|
A
E
¬p(x0 )
y <x0 →p(y )
81
83
Fehlerquellen
Fehlerquellen
Häufige Fehler bei Induktionsbeweisen
Was ist hier falsch?
• Ordnung ist nicht noethersch
• Nicht alle Minima (Induktionsanfänge) bedacht
Behauptung: Alle Menschen haben die gleiche Haarfarbe
• Bei Induktionsschritt die Grenzfälle nicht bedacht
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.
Nun kann die Induktionsbehauptung angewendet werden und alle
verbliebenen haben die gleiche Haarfarbe (mit dem rechts außen).
82
84
Fehlerquellen
Produktordnung
Was ist hier falsch?
Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Dann ist die Produktordnung ≤produkt auf A × B gegeben durch:
Behauptung: Alle Menschen haben die gleiche Haarfarbe
(x, y ) ≤produkt (x ′ , y ′ ) gdw. (x ≤A x ′ und y ≤B y ′ )
p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe
Induktionsvoraussetzung: p(n) wahr.
Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤produkt ) noethersch.
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.
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.
85
87
Lemma: (X , ≤) noethersch gdw: für jede unendliche Folge
Beispiele von noetherschen Ordnungen
(xi )i∈N mit xi ∈ X für alle i ∈ N und mit
Produktordnung
x1 ≥ x2 ≥ x3 ≥ · · · ≥ . . . xn ≥ . . .
es gibt ein m ∈ N so dass xm = xk für alle k ≥ m.
Ordnungen auf kartesischen Produkten
Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Dann ist die Produktordnung ≤produkt auf A × B gegeben durch:
• Die Produktordnung
(x, y ) ≤produkt (x ′ , y ′ ) gdw. (x ≤A x ′ und y ≤B y ′ )
• Die lexikographische Ordnung
Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤produkt ) noethersch.
Beweis: Sei ((xi , yi ))i∈N unendliche Folge in A × B mit
(x1 , y1 ) ≥produkt (x2 , y2 ) ≥produkt (x3 , y3 ) ≥produkt · · · ≥produkt (xn , yn ) ≥produkt . . .
Dann x1 ≥A x2 ≥A x3 ≥A . . .≥A xn ≥A . . .
und y1 ≥B y2 ≥B y3 ≥B . . .≥B yn ≥B . . .
Da (A, ≤A ) noethersch ist, es gibt m1 so dass xm1 = xk für alle k ≥ m1 .
Da (B, ≤B ) noethersch ist, es gibt m2 so dass xm2 = xj für alle j ≥ m2 .
Sei m = max(m1 , m2 ). Dann (xm , ym ) = (xi , yi ) für alle i ≥ m.
86
Das zeigt, dass (A × B, ≤produkt ) noethersch ist.
88
Lemma: (X , ≤) noethersch gdw: für jede unendliche Folge
(xi )i∈N mit xi ∈ X für alle i ∈ N und mit
x1 ≥ x2 ≥ x3 ≥ · · · ≥ . . . xn ≥ . . .
es gibt ein m ∈ N so dass xm = xk für alle k ≥ m.
Lexikographische Ordnung
Lexikographische Ordnung
Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Dann ist die lexikographische Ordnung ≤ auf A × B gegeben durch:
Dann ist die lexikographische Ordnung ≤ auf A × B gegeben durch:
(x, y ) ≤ (x ′ , y ′ )
gdw.
x = x ′ und y = y ′ oder
x <A
x′
(x, y ) ≤ (x ′ , y ′ )
gdw.
x = x ′ und y = y ′ oder
x <A x ′ oder
oder
x = x ′ und y <B y ′
x = x ′ und y <B y ′
Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤) noethersch.
Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤) noethersch.
Beweis: Sei ((xi , yi ))i∈N unendliche Folge in A × B mit
(x1 , y1 ) ≥ (x2 , y2 ) ≥ (x3 , y3 ) ≥ · · · ≥ (xn , yn ) ≥ . . .
89
Lemma: (X , ≤) noethersch gdw: für jede unendliche Folge
(xi )i∈N mit xi ∈ X für alle i ∈ N und mit
x1 ≥ x2 ≥ x3 ≥ · · · ≥ . . . xn ≥ . . .
es gibt ein m ∈ N so dass xm = xk für alle k ≥ m.
Fall 2: x1 = x2 = · · · = xi1 ≥A xi1 +1 = . . . = xi2 ≥A . . . . Da (A, ≤A ) noethersch ist,
es gibt m2 so dass xm2 = xk für alle k ≥ m2 .
91
Lemma: (X , ≤) noethersch gdw: für jede unendliche Folge
Lexikographische Ordnung
(xi )i∈N mit xi ∈ X für alle i ∈ N und mit
Lexikographische
Ordnung
x1 ≥ x2 ≥ x3 ≥ · · · ≥ . . . xn ≥ . . .
es gibt ein m ∈ N so dass xm = xk für alle k ≥ m.
Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Dann ist die lexikographische Ordnung ≤ auf A × B gegeben durch:
Dann ist die lexikographische Ordnung ≤ auf A × B gegeben durch:
(x, y ) ≤ (x ′ , y ′ )
gdw.
x = x ′ und y = y ′ oder
(x, y ) ≤ (x ′ , y ′ )
gdw.
x = x ′ und y = y ′ oder
x <A x ′ oder
x <A x ′ oder
x = x ′ und y <B y ′
x = x ′ und y <B y ′
Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤) noethersch.
Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤) noethersch.
Beweis: Sei ((xi , yi ))i∈N unendliche Folge in A × B mit
Beweis: Sei ((xi , yi ))i∈N unendliche Folge in A × B mit
(x1 , y1 ) ≥ (x2 , y2 ) ≥ (x3 , y3 ) ≥ · · · ≥ (xn , yn ) ≥ . . .
Fall 1: Die ersten Komponenten sind alle gleich: Dann y1 ≥B y2 ≥B . . . . (B, ≤B )
noethersch ist, es gibt m1 so dass xm1 = xj für alle j ≥ m1 .
(x1 , y1 ) ≥ (x2 , y2 ) ≥ (x3 , y3 ) ≥ · · · ≥ (xn , yn ) ≥ . . .
Sei m = max(m1 , m2 ). Dann (xm , ym ) = (xi , yi ) für alle i ≥ m.
90
Das zeigt, dass (A × B, ≤) noethersch ist.
92
Beispiel für Induktion: Ackermann-Funktion
ACK (x, y ) =
8
>
>
< y +1
>
>
:
Beispiel für Induktion: Ackermann-Funktion
falls x = 0
ACK (x − 1, 1)
falls x 6= 0 und y = 0
ACK (x − 1, ACK (x, y − 1))
falls x 6= 0 und y 6= 0
ACK (x, y ) =
8
>
>
< y +1
>
>
:
falls x = 0
ACK (x − 1, 1)
falls x 6= 0 und y = 0
ACK (x − 1, ACK (x, y − 1))
falls x 6= 0 und y 6= 0
Theorem. ACK ist eine totale Funktion auf N × N.
Induktionsvoraussetzung: ACK (m′ , n′ ) definiert für alle (m′ , n′ ) < (m, n).
Die Ackermann-Funktion ist eine 1926 von Wilhelm Ackermann gefundene,
extrem schnell wachsende mathematische Funktion, mit deren Hilfe in der
theoretischen Informatik Grenzen von Computer- und Berechnungsmodellen
aufgezeigt werden können.
Induktionsschritt: Beweis durch Fallunterscheidung
• m = 0: ACK (0, n) = n + 1 (definiert)
• m 6= 0, n = 0. Dann (m − 1, 1) < (m, 0), d.h. ACK (m − 1, 1) definiert
Aber ACK (m, 0) = ACK (m − 1, 1), so ACK (m, n) definiert.
• m 6= 0, n 6= 0. Dann (m, n − 1) < (m, n), d.h. ACK (m, n − 1) definiert.
(m − 1, z) < (m, z), d.h. ACK (m − 1, ACK (m, n − 1)) definiert.
93
95
Beispiel für Induktion: Ackermann-Funktion
8
>
>
< y +1
ACK (x, y ) =
ACK (x − 1, 1)
>
>
:
ACK (x − 1, ACK (x, y − 1))
Zusammenfassung
falls x = 0
• Grundlegende Beweisstrategien
falls x 6= 0 und y = 0
• Induktion über die natürlichen Zahlen
falls x 6= 0 und y 6= 0
• Partielle Ordnung, totale Ordnung, minimale Elemente
• Noethersche (wohlfundierte) Menge
Theorem. ACK ist eine totale Funktion auf N × N.
• Noethersche Induktion (Theorem, Beweis)
Induktionbasis: ACK (0, 0) = 1 (definiert)
• Fehlerquellen
• Produktordnung/Lexikographische Ordnung
• Beispiel für noethersche Induktion: Ackermann-Funktion
94
96
2. Aussagenlogik
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
97
Beispiel: Das 8-Damen Problem
99
Beispiel: Das 8-Damen Problem
Man platziere acht Damen so auf einem Schachbrett, dass sie sich
gegenseitig nicht bedrohen.
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,1), (5,2), (5,3), (5,4),(5,5), (5,6), (5,8)
• keine andere Dame auf Feld
(1,7), (2,7), (3,7), (4,7),(6,7), (7,7), (8,7)
• keine andere Dame auf Feld (6,8), (4,6), (3,5), (2,4),(1,3)
• keine andere Dame auf Feld (4,8), (6,6), (7,5), (8,4)
98
100
Beispiel: Das 8-Damen Problem
Beispiel: Das 8-Damen Problem
Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr.
Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr.
Einschränkungen pro Feld: Fij
Einschränkungen pro Feld: Fij
Falls auf dem Feld (5, 7) eine Dame steht:
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
• keine andere Dame auf Feld
(5,8), (5,6), (5,5), (5,4),(5,3), (5,2), (5,1)
D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3
D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1
D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4
• 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
|
{z
D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3
Für jedes k mit 1 ≤ k ≤ 8:
F57
Globale Einschränkungen
• keine andere Dame auf Feld (6,8), (4,6), (3,5), (2,4),(1,3)
• keine andere Dame auf Feld (4,8), (6,6), (7,5), (8,4)
}
Rk := D1,k ∨ D2,k ∨ D3,k ∨ D4,k ∨ D5,k ∨ D6,k ∨ D7,k ∨ D8,k
D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4
103
101
Beispiel: Das 8-Damen Problem
Beispiel: Das 8-Damen Problem
Struktur: Wahrheitswerte für die atomaren Aussagen Dij
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
Modell für Fij (Rk ): Wahrheitswerte für die atomaren Aussagen Dij so dass
Fij wahr (bzw. Rk wahr).
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
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.
102
104
Beispiel: Aufzug
Modellierung: Strukturen
oben
oben
oben
oben
Aufzug oben
Mitte gedruckt
Aufzug oben
Mitte gedruckt
Aufzug oben
Mitte gedruckt
F.nach unten
mitte
oben
mitte
mitte
unten
unten
Aufzug mitte
Unten gedruckt
F.nach unten
mitte
F.nach unten
mitte
F.nach unten
unten
unten
unten
v(AufzugOben) = wahr
v(AufzugMitte) = wahr
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
105
107
Beispiel: Aufzug
Modellierung: Strukturen
oben
oben
Aufzug oben
Mitte gedruckt
oben
Aufzug oben
Mitte gedruckt
oben
F.nach unten
mitte
oben
mitte
mitte
mitte
unten
unten
Aufzug mitte
Oben gedruckt
Aufzug mitte
Unten gedruckt
mitte
F.nach unten
Aufzug mitte
F.nach unten
unten
F.nach oben
unten
unten
v(AufzugOben) = wahr
v(AufzugMitte) = wahr
v(AufzugOben) = 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
v(AufzugMitte) = wahr
106
108
Modellierung: Strukturen
oben
Aufzug oben
Mitte gedruckt
oben
F.nach unten
mitte
mitte
unten
unten
oben
Aufzug mitte
Unten gedruckt
mitte
Aussagenlogik
Die Welt besteht aus Fakten die wahr oder falsch sein können.
Aufzug oben
Mitte gedruckt
F.nach unten
Aufzug mitte
F.nach unten
unten
Aussagen beziehen sich auf Strukturen
(Formale) Aussagen sind in jeder einzelnen Struktur zu wahr oder falsch
auswertbar
109
Formale Logik
111
2.1 Syntax der Aussagenlogik
• Syntax
welche Formeln?
• Semantik
Modelle (Strukturen)
Wann ist eine Formel wahr (in einer Struktur)?
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
110
112
Syntax der Aussagenlogik: Logische Zeichen
Formeln der Aussagenlogik
⊤ Symbol für die Formel “wahr”
Definition: Menge ForΠ der Formeln über Π:
⊥ Symbol für die Formel “falsch”
Die kleinste Menge mit:
• ⊤ ∈ ForΠ und ⊥∈ ForΠ
¬ Negationssymbol (“nicht”)
• Π ⊆ ForΠ
• Wenn F , G ∈ ForΠ , dann auch
∧ Konjunktionssymbol (“und”)
¬F , (F ∧ G ), (F ∨ G ), (F → G ), (F ↔ G )
∨ Disjunktionssymbol (“oder”)
Elemente von ForΠ .
→ Implikationssymbol (“wenn . . . dann”)
↔ Symbol für Äquivalenz (“genau dann, wenn”)
( ) die beiden Klammern
113
115
Vokabular der Aussagenlogik
Aussagenformeln
Abzählbare Menge von Symbolen, etwa
ForΠ
Menge der Formeln über Π:
::=
⊥
(Falsum)
|
⊤
(Verum)
|
P,
|
¬F
|
(F ∧ G )
(Konjunktion)
|
(F ∨ G )
(Disjunktion)
• atomare Aussagen
|
(F → G )
(Implikation)
• Atome
|
(F ↔ G )
(Äquivalenz)
F, G, H
Π = {P0 , . . . , Pn }
oder
Π = {P0 , P1 , . . . }
Bezeichnungen für Symbole in Π
P∈Π
(atomare Formel)
(Negation)
• Aussagenvariablen
114
116
Konventionen zur Notation
Terminologie
Eine Formel F , die als Teil einer Formel G auftritt,
heißt Teilformel von G .
• Klammereinsparungen werden nach folgenden Regeln vorgenommen:
– ¬
>p
∧
>p
∨
>p
→
>p
↔
(Präzedenzen),
– ∨ und ∧ sind assoziativ und kommutativ,
• F ist eine Teilformel von F
9
=
• F = ¬G und
→
H Teilformel von G ;
• F = F1 ρ F2
(wo ρ ∈ {∨, ∧, ⇒, ⇔})
H Teilformel von F1 oder F2
H Teilformel von F
9
>
>
=
>
>
;
→
H Teilformel von F
117
Beispiel: 8-Damenproblem
119
2.2 Strukturelle Induktion
Induktion über Formelaufbau
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
118
120
Induktion über Formelaufbau: Beispiel
Induktion über Formelaufbau: Beispiel
Lemma:
Ist F ∈ ForΠ und sind F1 , F2 Teilformeln von F , dann gilt
Lemma:
Ist F ∈ ForΠ und sind F1 , F2 Teilformeln von F , dann gilt
• F2 ist Teilformel von F1 , oder
• F2 ist Teilformel von F1 , oder
• F1 ist Teilformel von F2 , oder
• F1 ist Teilformel von F2 , oder
• F1 , F2 liegen getrennt
• F1 , F2 liegen getrennt
Beweis: Durch noethersche Induktion über den Formelaufbau
• A = ForΠ
• Teilformel: Teilformelrelation auf A:
F Teilformel G (alternative Notation: Teilformel(F , G ))
gdw. F Teilformel von G .
Relation Teilformel partielle Ordnung; noethersch
121
123
Induktion über Formelaufbau: Beispiel
Strukturelle Induktion
Menge aller aussagenlogischen Formeln ForΠ
Basismenge:
Lemma:
Ist F ∈ ForΠ und sind F1 , F2 Teilformeln von F , dann gilt
⊤, ⊥; P0 , P1 , P2 , . . . sind aussagenlogische Formeln (atomare Formeln)
Erzeugungsregel: Wenn F1 , F2 aussagenlogische Formeln sind, dann sind auch
¬F1 , F1 ∧ F2 , F1 ∨ F2 , F1 → F2 , F1 ↔ F2 aussagenlogische Formeln
• F2 ist Teilformel von F1 , oder
• F1 ist Teilformel von F2 , oder
ForΠ kleinste Menge, die- ⊤, ⊥ und Π enthält
• F1 , F2 liegen getrennt
- zusammen mit F auch ¬F enthält
- zusammen mit F1 , F2 auch F1 opF2 enthält (op ∈ {∧, ∨, →, ↔})
Beweis: Durch noethersche Induktion über den Formelaufbau
122
124
Strukturelle Induktion
Semantik der Aussagenlogik
Menge aller aussagenlogischen Formeln ForΠ
⊤, ⊥; P0 , P1 , P2 , . . . sind aussagenlogische Formeln (atomare Formeln)
Basismenge:
Π eine aussagenlogische Signatur
Erzeugungsregel: Wenn F1 , F2 aussagenlogische Formeln sind, dann sind auch
¬F1 , F1 ∧ F2 , F1 ∨ F2 , F1 → F2 , F1 ↔ F2 aussagenlogische Formeln
Aussagenvariablen für sich haben keine Bedeutung.
Hierfür müssen Wertebelegungen (Valuationen) explizit oder implizit aus
dem Kontext zur Verfügung stehen.
ForΠ kleinste Menge, die- ⊤, ⊥ und Π enthält
- zusammen mit F auch ¬F enthält
- zusammen mit F1 , F2 auch F1 opF2 enthält (op ∈ {∧, ∨, →, ↔})
Eine Valuation (Wertebelegung) ist eine Abbildung
Gelten die beiden Aussagen: - p(A) für alle atomaren Formeln A ∈ {⊤, ⊥} ∪ Π
A
dann gilt auch
A : Π → {0, 1}
A
-
F ∈ForΠ : ((F = ¬F1 ∧p(F1 ))→p(F )) ∧
F ∈ ForΠ : p(F ).
((F = F1 opF2 ∧p(F1 )∧p(F2 ))→p(F ))
Wir werden Wertebelegungen auch Aussagenlogische Strukturen,
Aussagenlogische Modelle oder Interpretationen nennen.
125
127
2.3 Semantik der Aussagenlogik
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:
126
A
B
C
0
1
0
(Bei drei Symbolen gibt es 8 mögliche Modelle)
128
Semantik der Aussagenlogik
Semantik der Aussagenlogik
Auswertung von Formeln in einem Modell
Auswertung von Formeln in einem Modell
Sei A : Π → {0, 1} eine Wertebelegung.
Sei A : Π → {0, 1} eine Wertebelegung.
A∗
A∗ : ForΠ → {0, 1} wird wie folgt definiert:
: ForΠ → {0, 1} wird wie folgt definiert:
A∗ (⊥) = 0
A∗ (⊤) = 1
A∗ (P) = A(P)
129
Semantik der Aussagenlogik
131
Semantik der Aussagenlogik
Auswertung von Formeln in einem Modell
Auswertung von Formeln in einem Modell
Sei A : Π → {0, 1} eine Wertebelegung.
Sei A : Π → {0, 1} eine Wertebelegung.
A∗ : ForΠ → {0, 1} wird wie folgt definiert:
A∗ : ForΠ → {0, 1} wird wie folgt definiert:
8
< 0
A∗ (¬F ) =
: 1
A∗ (⊥) = 0
A∗ (⊤) = 1
130
falls
A∗ (F ) = 1
falls
A∗ (F ) = 0
132
Semantik der Aussagenlogik
Wahrheitstafel für die logischen Operatoren
Auswertung von Formeln in einem Modell
Sei A : Π → {0, 1} eine Wertebelegung.
A∗ : ForΠ → {0, 1} wird wie folgt definiert:
8
< 0
A (F1 ∧ F2 ) =
: 1
8
< 0
A∗ (F1 ∨ F2 ) =
: 1
∗
falls
A∗ (F1 ) = 0 oder A∗ (F2 ) = 0
falls
A∗ (F1 ) = A∗ (F2 ) = 1
falls
A∗ (F1 )
falls
A∗ (F1 ) = 1 oder A∗ (F2 ) = 1
=
A∗ (F2 )
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
=0
133
Semantik der Aussagenlogik
135
Semantik der Aussagenlogik
Auswertung von Formeln in einem Modell
Auswertung von Formeln in einem Modell
Sei A : Π → {0, 1} eine Wertebelegung.
Sei A : Π → {0, 1} eine Π-Valuation.
A∗ : ForΠ → {0, 1} wird induktiv über Aufbau von F wie folgt definiert:
A∗ : ForΠ → {0, 1} wird wie folgt definiert:
8
< 1
A∗ (F1 → F2 ) =
: 0
8
< 1
A∗ (F1 ↔ F2 ) =
: 0
A∗ (⊥) = 0
A∗ (⊤) = 1
falls
A∗ (F1 )
falls
A∗ (F1 )
falls
= 0 oder
A∗ (F2 )
= 1 und
A∗ (F2 )
=1
A∗ (P) = A(P)
=0
A∗ (¬F ) = 1 − A∗ (F )
A∗ (F ρG ) = Bρ (A∗ (F ), A∗ (G ))
A∗ (F1 ) = A∗ (F2 )
Bρ (x, y ) berechnet entschpr. der Wahrheitstafel für ρ
sonst
z.B. : B∨ (0, 1) = (0 ∨ 1) = 1; B→ (1, 0) = (1 → 0) = 0
Wir schreiben normalerweise A statt A∗ .
134
136
Beispiel
Gültigkeit und Erfüllbarkeit
Sei A : {P, Q, R} → {0, 1} mit A(P) = 1, A(Q) = 0, A(R) = 1.
Definition: F gilt in A (oder A ist Modell von F )
gdw.
A(F ) = 1.
Notation: A |= F
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
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).
137
Modell einer Formel(menge)
139
Tautologien und Kontradiktionen
Definition: Interpretation A ist Modell einer Formel F ∈ ForΠ , falls
Tautologien: Formel, die stets wahr sind.
Beispiele: p ∨ (¬p) (Prinzip vom ausgeschlossenen Dritten)
(Tertium non datur)
A∗ (F ) = 1.
Definition: Interpretation A ist Modell einer Formelmenge M ⊆ ForΠ , falls
p ↔ ¬¬p (Prinzip der doppelten Negation)
A∗ (F ) = 1 für alle F ∈ M
Kontradiktionen: Formel, die stets falsch sind.
Beispiel: p ∧ ¬p
Notation:
A |= F
• Die Negation einer Tautologie ist eine Kontradiktion
A |= M
• Die Negation einer Kontradiktion ist eine Tautologie
138
140
Beispiele
Beispiele
Die folgenden Formeln sind Tautologien:
Die folgenden Formeln sind erfüllbar, aber keine Tautologien
(1)
(p → ¬p) → (¬p)
(1) p
(2)
(p ∧ (p → q)) → q
(2) p → (p ∧ q)
(3)
(p ∧ q) → p
(3) (p ∨ q) → (p ∧ q)
(p ∧ q) → q
(4) p ↔ q
(4)
p → (p ∨ q)
q → (p ∨ q)
(5)
(p → q) → [(q → r ) → (p → r )]
(6)
(((p → q) ∧ (q → r )) ∧ p) → r
141
143
Beispiele
Beispiele
Die folgenden Formeln sind Tautologien:
Die folgenden Formeln sind unerfüllbar:
(1)
(p → ¬p) → (¬p)
(1)
¬((p → ¬p) → (¬p))
(2)
(p ∧ (p → q)) → q
(2)
(p ∧ (p → q)) ∧ ¬q
(3)
(p ∧ q) → p
(3)
¬((p ∧ q) → p)
(p ∧ q) → q
(4)
¬(p → (p ∨ q))
p → (p ∨ q)
(5)
(p → q) ∧ ¬[(q → r ) → (p → r )]
q → (p ∨ q)
(6)
(((p → q) ∧ (q → r )) ∧ p) ∧ ¬r
(4)
(5)
(p → q) → [(q → r ) → (p → r )]
(6)
(((p → q) ∧ (q → r )) ∧ p) → r
• (1)–(6) sind alle erfüllbar.
142
144
Folgerung und Äquivalenz
Beispiel
F = (A ∨ C ) ∧ (B ∨ ¬C )
Definition: F impliziert G (oder G folgt aus F ),
gdw.: für alle A : Π → {0, 1} gilt: Wenn A |= F , dann A |= G .
G = (A ∨ B)
Überprüfe, ob F |= 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 .
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
145
Beispiel
F = (A ∨ C ) ∧ (B ∨ ¬C )
Syntax: Beispiel
G = (A ∨ B)
“Worin besteht das Geheimnis Ihres langen Lebens?”,
wurde ein 100 Jähriger gefragt.
Überprüfe, ob F |= G
A
B
C
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
(A ∨ C )
147
(B ∨ ¬C )
(A ∨ C ) ∧ (B ∨ ¬C )
“Ich halte mich streng an die Diätregeln:
(A ∨ B)
• Wenn ich kein Bier zu einer Mahlzeit trinke,
dann habe ich immer Fisch.
• Immer wenn ich Fisch und Bier zur selben Mahlzeit habe,
verzichte ich auf Eiscreme.
• Wenn ich Eiscreme habe oder Bier meide,
dann rühre ich Fisch nicht an.”
146
148
Beispiel 1
Beispiel 1
◮ ¬B→F
Wenn ich kein Bier zu einer Mahlzeit trinke, dann habe ich immer Fisch.
◮ F ∧B→ ¬E
◮ ¬B→F
◮ E ∨¬B→ ¬F
Immer wenn ich Fisch und Bier zur selben Mahlzeit habe, verzichte ich
auf Eiscreme.
◮ F ∧B→ ¬E
Wir möchten wissen, welche Menüs solche Diätregeln erfüllen.
z.B.:
Wenn ich Eiscreme habe oder Bier meide, dann rühre ich Fisch nicht an.
Formalisierung:
◮ E ∨¬B→ ¬F
• 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
149
151
Beispiel 1
Beispiel 1
◮ ¬B→F
◮ ¬B→F
◮ F ∧B→ ¬E
◮ F ∧B→ ¬E
◮ E ∨¬B→ ¬F
◮ E ∨¬B→ ¬F
Wir möchten wissen, welche Menüs solche Diätregeln erfüllen.
Wir möchten wissen, welche Menüs solche Diätregeln erfüllen.
z.B.:
z.B.:
Formalisierung:
0:falsch, 1:wahr
A : {B, F , E } → {0, 1}
• kein Bier, Fisch und Eiscreme
erfüllt 3. Diätregel nicht!
• 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
• Bier, Fisch, keine Eiscreme
erfüllt alle Diätregeln
A(B) = 1, A(F ) = 1, A(E ) = 0
150
152
Beispiel 1
Modell einer Formel
◮ ¬B→F
Definition: Interpretation A ist Modell einer Formel F ∈ ForΠ , falls
A∗ (F ) = 1.
◮ F ∧B→ ¬E
◮ E ∨¬B→ ¬F
Notation: A |= F
Π = {B, F , E }
Mögliche Interpretation (Wertebelegung): A(B) = 1, A(F ) = 0, A(E ) = 1
Beispiel: A : Π(= {B, F , E }) → {0, 1} mit: A(B) = 1, A(F ) = 0, A(E ) = 1
A(B) = 1: “Ich habe Bier”
A(F ) = 0: “Ich habe kein Fisch”
A(E ) = 1: “Ich habe Eiskreme”
Da A(¬B → F ) = 1, ist A ein Modell der Formel ¬B → F
A |= ¬B → F
153
Beispiel 1
155
Modell einer Formelmenge
◮ ¬B→F
Definition: Interpretation A ist Modell einer Formelmenge M ⊆ ForΠ , falls
◮ F ∧B→ ¬E
A∗ (F ) = 1 für alle F ∈ M
◮ E ∨¬B→ ¬F
Notation: A |= M
Beispiel 1: A : {B, F , E } → {0, 1} mit A(B) = 1, A(F ) = 0, A(E ) = 1
Π = {B, F , E }
• Da A(¬B → F ) = 1; A(F ∧ B → ¬E ) = 1;
ist A ein Modell der Formelmenge
Mögliche Interpretation (Wertebelegung): A(B) = 1, A(F ) = 0, A(E ) = 1
M = {¬B → F ,
Auswertung von Formeln:
A∗ (¬B → F )
F ∧ B → ¬E ,
A(E ∨ ¬B → ¬F ) = 1,
E ∨ ¬B → ¬F }
= A∗ (¬B) → A∗ (F )
= ¬A(B) → A(F )
= (¬1 → 0) = (0 → 0) = 1
154
156
Modell einer Formelmenge
Erster Kalkül: Wahrheitstafelmethode
Definition: Interpretation A ist Modell einer Formelmenge M ⊆ ForΠ , falls
Jede Formel F enthält endlich viele Aussagenvariablen.
A(F ) ist nur von den Werten dieser Aussagenvariablen abhängig.
∗
A (F ) = 1 für alle F ∈ M
F enthält n Aussagenvariablen:
Notation: A |= M
⇒ 2n Wertbelegungen notwendig um zu überprüfen,
ob F erfüllbar/unerfüllbar/allgemeingültig ist oder nicht.
Beispiel 1: A : {B, F , E } → {0, 1} mit A(B) = 1, A(F ) = 0, A(E ) = 1
• Da A(¬B → F ) = 1; A(F ∧ B → ¬E ) = 1;
ist A ein Modell der Formelmenge
{¬B → F ,
F ∧ B → ¬E ,
A(E ∨ ¬B → ¬F ) = 1,
⇒ Wahrheitstafel
E ∨ ¬B → ¬F )
• F allgemeingültig (Tautologie): A(F ) = 1 für alle Wertbelegungen
• F erfüllbar: A(F ) = 1 für zumindest eine Wertbelegung
Beispiel 2: A′ : {B, F , E } → {0, 1} mit A′ (B) = 0, A′ (F ) = 0, A′ (E ) = 1
• F unerfüllbar: A(F ) = 0 für alle Wertbelegungen
• Da A′ (¬B → F ) = ¬A′ (B) → A′ (F ) = (¬0 → 0) = (1 → 0) = 0
ist A′ kein Modell der Formelmenge
{¬B → F ,
F ∧ B → ¬E ,
E ∨ ¬B → ¬F )
157
159
Unerfüllbarkeit und Allgemeingültigkeit
Äquivalenz
Definition: F und G sind äquivalent
gdw.: für alle A : Π → {0, 1} gilt: A |= F gdw. A |= G .
Theorem. F ist allgemeingültig gdw. ¬F ist unerfüllbar.
Notation: F ≡ G .
Zwei Formeln sind logisch äquivalent, wenn sie in den gleichen Modellen
wahr sind
Beispiel:
(P → Q) ≡ (¬Q → ¬P)
158
(Kontraposition)
160
Wichtige Äquivalenzen
Wichtige Äquivalenzen
Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig:
Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig:
(F ∧ F ) ≡ F
(F ∧ G ) ≡ F , falls G Tautologie
(F ∨ F ) ≡ F
(Idempotenz)
(F ∨ G ) ≡ ⊤, falls G Tautologie
(Tautologieregeln)
(F ∧ G ) ≡ (G ∧ F )
(F ∨ G ) ≡ (G ∨ F )
(F ∧ G ) ≡ ⊥, falls G unerfüllbar
(Kommutativität)
(F ∨ G ) ≡ F , falls G unerfüllbar
(F ∧ (G ∧ H)) ≡ ((F ∧ G ) ∧ H)
(F ∨ (G ∨ H)) ≡ ((F ∨ G ) ∨ H)
(Tautologieregeln)
(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)
161
Wichtige Äquivalenzen
Wichtige Äquivalenzen mit ⊤/⊥
(A ∧ ¬A) ≡ ⊥
Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig:
(¬¬F ) ≡ F
163
(A ∨ ¬A) ≡ ⊤
(Doppelte Negation)
(Tertium non datur)
(A ∧ ⊤) ≡ A
¬(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)
(A ∧ ⊥) ≡ ⊥
162
164
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 )
Substitutionstheorem
(Idempotenz)
Theorem.
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens)
einem Vorkommen der Teilformel F .
(Kommutativität)
(Assoziativität)
Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend)
ein Vorkommen von F in H durch G ersetzt wird.
(Absorption)
(Distributivität)
Beweis: Strukturelle Induktion.
(Doppelte Negation)
Induktionsbasis: Beweisen. dass das Theorem für alle atomaren Formeln gilt.
(De Morgan’s Regeln)
Induktionsvoraussetzung: Sei H eine Formel (die nicht atomar ist)
Annahme: Theorem gilt für alle Teilformeln von F , die nicht gleich F sind.
(Kontraposition)
Induktionsschritt: Beweis durch Fallunterscheidung:
(Elimination Implikation)
Fall 1: H = ¬H1 .
(Elimination Äquivalenz)
Induktionvoraussetzung: Theorem gilt für H1 . Folgere, dass Theorem auch für H gilt.
Fall 2: H = H1 op H2 .
Induktionvoraussetzung: Theorem gilt für H1 , H2 . Folgere, dass Theorem auch für H gilt.
167
165
Substitutionstheorem
Ein zweiter Kalkül: Logische Umformung
Definition: Äquivalenzumformung
Theorem.
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens)
einem Vorkommen der Teilformel F .
• (Wiederholte) Ersetzung einer (Unter-)Formel durch äquivalente
Formel
• Anwendung des Substitutionstheorems
Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend)
ein Vorkommen von F in H durch G ersetzt wird.
A∨B ≡B ∨A
Theorem
Äquivalenzumformung bildet mit den aufgelisteten wichtigen Äquivalenzen einen vollständigen Kalkül:
impliziert
Wenn F und G logisch äquivalent sind, kann F in G umgeformt werden.
Beispiel:
(C ∧ (A ∨ B)) ≡ (C ∧ (B ∨ A))
Anwendung: Test für Erfüllbarkeit/Unerfüllbarkeit/Allgemeingültigkeit
166
168
Beispiel
Beispiel
(P → Q) ∧ ¬((Q → R) → (P → R))
(P → Q) ∧ ¬((Q → R) → (P → R))
≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R))
≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R))
(Elimination Implikation)
(Elimination Implikation)
169
Beispiel
Beispiel
(P → Q) ∧ ¬((Q → R) → (P → R))
≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R))
171
(P → Q) ∧ ¬((Q → R) → (P → R))
(Elimination Implikation)
≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R))
(Elimination Implikation)
≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R))
(De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R))
170
(Elimination Implikation)
172
Beispiel
Beispiel
(P → Q) ∧ ¬((Q → R) → (P → R))
(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))
≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R))
(Elimination Implikation)
≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R))
(De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R))
(Elimination Implikation)
≡(¬P ∨ Q) ∧
(Doppelte Negation, De Morgan, ∨)
((¬Q ∨ R) ∧ (¬¬P ∧ ¬R))
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R))
(Elimination Implikation)
(Doppelte Negation, De Morgan, ∨)
(Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
173
175
Beispiel
Beispiel
(P → Q) ∧ ¬((Q → R) → (P → R))
(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))
≡(¬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))
(Elimination Implikation)
(Doppelte Negation, De Morgan, ∨)
≡(¬P ∨ Q) ∧
((¬Q ∨ R) ∧ (¬¬P ∧ ¬R))
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R))
(Doppelte Negation)
(Elimination Implikation)
(Doppelte Negation, De Morgan, ∨)
(Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität)
174
176
Beispiel
Beispiel
(P → Q) ∧ ¬((Q → R) → (P → R))
(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))
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R))
≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R))
(De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧
(Doppelte Negation, De Morgan, ∨)
((¬Q ∨ R) ∧ (¬¬P ∧ ¬R))
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R))
(Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R))
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität)
≡(¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R)
(Elimination Implikation)
≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R))
(Elimination Implikation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥)
≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R))
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P))
(Äquivalenzen mit ⊥)
(Äquivalenzen mit ⊥)
(Elimination Implikation)
(Doppelte Negation, De Morgan, ∨)
(Doppelte Negation)
(Distributivität)
(Kommutativität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥)
(Äquivalenzen mit ⊥)
≡(¬P ∧ ¬Q ∧ P ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R)
(Distributivität)
≡(¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R)
≡(¬P ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R)
(Äquivalenzen mit ⊥)
(Kommutativität)
≡((¬P ∧ P) ∧ ¬Q ∧ ¬R) ∨ ((Q ∧ ¬Q) ∧ P ∧ ¬R) (Assoziativität)
177
179
Beispiel
Beispiel
(P → Q) ∧ ¬((Q → R) → (P → R))
(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))
≡(¬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))
(Elimination Implikation)
≡ (¬P ∨ Q) ∧
(Doppelte Negation, De Morgan, ∨)
((¬Q ∨ R) ∧ (¬¬P ∧ ¬R))
≡ (¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R))
(Doppelte Negation)
(Elimination Implikation)
(Doppelte Negation, De Morgan, ∨)
(Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R))
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥)
(Äquivalenzen mit ⊥)
≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥)
(Äquivalenzen mit ⊥)
≡(¬P ∧ ¬Q ∧ P ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R)
(Distributivität)
≡ (¬P ∧ ¬Q ∧ P ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R)
(Distributivität)
≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P))
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität)
≡(¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R)
≡(¬P ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R)
≡ (¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R)
(Äquivalenzen mit ⊥)
(Kommutativität)
(Distributivität)
(Kommutativität)
(Äquivalenzen mit ⊥)
≡ (¬P ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R)
(Kommutativität)
≡ ⊥ ∨ ⊥≡⊥
(Äquivalenzen mit ⊥)
≡ ((¬P ∧ P) ∧ ¬Q ∧ ¬R) ∨ ((Q ∧ ¬Q) ∧ P ∧ ¬R) (Assoziativität)
178
180
Allgemeingültigkeit/Folgerung
Unser Ziel
F , G Formeln; N Formelmenge.
Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit
(für Formeln und/oder Formelmengen)
Theorem. F |= G gdw. |= F → G .
Theorem. N ∪ {F } |= G gdw. N |= F → G .
Dazu brauchen wir “Normalformen”
Theorem. F ≡ G gdw. |= F ↔ G .
181
Unerfüllbarkeit/Allgemeingültigkeit/Folgerung
183
2.4 Normalformen
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.
182
184
Normalformen
Normalformen
Definition:
Definition:
• Atom: aussagenlogische Variable
Disjunktive Normalform (DNF): Eine Disjunktion von Konjunktionen von
Literalen.
• Literal: Atom, oder
negation eines Atoms
mehrstellig, einstellig oder nullstellig
Definition:
Beispiele:
Klausel: Eine Disjunktion von Literalen
(P ∧ ¬Q) ∨ (Q ∧ ¬R ∧ ¬S)
• mehrstellige Disjunktionen (P ∨ ¬Q ∨ R), (P ∨ P ∨ ¬Q)
P ∧Q
• einstellige Disjunktionen P
P ∨ (Q ∧ R)
• die nullstellige Disjunktion (leere Klausel) ⊥
P ∨Q
P ∨P
⊥
185
187
Normalformen
Normalformel
Definition:
Eigenschaften:
Konjunktive Normalform (KNF): Eine Konjunktion von Disjunktionen von
Literalen, d.h., eine Konjunktion von Klauseln
• Zu jeder aussagenlogischen Formel gibt es:
- eine äquivalente Formel in KNF
- eine äquivalente Formel in DNF
mehrstellig, einstellig oder nullstellig
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
Beispiele:
(P ∨ ¬Q) ∧ (Q ∨ ¬R ∨ ¬S)
P ∨Q
P ∧ (Q ∨ R)
P ∧Q
P ∧P
⊤
186
188
Normalformel
Beispiel
Eigenschaften:
F :
• 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
(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
0
1
0
189
191
Beispiel
F :
Beispiel
(P ∨ Q) ∧ ((¬P ∧ Q) ∨ R)
P
Q
R
F :
(P ∨ Q)
¬P
(¬P ∧ Q)
((¬P ∧ Q) ∨ R)
F
0
1
0
(P ∨ Q) ∧ ((¬P ∧ Q) ∨ R)
P
Q
R
(P ∨ Q)
¬P
(¬P ∧ Q)
((¬P ∧ Q) ∨ R)
F
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
DNF:
190
0
1
0
(¬P ∧ Q ∧ ¬R) ∨ (¬P ∧ Q ∧ R) ∨ (P ∧ ¬Q ∧ R) ∨ (P ∧ Q ∧ R)
192
Beispiel
F :
Normalformel
(P ∨ Q) ∧ ((¬P ∧ Q) ∨ R)
DNF für F :
(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
0
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
1
0
1
0
1
0
¬F
_
A(P1 )
(P1
A(Pn )
∧ · · · ∧ Pn
)
A:{P1 ,...,Pn }→{0,1}
A(F )=1
1
wobei:
P 0 = ¬P
P1 = P
Theorem
Für alle Interpretationen A′ : {P1 , . . . , Pn } → {0, 1}:
_
A(P )
A(P )
(P1 1 ∧ · · · ∧ Pn n )) = 1.
A′ (F ) = 1 gdw. A′ (
DNF für ¬F : (¬P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ ¬Q ∧ R) ∨ (P ∧ ¬Q ∧ ¬R) ∨ (P ∧ Q ∧ ¬R)
A:{P1 ,...,Pn }→{0,1}
A(F )=1
193
195
Beispiel
F :
Normalformel
(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
0
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
1
0
1
0
1
0
DNF für F :
¬F
_
A(P1 )
(P1
A(Pn )
∧ · · · ∧ Pn
)
A:{P1 ,...,Pn }→{0,1}
A(F )=1
1
wobei:
P 0 = ¬P
P1 = P
KNF für F: ¬F ′ ,
wobei F ′ die DNF von ¬F ist.
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)
194
196
Normalformel
Umformung in KNF: Beispiel
Gegeben:
Eigenschaften:
P ↔ (Q ∨ R)
• Zu jeder aussagenlogischen Formel gibt es:
- eine äquivalente Formel in KNF
- eine äquivalente Formel in DNF
1. Elimination von ↔
(P → (Q ∨ R)) ∧ ((Q ∨ R) → P)
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
2. Elimination von →
• Solche Formeln können aus einer Wahrheitstafel abgelesen werden
(¬P ∨ Q ∨ R) ∧ (¬(Q ∨ R) ∨ P)
• Solche Formeln können durch Umformungen hergestellt werden
3. “Nach innen schieben” von ¬
(¬P ∨ Q ∨ R) ∧ ((¬Q ∧ ¬R)) ∨ P)
4. “Nach innen schieben” von ∨
(¬P ∨ Q ∨ R) ∧ (¬Q ∨ P) ∧ (¬R ∨ P))
197
Umformung in KNF
199
Beispiel zur exponentiellen Länge der KNF
Vier Schritte:
Gegeben:
An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )
1. Elimination von ↔
Verwende A ↔ B ≡ (A → B) ∧ (B → A)
Zu An äquivalente KNF
^
2. Elimination von →
Verwende A → B ≡ (¬A ∨ B)
(P1,f (1) ∨ · · · ∨ Pn,f (n) )
f :{1,...,n}→{1,2}
3. “Nach innen schieben” von ¬
Größe der KNF:
Verwende de Morgans Regeln und ¬¬A ≡ A
• Klausel in KNF von An : 2n
4. “Nach innen schieben” von ∨
Beweis: Induktion
Verwende Distributivität von ∨ über ∧
198
200
Beispiel zur exponentiellen Länge der KNF
KNF: Mengenschreibweise
Gegeben:
Notation:
An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )
Klausel als Menge von Literalen
n = 1 : A1 = P11 ∧P12
Länge: 21
Formel in KNF als Menge von Klauseln
Länge: 22
Beispiel:
n = 2 : A2 = (P11 ∧P12 )∨(P21 ∧P22 )
≡ ((P11 ∧P12 )∨P21 )∧((P11 ∧P12 )∨P22 )
≡ (P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 )
n = 3 : A3 = (P11 ∧P12 )∨(P21 ∧P22 )∨(P31 ∧P32 )
|
{z
}
≡
(P ∨ Q ∨ R) ∧ (P ∨ Q ∨ ¬R) ∧ (¬P ∨ Q ∨ R) ∧ (¬P ∨ ¬Q ∨ R)
A2
((P11 ∨P21 )∧(P
12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨(P31 ∧P32 )
|
{z
KNF (A2 )
}
{ {P, Q, R}, {P, Q, ¬R}, {¬P, Q, R}, {¬P, ¬Q, R} }
≡ (((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
201
203
Beispiel zur exponentiellen Länge der KNF
KNF: Mengenschreibweise
Gegeben: An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )
Bedeutung der leeren Menge
• Klausel in KNF von An : 2n
• Leere Klausel
= leere Menge von Literalen
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 =
≡
≡
≡
≡
= leere Disjunktion
=⊥
• Leere Menge von Klauseln
(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
}
= leere Konjunktion
=⊤
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
202
204
Vereinfachung der KNF: Subsumption
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 komplementäre Literale für alle i
Theorem (Subsumption Regel)
Enthält eine KNF-Formel (= Klauselmenge) Klauseln K , K ′ mit
K ⊂ K′
dann entsteht eine äquivalente Formel, wenn K ′ weggelassen wird.
Allgemeingültigkeit für DNF Formeln
Beweis:
F in KNF allgemeingültig gdw. jede Disjunktion zwei komplementäre
Literale enthält.
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)
205
Das SAT-Problem (Erfüllbarkeitsproblem)
207
Das SAT-Problem (Erfüllbarkeitsproblem)
Definition: SAT-Problem
Definition: SAT-Problem
Gegeben:
Eine aussagenlogische Formel F
Gegeben:
Eine aussagenlogische Formel F
Frage:
Ist F erfüllbar?
Frage:
Ist F erfüllbar?
NB: F allgemeingültig gdw. ¬F nicht erfüllbar
Theorem (ohne Beweis)
SAT ist ein NP-vollständiges Problem
206
208
NP
Teilklassen des Erfüllbarkeitsproblems
Zur Erinnerung:
Definition:
• P ist die Klasse aller Probleme, die in polynomieller Zeit entscheidbar
sind.
k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben
• NP ist die Klasse aller Probleme, die nichtdeterministisch in
polynomieller Zeit entscheidbar sind.
Theorem
• Erfüllbarkeit für Formeln in KNF: NP-vollständig
Ein Entscheidungsproblem ist genau dann in NP, wenn eine gegebene
Lösung für das entsprechende Suchproblem in Polynomialzeit überprüft
werden kann.
• 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
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
209
211
NP-Vollständigkeit
3-SAT
Zur Erinnerung:
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
“SAT ist NP-vollständig” heißt:
• SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar
Beweis
• 3-SAT ist ein Spezialfall von SAT und deshalb wie SAT in NP.
• Jedes nichtdeterministisch in polynomieller Zeit entscheidbare Problem
kann in polynomieller Zeit auf SAT reduziert werden
• 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.
• Wenn es stimmt, dass NP 6= P, dann ist SAT nicht in polynomieller
Zeit entscheidbar
210
212
3-SAT
3-SAT
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis (Teil 2)
Beweis (Teil 4)
Wir zeigen, dass jedes SAT Problem in polynomieller Zeit auf das 3-SAT
Problem reduzierbar ist.
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
Gegeben sei eine Formel F in KNF. Wir transformieren F in eine Formel F ′
in 3-KNF, so dass:
“⇐”
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:
F ist erfüllbar gdw. F ′ ist erfüllbar.
Eine k-Klausel sei eine Klausel mit k Literalen.
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.
Aus einer 1- bzw 2-Klausel können wir leicht eine äquivalente 3-Klausel
machen, indem wir ein Literal wiederholen.
Also ist F ′ in beiden Fällen erfüllbar.
Was machen wir mit k-Klauseln für k > 3?
213
215
3-SAT
3-SAT
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis (Teil 3)
Beweis (Teil 5)
Sei C beispielsweise eine 4-Klausel der Form
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
C = L1 ∨ L2 ∨ L3 ∨ L4 .
In einer Klauseltransformation ersetzen wir C durch die Teilformel
“⇒”
Sei A eine erfüllende Belegung für F ′ . Wir unterscheiden zwei Fälle:
C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ),
1) Falls A(H) = 0, so muss A(L1 ) = 1 oder A(L2 ) = 1.
wobei H eine zusätzlich eingeführte Hilfsvariable bezeichnet.
2) Falls A(H) = 1, so muss A(L3 ) = 1 oder A(L4 ) = 1
F ′ sei aus F entstanden durch Ersetzung von C durch C0 .
In beiden Fällen erfüllt A somit auch C , i.e. auch F .
zu zeigen: F ′ erfüllbar gdw. F erfüllbar
214
216
3-SAT
Horn-Formeln
Defintion:
Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Horn-Formel: Formel in KNF, in der jede Klausel höchstens ein positives
Literal enthält
Beweis (Teil 6)
Wir verallgemeinern die Klauseltransformation für k ≥ 4:
Notation: als Implikation
Jede Klausel der Form
L1 ∨ L2 ∨ · · · ∨ Lk−1 ∨ Lk
wird durch eine Formel der Form
(L1 ∨ L2 ∨ ... ∨ Lk−2 ∨ H) ∧ (¬H ∨ Lk−1 ∨ Lk )
¬P1 ∨ · · · ∨ ¬Pn ∨ P
P1 ∧ · · · ∧ Pn → P
¬P1 ∨ · · · ∨ ¬Pn
PA ∧ · · · ∧ Pn →
P
→P
ersetzt.
P1 ∧ · · · ∧ Pn : Rumpf
Die Erfüllbarkeitsäquivalenz folgt analog zum Fall k = 4.
P: Kopf
217
219
Bis jetzt
Horn Formel: Beispiele
• Das SAT-Problem (Erfüllbarkeitsproblem)
Klausel
• 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)
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
• 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
W
V
F = ni=1 ( m
j=1 Lij ) Formel in DNF unerfüllbar gdw. für alle
Vm
i, ( j=1 Lij ) enthält zwei komplementäre Literale.
218
220
Horn Formel: Beispiele
Klausel
Literalmengen
Erfüllbarkeitsproblem für Horn-Formeln
Theorem
Die Erfüllbarkeit von Horn-Formeln ist in quadratischer Zeit entscheidbar.
Implikationen
¬P
{¬P}
P→
Q ∨ ¬R ∨ ¬S
{Q, ¬R, ¬S}
R, S → Q
¬Q ∨ ¬S
{¬Q, ¬S}
Q, S →
R
{R}
→R
Beweis: (Idee)
¬Q ∨ P
{¬Q, P}
Q→P
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 ⊤.
221
Erfüllbarkeitsproblem für Horn-Formeln
223
Erfüllbarkeitstest für Horn-Formeln
Eingabe: F = D1 ∧ · · · ∧ Dn eine Hornformel
Lemma. Sei F Hornformel die keine Fakten enthält. Dann ist F erfüllbar.
(die Klausel Di enthält höchstens ein positives Literal)
Beweis: Sei A : Π → {0, 1} mit A(P) = 0 für alle P ∈ Π. Dann A(F ) = 1.
Ein Atom in H zu markieren, bedeutet, es an allen Stellen seines Auftretens
in H zu markieren
222
224
Erfüllbarkeitstest für Horn-Formeln
0:
2.5 Der aussagenlogische Resolutionkalkül
IF keine Fakten (Klausel → A) vorhanden
THEN Ausgabe: erfüllbar
1:
ELSE markiere alle Fakten in F (Atome A mit → A in H)
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
225
Zusammenfassung: Normalformen
227
Der aussagenlogische Resolutionkalkül
• Literale, Klauseln
Wesentliche Eigenschaften
• Konjunktive und Disjunktive Normalform
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Ablesen von DNF und KNF aus Wahrheitstafeln
• Voraussetzung: Alle Formeln in konjunktiver Normalform
• Umformen in KNF
• Eine einzige Regel
• Mengenschreibweise
• Operiert auf Klauseln (in Mengenschreibweise)
• Subsumption
• SAT-Problem (SAT, 3-SAT, 2-SAT, DNF-SAT)
• Horn-Formeln
• Erfüllbarkeitstest für Hornformeln
226
228
Resolutionskalkül
Resolution: Weiteres Beispiel
Zu zeigen:
Definition: Resolutionsregel (einzige Regel des Kalküls)
(P → Q) → ((Q → R) → (P → R))
C1 ∪ {P}
{¬P} ∪ C2
C1 ∪ C2
ist allgemeingültig
wobei
Dazu zeigen wir, dass
• P eine aussagenlogische Variable
¬[(P → Q) → ((Q → R) → (P → R))]
• C1 , C2 Klauseln (können leer sein)
unerfüllbar ist.
Definition:
Klauselnormalform:
C1 ∪ C2 heißt Resolvente von C1 ∪ {P}, C2 ∪ {¬P}
{{¬P, Q}, {¬Q, R}, {P}, {¬R}}
229
231
Resolution: Beispiel
Resolution: Weiteres Beispiel
Gegeben die Klauselmenge:
Klauselnormalform:
M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }}
M = {{¬P, Q}, {¬Q, R}, {P}, {¬R}}
Resolution:
Ableitung der leeren Klausel aus M:
{P1 , P2 } {P1 , ¬P2 }
{P1 }
{¬P1 , P2 } {¬P1 , ¬P2 }
{¬P1 }
{P1 }
{¬P1 }
⊥
Insgesamt: M ⊢Res ⊥
also: M unerfüllbar
230
(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)
232
Resolution: Bemerkungen
Ohne Mengenschreibweise
Resolutionsregel:
Vorsicht bei Klauseln mit mehreren Resolutionsmöglichkeiten
• Zwei Klauseln können mehr als eine Resolvente haben
z.B.: {A, B} und {¬A, ¬B}
C1 ∨ P
¬P ∨ C2
C1 ∨ C2
• {A, B, C } und {¬A, ¬B, D} haben NICHT {C , D} als Resolvente
Faktorisieren:
Heuristik: Immer möglichst kleine Klauseln ableiten
C ∨L∨L
C ∨L
233
235
Notwendigkeit der Mengenschreibweise
Resolution mit Faktorisierung
Die Menge
Die Menge
E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 }
E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 }
ist unerfüllbar.
ist unerfüllbar.
Es gibt folgende Resolutionsmöglichkeiten (mit Faktorisieren)
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
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
⊥
234
236
Resolution: Beispiel
Resolution: Korrektheit
Gegeben die Klauselmenge:
Theorem
Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar.
M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }}
Beweis: Annahme: M ⊢Res ⊥. Zu zeigen: M unerfüllbar.
Resolution:
{P1 , P2 } {P1 , ¬P2 }
{P1 }
Widerspruchsbeweis: wir zeigen, dass ein Widerspruch entsteht, wenn die
zu beweisende Behauptung falsch wäre.
{¬P1 , P2 } {¬P1 , ¬P2 }
{¬P1 }
{P1 }
Wir nehmen an, dass M erfüllbar.
Sei A : Π → {0, 1} mit A(C ) = 1 für alle C ∈ M.
{¬P1 }
⊥
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.
Insgesamt: M ⊢Res ⊥
also: M unerfüllbar
Fall 2: A(C1 ) = 0. Dann A(P) = 1. Da A(C2 ∨ ¬P) = 1, so A(C2 ) = 1,
d.h. A(C1 ∨ C2 ) = 1.
237
Resolution
239
Resolution: Korrektheit
Sei F eine Klauselmenge und
Theorem
Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar.
Res(F ) = F ∪ {R | R ist eine Resolvente zweier Klauseln aus F }
Res0 (F ) = F
Beweis: Annahme: M ⊢Res ⊥, i.e. ⊥∈ Resn (M)
Resn+1 (F ) = Res(Resn (F ))
Zu zeigen: M unerfüllbar.
Res⋆ (F ) =
S
n∈N
Widerspruchsbeweis: wir zeigen, dass ein Widerspruch entsteht, wenn die
zu beweisende Behauptung falsch wäre.
Resn (F )
(bezeichnet die Vereinigung der Resolventen aus aller möglichen Resolutionsschritte
Wir nehmen an, dass M erfüllbar.
Sei A : Π → {0, 1} mit A(C ) = 1 für alle C ∈ M.
auf F )
Notation: Falls C ∈ Res⋆ (F ), so schreiben wir F ⊢Res C .
Lemma: C1 ∨ P, C2 ∨ ¬P |= C1 ∨ C2
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
Induktion: Fur alle m ∈ N gilt: Falls D ∈ Resm (M), so A(D) = 1.
mit
Da ⊥∈ Resn (M), A(⊥) = 1. Widerspruch!
238
240
Resolution: Vollständigkeit
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
Theorem.
Für jede endliche Menge M von Klauseln gilt:
falls M unerfüllbar, so M ⊢Res ⊥.
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
Beweis: Induktion:
p(n):
Fakten:
Sei M Menge von Klauseln mit n Aussagenvariablen.
• M0 , M1 enthalten nur Aussagenvariablen {P1 , . . . , Pn }
Falls M unerfüllbar, so M ⊢Res ⊥
• M0 , M1 unerfüllbar
Induktionsbasis: n = 0. dann M = {⊥}, d.h. M ⊢Res ⊥
Induktionsvoraussetzung:
Induktionsschritt: Annahme: p(n) gilt. Beweise p(n + 1).
M0 ⊢Res ⊥, i.e. es gibt C1 , C2 , . . . , Cm Beweis (aus M0 ) für ⊥
Sei M Menge von Klauseln mit Aussagenvariablen {P1 , . . . , Pn , Pn+1 }.
Pn+1 zurück: C1′ , C2′ , . . . , Cm′ Beweis (aus M) für ⊥ oder Pn+1
M0 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊥
M1 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊤
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
241
Resolution: Vollständigkeit
9
>
>
=
>
>
;
⇒ M ⊢Res ⊥
243
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
Theorem.
Für jede endliche Menge M von Klauseln gilt:
falls M unerfüllbar, so M ⊢Res ⊥.
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
Es gilt auch:
Fakten:
Theorem.
Für jede Menge M von Klauseln gilt:
falls M unerfüllbar, so M ⊢Res ⊥.
• 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 ⊥
M1 ⊢Res ⊥, i.e. es gibt D1 , D2 , . . . , Dk Beweis (aus M1 ) für ⊥
242
244
2-SAT
2.5
1-Resolution
Korrekt aber unvollständig.
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
247
Andere Kalküle
1-Resolution
• 1-Resolution
Syllogismus (in der ersten Vorlesung erwähnt):
• Das Davis-Putnam-Verfahren
P
• Semantische Tableaux
P→C
C
1-Resolution (unit resolution)
{P}
246
{¬P} ∪ C
C
{¬P}
{P} ∪ C
C
248
1-Resolution
Andere Kalküle
• 1-Resolution
Die 1-Resolution (unit resolution) benutzt dieselbe Notation wie im
Resolutionskalkül. Die 1-Resolutionsregel ist ein Spezialfall der allgemeinen
Resolutionsregel:
• Das Davis-Putnam-Verfahren
• Semantische Tableaux
{P}
{¬P} ∪ C
C
{¬P}
{P} ∪ C
C
249
1-Resolution
251
2.7
Das Davis-Putnam-Verfahren
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 ⊥.
250
252
Das Davis-Putnam-Verfahren
Das Davis-Putnam-Verfahren
Gegeben: N Klauselmenge
Gegeben: N Klauselmenge
Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)
Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)
Allgemenine Idee:
• 1-Resolution + Fallunterscheidung
Martin Davis and Hilary Putnam, 1960
• N Klauselmenge, P Aussagenvariable in N.
N[P 7→⊥]: aus N entstanden durch Ersetzung von P durch ⊥
- P wird aus allen Klauseln gelöscht,
7→ Resolventen mit {¬P}
- Klauseln, die ¬P enthalten werden ebenfalls gelöscht
Subsumption
N[P 7→ ⊤]: aus N entstanden durch Ersetzung von P durch ⊤
- ¬P wird aus allen Klauseln gelöscht,
7→ Resolventen mit {P}
- Klauseln, die P enthalten werden ebenfalls gelöscht
Subsumption
N unerfüllbar gdw. (N[P 7→⊥] unerfüllbar und N[P 7→ ⊤] unerfüllbar)
253
255
Das Davis-Putnam-Verfahren
Das Davis-Putnam-Verfahren
N: eine Menge von Klauseln
Gegeben: N Klauselmenge
Programm DP(N):
Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)
IF (N = ⊤) THEN Return “wahr”
Allgemeine Idee:
ELSE IF (N = ⊥) THEN Return “falsch”
• 1-Resolution + Fallunterscheidung
ELSE IF (N enthält Klausel {P}) THEN return DP(N[P 7→ ⊤])
ELSE IF (N enthält Klausel {¬P}) THEN return DP(N[P 7→⊥])
• N Klauselmenge, P Aussagenvariable in N.
N[P 7→⊥]: aus N entstanden durch Ersetzung von P durch ⊥
- P wird aus allen Klauseln gelöscht,
- Klauseln, die ¬P enthalten werden ebenfalls gelöscht
N[P 7→ ⊤]: aus N entstanden durch Ersetzung von P durch ⊤
- ¬P wird aus allen Klauseln gelöscht,
ELSE IF (N enthält pures Literal P (d.h. ¬P kommt in N nicht vor))
THEN return DP(N[P 7→ ⊤])
ELSE IF (N enthält pures Literal ¬P (d.h. P kommt in N nicht vor))
THEN return DP(N[P 7→ ⊥])
ELSE {
- Klauseln, die P enthalten werden ebenfalls gelöscht
Sei P Aussagenvariable in N
N unerfüllbar gdw. (N[P 7→⊥] unerfüllbar und N[P 7→ ⊤] unerfüllbar)
IF (DP(N ∪ {¬P}) THEN return “wahr”
ELSE return DP(N ∪ {P}) }
254
256
Das Davis-Putnam-Verfahren
Das Davis-Putnam Verfahren: Beispiel
N: eine Menge von Klauseln
(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
Programm DP(N):
IF (N = ⊤) THEN Return “wahr”
R ∧ ¬R ∧ (P ∨ ¬R)
ELSE IF (N = ⊥) THEN Return “falsch”
ddd
dddddQ7d→d⊤
ELSE IF (N enthält Klausel {P}) THEN return DP(N[P 7→ ⊤])
ELSE IF (N enthält Klausel {¬P}) THEN return DP(N[P 7→⊥])
ELSE IF (N enthält pures Literal P (d.h. ¬P kommt in N nicht vor))
THEN return DP(N[P 7→ ⊤])
ELSE IF (N enthält pures Literal ¬P (d.h. P kommt in N nicht vor))
THEN return DP(N[P 7→ ⊥])
ELSE {
Sei P Aussagenvariable in N
IF (DP(N[P 7→ ⊥]) THEN return “wahr”
ELSE return DP(N[P 7→ ⊤]) }
257
259
Das Davis-Putnam Verfahren: Beispiel
Das Davis-Putnam Verfahren: Beispiel
(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
R ∧ ¬R ∧ (P ∨ ¬R)
R
¬R
⊥
ddd
dddddQ7d→d⊤
(oder: R7→⊥)
⊥
258
260
Das Davis-Putnam Verfahren: Beispiel
Das Davis-Putnam Verfahren: Beispiel
(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
R ∧ ¬R ∧ (P ∨ ¬R)
R
¬R
⊥
ddd
dddddQ7d→d⊤
YYYYYY
YYYYY
Q7→⊥
¬P ∨ R
R ∧ ¬R ∧ (P ∨ ¬R)
ddd
dddddQ7d→d⊤
YYYYYY
YYYYY
Q7→⊥
¬P ∨ R
R7→⊤
(oder: R7→⊥)
R
¬R
⊥
(oder: R7→⊥)
¬P
P7→⊥
⊥
⊥
⊤
A = (P 7→ 0, R 7→ 1, Q 7→ 0)
261
263
Das Davis-Putnam Verfahren: Beispiel
Das Davis-Putnam Verfahren
Das Davis-Putnam Verfahren: 1-Resolution + Fallunterscheidung
(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
R ∧ ¬R ∧ (P ∨ ¬R)
ddd
dddddQ7d→d⊤
YYYYYY
YYYYY
Q7→⊥
¬P ∨ R
R7→⊤
R
¬R
⊥
(oder: R7→⊥)
¬P
Weiterentwicklung:
Das Davis-Putnam-Logemann-Loveland Verfahren (DPLL)
Martin Davis, Hilary Putnam, George Logemann and Donald W. Loveland
⊥
1962
262
264
DPLL
DPLL
Gegeben: N Klauselmenge
Gegeben: N Klauselmenge
Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)
Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)
Idee: Erfüllende Wertebelegung inkrementell gebildet.
Idee: Erfüllende Wertebelegung inkrementell gebildet.
“partielle Wertebelegungen”
Wir beginnen mit der leeren Belegung und versuchen diese Belegung zu
einem Modell für N zu erweitern.
Falls A partielle Wertebelegung, so können Literale und Klauseln in A wahr,
falsch oder undefiniert sein.
Eine Klausel ist wahr in A, wenn ein Literal in C wahr ist; falsch, wenn alle
Literale falsch sind. Sonst ist C undefiniert (unresolved).
265
DPLL
267
Einerklauseln (Unit clauses)
Definition. Sei A eine Interpretation. Sei C = L1 ∨ · · · ∨ Ln ∨ L ∈ N, so
dass L1 , . . . , Ln falsch in A und L nicht definiert.
Gegeben: N Klauselmenge
Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)
Dann heißt C Einerklausel (Unit clause).
Idee: Erfüllende Wertebelegung inkrementell gebildet.
“partielle Wertebelegungen”
Lemma. Seien A eine Interpretation und C = L1 ∨ · · · ∨ Ln ∨ L ∈ N, so
dass L1 , . . . , Ln falsch in A und L nicht definiert.
Wir beginnen mit der leeren Belegung und versuchen diese Belegung zu
einem Modell für N zu erweitern.
Es gibt ein Modell von N, das A erweitert,
genau dann, wenn
es ein Modell von N gibt, das A erweitert und L wahr macht.
266
268
Pure Literale
Pure Literale
Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien
Mengen von Literalen), wenn
Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien
Mengen von Literalen), wenn
• L Element einer Klausel in N ist und
• L Element einer Klausel in N ist und
• das Komplement von L in keiner Klausel von N enthalten ist.
• das Komplement von L in keiner Klausel von N enthalten ist.
Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N
pures Literal enthält.
Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N
pures Literal enthält.
Lemma.
Lemma.
Für jede pure Klausel C in einer Klauselmenge N:
N erfüllbar gdw. N\{C } erfüllbar
Für jede pure Klausel C in einer Klauselmenge N:
N erfüllbar gdw. N\{C } erfüllbar
Beweis:
“⇒” Falls N erfüllbar, ist N\{C } auch erfüllbar.
“⇐” Annahme: N\{C } erfüllbar (sei A Modell), C enthält ein in N pures Literal L.
(
A(Q)
falls Q 6= P
′
′
L = ¬P: A : Π → {0, 1} mit A (Q) =
ist Modell für N.
0
falls Q = P
269
271
Pure Literale
Pure Literale
Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien
Mengen von Literalen), wenn
Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien
Mengen von Literalen), wenn
• L Element einer Klausel in N ist und
• L Element einer Klausel in N ist und
• das Komplement von L in keiner Klausel von N enthalten ist.
• das Komplement von L in keiner Klausel von N enthalten ist.
Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N
pures Literal enthält.
Lemma.
Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N
pures Literal enthält.
Für jede pure Klausel C in einer Klauselmenge N:
N erfüllbar gdw. N\{C } erfüllbar
Lemma.
Für jede pure Klausel C in einer Klauselmenge N:
N erfüllbar gdw. N\C erfüllbar
Lemma.
Sei A eine partielle Wertebelegung.
Für jedes pure Literal L in einer Klauselmenge N gilt:
Es gibt ein Modell von N, das A erweitert
genau dann, wenn
es ein Modell von N gibt, das A erweitert und L wahr macht.
Beweis:
“⇒” Falls N erfüllbar, ist N\{C } auch erfüllbar.
“⇐” Annahme: N\{C } erfüllbar (sei A Modell), C enthält ein in N pures Literal L.
(
A(Q)
falls Q 6= P
L = P: A′ : Π → {0, 1} mit A′ (Q) =
ist Modell für N.
1
falls Q = P
270
272
DPLL
Eine alternative Formulierung
N: eine Menge von Klauseln, A partielle Wertebeleung
Zustand: M||F
Programm DPLL(N, A):
wobei:
IF (alle Klauseln in N wahr in A) THEN Return “wahr”
- M Sequenz von Literalen (partielle Wertebelegung)
ELSE IF (eine Klausel in N falsch in A) Return “falsch”
(Ld : Entscheidungsliteral)
ELSE IF (N enthält Einerklausel {P}) THEN return DPLL(N, A ∪ {P 7→ 1})
- F Klauselmenge
ELSE IF (N enthält Einerklausel {¬P}) THEN return DPLL(N, A ∪ {P 7→ 0})
ELSE IF (N enthält pures Literal P) THEN return DPLL(N, A ∪ {P 7→ 1})
ELSE IF (N enthält pures Literal ¬P) THEN return DPLL(N, A ∪ {P 7→ 0})
ELSE {
Sei P undefinierte Aussagenvariable in N
IF (DPLL(N, A(P 7→ 0))) THEN return “wahr”
ELSE return DPLL(N, A ∪ {P 7→ 1})
273
275
DPLL
Eine alternative Formulierung
N: eine Menge von Klauseln, A partielle Wertebeleung
UnitPropagation
Programm DPLL(N, A):
M||F , C ∨ L ⇒ M, L||F , C ∨ L falls M |= ¬C , und L undef. in M
IF (alle Klauseln in N wahr in A) THEN Return “wahr”
Decide
ELSE IF (eine Klausel in N falsch in A) Return “falsch”
ELSE IF (N enthält Einerklausel {P}) THEN return DPLL(N, A ∪ {P 7→ 1})
M||F ⇒ M, Ld ||F
ELSE IF (N enthält Einerklausel {¬P}) THEN return DPLL(N, A ∪ {P 7→ 0})
Fail
ELSE IF (N enthält pures Literal P) THEN return DPLL(N, A ∪ {P 7→ 1})
M||F , C ⇒ Fail
ELSE IF (N enthält pures Literal ¬P) THEN return DPLL(N, A ∪ {P 7→ 0})
Backjump
ELSE {
Sei P undefinierte Aussagenvariable in N
M, Ld , N||F ⇒ M, L′ ||F
IF (DPLL(N, A(P 7→ 0))) THEN return “wahr”
ELSE return DPLL(N, A ∪ {P 7→ 1})
Am Anfang: A = ∅
DPLL(N, ∅)
274
falls L oder ¬L kommt in F vor, L undef. in M
falls M |= ¬C , M enthält kein Entscheidungsliteral
8
>
es gibt eine Klausel C ∨ L′ mit:
>
>
>
>
< F |= C ∨ L′ , M |= ¬C ,
falls
>
> L′ undef. in M
>
>
> ′
:
L oder ¬L′ kommt in F vor.
276
Eine alternative Formulierung
Backjump
M, Ld , N||F
⇒
M, L′ ||F
Beispiel
8
>
es gibt eine Klausel C ∨ L′ mit:
>
>
>
>
< F |= C ∨ L′ , M |= ¬C ,
falls
>
> L′ undef. in M
>
>
> ′
:
L oder ¬L′ kommt in F vor.
Wertebelegung:
Klauselmenge:
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
¬P1
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
⇒ (Pure Literal)
Es gibt mehrere mögliche backjump Klauseln. Ein Kandidat ist
¬L1 ∨ · · · ∨ ¬Ln wo L1 , . . . , Ln alle Entscheidungsliterale in MLd N sind.
(Es gibt manchmal bessere Kandidaten).
277
279
Beispiel
Beispiel
Wertebelegung:
Klauselmenge:
Wertebelegung:
Klauselmenge:
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
¬P1 ¬P3
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
¬P1
278
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
⇒ (Pure Literal)
280
Beispiel
Beispiel
Wertebelegung:
Klauselmenge:
Wertebelegung:
Klauselmenge:
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
¬P1 ¬P3
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Decide)
¬P1 ¬P3
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Decide)
¬P1
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
¬P1
¬P1 ¬P3 P5 d
¬P1 ¬P3 P5 d ¬P6
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ ¶5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
281
Klauselmenge:
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
¬P1 ¬P3
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
¬P1
¬P1 ¬P3 P5 d
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (UnitProp)
⇒ (Backtrack)
283
Beispiel
Wertebelegung:
⇒ (Pure Literal)
Beispiel
Wertebelegung:
Klauselmenge:
⇒ (Pure Literal)
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
⇒ (Decide)
¬P1 ¬P3
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Decide)
⇒ (Pure Literal)
⇒ (UnitProp)
¬P1
¬P1 ¬P3 P5 d
¬P1 ¬P3 P5 d ¬P6
¬P1 ¬P3 ¬P5
282
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
⇒ (UnitProp)
⇒ (Backtrack)
284
Beispiel
DPLL
Das DPLL-Verfahren (Davis-Putnam-Logemann-Loveland)
Wertebelegung:
Klauselmenge:
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
¬P1 ¬P3
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Decide)
¬P1
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
¬P1 ¬P3 P5 d
¬P1 ¬P3 P5 d ¬P6
¬P1 ¬P3 ¬P5
¬P1 ¬P3 ¬P5 P6
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
⇒ (UnitProp)
⇒ (Backtrack)
⇒ (UnitProp)
• Das bekannteste und am meisten verbreitete Verfahren zur
systematischen Suche eines Modells
• wurde in den letzten Jahrzehnten mit Hilfe von Heuristiken
und Lernverfahren stark verbessert
285
287
Beispiel
Andere Kalküle
• 1-Resolution
Wertebelegung:
Klauselmenge:
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Decide)
¬P1
¬P1 ¬P3
¬P1 ¬P3 P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
d
¬P1 ¬P3 P5 d ¬P6
¬P1 ¬P3 ¬P5
¬P1 ¬P3 ¬P5 P6
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
• Das Davis-Putnam-Verfahren
• Semantische Tableaux
⇒ (UnitProp)
⇒ (Backtrack)
⇒ (UnitProp)
Die Klauselmenge ist erfüllbar.
Modell:
A(P1 ) = 0, A(P3 ) = 0, A(P5 ) = 0, A(P6 ) = 1
A(P2 ), A(P4 ) beliebig.
286
288
2.8
Der aussagenlogische Tableaukalkül
Der aussagenlogische Tableaukalkül
Wesentliche Eigenschaften
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Beweis durch Fallunterscheidung
• Top-down-Analyse der gegebenen Formeln
289
291
Der aussagenlogische Tableaukalkül
Der aussagenlogische Tableaukalkül
Geschichte
Vorteile
• Beth (1955), Hintikka (1955) and Schütte (1956)
• Intuitiver als Resolution
• Analytic tableaus: Smullyan 1968
• Formeln müssen nicht in Normalform sein
• Automatisches Beweisen/Mechanisierung:
• Falls Formelmenge erfüllbar ist (Test schlägt fehl), wird ein
Gegenbeispiel (eine erfüllende Interpretation) konstruiert
Kanger 1957, Prawitz 1960, Wang 1960, Davis 1960, Maslov 1968.
Nachteile
• Weiterentwicklung/Verfeinerungen:
Loveland 1968 (Model elimination),
• Mehr als eine Regel
Kowalski, Kuehner 1971 (SL-resolution)
Bibel 1975,
Andrews 1976
...
290
292
Formeltypen
Formeltypen
Konjunktive Formeln: Typ α
Disjunktive Formeln: Typ β
• ¬¬F
• ¬(F ∧ G )
• F ∧G
• F ∨G
• ¬(F ∨ G )
• F →G
• ¬(F → G )
Zuordnungsregeln Formeln / Unterformeln
Disjunktive Formeln: Typ β
• ¬(F ∧ G )
• F ∨G
β
β1
β2
¬(F ∧ G )
¬F
¬G
F ∨G
• F →G
F →G
F
G
¬F
G
293
Formeltypen
295
Regeln des (aussagenlogischen) Tableaukalküls
Konjunktive Formeln: Typ α
p∧q
|
p
|
q
α
• ¬¬F
Konjunktiv
α1
• F ∧G
α2
• ¬(F ∨ G )
• ¬(F → G )
β
Zuordnungsregeln Formeln / Unterformeln
β1 | β2
α
F ∧G
α1
G
¬F
¬G
¬(F → G )
F
¬G
¬¬F
F
φ
¬φ
⊥
294
/
p
α2
F
¬(F ∨ G )
p∨q
Disjunktiv
Widerspruch
\
q
φ
¬φ
|
⊥
296
Instanzen der α und β-Regel
Determinismus von Kalkül und Regeln
Instanzen der α-Regel
Determinismus
P ∧Q
¬(P ∨ Q)
¬(P → Q)
¬¬P
P
¬P
P
P
Q
¬Q
¬Q
• Die Regeln sind alle deterministisch
• Der Kalkül aber nicht:
Auswahl der nächsten Formel, auf die eine Regel angewendet wird
Instanzen der β-Regel
Heuristik
P ∨Q
¬(P ∧ Q)
P→Q
P | Q
¬P | ¬Q
¬P | Q
• Nicht-verzweigende Regeln zuerst: α vor β
Nota bene:
Dieselbe Formel kann mehrfach (auf verschiedenen Ästen) verwendet
werden
297
299
Ein Tableau für {P ∧ ¬(Q ∨ ¬R), ¬Q ∨ ¬R}
Formale Definition des Kalküls
Definition
Tableau: Binärer Baum, dessen Knoten mit Formeln markiert sind
1.
P ∧ ¬(Q ∨ ¬R)
2.
¬Q ∨ ¬R
PPP
P
3.
¬Q
5.
P
10.
P
6.
¬(Q ∨ ¬R)
11.
¬(Q ∨ ¬R)
7.
¬Q
8.
¬¬R
9.
R
4.
¬R
Definition
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.)
Tableauast: Maximaler Pfad in einem Tableau (von Wurzel zu Blatt)
298
300
Formale Definition des Kalküls
Formale Definition des Kalküls
Sei M eine Formelmenge
Definition.
Initialisierung
Ast B eines Tableaus für M ist geschlossen, wenn
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
F , ¬F ∈ B ∪ M
Erweiterung
• T ein Tableau für M
Definition.
• B ein Ast von T
Ein Tableau ist geschlossen, wenn jeder seiner Äste geschlossen ist.
• 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 β)
Definition.
Ein Tableau für M, das geschlossen ist, ist ein Tableaubeweis für (die
Unerfüllbarkeit von) M
Dann ist T ′ ein Tableau für M.
301
303
Formale Definition des Kalküls
Beispiel
Nota bene:
Zu zeigen:
Alle Äste in einem Tableau für M enthalten implizit alle Formeln in M
(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S)) allgemeingültig
Wir zeigen, dass
¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))]
unerfüllbar ist.
302
304
Beispiel
Klauseltableau: Beispiel
M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }
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 ]
¬S
[52 ]
7.
hhhhhhh
h
8.
¬P
9.
[21 ]
Q→R
[22 ]
XXXX
X
10.
P
[41 ]
11.
S
[42 ]
geschlossenes Tableau.
305
Klauseltableau
307
Klauseltableau: Beispiel
M Menge von Klauseln
M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }
Änderungen
¬P
• Keine α-Regel
ii 1. TTTTTT
iiii
TTT
i
i
i
i
Q
• Erweiterungsregel kann Verzweigungsgrad > 2 haben
• Alle Knoten im Tableau enthalten Literale
306
308
Klauseltableau: Beispiel
Klauseltableau: Beispiel
M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }
¬P
P
u
uuu
hhhh 1. UUUUUUUU
h
h
h
h
UU
hhh
Q
KKK
w JJJJ
www
¬Q
P
M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }
¬Q
P
⊥
V
ggggg 1. VVVVVVVV
g
g
g
g
VV
ggg
¬P K
u Q LLLL
K
u
K
uuu
uuu
¬Q P
¬Q
PPP
pp P III
s
ppp
sss
P
Q
R
¬P
⊥
⊥
⊥
⊥
¬Q
⊥
⊥
309
311
Korrektheit und Vollständigkeit des
Tableaukalküls
Klauseltableau: Beispiel
M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }
Theorem.
P
ggg 1. VVVVVVV
gggg
VVVV
g
g
g
g
¬P K
u Q LLLL
KK
u
uuu
uuu
¬Q O
¬Q
P
OOO
pp III
s
p
s
s
p
s
P
Q
R
¬P
Eine Formelmenge M ist unerfüllbar
genau dann, wenn
es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
¬Q
310
312
Korrektheit und Vollständigkeit des
Tableaukalküls
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.
Theorem.
Eine Formelmenge M ist unerfüllbar
genau dann, wenn
es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
... alternativ: Falls M erfüllbar ist, hat M kein geschlossenes Tableau.
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.
313
315
Korrektheit und Vollständigkeit des
Tableaukalküls
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.
Theorem.
Eine Formelmenge M ist unerfüllbar
genau dann, wenn
es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
... 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
Vollständigkeit: “⇒”
Ein Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
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).
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
314
316
Lemma 1: Beweis
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
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
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).
p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
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.
Induktionsbasis: T wurde in einem Schritt gebildet.
Initialisierung
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
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.
da M erfüllbar ist, ist ein solches Tableau erfüllbar
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.
317
319
Lemma 1: Beweis
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
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 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Beweis: Induktion
Beweis: Induktion
p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
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).
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.
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 ′ .
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 1: B ′ 6= B. Dann ist B ′ auch Ast in T , d.h. T erfüllbar.
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.
318
320
Lemma 2: Beweis
Lemma 3: Beweis
Definition.
Lemma 3.
B offener Ast in voll expandiertem Tableau, dann B ∪ M erfüllbar.
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist
Beweis: (für klausale Tableaux)
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
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).
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
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).
Lemma 2. Ein geschlossenes Tableau ist nicht erfüllbar
Fall
Fall
Fall
Fall
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 ⊥ enthalten,
d.h. B kann nicht geschlossen sein.
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.
321
Kern des Vollständigkeitsbeweises
323
Klauseltableau: Einschränkungen des Suchraums
Definition.
Regularität:
Ein Tableau heißt voll expandiert, wenn
Kein Literal darf auf einem Ast mehr als einmal vorkommen
• jede Regel
• auf jede passende Formel
Schwache Konnektionsbedingung (Connection calculus)
• auf jedem offenen Ast
Bei Erweiterung von Ast B muss mindestens eines der neuen Literale
komplementär zu Literal in B ∪ M sein.
angewendet worden ist.
Starke Konnektionsbedingung (Modellelimination)
Lemma 3.
B offener Ast in voll expandiertem Tableau, dann B ∪ M erfüllbar.
Bei Erweiterung von Ast B muss mindestens eines der neuen Literale
komplementär zum Blatt von B sein – außer beim ersten Schritt.
... Also: Voll expandiertes Tableau für unerfüllbares M ist geschlossen
322
324
Klauseltableau: Einschränkungen des Suchraums
Klauseltableau: Weiteres Beispiel
Behauptung
Theorem (hier ohne Beweis)
Regularität, starke und schwache Konnektionsbedingung
erhalten Vollständigkeit.
Dann müssen sie ans Meer mit Vollpension, mit Pool und ohne Flug.
M ∧ V ∧ P ∧ ¬F
Jedoch
Zu zeigen:
Bei starker Konnektionsbedingung kann ungünstige Erweiterung in
Sackgasse führen.
{¬F → (V ∧ M), (M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P),
¬P → (F ∧ M ∧ ¬V ), (P ∧ ¬F ) ∨ (V ∧ ¬P)}
|=
(bei schwacher Konnektionsbedinung nicht)
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)
Beispiel: M = {{P}, {¬Q}, {¬P, Q}, {¬P, R}}
Zuerst {¬P, Q}: OK
Zuerst {¬P, R}: Sackgasse
M ∧ V ∧ P ∧ ¬F
325
Klauseltableau: Weiteres Beispiel
327
Klauseltableau: Weiteres Beispiel
Signatur: F : Flugreise V : Vollpension M: Meer P: Pool
¬F → (V ∧ M)
(M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P)
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)
¬P → (F ∧ M ∧ ¬V )
Gibt es keinen Pool, so besteht Tochter Lisa auf einer Flugreise und Urlaub am Meer
und darauf, dass keine Vollpension gebucht wird.
(P ∧ ¬F ) ∨ (V ∧ ¬P)
¬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.
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
(P ∧ ¬F ) ∨ (V ∧ ¬P)
326
328
Klauseltableau: Weiteres Beispiel
Terminierung
Beobachtung
Aussagenlogische Resolution (für Klauselmengen in Mengennotation)
terminiert, für jede endliche Menge von Klauseln.
Konstruktion des Konnektionstableaus
• bei Beginn mit Klausel (1)
Beweis: Es gibt nicht mehr als 22n Klauseln (in Mengennotation) mit n
Aussagenvariablen.
• mit Regularität
• mit starker Konnektionsbedingung
7→ nicht mehr als (22n )2 mögliche Anwendungen der Resolutionsregel.
Dann:
Nahezu deterministische Beweiskonstruktion
329
331
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
Terminierung
Das Davis-Putnam und das DPLL Verfahren terminieren ebenfalls.
1
Beweis (Idee auf Beispiel)
F
V
V
F
P
P
V
P
P
F
V
Wertebelegung:
Klauselmenge:
∅
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5
¬P1
¬P1 ¬P3
F
F
¬P1 ¬P3 P5 d
¬P1 ¬P3 P5 d ¬P6
M
M
V
P
¬P1 ¬P3 ¬P5
¬P1 ¬P3 ¬P5 P6
F
∨ ¬P6 , P6 ∨ P5 , P6
∨ ¬P6 , P6 ∨ P5 , P6
∨ ¬P6 , P6 ∨ P5 , P6
∨ ¬P6 , P6 ∨ P5 , P6
∨ ¬P5
∨ ¬P5
∨ ¬P5
∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
⇒ (Pure Literal)
⇒ (Pure Literal)
⇒ (Decide)
⇒ (UnitProp)
⇒ (Backtrack)
⇒ (UnitProp)
Noether’sche Ordnung auf partiellen Wertebelegungen
(Wieviele Literale sind undefiniert? Gibt es Entscheidungsliterale?
Partielle Wertebelegungen werden mit jedem Schritt kleiner.
330
332
Terminierung
Zusammenfassung: Tableaukalkül
Beweis durch Widerspruch und Fallunterscheidung
Ähnliches Resultat für Tableaux?
• Tableauregeln (mit uniformer Notation)
• Formale Definition des Kalküls
• Korrektheit und Vollständigkeit
• Klauseltableau
• Regularität
• Schwache und starke Konnektionsbedingung
• Strikte Tableaux
• Terminierung
333
Terminierung
335
3. Prädikatenlogik
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).
334
336
Rückblick: Vor- und Nachteile von Aussagenlogik
Prädikatenlogik
+ Aussagenlogik ist deklarativ: Syntaxelemente entsprechen Fakten
Reichere Struktur
+ Aussagenlogik erlaubt konjunktive / disjunktive / negative Aussagen
(im Gegensatz zu vielen Datenstrukturen und Datenbanken)
• Objekte (Elemente)
Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ...
+ Aussagenlogik ist kompositional:
Bedeutung von F1 ∧ F2 leitet sich ab aus der von F1 und F2
• Relationen (Eigenschaften)
rot, rund, prim, mehrstöckig, ...
ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, ..
=, ≥, ...
+ Bedeutung in Aussagenlogik ist kontextunabhängig
(im Gegensatz zu natürlicher Sprache)
• Funktionen
+, Mitte von, Vater von, Anfang von, ...
− Aussagenlogik hat nur beschränkte Ausdruckskraft
(im Vergleich zu natürlicher Sprache)
Beispiele:
• Die Aussage “Alle Menschen sind sterblich” erfordert eine Formel für
jeden Mensch.
337
339
Rückblick: Vor- und Nachteile von Aussagenlogik
Weitere Logiken
+ Aussagenlogik ist deklarativ: Syntaxelemente entsprechen Fakten
Logik
+ Aussagenlogik erlaubt konjunktive / disjunktive / negative Aussagen
(im Gegensatz zu vielen Datenstrukturen und Datenbanken)
+ Aussagenlogik ist kompositional:
Bedeutung von F1 ∧ F2 leitet sich ab aus der von F1 und F2
Aussagenlogik
Fakten
wahr/falsch
Prädikatenlogik
Objekte, Funktionen,
wahr/falsch
Relationen
+ Bedeutung in Aussagenlogik ist kontextunabhängig
(im Gegensatz zu natürlicher Sprache)
− Aussagenlogik hat nur beschränkte Ausdruckskraft
(im Vergleich zu natürlicher Sprache)
Temporallogik
Fakten, Zeitpunkte
wahr/falsch
Mehrwertige Logik
Fakten
wahr/falsch/unbekannt
Fuzzy-Logik
Fakten
[0, 1]
...
...
...
Beispiele:
• Die Aussage “Jede natürliche Zahl ist entweder gerade oder ungerade”
erfordert eine Formel für jede Zahl.
338
340
Syntax der Prädikatenlogik: Logische Zeichen
Syntax der Prädikatenlogik: Vokabular
Wie in der Aussagenlogik
Definition
⊤ Symbol für die Formel “wahr” (Formel, die immer wahr ist)
⊥ Symbol für die Formel “falsch” (Formel, die immer falsch ist)
Prädikatenlogische Signatur: Paar Σ = (Ω, Π) wobei:
• Ω eine Menge von Funktionssymbolen f mit Stelligkeit n ≥ 0,
geschrieben f /n,
¬ Negationssymbol (“nicht”)
z.B. 2/0, koblenz/0, c/0, sqrt/1, leftLegOf/1, +/2, -/2
∧ Konjunktionssymbol (“und”)
∨ Disjunktionssymbol (“oder”)
→ Implikationssymbol (“wenn . . . dann”)
↔ Symbol für Äquivalenz (“genau dann, wenn”)
• Π Menge von Prädikatensymbolen p mit Stelligkeit m ≥ 0, geschrieben
p/m
z.B. bruderVon/1, > /2, ≈ /2, . . .
( ) die beiden Klammern
Quantoren
Bemerkung: Das Gleichheitsprädikat ≈ kann (muss aber nicht) enthalten
sein. Es wird infix notiert.
Allquantor (“für alle”)
Existenzquantor (“es gibt”)
E
A
341
Syntax der Prädikatenlogik: Vokabular
343
Syntax der Prädikatenlogik: Vokabular
Signatur
Definition.
Zweck: Festlegung der nichtlogischen Symbole
Funktionsssymbole mit Stelligkeit n = 0 heißen Konstante
z.B. 2, koblenz, c
Σ = (Ω, Π),
Definition.
Prädikatensymbole mit Stelligkeit n = 0 heißen Aussagenvariablen
342
344
Syntax der Prädikatenlogik: Vokabular
Terme
Variablen
Terme sind also vollständig geklammerte Ausdrücke, die wir auch
als markierte, geordnete Bäume auffassen können. Die Knoten sind
mit Funktionssymbolen oder Variablen markiert. Jeder mit einem
Funktionssymbol f der Stelligkeit n markierte Knoten hat genau n
Unterbäume, einen für jedes Argument von f .
Prädikatenlogik erlaubt die Formulierung abstrakter (schematischer)
Aussagen. Technisches Hilfmittel hierfür sind die Variablen.
Wir nehmen an, dass
X
eine vorgegebene Menge von abzählbar unendlich vielen Symbolen ist, die
wir für (die Bezeichnung von) Variablen verwenden.
345
347
Terme
Beispiele
Terme über Σ (bzw. Σ-Terme) werden nach folgenden syntaktischen Regeln
gebildet:
s, t, u, v
::=
|
x
,x ∈X
(Variable)
f (s1 , ..., sn )
, f /n ∈ Ω
(F-Terme)
Σ = (Ω, Π)
Ω = {Jan/0, Vater /1, Mutter /1}
{x, y , z} ⊆ X
Terme:
Mit TΣ (X ) bezeichnen wir die Menge der Σ-Terme
x
Jan
Vater (x)
Vater (Jan)
Menge TΣ (X ) der Σ-Terme:
Mutter (x)
Mutter (Jan)
Die kleinste Menge mit: X ⊆ TΣ (X )
Vater (Mutter (x))
Vater (Mutter (Jan))
Wenn • f ∈ Ω,
• n ist die Stelligkeit von f
• t1 , . . . , tn ∈ TΣ (X )
dann
f (t1 , . . . , tn ) ∈ TΣ (X )
346
348
Beispiele
Beispiele
Σ = (Ω, Π)
Σ = (Ω, Π)
Σ = {0/0, 1/0, succ/1, +/2}
Ω = {Jan/0, Anna/0, Vater /1, Mutter /1}
{x, y , z} ⊆ X
Π = {Mann/1, Frau/1, Bruder /2, ≈ /2}
Terme:
{x, y , z} ⊆ X
x, y , z, 0, 1
Atome:
succ(x), succ(0), succ(1)
x + y , x + z, x + 0, x + 1, (x + (succ(y ) + 1)), ...
+(x, y ), +(x, z), +(x, 0), +(x, 1), +(x, +(succ(y ), 1))
Infix
Mann(x)
Mann(Jan)
Mann(Anna)
Mann(Vater (x))
Frau(Vater (Jan))
Mann(Vater (Jan))
Bruder (x, y )
Bruder (x, Jan)
Bruder (x, Anna)
Präfix
Vater (Jan) ≈ Vater (Anna)
Vater (x) ≈ Mutter (y )
349
351
Atome
Beispiele
Σ = (Ω, Π)
Atome (Atomare Formeln) über Σ genügen dieser Syntax:
A, B
h
::=
|
p(s1 , ..., sm )
, p/m ∈ Π
(s ≈ t)
(Gleichung)
Ω = {0/0, 1/0, succ/1, +/2}
i
Π = {≤, ≈}
{x, y , z} ⊆ X
Ist m = 0, so handelt es sich bei p um eine Aussagenvariable. Wir
verwenden insbesondere die Buchstaben P, Q, R, S, um Aussagenvariablen
zu bezeichnen
Atome:
x ≤ y , z ≈ 0,
0≤1
succ(x) ≤ succ(0),
succ(1) ≈ succ(0)
x + y ≤ x + z, x + 0 ≈ x + 1 (x + (succ(y ) + 1)) ≤ z, ...
Infix
Präfix:
≤ (+(x, y ), +(x, z)),
350
+ (x, 0) ≈ +(x, 1),
≤ (+(x, +(succ(y ), 1)), z)
352
Literale
|
A
(positives Literal)
¬A
(negatives Literal)
Formeln über Σ:
F, G, H
::=
⊥
(Falsum)
|
⊤
(Verum)
|
A
(atomare Formel)
|
¬F
|
(F ∧ G )
(Konjunktion)
|
(F ∨ G )
(Disjunktion)
|
(F → G )
(Implikation)
|
(F ↔ G )
(Äquivalenz)
|
|
(Negation)
xF
(Allquantifizierung)
E
::=
A
L
Formeln
xF
(Existenzquantifizierung)
353
355
Klauseln
|
⊥
L1 ∨ . . . ∨ Lk , k ≥ 1
Menge ForΣ der Formeln über Σ:
(leere Klausel)
Die kleinste Menge, die
(nichtleere Klausel)
• Alle atomare Formeln enthält,
• ⊤ ∈ ForΣ , ⊥ ∈ ForΣ ,
• Wenn F , G ∈ ForΣ , dann auch
¬F , F ∧ G , F ∨ G , F → G , F ↔ G ∈ ForΣ ,
• Wenn F ∈ ForΣ und x ∈ X , dann
A
::=
E
C, D
Formeln
xF ∈ ForΣ , xF ∈ ForΣ
354
356
Konventionen zur Notation
Beispiel
“Es gibt jemand, der in Landau studiert und schlau ist”
• Klammereinsparungen werden nach folgenden Regeln vorgenommen:
– ¬
∧
>p
∨
>p
→
>p
>p
↔
(Präzedenzen),
Ω = {landau/0}
– ∨ und ∧ sind assoziativ und kommutativ.
Π = {studiertIn/2, schlau/1}
E
x(studiertIn( x , landau ) ∧ schlau( x ))
|{z} | {z }
|{z}
• Qx1 , . . . , xn F für Qx1 . . . Qxn F .
Variable Konstante
Term
|
• Terme und Atome in Infix-, Präfix-, Postfix- oder Mixfixnotation;
Beispiele:
s +t
für +(s, t)
s≤t
für ≤ (s, t)
−s
für −(s)
0
für 0()
|
|
{z
Variable
Term
Atom
{z
Formel
{z
Term
}
|
{z
Atom
}
}
Formel
357
359
Beispiel
Beispiel: Peano-Arithmetik
“Alle, die in Koblenz studieren, sind schlau”
ΣPA = (ΩPA , ΠPA )
ΩPA = {0/0, +/2, ∗/2, s/1}
ΠPA = {≤ /2, < /2, ≈ /2}
+, ∗ infix; ∗ >p +
Π = {studiertIn/2, schlau/1}
A
x(studiertIn( x , koblenz ) → schlau( x ))
|{z} | {z }
|{z}
|
|
Variable
Konstante
Term
Term
{z
Atom
{z
Formel
{z
Formel
Variable
Formelbeispiele über dieser Signatur sind
Term
}
|
{z
Atom
}
E A
A
A
A E
A
|
E
Ω = {koblenz/0}
}
x, y (x ≤ y ↔ z(x + z ≈ y ))
x y (x + y ≈ y )
x, y (x ∗ s(y ) ≈ x ∗ y + x)
x, y (s(x) ≈ s(y ) → x ≈ y )
x y x <y
}
}
358
360
Bemerkungen zum Beispiel
Beispiel: Tante Agatha
Wie man an diesen Formeln sieht, sind die Symbole ≤, <, 0 redundant,
da sie über + in PL mit Gleichheit definiert werden können. So definiert
die erste Formel ≤, während die zweite Formel die Null definiert. Die
Eliminierung der zugehörigen Existenzquantoren durch Skolemisierung
(siehe unten) führt dann aber die Funktionssymbole wieder ein.
Zuerst formalisieren wir das Problem:
Jemand, der in Schloss Dreadbury wohnt, hat Tante Agatha
ermordet.
E
◮
x (schlossbewohner(x) ∧ ermordet(x, a))
Agatha, ihr Butler und ihr Neffe Charles waren die einzigen
Bewohner von Schloss Dreadbury.
A
◮
x (schlossbewohner(x) ↔ (x ≈ a ∨ x ≈ b ∨ x ≈ c))
361
363
Beispiel: Tante Agatha
Beispiel: Tante Agatha
Ein Mörder hasst immer sein Opfer und ist niemals reicher als sein
Opfer.
◮
A
A
Jemand, der in Schloss Dreadbury wohnt, hat Tante
Agatha ermordet. Agatha, ihr Butler und ihr Neffe Charles
waren die einzigen Bewohner von Schloss Dreadbury. Ein
Mörder hasst immer sein Opfer und ist niemals reicher als
sein Opfer. Charles hasst niemanden, den Tante Agatha
gehasst hat. Agatha hat jeden gehasst außer ihrem Butler.
Der Butler hasst jeden, der nicht reicher ist als Tante
Agatha. Der Butler hasst jeden, den Tante Agatha gehasst
hat. Niemand hasst jeden. Agatha war nicht der Butler.
x, y (ermordet(x, y ) → hasst(x, y ))
x, y (ermordet(x, y ) → ¬ reicher(x, y ))
Charles hasst niemanden, den Tante Agatha gehasst hat.
A
◮
x (hasst(c, x) → ¬ hasst(a, x))
Agatha hat jeden gehasst außer ihrem Butler.
◮
362
A
Wer hat Tante Agatha ermordet?
¬ hasst(a, x) ↔ x ≈ b)
x (¬
364
Beispiel: Tante Agatha
Beispiel
Der Butler hasst jeden, der nicht reicher ist als Tante Agatha.
A
¬ reicher(x, a) → hasst(b, x))
x (¬
y
A
Der Butler hasst jeden, den Tante Agatha gehasst hat.
}|
z }| {
( x p(x)
{
→
q(x, y ))
A
◮
Bind.
A
◮
Bindungsbereich
z
x (hasst(a, x) → hasst(b, x))
Niemand hasst jeden.
E A
◮
x
¬ hasst(x, y ))
y (¬
Agatha war nicht der Butler.
◮
¬a≈b
365
367
Beispiel
A E
p(z) →
A
In QxF , Q ∈ { , }, heißt F der Bindungsbereich des Quantors Qx. Ein
Auftreten einer Variablen x heißt gebunden, wenn es zum Bindungsbereich
eines Quantors Qx gehört. Alle anderen Auftreten von Variablen heißen frei.
E
Gebundene und freie Variablen
x (q(x, z) ∧ z r (y , z))
• x gebunden
Formeln ohne freie Variablen heißen Satzformen. Variablenfreie Formeln
heißen Grundformeln.
• y frei
• z frei und gebunden
366
368
Substitution eines Termes für eine Variable
Beispiel
Mit F [s/x] bezeichnen wir das Resultat der Substitution aller freien
Auftreten von x in F durch den Term s. F [s/x] sei durch strukturelle
Induktion über den Aufbau von F wie folgt definiert:
Σ = (Ω, Π), mit Ω = {f /1, g /2, a/0}, Π = {p/2, ≈ /2}
E
A
( x(p(x, g (f (x), y ))) ∧ z(x ≈ g (y , z)))[g (y , z)/x]
=
=
A
E
=
A
E
=
A
E
s
′
′
x ; falls x 6= x
f (s1 [s/x], . . . , sn [s/x])
⊥
⊤
p(s1 [s/x], . . . , sn [s/x])
(u[s/x] ≈ v [s/x])
¬(F [s/x])
(F [s/x]ρG [s/x]) ; für alle binären Junktoren ρ ∈ {∧, ∨, →, ↔}
QxF
Qz((F [z/y ])[s/x]) ; falls y 6= x, z neue Variable
A
=
=
=
=
=
=
=
=
=
=
=
x(p(x, g (f (x), y )))[g (y , z)/x] ∧
x(p(x, g (f (x), y ))) ∧
x(p(x, g (f (x), y ))) ∧
x(p(x, g (f (x), y ))) ∧
E
x[s/x]
′
x [s/x]
f (s1 , . . . , sn )[s/x]
⊥[s/x]
⊤[s/x]
p(s1 , . . . , sn )[s/x]
(u ≈ v )[s/x]
¬F [s/x]
(F ρG )[s/x]
(QxF )[s/x]
(QyF )[s/x]
z(x ≈ g (y , z))[g (y , z)/x]
u(((x ≈ g (y , z))[u/z])[g (y , z)/x])
u((x ≈ g (y , u))[g (y , z)/x])
u(g (y , z) ≈ g (y , u))
369
Problematik
371
Substitution allgemein
Der Grund für die Umbenennung der gebundenen Variablen y in eine neue
unbenutzte“ Variable z ist die Vermeidung des Einfangens freier Variablen
”
in s.
Definition. Substitutionen sind Abbildungen
σ : X → TΣ (X ),
so dass der Bereich von σ, d.h. die Menge
Sollte y in s auftreten, wären sonst diese Auftreten nach erfolgter
Substitution gebunden.
dom(σ) = {x ∈ X | σ(x) 6= x},
endlich ist. Die Menge der eingeführten Variablen, d.h. der Variablen die in einem der
Terme σ(x), für x ∈ dom(σ), auftreten, wird mit codom(σ) bezeichnet.
Substitutionen schreiben wir auch als [s1 /x1 , . . . , sn /xn ], xi pw. verschieden, und
meinen dann die Abbildung
[s1 /x1 , . . . , sn /xn ](y ) =
(
si ,
falls y = xi
y,
sonst
Ab jetzt schreiben wir für die Applikation σ(x) von Substitutionen xσ.
370
372
Anwendung einer Substitution
3.2 Semantik
Homomorphe“ Fortsetzung von σ auf Terme und Formeln:
”
f (s1 , . . . , sn )σ = f (s1 σ, . . . , sn σ)
⊥σ = ⊥
⊤σ = ⊤
p(s1 , . . . , sn )σ = p(s1 σ, . . . , sn σ)
(u ≈ v )σ = (uσ ≈ v σ)
¬F σ = ¬(F σ)
(F ρG )σ = (F σρG σ) ; für alle binären Junktoren ρ
(QxF )σ = Qz((F [z/x])σ); wobei z neue“ Variable
”
Abänderung einer Substitution σ an x zu t:
(
t,
σ[x → t](y ) =
σ(y ),
falls y = x
sonst
373
Beispiel
375
Semantik
Semantik geben bedeutet für logische Systeme, einen Begriff von Wahrheit
für Formeln zu definieren. Das hier für die Prädikatenlogik zu definierende
Konzept geht auf Tarski zurück.
Σ = (Ω, Π), mit Ω = {f /1, g /2, a/0}, Π = {p/2, ≈ /2}
E
A
( x(p(x, g (f (x), y ))) ∧ z(x ≈ g (y , z)))[g (y , z)/x, f (x)/y , a/z]
=
E
A
=
A
=
A
E
=
A
E
x(p(x, g (f (x), y )))[g (y , z)/x, f (x)/y , a/z] ∧
z(x ≈ g (y , z))[g (y , z)/x, f (x)/y , a/z]
E
u(p(u, g (f (u), f (x)))) ∧
u(p(u, g (f (u), f (x)))) ∧
u(p(u, g (f (u), f (x)))) ∧
v (((x ≈ g (y , z))[v /z])[g (y , z)/x, f (x)/y , a/z])
In der klassischen Logik (zurückgehend auf Aristoteles) gibt es nur“ die
”
zwei Wahrheitswerte wahr“ und falsch“, die wir mit 1 und 0 bezeichnen.
”
”
v ((x ≈ g (y , v ))[g (y , z)/x, f (x)/y , a/z])
v (g (y , z) ≈ g (f (x), u))
374
376
Strukturen
Wert eines Terms in A bzgl. β
Definition.
Durch strukturelle Induktion definieren wir:
Eine Σ-Struktur (bzw. Σ-Interpretation bzw. Σ-Modell) ist ein Tripel
A(β)(x) = β(x),
A = (U, (fA : U n → U)f /n∈Ω , (pA ⊆ U m )p/m∈Π )
x ∈X
A(β)(f (s1 , . . . , sn )) = fA (A(β)(s1 ), . . . , A(β)(sn )),
f /n ∈ Ω
wobei U 6= ∅ eine Menge, genannt Universum von A.
Oft identifizieren wir U mit A, wenn die Interpretation der Funktions- und
Prädikatensymbole eindeutig aus dem Kontext hervorgeht.
Mit Σ-Str bezeichnen wir die Menge aller Σ-Strukturen.
377
Valuationen
379
Wert eines Terms in A bzgl. β
Wert eines Terms in A bzgl. β, A(β)(t):
Variablen für sich haben keine Bedeutung. Hierfür müssen Wertebelegungen
(Valuationen) explizit oder implizit aus dem Kontext zur Verfügung stehen.
• Falls t = x ∈ X : A(β)(t) = β(x)
• Falls t = c eine Konstante: A(β)(t) = cA
Definition.
• Falls t = f (t1 , . . . , tn ):
A(β)(t) = fA (A(β)(t1 ), . . . , A(β)(tn ))
Unter einer (Variablen-) Belegung oder einer Valuation (über einer
Σ-Struktur A) versteht man eine Abbildung
Beispiel: Σ = ({+/2, 0/0}, {≤, ≈})
N = (N, {0N , +N : N × N → N}, {≤N ⊆ N × N, ≈N })
0N = 0 ∈ N,
+N (n1 , n1 ) = n1 + n2 ∈ N
β : {x, y , z} → N mit β(x) = 5, β(y ) = 10, β(z) = 3
β:X →U
N (β)((x + (y + z)) + (z + 0)) =
= (β(x) +N (β(y ) +N β(z))) +N (β(z) +N 0N ) =
= (5 + (10 + 3)) + (3 + 0) = 21
378
380
Wahrheitswert einer Formel in A bzgl. β
Wahrheitswert einer Formel in A bzgl. β
Die Menge der Wahrheitswerte sei {0, 1}.
A(β)(¬F ) = 1
A(β) : ForΣ → {0, 1} wird induktiv über Aufbau von F wie folgt definiert:
g.d.w.
A(β)(F ) = 0
A(β)(F ρG ) = Bρ (A(β)(F ), A(β)(G ))
mit Bρ die ρ zugeordnete Boolesche Funktion
A(β)(⊥) = 0
A(β)(⊤) = 1
381
Wahrheitswert einer Formel in A bzgl. β
g.d.w.
(A(β)(s1 ), . . . , A(β)(sn )) ∈ pA
A(β)( xF ) = min{A(β[x → a])(F )} =
a∈U
A(β)(s) = A(β)(t)
E
A(β)(s ≈ t) = 1
g.d.w.
Wahrheitswert einer Formel in A bzgl. β
A
A(β)(p(s1 , . . . , sn )) = 1
383
A(β)( xF ) = max{A(β[x → a])(F )} =
a∈U
(
1
0
8
>
>
< 1
>
>
: 0
falls A(β[x 7→ a])(F ) = 1 für alle a ∈ U
sonst
falls A(β[x 7→ a])(F ) = 1 für mindestens
sonst
ein a ∈ U
Für x ∈ X und a ∈ U bezeichne β[x → a] : X → U die Belegung, mit
8
<a
falls x = y
β[x → a](y ) :=
:β(y ) sonst
382
384
Beispiel
Gültigkeit und Erfüllbarkeit
Definition. F gilt in A unter β:
UN = {0, 1, 2, . . .}
0N = 0 ∈ UN
A, β |= F g.d.w. A(β)(F ) = 1
sN : UN → UN , sN (n) = n + 1
+N : UN2 → UN , +N (n, m) = n + m
Definition. F gilt in A (A ist Modell von F ):
∗N : UN2 → UN , ∗N (n, m) = n ∗ m
A |= F g.d.w. A, β |= F , für alle β : X → UA
≤N = “kleiner-gleich” ⊆ UN2
<N = “kleiner” ⊆
UN2
Definition. F ist (allgemein-) gültig:
Mit β(x) = 1, β(y ) = 3 ergibt sich beispielsweise:
|= F g.d.w. A |= F , für alle A ∈ Σ-Str
N(β)(s(x) + s(0))
=
3
N(β)(x + y ≈ s(y ))
=
1
A
=
1
A
=
0
E A
=
1
N(β)( x, y (x + y ≈ y + x))
N(β)( z z ≤ y )
N(β)( x y x < y )
F heißt erfüllbar gdw. es A und β gibt, so daß A, β |= F .
Sonst heißt F unerfüllbar.
385
Modelle, Gültigkeit, Erfüllbarkeit
387
Folgerung und Äquivalenz
Definition. F impliziert G (oder G folgt aus F ), i.Z. F |= G
gdw. für alle A ∈ Σ-Str und β : X → UA gilt:
Falls A, β |= F , so A, β |= G .
Definition. F und G sind äquivalent
gdw. für alle A ∈ Σ-Str und β : X → UA gilt:
A, β |= F genau dann, wenn A, β |= G .
Satz. F impliziert G gdw. (F → G ) ist gültig
Satz. F und G sind äquivalent gdw. (F ↔ G ) ist gültig.
Erweiterung auf Formelmengen N in natürlicher Weise, z.B.:
N |= G gdw.
für alle A ∈ Σ-Str und β : X → UA :
falls A, β |= F , für alle F ∈ N, so A, β |= G .
386
388
Gültigkeit und Unerfüllbarkeit
Universelle Quantifizierung
Faustregel
→ ist der logische (Top-level-)Operator mit
F gültig genau dann, wenn ¬F unerfüllbar
A
Nachweis von Gültigkeit (und damit Folgerung oder Äquivalenz) durch
Unerfüllbarkeitstest:
Häufiger Fehler
A
Verwendung von ∧ mit
Beispiel
“Alle, die in Koblenz studieren, sind schlau”
A
x(studiertIn(x, koblenz) → schlau(x))
Richtig:
A
Falsch:
x(studiertIn(x, koblenz) ∧ schlau(x))
“Alle studieren in Koblenz und sind schlau”, d.h.
“Alle studieren in Koblenz und alle sind schlau”
389
391
Universelle Quantifizierung
Existenzielle Quantifizierung
Intuition
Intuition.
A
E
Beispiel:
Beispiel:
A
E
entspricht:
entspricht
xF entspricht in etwa der (unendlichen) Konjunktion aller Instanzen von F
xF entspricht in etwa der (unendlichen) Disjunktion aller Instanzen von F .
x(studiertIn(x, koblenz) → schlau(x))
x(studiertIn(x, landau) ∧ schlau(x))
(studiertIn(student1, koblenz) → schlau(student1))
(studiertIn(student1, landau) ∧ schlau(student1))
∧
(studiertIn(student2, koblenz) → schlau(student2))
∨
(studiertIn(student2, landau) ∧ schlau(student2))
∧
...
∨
...
∧
(studiertIn(koblenz, koblenz) → schlau(koblenz))
∨
(studiertIn(landau, landau) ∧ schlau(landau))
390
392
Universelle Quantifizierung
Eigenschaften von Quantoren
Faustregel
Verschiedene Quantoren kommutieren NICHT
E
∧ ist der logische (Top-level-)Operator mit
Beispiel:
E A
x y Mutter (y , x)
Häufiger Fehler
Jeder hat eine Mutter
E
Verwendung von → mit
(richtig)
A E
y x Mutter (y , x)
Es gibt eine Person, die die Mutter von jedem ist
Beispiel
“Es gibt jemand, der in Landau studiert und schlau ist”
A E
E A
A E
E
x y F |= y x F
Es gibt eine Signatur Σ = (Ω, Π) und eine Formel F mit:
E
Falsch:
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
x(studiertIn(x, landau) ∧ schlau(x))
E A
Richtig:
x(studiertIn(x, landau) → schlau(x))
“Es gibt jemanden, der, falls er/sie in Landau studiert, schlau ist”
Trivial wahr, wenn es irgendjemanden gibt, der nicht in Landau studiert
x y F 6|= y x F
393
395
Eigenschaften von Quantoren
Eigenschaften von Quantoren
Dualität der Quantoren
A A
A
E E
E
x... ist das gleiche wie ¬ x¬...
x... ist das gleiche wie ¬ x¬...
Beispiel:
A
x mag(x, eiskrem) ist das gleiche wie ¬ x ¬mag(x, eiskrem)
A A
y xF
A
E
x mag(x, broccoli) ist das gleiche wie ¬ x ¬mag(x, broccoli)
E E
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
(2)
E
A
394
(1)
A
A A
E E
x yF ≡ y xF
E
E E
(2)
E
A A
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
x yF ≡
A
y x
x y ist das gleiche wie y x
(1)
E
Quantoren gleicher Art kommutieren
x y ist das gleiche wie
(falsch)
x F ≡ ¬ x ¬F
x F ≡ ¬ x ¬F
396
Eigenschaften von Quantoren
Eigenschaften von Quantoren
A
A
A
x(... ∨ ...) ist NICHT das gleiche wie ( x...) ∨ ( x...)
A
A
A
Beispiel
Beispiel
A
x (eiskrem(x) ∨ broccoli(x)) ist NICHT das gleiche wie
A
x (studiert(x) ∧ arbeitet(x)) ist das gleiche wie
A
A
( x eiskrem(x)) ∨ ( x broccoli(x))
A
A
( x studiert(x)) ∧ ( x arbeitet(x))
A
x (gerade(x) ∨ ungerade(x)) ist NICHT das gleiche wie
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F , G gilt:
A
A
x(... ∧ ...) ist das gleiche wie ( x...) ∧ ( x...)
A
( x gerade(x)) ∨ ( x ungerade(x))
A
A
A
x(F ∧ G ) ≡
distributiert NICHT über ∨
A
distributiert über ∧
xF ∧ xG
Es gibt eine Signatur Σ = (Ω, Π) und Σ-Formeln F , G mit:
A
A
A
x(F ∨ G ) 6≡
xF ∨ xG
397
399
Eigenschaften von Quantoren
Eigenschaften von Quantoren
E
distributiert NICHT über ∧
E
E
E
x(... ∧ ...) ist NICHT das gleiche wie ( x...) ∧ ( x...)
Beispiel
E
E
E
x (gerade(x) ∧ ungerade(x)) ist NICHT das gleiche wie
( x gerade(x)) ∧ ( x ungerade(x))
E
E
( x eiskrem(x)) ∨ ( x broccoli(x))
E
x (eiskrem(x) ∨ broccoli(x)) ist das gleiche wie
Es gibt eine Signatur Σ = (Ω, Π) und Σ-Formeln F , G mit:
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F , G gilt:
E
E
Beispiel
E
E
x(... ∨ ...) ist das gleiche wie ( x...) ∨ ( x...)
E
E
distributiert über ∨
E
x(F ∧ G ) 6≡ xF ∧ xG
E
E
E
x (F ∨ G ) ≡ ( x F ) ∨ ( x G )
398
400
Eigenschaften von Quantoren
Beispiele: Familienverhältnisse
Quantoren gleicher Art kommutieren
• “Brüder sind Geschwister”
x y (bruder (x, y ) → geschwister (x, y ))
A A
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
(1)
x yF ≡ y xF
(2)
x yF ≡ y xF
E E
A A
• “bruder” ist symmetrisch
x y (bruder (x, y ) → bruder (y , x))
A A
• “Ein Cousin ersten Grades ist das Kind eines Geschwisters eines
Elternteils”
x y (cousin1(x, y ) → p ps (elternteil(p, x) ∧ geschwister (ps , p) ∧
elternteil(ps , y )))
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
x y F |= y x F
Es gibt eine Signatur Σ = (Ω, Π) und eine Formel F mit:
x y F 6|= y x F
E E
E E
A A
Verschiedene Quantoren kommutieren NICHT
A A
E A
• Definition für “Bruder, der nicht nur Halbbruder ist”
x ybruder (x, y ) ↔ (¬(x ≈ y )∧
A E
A A
A E
E A
Dualität der Quantoren
E E
m v (¬(m = v )∧
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
x F ≡ ¬ x ¬F
(1)
(2)
x F ≡ ¬ x ¬F
elternteil(m, x) ∧ elternteil(v , x)
A
E
elternteil(m, y ) ∧ elternteil(v , y )))
E
A
401
403
Eigenschaften von Quantoren
Strukturelle Induktion
distributiert über ∧
Sei p(F ) eine Eigenschaft der Formeln in Prädikatenlogik
Behauptung: Für alle Formeln F , p(F ) gilt
A
Beweis durch Strukturelle Induktion:
Induktionsbasis: Zu zeigen:
p(F ) gilt für F ∈ {⊤, ⊥} und für alle atomaren Formeln.
A
E
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F , G gilt:
x (F ∨ G ) ≡ ( x F ) ∨ ( x G )
E
Induktionsvoraussetzung: Sei F eine Formel (nicht atomar oder ⊤ oder ⊥).
E
E
distributiert NICHT über ∨
Annahme: p(G ) gilt für alle Teilformeln G von F (mit G 6= F )
A
Es gibt eine Signatur Σ = (Ω, Π) und Σ-Formeln F , G mit:
x(F ∨ G ) 6≡ xF ∨ xG
Induktionsschritt: Zu zeigen: p(F ) gilt:
A
A
A
distributiert NICHT über ∧
E
Es gibt eine Signatur Σ = (Ω, Π) und Σ-Formeln F , G mit:
x(F ∧ G ) 6≡ xF ∧ xG
E
402
Fall 1
F = ¬G
Fall 2
F = G 1 ∨ G2
Fall 3
F = G 1 ∧ G2
Fall 4
F = G 1 → G2
Fall 5
F = G 1 ↔ G2
Fall 6
F =
Fall 7
F = xG
xG
E
A
distributiert über ∨
A
A
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F , G gilt:
x(F ∧ G ) ≡ xF ∧ xG
404
E
E
Strukturelle Induktion
Substitutionen und Valuationen
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Variablen x und Terme t gilt:
Sei p(t) eine Eigenschaft der Terme in Prädikatenlogik
Behauptung: Für alle Terme t, p(t) gilt
Beweis durch Strukturelle Induktion:
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
Induktionsbasis: Zu zeigen:
p(t) gilt für t ∈ X und für alle Konstanten.
Beweis: Strukturelle Induktion
1. Induktionsbasis: Zu zeigen: Die Eigenschaft gilt für ⊤, ⊥ und alle atomaren Formeln.
Induktionsvoraussetzung: Sei t ein Term (nicht Variable oder Konstante).
Fall 1: F = ⊤ Dann F [t/x] = ⊤;
A(β)(F [t/x])=A(β)(⊤)=1=A(β[x→A(β)(t)])(⊤)=A(β[x→A(β)(t)])(F )
Annahme: p(s) gilt für alle Teilterme s von t (mit s 6= t)
Fall 2: F = ⊥ Dann F [t/x] = ⊥;
A(β)(F [t/x])=A(β)(⊥)=0=A(β[x→A(β)(t)])(⊥)=A(β[x→A(β)(t)])(F ).
Induktionsschritt: Zu zeigen: p(t) gilt:
Fallunterschied über alle f ∈ Ω mit t = f (t1 , . . . , tn ).
Fall 3: F = p(t1 , . . . , tn ) mit p/n ∈ Ω. Dann F [t/x] = p(t1 [t/x], . . . , tn [t/x]).
A(β)(F [t/x])=A(β)(p(t1 [t/x], .., tn [t/x]))=1 iff (A(β)(t1 [t/x]), .., A(β)(tn [t/x]))∈pA
A(β[x→A(β)(t)])(p(t1 , .., tn ))=1 iff (A(β[x→A(β)(t)])(t1 ), .., A(β[x→A(β)(t)])(tn ))∈pA
Lemma: A(β)(ti [t/x]) = A(β[x→A(β)(t)])(ti ). Äquivalenz folgt daraus.
405
407
Substitutionen und Valuationen
Substitutionen und Valuationen
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Variablen x und Terme t gilt:
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Variablen x und Terme t gilt:
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
Beweis: ctd.
2. Induktionsvoraussetzung: Sei F eine Formel (nicht atomar oder ⊤ oder ⊥).
Annahme: p(G ) gilt für alle Teilformeln G von F (mit G 6= F )
3. Induktionsschritt: Zu zeigen: p(F ) gilt:
Fall 1: F = ¬G . Dann F [t/x] = ¬(G [t/x]).
A(β)(F [t/x]) = A(β)(¬(G [t/x]) = 1 iff A(β)(G [t/x]) = 0 iff (Ind.Voraus.)
A(β[x→A(β)(t)])(G )=0 iff A(β[x→A(β)(t)])(¬G )=1 iff A(β[x→A(β)(t)])(F )=1
Beweis: Strukturelle Induktion
Wir benutzen folgendes Lemma:
Lemma: Für alle Σ-Strukturen A, Wertebelegungen β,
Variable x und Terme ti , t:
A(β)(ti [t/x]) = A(β[x → A(β)(t)])(ti )
Fall 2-5: F = G1 opG2 , op ∈ {∨, ∧, →, ↔. Dann F [t/x] = G1 [t/x]opG2 [t/x].
A(β)(F [t/x])=A(β)(G1 [t/x]opG2 [t/x])=A(β)(G1 [t/x])opB A(β)(G2 [t/x])= (I.V.)
A(β[x→A(β)(t)])(G1 )opB A(β[x→A(β)(t)])(G2 )=A(β[x→A(β)(t)])(G1 opG2 ).
| {z }
F
406
408
Substitutionen und Valuationen
Substitutionen und Valuationen
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Variablen x und Terme t gilt:
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Variablen x und Terme t gilt:
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
A
yG .
E
Fall 7: F = yG .
Ähnlich zu Fall 6.
A
Fall 6: F =
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
A
Fall 6.1: y = x. Dann F [t/x] = xG [t/x] = xG .
A(β)(F [t/x])=A(β)( xG )=min{A(β[x 7→ a])(G ) | a ∈ UA }
A(β[x→A(β)(t)])( xG )=min{A(β[x→A(β)(t)][x→a])(G ) | a ∈ UA } =
min{A(β[x 7→ a])(G ) | a ∈ UA }.
A
A
A
A
Fall 6.2: y 6= x, t enthält nicht y . Dann F [t/x] = yG [t/x] = y (G [t/x]).
A(β)(F [t/x])=A(β)( y (G [t/x])=min{A(β[y →a])(G [t/x])|a∈UA } = (Ind.Vor.)
min{A(β[y →a, x→A(β[y →a])(t))(G )|a∈UA }=
min{A(β[y →a, x→A(β)(t)])(G )|a∈UA } (y kommt in t nicht vor)
A(β[x→A(β)(t)])( yG )= = min{A(β[x→A(β)(t)][y →a])(G )|a∈UA }=
min{A(β[y 7→ a, x→A(β)(t)])(G ) = |a∈UA }.
A
A
409
411
Substitutionen und Valuationen
Substitutionen und Valuationen
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Variablen x und Terme t gilt:
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F , Variablen x
und Terme t gilt:
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
A, β |= F [t/x] g.d.w. A, β[x→A(β)(t)] |= F
A
yG .
Fall 6.3: y 6= x, t enthält y . Dann F [t/x] =
′
A
Fall 6: F =
y ′ G [y ′ /y ][t/x].
Allgemeiner gilt für beliebige Substitutionen σ:
′
A
A(β)(F [t/x])=A(β)( y (G [y /y ][t/x])=
′
′
=min{A(β[y →a])(G [y /y ][t/x])|a∈UA } =
(Ind.Vor.)
= min{A(β[y ′ →a, x→A(β[y ′ →a])(t))(G [y ′ /y ])|a∈UA }= (Ind.Vor.)
′
′
= min{A(β[y →a, x→A(β[y →a])(t), y →a])(G )|a∈UA } =
[ Rem: A(β[y ′ →a, x→A(β[y ′ →a])(t)])(y ′ ) = a]
′
= min{A(β[x→A(β)(t), y →a])(G )|a∈UA } (y kommt in t u. G nicht
Theorem.
A, β |= F σ g.d.w. A, β ◦ σ |= F ,
wobei β ◦ σ : X → A die Wertebelegung mit β ◦ σ(x) = A(β)(xσ), für
alle Variablen x.
A
A(β[x→A(β)(t)])( yG )=min{A(β[x→A(β)(t)][y →a])(G )|a∈UA }=
=min{A(β[y 7→ a, x→A(β)(t)])(G )|a∈UA }.
410
412
Substitutionen und Valuationen
2.3 Algorithmische Probleme
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F , Variablen x
und Terme t gilt:
A, β |= F [t/x] g.d.w. A, β[x→A(β)(t)] |= F
Allgemeiner gilt für beliebige Substitutionen σ:
Theorem.
A, β |= F σ g.d.w. A, β ◦ σ |= F ,
wobei β ◦ σ : X → A die Wertebelegung mit β ◦ σ(x) = A(β)(xσ), für
alle Variablen x.
Beweis: σ = [t1 /x1 , . . . tn /xn ]
Induktion nach Anzahl n von Variablen in dom(σ) = {x1 , . . . , xn }
413
415
Umbenennung von Variablen
Algorithmische Probleme
Lemma
Gültigkeit(F ):
|= F ?
Für alle Σ-Formeln F , Variablen x gilt:
Erfüllbarkeit(F ):
F erfüllbar?
A
A
xF ≡
z F [z/x]
wobei z eine neue Variable ist.
Modelltest(F ,A):
A |= F ?
414
(Σ fest)
(Σ fest)
(Σ fest)
416
Ausblick: Kalküle, Entscheidbarkeit
Ausblick: Kalküle, Entscheidbarkeit
Kalküle
Kalküle
Es gibt korrekte und vollständige Kalküle für Prädikatenlogik (z.B.
Resolution)
Es gibt korrekte und vollständige Kalküle für Prädikatenlogik (z.B.
Resolution)
Aber diese Kalküle können die Erfüllbarkeit von Formeln NICHT entscheiden
Aussagenlogik
Allgemeingültigkeit, Erfüllbarkeit, Unerfüllbarkeit ENTSCHEIDBAR
Prädikatenlogik
• Es gibt Σ, so dass Gültigkeit(F ) unentscheidbar.
• Menge der allgemeingültigen Formeln REKURSIV AUFZÄHLBAR
• Menge der unerfüllbaren Formeln REKURSIV AUFZÄHLBAR
• Menge der erfüllbaren Formeln NICHT REKURSIV AUFZÄHLBAR
417
Ausblick: Kalküle, Entscheidbarkeit
419
Rekursiv Aufzählbar
Kalküle
Informelle Definition. Als rekursiv aufzählbare Menge
Es gibt korrekte und vollständige Kalküle für Prädikatenlogik (z.B.
Resolution)
(auch semi-entscheidbare Menge, positiv semi-entscheidbare Menge,
halb-entscheidbare Menge, berechenbar aufzählbare Menge, kurz r.e., c.e)
wird in der Berechenbarkeitstheorie eine aufzählbare Menge A (z.B. eine
Teilmenge von N) bezeichnet, wenn es einen Algorithmus gibt, der die
Elemente von A aufzählt.
Aber diese Kalküle können die Erfüllbarkeit von Formeln NICHT entscheiden
Äquivalent ist folgende Definition: es gibt einen Algorithmus, der 1 ausgibt
wenn die Eingabe in A ist, und auf anderen Eingaben 0 ausgibt oder nicht
hält.
418
420
Zusammenfassung: Syntax und Semantik
2.4 Normalformen
• Prädikatenlogische Signatur
• Term, Atom, Formel
• Prädikatenlogisches Modell
• Auswertung von Formeln in Modellen
• Erfüllbarkeit, Gültigkeit; Folgerung, Äquivalenz
• Eigenschaften von Quantoren (Vertauschbarkeit untereinander und mit
∧, ∨)
• Entscheidbarkeit der Erfüllbarkeit von Formeln
421
423
Normalformen, Skolemisierung,
Herbrandmodelle
Unser Ziel
Kalküle zur systematischen Überprüfung von Erfüllbarkeit
Vorteile von Normalformen
(für Formeln und/oder Formelmengen)
• Reduktion der logischen Konzepte
• einfache Datenstrukturen für Beweisverfahren
422
424
Negationsnormalform
Bereinigte Formeln
Definition. Eine Formel F ∈ ForΣ ist bereinigt, falls:
Definition. Eine Formel F ∈ ForΣ ist in Negationsnormalform (NNF), falls:
• →, ↔ kommen in F nicht vor
• Keine Variable in F sowohl gebunden als auch frei vorkommt
• jedes Negationszeichen in F steht direkt vor einem Atom (insbes. auch
kein ¬¬)
• Keine Variable mehr als einmal in F quantifiziert ist
425
427
Negationsnormalform
Bereinigte Formeln
Definition. Eine Formel F ∈ ForΣ ist in Negationsnormalform (NNF), falls:
Definition. Eine Formel F ∈ ForΣ ist bereinigt, falls:
• →, ↔ kommen in F nicht vor
• Keine Variable in F sowohl gebunden als auch frei vorkommt
• jedes Negationszeichen in F steht direkt vor einem Atom (insbes. auch
kein ¬¬)
• Keine Variable mehr als einmal in F quantifiziert ist
Beispiele:
Bereinigt
Beispiele:
P ∨Q
¬P,
E A
P,
E
NNF:
x y (p(x) ∨ q(x, y ) ∨ z r (x, z))
(¬P ∨ Q) ∧ (R ∨ (Q ∧ ¬P))
p(x, y ) ∨ ¬q(y )
nicht NNF:
¬¬P,
¬(P ∨ Q)
p(x, y ) → q(x)
426
428
Bereinigte Formeln
Pränexe Normalform
Definition: Pränexe Formeln sind von der Form
Definition. Eine Formel F ∈ ForΣ ist bereinigt, falls:
Q 1 x1 . . . Q n xn F ,
• Keine Variable in F sowohl gebunden als auch frei vorkommt
E A
wobei F quantorenfrei, Qi ∈ { , }. Hierbei heißt Q1 x1 . . . Qn xn der
Quantorenpräfix und F die Matrix der Formel.
• Keine Variable mehr als einmal in F quantifiziert ist
Beispiele:
Beispiele
Bereinigt
In Pränexnormalform
P ∨Q
p(x) ∨ q(x)
E
E A
x y (p(x) ∨ q(x, y ) ∨ z r (x, z))
E A
x y (p(x) ∨ q(y ))
Nicht bereinigt
Nicht in Pränexnormalform
E
A
p(x) ∨ x q(x)
A
( x p(x)) ∨ ( y q(y ))
A
A
( x p(x)) ∨ ( x q(x))
429
431
Pränexe Normalform
Pränexe Normalform
Definition: Pränexe Formeln sind von der Form
Theorem. Zu jeder Formel F ∈ ForΣ gibt es eine äquivalente Formel in
Pränexnormalform
Q 1 x1 . . . Q n xn F ,
E A
wobei F quantorenfrei, Qi ∈ { , }. Hierbei heißt Q1 x1 . . . Qn xn der
Quantorenpräfix und F die Matrix der Formel.
Konstruktiver Beweis
• Formel bereinigen
• Formel in NNF transformieren (Negationszeichen nach innen)
E
A
– ¬ F ≡ ¬F
– aussagenlogische Umformungen
• Alle Quantoren nach vorne (Reihenfolge unverändert lassen)
430
432
Beispiel
Pränexe Normalform
Theorem. Zu jeder Formel F ∈ ForΣ gibt es eine äquivalente Formel in
Pränexnormalform
A
E
A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
Konstruktiver Beweis
1. Bereinigung
F ≡ F1 := ( x ′ ((p(x ′ )∨q(x ′ , y ))∧ z ′ r (x ′ , y , z ′ )))→((p(z)∧q(x, z))∧ z ′′ r (z ′′ , x, y ))
A
• Formel bereinigen
E
A
2. NNF
• Formel in NNF transformieren (Negationszeichen nach innen)
– ¬ F ≡ ¬F
(DeMorgan)
– aussagenlogische Umformungen
(De Morgan)
E
E
A
A
A
E
A
z ′′ r (z ′′ , x, y ))
¬
¬
≡
A
A
E
E
A
E
E
=:
z ′ ¬r (x ′ , y , z ′ )) ∨ ((p(z) ∧ q(x, z)) ∧
A
x ′ ((¬p(x ′ ) ∧ ¬q(x ′ , y )) ∨
≡
E
≡
≡
A
≡
¬
E
¬( x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z ′ r (x ′ , y , z ′ ))) ∨ ((p(z) ∧ q(x, z)) ∧ z ′′ r (z ′′ , x, y ))
x ′ ¬((p(x ′ ) ∨ q(x ′ , y )) ∧ z ′ r (x ′ , y , z ′ ))) ∨ ((p(z) ∧ q(x, z)) ∧ z ′′ r (z ′′ , x, y ))
x ′ (¬(p(x ′ ) ∨ q(x ′ , y )) ∨ ¬ z ′ r (x ′ , y , z ′ ))) ∨ ((p(z) ∧ q(x, z)) ∧ z ′′ r (z ′′ , x, y ))
F1 ≡
¬
• Alle Quantoren nach vorne (Reihenfolge unverändert lassen)
F2
3. Alle Quantoren nach vorne 7→ Pränexnormalform
′
′
A
E
x
z
|
A
F2 ≡
z
′′
′
′
′
′
′′
((¬p(x ) ∧ ¬q(x , y )) ∨ ¬r (x , y , z )) ∨ ((p(z) ∧ q(x, z)) ∧ r (z , x, y ))
{z
}
Pränexnormalform von F
433
435
Pränexe Normalform
Pränexe Normalform
Theorem. Zu jeder Formel F ∈ ForΣ gibt es eine äquivalente Formel in
Pränexnormalform
Äquivalenzbeweis
Folgt aus:
).
Falls x nicht in G vorkommt:
A
E
E
E
E
( xF ) ∧ G ≡
(Quantoren nach vorne)
(Pränexnormalform)
( xF ) ∨ G ≡
A
Fall 3,4,5: F = G1 opG2 (op ∈ {∨, →, ↔}) analog
A
A
Fall 6: F =
A
(Bereinigung)
A
=
A
E E
,
A
=
I .V .
′ y G′)
Fall 2: F = G1 ∧ G2 ≡ (Q1 x1 . . . Qn xn G1′ ) ∧ (Q1′ y1 . . . Qm
m 2
′ y ′ G ′ [y ′ /y ])
≡ (Q1 x1′ . . . Qn xn′ G1′ [xi′ /xi ]) ∧ (Q1′ y1′ . . . Qm
m 2 i i
′ y ′ (G ′ [x ′ /x ] ∧ G ′ [y ′ /y ])
≡ Q1 x1′ . . . Qn xn′ Q1′ y1′ . . . Qm
m 1 i i
2 i i
¬F
Aussagenlogische Umformungen zur Berechnung der NNF: Äquivalenzerhaltend
Induktionsschritt: Zu zeigen: F äquivalent zu einer Formel in Pränexnormalform.
x(Q1 x1 . . . Qn xn G ′ )
E
Induktionsvoraussetzung (I.V.): Jede Teilformel G von F (G 6= F ) ist äquivalent zu einer Formel in Pränexnormalform.
I .V .
xG ≡
A
¬ F ≡
Sei F eine Formel, die nicht ⊤, ⊥ und nicht atomar ist.
Fall 6: F =
A
¬ F ≡ ¬F
Induktionsbasis: ⊤, ⊥ und jede atomare Formel F = q(t1 , . . . , tn ) sind in Pränexnormalform, d.h. sind äquivalent zu
einer Formel in Pränexnormalform.
I .V .
Fall 1: F = ¬G ≡ ¬(Q1 x1 . . . Qn xn G ′ ) ≡ Q 1 x1 . . . Q n xn ¬G ′ (wobei
E
Direkter Beweis: Strukturelle Induktion
x(F ∧ G )
x(F ∨ G )
( xF ) ∧ G ≡ x(F ∧ G )
(Pränexnormalform)
( xF ) ∨ G ≡ x(F ∨ G )
E
xG analog
434
436
Pränexe Normalform
Beispiel
Alternatives Verfahren (ohne Bereinigung, ohne NNF)
A
⇒P
Qx¬F
⇒P
Qy (F [y /x] ρ G ), y neu, ρ ∈ {∧, ∨}
(QxF → G )
⇒P
Qy (F [y /x] → G ), y neu
(F ρ QxG )
⇒P
Qy (F ρ G [y /x]), y neu, ρ ∈ {∧, ∨, →}
E
¬QxF
(QxF ρ G )
E
(F → G ) ∧ (G → F )
A
⇒P
E
⇒P
(F ↔ G )
A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
Herstellung von pränexer Normalform durch ⇒P :
x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z)) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
(¬Q)
und
E
E
=
=
A
A
Hierbei ist Q der zu Q duale Quantor, d.h.
.
437
439
Beispiel
E
A
A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
E
⇒P
E
E
x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z)) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A
E
438
⇒P
A
E
A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A
Beispiel
x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
440
Beispiel
Beispiel
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
⇒P
E
A
⇒P
E
A
⇒P
A E
⇒P
A E
⇒P
A A E
E
x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A
x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) →
x′
z′
z ′′ (((p(x ′ )
∨
q(x ′ , y ))
∧
A
A
E
E
E
A E
E
x ′ z ′ (((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
E
A
x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A
E
x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A
A
⇒P
A
⇒P
E
⇒P
A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
r (x ′ , y , z ′ ))
z ′′ ((p(z) ∧ q(x, z)) ∧ r (z ′′ , x, y
→ ((p(z) ∧ q(x, z)) ∧ r (z ′′ , x, y
441
443
Beispiel
Skolemnormalform
Definition. Eine Formel F ∈ ForΣ ist in Skolemnormalform (SNF), falls:
A
E
A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
E
⇒P
E
⇒P
A E
⇒P
A
⇒P
E
A E
x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
• F ist in Pränexnormalform
• F enthält nur universelle Quantoren
A
E
x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A
x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A
z ′′ ((p(z) ∧ q(x, z)) ∧ r (z ′′ , x, y
Beispiele:
In Skolemnormalform
A A
x y (p(x) ∨ q(y ))
Nicht in Skolemnormalform
A
A
x p(x) ∨ y q(y )
E A
x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) →
x y (p(x) ∨ q(y ))
442
444
Skolemisierung
Skolemisierung
Skolemisierung: Transformation ⇒S :
∗
F ⇒P
A
⇒S
x1 , . . . , xn F [f (x1 , . . . , xn )/y ]
E
A
wobei f /n ein neues Funktionssymbol (Skolemfunktion).
∗
G
⇒S
H
|{z}
|{z}
pränexe Form
pränex, kein
E
x1 , . . . , xn yF
Zusammen:
Theorem:
Seien F , G und H wie oben angenommen. Dann:
(1) F und G sind äquivalent.
(2)
G erfüllbar
gdw.
H erfüllbar
(bzgl. Σ-Str)
(bzgl. Σ′ -Str)
′
wobei Σ = (Ω ∪ SKF , Π), wenn Σ = (Ω, Π).
445
Skolemisierung
447
Klauselnormalform (konjunktive Normalform)
Transformationsregeln ⇒K
Beispiel
(1)
Gegeben:
(2)
E
A
E
A
w ( x(p(w , x) ∨ y (q(w , x, y ) ∧ z r (y , z))))
(3)
Pränexnormalform:
(4)
E A E A
(5)
w x y z((p(w , x) ∨ (q(w , x, y ) ∧ r (y , z))))
(6)
Skolemisierung:
(7)
A A
w y ((p(w , sk(w )) ∨ (q(w , sk(w ), y ) ∧ r (y , g (w , y )))))
(8)
(9)
(10)
(F ↔ G )
⇒K
(F → G ) ∧ (G → F )
¬(F ∨ G )
⇒K
(¬F ∧ ¬G )
(F → G )
⇒K
(¬F ∨ G )
(¬F ∨ ¬G )
¬(F ∧ G )
⇒K
(F ∧ G ) ∨ H
⇒K
(F ∨ H) ∧ (G ∨ H)
(F ∧ ⊥)
⇒K
⊥
⇒K
F
¬¬F
(F ∧ ⊤)
(F ∨ ⊤)
(F ∨ ⊥)
⇒K
⇒K
⇒K
F
F
⊤
Die ersten 5 Regeln, zusammen mit Regel (¬Q), stellen die Negationsnormalform
(NNF) her.
446
448
Gesamtbild
∗
⇒P
Q1 y1 . . . Qn yn G
⇒S
A
F
∗
∗
A
x1 , . . . , xn
|
{z
}
weglassen
|
Herbrand-Interpretationen
(G quantorenfrei)
x1 , . . . , xm H
⇒K
2.5
(H quantorenfrei)
ni
_
k
^
i=1
Lij
j=1
| {z }
Klauseln
{z
F′
Ci
}
N = {C1 , . . . , Ck } heißt Klausel(normal)form (KNF) von F.
Merke: Die Variablen in Klauseln sind implizit allquantifiziert.
Falls F freie Variablen enthält, werden diese Variablen mit Konstanten ersetzt
(F (x) erfüllbar gdw. xF (x) erfüllbar)
E
Theorem: F ist erfüllbar, gdw. F ′ erfüllbar, gdw. N erfüllbar.
Viel Optimierungspotential vorhanden, wenn nur Erfüllbarkeit bewahrt werden muß
und kann: Größenexplosion, kleine Stelligkeit von Skolemfunktionen.
449
Beispiel
Herbrand-Interpretationen
A
Ab jetzt betrachten wir, falls nichts Anderes angegeben, immer nur PL ohne Gleichheit.
Ω enthalte immer mindestens ein Konstantensymbol.
E
A
E
F ≡ z(( x(p(z, x))) → ( y (q(z, y ) ∧ ( xr (y , x)))))
Definition. Herbrand-Interpretationen (über Σ) sind Σ-Strukturen A mit:
Pränexnormalform:
A
E
≡
A
≡
E
′
′
E
z(( x(p(z, x))) → ( y (q(z, y ) ∧ ( x r (y , x )))))
A
A
E
≡
E
≡
E
A
′
1. UA = TΣ
(Bereinigung)
′
E A E E
z((¬ xp(z, x)) ∨ ( y (q(z, y ) ∧ ( x r (y , x )))))
E
F
z(( x¬p(z, x)) ∨ ( y (q(z, y ) ∧ ( x ′ r (y , x ′ )))))
z x y x ′ (¬p(z, x) ∨ (q(z, y ) ∧ r (y , x ′ )))
f
(Pränexnormalform)
fA (△, . . . , △) =
A
y (¬p(sk1 , sk2 ) ∨ (q(sk1 , y ) ∧ r (y , sk3 (y ))))
△
(Erfüllbarkeitsäquivalente Formel in Skolemnormalform)
...
△
d.h. vorgegeben sind Terme als Daten und Funktionen als Termkonstruktoren.
Klauselnormalform:
Variabel sind nur die Interpretationen der Prädikatensymbole
A
⇒∗
K
Menge der Grundterme, d.h. variablenfreien Terme über Σ
2. fA : (s1 , . . . , sn ) 7→ f (s1 , . . . , sn ), f /n ∈ Ω
(NNF)
Skolemisierung z 7→ sk1 ; x 7→ sk2 ; x ′ 7→ sk3 (y )
⇒∗
S
451
y ((¬p(sk1 , sk2 ) ∨ q(sk1 , y )) ∧ (¬p(sk1 , sk2 ) ∨ r (y , sk3 (y ))))
pA ⊆ TΣm , pm ∈ Π
Klauselmenge: N = {{¬p(sk1 , sk2 ), q(sk1 , y )}, {¬p(sk1 , sk2 ), r (y , sk3 (y ))}}
450
452
Herbrand-Interpretationen als Mengen von
Grundatomen
Existenz von Herbrand-Modellen
Definition. Eine Herbrand-Interpretation I heißt Herbrand-Modell von F ,
falls I |= F .
Satz.
Jede Menge von Grundatomen I identifiziert genau eine HerbrandInterpretation A durch
Theorem [Herbrand] Sei N eine Menge von Σ-Klauseln.
N erfüllbar
(s1 , . . . , sn ) ∈ pA genau dann, wenn p(s1 , . . . , sn ) ∈ I
g.d.w.
N hat Herbrand-Modell (über Σ)
g.d.w.
GΣ (N) hat Herbrand-Modell (über Σ)
wobei
GΣ (N) = {C σ Grundklausel | C ∈ N, σ : X → TΣ }
Im folgenden werden wir daher nicht zwischen Herbrand-Interpretationen
(über Σ) und Mengen von Σ-Grundatomen unterscheiden.
die Menge der Grundinstanzen von N ist.
[Beweis später im Zusammenhang mit dem Vollständigkeitsbeweis für
Resolution.]
453
455
Herbrand-Interpretationen als Mengen von
Grundatomen
Beispiel für GΣ
Bzgl. ΣPres erhält man für
Beispiel:
ΣPres = ({0/0, s/1, +/2}, {< /2, ≤ /2})
C = (x < y ) ∨ (y ≤ s(x))
folgende Grundinstanzen:
N als Herbrand-Interpretation über ΣPres
I ={
(0 < 0) ∨ (0 ≤ s(0))
(s(0) < 0) ∨ (0 ≤ s(s(0)))
...
(s(0) + s(0) < s(0) + 0) ∨ (s(0) + 0 ≤ s(s(0) + s(0)))
...
0 ≤ 0, 0 ≤ s(0), 0 ≤ s(s(0)), . . . ,
0 + 0 ≤ 0, 0 + 0 ≤ s(0), . . . ,
. . . , (s(0) + 0) + s(0) ≤ s(0) + (s(0) + s(0))
...
s(0) + 0 < s(0) + 0 + 0 + s(0)
. . .}
454
456
2.6
Wiederholung: Resolutionskalkül
(Mengennotation)
Prädikatenlogische Resolution
Resolutionsregel:
C ∪ {A}
{¬A} ∪ D
C ∪D
C ∪ D: Resolvente
A: resolviertes Atom
457
459
Wiederholung: Aussagenlogische Resolution
Beispielrefutation (Mengennotation)
Aussagenlogische Klauseln entsprechen Grundklauseln und umgekehrt.
458
1.
{¬P(f (a)), ¬P(f (a)), Q(b)}
2.
{P(f (a)), Q(b)}
(gegeben)
3.
{¬P(g (b, a)), ¬Q(b)}
(gegeben)
4.
{P(g (b, a))}
(gegeben)
5.
{¬P(f (a)), Q(b)}
(gegeben)
(Res. 2. in 1.)
6.
{Q(b)}
(Res. 2. in 5.)
7.
{¬P(g (b, a))}
(Res. 6. in 3.)
8.
⊥
(Res. 4. in 9.)
460
Wiederholung: Resolutionskalkül
(Klauselnotation)
Wiederholung: Korrektheit und Vollständigkeit
Aussagenlogische Resolution ist korrekt und vollständig.
Resolutionsregel:
C ∨A
• Mengennotation: Resolutionsregel
¬A ∨ D
C ∨D
• Klauselnotation: Resolutionsregel + Faktorisieren
C ∨ D: Resolvente
A: resolviertes Atom
Faktorisieren:
C ∨L∨L
C ∨L
∨“ wird in Klauseln als assoziativ und kommutativ aufgefaßt.
”
461
463
Beispielrefutation (Klauselnotation)
Prädikatenlogische Resolution: Idee
Grundidee
1.
¬P(f (a)) ∨ ¬P(f (a)) ∨ Q(b)
(gegeben)
2.
P(f (a)) ∨ Q(b)
(gegeben)
3.
¬P(g (b, a)) ∨ ¬Q(b)
(gegeben)
4.
P(g (b, a))
(gegeben)
5.
¬P(f (a)) ∨ Q(b) ∨ Q(b)
6.
¬P(f (a)) ∨ Q(b)
7.
Q(b) ∨ Q(b)
8.
Q(b)
9.
¬P(g (b, a))
(Res. 8. in 3.)
• die Elternklauseln keine Variablen gemeinsam haben (bereinigt)
7→ ggf. umbenennen
⊥
(Res. 4. in 9.)
• σ(L) = σ(L′ )
10.
Vor Resolutionsschritt durch geeignete Substitution komplementäres Paar
von Literalen erzeugen
Möglichkeit für Resolutionsregel
(Res. 2. in 1.)
C1 ∪ {L}
C2 ∪ {¬L′ }
C1 σ ∪ C2 σ
(Fakt. 5.)
(Res. 2. in 6.)
wobei
(Fakt. 7.)
Nachteil: Viel zu viele Substitutionen σ mit σ(L) = σ(l ′ )
Idee: Wähle die “allgemeinste” Substitution, mit σ(L) = σ(l ′ )
462
464
Unifikation
.
Unifikation nach Martelli/Montanari
.
Sei E = {s1 = t1 , . . . , sn = tn } (si , ti Terme oder Atome) eine Menge von
Gleichheitsproblemen.
(1)
t = t, E
⇒MM
E
Definition: Eine Substitution σ heißt ein Unifikator von E g.d.w.
(2)
f (s1 , . . . , sn ) = f (t1 , . . . , tn ), E
⇒MM
s1 = t1 , . . . , sn = tn , E
(3)
f (. . .) = g (. . .), E
⇒MM
⊥
(4)
x = t, E
⇒MM
x = t, E [t/x]
A
1 ≤ i ≤ n : si σ = ti σ.
Existiert ein Unifikator, so heißt E unifizierbar.
.
.
.
.
Definition: σ heißt allgemeiner als τ
a Ist
.
.
falls x ∈ var (E ), x 6∈ var (t)
σ ≤ τ :⇔ es gibt Subst.̺ : σ ◦ ̺ = τ
wobei (σ ◦ ̺)(x) := (xσ)̺ die Komposition von σ und ̺ als
.
.
x = t, E
(5)
Abbildungen.a
⇒MM
⊥
falls x 6= t, x ∈ var (t)
wohldefiniert, weil σ ◦ ̺ einen endlichen Bereich hat.
.
(6)
t = x, E
.
⇒MM
x = t, E
falls t 6∈ X
465
467
Ein paar simple Fakten
Beispiel 1
.
.
{f (g (a, x), g (y , b)) = f (x, g (v , w )), f (x, g (v , w )) = f (g (x, a), g (v , b)}
• Jeder Term ist mit sich selbst unifizierbar (mittels id)
• Terme der Gestalt f (s1 , . . . , sn ), f (t1 , . . . , tn ) sind unifizierbar g.d.w.
si und ti unifizierbar für 1 ≤ i ≤ n
(2)
⇒MM
(5)
• Atome der Gestalt p(s1 , . . . , sn ), p(t1 , . . . , tn ) sind unifizierbar g.d.w.
si und ti unifizierbar für 1 ≤ i ≤ n
⇒MM
• Terme der Gestalt f (s1 , . . . , sn ), g (t1 , . . . , tm ) sind niemals unifb.
.
.
.
.
{g (a, x) = x, g (y , b) = g (v , w ), x = g (x, a), g (v , w ) = g (v , b)}
⊥
nicht unifizierbar
• Atome der Gestalt p(s1 , . . . , sn ), q(t1 , . . . , tn ) sind niemals unifb.
• Eine Variable x und ein Term t, der x nicht enthält, sind immer unifb.
(mittels [t/x])
• Eine Variable x und ein Term t 6= x, der x enthält, sind niemals
unifizierbar
466
468
Beispiel 2
Unifikation: Haupteigenschaften
.
.
Definition. Eine Substitition σ heißt idempotent, wenn σ ◦ σ = σ.
{f (g (a, x), g (y , b)) = g (x, g (v , w )), f (x, g (v , w )) = f (g (x, a), g (v , b)}
(3)
⇒MM
⊥
Lemma.
σ ist idempotent gdw. dom(σ) ∩ codom(σ) = ∅.
nicht unifizierbar
Theorem.
∗
1. E ⇒MM ⊥ gdw. E nicht unfizierbar.
∗
.
.
2. E unifizierbar gdw. E ⇒MM x1 = u1 , . . . , xk = uk ,
mit xi pw. verschieden, xi 6∈ var (uj ), 1 ≤ i, j ≤ k.
∗
.
.
3. Falls E ⇒MM x1 = u1 , . . . , xk = uk ,
mit xi pw. verschieden, xi 6∈ var (uj ) so
σ = [u1 /x1 , . . . , uk /xk ] ist allgemeinster Unifikator von E .
469
Beispiel 3
Unifikation: Haupteigenschaften
.
.
{f (g (a, x), g (y , b)) = f (z, g (v , w )), f (z, g (v , w )) = f (g (x, a), g (v , b)}
(2)
⇒MM
(4)
.
.
.
.
{g (a, x) = z, g (y , b) = g (v , w ), z = g (x, a), g (v , w ) = g (v , b)}
.
471
.
.
.
⇒MM
{z = g (a, x), g (y , b) = g (v , w ), g (a, x) = g (x, a), g (v , w ) = g (v , b)}
⇒∗MM
{z = g (a, x), y = v , b = w , a = x, x = a, v = v , w = b}
⇒∗MM
{z = g (a, x), y = v , b = w , a = x, x = a, w = b}
⇒∗MM
{z = g (a, a), y = v , b = b, a = a, x = a, w = b}
⇒∗MM
{z = g (a, a), y = v , x = a, w = b}
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Theorem.
E unifizierbar g.d.w. es gibt allgemeinsten Unifikator σ von E , so dass:
(1) σ idempotent und
(2) dom(σ) ∪ codom(σ) ⊆ var (E ).
Notation: σ = mgu(E ) ( most general unifier“)
”
Problem: exponentielles Anwachsen der Terme möglich.
.
.
.
Beispiel:
E = {x1 ≈ f (x0 , x0 ), x2 ≈ f (x1 , x1 ), . . . , xn ≈ f (xn−1 , xn−1 )}
Allgemeinster Unifikator:
m.g.u. [x1 7→ f (x0 , x0 ), x2 7→ f (f (x0 , x0 ), f (x0 , x0 )), ...]
xi 7→ kompletter binärer Baum der Höhe i
Zeit/Raum: exponentiell
[g (a, a)/z, v /y , a/x, w /b]
Idee: Terme: azyklische Termgraphen
470
472
Beweisideen
Beispiel
{L} ∪ C1 = {p(a, x), p(x, x)}
| {z }
• Falls E ⇒MM E ′ , dann σ Unifikator von E gdw. σ Unifikator von E ′ . (⊥ habe
keinen Unifikator.)
L
• Bzgl. ⇒MM irreduzible E sind trivialerweise nicht unifizierbar (E = ⊥)
oder haben die Form einer idempotenten Substitution. In diesem Fall ist die
Substitution der allgemeinste Unifikator.
{L′ }
• ⇒MM ist Noethersch. Eine geeignete lexikographische Ordnung auf Gleichungsmengen E (mit ⊥ minimal und kleiner als alle Gleichungsmengen) zeigt dieses.
Man vergleiche in dieser Reihenfolge:
.
1. Anzahl der definierten Variablen (d.h. Variablen x in Gleichung x = t mit
x 6∈ var (t)), die auch außerhalb ihrer Definition in E vorkommen
Allgemeinster Unifikator von L, L′ :
∪ C2 = {¬p(y , y )}
| {z }
L′
.
{p(a, x) = p(y , y )}
.
.
.
.
⇒MM
{a = y , x = y }
⇒MM
{y = a, x = a}
σ = [a/y , a/x]
2. Mengenordnung induziert von (i) der Größe (Anzahl der Symbole) einer
.
.
Gleichung; (ii) bei gleicher Größe betrachten wir x = t kleiner als t = x,
falls t 6∈ X .
C2 ∪ {¬L′ }
C1 ∪ {L}
C1 σ ∪ C2 σ
R := {p(x, x)}σ ∪ {}σ = {p(a, a)}
• σ ist idempotent wegen der Substitution in Regel 4. dom(σ) ⊆ var (E ), weil
keine neuen Variablen eingeführt werden.
473
475
Prädikatenlogische Resolutionsregel
Prädikatenlogische Resolutionsregel
Prädikatenlogische Resolutionsregel
Resolutionsregel in dieser Form alleine unvollständig für Prädikatenlogik
Beispiel:
C1 ∪ {L}
C2 ∪ {¬L′ }
C1 σ ∪ C2 σ
{{p(x), p(y )}, {¬p(u), ¬p(v )}}
• unerfüllbar
wobei
• aber nur Resolventen der Länge 2
• die Elternklauseln keine Variablen gemeinsam haben (bereinigt)
7→ ggf. umbenennen
• σ ein allgemeinster Unifikator (MGU) von L, L′ ist.
474
476
Faktorisierung
Beispiel
Faktorisierung
{L1 , . . . , Ln } ∪ C
({L1 , . . . , Ln } ∪ C )σ
wobei
• σ allgemeinster Unifikatior (MGU) von {L1 , . . . , Ln } ist
1.
P(x) ∨ P(f (x)) ∨ ¬Q(x)
[Gegeben]
2.
¬P(y )
[Gegeben]
3.
P(g (x ′ , x ′′ ))
4.
P(f (x)) ∨ ¬Q(x)
[Res. 1, 2]
5.
¬Q(x)
[Res. 4, 2]
6.
Q(x ′′ )
[Res. 3, 2]
7.
⊥
∨
Q(x ′′ )
[Gegeben; Bereinigt]
({L1 , . . . , Ln } ∪ C )σ heißt Faktor von {L1 , . . . , Ln } ∪ C
477
Beispiel für Faktorisierung
479
Resolutionskalkül Res für allgemeine Klauseln
{p(x), p(y ), r (y , z)}
{p(x), r (x, z)}
C ∨A
D ∨ ¬B
(C ∨ D)σ
falls σ = mgu(A, B)
[Resolution]
{p(x), p(y ), p(a), r (y , z)}
{p(a), r (a, z)}
C ∨ L1 ∨ L2
(C ∨ A)σ
falls σ = mgu(A, B)
[Faktorisierung]
Es wird immer implizit angenommen, dass die Variablen in einer der beiden
Prämissen der Resolutionsregel ggfs. (bijektiv) umbenannt werden, so dass
sie disjunkt mit denen der anderen Prämisse sind.
Dieses implizite Umbenennen werden wir nicht formalisieren.
Welche Variablennamen man verwendet ist egal.
Beispielsweise könnte man sich vorstellen, dass am Anfang alle Klauseln
paarweise variablendisjunkt sind und das Unifikatoren so gewählt werden,
dass in ihrem Wertebereich nur neue Variablen vorkommen.
478
480
Allgemeine Resolution mit implizitem
Faktorisieren
Wichtig: Häufige Fehlerquellen
• Das Bereinigen (Umbenennen) nicht vergessen!
Günstiger ist es, Resolutionsregel und Faktorisierungsregel in eine Regel
zusammenzuziehen.
• Das Faktorisierungen (falls möglich) nicht vergessen!
• Selbstresolution ist möglich!
C ∨ L1 ∨ . . . ∨ Ln
D∨
(C ∨ D)σ
¬L′1
∨ ... ∨
¬L′m
• wobei die Elternklauseln keine Variablen gemeinsam haben (bereinigt)
7→ ggf. umbenennen
• σ = mgu(L1 , . . . , Ln , L′1 , . . . , L′m )
481
483
Allgemeine Resolution: Beispiel
Notation
Sei N eine Klauselmenge und
(Hier verwenden wir Resolution mit implizitem Faktorisieren.)
Res(N) = N ∪ {R | R ist eine Resolvente zweier Klauseln aus N
Man sieht, dass (i) beim Instanziieren verschiedene Literale gleich werden
können, und dass (ii) i. allg. mehrere verschiedene Instanzen einer Klausel
an einem Beweis partizipieren.
oder Resultat der Faktorisierung einer Klausel aus N}
1.
P(x) ∨ P(f (a)) ∨ ¬Q(x)
[Gegeben]
Res0 (N) = N
2.
¬P(y )
[Gegeben]
Resn+1 (N) = Res(Resn (N))
3.
P(g (x ′ , x ′′ )) ∨ Q(x ′′ )
[Gegeben]
4.
¬Q(f (a))
[RIF 1, 2]
5.
Q(x ′′ )
[RIF 3, 2]
6.
⊥
[RIF 4, 5]
Res⋆ (N) =
S
n∈N
Resn (N)
(bezeichnet die Vereinigung der Ergebnisse aus aller möglichen Resolutions- und
Faktorisierungsschritte auf N)
482
484
Resolution: Korrektheit
Resolution: Vollständigkeit
Theorem
Für eine Menge N von Klauseln gilt: Falls ⊥∈ Res∗ (N), so N unerfüllbar.
Theorem
Für eine Menge N von Klauseln gilt: Falls N unerfüllbar, so ⊥∈ Res∗ (N).
Beweis: Wie bei Aussagenlogik.
Beweisplan:
Einzelne Regelanwendung erhält die Erfüllbarkeit der Klauselmenge
1. Sei N eine unter Res saturierte Menge allgemeiner Klauseln, d.h.
Res(N) ⊆ N. Dann ist auch GΣ (N) saturiert.
Auch dies einfach zu beweisen wie in Aussagenlogik (beachte dabei:
Variablen in Klauseln sind universell quantifiziert)
Beweis: “Lifting-Lemma”
2. Sei N eine Menge von Σ-Klauseln.
N erfüllbar g.d.w. N besitzt Herbrand-Modell über Σ.
3. Sei N Menge allgemeiner Klauseln mit Res(N) ⊆ N. Dann
N |= ⊥ genau dann, wenn ⊥ ∈ N.
485
487
Resolution: Korrektheit
Lifting-Lemma
Theorem
Für eine Menge N von Klauseln gilt: Falls ⊥∈ Res∗ (N), so N unerfüllbar.
x(C1 ∨ L1 ), A |=
C
?
?
yσ
A
A
Beweis:
Annahme: A |= C1 ∨ L1 , A |= C2 ∨ ¬L2 (d.h. A |=
Lemma. Falls
x(C2 ∨ ¬L2 ))
Cσ
Sei σ = mgu(L1 , L2 ).
Zu zeigen: A |= x(C1 ∨ C2 )σ.
Dσ
[aussagenlogische Resolution]
C′
A
Sei β beliebig.
A(β)((C1 ∨ C2 )σ) = A(β ◦ σ)(C1 ∨ C2 )
D
?
?
yσ
dann gibt es τ , so dass
(Substitution-Lemma)
C
D
C ′′
?
?
y
• Fall 1: A(β ◦ σ)(C1 ) = 1. Dann A(β)((C1 ∨ C2 )σ) = 1.
• Fall 2: A(β ◦ σ)(C1 ) = 0. Laut Annahme, A(β ◦ σ)(C1 ∨ L1 ) = 1, so
A(β ◦ σ)(L1 ) = 1. Dann: A(β ◦ σ)(L2 ) = A(β)(L2 σ) = A(β)(L1 σ) =
A(β ◦ σ)(L1 ) = 1. Also: A(β ◦ σ)(¬L2 ) = 0.
[allgemeine Resolution]
τ
C ′ = C ′′ τ
Aber A(β ◦ σ)(C2 ∨¬L2 )=1, so A(β ◦ σ)(C2 )=1. Dann A(β)((C1 ∨C2 )σ)=1.
Entsprechend für Faktorisieren.
486
488
Lifting-Lemma: Beweis
Saturiertheit von Mengen allgemeiner Klauseln
Beweis (Idee)
Theorem.
Sei N eine unter Res saturierte Menge allgemeiner Klauseln, d.h.
Res(N) ⊆ N. Dann ist auch GΣ (N) saturiert, d.h.
Sei C = C1 ∨ L1 , D = C2 ∨ ¬L2 .
C σ = C1 σ ∨ L1 σ, Dσ = C2 σ ∨ ¬L2 σ.
Res(GΣ (N)) ⊆ GΣ (N).
L1 σ = L2 σ und C ′ = (C1 ∨ C2 )σ.
Beweis. Sei C ′ ∈ Res(GΣ (N)). D.h. es gibt: (i) Grundinstanzen C σ und Dσ ′ von N
mit Resolvente C ′ , oder (ii) Grundinstanz C σ s.d. C ′ durch Faktorisierung abgeleitet.
L1 , L2 unifizierbar. Sei ρ = mgu(L1 , L2 ).
Die Resolvente C ′′ ist dann (C1 ∨ C2 )ρ.
(i) Ist C ′ Resolvente, so können wir o.B.d.A. annehmen, dass σ = σ ′ .
(Nur wenn C und D nicht variablen-disjunkt wären, könnte dies schiefgehen.
Dann aber dürfen und müssen wir die Variablen in einer Klausel umbenennen.)
ρ ist allgemeiner als σ, d.h. es gibt eine Substitution τ mit σ(x) = τ (ρ(x))
für alle x ∈ X .
Wegen des Lifting-Lemmas sind C und D resolvierbar mit einer Resolvente C ′′
so dass C ′′ τ = C ′ , für eine geeignete Substitution τ . Weil C ′′ ∈ N nach
Voraussetzung, ist C ′ ∈ GΣ (N).
C ′′ τ = (C1 ∨ C2 )ρτ = (C1 ∨ C2 )σ = C ′ .
(ii) Analog für den Fall, dass C ′ durch Faktorisierung abgeleitet wurde.
489
491
Saturiertheit von Mengen allgemeiner Klauseln
Satz von Herbrand
Sei N eine Klauselmenge und
Theorem (Herbrand)
Sei N eine Menge von Σ-Klauseln.
Res(N) = N ∪ {R | R ist eine Resolvente zweier Klauseln aus N
oder Resultat der Faktorisierung einer Klausel aus N}
N erfüllbar g.d.w. N besitzt Herbrand-Modell über Σ
Beweis:
Res0 (N) = N
“⇐” trivial
Resn+1 (N) = Res(Resn (N))
“⇒”
⋆
Res (N) =
S
n
n∈N
N 6|= ⊥
Res (N)
(bezeichnet die Vereinigung der Resolventen aus aller möglichen Resolutionsschritte
⇒ ⊥ 6∈ Res ∗ (N)
(Res. korrekt)
⇒ ⊥ 6∈ GΣ (Res ∗ (N))
⇒ GΣ (Res ∗ (N)) hat ein (’aussagenlogisches’) Modell
auf N)
⇒ GΣ (Res ∗ (N)) hat ein Herbrand Modell I
⇒ I |= Res ∗ (N)
⇒ I |= N
490
(I Herbrand-Modell)
(N ⊆ Res ∗ (N))
492
Korrektheit und Vollständigkeit der allgemeinen
Resolution
Prädikatenlogische Resolution: Beispiel (1)
Gegeben die Formel F :
Theorem
Sei N Menge allgemeiner Klauseln mit Res(N) ⊆ N. Dann:
A A
( x y (p(x, y ) → q(x, y ))∧
A A
x y (r (x, y ) → s(x, y ))
)→
E
N |= ⊥ genau dann, wenn ⊥ ∈ N
A A
( x y (( z(p(x, z) ∧ r (z, y ))) →
E
Proof: “⇐” trivial
( z(q(x, z) ∧ s(z, y )))))
“⇒:” Sei N Klauselmenge mit Res(N) ⊆ N.
Dann Res(GΣ (N)) ⊆ GΣ (N) (Theorem Seite 10)
)
Gezeigt werden soll die Allgemeingültigkeit von F mittels Resolution
Annahme: N |= ⊥. Dann GΣ (N) |= ⊥ (Wir haben gezeigt, dass GΣ (N) 6|= ⊥ ⇒ GΣ (N)
hat Herbrand Modell I und I |= N)
Aber GΣ (N) |= ⊥ gdw. ⊥ ∈ GΣ (N) (aussag.log. Resol. vollständig + korrekt).
Es ist leicht zu sehen, dass ⊥ ∈ GΣ (N) gdw. ⊥ ∈ N.
493
Resolution: Vollständigkeit
495
Prädikatenlogische Resolution: Beispiel (2)
Dazu zeigen wir die Unerfüllbarkeit von ¬F :
Theorem
Für eine Menge N von Klauseln gilt: Falls N unerfüllbar, so ⊥∈ Res∗ (N).
A A
¬(( x y (p(x, y ) → q(x, y ))∧
A A
x y (r (x, y ) → s(x, y ))
Beweis:
)→
E
Sei M = Res∗ (N). Dann Res(M) ⊆ M. So: M |=⊥ gdw. ⊥∈ M.
A A
( x y (( z(p(x, z) ∧ r (z, y ))) →
Widerspruchsbeweis:
E
( z(q(x, z) ∧ s(z, y ))))
Annahme: ⊥6∈ Res∗ (N). Dann Res∗ (N) 6|=⊥, d.h. Res∗ (N) hat ein Modell A.
))
Da N ⊆ Res∗ (N), A |= N, d.h. N 6|=⊥.
Diese Formel muss zunächst in Klauselnormalform transformiert werden
494
496
Prädikatenlogische Resolution: Beispiel (3)
Prädikatenlogische Resolution: Beispiel (5)
Elimination der Implikationen:
Negation an den Allquantoren vorbei:
A A
A A
¬(¬( x y (¬p(x, y ) ∨ q(x, y ))∧
(( x y (¬p(x, y ) ∨ q(x, y ))∧
A A
A A
x y (¬r (x, y ) ∨ s(x, y ))
∨
) ∧
E E
E
A A
( x y (¬( z(p(x, z) ∧ r (z, y )))∨
E
)
x y (¬r (x, y ) ∨ s(x, y ))
( x y ¬(¬( z(p(x, z) ∧ r (z, y )))∨
E
E
( z(q(x, z) ∧ s(z, y ))))
z(q(x, z) ∧ s(z, y )))
))
))
497
Prädikatenlogische Resolution: Beispiel (4)
499
Prädikatenlogische Resolution: Beispiel (6)
De Morgan:
Äußere Negation nach innen schieben:
A A
(( x y (¬p(x, y ) ∨ q(x, y ))∧
A A
(( x y (¬p(x, y ) ∨ q(x, y ))∧
A A
x y (¬r (x, y ) ∨ s(x, y ))
A A
x y (¬r (x, y ) ∨ s(x, y ))
) ∧
E
) ∧
E E
( x y (( z(p(x, z) ∧ r (z, y )))∧
E
A A
¬( x y (¬( z(p(x, z) ∧ r (z, y )))∨
E
¬ z(q(x, z) ∧ s(z, y )))
E
z(q(x, z) ∧ s(z, y )))
))
))
498
500
Prädikatenlogische Resolution: Beispiel (7)
Prädikatenlogische Resolution: Beispiel (9)
Negation am Quantor vorbei:
Bereinigen der Formel führt zu:
A A
A A
(( x y (¬p(x, y ) ∨ q(x, y ))∧
(( x y (¬p(x, y ) ∨ q(x, y ))∧
A A
A A
) ∧
) ∧
x ′ y ′ (¬r (x ′ , y ′ ) ∨ s(x ′ , y ′ ))
E
E
E
E E
( x y (( z(p(x, z) ∧ r (z, y )))∧
E
x y (¬r (x, y ) ∨ s(x, y ))
( x ′′ y ′′ (( z(p(x ′′ , z) ∧ r (z, y ′′ )))∧
A
A
z¬(q(x, z) ∧ s(z, y )))
z ′ (¬q(x ′′ , z ′ ) ∨ ¬s(z ′ , y ′′ )))
))
))
501
Prädikatenlogische Resolution: Beispiel (8)
503
Prädikatenlogische Resolution: Beispiel (10)
Da die Formel bereinigt und in NNF ist, kann man alle Quantoren nach
vorne ziehen:
x y x ′ y ′ x ′′ y ′′ z z ′ (
A A
E A A A A
A A
x y (¬r (x, y ) ∨ s(x, y ))
E
(( x y (¬p(x, y ) ∨ q(x, y ))∧
A E
De Morgan
) ∧
(¬p(x, y ) ∨ q(x, y ))∧
E E
E
(¬r (x ′ , y ′ ) ∨ s(x ′ , y ′ ))
A
p(x ′′ , z)∧
( x y (( z(p(x, z) ∧ r (z, y )))∧
z(¬q(x, z) ∨ ¬s(z, y )))
r (z, y ′′ ∧
))
(¬q(x ′′ , z ′ ) ∨ ¬s(z ′ , y ′′ ))
Nun ist die Formel in Negationsnormalform
)
Nun ist die Formel in Pränexnormalform, die Matrix der Formel ist auch
schon in konjunktiver Normalform
502
504
Prädikatenlogische Resolution: Beispiel (11)
Prädikatenlogische Resolution: Beispiel (13)
In Klauselmengenschreibweise:
Skolemisieren von x ′′ und y ′′ :
x y x′ y ′ z z′(
A E A A A A
1.
{¬p(x, y ), q(x, y )}
(¬p(x, y ) ∨ q(x, y ))∧
2.
{¬r (x ′ , y ′ ), s(x ′ , y ′ )}
(¬r (x ′ , y ′ ) ∨ s(x ′ , y ′ ))
3.
{p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))}
p(f (x, y , x ′ , y ′ ), z)∧
4.
{r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))}
r (z, g (x, y , x ′ , y ′ ))∧
5.
{¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))}
(¬q(f (x, y , x ′ , y ′ ), z ′ ) ∨ ¬s(z ′ , g (x, y , x ′ , y ′ )))
)
505
Prädikatenlogische Resolution: Beispiel (12)
507
Prädikatenlogische Resolution: Beispiel (14)
Skolemisieren von z:
1.
{¬p(x, y ), q(x, y )}
A E A A A A
2.
{¬r (x ′ , y ′ ), s(x ′ , y ′ )}
(¬p(x, y ) ∨ q(x, y ))∧
3.
{p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))}
4.
{r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))}
5.
{¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))}
x y
x′
(¬r (x ′ , y ′ )
y′
∨
z
z′(
s(x ′ , y ′ ))
p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))∧
r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))∧
Resolution der Klauseln 1. und 3. Dazu zunächst Umbenennung der
Variablen x, y in 3., um die Klauseln variablendisjunkt zu machen
(¬q(f (x, y , x ′ , y ′ ), z ′ ) ∨ ¬s(z ′ , g (x, y , x ′ , y ′ )))
)
Verwendeter MGU: [f (u, v , x ′ , y ′ )/x, h(u, v , x ′ , y ′ )/y ]
1 : {¬p(x, y ), q(x, y )} 3′ : {p(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ ))}
6 : {q(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ ))}
506
508
Prädikatenlogische Resolution: Beispiel (15)
Prädikatenlogische Resolution: Beispiel (17)
1.
{¬p(x, y ), q(x, y )}
1.
{¬p(x, y ), q(x, y )}
2.
{¬r (x ′ , y ′ ), s(x ′ , y ′ )}
2.
{¬r (x ′ , y ′ ), s(x ′ , y ′ )}
3.
{p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))}
3.
{p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))}
4.
{r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))}
4.
{r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))}
5.
{¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))}
5.
{¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))}
6.
{q(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ ))}
6.
{q(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ ))}
7.
{s(h(x, y , u, v ), g (x, y , u, v ))}
8.
{¬s(h(u, v , u ′ , v ′ ), g (u, v , u ′ , v ′ ))}
Resolution der Klauseln 2 und 4. Dazu zunächst Umbenennung der
Variablen x ′ , y ′ in 4, um die Klauseln variablendisjunkt zu machen
Resolution der Klauseln 7 und 8. Dazu zunächst Umbenennung der
Variablen u, v in 8, um die Klauseln variablendisjunkt zu machen.
Verwendeter MGU: [h(x, y , u, v )/x ′ , g (x, y , u, v )/y ′ ]
Verwendeter MGU: [u ′′ /x, v ′′ /y , u ′ /u, v ′ /v ]
2 : {¬r (x ′ , y ′ ), s(x ′ , y ′ )} 4′ : {r (h(x, y , u, v ), g (x, y , u, v ))}
7 : {s(h(x, y , u, v ), g (x, y , u, v ))}
7 : {s(h(x, y , u, v ), g (x, y , u, v ))}
8′ : {¬s(h(u ′′ , v ′′ , u ′ , v ′ ), g (u ′′ , v ′′ , u ′ , v ′ ))}
⊥
509
Prädikatenlogische Resolution: Beispiel (16)
511
Prädikatenlogische Resolution: Beispiel (18)
1.
{¬p(x, y ), q(x, y )}
2.
{¬r (x ′ , y ′ ), s(x ′ , y ′ )}
Damit ist die leere Klausel ⊥ abgeleitet,
3.
{p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))}
also ist die Klauselmenge unerfüllbar,
4.
{r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))}
also ist die Formel ¬F unerfüllbar,
5.
{¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))}
also ist die Formel F allgemeingültig
6.
{q(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ )}
7.
{s(h(x, y , u, v ), g (x, y , u, v ))}
Resolution der Klauseln 5 und 6. Dazu zunächst Umbenennung der
Variablen x ′ , y ′ in 6, um die Klauseln variablendisjunkt zu machen.
Verwendeter MGU: [u/x, v /y , u ′ /x ′ , v ′ /y ′ , h(u, v , u ′ , v ′ )/z ′ ]
5 : {¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))} 6 : {q(f (u, v , u ′ , v ′ ), h(u, v , u ′ , v ′ )}
8 : {¬s(h(u, v , u ′ , v ′ ), g (u, v , u ′ , v ′ ))}
510
512
Wiederholung: Der aussagenlogische
Tableaukalkül
Zusammenfassung: Prädikatenlogische Resolution
• Prädikatenlogische Resolutionsregel
Wesentliche Eigenschaften
• Faktorisierung
• Kombination von Resolution und Faktorisierung
• Widerlegungskalkül: Testet auf Unerfüllbarkeit
• Häufige Fehlerquellen
• Beweis durch Fallunterscheidung
• Korrektheit und Vollständigkeit
• Top-down-Analyse der gegebenen Formeln
513
2.7
515
Wiederholung: Der aussagenlogische
Tableaukalkül
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
514
516
Formeltypen
Formeltypen
Konjunktive Formeln: Typ α
Disjunktive Formeln: Typ β
• ¬¬F
• ¬(F ∧ G )
• F ∧G
• F ∨G
• ¬(F ∨ G )
• F →G
• ¬(F → G )
Zuordnungsregeln Formeln / Unterformeln
Disjunktive Formeln: Typ β
• ¬(F ∧ G )
• F ∨G
β
β1
β2
¬(F ∧ G )
¬F
¬G
F ∨G
• F →G
F →G
F
G
¬F
G
517
Formeltypen
519
Regeln des (aussagenlogischen) Tableaukalküls
Konjunktive Formeln: Typ α
p∧q
|
p
|
q
α
• ¬¬F
Konjunktiv
α1
• F ∧G
α2
• ¬(F ∨ G )
• ¬(F → G )
β
Zuordnungsregeln Formeln / Unterformeln
β1 | β2
α
F ∧G
α1
G
¬F
¬G
¬(F → G )
F
¬G
¬¬F
F
φ
¬φ
⊥
518
/
p
α2
F
¬(F ∨ G )
p∨q
Disjunktiv
Widerspruch
\
q
φ
¬φ
|
⊥
520
Instanzen der α und β-Regel
Beispiel
Instanzen der α-Regel
1.
¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))]
P ∧Q
¬(P ∨ Q)
¬(P → Q)
¬¬P
2.
(P → (Q → R))
[11 ]
P
¬P
P
P
3.
¬((P ∨ S) → ((Q → R) ∨ S))
[12 ]
Q
¬Q
¬Q
Instanzen der β-Regel
P ∨Q
¬(P ∧ Q)
P→Q
P | Q
¬P | ¬Q
¬P | Q
4.
P ∨S
[31 ]
5.
¬((Q → R) ∨ S))
[32 ]
6.
¬(Q → R)
[51 ]
¬S
[52 ]
7.
hhhhhhh
h
8.
¬P
9.
[21 ]
Q→R
[22 ]
XXXX
X
10.
P
[41 ]
11.
S
[42 ]
geschlossenes Tableau.
521
523
Beispiel
Beispiel
Zu zeigen:
Geschlossenes Tableau gefunden
(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S)) allgemeingültig
... also ist die Formel
¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))]
unerfüllbar,
Wir zeigen, dass
¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))]
... d.h. die Formel
unerfüllbar ist.
(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))
ist allgemeingültig
522
524
Zusätzlich: Prädikatenlogische Formeltypen
¬F [t/x]
δ(t)
xF
F [t/x]
A
A
E
¬ xF
F [t/x]
δ
E
xF
γ(t)
¬ xF
A
γ
Instanzen der γ-Regel
existentiell
xF (x)
F (t)
E
universell
Instanzen der γ und δ-Regel
¬ xF (x)
¬F (t)
¬F [t/x]
Instanzen der δ-Regel
A
E
¬ xF (x, y1 , . . . , yn )
xF (x, y1 , . . . , yn )
F (f (y1 , . . . , yn ), y1 , . . . , yn )
¬F (f (y1 , . . . , yn ), y1 , . . . , yn )
wobei f eine neue Skolemfunktion ist und y1 , . . . , yn die freien Variablen in
xF (x, y1 , . . . , yn ) (resp. xF (x, y1 , . . . , yn )) sind.
A
E
525
527
Zusätzlich: Prädikatenlogische Tableauregeln
Determinismus der Regeln
α- und β-Regeln
γ-Regel
A
γ
γ(t)
xq(x)
|
q(t)
universell
deterministisch (wie in Aussagenlogik)
wobei t ein beliebiger Term ist.
γ-Regel
δ-Regel
E
δ
δ(f (y1 ,...,yn ))
• hochgradig nicht-deterministisch
existentiell
xp(x, y1 , . . . , yn )
|
p(f (y1 , . . . , yn ), y1 , . . . , yn )
• muss für Vollständigkeit mehrfach angewendet werden (pro Ast)
• Grund für Nicht-Terminierung
wobei f eine neue Skolemfunktion ist, und y1 , . . . , yn die freien Variablen in δ
sind.
δ-Regel
Skolemisierung ist also ein Bestandteil des Kalküls und wird nicht als ein
Vorverarbeitungsschritt vorausgesetzt. Aber natürlich könnte man ebensogut vorher
Skolemisieren, was auch Vorteile haben kann.
• nicht-deterministisch
• muss dennoch nur einmal pro Ast und Formel angewendet werden
526
528
Formale Definition des Kalküls
Definition: Tableau (mit freien Variablen)
Fast wie in der Aussagenlogik definiert (kleine Änderungen)
Sei M = {F1 , . . . , Fn } eine Formelmenge
(Definition auf den folgenden Seiten).
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.
Substitutionsregel
• Ist T ein Tableau für M und
• ist σ eine Substitution,
so ist auch T σ ein Tableau für M.
529
531
Formale Definition des Kalküls
Formale Definition des Kalküls
Definition
Definition.
Tableau: Binärer Baum, dessen Knoten mit Formeln markiert sind
Ast B eines Tableaus für M ist geschlossen, wenn
Definition
F , ¬F ∈ B ∪ M
Tableauast: Maximaler Pfad in einem Tableau (von Wurzel zu Blatt)
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
530
532
Beispiel
Beispiel
S ∩Q
=
∅
Unerfüllbarkeit der Menge M
E
(1)
Modellierung
(¬ x(S(x) ∧ Q(x))
E
Eine Aussage über Mengen
∧
¬ x(S(x) ∧ Q(x))
(1)
(2)
(2)
P
⊆
Q ∪R
A
∧
A
(3)
P=∅
→
Q 6= ∅
(¬( xP(x))) → ( yQ(y ))
∧
(¬( xP(x))) → ( yQ(y ))
(3)
(4)
Q ∪R
⊆
S
A
)
A
x((Q(x) ∨ R(x)) → S(x))
(4)
(5)
P ∩R
6=
∅
E
(5)
E
E
E
x((Q(x) ∨ R(x)) → S(x))
x(P(x) → (Q(x) ∨ R(x))
→
E
x((P(x) ∧ R(x)))
E
x(P(x) → (Q(x) ∨ R(x))
¬ x((P(x) ∧ R(x)))
533
535
Modellierung
S ∩Q
=
∅
(2)
P
⊆
Q ∪R
A
(3)
P=∅
→
Q 6= ∅
(¬( xP(x))) → ( yQ(y ))
∧
(4)
Q ∪R
⊆
S
A
)
(5)
P ∩R
6=
∅
(¬ x(S(x) ∧ Q(x))
x(P(x) → (Q(x) ∨ R(x))
E
E
x((Q(x) ∨ R(x)) → S(x))
∧
(6) ¬¬ xP(x) [31 , β]
∧
eeeee 1 XXXXXXXXXX
eeeeee
E
E
(1)
E
Eine Aussage über Mengen
Beispiel
→
E
Beispiel
(7) yQ(y ) [32 , β]
(8) xP(x) [61 , α]
(9) Q(d) [7, δ]
(10) P(c) [8, δ]
(∗∗)
(11) ¬(P(c) ∧ R(c)) [5, γ]
E
x((P(x) ∧ R(x)))
(12) ¬P(c) [111 , β]
YYYYYY
Y
ffffff
(13) ¬R(c) [112 , β]
14 : P(c) → (Q(c) ∨ R(c)) [2, γ]
⊥
15 : ¬P(c) [141 , β]
⊥
534
e
eeeeee
16 : Q(c) ∨ R(c) [142 , β]
XXXXXX
17 : Q(c) [161 , β]
18 : R(c) [162 , β]
(∗)
⊥
536
Beispiel
Bemerkungen
Nota bene:
Ast (*), Fortsetzung:
17 : Q(c) [161 , β]
Alle Äste in einem Tableau für M enthalten implizit alle Formeln in M
19 : ¬(S(c) ∧ Q(c)) [1, γ]
20 : ¬S(c) [191 , β]
e
eeeeee
Die Substitutionsregel ändert potentiell alle Formeln des Tableau.
Das ist das Globale an der Beweismethode.
21 : ¬Q(c) [192 , β]
22 : Q(c) ∨ R(c) → S(c) [4, γ]
⊥
23 : ¬(Q(c) ∨ R(c)) [221 , β]
24 : S(c) [222 , β]
25 : ¬Q(c) [231 , α]
⊥
YYYYYY
YY
Nimmt man die Substitutionsregel wörtlich, so zählt man, in Verbindung
mit der γ-Regel, alle Substitutionsinstanzen allquantifizierter Formeln auf,
ein Rückschritt im Vergleich zur Resolution.
Das braucht man aber nicht.
26 : ¬R(c) [232 , α]
⊥
537
539
Beispiel
Beispiel
A E
1.
¬[ w x p(x, w , f (x, w )) → w x y p(x, w , y )]
(7) yQ(y ) [32 , β]
2.
A E
(9) Q(d) [7, δ]
3.
¬ w x y p(x, w , y )
4.
A
5.
¬ x y p(x, v1 , y )
6.
¬ y p(b(v1 ), v1 , y )
7.
p(v2 , a, f (v2 , a))
4(v2 ) [γ]
8.
¬p(b(v1 ), v1 , v3 )
6(v3 ) [γ]
(30) : Q(d) ∨ R(d) → S(d) [4, γ]
⊥
YYYYYY
YY
(31) : ¬(Q(d) ∨ R(d)) [301 , β]
(32) : S(d) [302 , β]
(33) : ¬Q(d)
⊥ [311 , α]
12 [α]
x p(x, a, f (x, a))
2(a) [δ]
3(v1 ) [γ]
E
(29) : ¬Q(d) [272 , β]
11 [α]
E A
XXXXXX
e
eeeeeee
w x p(x, w , f (x, w ))
E A E
E
(27) : ¬(S(d) ∧ Q(d)) [1, γ]
(28) : ¬S(d) [271 , β]
E A E
Ast (**), Fortsetzung:
5(b(v1 )) [δ]
7. und 8. sind (modulo Unifikation) komplementär:
.
.
.
v2 = b(v1 ), a = v1 , f (v2 , a) = v3
(34) : ¬R(d) [312 , α]
ist lösbar mit mgu σ = [a/v1 , b(a)/v2 , f (b(a), a)/v3 ] und somit ist T σ ein
geschlossenes (lineares) Tableau für Formel 1.
⊥
538
540
Formale Definition des Kalküls
Tableaus mit freien Variablen
Neue γ-Regel
γ
γ(y )
A
Problem: Es ist sehr schwierig, zu “raten”, welche Instanzen im Beweis
nützlich sind.
xq(x)
|
q(y )
universell
wobei y eine neue freie Variable ist
Idee:
Neue Abschlussregel
• Substitutionsregel auf Unifikatoren komplementärer Formeln beschränken!
L1
• γ-Regel führen nur freien Variablen ein (Tableaus mit freien Variablen)
¬L2
⊥
Freie Variablen (Dummies, Platzhalten) werden ’bei Bedarf’ (bei
Abschluss) instantiiert (wie bei Resolution).
Widerspruch
p(y )
¬p(a)
⊥
mgu: [a/y ]
wobei L1 , L2 unifizierbare Literale.
Wir sprechen von einem AMGU-Tableau, wenn die Substitutionsregel nur
für Substitutionen σ angewendet wird, für die es einen Pfad in T mit
Literalen ¬A und B gibt, so daß σ = mgu(A, B).
Nota bene: Allgemeinster Unifikator von L1 , L2 wird auf das ganze Tableau
angewendet.
541
Tableaus mit freien Variablen
Konvention
Wir nehmen an, dass die Menge der Variablen X in 2 disjunkte unendliche
Teilmengen Xf und Xg partitioniert ist, und dass:
Neue γ-Regel
A
γ
γ(y )
xq(x)
|
q(y )
universell
• Für gebundene Variablen nur solche aus Xg verwendet werden.
(Vermeidet das Einfangproblem bei Substitution.)
wobei y eine neue freie Variable ist
• Die Variabeln, die durch die neue γ-Regel eingeführt werden immer
aus Menge Xf gewählt sind.
Neue Abschlussregel
L1
¬L2
⊥
543
Widerspruch
p(y )
¬p(a)
⊥
mgu: [a/y ]
wobei L1 , L2 unifizierbare Literale.
542
544
Prädikatenlogische Klauseltableaux
Korrektheit und Vollständigkeit
Klauseltableaux für eine Klauselmenge S
Theorem
• Abschlussregel wie zuvor
Eine Formelmenge M ist unerfüllbar
genau dann, wenn
es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt.
• Keine α, keine δ-Regel
• β- und γ-Regel zusammengefasst:
– Sei B ein Ast in T
– Sei C = {L1 , . . . , Ln } eine Klausel in S
– Sei C ′ = C σ = {L′1 , . . . , L′n } aus C durch Variablenumbenennung
Dann kann B erweitert werden, indem n Blätter mit L′1 , . . . , L′n
angehängt werden.
545
Beispiel
Korrektheit
Bei gegebener Signatur Σ bezeichnen wir mit Σsko das Ergebnis der
Hinzunahme unendlich vieler neuer Skolemfunktionen zu Σ, die wir in der
δ-Regel verwenden dürfen.
S = {{p(0)}, {¬p(x), p(s(x))}, {¬p(s(s(0)))}}
1
¬p(x1 )
m p(0) RRRRR
mmmm
llll
p(s(x1 ))
547
Sei A eine Σsko -Interpretation, T ein Tableau, und β eine Variablenbelegung
über A.
SSS
S
⊥
¬p(x2 )
[0/x1 ]
⊥
¬p(s(s(0)))
[s(0)/x2 ]
⊥
p(s(x2 ))
Definition. T heißt (A, β)-erfüllt, wenn es einen Pfad Pβ in T gibt, so dass
A, β |= F , für jede Formel F auf Pβ .
Definition. T heißt erfüllbar, falls es ein A gibt, so dass für jede
Variablenbelegung β das Tableau T (A, β)-erfüllt ist. (D.h. wir dürfen Pβ
in Abhängigkeit von β wählen.)
[s(0)/x2 ]
546
548
Korrektheit
Striktheitbedingung
Sei M = {F1 , . . . , Fn } eine Formelmenge (so dass Fi keine freien Variablen
enthält).
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 Tableau für {F1 , . . . , Fn }.
{F1 , . . . , Fn } erfüllbar genau dann, wenn T erfüllbar.
Beweis:
“ ⇐ ”: Falls T erfüllbar, so gibt es eine Struktur A, so dass für jede Variablenbelegung
β das Tableau T (A, β)-erfüllt ist,
d.h. es gibt einen Pfad Pβ in T , so dass A, β |= F , für jede Formel F auf Pβ .
Dann ist aber leicht zu sehen, dass A, β |= M (Alle Äste in einem Tableau für M
enthalten implizit alle Formeln in M).
549
Striktheitsbedingung für γ unvollständig
¬[ x p(x) → (p(a) ∧ p(b))]
A
1.
Sei M = {F1 , . . . , Fn } eine Formelmenge (so dass Fi keine freien Variablen
enthält).
A
Korrektheit
551
2.
3.
Theorem
Sei T ein Tableau für {F1 , . . . , Fn }.
{F1 , . . . , Fn } erfüllbar genau dann, wenn T erfüllbar.
11
x p(x)
¬(p(a) ∧ p(b))
4.
12
p(v1 )
2(v1 )
XXXX
X
5.
¬p(a)
31
6.
¬p(b)
32
Beweis von “ ⇒ ” durch Induktion über die Tiefe von T .
Tableau mit Tiefe 1 (mit einem Knoten) erfüllbar wenn {F1 , . . . , Fn } erfüllbar.
Würde die Striktheitsbedingung für γ gelten, wäre das Tableau nur noch
durch Anwendung der Substitutionsregel weiter expandierbar. Aber es gibt
keine Substitution (für v1 ), unter der beide Pfade gleichzeitig abgeschlossen
werden können.
Induktionsvoraussetzung: Implikation gilt für alle Tableaux mit Tiefe ≤ n.
Induktionsschritt: Sei T ein Tableau mit Tiefe n + 1. T entsteht durch eine Erweiterung
mit einer α, β, γ oder δ-Regel aus einem Tableau mit Tiefe ≤ n.
α/β-Regeln: Beweis wie für Aussagenlogik; γ-Regel: Offensichtlich.
Bei δ müssen die Ideen aus dem Beweis der Bewahrung von Erfüllbarkeit bei
Skolemisierung verwendet werden.
550
552
Mehrfachanwendung von γ löst das Problem
Vollständigkeit
A
¬[ x p(x) → (p(a) ∧ p(b))]
A
2.
3.
¬(p(a) ∧ p(b))
12
p(v1 )
2v1
4.
XXXX
X
¬p(a)
5.
31
Theorem
{F1 , . . . , Fn } erfüllbar genau dann, wenn es kein geschlossenes, striktes
(mit Ausnahme von γ) AMGU-Tableau für {F1 , . . . , Fn } gibt.
11
x p(x)
6.
¬p(b)
32
7.
p(v2 )
2v2
Der Punkt ist, dass die verschiedenen Anwendungen von γ auf
jeweils neue freie Variablen für x einsetzen dürfen.
A
1.
Beweis (Idee, Klauseltableaux)
Zum Beweis definiert man einen fairen Tableaux-Expansionssprozess, der gegen ein
unendliches Tableau konvergiert, wo auf jedem Pfad jede γ-Formel in alle Varianten
(modulo Wahl der freien Variablen) expandiert wurde. Man kann dann wieder zeigen,
dass alle Pfade bis auf Redundanz unter Resolution saturiert sind. Hierzu verwendet
man die Lifting-Argumente für Resolutionsinferenzen, um die AMGU-Einschränkung
als vollständig zu beweisen.
x p(x)
Jetzt liefert zweifache Anwendung der AMGU-Regel die Substitution
[a/v1 , b/v2 ] und somit ein geschlossenes Tableau.
553
Wie oft muss γ angewendet werden?
555
Vom Kalkül zur Beweissuchprozedur
• Vollständigkeit der Tableauregeln garantiert nur Existenz eines
geschlossenen Tableaus.
Theorem
Es gibt keine berechenbare Funktion f : ForΣ × ForΣ → N, so dass, falls
eine Satzform F unerfüllbar, es ein geschlossenes Tableau für F gibt,
wobei für Formeln xG , die in T vorkommen, die γ-Regel auf jedem
Pfad, auf dem xG vorkommt, höchstens f (F , xG )-mal angewendet
worden ist.
• Eine systematische Beweissuchprozedur ist notwendig, um einen
Beweis zu finden.
A
A
A
Tableaukonstruktion ist nicht-deterministisch: Choice points
Sonst wäre Unerfüllbarkeit bzw. Gültigkeit in Logik erster Stufe entscheidbar, weil man
nur Tableaux in einer Tiefe aufzählen müsste, die durch f beschränkt wird. Daher sind
Tableaux mit freien Variablen i.allg. notwendigerweise unbeschränkt in ihrer Tiefe.
• Nächster zu betrachtender Ast?
• Abschluss- oder Erweiterung?
A
wirkt wie eine unendliche Konjunktion. Durch iteratives Anwenden von γ, in
Verbindung mit der Substitutionsregel, können alle Instanzen F [t/x] aufgezählt und
untereinander, also konjunktiv, in jedem Pfad durch xF eingesetzt werden.
• Falls Abschluss: Mit welchem Literal-Paar?
A
• Falls Erweiterung: Mit welcher Formel?
554
556
Vom Kalkül zur Beweissuchprozedur
Beispiel
Bevorzugung eines Abschlusses
Schlechte Wahl kann das Finden eines Beweises verhindern!
p(0)
Harmlos: Astauswahl
A
x(p(x) → p(s(x)))
Beliebige Strategie (z.B. links nach rechts) führt zum Erfolg
¬p(s(s(0)))
Mit Fairnessstrategie handhabbar: Formelauswahl
p(X1 ) → p(s(X2 ))
Jede Formel auf jedem Ast, γ-Formeln beliebig oft
¬p(X1 )
Kritisch: Abschluss erfordert Backtracking
VVVVV
VV
ii
iiii
p(X2 ) → p(s(X2 ))
⊥
Alternativ: Keinen Abschluss machen, bis sich alle Äste zugleich schließen
lassen
p(s(X1 ))
(mgu: [0/X1 ])
¬p(X2 )
hh
hhhhh
p(s(X2 ))
...
⊥
(mgu: [0/X2 ])
559
557
Beispiel
Beispiel
Unfaire Bevorzugung einer Formel
Abschluss statt Erweiterung
A
xp(x)
p(a)
|
A
x((p(b) ∧ p(c) → p(x)) → ¬(q(x) → (q(b) ∨ q(c))))
q ∧ ¬q
¬q(d)
|
p(X1 )
((p(b) ∧ p(c) → p(X )) → ¬(q(X ) → (q(b) ∨ q(c))))
ZZZZZZZZ
dd
d
ZZ
d
d
d dddd
|
¬(p(b) ∧ p(c) → p(X ))
p(X2 )
p(b) ∧ p(c)
q(X )
¬p(X )
¬(q(b) ∨ q(c))
¬(q(X ) → (q(b) ∨ q(c))))
...
558
560
Zusammenfassung
Anwendungsbereiche
Prädikatenlogische Tableaukalküle
VERIFIKATION
MATHEMATIK
• γ- und δ-Regel
Aufgaben
− Beweisen
− Beweisuberprufung
• Determinismus der Regeln
• Tableaux mit freien Variablen
neue γ- und neue Abschlussregel
Theorien
• Prädikatenlogische Klauseltableaux
− Zahlen
− Polynomen
• Beweissuchprozedur
Aufgaben
− Programme
− Korrektheit
− Terminierung
− reaktive/hybride
Systeme
− Sicherheit
Theorien
− Zahlen
− Funktionen auf
Zahlenbereichen
− Datentypen
− Funktionen auf
Zahlenbereichen
− Algebren
DATENBANKEN
Aufgaben
− Konsistenz
− Anfragen
beantworten
− Kleiner Suchraum
Theorien
− Logik erster Stufe
− Datalog
− ...
− Komplexe Theorien
− Funktionen
− Zahlen
komplexe Systeme (MAS, mit eingebetteter Software, Datenbanken)
561
563
4. Anwendungen
Anwendungsbereiche
MATHEMATIK
Aufgaben
− Beweisen
− Beweisuberprufung
VERIFIKATION
Aufgaben
− Programme
− Korrektheit
− Terminierung
− reaktive/hybride
Systeme
− Sicherheit
DATENBANKEN
Aufgaben
− Konsistenz
− Anfragen
beantworten
− Kleiner Suchraum
Theorien
− Logik erster Stufe
Formale Methoden − Datalog
Theorien
− ...
− Zahlen
Verfahren:
Probleme
→
7
als
logische
Formeln
kodiert
−
Komplexe Theorien
− Funktionen auf
− Datentypen
Zahlenbereichen
−
Funktionen
- Verifikationsaufgaben:
zu
Erfüllbarkeit/Gültigkeitstests
− Funktionen auf
Zahlenbereichen
− Zahlen
− Algebren
Theorien
− Zahlen
− Polynomen
reduziert
komplexe Systeme (MAS, mit eingebetteter Software, Datenbanken)
562
564
Beispiel: Sicherheitsprotokole
Beispiel: Sicherheitsprotokolle
Das folgende Schlüsselaustauschverfahren wurde 1993 von den beiden Kryptographen Neuman und Stubblebine vorgeschlagen:
Ziel: zwei Personen (Alice und Bob) wollen miteinander kommunizieren
• über ein unsicheres Daten- oder Telefonnetz,
• sicher, d. h., ohne dass ein Eindringling (Charlie) mithören oder sich
als Alice oder Bob ausgeben kann.
Schritt 1:
Alice schickt Bob die Nachricht 1: A, Na.
Die Nachricht enthäIt den Namen von Alice, A, und
eine Zufallszahl Na.
Hilfsmittel: Verschlüsselung
Die Aufgabe von Na liegt darin, diesen Protokollauf
eindeutig zu kennzeichnen, um das wiederholen von
• Alice und Bob vereinbaren einen gemeinsamen Schlüssel
und nutzen ihn, um ihr Gespräch zu verschlüsseln.
Nachrichten durch einen Angreifer sinnlos werden
zu lassen.
• Nur wer den Schlüssel kennt, kann das Gespräch entschlüsseln.
Alice schickt (offen) Identifikation und Zufallszahl an Bob.
567
565
Beispiel: Sicherheitsprotokolle
Beispiel: Sicherheitsprotokolle
Bob schickt die Nachricht 2 : B, E (Kbt, A, Na, Tb), Nb an Trust.
Problem: wie kommen die Gesprächspartner an den gemeinsamen Schlüssel?
Nachdem Bob die Nachricht von Alice erhalten hat, weiss er,
• Persönliche Übergabe kommt nicht immer in Frage.
dass sie einen sicheren Schlüssel mit ihm etablieren will.
• Wird der gemeinsame Schlüssel über das Netz
unverschlüsselt verschickt, könnte Charlie ihn abfangen oder
austauschen.
Deshalb schickt Bob die Nachricht 2 an Trust.
Schritt 2:
Die Nachricht enthält:
- seinen Namen, B,
- einen verschlüsselten Mittelteil
• Annahme: es gibt eine sichere Schlüsselzentrale, mit der Alice und Bob
jeweils einen gemeinsamen Schlüssel vereinbart haben.
- eine von Bob generierte Zufallszahl, Nb,
- Tb: Zeitspanne für die Gültigkeitsdauer des Schlüssels
Der Term E (Kbt, A, Na, Tb) steht für die Nachricht A, Na, Tb
verschlüsselt mit dem Schlüssel Kbt, dem sicheren Schlüssel
zwischen Bob und Trust.
Bob leitet Nachricht weiter an Schlüsselzentrale ( Trust“).
”
566
568
Beispiel: Sicherheitsprotokolle
Beispiel: Sicherheitsprotokolle
Trust schickt die Nachricht 3
Bob liest Nachricht 4, entschlüsselt den ersten Teil und erhält
E (Kat, B, Na, Kab, Tb), E (Kbt, A, Kab, Tb), Nb an Alice.
Schritt 3:
Nachdem Trust Bob’s Nachricht gelesen und entschlüsselt hat,
so auch den Schlüssel Kab.
Schritt 5:
Diesen verwendet er dann zur Entschlüsselung des zweiten
generiert er den sicheren Schlüssel Kab für die Kommunikation
Teils und vergleicht die enthaltene Zufallszahl Nb mit der,
zwischen Alice und Bob.
die er ursprünglich in Nachricht 2 an Trust schickte.
Er verschickt den Schlüssel mit Nachricht 3 an Alice.
Auf diese Weise ist sich Bob sicher, dass die Nachricht
Der erste Teil der Nachricht kann von Alice entschlüsselt werden,
von Alice stammt und Kab der gewünschte Schlüssel ist.
während sie den zweiten Teil später einfach an Bob weiterleitet,
siehe Schritt 4.
Trust schickt Nachricht an Alice. Darin: ein neuer gemeinsamer Schlüssel,
einmal für Alice und einmal für Bob verschlüsselt.
Alice und Bob können nun mit dem gemeinsamen Schlüssel kommunizieren.
569
571
Beispiel: Sicherheitsprotokolle
Beispiel: Sicherheitsprotokolle
Alice schickt die Nachricht 4:
A, Na
1.
A
2.
B
B, Nb , EKbt (A, Na , Tb )
T
3.
T
EKat (B, Na , Kab , Tb ), EKbt (A, Kab , Tb ), Nb
A
4.
A
EKbt (A, Kab , Tb ), EKab (Nb )
B
B
E (Kbt, A, Kab, Tb), E (Kab, Nb) an Bob.
Schritt 4:
Alice liest Nachricht 3, entschlüsselt den ersten Teil durch
den gemeinsamen Schlüssel Kat mit Trust und erhält so den
neuen Schlüssel Kab, um mit Bob zu kommunizieren.
Sie leitet den zweiten Teil von Trust’s Nachricht an Bob weiter
und fügt die Nachricht E (Kab, Nb) hinzu.
Alice leitet den neuen gemeinsamen Schlüssel weiter an Bob.
570
572
Beispiel: Sicherheitsprotokolle
Formalisierung der Eigenschaften des Protokolls
Ist das Verfahren sicher?
1. A, Na
(1) Ak(key (at, t))
(2) M(sent(a, b, pair (a, na)))
Formel (1) beschreibt, dass Alice am Anfang den Schlüssel at für die Kommunikation
mit Trust besitzt. (Wir lassen “K ” bei der Benamung von Schlüsseln weg.)
Formel (2) formalisiert Nachricht 1.
Nachrichten werden durch die dreistellige Funktion “sent” ausgedrückt, wobei das
erste Argument den Absender bezeichnet, das zweite den Empfänger und das dritte
den Inhalt der Nachricht.
Die Konstante a bezeichnet Alice, b Bob, t Trust und i Intruder.
Wir übersetzen das Problem in Formeln und lassen sie von einem
Theorembeweiser untersuchen.
Die Funktionen “pair” (triple, quadr) gruppieren Sequenzen von Nachrichten
entsprechender Länge.
573
Beispiel: Sicherheitsprotokolle
575
Formalisierung der Eigenschaften des Protokolls
Zuerst formalisieren wir die Eigenschaften des Protokolls:
2. B, Nb, E (Kbt, A, Na, Tb)
• Wenn Alice/Bob/Trust eine Nachricht in einem bestimmten Format
bekommt, dann schickt er/sie eine andere Nachricht ab.
(3) Bk(key (bt, t))
A
(4)
xa, xna[M(sent(xa, b, pair (xa, xna))) →
M(sent(b, t, triple(b, nb(xna), encr (triple(xa, xna, tb(xna)), bt)))))]
Formel (3): Bob besitzt den Schlüssel bt zur Kommunikation mit Trust.
Dann formalisieren wir die Eigenschaften des Angreifers:
Formel (4): Wann immer er eine Nachricht in der Form von Nachricht 1 erhält
(Formel 2), schickt er die Anfrage nach einem Schlüssel an Trust wie in Nachricht
2 festgelegt.
• 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.
Die Verschlüsselung wird mit Hilfe der zweistelligen Funktion “encr” beschrieben.
Das erste Argument der Funktion ist die zu verrschlüsselnde Nachricht und das zweite
Argument der benutzte Schlüssel.
• Wenn Charlie eine Nachricht hat, dann kann er sie an Alice/Bob/Trust
abschicken.
Alle Symbole die mit einem kleinen x anfangen, bezeichnen Variablen.
Die Funktionen nb und tb generieren Bob’s Zufallszahl und Ablaufdatum
aus xna, xa’s (Alice’s ) Zufallszahl.
...
574
576
Formalisierung der Eigenschaften des Protokolls
Formalisierung des Angreifers
Der Angreifer wird als unermüdlicher Hacker implementiert, der keine
Möglichkeit unversucht lässt, das Protokoll anzugreifen.
3. E (Kat, B, Na, Kab, Tb), E (Kbt, A, Kab, Tb), Nb
(5) Tk(key (at, a))) ∧ Tk(key (bt, b))
Er hört alle Nachrichten ab und zerlegt sie in ihre Bestandteile, solange er
dazu nicht einen Schlüssel braucht, den er nicht hat.
A
(6)
xb, xnb, xa, xna, xbet, xbt, xat, xk
[(M(sent(xb, t, triple(xb, xnb, encr (triple(xa, xna, xbet), xbt)))) ∧
Tk(key (xbt, xb)) ∧ Tk(key (xat, xa))) →
M(sent(t, xa, triple(encr (quadr (xb, xna, kt(xna), xbet), xat),
encr (triple(xa, kt(xna), xbet), xbt),
xnb)))]
Die Bestandteile werden dann auf jeder Art und Weise zu neuen Nachrichten
beliebiger Länge komponiert.
Jeder Bestandteil wird als Schlüssel in Betracht gezogen und sowohl zum
verschlüsseln als auch zum entschlüsseln verwendet.
(5) Trust besitzt die Schlüssel für Alice und Bob und ...
Alle so generierten Nachrichten werden verschickt.
(6) ... antwortet entsprechend des Protokolls auf Nachricht 2.
Die Menge aller Nachrichten(teile), die der Intruder so erhält, wird durch
das Prädikat “Im” ausgedrückt.
Entschlüsselung wird hierbei durch Unifikation mit einer entsprechenden Termstruktur
realisiert, wobei zusätzlich überprüft wird, dass Trust die benötigten Schlüssel auch
besitzt.
Trust generiert den neuen Schlüssel durch die Funktion kt aus der Zufallszahl xna.
577
579
Formalisierung der Eigenschaften des Protokolls
Der Angreifer
• Die Teilnehmer (Participants) sind Alice, Bob, Trust und Intruder:
4. E (Kbt, A, Kab, Tb), E (Kab, Nb)
xnb, xbet, xk, xm, xb, xna
[M(sent(t, a, triple(encr (quadr (xb, xna, xk, xbet), at), xm, xnb)) →
(M(sent(a, xb, pair (xm, encr (xnb, xk)))) ∧ Ak(key (xk, xb)))]
• Intruder hört alle Nachrichten ab.
(10)
u, v [Im(pair (u, v )) → (Im(u) ∧ Im(v ))]
(12)
(13)
(14)
A
578
(11)
A
Formel (8) beschreibt Bob’s Verhalten nachdem er Alices Nachricht erhalten hat.
Bob entschlüsselt die Nachricht und extrahiert den neuen Schlüssel.
• Er dekomponiert und entschlüsselt alle Nachrichten, soweit er dafür den Schlüssel
besitzt.
A
Formel (7): Alice antwortet in korrekter Weise auf Nachricht 3 und merkt sich den
neuen Schlüssel.
xa, xb, xm[M(sent(xa, xb, xm)) → Im(xm)]
A
A
xbet, xk, xnb, xa, xna
[M(sent(xa, b, pair (encr (triple(xa, xk, tb(xna)), bt), encr (nb(xna), xk))) →
Bk(key (xk, xa))]
A
(8)
(9) P(a) ∧ P(b) ∧ P(t) ∧ P(i)
A
(7)
u, v , w [Im(triple(u, v , w )) → (Im(u) ∧ Im(v ) ∧ Im(w ))]
u, v , w , z[Im(quadr (u, v , w , z)) → (Im(u) ∧ Im(v ) ∧ Im(w ) ∧ Im(z))]
u, v , w [(Im(encr (u, v )) ∧ Ik(key (v , w )) → Im(u)]
580
Der Angreifer
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.
• Alle Nachrichten(teile) werden auf alle möglichen Arten neu komponiert.
(15)
A
(16)
A
(17)
A
u, v [(Im(u) ∧ Im(v ) → Im(pair (u, v ))]
u, v , w [(Im(u) ∧ Im(v ) ∧ Im(w )) → Im(triple(u, v , w ))
u, v , w , z[(Im(u) ∧ Im(v ) ∧ Im(w ) ∧ Im(z)) → Im(quadr (u, v , w , z))
Dieser antwortet “erfüllbar”.
Das beweist dann automatisch, dass der Angreifer das Protokoll brechen
kann und der kritische Schlüssel die Zufallszahl Na ist.
• Jeder Nachrichtenteil wird auch als Schlüssel aufgefasst und zur Verschlüsselung
benutzt.
(18)
A
(19)
A
u, v , w [(Im(v ), P(w ) → Ik(key (v , w ))]
u, v , w [(Im(v ), P(w ), Ik(key (v , w ))) → Im(encr (u, v ))]
• Der Angreifer schickt alles was er hat an jeden.
A
(20)
x, y , u[(P(x) ∧ P(y ) ∧ Im(u)) → M(sent(x, y , u))]
581
Formalisierung
583
Beispiel: Sicherheitsprotokolle
Zum Schluss müssen wir noch formalisieren was es bedeutet, dass der
Angreifer Erfolg hat.
Was kann passieren?
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))]
Charlie fängt die letzte Nachricht von Alice ab.
582
584
Beispiel: Sicherheitsprotokolle
Beispiel: Sicherheitsprotokolle
Intruder schickt die Nachricht 5:
Was kann passieren?
E (Kbt, A, Na, Tb), E (Na, Nb) an Bob.
Was kann passieren?
Das Problem des Protokolls liegt darin, dass die Nachricht
E (Kbt, A, Kab, Tb) in Nachricht 4 und die Nachricht
E (Kbt, A, Na, Tb) in Nachricht 2 fast identisch sind.
Die beiden Nachrichten unterscheiden sich nur an der 2. Position.
(Nachricht 4 enthält dort den Schlüssel Kab,
Nachricht 2 die Zufallszahl Na.)
Da der Intruder alle Nachrichten lesen und auch selbst
Nachrichten schicken kann, fängt er also Nachricht 4 ab,
wiederholt den obigen Teil aus Nachricht 2 und fügt
E (Na, Nb) hinzu.
Die beiden Zufallszahlen wurden bereits unverschlüsselt verschickt.
Bob startet Kommunikation mit Alice . . .
Charlie schickt eine veränderte Nachricht an Bob.
585
Beispiel: Sicherheitsprotokolle
587
Beispiel: Sicherheitsprotokolle
Was kann passieren?
Was kann passieren?
Bob entschlüsselt die Nachricht und denkt, sie komme von Alice,
und dass Na der sichere Schlüssel zur Kommunikation mit Alice ist.
. . . aber spricht in Wirklichkeit mit Charlie.
586
588
Beispiel: Sicherheitsprotokolle
Andere Anwendungsbereiche
Der Fehler ist tatsächlich leicht zu beheben.
VERIFIKATION
Theorien
Dieser Angriff lässt sich reparieren, in dem man die Elemente des Protokolls
typisiert, so dass Zufallszahlen und Schlüssel nicht mehr austauschbar sind.
− Zahlen
− Polynomen
Theorien
− Zahlen
− Funktionen auf
Zahlenbereichen
Dies lässt sich dann auch wieder formalisieren;
der Theoremenbeweise antwortet jetzt “unerfüllbar”.
Aufgaben
− Programme
− Korrektheit
− Terminierung
− reaktive/hybride
Systeme
− Sicherheit
− Algebren
− Datentypen
− Funktionen auf
Zahlenbereichen
Beispiel: Geometrie
a
d
(A1)
(A2)
A A A A
Aufgaben
− Beweisen
− Beweisuberprufung
Mit ein wenig Erfahrung erkennt man aus der Ausgabe des Theorembeweisers, wie es geht.
A A A A
MATHEMATIK
b
c
x y u v (T (x, y , u, v )→P(x, y , u, v )
x y u v (P(x, y , u, v )→E (x, y , v , u, v , y )
(A3) T (a, b, c, d)
A1 ∧ A2 ∧ A3 → E (a, b, d, c, d, b)
589
591
Beispiel: Sicherheitsprotokolle
Andere Anwendungsbereiche
Literatur
MATHEMATIK
[1] Neuman, B. C. and Stubblebine, S. G., 1993, A note on the use of
timestamps as nonces, ACM SIGOPS, Operating Systems Review, 27(2),
10-14.
Aufgaben
− Beweisen
− Beweisuberprufung
Theorien
[2] Weidenbach, C., 1999, Towards an automatic analysis of security
protocols in first-order logic, in H. Ganzinger, ed., 16th International
Conference on Automated Deduction, CADE-16, Vol. 1632 of LNAI,
Springer, pp. 378-382.
− Zahlen
− Polynomen
− Funktionen auf
Zahlenbereichen
− Algebren
590
VERIFIKATION
Aufgaben
− Programme
− Korrektheit
− Terminierung
− reaktive/hybride
Systeme
− Sicherheit
Theorien
− Zahlen
− Datentypen
− Funktionen auf
Zahlenbereichen
Beispiel: Programmverifikation
int [] BubbleSort(int[] a) {
int i, j, t;
for (i := |a| − 1; i > 0; i := i − 1) {
for (j := 0; j < i; j := j + 1) {
if (a[j] > a[j + 1]){t := a[j];
a[j] := a[j + 1];
a[j + 1] := t};
}} return a}
592
Andere Anwendungsbereiche
Beispiel: ETCS Fallstudie
AVACS: ETCS Fallstudie [Jacobs,VS’06,’07; Faber,Jacobs,VS’07]
Controllers
MATHEMATIK
Aufgaben
− Beweisen
− Beweisuberprufung
Theorien
RBC
VERIFIKATION
Aufgaben
− Programme
− Korrektheit
− Terminierung
− reaktive/hybride
Systeme
− Sicherheit
braking + reaction
distance
Überprüfe:
− Zahlen
− Polynomen
Theorien
− Zahlen
− Funktionen auf
Zahlenbereichen
− Algebren
• Kein “overflow”
• Substanzen in der richtigen Proportion
• ... andernfalls:
− Datentypen
− Funktionen auf
Zahlenbereichen
Tank kann in ≤ 200s geleert werden.
Anzahl der Züge:
n>0
Z
Minimaler sicherer Abstand:
lalarm > 0
R
Minimale / maximale Geschwindigkeit : 0 ≤ min < max R
Zeit zwischen Updates:
∆t > 0
R
′
Zugpositionierung vor/nach Update:
pos, pos
:Z→R
593
Weitere Anwendungebereiche
595
Beispiel: ETCS Fallstudie
AVACS: ETCS Fallstudie [Jacobs,VS’06,’07; Faber,Jacobs,VS’07]
Controllers
− Zahlen
− Polynomen
− Funktionen auf
Zahlenbereichen
− Algebren
braking + reaction
distance
Zugkontrollsysteme
Update(pos, pos′ ) :
RBC
Theorien
− Zahlen
− Datentypen
− Funktionen auf
Zahlenbereichen
•
•
braking + reaction
distance
...
• Task: Keine Kollision
i (i = 0 → pos(i) + ∆t∗min ≤ pos ′ (i) ≤ pos(i) + ∆t∗max)
i (0 < i < n ∧ pos(i − 1) > 0 ∧ pos(i − 1) − pos(i) ≥ lalarm
→ pos(i) + ∆t ∗ min ≤ pos ′ (i) ≤ pos(i) + ∆t∗max)
Induktive Invariante: Keine Kollision
Sicher(pos)∧Update(pos, pos′ )∧¬Sicher(pos′ ) |=⊥
594
Sicher(pos) :
A
Theorien
Aufgaben
− Programme
− Korrektheit
− Terminierung
− reaktive/hybride
Systeme
− Sicherheit
A
Aufgaben
− Beweisen
− Beweisuberprufung
RBC
VERIFIKATION
A
MATHEMATIK
i, j(i<j→pos(i)>pos(j))
596
Weitere Logiken
Weitere Logiken
• Alternativen zur klassischen Logik
• Alternativen: z.B. Mehrwertige Logiken.
• Erweiterungen der klassischen Logik
Wahrheitswerten: Menge W mit 0, 1 ∈ W
z.B: W = {0, 1, unbekannt}
W = {0, n1 , n2 , . . . ,
n−1
, 1}
n
oder W = [0, 1].
In neuerer Zeit haben mehrwertige Logiken im Bereich der Informatik hohe
praktische Bedeutung gewonnen.
Sie ermöglichen den Umgang mit der Tatsache, dass Datenbanken nicht
nur eindeutig bestimmte, sondern auch unbestimmte, fehlende oder sogar
widersprüchliche Informationen enthalten können.
597
599
Weitere Logiken
Weitere Logiken
• Alternativen: z.B. Mehrwertige Logiken
• Erweiterungen:
Ausgangspunkt für die Entwicklung mehrwertiger Logiken war die Frage, ob
Annahme, das es nur zwei Wahrheitswerte 0 (falsch) und 1 (wahr) geben
kann nicht zu Einschränkungen führen kann.
In einer nichtklassischen Erweiterung der klassischen Logik werden
zusätzliche logische Operatoren hinzugefügt.
Für Aussagen über die Zukunft stellte bereits Aristoteles diese Frage, indem
er argumentierte, dass die Wahrheit einer Aussage wie
“Morgen wird eine Seeschlacht stattfinden”
erst am Abend des morgigen Tages feststehen wird und dass sie bis zu
diesem Zeitpunkt noch als unbestimmt betrachtet werden muss.
• Modale Logiken: Zusätzliche logische Operatoren:
“2”: steht für “Es ist notwendig, dass...”.
“3”: steht für “Es ist möglich, dass...”.
• Dynamische Logik: Zusätzliche logische Operatoren:
[α], <α>, α Programm.
[α]F : F gilt nach jeder Ausführung von α
<α>: es gibt eine Ausführung von α nach der F gilt
598
600
Weitere Logiken
Logik höherer Stufe
• Erweiterungen:
Logik höherer Stufe erweitert die Prädikatenlogik erster Stufe um die
Möglichkeit, über alle Relationen/Funktionen zu quantifizieren.
In einer nichtklassischen Erweiterung werden zusätzliche logische Operatoren
hinzugefügt.
• Temporale Logiken: Erweiterungen der Logik, durch die zeitliche
Abläufe erfasst werden können.
Die Aussagenlogik kann Aussagen, deren Wahrheitswerte sich mit der
Zeit ändern, nicht oder nur mit Mühe adäquat behandeln.
So ist “Es regnet” nur wahr, wenn es am Ort und zur Zeit der
Äusserung gerade regnet, sonst nicht.
Klassische Logiken zählen daher den Äußerungszeitpunkt zu den
Wahrheitsbedingungen.
601
Weitere Logiken
603
Acknowledgements
• Erweiterungen:
Für die Vorbereitung der Vorlesungsmaterialien habe ich Material zu den Vorlesungen
von:
In einer nichtklassischen Erweiterung werden zusätzliche logische Operatoren
hinzugefügt.
• Bernhard Beckert (Logik für Informatiker“, gehalten an der Universität
Koblenz-Landau)
• Temporale Logiken: Erweiterungen der Logik, durch die zeitliche
Abläufe erfasst werden können.
• Harald Ganzinger, Uwe Waldmann, Viorica Sofronie-Stokkermans (Äutomated
Reasoning“, gehalten an der Universität des Saarlandes)
• Ulrich Furbach (Logik für Informatiker“, gehalten an der Universität KoblenzLandau) benutzt.
Zeitlogiken führen Operatoren ein, so dass jeder Fall der Äusserung
des Satzes unter denselben Wahrheitsbedingungen steht.
Material aus anderen Vorlesungen:
Diese Operatoren lassen es zu, differenziertere zeitliche Aussagen
logisch zu analysieren, so dass der Wahrheitswert von “Es hat
geregnet”, “Es wird regnen”, “Es regnet immer” von der Erfüllung von
“Es regnet” zu bestimmten Zeitpunkten abhängig ist.
• Ulrich Furbach: Logic for Computer Scientists. Vorlesungsskriptum und Wikibook
• Harald Ganzinger, Viorica Sofronie-Stokkermans, Uwe Waldmann: Folien Äutomated ReasoningSSS 2004. Online: http://www.mpi-inf.mpg.de/ uwe/lehre/autreas/readings.html.
Temporale Logik wird in der Informatik für die Programm Spezifikation
und Verifikation benutzt.
• Gert Smolka: Einführung in die Computationale Logik; SS 2003. Online at
http://www.ps.uni-sb.de/courses/cl-ss03/skript/.
602
604
Literatur
Aussagenlogik, Prädikatenlogik:
• Melvin Fitting: First-Order Logic and Automated Theorem Proving. SpringerVerlag, New York, 1996.
• Uwe Schöning Logik für Informatiker. Spektrum Akademischer Verlag, 2000
• Huth and Ryan: Logic in Computer Science. modelling and reasoning about
systems. Cambridge University Press, 2004.
• Armin Biere, Marijn Heule, Hans van Maaren, Toby Walsh (Editors) Handbook
of Satisfiability IOS Press, 2009
605
Herunterladen