Beruflich Dokumente
Kultur Dokumente
Viorica Sofronie-Stokkermans
Rolle der Logik in der Informatik
1 3
2 4
Modellierung Beispiel: Aufzug
F.nach oben
unten unten
5 7
F.nach unten
mitte mitte
F.nach unten
unten unten unten
unten unten
6 8
Modellierung: Strukturen Formale Logik
oben Aufzug oben oben oben Aufzug oben
Mitte gedruckt Mitte gedruckt
• Syntax
welche Formeln?
F.nach unten F.nach unten
mitte mitte Aufzug mitte mitte
Unten gedruckt
Aufzug mitte • Semantik
Modelle (Strukturen)
F.nach unten
Wann ist eine Formel wahr (in einer Struktur)?
unten unten unten
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln
9 11
mitte
F.nach unten
mitte Aufzug mitte mitte
F.nach unten Beispiele: Aufzug ist oben:
Aufzug mitte
Unten gedruckt
AufzugOben
F.nach unten
unten unten unten
Mittlerer Knopf gedrückt:
MitteGedrückt
10 12
Aussagenlogik: Syntax Aussagenlogik: Semantik
Komplexe Aussagen: Der Aufzug ist oben und der Aufzug ist nicht unten
Wenn mittlerer Knopf gedrückt, dann Aufzug nicht in der Mitte falsch in: oben
MitteGedrückt → ¬AufzugMitte
AufzugOben ∧ ¬AufzugUnten
F.nach unten
unten
13 15
Der Aufzug ist oben und der Aufzug ist nicht unten • Deduktionsmechanismus
AufzugOben ∧ ¬AufzugUnten Ableitung neuer wahrer Formeln
oben Aufzug oben
wahr in: Mitte gedruckt
Syllogismen:
Beispiel:
unten
14 16
Aussagenlogik: Deduktionsmechanismus Prädikatenlogik
• Resolutionskalkül • Funktionen
+, Mitte von, Vater von, Anfang von, ...
• Tableaukalkül
• DPLL
17 19
18 20
Beispiel: Tante Agatha Beispiel: Tante Agatha
Zuerst formalisieren wir das Problem: Der Butler hasst jeden, der nicht reicher ist als Tante Agatha.
A
Jemand, der in Schloss Dreadbury wohnt, hat Tante Agatha ◮ x (¬
¬ reicher(x, a) → hasst(b, x))
ermordet.
Der Butler hasst jeden, den Tante Agatha gehasst hat.
E
◮ x (schlossbewohner(x) ∧ ermordet(x, a)) A
◮ x (hasst(a, x) → hasst(b, x))
Agatha, ihr Butler und ihr Neffe Charles waren die einzigen
Niemand hasst jeden.
Bewohner von Schloss Dreadbury. E A
A ◮ x y (¬
¬ hasst(x, y ))
◮ x (schlossbewohner(x) ↔ (x = a ∨ x = b ∨ x = c))
Agatha war nicht der Butler.
◮ ¬a=b
21 23
Ein Mörder hasst immer sein Opfer und ist niemals reicher als sein • Deduktionsmechanismus
Opfer. Ableitung neuer wahrer Formeln
A
◮ x, y (ermordet(x, y ) → hasst(x, y ))
A
x, y (ermordet(x, y ) → ¬ reicher(x, y ))
Syllogismen:
Charles hasst niemanden, den Tante Agatha gehasst hat.
A A A
◮ x (hasst(c, x) → ¬ hasst(a, x)) x(P(x) → Q(x)) x(Q(x) → R(x))
A
x(P(x) → R(x))
Agatha hat jeden gehasst außer ihrem Butler.
A
◮ x (¬
¬ hasst(a, x) ↔ x = b)
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.
25 27
Nun können wir aus den Formeln neue Formeln ableiten. In dieser Vorlesung:
Beispielweise so: • Resolutionskalkül
• Tableaukalkül
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
Vollständigkeit Vollständigkeit
Gültige Formel Beweisbare Formel Gültige Formel Beweisbare Formel
Korrektheit Korrektheit
29 31
Formalisierung
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
Logische Sprache: Syntax
- Analytische Tableaux; DPLL
Modellierung
Aussagenlogik / Prädikatenlogik • 3. Prädikatenlogik
• Ziel und Rolle der Formalen Logik in der Informatik Mathematische Aussagen
• Modellierung, Adäquatheit der Modellierung - haben oft die Form: Wenn A, dann B.
• Wesentliche Komponenten für jede Logik: Syntax, Semantik, - als Formel: A → B
Deduktionsmechanismus (Kalkül)
33 35
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
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: - Äquivalenzbeweis (A ⇔ B) (A genau dann, wenn B)
Beweis von ¬B → ¬A. 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
37 39
- Beweis durch Widerspruch: Behauptung: Jede Primzahl p≥3 hat die Form p = 4·k±1 mit einer natürlichen Zahl k.
Beweise dass A ∧ ¬B → falsch
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 1. p = 4k
Zahl, so ist diese gerade. 2. p = 4k + 1
3. p = 4k + 2
4. p = 4k + 3 = 4(k + 1) − 1
√
Beweis: Angenommen, n = k wäre ungerade. Dann ist wegen der bereits be- Im ersten dieser Fälle ist p durch 4 teilbar und damit keine Primzahl, im dritten Fall ist p
wiesenen Behauptung auch k 2 = n ungerade, und das ist ein Widerspruch zu der durch 2 teilbar und somit ebenfalls keine Primzahl.
Voraussetzung, dass n gerade ist. Also muss einer der Fälle zwei oder vier eintreten, das heißt p hat die Form p = 4 · k ± 1
√
Also ist die getroffene Annahme falsch, d.h., n ist gerade. mit einer natürlichen Zahl k.
38 40
Grundlegende Beweisstrategien Grundlegende Beweisstrategien
41 43
A √ √
Behauptung: n ∈ N : (n ist gerade und n ist eine natürliche Zahl → n ist gerade).
| {z } | {z }
p(n) q(n)
√
Beweis: Sei n beliebig aus N. Wir zeigen, dass wenn n gerade ist und n eine natürliche
√
Zahl ist, dann n gerade ist (das wurde auf Seite 6 bewiesen).
42 44
Induktion Induktion über die natürlichen Zahlen
Wesentliches Beweisprinzip in Mathematik und Logik Idee: Definition der natürlichen Zahlen
45 47
Induktionssatz
Gelten die beiden Aussagen:
Allgemein heißt eine geordnete algebraische Struktur - p(0) und
A
noethersch, wenn es in ihr keine unendlich absteigenden - n ∈ N : p(n) → p(n + 1),
A
dann gilt auch n ∈ N : p(n).
Ketten gibt.
46 48
Induktion über die natürlichen Zahlen Induktion über die natürlichen Zahlen
(A5) Jede Menge X , die 0 und mit jeder natürlichen Zahl n Struktur eines Induktionsbeweises
auch deren Nachfolger S(n) enthält, umfasst alle (1) Induktionsbasis: Beweise p(0)
natürlichen Zahlen.
(2) Induktionsvoraussetzung: Für ein beliebig gewähltes
A
X Menge: Falls 0 ∈ X , und n ∈ N gilt p(n)
A
n ∈N:n ∈X →n+1∈X (3) Induktionsschluss: Folgere p(n + 1) aus der
so
A
n∈N:n∈X Induktionsvoraussetzung p(n)
Induktionssatz
Gelten die beiden Aussagen:
- p(0) und Induktionsbasis
A
- n ∈ N : p(n) → p(n + 1), Induktionsschritt
A
dann gilt auch n ∈ N : p(n).
49 51
50 52
Beispiel Beispiel
Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 . Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 .
n−1 n−1
X
X n−1
Für alle n ∈ N, (2i + 1) = n2 . n−1 Für alle n ∈ N, (2i + 1) = n2 . X
(2i + 1) = n2
X
p(n) : (2i + 1) = n2 p(n) :
i=0 i=0
i=0 i=0
n
X n−1
X p(n) 2 2
Beweis: (2i + 1) = ( (2i + 1)) + (2n + 1) = n + (2n + 1) = (n + 1) .
i=0 i=0
53 55
54 56
Wohlfundierte (Noethersche) Induktion Beispiel
57 59
Verallgemeinerte vollständige Induktion Satz: Jede natürliche Zahl lässt sich als Produkt von Primzahlen darstellen.
Gelten die beiden Aussagen: p(n): n lässt sich als Produkt von Primzahlen darstellen.
p(0) und
A Beweis: Sei n ∈ N beliebig gewählt.
n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1)
dann gilt die Aussage
A
n ∈ N : p(n). Induktionsvoraussetzung: p(k) gilt für alle k < n
Induktionsschluss: Folgere p(n) aus der Induktionsvoraussetzung
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)) Da aber ki < n, i = 1, 2 ist nach Induktionsvoraussetzung bereits eine
A Darstellung als Produkt von Primzahlen für ki bekannt.
dann gilt die Aussage n ∈ N : p(n).
Multipliziert man diese beiden Produkte miteinander, so erhält man
eine Darstellung für n.
58 60
Wohlfundierte (Noethersche) Induktion Wohlfundierte (Noethersche) Induktion
Theorem: Theorem:
A A A A
Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P
A A
dann gilt n ∈ N : p(n) Q dann gilt n ∈ N : p(n) Q
Beweis: Zu zeigen: P → Q
Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P
A E Verallgemeinerung
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. - < wohlfundiert (es gibt keine unendliche Folge x1 , . . . , xn , . . . mit
E A
m(m ∈ Y ∧ ( k ∈ N : (k < m → k 6∈ Y ))) = ¬P. x1 > x2 > · · · > x n > . . . )
61 63
Definition:
Theorem:
A A Eine binäre Relation R über einer Menge A ist eine Teilmenge von A × A.
Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P
R binäre Relation: R ⊆ A × A.
A
dann gilt n ∈ N : p(n) Q
Statt (x, y ) ∈ R schreiben wir: R(x, y ) oder xRy .
Beweis: Zu zeigen: P → Q
Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P
A E
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.
E A
m(m ∈ Y ∧ ( k ∈ N : (k < m → k 6∈ Y ))) = ¬P.
62 64
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.
A A
• R ist reflexiv: x ∈ A(xRx) • R ist reflexiv: x ∈ A(xRx)
A A
• R ist transitiv: x, y , z ∈ A(xRy ∧ yRz → xRz) • R ist transitiv: x, y , z ∈ A(xRy ∧ yRz → xRz)
A A
• R ist antisymmetrisch x, y ∈ A(xRy ∧ yRx → x = y ) • R ist antisymmetrisch x, y ∈ A(xRy ∧ yRx → x = y )
Beispiele:
• (N, ≤)
65 67
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′ . Definition: x < y gdw.: (x ≤ y und x 6= y ) (für x, y ∈ A)
m ist ein Minimales Element von A′ , gdw.: es gibt kein x ∈ A′ mit
x ≤ m, x 6= m.
69 71
Definition: Sei (A, R) eine partiell geordnete Menge. Sei (A, ≤) eine partiell geordnete Menge.
SeiA′ ⊆ A, und m ∈ A′ . Definition: x < y gdw.: (x ≤ y und x 6= y ) (für x, y ∈ A)
m ist ein Minimales Element von A′ , gdw.: es gibt kein x ∈ A′ mit
x ≤ m, x 6= m.
Definition (Noethersch / wohlfundiert)
• (N, ≤). Sei A′ = {3, 5, 7, 9} ⊆ N. Es gibt keine unendlich absteigende Kette in A, das heißt:
3 ist ein Minimales Element von A′ . Es gibt keine unendliche Folge (xi )i∈N , mit
• Sei (A, R) wobei • xi ∈ A für alle i ∈ N und
A = {a, b, c, d} und • xi+1 < xi für alle i ∈ N.
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
73 75
Lemma. Lemma.
(A, ≤) ist noethersch (wohlfundiert) gdw.: jede nicht-leere Teilmenge von (A, ≤) ist noethersch (wohlfundiert) gdw.: jede nicht-leere
A hat (mindestens) ein Minimales Element. 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 Es genügt nicht, dass A ein minimales Element hat (selbst dann nicht, wenn
enthält. Sei x1 ∈ A′ . Da x1 nicht minimal ist, gibt es x2 ∈ A′ mit x2 < x1 . ≤ total ist).
Da x2 nicht minimal ist, gibt es x3 ∈ A′ mit x3 < x2 < x1 . Wir können
Beispiel:
deswegen eine unendliche absteigende Kette von Elementen aus A bilden, 1
d.h. A ist nicht noethersch. (0 ∪ { | n ∈ N}, ≤)
n
74 76
Verallgemeinerte vollständige Induktion Verallgemeinerte vollständige Induktion
Theorem: Theorem:
A A A A
Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P
A A
dann gilt n ∈ N : p(n) Q dann gilt n ∈ N : p(n) Q
77 79
78 80
Wohlfundierte (Noethersche) Induktion Fehlerquellen
Sei (A, ≤) noethersch (wohlfundiert).
Sei p ein Prädikat auf A, d.h., eine Funktion p : A → {wahr , falsch} Was ist hier falsch?
(Eigenschaft der Elementen aus A, die wahr oder falsch sein kann.)
Induktionbasis: n = 1
Beweis: zu zeigen: P → Q. Kontrapositionsbeweis: ¬Q → ¬P Für eine Menge mit nur einem Menschen gilt die Behauptung trivial
A E
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 > . . . .
Sei Y = {y ∈ X | ¬p(y )} 6= ∅. Dann hat Y ein minimales Element x0 , d.h.
E A
x0 (x0 ∈ Y ∧( y ∈ X : (y < x0 → y 6∈ Y ))) = ¬P.
| {z } | {z }
¬p(x0 ) y <x0 →p(y )
81 83
Fehlerquellen Fehlerquellen
• 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
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
Induktionsschritt: Beweise, dass aus p(n), p(n + 1) folgt.
(A × B, ≤produkt ) noethersch.
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
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
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:
Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤) noethersch. (A × B, ≤) noethersch.
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:
Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤) noethersch. (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
Fall 1: Die ersten Komponenten sind alle gleich: Dann y1 ≥B y2 ≥B . . . . (B, ≤B ) Sei m = max(m1 , m2 ). Dann (xm , ym ) = (xi , yi ) für alle i ≥ m.
noethersch ist, es gibt m1 so dass xm1 = xj für alle j ≥ m1 . Das zeigt, dass (A × B, ≤) noethersch ist.
90 92
Beispiel für Induktion: Ackermann-Funktion Beispiel für Induktion: Ackermann-Funktion
8
< y +1 falls x = 0
8 >
>
< y +1 falls x = 0
>
>
ACK (x, y ) = ACK (x − 1, 1) falls x 6= 0 und y = 0
ACK (x, y ) = 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 − 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, Induktionsschritt: Beweis durch Fallunterscheidung
extrem schnell wachsende mathematische Funktion, mit deren Hilfe in der
• m = 0: ACK (0, n) = n + 1 (definiert)
theoretischen Informatik Grenzen von Computer- und Berechnungsmodellen
aufgezeigt werden können. • 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
Theorem. ACK ist eine totale Funktion auf N × N. • Noethersche (wohlfundierte) Menge
• Produktordnung/Lexikographische Ordnung
94 96
2. Aussagenlogik Beispiel: Das 8-Damen Problem
Dij
Mit der Vorstellung, dass Dij den Wert wahr hat, wenn auf dem Feld (i, j)
eine Dame steht.
97 99
Man platziere acht Damen so auf einem Schachbrett, dass sie sich Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr.
gegenseitig nicht bedrohen.
Einschränkungen pro Feld: Fij
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
• keine andere Dame auf Feld D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87
(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
| {z }
(1,7), (2,7), (3,7), (4,7),(6,7), (7,7), (8,7) F57
D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87 Globale Einschränkungen
• keine andere Dame auf Feld (6,8), (4,6), (3,5), (2,4),(1,3)
D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3 Für jedes k mit 1 ≤ k ≤ 8:
• 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
101 103
Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr. Struktur: Wahrheitswerte für die atomaren Aussagen Dij
Einschränkungen pro Feld: Fij Modell für Fij (Rk ): Wahrheitswerte für die atomaren Aussagen Dij so dass
Fij wahr (bzw. Rk wahr).
D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1
D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87
D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3
D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4
Lösung des 8-Damen Problems:
| {z }
F57 Eine aussagenlogische Struktur beschreibt eine Lösung des 8-Damen-
Problems genau dann, wenn sie ein Modell der Formeln
• Rk für alle 1 ≤ k ≤ 8
ist.
102 104
Beispiel: Aufzug Modellierung: Strukturen
oben Aufzug oben oben oben Aufzug oben
Mitte gedruckt Mitte gedruckt
F.nach unten
mitte mitte
F.nach unten
unten unten unten
unten unten
105 107
oben oben
F.nach oben
unten unten
106 108
Modellierung: Strukturen Aussagenlogik
F.nach unten
unten unten unten
109 111
• 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:
113 115
Abzählbare Menge von Symbolen, etwa ForΠ Menge der Formeln über Π:
• Atome | (F ↔ G ) (Äquivalenz)
• Aussagenvariablen
114 116
Konventionen zur Notation Terminologie
• Klammereinsparungen werden nach folgenden Regeln vorgenommen: Eine Formel F , die als Teil einer Formel G auftritt,
– ¬ >p ∧ >p ∨ >p → >p ↔ (Präzedenzen), heißt Teilformel von G .
117 119
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”:
118 120
Induktion über Formelaufbau: Beispiel Induktion über Formelaufbau: Beispiel
Lemma: Lemma:
Ist F ∈ ForΠ und sind F1 , F2 Teilformeln von F , dann gilt 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
122 124
Strukturelle Induktion Semantik der Aussagenlogik
125 127
A : Π → {0, 1}
Beispiel:
A B C
(Bei drei Symbolen gibt es 8 mögliche Modelle)
0 1 0
126 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∗ : ForΠ → {0, 1} wird wie folgt definiert: A∗ : ForΠ → {0, 1} wird wie folgt definiert:
A∗ (⊥) = 0
A∗ (⊤) = 1
A∗ (P) = A(P)
129 131
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
A∗ (⊥) = 0 < 0 falls A∗ (F ) = 1
A∗ (¬F ) =
A∗ (⊤) = 1 : 1 falls A∗ (F ) = 0
130 132
Semantik der Aussagenlogik Wahrheitstafel für die logischen Operatoren
8 ∧ 0 1 ∨ 0 1
∗
< 0 falls A∗ (F1 ) = 0 oder A∗ (F2 ) = 0
A (F1 ∧ F2 ) = 0 0 0 0 0 1
: 1 falls A∗ (F1 ) = A∗ (F2 ) = 1
8 1 0 1 1 1 1
< 0 falls A∗ (F1 ) = A∗ (F2 ) =0
A∗ (F1 ∨ F2 ) =
: 1 falls A∗ (F1 ) = 1 oder A∗ (F2 ) = 1 → 0 1 ↔ 0 1
0 1 1 0 1 0
1 0 1 1 0 1
133 135
Auswertung von Formeln in einem Modell Auswertung von Formeln in einem Modell
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) Definition: F ist (allgemein-) gültig (oder eine Tautologie) gdw.: A |=
= (A∗ (P) ∧ A∗ (Q ∨ ¬P)) → A∗ (R) F , für alle A : Π → {0, 1}
= (A(P) ∧ (A(Q) ∨ ¬A(P))) → A(R) Notation: |= F
= (1 ∧ (0 ∨ ¬1)) → 1
= 1
Definition: F heißt erfüllbar gdw. es A : Π → {0, 1} gibt, so dass A |= F .
137 139
Definition: Interpretation A ist Modell einer Formel F ∈ ForΠ , falls Tautologien: Formel, die stets wahr sind.
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))
(4) p → (p ∨ q) (5) (p → q) ∧ ¬[(q → r ) → (p → r )]
q → (p ∨ q) (6) (((p → q) ∧ (q → r )) ∧ p) ∧ ¬r
(5) (p → q) → [(q → r ) → (p → r )]
(6) (((p → q) ∧ (q → r )) ∧ p) → r
142 144
Folgerung und Äquivalenz Beispiel
A B C (A ∨ C ) (B ∨ ¬C ) (A ∨ C ) ∧ (B ∨ ¬C ) (A ∨ B)
Definition: F und G sind äquivalent 0 0 1 1 0 0 0
gdw.: für alle A : Π → {0, 1} gilt: A |= F gdw. A |= G .
0 0 0 0 1 0 0
Notation: F ≡ G .
0 1 1 1 1 1 1
0 1 0 0 1 0 1
Erweiterung auf Formelmengen N in natürlicher Weise, z.B.: 1 0 1 1 0 0 1
N |= G gdw.: für alle A : Π → {0, 1} gilt: 1 0 0 1 1 1 1
falls A |= F , für alle F ∈ N,
1 1 1 1 1 1 1
so A |= G .
1 1 0 1 1 1 1
145 147
F = (A ∨ C ) ∧ (B ∨ ¬C ) G = (A ∨ B)
“Worin besteht das Geheimnis Ihres langen Lebens?”,
Überprüfe, ob F |= G
wurde ein 100 Jähriger gefragt.
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.
Wenn ich Eiscreme habe oder Bier meide, dann rühre ich Fisch nicht an. z.B.: Formalisierung:
◮ E ∨¬B→ ¬F
• kein Bier, Fisch und Eiscreme B 7→ falsch, F 7→ wahr, E 7→ wahr
erfüllt 3. Diätregel nicht!
• Bier, Fisch, keine Eiscreme B 7→ wahr, F 7→ wahr, E 7→ falsch
erfüllt alle Diätregeln
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 • kein Bier, Fisch und Eiscreme A(B) = 0, A(F ) = 1, A(E ) = 1
erfüllt 3. Diätregel nicht! erfüllt 3. Diätregel nicht!
• Bier, Fisch, keine Eiscreme • Bier, Fisch, keine Eiscreme A(B) = 1, A(F ) = 1, A(E ) = 0
erfüllt alle Diätregeln erfüllt alle Diätregeln
150 152
Beispiel 1 Modell einer Formel
Π = {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” Da A(¬B → F ) = 1, ist A ein Modell der Formel ¬B → F
A(F ) = 0: “Ich habe kein Fisch”
A |= ¬B → F
A(E ) = 1: “Ich habe Eiskreme”
153 155
M = {¬B → F , F ∧ B → ¬E , E ∨ ¬B → ¬F }
Auswertung von Formeln:
A∗ (¬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 ) = 1 für alle F ∈ M A(F ) ist nur von den Werten dieser Aussagenvariablen abhängig.
Beispiel 2: A′ : {B, F , E } → {0, 1} mit A′ (B) = 0, A′ (F ) = 0, A′ (E ) = 1 • F erfüllbar: A(F ) = 1 für zumindest eine Wertbelegung
{¬B → F , F ∧ B → ¬E , E ∨ ¬B → ¬F )
157 159
Zwei Formeln sind logisch äquivalent, wenn sie in den gleichen Modellen
wahr sind
Beispiel:
(P → Q) ≡ (¬Q → ¬P) (Kontraposition)
158 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 ) ≡ ⊥, falls G unerfüllbar
(F ∨ G ) ≡ (G ∨ F ) (Kommutativität)
(F ∨ G ) ≡ F , falls G unerfüllbar (Tautologieregeln)
(F ∧ (G ∧ H)) ≡ ((F ∧ G ) ∧ H)
(F ∨ (G ∨ H)) ≡ ((F ∨ G ) ∨ H) (Assoziativität)
(F ∧ (F ∨ G )) ≡ F
(F ∨ (F ∧ G )) ≡ F (Absorption)
161 163
(F → G ) ≡ (¬G → ¬F ) (Kontraposition)
F ↔ G ≡ (F → G ) ∧ (G → F ) (Elimination Äquivalenz)
162 164
Wichtige Äquivalenzen (Zusammengefasst) Substitutionstheorem
(F ∧ F ) ≡ F (F ∨ F ) ≡ F (Idempotenz)
Theorem.
(F ∧ G ) ≡ (G ∧ F ) (F ∨ G ) ≡ (G ∨ F ) (Kommutativität)
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens)
(F ∧ (G ∧ H)) ≡ ((F ∧ G ) ∧ H)
einem Vorkommen der Teilformel F .
(F ∨ (G ∨ H)) ≡ ((F ∨ G ) ∨ H) (Assoziativität)
(F ∧ (F ∨ G )) ≡ F Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend)
(F ∨ (F ∧ G )) ≡ F (Absorption) ein Vorkommen von F in H durch G ersetzt wird.
(F ∧ (G ∨ H)) ≡ ((F ∧ G ) ∨ (F ∧ H))
(F ∨ (G ∧ H)) ≡ ((F ∨ G ) ∧ (F ∨ H)) (Distributivität) Beweis: Strukturelle Induktion.
(¬¬F ) ≡ F (Doppelte Negation) Induktionsbasis: Beweisen. dass das Theorem für alle atomaren Formeln gilt.
¬(F ∧ G ) ≡ (¬F ∨ ¬G )
Induktionsvoraussetzung: Sei H eine Formel (die nicht atomar ist)
¬(F ∨ G ) ≡ (¬F ∧ ¬G ) (De Morgan’s Regeln) Annahme: Theorem gilt für alle Teilformeln von F , die nicht gleich F sind.
(F → G ) ≡ (¬G → ¬F ) (Kontraposition) Induktionsschritt: Beweis durch Fallunterscheidung:
(F → G ) ≡ (¬F ∨ G ) (Elimination Implikation) Fall 1: H = ¬H1 . Induktionvoraussetzung: Theorem gilt für H1 . Folgere, dass Theorem auch für H gilt.
F ↔ G ≡ (F → G ) ∧ (G → F ) (Elimination Äquivalenz) Fall 2: H = H1 op H2 . Induktionvoraussetzung: Theorem gilt für H1 , H2 . Folgere, dass Theorem auch für H gilt.
165 167
Definition: Äquivalenzumformung
Theorem.
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens) • (Wiederholte) Ersetzung einer (Unter-)Formel durch äquivalente
einem Vorkommen der Teilformel F . Formel
Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend) • Anwendung des Substitutionstheorems
ein Vorkommen von F in H durch G ersetzt wird.
Theorem
Beispiel:
Äquivalenzumformung bildet mit den aufgelisteten wichtigen Äquivalen-
A∨B ≡B ∨A zen einen vollständigen Kalkül:
impliziert Wenn F und G logisch äquivalent sind, kann F in G umgeformt werden.
(C ∧ (A ∨ B)) ≡ (C ∧ (B ∨ A))
166 168
Beispiel Beispiel
169 171
Beispiel Beispiel
≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation) ≡(¬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,∨)
170 172
Beispiel Beispiel
≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)
≡(¬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)) (De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
173 175
Beispiel Beispiel
≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)
≡(¬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)) (De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (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)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)
≡(¬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)) (De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität) ≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität) ≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥) (Äquivalenzen mit ⊥) ≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥) (Äquivalenzen mit ⊥)
≡(¬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 ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) (Kommutativität)
≡((¬P ∧ P) ∧ ¬Q ∧ ¬R) ∨ ((Q ∧ ¬Q) ∧ P ∧ ¬R) (Assoziativität)
177 179
Beispiel Beispiel
≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation) ≡ (¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)
≡(¬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)) (De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨) ≡ (¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation) ≡ (¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität) ≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität) ≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥) (Äquivalenzen mit ⊥) ≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥) (Äquivalenzen mit ⊥)
≡(¬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 ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) (Kommutativität) ≡ (¬P ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) (Kommutativität)
≡ ((¬P ∧ P) ∧ ¬Q ∧ ¬R) ∨ ((Q ∧ ¬Q) ∧ P ∧ ¬R) (Assoziativität)
≡ ⊥ ∨ ⊥≡⊥ (Äquivalenzen mit ⊥)
178 180
Allgemeingültigkeit/Folgerung Unser Ziel
Theorem. N ∪ {F } |= G gdw. N |= F → G .
Dazu brauchen wir “Normalformen”
Theorem. F ≡ G gdw. |= F ↔ G .
181 183
F , G Formeln; N Formelmenge.
182 184
Normalformen Normalformen
Definition: Definition:
• Atom: aussagenlogische Variable Disjunktive Normalform (DNF): Eine Disjunktion von Konjunktionen von
• Literal: Atom, oder Literalen.
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 • Zu jeder aussagenlogischen Formel gibt es:
Literalen, d.h., eine Konjunktion von Klauseln - eine äquivalente Formel in KNF
mehrstellig, einstellig oder nullstellig - eine äquivalente Formel in DNF
Beispiele:
(P ∨ ¬Q) ∧ (Q ∨ ¬R ∨ ¬S)
P ∨Q
P ∧ (Q ∨ R)
P ∧Q
P ∧P
⊤
186 188
Normalformel Beispiel
Eigenschaften: F : (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R)
• Zu jeder aussagenlogischen Formel gibt es: P Q R (P ∨ Q) ¬P (¬P ∧ Q) ((¬P ∧ Q) ∨ R) F
- eine äquivalente Formel in KNF 0 0 0 0 1 0 0 0
- eine äquivalente Formel in DNF 0 0 1 0 1 0 1 0
0 1 0 1 1 1 1 1
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
0 1 1 1 1 1 1 1
• Solche Formeln können aus einer Wahrheitstafel abgelesen werden 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
189 191
Beispiel Beispiel
F : (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R) F : (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R)
P Q R (P ∨ Q) ¬P (¬P ∧ Q) ((¬P ∧ Q) ∨ R) F P Q R (P ∨ Q) ¬P (¬P ∧ Q) ((¬P ∧ Q) ∨ R) F
0 0 0 0 1 0 0 0 0 0 0 0 1 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
190 192
Beispiel Normalformel
193 195
Beispiel Normalformel
0 0 1 0 1 0 1 0 1
wobei:
0 1 0 1 1 1 1 1 0
P 0 = ¬P
0 1 1 1 1 1 1 1 0
P1 = P
1 0 0 1 0 0 0 0 1
1 0 1 1 0 0 1 1 0
1 1 0 1 0 0 0 0 1 KNF für F: ¬F ′ ,
1 1 1 1 0 0 1 1 0 wobei F ′ die DNF von ¬F ist.
194 196
Normalformel Umformung in KNF: Beispiel
Eigenschaften: Gegeben:
P ↔ (Q ∨ R)
• Zu jeder aussagenlogischen Formel gibt es:
- eine äquivalente Formel in KNF 1. Elimination von ↔
- eine äquivalente Formel in DNF
(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 ¬
197 199
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
n = 2 : A2 = (P11 ∧P12 )∨(P21 ∧P22 )
≡ ((P11 ∧P12 )∨P21 )∧((P11 ∧P12 )∨P22 )
≡ (P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ) Länge: 22 Beispiel:
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 )∧(P12 ∨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
202 204
Vereinfachung der KNF: Subsumption Das SAT-Problem (Erfüllbarkeitsproblem)
F enthält K ∧ K ′
K ∧ K′ = (L1 ∨ · · · ∨ Lp ) ∧ ((L1 ∨ · · · ∨ Lp ) ∨ Lp+1 ∨ . . . Lm )
≡ (L1 ∨ · · · ∨ Lp ) = K (Absorption)
205 207
206 208
NP Teilklassen des Erfüllbarkeitsproblems
209 211
NP-Vollständigkeit 3-SAT
• Jedes nichtdeterministisch in polynomieller Zeit entscheidbare Problem • 3-SAT ist ein Spezialfall von SAT und deshalb wie SAT in NP.
kann in polynomieller Zeit auf SAT reduziert werden
• Um zu zeigen, dass 3-SAT ebenfalls NP-vollständig ist, müssen wir
• Wenn es stimmt, dass NP 6= P, dann ist SAT nicht in polynomieller zeigen, dass jedes SAT Problem in polynomieller Zeit auf das 3-SAT
Zeit entscheidbar Problem reduzierbar ist.
210 212
3-SAT 3-SAT
Theorem Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig 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 C = L1 ∨ L2 ∨ L3 ∨ L4 ; C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ),
Problem reduzierbar ist.
F ′ sei aus F entstanden durch Ersetzung von C durch C0 .
Gegeben sei eine Formel F in KNF. Wir transformieren F in eine Formel F ′ zu zeigen: F ′ erfüllbar gdw. F erfüllbar
in 3-KNF, so dass: “⇐”
F ist erfüllbar gdw. F ′ ist erfüllbar. Sei A eine erfüllende Belegung für F . A weist mindestens einem Literal aus C den
Wert 1 zu. Wir unterscheiden zwei Fälle:
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.
Aus einer 1- bzw 2-Klausel können wir leicht eine äquivalente 3-Klausel 2) Falls L3 oder L4 den Wert 1 haben, so ist F ′ für A(H) = 1 erfüllt.
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 Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
214 216
3-SAT Horn-Formeln
Theorem Defintion:
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
¬P1 ∨ · · · ∨ ¬Pn ∨ P P1 ∧ · · · ∧ Pn → P
wird durch eine Formel der Form ¬P1 ∨ · · · ∨ ¬Pn PA ∧ · · · ∧ Pn →
ersetzt. P1 ∧ · · · ∧ Pn : Rumpf
217 219
218 220
Horn Formel: Beispiele Erfüllbarkeitsproblem für Horn-Formeln
221 223
Lemma. Sei F Hornformel die keine Fakten enthält. Dann ist F erfüllbar. Eingabe: F = D1 ∧ · · · ∧ Dn eine Hornformel
(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.
222 224
Erfüllbarkeitstest für Horn-Formeln 2.5 Der aussagenlogische Resolutionkalkül
225 227
• Ablesen von DNF und KNF aus Wahrheitstafeln • Voraussetzung: Alle Formeln in konjunktiver Normalform
• Subsumption
• Horn-Formeln
226 228
Resolutionskalkül Resolution: Weiteres Beispiel
unerfüllbar ist.
Definition:
C1 ∪ C2 heißt Resolvente von C1 ∪ {P}, C2 ∪ {¬P} Klauselnormalform:
229 231
230 232
Resolution: Bemerkungen Ohne Mengenschreibweise
233 235
E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 } E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 }
234 236
Resolution: Beispiel Resolution: Korrektheit
237 239
238 240
Resolution: Vollständigkeit Resolution: Vollständigkeit
241 243
242 244
2-SAT 2.5 1-Resolution
245 247
246 248
1-Resolution Andere Kalküle
249 251
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
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}
253 255
(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R) (¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
ddd
dddddQ7d→d⊤
R ∧ ¬R ∧ (P ∨ ¬R)
R ¬R (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)
ddd YYYYYY ddd YYYYYY
dddddQ7d→d⊤ Q7→⊥
YYYYY dddddQ7d→d⊤ Q7→⊥
YYYYY
R ∧ ¬R ∧ (P ∨ ¬R) ¬P ∨ R R ∧ ¬R ∧ (P ∨ ¬R) ¬P ∨ R
R7→⊤
R ¬R (oder: R7→⊥) R ¬R (oder: R7→⊥)
⊥
⊥ ¬P
P7→⊥
⊥
⊥ ⊤
A = (P 7→ 0, R 7→ 1, Q 7→ 0)
261 263
262 264
DPLL DPLL
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.
265 267
266 268
Pure Literale Pure Literale
Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien
Mengen von Literalen), wenn 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
Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N
pures Literal enthält.
pures Literal enthält.
Lemma. Für jede pure Klausel C in einer Klauselmenge N:
Lemma. Für jede pure Klausel C in einer Klauselmenge N: N erfüllbar gdw. N\{C } erfüllbar
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
Lemma. Für jede pure Klausel C in einer Klauselmenge N: Lemma. Für jede pure Klausel C in einer Klauselmenge N:
N erfüllbar gdw. N\{C } erfüllbar N erfüllbar gdw. N\C erfüllbar
Beweis:
Lemma. Sei A eine partielle Wertebelegung.
“⇒” Falls N erfüllbar, ist N\{C } auch erfüllbar.
Für jedes pure Literal L in einer Klauselmenge N gilt:
“⇐” Annahme: N\{C } erfüllbar (sei A Modell), C enthält ein in N pures Literal L. Es gibt ein Modell von N, das A erweitert
(
A(Q) falls Q 6= P genau dann, wenn
L = P: A′ : Π → {0, 1} mit A′ (Q) = ist Modell für N. es ein Modell von N gibt, das A erweitert und L wahr macht.
1 falls Q = P
270 272
DPLL Eine alternative Formulierung
273 275
274 276
Eine alternative Formulierung Beispiel
277 279
Beispiel Beispiel
278 280
Beispiel Beispiel
281 283
Beispiel Beispiel
282 284
Beispiel DPLL
285 287
Wesentliche Eigenschaften
289 291
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
Kanger 1957, Prawitz 1960, Wang 1960, Davis 1960, Maslov 1968. Gegenbeispiel (eine erfüllende Interpretation) konstruiert
• Weiterentwicklung/Verfeinerungen: Nachteile
Loveland 1968 (Model elimination), • Mehr als eine Regel
Kowalski, Kuehner 1971 (SL-resolution)
Bibel 1975,
Andrews 1976
...
290 292
Formeltypen Formeltypen
• ¬¬F • ¬(F ∧ G )
• F ∧G • F ∨G
• ¬(F ∨ G ) • F →G
293 295
294 296
Instanzen der α und β-Regel Determinismus von Kalkül und Regeln
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)
Definition
2. ¬Q ∨ ¬R Dieses Tableau ist nicht
PPP “maximal”, aber der erste Tableauast: Maximaler Pfad in einem Tableau (von Wurzel zu Blatt)
P
3. ¬Q 4. ¬R “Ast” ist.
5. P 10. P Dieser Ast ist nicht
“geschlossen” (enthält
6. ¬(Q ∨ ¬R) 11. ¬(Q ∨ ¬R)
keinen Widerspruch),
7. ¬Q also ist die Menge {1, 2}
8. ¬¬R erfüllbar.
9. R (Diese Begriffe werden auf
den nächsten Seiten
erklärt.)
298 300
Formale Definition des Kalküls Formale Definition des Kalküls
301 303
unerfüllbar ist.
302 304
Beispiel Klauseltableau: Beispiel
1. ¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))] M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }
2. (P → (Q → R)) [11 ]
3. ¬((P ∨ S) → ((Q → R) ∨ S)) [12 ]
4. P ∨S [31 ]
5. ¬((Q → R) ∨ S)) [32 ]
6. ¬(Q → R) [51 ]
7. ¬S [52 ]
hhhhhhh
h
8. ¬P [21 ] 9. Q→R [22 ]
XXXX
X
10. P [41 ] 11. S [42 ]
geschlossenes Tableau.
305 307
M Menge von Klauseln M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }
Änderungen ii 1. TTTTTT
iiiiiii TTT
i Q
• Keine α-Regel ¬P
306 308
Klauseltableau: Beispiel Klauseltableau: Beispiel
M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} } M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }
⊥ ⊥ ⊥ ⊥ ⊥
309 311
Theorem.
ggg 1. VVVVVVV Eine Formelmenge M ist unerfüllbar
gg gggg VVVV
gg genau dann, wenn
u
¬P K
KK u Q LLLL es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
uuu uuu
P ¬Q O P ¬Q
sss OOO
pppp III
s
P Q R ¬P ¬Q
310 312
Korrektheit und Vollständigkeit des Kern des Korrektheitsbeweises
Tableaukalküls
Theorem (Korrektheit)
Theorem. Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
Eine Formelmenge M ist unerfüllbar (d.h. ein Tableau für M, das geschlossen ist) so ist M unerfüllbar.
genau dann, wenn ... alternativ: Falls M erfüllbar ist, hat M kein geschlossenes Tableau.
es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
Korrektheit: “⇐”
Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
(d.h. ein Tableau für M, das geschlossen ist)
so ist M unerfüllbar.
... alternativ:
Falls M erfüllbar ist, hat M kein geschlossenes Tableau.
313 315
314 316
Lemma 1: Beweis Lemma 1: Beweis
Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist.
Definition. Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist.
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Beweis: Induktion p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1).
Beweis: Induktion 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
Induktionsbasis: T wurde in einem Schritt gebildet. 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.
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 ′ .
da M erfüllbar ist, ist ein solches Tableau erfüllbar Fall 2: B ′ = B d.h. B erfüllbar. Sei A Modell für die Formeln NB auf B.
Fall 2a: α-Regel angewandt F ≡ F1 ∧ F2 . Dann ist A Modell für
NB ∪ {F1 , F2 }, d.h.: die Erweiterung von B mit dieser α-Regel ist erfüllbar,
so T erfüllbar.
317 319
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 p(n): Falls M erfüllbar und das Tableau T in n Schritten
Beweis: Induktion p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
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.
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
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
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.
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.
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist B offener Ast in voll expandiertem Tableau, dann B ∪ M erfüllbar.
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Beweis: (für klausale Tableaux)
Sei N die Menge der Formeln auf B. Da B offen ist, ist ⊥ nicht in N.
Seien C ∨ A, D ∨ ¬A zwei Klauseln in N die komplementäre Literale enthalten. Einer
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar von C , D ist nicht leer (sonst wäre B geschlossen).
Annahme: C nicht leer. Da B voll expandiert ist, wurde die β-Regel für C ∨ A
Lemma 2. Ein geschlossenes Tableau ist nicht erfüllbar angewandt (auch für D ∨ ¬A falls D nicht leer).
321 323
Definition. Regularität:
Ein Tableau heißt voll expandiert, wenn Kein Literal darf auf einem Ast mehr als einmal vorkommen
• jede Regel
• 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.
322 324
Klauseltableau: Einschränkungen des Suchraums Klauseltableau: Weiteres Beispiel
Behauptung
Theorem (hier ohne Beweis)
Regularität, starke und schwache Konnektionsbedingung Dann müssen sie ans Meer mit Vollpension, mit Pool und ohne Flug.
erhalten Vollständigkeit. M ∧ V ∧ P ∧ ¬F
Jedoch
Zu zeigen:
Bei starker Konnektionsbedingung kann ungünstige Erweiterung in {¬F → (V ∧ M), (M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P),
Sackgasse führen. ¬P → (F ∧ M ∧ ¬V ), (P ∧ ¬F ) ∨ (V ∧ ¬P)} |= M ∧ V ∧ P ∧ ¬F
(bei schwacher Konnektionsbedinung nicht) Wir zeigen, dass die folgende Konjunktion unerfüllbar ist:
(¬F → (V ∧ M), (M ∧ F ))∧
((M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P))∧
Beispiel: M = {{P}, {¬Q}, {¬P, Q}, {¬P, R}}
(¬P → (F ∧ M ∧ ¬V ))∧
Zuerst {¬P, Q}: OK ((P ∧ ¬F ) ∨ (V ∧ ¬P))∧
Zuerst {¬P, R}: Sackgasse ¬M ∨ ¬V ∨ ¬P ∨ F (Negation der Behauptung)
325 327
326 328
Klauseltableau: Weiteres Beispiel Terminierung
Dann:
Nahezu deterministische Beweiskonstruktion
329 331
330 332
Terminierung Zusammenfassung: Tableaukalkül
• Klauseltableau
• Regularität
• Schwache und starke Konnektionsbedingung
• Strikte Tableaux
• Terminierung
333 335
Terminierung 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
• Funktionen
− Aussagenlogik hat nur beschränkte Ausdruckskraft +, Mitte von, Vater von, Anfang von, ...
(im Vergleich zu natürlicher Sprache)
Beispiele:
• Die Aussage “Alle Menschen sind sterblich” erfordert eine Formel für
jeden Mensch.
337 339
341 343
Signatur Definition.
Zweck: Festlegung der nichtlogischen Symbole Funktionsssymbole mit Stelligkeit n = 0 heißen Konstante
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
Prädikatenlogik erlaubt die Formulierung abstrakter (schematischer)
mit Funktionssymbolen oder Variablen markiert. Jeder mit einem
Aussagen. Technisches Hilfmittel hierfür sind die Variablen.
Funktionssymbol f der Stelligkeit n markierte Knoten hat genau n
Wir nehmen an, dass Unterbäume, einen für jedes Argument von f .
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:
Ω = {Jan/0, Vater /1, Mutter /1}
s, t, u, v ::= x ,x ∈X (Variable)
{x, y , z} ⊆ X
| f (s1 , ..., sn ) , f /n ∈ Ω (F-Terme)
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}
Terme: {x, y , z} ⊆ X
x, y , z, 0, 1 Atome:
Mann(x) Mann(Jan) Mann(Anna)
succ(x), succ(0), succ(1)
Mann(Vater (x)) Frau(Vater (Jan)) Mann(Vater (Jan))
x + y , x + z, x + 0, x + 1, (x + (succ(y ) + 1)), ... Infix
Bruder (x, y ) Bruder (x, Jan) Bruder (x, Anna)
+(x, y ), +(x, z), +(x, 0), +(x, 1), +(x, +(succ(y ), 1)) Präfix
Vater (Jan) ≈ Vater (Anna)
Vater (x) ≈ Mutter (y )
349 351
Atome Beispiele
Präfix:
≤ (+(x, y ), +(x, z)), + (x, 0) ≈ +(x, 1), ≤ (+(x, +(succ(y ), 1)), z)
350 352
Literale Formeln
353 355
Klauseln Formeln
• ⊤ ∈ ForΣ , ⊥ ∈ ForΣ ,
354 356
Konventionen zur Notation Beispiel
• Klammereinsparungen werden nach folgenden Regeln vorgenommen: “Es gibt jemand, der in Landau studiert und schlau ist”
– ¬ >p ∧ >p ∨ >p → >p ↔ (Präzedenzen), Ω = {landau/0} Π = {studiertIn/2, schlau/1}
– ∨ und ∧ sind assoziativ und kommutativ. E
x(studiertIn( x , landau ) ∧ schlau( x ))
|{z} | {z } |{z}
• Qx1 , . . . , xn F für Qx1 . . . Qxn F . Variable Konstante Variable
Term Term Term
| {z } | {z }
• Terme und Atome in Infix-, Präfix-, Postfix- oder Mixfixnotation;
Atom Atom
Beispiele: | {z }
Formel
s +t für +(s, t) | {z }
Formel
s≤t für ≤ (s, t)
−s für −(s)
0 für 0()
357 359
358 360
Bemerkungen zum Beispiel Beispiel: Tante Agatha
Wie man an diesen Formeln sieht, sind die Symbole ≤, <, 0 redundant, Zuerst formalisieren wir das Problem:
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 Jemand, der in Schloss Dreadbury wohnt, hat Tante Agatha
Eliminierung der zugehörigen Existenzquantoren durch Skolemisierung ermordet.
(siehe unten) führt dann aber die Funktionssymbole wieder ein. 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
Ein Mörder hasst immer sein Opfer und ist niemals reicher als sein
Jemand, der in Schloss Dreadbury wohnt, hat Tante
Opfer.
Agatha ermordet. Agatha, ihr Butler und ihr Neffe Charles
A
waren die einzigen Bewohner von Schloss Dreadbury. Ein ◮ x, y (ermordet(x, y ) → hasst(x, y ))
Mörder hasst immer sein Opfer und ist niemals reicher als A
x, y (ermordet(x, y ) → ¬ reicher(x, y ))
sein Opfer. Charles hasst niemanden, den Tante Agatha
gehasst hat. Agatha hat jeden gehasst außer ihrem Butler. Charles hasst niemanden, den Tante Agatha gehasst hat.
Der Butler hasst jeden, der nicht reicher ist als Tante A
Agatha. Der Butler hasst jeden, den Tante Agatha gehasst ◮ x (hasst(c, x) → ¬ hasst(a, x))
hat. Niemand hasst jeden. Agatha war nicht der Butler.
Agatha hat jeden gehasst außer ihrem Butler.
Wer hat Tante Agatha ermordet? ◮
A
x (¬
¬ hasst(a, x) ↔ x ≈ b)
362 364
Beispiel: Tante Agatha Beispiel
Der Butler hasst jeden, der nicht reicher ist als Tante Agatha. Bindungsbereich
z }| {
A Bind.
◮ x (¬
¬ reicher(x, a) → hasst(b, x)) z }| {
A A
y ( x p(x) → q(x, y ))
Der Butler hasst jeden, den Tante Agatha gehasst hat.
A
◮ x (hasst(a, x) → hasst(b, x))
365 367
A E
In QxF , Q ∈ { , }, heißt F der Bindungsbereich des Quantors Qx. Ein A E
p(z) → x (q(x, z) ∧ z r (y , z))
Auftreten einer Variablen x heißt gebunden, wenn es zum Bindungsbereich
eines Quantors Qx gehört. Alle anderen Auftreten von Variablen heißen frei. • x gebunden
Formeln ohne freie Variablen heißen Satzformen. Variablenfreie Formeln • y frei
heißen Grundformeln.
• 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 Σ = (Ω, Π), mit Ω = {f /1, g /2, a/0}, Π = {p/2, ≈ /2}
Induktion über den Aufbau von F wie folgt definiert:
A E
( x(p(x, g (f (x), y ))) ∧ z(x ≈ g (y , z)))[g (y , z)/x]
x[s/x] = s A E
′
x [s/x] =
′
x ; falls x 6= x
′ = x(p(x, g (f (x), y )))[g (y , z)/x] ∧ z(x ≈ g (y , z))[g (y , z)/x]
f (s1 , . . . , sn )[s/x] = f (s1 [s/x], . . . , sn [s/x]) A E
= x(p(x, g (f (x), y ))) ∧ u(((x ≈ g (y , z))[u/z])[g (y , z)/x])
⊥[s/x] = ⊥
A E
⊤[s/x] = ⊤ = x(p(x, g (f (x), y ))) ∧ u((x ≈ g (y , u))[g (y , z)/x])
p(s1 , . . . , sn )[s/x] = p(s1 [s/x], . . . , sn [s/x]) A E
(u ≈ v )[s/x] = (u[s/x] ≈ v [s/x]) = x(p(x, g (f (x), y ))) ∧ u(g (y , z) ≈ g (y , u))
¬F [s/x] = ¬(F [s/x])
(F ρG )[s/x] = (F [s/x]ρG [s/x]) ; für alle binären Junktoren ρ ∈ {∧, ∨, →, ↔}
(QxF )[s/x] = QxF
(QyF )[s/x] = Qz((F [z/y ])[s/x]) ; falls y 6= x, z neue Variable
369 371
Der Grund für die Umbenennung der gebundenen Variablen y in eine neue Definition. Substitutionen sind Abbildungen
unbenutzte“ Variable z ist die Vermeidung des Einfangens freier Variablen
” σ : X → TΣ (X ),
in s.
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
(
si , falls y = xi
[s1 /x1 , . . . , sn /xn ](y ) =
y, sonst
Ab jetzt schreiben wir für die Applikation σ(x) von Substitutionen xσ.
370 372
Anwendung einer Substitution 3.2 Semantik
373 375
Beispiel Semantik
Σ = (Ω, Π), mit Ω = {f /1, g /2, a/0}, Π = {p/2, ≈ /2} 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
A E Konzept geht auf Tarski zurück.
( x(p(x, g (f (x), y ))) ∧ z(x ≈ g (y , z)))[g (y , z)/x, f (x)/y , a/z]
A
= x(p(x, g (f (x), y )))[g (y , z)/x, f (x)/y , a/z] ∧
E In der klassischen Logik (zurückgehend auf Aristoteles) gibt es nur“ die
z(x ≈ g (y , z))[g (y , z)/x, f (x)/y , a/z] ”
zwei Wahrheitswerte wahr“ und falsch“, die wir mit 1 und 0 bezeichnen.
A E ” ”
= u(p(u, g (f (u), f (x)))) ∧ v (((x ≈ g (y , z))[v /z])[g (y , z)/x, f (x)/y , a/z])
A E
= u(p(u, g (f (u), f (x)))) ∧ v ((x ≈ g (y , v ))[g (y , z)/x, f (x)/y , a/z])
A E
= u(p(u, g (f (u), f (x)))) ∧ v (g (y , z) ≈ g (f (x), u))
374 376
Strukturen Wert eines Terms in A bzgl. β
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 379
Variablen für sich haben keine Bedeutung. Hierfür müssen Wertebelegungen Wert eines Terms in A bzgl. β, A(β)(t):
(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 ):
Unter einer (Variablen-) Belegung oder einer Valuation (über einer A(β)(t) = fA (A(β)(t1 ), . . . , A(β)(tn ))
Σ-Struktur A) versteht man eine Abbildung
Beispiel: Σ = ({+/2, 0/0}, {≤, ≈})
β:X →U 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
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. β
A(β)(⊥) = 0
A(β)(⊤) = 1
381 383
(
A(β)(p(s1 , . . . , sn )) = 1 g.d.w. (A(β)(s1 ), . . . , A(β)(sn )) ∈ pA A 1 falls A(β[x 7→ a])(F ) = 1 für alle a ∈ U
A(β)( xF ) = min{A(β[x → a])(F )} =
a∈U 0 sonst
A(β)(s ≈ t) = 1 g.d.w. A(β)(s) = A(β)(t)
8
< 1
>
> falls A(β[x 7→ a])(F ) = 1 für mindestens
E
A(β)( xF ) = max{A(β[x → a])(F )} = ein a ∈ U
a∈U >
>
: 0 sonst
382 384
Beispiel Gültigkeit und Erfüllbarkeit
385 387
386 388
Gültigkeit und Unerfüllbarkeit Universelle Quantifizierung
Nachweis von Gültigkeit (und damit Folgerung oder Äquivalenz) durch Faustregel
A
Unerfüllbarkeitstest: → ist der logische (Top-level-)Operator mit
Beispiel
“Alle, die in Koblenz studieren, sind schlau”
A
Richtig: x(studiertIn(x, koblenz) → schlau(x))
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
Intuition Intuition.
A E
xF entspricht in etwa der (unendlichen) Konjunktion aller Instanzen von F xF entspricht in etwa der (unendlichen) Disjunktion aller Instanzen von F .
Beispiel: Beispiel:
A E
x(studiertIn(x, koblenz) → schlau(x)) x(studiertIn(x, landau) ∧ schlau(x))
entspricht: entspricht
390 392
Universelle Quantifizierung Eigenschaften von Quantoren
Beispiel Es gibt eine Person, die die Mutter von jedem ist (falsch)
“Es gibt jemand, der in Landau studiert und schlau ist”
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
E
Richtig: x(studiertIn(x, landau) ∧ schlau(x)) A E E A
x y F |= y x F
E
Falsch: x(studiertIn(x, landau) → schlau(x)) Es gibt eine Signatur Σ = (Ω, Π) und eine Formel F mit:
E A A E
“Es gibt jemanden, der, falls er/sie in Landau studiert, schlau ist” x y F 6|= y x F
Trivial wahr, wenn es irgendjemanden gibt, der nicht in Landau studiert
393 395
Beispiel:
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
A E
A A A A x mag(x, eiskrem) ist das gleiche wie ¬ x ¬mag(x, eiskrem)
(1) x yF ≡ y xF
E A
E E E E x mag(x, broccoli) ist das gleiche wie ¬ x ¬mag(x, broccoli)
(2) x yF ≡ y xF
394 396
Eigenschaften von Quantoren Eigenschaften von Quantoren
A A
distributiert über ∧ distributiert NICHT über ∨
A A A
A A A
x(... ∧ ...) ist das gleiche wie ( x...) ∧ ( x...) x(... ∨ ...) ist NICHT das gleiche wie ( x...) ∨ ( x...)
Beispiel
Beispiel A
A x (eiskrem(x) ∨ broccoli(x)) ist NICHT das gleiche wie
x (studiert(x) ∧ arbeitet(x)) ist das gleiche wie A A
A A ( x eiskrem(x)) ∨ ( x broccoli(x))
( 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
A A A ( x gerade(x)) ∨ ( x ungerade(x))
x(F ∧ G ) ≡ xF ∧ xG
397 399
E E
distributiert über ∨ distributiert NICHT über ∧
E E E E E E
x(... ∨ ...) ist das gleiche wie ( x...) ∨ ( x...) x(... ∧ ...) ist NICHT das gleiche wie ( x...) ∧ ( x...)
Beispiel Beispiel
E E
x (eiskrem(x) ∨ broccoli(x)) ist das gleiche wie x (gerade(x) ∧ ungerade(x)) ist NICHT das gleiche wie
E E
E E ( x gerade(x)) ∧ ( x ungerade(x))
( x eiskrem(x)) ∨ ( x broccoli(x))
398 400
Eigenschaften von Quantoren Beispiele: Familienverhältnisse
Verschiedene Quantoren kommutieren NICHT • “Ein Cousin ersten Grades ist das Kind eines Geschwisters eines
Elternteils”
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt: A A E E
A E E A x y (cousin1(x, y ) → p ps (elternteil(p, x) ∧ geschwister (ps , p) ∧
x y F |= y x F
elternteil(ps , y )))
Es gibt eine Signatur Σ = (Ω, Π) und eine Formel F mit:
E A A E
x y F 6|= y x F • Definition für “Bruder, der nicht nur Halbbruder ist”
A A
x ybruder (x, y ) ↔ (¬(x ≈ y )∧
Dualität der Quantoren E E
m v (¬(m = v )∧
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
A E elternteil(m, x) ∧ elternteil(v , x)
(1) x F ≡ ¬ x ¬F
E A elternteil(m, y ) ∧ elternteil(v , y )))
(2) x F ≡ ¬ x ¬F
401 403
402 404
Strukturelle Induktion Substitutionen und Valuationen
405 407
Theorem (Substitutionslemma)
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Variablen x und Terme t gilt:
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 ⊥).
Beweis: Strukturelle Induktion Annahme: p(G ) gilt für alle Teilformeln G von F (mit G 6= F )
3. Induktionsschritt: Zu zeigen: p(F ) gilt:
Wir benutzen folgendes Lemma: 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.)
Lemma: Für alle Σ-Strukturen A, Wertebelegungen β, A(β[x→A(β)(t)])(G )=0 iff A(β[x→A(β)(t)])(¬G )=1 iff A(β[x→A(β)(t)])(F )=1
Variable x und Terme ti , t: Fall 2-5: F = G1 opG2 , op ∈ {∨, ∧, →, ↔. Dann F [t/x] = G1 [t/x]opG2 [t/x].
A(β)(ti [t/x]) = A(β[x → A(β)(t)])(ti ) 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
409 411
Theorem (Substitutionslemma)
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F , Variablen x
Variablen x und Terme t gilt:
und Terme t gilt:
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
A A, β |= F [t/x] g.d.w. A, β[x→A(β)(t)] |= F
Fall 6: F = yG .
A
Fall 6.3: y 6= x, t enthält y . Dann F [t/x] = y ′ G [y ′ /y ][t/x].
A ′ ′ Allgemeiner gilt für beliebige Substitutionen σ:
A(β)(F [t/x])=A(β)( y (G [y /y ][t/x])=
′ ′
=min{A(β[y →a])(G [y /y ][t/x])|a∈UA } = (Ind.Vor.)
Theorem.
= min{A(β[y ′ →a, x→A(β[y ′ →a])(t))(G [y ′ /y ])|a∈UA }= (Ind.Vor.)
′ ′ A, β |= F σ g.d.w. A, β ◦ σ |= F ,
= 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] wobei β ◦ σ : X → A die Wertebelegung mit β ◦ σ(x) = A(β)(xσ), für
′
= min{A(β[x→A(β)(t), y →a])(G )|a∈UA } (y kommt in t u. G nicht 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:
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
Lemma Gültigkeit(F ):
|= F ? (Σ fest)
Für alle Σ-Formeln F , Variablen x gilt:
A
xF ≡
A
z F [z/x] Erfüllbarkeit(F ):
F erfüllbar? (Σ fest)
wobei z eine neue Variable ist.
Modelltest(F ,A):
A |= F ? (Σ fest)
414 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. Es gibt korrekte und vollständige Kalküle für Prädikatenlogik (z.B.
Resolution) 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 419
418 420
Zusammenfassung: Syntax und Semantik 2.4 Normalformen
• Prädikatenlogische Signatur
• Prädikatenlogisches Modell
421 423
422 424
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 • Keine Variable mehr als einmal in F quantifiziert ist
kein ¬¬)
425 427
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 • Keine Variable mehr als einmal in F quantifiziert ist
kein ¬¬)
Beispiele:
Bereinigt
Beispiele:
NNF: P ∨Q
E A E
P, ¬P, (¬P ∨ Q) ∧ (R ∨ (Q ∧ ¬P)) x y (p(x) ∨ q(x, y ) ∨ z r (x, z))
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
• Keine Variable mehr als einmal in F quantifiziert ist
Quantorenpräfix und F die Matrix der Formel.
Beispiele:
Beispiele
Bereinigt
In Pränexnormalform
P ∨Q
E A E p(x) ∨ q(x)
x y (p(x) ∨ q(x, y ) ∨ z r (x, z))
E A
x y (p(x) ∨ q(y ))
Nicht bereinigt
A Nicht in Pränexnormalform
p(x) ∨ x q(x)
A E
A A ( x p(x)) ∨ ( y q(y ))
( x p(x)) ∨ ( x q(x))
429 431
430 432
Beispiel Pränexe Normalform
433 435
434 436
Pränexe Normalform Beispiel
437 439
Beispiel Beispiel
A E A 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 )) F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
E E A
⇒P x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z)) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
E E A
⇒P x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
438 440
Beispiel Beispiel
A E A 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 )) F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
E E A E E A
⇒P x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) ⇒P x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
E E A E E A
⇒P x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) ⇒P x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A E A A E A
⇒P x ′ z ′ (((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) ⇒P x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A E A
⇒P x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → z ′′ ((p(z) ∧ q(x, z)) ∧ r (z ′′ , x, y
A A E
⇒P x′ z′ z ′′ (((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → ((p(z) ∧ q(x, z)) ∧ r (z ′′ , x, y
441 443
Beispiel Skolemnormalform
⇒P
E E A
x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) • F enthält nur universelle Quantoren
E E A
⇒P x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A E A
⇒P x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) Beispiele:
A E A
⇒P x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → z ′′ ((p(z) ∧ q(x, z)) ∧ r (z ′′ , x, y
In Skolemnormalform
A A
x y (p(x) ∨ q(y ))
Nicht in Skolemnormalform
A A
x p(x) ∨ y q(y )
E A
x y (p(x) ∨ q(y ))
442 444
Skolemisierung Skolemisierung
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 447
Beispiel Transformationsregeln ⇒K
Gegeben: (1) (F ↔ G ) ⇒K (F → G ) ∧ (G → F )
A E A E (2) (F → G ) ⇒K (¬F ∨ G )
w ( x(p(w , x) ∨ y (q(w , x, y ) ∧ z r (y , z))))
(3) ¬(F ∨ G ) ⇒K (¬F ∧ ¬G )
Pränexnormalform: (4) ¬(F ∧ G ) ⇒K (¬F ∨ ¬G )
E A E A
w x y z((p(w , x) ∨ (q(w , x, y ) ∧ r (y , z)))) (5) ¬¬F ⇒K F
(6) (F ∧ G ) ∨ H ⇒K (F ∨ H) ∧ (G ∨ H)
Skolemisierung: (7) (F ∧ ⊤) ⇒K F
A A
w y ((p(w , sk(w )) ∨ (q(w , sk(w ), y ) ∧ r (y , g (w , y ))))) (8) (F ∧ ⊥) ⇒K ⊥
(9) (F ∨ ⊤) ⇒K ⊤
(10) (F ∨ ⊥) ⇒K F
Die ersten 5 Regeln, zusammen mit Regel (¬Q), stellen die Negationsnormalform
(NNF) her.
446 448
Gesamtbild 2.5 Herbrand-Interpretationen
∗
F ⇒P Q1 y1 . . . Qn yn G (G quantorenfrei)
∗ A
⇒S x1 , . . . , xm H (H quantorenfrei)
k ni
∗ A ^ _
⇒K x1 , . . . , xn Lij
| {z } i=1 j=1
weglassen | {z }
Klauseln Ci
| {z }
F′
449 451
Beispiel Herbrand-Interpretationen
E A A E Ab jetzt betrachten wir, falls nichts Anderes angegeben, immer nur PL ohne Gleichheit.
F ≡ z(( x(p(z, x))) → ( y (q(z, y ) ∧ ( xr (y , x)))))
Ω enthalte immer mindestens ein Konstantensymbol.
450 452
Herbrand-Interpretationen als Mengen von Existenz von Herbrand-Modellen
Grundatomen
Definition. Eine Herbrand-Interpretation I heißt Herbrand-Modell von F ,
falls I |= F .
Satz.
Jede Menge von Grundatomen I identifiziert genau eine Herbrand-
Theorem [Herbrand] Sei N eine Menge von Σ-Klauseln.
Interpretation A durch
N erfüllbar g.d.w. N hat Herbrand-Modell (über Σ)
(s1 , . . . , sn ) ∈ pA genau dann, wenn p(s1 , . . . , sn ) ∈ I 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
die Menge der Grundinstanzen von N ist.
(über Σ) und Mengen von Σ-Grundatomen unterscheiden.
453 455
454 456
2.6 Prädikatenlogische Resolution Wiederholung: Resolutionskalkül
(Mengennotation)
Resolutionsregel:
C ∪ {A} {¬A} ∪ D
C ∪D
C ∪ D: Resolvente
A: resolviertes Atom
457 459
Aussagenlogische Klauseln entsprechen Grundklauseln und umgekehrt. 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)} (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.)
458 460
Wiederholung: Resolutionskalkül Wiederholung: Korrektheit und Vollständigkeit
(Klauselnotation)
Aussagenlogische Resolution ist korrekt und vollständig.
Resolutionsregel: • Mengennotation: Resolutionsregel
C ∨A ¬A ∨ D
C ∨D • Klauselnotation: Resolutionsregel + Faktorisieren
C ∨ D: Resolvente
A: resolviertes Atom
Faktorisieren:
C ∨L∨L
C ∨L
461 463
Grundidee
1. ¬P(f (a)) ∨ ¬P(f (a)) ∨ Q(b) (gegeben)
Vor Resolutionsschritt durch geeignete Substitution komplementäres Paar
2. P(f (a)) ∨ Q(b) (gegeben)
von Literalen erzeugen
3. ¬P(g (b, a)) ∨ ¬Q(b) (gegeben)
4. P(g (b, a)) (gegeben) Möglichkeit für Resolutionsregel
5. ¬P(f (a)) ∨ Q(b) ∨ Q(b) (Res. 2. in 1.)
C1 ∪ {L} C2 ∪ {¬L′ }
6. ¬P(f (a)) ∨ Q(b) (Fakt. 5.)
C1 σ ∪ C2 σ
7. Q(b) ∨ Q(b) (Res. 2. in 6.) wobei
8. Q(b) (Fakt. 7.) • die Elternklauseln keine Variablen gemeinsam haben (bereinigt)
9. ¬P(g (b, a)) (Res. 8. in 3.) 7→ ggf. umbenennen
10. ⊥ (Res. 4. in 9.) • σ(L) = σ(L′ )
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
A
1 ≤ i ≤ n : si σ = ti σ. .
(3) f (. . .) = g (. . .), E ⇒MM ⊥
σ ≤ τ :⇔ es gibt Subst.̺ : σ ◦ ̺ = τ .
(5) x = t, E ⇒MM ⊥
wobei (σ ◦ ̺)(x) := (xσ)̺ die Komposition von σ und ̺ als Abbildungen.a falls x 6= t, x ∈ var (t)
a Ist wohldefiniert, weil σ ◦ ̺ einen endlichen Bereich hat. . .
(6) t = x, E ⇒MM x = t, E
falls t 6∈ X
465 467
. .
• Jeder Term ist mit sich selbst unifizierbar (mittels id) {f (g (a, x), g (y , b)) = f (x, g (v , w )), f (x, g (v , w )) = f (g (x, a), g (v , b)}
• Terme der Gestalt f (s1 , . . . , sn ), g (t1 , . . . , tm ) sind niemals unifb. 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])
466 468
Beispiel 2 Unifikation: Haupteigenschaften
. .
{f (g (a, x), g (y , b)) = g (x, g (v , w )), f (x, g (v , w )) = f (g (x, a), g (v , b)} Definition. Eine Substitition σ heißt idempotent, wenn σ ◦ σ = σ.
(3)
⇒MM ⊥ Lemma.
σ ist idempotent gdw. dom(σ) ∩ codom(σ) = ∅.
469 471
. .
{f (g (a, x), g (y , b)) = f (z, g (v , w )), f (z, g (v , w )) = f (g (x, a), g (v , b)} Theorem.
(2) . . . . E unifizierbar g.d.w. es gibt allgemeinsten Unifikator σ von E , so dass:
⇒MM {g (a, x) = z, g (y , b) = g (v , w ), z = g (x, a), g (v , w ) = g (v , b)}
(4) . . . .
(1) σ idempotent und
⇒MM {z = g (a, x), g (y , b) = g (v , w ), g (a, x) = g (x, a), g (v , w ) = g (v , b)} (2) dom(σ) ∪ codom(σ) ⊆ var (E ).
. . . . . . .
⇒∗MM {z = g (a, x), y = v , b = w , a = x, x = a, v = v , w = b}
. . . . . . Notation: σ = mgu(E ) ( most general unifier“)
⇒∗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}
. . Problem: exponentielles Anwachsen der Terme möglich.
. . . .
⇒∗MM {z = g (a, a), y = v , x = a, w = b} Beispiel:
Allgemeinster Unifikator: E = {x1 ≈ f (x0 , x0 ), x2 ≈ f (x1 , x1 ), . . . , xn ≈ f (xn−1 , xn−1 )}
m.g.u. [x1 7→ f (x0 , x0 ), x2 7→ f (f (x0 , x0 ), f (x0 , x0 )), ...]
[g (a, a)/z, v /y , a/x, w /b] xi 7→ kompletter binärer Baum der Höhe i Zeit/Raum: exponentiell
470 472
Beweisideen Beispiel
• Falls E ⇒MM E ′ , dann σ Unifikator von E gdw. σ Unifikator von E ′ . (⊥ habe {L} ∪ C1 = {p(a, x), p(x, x)}
keinen Unifikator.) | {z }
L
• Bzgl. ⇒MM irreduzible E sind trivialerweise nicht unifizierbar (E = ⊥)
{L′ } ∪ C2 = {¬p(y , y )}
oder haben die Form einer idempotenten Substitution. In diesem Fall ist die | {z }
Substitution der allgemeinste Unifikator. L′
• ⇒MM ist Noethersch. Eine geeignete lexikographische Ordnung auf Gleichungs- Allgemeinster Unifikator von L, L′ :
mengen E (mit ⊥ minimal und kleiner als alle Gleichungsmengen) zeigt dieses.
. . .
Man vergleiche in dieser Reihenfolge: {p(a, x) = p(y , y )} ⇒MM {a = y , x = y }
. . .
1. Anzahl der definierten Variablen (d.h. Variablen x in Gleichung x = t mit ⇒MM {y = a, x = a}
x 6∈ var (t)), die auch außerhalb ihrer Definition in E vorkommen
σ = [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,
C1 ∪ {L} C2 ∪ {¬L′ }
falls t 6∈ X . C1 σ ∪ C2 σ
• σ ist idempotent wegen der Substitution in Regel 4. dom(σ) ⊆ var (E ), weil R := {p(x, x)}σ ∪ {}σ = {p(a, a)}
keine neuen Variablen eingeführt werden.
473 475
• die Elternklauseln keine Variablen gemeinsam haben (bereinigt) • aber nur Resolventen der Länge 2
7→ ggf. umbenennen
474 476
Faktorisierung Beispiel
477 479
478 480
Allgemeine Resolution mit implizitem Wichtig: Häufige Fehlerquellen
Faktorisieren
• Das Bereinigen (Umbenennen) nicht vergessen!
Günstiger ist es, Resolutionsregel und Faktorisierungsregel in eine Regel
• Das Faktorisierungen (falls möglich) nicht vergessen!
zusammenzuziehen.
• Selbstresolution ist möglich!
C ∨ L1 ∨ . . . ∨ Ln D∨ ¬L′1 ∨ ... ∨ ¬L′m
(C ∨ D)σ
• wobei die Elternklauseln keine Variablen gemeinsam haben (bereinigt)
7→ ggf. umbenennen
481 483
(Hier verwenden wir Resolution mit implizitem Faktorisieren.) Sei N eine Klauselmenge und
Man sieht, dass (i) beim Instanziieren verschiedene Literale gleich werden Res(N) = N ∪ {R | R ist eine Resolvente zweier Klauseln aus N
können, und dass (ii) i. allg. mehrere verschiedene Instanzen einer Klausel oder Resultat der Faktorisierung einer Klausel aus N}
an einem Beweis partizipieren.
482 484
Resolution: Korrektheit Resolution: Vollständigkeit
Theorem Theorem
Für eine Menge N von Klauseln gilt: Falls ⊥∈ Res∗ (N), so N unerfüllbar. Für eine Menge N von Klauseln gilt: Falls N unerfüllbar, so ⊥∈ Res∗ (N).
485 487
486 488
Lifting-Lemma: Beweis Saturiertheit von Mengen allgemeiner Klauseln
L1 , L2 unifizierbar. Sei ρ = mgu(L1 , L2 ). 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.
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))
Wegen des Lifting-Lemmas sind C und D resolvierbar mit einer Resolvente C ′′
für alle x ∈ X .
so dass C ′′ τ = C ′ , für eine geeignete Substitution τ . Weil C ′′ ∈ N nach
C ′′ τ = (C1 ∨ C2 )ρτ = (C1 ∨ C2 )σ = C ′ . Voraussetzung, ist C ′ ∈ GΣ (N).
(ii) Analog für den Fall, dass C ′ durch Faktorisierung abgeleitet wurde.
489 491
490 492
Korrektheit und Vollständigkeit der allgemeinen Prädikatenlogische Resolution: Beispiel (1)
Resolution
Gegeben die Formel F :
Theorem A A
( x y (p(x, y ) → q(x, y ))∧
Sei N Menge allgemeiner Klauseln mit Res(N) ⊆ N. Dann: A A
x y (r (x, y ) → s(x, y ))
N |= ⊥ genau dann, wenn ⊥ ∈ N )→
A A E
( 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 495
494 496
Prädikatenlogische Resolution: Beispiel (3) Prädikatenlogische Resolution: Beispiel (5)
497 499
498 500
Prädikatenlogische Resolution: Beispiel (7) Prädikatenlogische Resolution: Beispiel (9)
501 503
De Morgan Da die Formel bereinigt und in NNF ist, kann man alle Quantoren nach
A A
(( x y (¬p(x, y ) ∨ q(x, y ))∧ vorne ziehen:
E A A A A E A E
A A
x y (¬r (x, y ) ∨ s(x, y )) x y x ′ y ′ x ′′ y ′′ z z ′ (
)) 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)
505 507
Skolemisieren von z:
1. {¬p(x, y ), q(x, y )}
A E A A A A
x y x′ y′ z z′( 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 ′ ))}
(¬r (x ′ , y ′ ) ∨ s(x ′ , y ′ )) 4. {r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))}
p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))∧ 5. {¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (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
(¬q(f (x, y , x ′ , y ′ ), z ′ ) ∨ ¬s(z ′ , g (x, y , x ′ , y ′ )))
Variablen x, y in 3., um die Klauseln variablendisjunkt zu machen
)
Verwendeter MGU: [f (u, v , x ′ , y ′ )/x, h(u, v , x ′ , y ′ )/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 511
510 512
Zusammenfassung: Prädikatenlogische Resolution Wiederholung: Der aussagenlogische
Tableaukalkül
• Prädikatenlogische Resolutionsregel
513 515
Vorteile
Nachteile
514 516
Formeltypen Formeltypen
• ¬¬F • ¬(F ∧ G )
• F ∧G • F ∨G
• ¬(F ∨ G ) • F →G
517 519
518 520
Instanzen der α und β-Regel Beispiel
521 523
Beispiel Beispiel
unerfüllbar,
Wir zeigen, dass
ist allgemeingültig
522 524
Zusätzlich: Prädikatenlogische Formeltypen Instanzen der γ und δ-Regel
525 527
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
Substitutionsregel
• Ist T ein Tableau für M und
• ist σ eine Substitution,
so ist auch T σ ein Tableau für M.
529 531
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
533 535
Beispiel Beispiel
(∗) ⊥
534 536
Beispiel Bemerkungen
537 539
Beispiel Beispiel
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
Problem: Es ist sehr schwierig, zu “raten”, welche Instanzen im Beweis Neue γ-Regel
A
nützlich sind. γ xq(x)
universell |
γ(y )
q(y )
wobei y eine neue freie Variable ist
Idee:
541 543
Neue γ-Regel Wir nehmen an, dass die Menge der Variablen X in 2 disjunkte unendliche
A
γ xq(x) Teilmengen Xf und Xg partitioniert ist, und dass:
universell |
γ(y )
q(y ) • Für gebundene Variablen nur solche aus Xg verwendet werden.
wobei y eine neue freie Variable ist (Vermeidet das Einfangproblem bei Substitution.)
Neue Abschlussregel
• Die Variabeln, die durch die neue γ-Regel eingeführt werden immer
aus Menge Xf gewählt sind.
L1
¬L2 p(y )
Widerspruch ¬p(a)
⊥
⊥ mgu: [a/y ]
542 544
Prädikatenlogische Klauseltableaux Korrektheit und Vollständigkeit
545 547
Beispiel Korrektheit
S = {{p(0)}, {¬p(x), p(s(x))}, {¬p(s(s(0)))}} Bei gegebener Signatur Σ bezeichnen wir mit Σsko das Ergebnis der
Hinzunahme unendlich vieler neuer Skolemfunktionen zu Σ, die wir in der
δ-Regel verwenden dürfen.
1
m p(0) RRRRR Sei A eine Σsko -Interpretation, T ein Tableau, und β eine Variablenbelegung
mmmm
¬p(x1 ) p(s(x1 )) über A.
SSS
llll S
⊥ ¬p(x2 ) p(s(x2 ))
Definition. T heißt (A, β)-erfüllt, wenn es einen Pfad Pβ in T gibt, so dass
[0/x1 ] ⊥ ¬p(s(s(0))) A, β |= F , für jede Formel F auf Pβ .
[s(0)/x2 ] ⊥
Definition. T heißt erfüllbar, falls es ein A gibt, so dass für jede
[s(0)/x2 ] Variablenbelegung β das Tableau T (A, β)-erfüllt ist. (D.h. wir dürfen Pβ
in Abhängigkeit von β wählen.)
546 548
Korrektheit Striktheitbedingung
Sei M = {F1 , . . . , Fn } eine Formelmenge (so dass Fi keine freien Variablen Definition. Ein Tableau ist strikt, falls für jede Formel F die entsprechende
enthält). 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 551
550 552
Mehrfachanwendung von γ löst das Problem Vollständigkeit
A
1. ¬[ x p(x) → (p(a) ∧ p(b))]
A Theorem
2. x p(x) 11
{F1 , . . . , Fn } erfüllbar genau dann, wenn es kein geschlossenes, striktes
3. ¬(p(a) ∧ p(b)) 12 (mit Ausnahme von γ) AMGU-Tableau für {F1 , . . . , Fn } gibt.
4. p(v1 ) 2v1
XXXX
X Beweis (Idee, Klauseltableaux)
6. ¬p(b) 32 Zum Beweis definiert man einen fairen Tableaux-Expansionssprozess, der gegen ein
5. ¬p(a) 31
unendliches Tableau konvergiert, wo auf jedem Pfad jede γ-Formel in alle Varianten
(modulo Wahl der freien Variablen) expandiert wurde. Man kann dann wieder zeigen,
7. p(v2 ) 2v2
dass alle Pfade bis auf Redundanz unter Resolution saturiert sind. Hierzu verwendet
man die Lifting-Argumente für Resolutionsinferenzen, um die AMGU-Einschränkung
A als vollständig zu beweisen.
Der Punkt ist, dass die verschiedenen Anwendungen von γ auf x p(x)
jeweils neue freie Variablen für x einsetzen dürfen.
Jetzt liefert zweifache Anwendung der AMGU-Regel die Substitution
[a/v1 , b/v2 ] und somit ein geschlossenes Tableau.
553 555
554 556
Vom Kalkül zur Beweissuchprozedur Beispiel
Schlechte Wahl kann das Finden eines Beweises verhindern! Bevorzugung eines Abschlusses
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)))
(mgu: [0/X2 ])
557 559
Beispiel Beispiel
A
xp(x) p(a)
| A
x((p(b) ∧ p(c) → p(x)) → ¬(q(x) → (q(b) ∨ q(c))))
q ∧ ¬q
¬q(d)
|
((p(b) ∧ p(c) → p(X )) → ¬(q(X ) → (q(b) ∨ q(c))))
p(X1 ) dd ZZZZZZZZ
d dddd
ddd ZZ
| ¬(p(b) ∧ p(c) → p(X )) ¬(q(X ) → (q(b) ∨ q(c))))
558 560
Zusammenfassung Anwendungsbereiche
Prädikatenlogische Tableaukalküle
MATHEMATIK VERIFIKATION DATENBANKEN
• γ- und δ-Regel
Aufgaben Aufgaben Aufgaben
• Determinismus der Regeln − Beweisen − Programme − Konsistenz
− Korrektheit − Anfragen
− Beweisuberprufung beantworten
• Tableaux mit freien Variablen − Terminierung
− reaktive/hybride − Kleiner Suchraum
neue γ- und neue Abschlussregel
Theorien Systeme Theorien
− Sicherheit
• Prädikatenlogische Klauseltableaux − Zahlen − Logik erster Stufe
Theorien − Datalog
− Polynomen − ...
• Beweissuchprozedur − Zahlen
− Funktionen auf − Komplexe Theorien
− Datentypen
Zahlenbereichen − Funktionen
− Funktionen auf
− Algebren Zahlenbereichen − Zahlen
561 563
4. Anwendungen Anwendungsbereiche
562 564
Beispiel: Sicherheitsprotokole Beispiel: Sicherheitsprotokolle
Ziel: zwei Personen (Alice und Bob) wollen miteinander kommunizieren Das folgende Schlüsselaustauschverfahren wurde 1993 von den beiden Kryp-
tographen Neuman und Stubblebine vorgeschlagen:
• ü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.
565 567
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.
566 568
Beispiel: Sicherheitsprotokolle Beispiel: Sicherheitsprotokolle
Schritt 3: Nachdem Trust Bob’s Nachricht gelesen und entschlüsselt hat, 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, Alice und Bob können nun mit dem gemeinsamen Schlüssel kommunizieren.
einmal für Alice und einmal für Bob verschlüsselt.
569 571
A, Na
Alice schickt die Nachricht 4: 1. A B
E (Kbt, A, Kab, Tb), E (Kab, Nb) an Bob.
Schritt 4: Alice liest Nachricht 3, entschlüsselt den ersten Teil durch B, Nb , EKbt (A, Na , Tb )
2. B T
den gemeinsamen Schlüssel Kat mit Trust und erhält so den
neuen Schlüssel Kab, um mit Bob zu kommunizieren.
EKat (B, Na , Kab , Tb ), EKbt (A, Kab , Tb ), Nb
Sie leitet den zweiten Teil von Trust’s Nachricht an Bob weiter 3. T A
und fügt die Nachricht E (Kab, Nb) hinzu.
570 572
Beispiel: Sicherheitsprotokolle Formalisierung der Eigenschaften des Protokolls
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.)
573 575
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 (3) Bk(key (bt, t))
bekommt, dann schickt er/sie eine andere Nachricht ab. 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)))))]
Dann formalisieren wir die Eigenschaften des Angreifers: Formel (3): Bob besitzt den Schlüssel bt zur Kommunikation mit Trust.
Formel (4): Wann immer er eine Nachricht in der Form von Nachricht 1 erhält
• Wenn eine Nachricht übermittelt wird, kann Charlie sie mithören.
(Formel 2), schickt er die Anfrage nach einem Schlüssel an Trust wie in Nachricht
• Wenn Charlie eine verschlüsselte Nachricht bekommt und den 2 festgelegt.
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
• Wenn Charlie eine Nachricht hat, dann kann er sie an Alice/Bob/Trust
Argument der benutzte Schlüssel.
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
3. E (Kat, B, Na, Kab, Tb), E (Kbt, A, Kab, Tb), Nb Der Angreifer wird als unermüdlicher Hacker implementiert, der keine
Möglichkeit unversucht lässt, das Protokoll anzugreifen.
(5) Tk(key (at, a))) ∧ Tk(key (bt, b))
A Er hört alle Nachrichten ab und zerlegt sie in ihre Bestandteile, solange er
(6) xb, xnb, xa, xna, xbet, xbt, xat, xk dazu nicht einen Schlüssel braucht, den er nicht hat.
[(M(sent(xb, t, triple(xb, xnb, encr (triple(xa, xna, xbet), xbt)))) ∧
Tk(key (xbt, xb)) ∧ Tk(key (xat, xa))) → Die Bestandteile werden dann auf jeder Art und Weise zu neuen Nachrichten
M(sent(t, xa, triple(encr (quadr (xb, xna, kt(xna), xbet), xat), beliebiger Länge komponiert.
encr (triple(xa, kt(xna), xbet), xbt), Jeder Bestandteil wird als Schlüssel in Betracht gezogen und sowohl zum
xnb)))] 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.
Entschlüsselung wird hierbei durch Unifikation mit einer entsprechenden Termstruktur
Die Menge aller Nachrichten(teile), die der Intruder so erhält, wird durch
realisiert, wobei zusätzlich überprüft wird, dass Trust die benötigten Schlüssel auch das Prädikat “Im” ausgedrückt.
besitzt.
Trust generiert den neuen Schlüssel durch die Funktion kt aus der Zufallszahl xna.
577 579
578 580
Der Angreifer Automatische Analyse
• Alle Nachrichten(teile) werden auf alle möglichen Arten neu komponiert. Die Formalisierung des Protokolls, Formeln (1)-(8) zusammen mit den
A
(15) u, v [(Im(u) ∧ Im(v ) → Im(pair (u, v ))] Angreiferformeln (9)-(20) und der Erfolgsbedingung für den Angreifer kann
A
(16) u, v , w [(Im(u) ∧ Im(v ) ∧ Im(w )) → Im(triple(u, v , w )) man nun in einen Theorembeweiser eingeben.
A
(17) u, v , w , z[(Im(u) ∧ Im(v ) ∧ Im(w ) ∧ Im(z)) → Im(quadr (u, v , w , z))
• Jeder Nachrichtenteil wird auch als Schlüssel aufgefasst und zur Verschlüsselung Dieser antwortet “erfüllbar”.
benutzt. Das beweist dann automatisch, dass der Angreifer das Protokoll brechen
A
(18) u, v , w [(Im(v ), P(w ) → Ik(key (v , w ))] kann und der kritische Schlüssel die Zufallszahl Na ist.
A
(19) u, v , w [(Im(v ), P(w ), Ik(key (v , w ))) → Im(encr (u, v ))]
581 583
Zum Schluss müssen wir noch formalisieren was es bedeutet, dass der Was kann passieren?
Angreifer Erfolg hat.
Dies ist dann der Fall, wenn er einen Schlüssel zur Kommunikation mit Bob
hat, von dem Bob glaubt, es sei ein Schlüssel für Alice.
E
x[Ik(key (x, b)) ∧ Bk(key (x, a))]
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.)
585 587
Bob entschlüsselt die Nachricht und denkt, sie komme von Alice, . . . aber spricht in Wirklichkeit mit Charlie.
und dass Na der sichere Schlüssel zur Kommunikation mit Alice ist.
586 588
Beispiel: Sicherheitsprotokolle Andere Anwendungsbereiche
Aufgaben Aufgaben
Mit ein wenig Erfahrung erkennt man aus der Ausgabe des Theorembewei- − Programme
− Beweisen
sers, wie es geht. − Beweisuberprufung − Korrektheit
− Terminierung Beispiel: Geometrie
− reaktive/hybride a b
Theorien Systeme
Dieser Angriff lässt sich reparieren, in dem man die Elemente des Protokolls − Sicherheit d c
− Zahlen (A1)
A A A A
x y u v (T (x, y , u, v )→P(x, y , u, v )
typisiert, so dass Zufallszahlen und Schlüssel nicht mehr austauschbar sind. Theorien
− Polynomen A A A A
− Zahlen (A2) x y u v (P(x, y , u, v )→E (x, y , v , u, v , y )
− Funktionen auf − Datentypen (A3) T (a, b, c, d)
Zahlenbereichen
Dies lässt sich dann auch wieder formalisieren; − Funktionen auf A1 ∧ A2 ∧ A3 → E (a, b, d, c, d, b)
− Algebren Zahlenbereichen
der Theoremenbeweise antwortet jetzt “unerfüllbar”.
589 591
Literatur
MATHEMATIK VERIFIKATION
[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), Aufgaben Aufgaben
− Beweisen − Programme
10-14. − Korrektheit
− Beweisuberprufung
− Terminierung Beispiel: Programmverifikation
− reaktive/hybride
Theorien Systeme int [] BubbleSort(int[] a) {
[2] Weidenbach, C., 1999, Towards an automatic analysis of security − Sicherheit
− Zahlen
int i, j, t;
protocols in first-order logic, in H. Ganzinger, ed., 16th International
− Polynomen
Theorien for (i := |a| − 1; i > 0; i := i − 1) {
Conference on Automated Deduction, CADE-16, Vol. 1632 of LNAI, − Zahlen for (j := 0; j < i; j := j + 1) {
Springer, pp. 378-382. − Funktionen auf − Datentypen if (a[j] > a[j + 1]){t := a[j];
Zahlenbereichen
− Funktionen auf a[j] := a[j + 1];
− Algebren Zahlenbereichen a[j + 1] := t};
}} return a}
590 592
Andere Anwendungsbereiche Beispiel: ETCS Fallstudie
AVACS: ETCS Fallstudie [Jacobs,VS’06,’07; Faber,Jacobs,VS’07]
Controllers RBC
MATHEMATIK VERIFIKATION
Aufgaben Aufgaben
− Beweisen − Programme
− Beweisuberprufung − Korrektheit
− Terminierung
braking + reaction
− reaktive/hybride distance
Theorien Systeme
− Sicherheit
− Zahlen Überprüfe:
Theorien • Kein “overflow” Anzahl der Züge: n>0 Z
− Polynomen
− Zahlen • Substanzen in der richtigen Proportion Minimaler sicherer Abstand: lalarm > 0 R
− Funktionen auf − Datentypen • ... andernfalls:
Zahlenbereichen
Minimale / maximale Geschwindigkeit : 0 ≤ min < max R
Tank kann in ≤ 200s geleert werden.
− Funktionen auf
Zahlenbereichen
Zeit zwischen Updates: ∆t > 0 R
− Algebren
Zugpositionierung vor/nach Update: pos, pos ′ :Z→R
593 595
Aufgaben Aufgaben
− Beweisen − Programme
− Beweisuberprufung − Korrektheit
− Terminierung
braking + reaction
− reaktive/hybride distance
Theorien Systeme
− Sicherheit Zugkontrollsysteme
− Zahlen RBC
Update(pos, pos′ ) : •
A
i (i = 0 → pos(i) + ∆t∗min ≤ pos ′ (i) ≤ pos(i) + ∆t∗max)
Theorien
− Polynomen A
− Zahlen • i (0 < i < n ∧ pos(i − 1) > 0 ∧ pos(i − 1) − pos(i) ≥ lalarm
− Funktionen auf − Datentypen braking + reaction
distance → pos(i) + ∆t ∗ min ≤ pos ′ (i) ≤ pos(i) + ∆t∗max)
Zahlenbereichen • Task: Keine Kollision ...
− Funktionen auf
− Algebren Zahlenbereichen
Induktive Invariante: Keine Kollision Sicher(pos) :
Sicher(pos)∧Update(pos, pos′ )∧¬Sicher(pos′ ) |=⊥
A
i, j(i<j→pos(i)>pos(j))
594 596
Weitere Logiken Weitere Logiken
597 599
Ausgangspunkt für die Entwicklung mehrwertiger Logiken war die Frage, ob In einer nichtklassischen Erweiterung der klassischen Logik werden
Annahme, das es nur zwei Wahrheitswerte 0 (falsch) und 1 (wahr) geben zusätzliche logische Operatoren hinzugefügt.
kann nicht zu Einschränkungen führen kann.
Für Aussagen über die Zukunft stellte bereits Aristoteles diese Frage, indem • Modale Logiken: Zusätzliche logische Operatoren:
er argumentierte, dass die Wahrheit einer Aussage wie
“2”: steht für “Es ist notwendig, dass...”.
“Morgen wird eine Seeschlacht stattfinden”
“3”: steht für “Es ist möglich, dass...”.
erst am Abend des morgigen Tages feststehen wird und dass sie bis zu
diesem Zeitpunkt noch als unbestimmt betrachtet werden muss.
• 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.
601 603
• 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
• Harald Ganzinger, Uwe Waldmann, Viorica Sofronie-Stokkermans (Äutomated
Abläufe erfasst werden können. Reasoning“, gehalten an der Universität des Saarlandes)
Zeitlogiken führen Operatoren ein, so dass jeder Fall der Äusserung • Ulrich Furbach (Logik für Informatiker“, gehalten an der Universität Koblenz-
des Satzes unter denselben Wahrheitsbedingungen steht. Landau) benutzt.
Diese Operatoren lassen es zu, differenziertere zeitliche Aussagen Material aus anderen Vorlesungen:
logisch zu analysieren, so dass der Wahrheitswert von “Es hat • Ulrich Furbach: Logic for Computer Scientists. Vorlesungsskriptum und Wikibook
geregnet”, “Es wird regnen”, “Es regnet immer” von der Erfüllung von • Harald Ganzinger, Viorica Sofronie-Stokkermans, Uwe Waldmann: Folien Äuto-
“Es regnet” zu bestimmten Zeitpunkten abhängig ist. mated 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 • Gert Smolka: Einführung in die Computationale Logik; SS 2003. Online at
und Verifikation benutzt. http://www.ps.uni-sb.de/courses/cl-ss03/skript/.
602 604
Literatur
Aussagenlogik, Prädikatenlogik:
• 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