pdf-Datei

Werbung
Einführung in die Logik
Jiřı́ Adámek
Sommersemester 2010
14. Juli 2010
Institut für Theoretische Informatik
Inhaltsverzeichnis
1 Einleitung: Logische Systeme
4
I
6
Aussagenlogik
2 Aussagenlogik
2.i
7
Syntax der Aussagenlogik . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.ii Semantik der Aussagenlogik . . . . . . . . . . . . . . . . . . . . . . . .
8
2.iii Abgeleitete Symbole . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.iv Bindungskonventionen . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.v Wahrheitstafel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
3 Eigenschaften von Formeln
3.i
12
Äquivalenz von Formeln . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.ii Eigenschaften von Konjunktion und Disjunktion . . . . . . . . . . . . .
13
3.iii Adäquate Junktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.iv Tautologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.v Erfüllbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4 Normalformen
4.i
18
Negation-Normalform (NNF ) . . . . . . . . . . . . . . . . . . . . . . .
18
4.ii Baum - Notation von Formeln . . . . . . . . . . . . . . . . . . . . . . .
20
4.iii Konjunktive Normalform . . . . . . . . . . . . . . . . . . . . . . . . . .
22
1
4.iv Disjunktive Normalform . . . . . . . . . . . . . . . . . . . . . . . . . .
25
5 Resolutionsmethode der Aussagenlogik
27
6 Sequenzen
33
7 Natürliche Deduktion
36
7.i
Regeln für die Konjunktion
. . . . . . . . . . . . . . . . . . . . . . . .
36
7.ii Regeln der Implikation . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
7.iii Formale Beweise
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
7.iv Regeln der Disjunktion . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
7.v Regeln der Negation und Absurdität . . . . . . . . . . . . . . . . . . .
43
7.vi Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
7.vii Hilberts Axiomatisierung . . . . . . . . . . . . . . . . . . . . . . . . . .
48
8 Hornlogik
8.i
II
50
Hornformeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
8.ii SDL-Resolutionsmethode . . . . . . . . . . . . . . . . . . . . . . . . . .
52
8.iii Markierungsalgorithmus . . . . . . . . . . . . . . . . . . . . . . . . . .
53
Prädikatenlogik
56
9 Syntax der Prädikatenlogik
9.i
57
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
9.ii Alphabet der Prädikatenlogik . . . . . . . . . . . . . . . . . . . . . . .
60
9.iii Syntax der Aussagenlogik . . . . . . . . . . . . . . . . . . . . . . . . .
61
10 Semantik der Prädikatenlogik
64
11 Logische Äquivalenz
68
2
12 Normalformen
72
13 Herbrandsche Modelle und abstrakte Datentypen
76
14 Resolutionsmethode der Prädikatenlogik
80
3
1. Einleitung: Logische Systeme
Formale Logik kann man als den Versuch auffassen, das Denken zu technisieren. Als
Wahr gilt nicht, was aufgrund einer sprachlichen Beschreibung plausibel gemacht wird,
sondern das, was mittels einer systematischen Arbeitstechnik nachgewiesen wird.
Ein logisches System überprüft dabei nicht den Wahrheitsgehalt einzelner Aussagen,
sondern es ermöglicht festzustellen, was zusätzlich wahr ist, wenn eine Menge von
Aussagen als wahr bekannt ist. Dieses Weiterdenken des bereits vorhandenen Wissens
ist das Forschungsgebiet der Logik.
Es gibt viele unterschiedliche Arten formaler logischer Systeme, die zum Teil unterschiedliche Fragestellungen adressieren.
In diesem Skript werden einige von vielen existierenden logischen Systemen eingeführt:
Aussagenlogik, Gleichungslogik und Prädikatenlogik. Die große Auswahl an logischen
Systemen entspricht ähnlich der Vielfalt an Programmiersprachen den unterschiedlichen Typen von Anwendungen, die Logik in der Informatik und auch in anderen
Gebieten hat.
Die hier vorgestellten Logiken arbeiten mit streng formulierten Sätzen – Formeln –, die
aus einem klar definierten Vorrat an Zeichen – Symbolen – zusammengesetzt werden.
Allerdings gilt nicht alles was formulierbar ist, als wahr. Deshalb gehört zu jeder Logik
immer auch ein Teil, der prüft, welche der korrekt formulierten Sätze auch tatsächlich
im System gültig, das meint wahr, sind.
Jedes der behandelten logischen Systeme besitzt die folgenden Grundbausteine:
(a) Sprache: Dies ist die Liste aller Symbole, die die Logik nutzt, um korrekte
Formeln aufzubauen.
Dazu zählt etwa die Sprache aller atomaren Aussagen (oder Variablen)
A “, A “, A “, . . . ; die aller Junktoren ∧ (und), ∨ (oder) und ¬ (nicht)
” 1 ” 2 ” 3
sowie die von Hilfssymbolen wie (“ und )“ und ,“ .
”
”
”
(b) Syntax: Dies sind die Regeln, die bestimmen, wie man eine korrekte Formel schreibt und sie aus den Elementen der Sprache zusammensetzt.
Oft werden diese Regeln in der folgenden Weise in zwei Schritten angegeben.
4
(a) Zuerst sagt man, was die atomaren, von Anfang an gegebenen
Formeln sind.
(b) Dann wird bestimmt, wie aus diesen atomaren Formeln zusammengesetzte Formeln korrekt aufgebaut werden.
In der später besprochenen Aussagenlogik sind die Formeln etwa aus den
atomaren Aussagen durch Verknüpfung mit den Junktoren aufgebaut. Dabei ist A1 ∨ A2 “ korrekt und A1 ∨ A2 ∧“ ist nicht korrekt.
”
”
(c) Semantik: Diese erklärt, was die Formeln bedeuten. Bedeutung“ kann
”
dabei verschiedene Formen annehmen.
In der Aussagenlogik entspricht das der Frage, welche Formeln wahr sind,
und welche falsch. Diese Werte sind binär und werden daher oft mit 1 für
wahr“ und 0 für falsch“ dargestellt.
”
”
(d) Logische Kalküle: Diese sind Regeln, um festzustellen, was wahr ist
und was nicht, indem Formeln umgeformt werden. Damit stellen Sie eine
Alternative zu Semantiken dar, die ebenfalls prüfen, was gilt und was
nicht.
Zur Erinnerung: Syntax gibt an, wie Formeln aus der Sprache entstehen.
Logische Kalküle wirken dagegen auf die Formeln und bestimmen mit
ihren Regeln, welche davon wahr sind. Semantiken wiederum bewerten
gegebene Formeln und bestimmen derart, welche gültig sind.
5
Teil I
Aussagenlogik
6
2. Aussagenlogik
Einige sprachliche Gebilde haben einen Wahrheitswert wahr“ oder falsch“. Z.B. Prag
”
”
”
liegt in Europa“ ist wahr. Jede Zahl ist größer als 3“ ist falsch. Solche Gebilde heißen
”
Aussagen. Ziel der Aussagenlogik ist, die Aussagen aus atomaren Aussagen (deren
Wahrheitswert wird von außen gegeben) zu untersuchen. Z.B.
wenn x = 2 gilt y = 3
ist eine Aussage, die die Form einer Implikation hat: wir wissen nicht, ob die Aussagen
A:
x=2
B:
y=3
und
wahr oder falsch sind. Aber trotzdem können wir z.B. behaupten, dass die obere Implikation
A⇒B
in allen Situationen wahr ist, wo x 6= 2.
2.i
Syntax der Aussagenlogik
Definition 2.1. Die Sprache der Aussagenlogik besteht aus
(a) einer abzählbaren Menge von atomaren Aussagen A1 , A2 , A3 , . . .
(b) Junktoren
∧ Konjunktion, und“
”
∨ Disjunktion, oder“
”
¬ Negation, nicht“
”
(c) und Hilfssymbolen
() Klammern
, Komma
7
Dabei schreiben wir oft A, B, C, . . . statt A1 , A2 , A3 , . . . um atomare Aussagen zu
bezeichnen.
Definition 2.2. Syntax der Aussagenlogik
Wir definieren die Formeln der Aussagenlogik (auch Aussagen genannt) als die
kleinste Menge, so dass
(a) jede atomare Aussage eine Formel ist
(b) falls F und G Formeln sind, dann sind es auch
• (F ∧ G)
• (F ∨ G)
• (¬F )
Beispiel 2.3. Für atomare Aussagen A und B sind etwa ((A ∨ B) ∧ (¬B))) und
(¬(¬(A ∨ B))) Formeln.
2.ii
Semantik der Aussagenlogik
Die Semantik der Aussagenlogik arbeitet mit Belegungen der atomaren Aussagen und
berechnet daraus den Wahrheitswert aller Formeln. Statt wahr“ schreibt man 1, statt
”
falsch“ 0. Gegeben sei eine Formel, deren atomare Aussagen in einer Menge M (un”
termenge von {A1 , A2 , A3 . . .}) liegen. Falls α eine Belegung dieser Aussagen ist, d.h.,
eine Funktion von M in {0, 1}, können wir den Wahrheitswert der ganzen Formel bestimmen.
Definition 2.4. Eine Belegung ist eine Abbildung α von einer Menge M von atomaren Aussagen in die Menge {0, 1}. Kurz:
α : M −→ {0, 1} für M ⊆ {A1 , A2 , A3 , . . .}
Beispiel 2.5. Falls M = {A, B} mit der Belegung α(A) = 1 und α(B) = 0, ist intuitiv
klar, dass (A ∨ B) wahr ist und (¬(A ∨ B)) falsch.
Definition 2.6. Für jede Formel F , die mit Hilfe der atomaren Aussagen aus M
gebildet werden kann, und jede Belegung α : M −→ {0, 1} definieren wir den Wert
der Formel α
b(F ) bei Belegung α
α
b(F ) := 0 oder 1
durch Strukturinduktion, d.h., Induktion über die Länge n der Formel F :
8
n = 1 Hier ist F eine atomare Formel aus M und wir setzten
α
b(F ) := α(F )
n > 1 Für kürzere Formeln ist α
b durch die Induktion bereits definiert, daher bestimmen wir nun den Wert von Zusammensetzungen aus anderen Formeln.
Eine Formel F mit Länge n > 1 hat die Form (G ∧ H) oder (G ∨ H) oder
(¬G). Wir definieren α
b(F ) entsprechend bei:
1 falls α
b(G) = 1 = α
b(H)
α
b(G ∧ H) :=
0 sonst
1 falls α
b(G) = 1 oder α
b(H) = 1
α
b(G ∨ H) :=
0 sonst
1 falls α
b(G) = 0
α
b(¬G) :=
0 sonst
In der Mathematik und in der theoretischen Informatik meint oder“ die nicht-exklusive
”
Form. Dh. der Wert von α
b(F ∨ G) ist auch dann 1, wenn α
b(G) = 1 = α
b(H).
Beispiel 2.7. Die Semantik der Formel
A ∨ (B ∧ ¬C)
ist bei jeder Belegung α der Atome A, B, C definiert. Die Formel ist wahr, falls A wahr
ist oder B wahr ist, sowie C falsch ist.
Definition 2.8. Eine Belegung α : M −→ {0, 1} ist passend für eine Formel F
falls alle atomaren Aussagen von F in M liegen. (Jede Formel hat bei jeder passenden
Belegung Wert 0 oder 1.)
2.iii
Abgeleitete Symbole
Andere Literatur zählt ⇒ (Implikation) und ⇔ (Äquivalenz) zu den Junktoren der
Aussagenlogik. Diese zwei verwenden wir als abgeleitete Symbole und definieren sie
per Notation als Abkürzung einer längeren Formel. Wenn wir überlegen, merken wir,
dass F ⇒ G dieselbe Bedeutung wie (G ∨ ¬F ) hat. Zu sagen: aus F folgt G“, bedeutet
”
dasselbe wie zu sagen: G ist wahr oder F ist falsch“. Aus diesem Grund können wir
”
definieren:
Definition 2.9. Für zwei Formeln F und G ist
(a) (F ⇒ G) eine Notation für die Formel (G ∨ ¬F )
(b) (F ⇔ G) eine Notation für die Formel ((F ⇒ G) ∧ (G ⇒ F ))
9
Die Semantik der Junktoren ⇒ und ⇔ folgt aus der Definition 2.6. Hier noch einmal
explizit:
1 falls α
b(G) = 0 oder α
b(H) = 1
0 sonst
1 falls α
b(G) = α
b(H)
0 sonst
α
b(G ⇒ H) :=
α
b(G ⇔ H) :=
In Worten sprechen wir G ⇒ H als wenn F , dann G“ und F ⇔ G als F genau dann,
”
”
wenn G“.
Definition 2.10. Wir bezeichnen durch ⊥ (“Absurdität“) die Aussage A ∧ ¬A, wobei
A ein Atom ist (konkret wählen wir das erste Atom). In jedem Modell hat ⊥ den Wert
0.
2.iv
Bindungskonventionen
Um unnötige Klammern zu vermeiden, bestimmen wir die folgende
Notationelle Konvention 2.11.
(a) ¬ bindet stärker als alle zweistelligen Junktoren (∧, ∨, ⇒, ⇔).
(b) ∧ und ∨, die alten“ Junktoren, binden stärker als die abgeleiteten Junk”
toren ⇒ und ⇔.
Beispiel 2.12. ¬A ⇒ B ∨¬C wird dadurch eine korrekte
Formel. Es ist die Abkürzung
für die offizielle“ Fassung (¬A) ⇒ (B ∨ (¬C)) .
”
2.v
Wahrheitstafel
Die Semantik jeder Formel F , die atomare Aussagen aus M := {A1 , A2 , . . . , An } benutzt, kann man als Wahrheitstafel darstellen: jede Zeile entspricht einer der 2n
Belegungen α : M −→ {0, 1}:
A1 A2
0 0
0 0
..
..
.
.
1 1
. . . An
... 0
... 1
. . . ..
.
... 1
F
α
b(F ) für α(Ai ) = 0 für alle i
α
b(F ) für α(An ) = 1, sonstige α(Ai ) = 0
..
.
α
b(F ) für α(Ai ) = 1 für alle i
Wahrheitstafeln stellen alle möglichen Kombinationen der Belegung der atomaren Aussagen dar. Dazu können wir der Reihenfolge von binären Darstellungen der Zahlen
10
0, 1, 2, . . . 2n−1 folgen. Dabei stehen in der ersten Zeile nur lauter 0-Werte, in der letzten lauter 1-Werte. In der Spalte rechts von den binären Zahlen steht der Wert der
Formel F bei der entsprechenden Belegung von M .
Beispiel 2.13. Man betrachte die Wahrheitstafel von F := A ∨ ¬B
A
0
0
1
1
B
0
1
0
1
F
1
0
1
1
Beispiel 2.14. Wahrheitstafeln ermöglichen eine Analyse der jeweils dargestellten Formel, etwa von F := C ⇒ A ∨ (B ∧ A):
A
0
0
0
0
1
1
1
1
B C F
0 0 1
0 1 0
1 0 1
1 1 0
0 0 1
0 1 1
1 0 1
1 1 1
An der Tafel ist zu sehen: die Formel ist fast immer wahr, außer in zwei Fällen:
• α(A) = 0, α(B) = 0 und α(C) = 1
• α(A) = 0, α(B) = 1 und α(C) = 1
Daraus ist zu erkennen, dass der Wert von F unabhängig von dem Wert von B, also
von α(B), ist. Damit ist α
b(F ) = 1, außer wenn α(A) = 0 und α(C) = 1. Dieselbe
Semantik lässt sich kürzer ausdrücken:
A ∨ ¬C
Die kurze Formel ist ebenfalls immer wahr, außer wenn α(A) = 0 und α(C) = 1.
11
3. Eigenschaften von Formeln
3.i
Äquivalenz von Formeln
Definition 3.1. Zwei Formeln F und G der Aussagenlogik heißen äquivalent, falls
sie dieselbe Semantik haben. Dh. für jede Belegung α : M −→ {0, 1} die zu F und G
passend ist, gilt
α
b(F ) = α
b(G)
Wir schreiben dies auch in der folgenden Notation: F ≡ G
Beispiel 3.2. C ⇒ A ∨ (B ∧ C) ist äquivalent zu (A ∨ ¬C). Dies haben wir im letzten
Abschnitt in Beispiel 2.14 durch Analyse der Wahrheitstafel festgestellt.
Satz 3.3. Für jede Formel F gilt: ¬¬F ≡ F .
Beweis. Falls α
b(F ) = 1 gilt, α
b(¬F ) = 0, weshalb α
b(¬¬F ) = 1 = α
b(F ). Analog für
α
b(F ) = 0.
Satz 3.4. De Morgansche Regeln:
¬(F ∧ G) ≡ ¬F ∨ ¬G
¬(F ∨ G) ≡ ¬F ∧ ¬G
Beweis. Die erste Regel folgt daraus, dass gegeben eine für F und G passende Belegung
α dann α
b(¬(F ∧ G)) Wert 1 hat, genau wenn α
b(F ∧ G) den Wert 0 hat und dies gilt
genau dann wenn α
b(F ) = 0 oder α
b(G) = 0. Und für die rechte Seite haben wir Wert
von α
b(¬F ∨ ¬G) gleich 1 genau wenn α
b(¬F ) = 1 oder α
b(¬G)0 =, d.h. in derselben
Situation wie oben. Dies beweist α
b(¬(F ∨ G)) = α
b(¬F ∨ ¬G). Analog wird die zweite
Regel bewiesen.
Bemerkung 3.5. Äquivalente Formeln haben dieselbe Wahrheitstabelle. Deswegen haben wir genau 4 Formeln, die nur ein Atom A benutzen:
A, ¬A, A ∨ ¬A und A ∧ ¬A
12
Alle anderen Formeln mit Atom A (z.B. A ∨ A, A ∨ A ∨ A usw) sind zu einer dieser
vier Äquivalent. Denn die vier Wahrheitstabellen
A A
0 0
1 1
A A ∨ ¬A
0
1
1
1
A A¬
0 1
1 0
A A ∧ ¬A
0
0
1
0
erschöpfen alle Möglichkeiten, die wir haben.
Analog für 2 Atome A, B: da es 16 mögliche Wahrheitstabellen gibt, gibt es bis auf
Äquivalenz höchstens 16 Formeln mit Atomen A und B.
n
Allgemein: mit n Atomen können wir höchstens 22 paarweise nicht-äquivalente Formeln aufbauen.
3.ii
Eigenschaften von Konjunktion und Disjunktion
Satz 3.6. Konjunktion ist
kommutativ:F ∧ G ≡ G ∧ F
assoziativ:(F ∧ G) ∧ H ≡ F ∧ (G ∧ H)
idempotent:F ∧ F ≡ F
Beweis: F ∧ G ist wahr genau wenn F und G wahr sind. Dasselbe gilt für G ∧ F .
Deswegen sind F ∧ G und G ∧ F äquivalent. Auf dieselbe Art kann man die anderen
Formeln beweisen.
Satz 3.7. Disjunktion ist kommutativ, assoziativ und idempotent.
Der Beweis erfolgt analog zu Satz 3.6.
Notationelle Konvention 3.8.
1. Die Assoziativität erlaubt es Formeln wie
A ∧ B ∧ C ohne Klammern zu schreiben. Dies gilt für beliebig viele Teilklauseln der Konjunktion, also ebenso für A∧B ∧C ∧D usw. Entsprechend
werden auch Disjunktionen der Form A ∨ B ∨ C, usw., notiert.
W
V
2. Wir schreiben auch ni=1 Ai statt A1 ∨ . . . W
∨ An und ni=1 Ai statt A1 ∧ . . . ∧
An . Genauer: wir definieren das Symbol ni=1 Ai per Induktion:
Für n = 1 ist
n
_
Ai = A1
i=1
Für n + 1 ist
n+1
_
i=1
Analog mit
Vn
i=1
Ai
13
Ai = (
n
_
i=1
Ai ) ∨ An+1
Bemerkung 3.9. Die De Morganschen Regeln kann man wie folgt verallgemeinern:
¬
sowie
¬
n
^
Fi ≡
n
_
i=1
i=1
n
_
n
^
Fi ≡
i=1
¬Fi
¬Fi
i=1
Der Beweis ist analog zu 3.4.
Satz 3.10. (Distributivgesetz) Konjunktion und Disjunktion distribuieren wie folgt:
F∧
sowie
F∨
n
_
Gi ≡
n
_
i=1
i=1
n
^
n
^
i=1
Gi ≡
(F ∧ Gi )
(F ∨ Gi ).
i=1
Bemerkung 3.11. Oft werden die Distributivgesetze nur für n = 2 formuliert:
F ∧ (G1 ∨ G2 ) = (F ∧ G1 ) ∨ (F ∧ G2 )
und
F ∨ (G1 ∧ G2 ) = (F ∨ G1 ) ∧ (F ∨ G2 )
W
b(F ) =
Beweis: Der Wert von F ∧ ni=1 Gi in einem Modell α ist 1, genau dann wenn α
1undb
α(Gi ) = 1 für einen Index i =W1, . . . , n. Dies ist der Fall genau wenn α
b(F ∧Gi ) = 1
für ein i. Und dies besagt, dass ni=1 (F ∧ Gi ) Wert 1 hat. Der Beweis des zweiten
Distributivgesetzes ist analog.
3.iii
Adäquate Junktoren
Formeln haben wir mit Hilfe der drei Junktoren ∧, ∨ und ¬ definiert. Aber die De
Morganschen Regeln zeigen, dass ∨ weggelassen werden könnte: aus ¬(F ∨ G) = ¬F ∧
¬G) folgt durch Negation beider Seiten
Folgerung 3.12.
F ∨ G = ¬(¬F ∧ G)
Definition 3.13. Eine Menge von Junktoren heißt adäquat, falls jede Formel zu einer
Formel, die nur Junktoren aus dieser Menge benutzt, äquivalent ist.
Beispiel 3.14.
(a) Wie wir gesehen haben, formen ∧ und ¬ eine adäquate
Menge. Analog sind auch ∨ und ¬ adäquat.
14
(b) Die Junktoren ⇒ und ¬ sind adäquat. In der Tat: Disjuktion können wir
wie folgt ersetzen:
F ∨ G ≡ F ∨ ¬(¬G) = ¬G ⇒ F
und dann benutzen wir die Tatsache, dass ∨ und ¬ adäquat sind.
(c) Das Symbol ⊥ für Absurdität kann als ein (nullstelliger) Junktor betrachtet
werden. Die Juktoren
⇒ und ⊥
sind adäquat: dies folgt aus b, weil für die Negation gilt
Satz 3.15. A ⇒⊥ ist zu ¬A äquivalent.
Beweis. Da A ⇒⊥ gleich ⊥ ∨¬A und der Wer von ⊥ in jedem Modell 0 ist, sehen
wir, dass ¬A und ⊥ ∨¬A immer denselben Wert haben.
Beispiel 3.16. Die Junktoren ∧ und ⊥ sind nicht adäquat. In der Tat, für eine atomare
Aussage A ist die Formel ¬A zu keiner Formel F , die nur ∧ und ⊥ als Junktoren
benutzt, äquivalent. Falls nämlich F das Symbol ⊥ nicht enthält, hat sie die Form
F = B1 ∧ . . . ∧ Bn , Bi atomar. Dann nehmen wir die Funktion α, die jeder atomaren
Aussage 1 zuordnet: es gilt α
b(¬A) = 0 und α
b(F ) = 1. Und falls F das Symbol ⊥
enthält, gilt α
b(F ) = 0 für jede Belegung α. Hier wählen wir die Belegung, die konstant
den Wert 0 hat, dann α
b(¬A) = 1 und α
b(F ) = 0.
Beispiel 3.17. Der NAND-Junktor (auch als Sheffer-Symbol bekannt) ist der Junktor
“nicht beide“, der durch
A ↑ B = ¬(A ∧ B)
definiert wird. Die Aussagenlogik kann durch den NAND Junktor allein aufgebaut werden: die Menge {↑} ist adäquat. In der Tat:
¬A ≡ A ↑ A
deswegen
A ∧ B ≡ ¬(A ↑ B) ≡ (A ↑ B) ↑ (A ↑ B)
und endlich benutzen wir die De Morgansche Regel die A ↑ B = ¬A ∨ ¬B ergibt für
A ∨ B = (¬A) ↑ (¬B) = (A ↑ A) ↑ (B ↑ B).
3.iv
Tautologien
Manche Formeln sind unabhängig von der Belegung der atomaren Aussagen immer
wahr – sie heißen Tautologien.
Definition 3.18. Eine Formel heißt Tautologie, falls sie für jede passende Belegung
wahr ist.
15
Beispiel 3.19. Die Formel F ∨ ¬F ist eine Tautologie. Auch (¬F ⇒ ¬G) ⇒ (G ⇒ F )
ist eine Tautologie. Sie bildet die Grundlage für das Beweisen durch Widerspruch.
Satz 3.20. Zwei Formeln F und G sind äquivalent, genau wenn F ⇔ G eine Tautologie
ist.
Beweis. Vergleichen wir die Wahrheitstafeln: Immer wenn F und G den gleichen Wert
haben, steht in der Spalte von F ⇔ G eine 1 für wahr. Falls F und G äquivalent sind,
steht in der ganzen Spalte von F ⇔ G eine 1 und damit ist F ⇔ G eine Tautologie.
Umgekehrt gilt, falls F ⇔ G eine Tautologie ist, stehen immer bei F und G die gleichen
Werte und sie sind daher äquivalent.
Beispiel 3.21. Eine überraschende Tautologie ist die Folgende:
(F ⇒ G) ∨ (G ⇒ F )
In der Tat, bei jeder passenden Belegung α ist entweder α
b(F ) = 1: dann ist die Formel
wahr, weil G ⇒ F wahr ist. Oder α
b(F ) = 0, wo die auch wahr ist, weil F ⇒ G wahr
ist.
Die Tautologie scheint zu sagen, dass jede Tatsache aus einer beliebigen anderen folgt
oder umgekehrt. Dennoch gilt sie. Die Erklärung ist, dass wenn wir A ⇒ B schreiben,
bedeutet dies nicht, dass aus A immer B folgt (denn die Formel A ⇒ B kann auch
falsch sein).
3.v
Erfüllbarkeit
Definition 3.22. Eine Formel F heißt erfüllbar, falls sie bei wenigstens einer Belegung wahr ist.
Beispiel 3.23. Die Formel A ⇒ B ist erfüllbar, da sie etwa dann wahr wird, wenn
man B mit 1 belegt. Dagegen ist die Formel A ⇒ B ∧ ¬A nicht erfüllbar.
Satz 3.24. Eine Formel F ist genau dann erfüllbar, wenn ¬F keine Tautologie ist.
Beweis. Wenn F erfüllbar ist, gibt es eine Belegung α mit α
b(F ) = 1, dh. mit α
b(¬F ) = 0.
Daraus folgt, dass ¬F keine Tautologie ist. Umgekehrt bedeutet zu sagen, dass ¬F keine Tautologie ist, dass es eine Belegung α mit α
b(¬F ) = 0 gibt. Bei dieser Belegung ist
α
b(F ) = 1 und F erfüllbar.
16
In der Industrie, etwa zur Steuerung von Weichenanlagen, werden Formeln mit bis zu
300 Tausend atomaren Aussagen formuliert und deren Erfüllbarkeit getestet. Dieses
Problem wird in der Theoretischen Informatik intensiv erforscht und heißt dort SAT
(von englisch satisfiable“). Im nächsten Kapitel entwickeln wir einen Algorithmus
”
dafür.
17
4. Normalformen
Es ist oft wichtig mit Formlen einer gewissen “schönen“ Gestalt arbeiten zu dürfen.
Die wichtigste solcher Formen heißt konjunktive Normalform und wir zeigen hier, wie
sie berechnet wird. Zwei andere Normalformen werden ebenfalls eingeführt. Erst brauchen wir eine einfache aber nützliche Aussage: die Relation der Äquivalenz ≡ zwischen
Formeln ist eine “Kongruenz“ aller Junktoren:
Satz 4.1. Gegeben seien die Formeln F ≡ F 0 und G ≡ G0 , dann gilt: F ∨ G ≡ F 0 ∨ G0
und F ∧ G ≡ F 0 ∧ G0 sowie ¬F ≡ F 0 .
Beweis. Wir sollen zeigen, dass der Wert von F ∨ G in jedem Modell aller Aussagen
F, G, F 0 , G0 gleich zum Wer von F 0 ∨ G0 ist. Der Wert von F ∨ G ist 1, genau wenn
entweder F oder G Wert 1 haben. Dies ist, aufgrund von F 0 ≡ F und G0 ≡ G, genau
der Fall, wenn F 0 oder G0 Wert 1 hat, d.h., genau wenn F 0 ∨ G0 Wert 1 hat. Analog
mit F ∧ G und ¬F .
Folgerung 4.2. Aus F ≡ F 0 und G ≡ G0 folgt
F ⇒ G ≡ F 0 ⇒ G0
Folgerung 4.3. Aus F1 ≡ F10 , . . . , Fn ≡ Fn0 folgt
n
^
i=1
4.i
Fi ≡
n
^
Fi0 und
i=1
n
_
i=1
Fi ≡
n
_
Fi0
i=1
Negation-Normalform (NNF )
Bemerkung 4.4. Die De Morganschen Regeln und die Äquivalenz von und ¬¬F und F
ermöglichen es, Formeln so zu gestalten, dass die Negation nur vor atomaren Aussagen
vorkommt.
Beispiel 4.5.
(A ∨ B) ⇒ (B ∧ ¬(A ∨ ¬C))
≡(B ∧ ¬(A ∨ ¬C)) ∨ ¬(A ∨ B)
≡(B ∧ ¬A ∧ ¬¬C) ∨ (¬A ∧ ¬B)
≡(B ∧ ¬A ∧ C) ∨ (¬A ∧ ¬B)
18
Definition 4.6. Eine Formel G heißt Negation-Normalform (NNF ) falls die Negation in G nur direkt vor den atomaren Aussagen steht.
Wir können für jede Formel G ihre NNF berechnen indem wir die De Morganschen
Regeln rekursiv benutzen: falls G = ¬(H ∨ K) gilt:
G ≡ ¬H ∧ ¬K
und wir müssen nur die NNF für ¬H sowie ¬K berechnen. Analog für G = ¬(H ∨ K).
Und falls G = ¬¬H dann gilt G ≡ H. Dies wird durch den folgenden rekursiven
Algorithmus formalisiert werden:
Algorithmus 4.7 (NNF ).
Eingabe: Eine Formel A mit Junktoren ∨, ∧ und ¬.
(Die Junktoren ⇒ und ⇔ müssen erst ersetzt werden.)
Ausgabe: Eine NNF äquivalent zu A, bezeichnet als NNF (A)
Da dieser Algorithmus rekursiv ist, benutzen wir die Strukturinduktion: wir stellen NNF
(A) für atomare Aussagen fest. Und für die zusammengesetzten Formeln A berechnen
wir NNF (A) aus der vorher berechneten Formeln NNF (Bi ), wobei Bi kürzere Formeln
sind als A.
1. A atomar: wir setzen
NNF (A) := A
2. A = B1 ∧ B2 : wir setzen
NNF (B1 ∧ B2 ) := NNF (B1 ) ∧ NNF (B2 )
3. A = B1 ∨ B2 : wir setzen
NNF (B1 ∨ B2 ) := NNF (B1 ) ∨ NNF (B2 )
4. A = ¬B: Hier müssen wir eine neue Rekursion anfangen: wir benutzen
Strukturinduktion in B. Falls B nicht atomar ist, nehmen wir an, dass
NNF(¬Ci ) berechnet wurden für Formeln Ci , die kürzer als B sind.
4.1 B atomar: wir setzen
NNF (¬B) := ¬B
4.2 B = C1 ∧ C2 : wir setzen
NNF (¬(C1 ∧ C2 )) := NNF (¬C1 ) ∨ NNF (¬C2 )
4.3 B = C1 ∨ C2 : wir setzen
NNF (¬(C1 ∨ C2 ) := NNF (¬C1 ) ∧ NNF (¬C2 )
19
4.4 B = ¬C: wir setzen
NNF (¬¬C) := NNF (C)
Satz 4.8. Der Algorithmus NNF ist korrekt: für jede Formel A wird NNF (A) in endlich
vielen Schritten berechnet, ist zu A äquivalent und hat die Form NNF .
Beweis. Die endlich vielen Schritte folgen aus der Tatsache, dass für eine Formel A
der Länge n in einem rekursiven Durchgang der Algorithmus NNF ein oder zweimal
verwendet wird, jedesmal an Formeln der Länge höchstens n−1. Da für die Formeln der
Länge 1 nur ein Schritt notwendig ist, haben wir insgesamt höchstens n Durchgänge.
Die Äquivalenz A ≡ NNF (A) und die Tatsache, dass NNF (A) eine NNF ist, müssen
wieder per Strukturinduktion bewiesen werden. Falls A atomar ist, gilt A = NNF (A),
dies ist eine NNF . Falls A = B1 ∧ B2 und für B1 und B2 die Aussage gilt, berechnen
wir
NNF (A) ≡ NNF (B1 ) ∧ NNF (B2 )
und benutzen Satz 4.1: aus B1 ≡ NNF (Bi ) für i = 1, 2 folgt
NNF (A) ≡ B1 ∧ B2 = A
Da NNF (Bi ) eine NNF ist, folgt unmittelbar, dass NNF (A) eine NNF ist.
Die Schritte A = B1 ∨ B2 und A = ¬B sind analog.
Beispiel 4.9. Wir wollen die NNF der Formel
(A ⇒ ¬A ∨ B) ∨ (A ∧ C ⇒ ¬B ∨ C)
berechnen. Bevor der rekursive Algorithmus angefangen wird, müssen wir ⇒ ersetzen.
Wir arbeiten mit der Formel
G = ((¬A ∨ B) ∨ ¬A) ∨ ((¬B ∨ C) ∨ ¬(A ∧ C))
Die rekursive Berechnung wird extra mit der linken und der rechten Seite entwickelt:
NNF (G) = NNF ((¬A ∨ B) ∨ ¬A) ∨ NNF ((¬B ∨ C) ∨ ¬(A ∧ C))
= NNF (¬A ∨ B) ∨ NNF (¬A) ∨ NNF (¬B ∨ C)
∨NNF (¬(A ∧ C))
= NNF (¬A) ∨ NNF (B) ∨ NNF (¬B) ∨ NNF (¬A ∨ ¬C)
= ¬A ∨ B ∨ ¬B ∨ ¬A ∨ C
4.ii
Baum - Notation von Formeln
Es ist oft vorteilhaft sich die Struktur einer Formel F (wie sie durch ihre Unterformen
aufgebaut ist) als einen Baum vorzustellen, dessen Blätter mit den atomaren Aussagen
von F markiert werden und andere Knoten werden, falls sie 2 Kinder haben, mit einem
2-stelligen Junktor markiert und für 1 Kind mit ¬ markiert. Für Formeln F = G ∨ H
steht ∨ in der Wurzel (analog mit ∧, ⇒ oder ⇔). Für F = ¬G steht ¬ in der Wurzel.
20
Beispiel 4.10. ((A ⇒ B) ∨ C) ∧ ¬(A ⇒ B) ist eine Formel dessen Hauptjunktor ⇔
ist, der entsprechende Baum hat die Form
t
⇔A
}} AAA
}
AA
}
AA
}}
}}
s
wobei t der Baum für (A ⇒ B) ∨ C und s der für ¬(A ⇒ B) ist. Wir sehen schnell,
dass t und s die Form
A
||
||
|
|
||
⇒A
}} AAA
AA
}}
}
AA
}
}}
∨A
¬
und
AA
AA
AA
⇒CC
C
A
B
||
||
|
|
||
CC
CC
CC
B
haben, deswegen wird F durch den Baum
A
∧B
BB
}}
BB
}
}
}
BB
}
}
B
}
¬
∨A
AA
||
|
A
|
AA
||
A
||
⇒A
⇒A
C
}} AAA
}} AAA
}
}
AA
AA
}
}
AA
AA
}}
}}
}}
}}
B
A
B
dargestellt.
Bemerkung 4.11. Der Algorithmus NNF schiebt die ¬-Knoten nach unten bis sie nur
vor den Blättern stehen. Dies illustrieren wir auf dem oberen Beispiel: erst müssen wir
X ⇒ Y ersetzen
∧A
B
AA
}
AA
}}
}}
AA
}
}
A
}
¬
∨@
@@
~~
~
@@
~
@@
~~
~~
∨
∨
C
 ???
 ???


??
??


??
??


?
?


¬
B
A
¬
A
21
Jetzt wird im rechten Unterbaum ¬∨ durch die De Morgansche Regel Umgewandelt:
B
nn ∧ PPPPP
PPP
nnn
n
n
PPP
nn
n
PPP
n
n
P
nnn
∧@
∨@
@@
~~
~~ @@@
~
~
@
@@
~
~
@@
~~
@@
~~
@
~~
~~
¬
¬
∨?
C
 ???


??

??

¬
B
A
¬
A
endlich wird ¬¬ entfernt:
B
∨ PPPP
ooo
PPP
o
o
PPP
oo
o
o
PPP
oo
o
PP
o
o
∨?
∧
~ ??
~ @@@
~
~
??
@@
~~
~~
??
@@
~~
~~
?
~
~~
~
c
¬
∨?
A
 ???


??

??

¬
B
A
4.iii
Konjunktive Normalform
Definition 4.12. Ein Literal ist eine atomare Aussage oder ihre Negation. Wir sprechen auch von positiven Literalen A oder negativen Literalen ¬A (A atomar).
Definition 4.13. Eine Disjunktion von Literalen heißt Klausel.
Beispiel 4.14.
(a) Die Formel A∨A∨¬B ∨C ist eine Klausel. Sie ist äquivalent zur kürzeren
Formel A ∨ ¬B ∨ C, die auch eine Klausel ist.
W
(2) Für n atomare Aussagen X1 , . . . , Xn ist ni=1 Xi eine Klausel. Ihr Wert
ist 1 in genau den Modellen wo es einen Index i = 1, . . . , n mit Xi wahr
gibt.
(3) Der Fall n = 0 in (2) ergibt die leere Klausel“. Ihr Wer ist nie 1 weil
”
es keinen Index i mit Xi wahr gibt - dann sehen wir, dass die Absurdität
⊥ diese leere Klausel ist. Es wird also ⊥ auch als eine Klausel genommen
werden.
22
Bemerkung 4.15. Die Formeln, die die Form F1 ∧ . . . ∧ Fn von Konjunktion von
Klauseln haben, sind übersichtlicher“ als die allgemeinen Formeln: der Wert in einem
”
Modell ist wahr genau wenn alle Klauseln Fi wahr sind. Und dies bedeutet dass für jedes
i = 1, . . . , n ein positives Literal A in Fi steht, wobei α(A) = 1, oder ein negatives,
¬A, wbei α(A) = 0.
Beispiel 4.16. Die Formel (B ∧ ¬A ∧ C) ∨ (¬A ∧ ¬B) wollen wir als Konjunktion von
Klauseln darstellen. Dazu benutzten wir die Distributivgesetze:
(B ∧ ¬A ∧ C) ∨ (¬A ∧ ¬B)
≡((B ∧ ¬A ∧ C) ∨ ¬A) ∧ ((B ∧ ¬A ∧ C) ∨ ¬B)
≡(B ∨ ¬A) ∧ (¬A ∨ ¬A) ∧ (C ∨ ¬A) ∧ (B ∨ ¬B) ∧ (A ∨ ¬B) ∧ (C ∨ ¬B)
≡(B ∨ ¬A) ∧ ¬A ∧ (C ∨ ¬A) ∧ (A ∨ ¬B) ∧ (C ∨ ¬B)
Definition 4.17. Eine Konjunktive Normalform ( KNF ) ist eine Konjunktion
von Klauseln.
Die letzte Zeile des obigen Beispiels ist also bereits eine KNF . Wir zeigen jetzt einen
Algorithmus, der die KNF berechnet. Der Kern liegt in der Benutzung des Distributivgesetzes. Wir formulieren erst diesen Kern und dann wenden wir es in unserem
Algorithmus an:
Satz 4.18. Falls F eine KNF mit Klauseln F1 , . . . , Fn ist und G eine KNF mit Klauseln
G1 , . . . , Gk , ist F ∨ G äquivalent zur KNF mit Klauseln Fi ∨ Gj für i = 1, . . . , n und
j = 1, . . . , k.
Beweis. Es gilt, aufgrund des Distributivgesetzes:
F ∨G=(
n
^
Fi ) ∨ G ≡
i=1
n
^
(Fi ∨ G)
i=1
Für jedes i berechnen wir analog
Fi ∨ G ≡ Fi ∨ (
k
^
Gj ) ≡
j=1
n
^
(Fi ∨ G)
j=1
Daraus folgt:
F ∨G≡
n
^
(Fi ∨ G) ≡
i=1
n ^
k
^
(Fi ∨ Gj )
i=1 j=1
Die letzte Formel ist eine KNF und weil die Formeln Fi und Gj Klauseln sind ist auch
Fi ∨ Gj eine Klausel.
Algorithmus 4.19 (KNF).
Eingabe: Eine Formel A in NNF
Ausgabe: Eine KNF , äquivalent zu A, bezeichnet als KNF (A)
Wieder ein rekursiver Algorithmus, der per Strukturinduktion beschrieben wird:
23
1. A atomar: wir setzen
KNF (A) := A
2. A = B1 ∧ B2 wir setzen
KNF (A) := KNF (B1 ) ∧ KNF (B2 )
3. A = B1 ∨ B2 wobei wir schon zwei Ergebnisse unseres Algorithmus berechnet haben:
KNF (B1 ) = C1 ∧ . . . Cn
und
KNF (B2 ) = D1 ∧ . . . ∧ Dk
Dann setzen wir
KNF (B1 ∨ B2 :=
n ^
^
j = 1k (Ci ∨ Dj )
i=1
4. A = ¬B. Hier muss B atomar sein, da A eine NNF ist, und wir setzen
KNF (¬B) := ¬B.
Satz 4.20. Der Algorithmus KNF ist korrekt:
für jede Formel A berechnen wir in endlich vielen Schritte eine KNF , die zu A äquivalent
ist.
Der Beweis hat dieselbe Struktur wie der von Satz 4.8. Der einzige nichttriviale Schritt
ist zu beweisen, dass für A = B1 ∨ B2 die Äquivalenz KNF (A) ≡ A gilt. Dies folgt aus
Satz 4.17.
Beispiel 4.21. Die KNF der Formel
A ⇔ (B ⇒ ¬C ∧ A)
berechnen wir in 3 Schritten:
a) ⇔ und ⇒ ersetzt werden:
(A ∧ ((¬(C ∧ A) ∨ ¬B)) ∨ (¬A ∧ ¬((C ∧ A) ∨ ¬B))
b) Algorithmus NNF ergibt
F ≡ (A ∧ ((¬C ∨ ¬A) ∨ ¬B)) ∨ (¬A ∧ ((C ∨ ¬A) ∧ B))
c) Algorithmus KNF wird angewendet:
hier haben wir eine Disjunktion zweier KNF :
F ≡ (A ∧ (¬C ∨ ¬A ∨ ¬B)) ∨ (¬A ∧ C ∧ ¬A ∧ B)
und wir brauchen nur Satz 4.17 anzuwenden:
KNF (F ) = (A ∨ ¬A) ∧ (A ∨ C) ∧ (A ∨ ¬A) ∧ (A ∧ B) ∧ (¬C ∨ ¬A ∨ ¬B ∨ ¬A)
∧ (¬C ∨ ¬A ∨ ¬B ∨ C) ∧ (¬C ∨ ¬A ∨ ¬B ∨
∧ (¬C ∨ ¬A ∨ ¬B ∨ B)
24
Beispiel 4.22. Für G2 = (A1 ∧ B1 ) ∨ (A2 ∧ B2 ) ist KNF (G2 ) durch Satz 6.6 berechnet
(d.h. nur das Distributivgesetz wird benutzt):
KNF (G2 ) = (A1 ∨ A2 ) ∧ (A1 ∨ B2 ) ∧ (B1 ∨ A2 ) ∧ (B1 ∨ B2 )
Analog: für die Formel Gn = (A1 ∧ B1 ) ∨ (A2 ∧ B2 ) ∨ . . . ∨ (An ∧ Bn )
berechnen wir KNF (G): als Ergebnis bekommen wir die Konjunktion aller Klauseln des
Typs
A1 ∨ A2 ∨ . . . An
B1 ∨ A2 ∨ . . . An
..
.
B1 ∨ B2 ∨ . . . Bn
wobei wir immer n Atome mit Indexen 1, . . . , n und Namen A oder B haben.
Bemerkung 4.23. Die Formel Gn hat Länge 6n − 1 = O(n). Aber KNF (Gn ) hat 2n
Klauseln, da für jeden Index 1, . . . , n die Wahl zwischen A oder B vorkommt. Deswegen
liegt die Länge von KNF (Gn ) in O(2n ). Dies bedeutet, dass der Algorithmus KNF
nicht effizient ist: für Formeln der Länge 200 gibt es keine Chance die KNF immer zu
berechnen. In der Tat: die Lichtgeschwindigkeit ist 3·108 /m
sec und der Durchschnitt eines
−15
Protons ist 10 m dann hätte ein Rechner, der jede Operation in der Zeit erledigt, die
das Licht braucht um ein Proton umzuwandeln, 3 · 1023 Operationen pro Sekunde. Da
10 < 24 , ist 3 · 1023 < 2100 . Deswegen, falls in einem Algorithmus 2200 Schritte braucht,
müsste auch ein si schneller Rechner wenigstens 2100 Sekunden rechnen - dies ist aber
mehr, als die Zeit (3 · 1017 Sekunden) seit dem Urknall.
4.iv
Disjunktive Normalform
Definition 4.24. Eine disjunktive Normalform (DNF) ist eine Disjunktion von
Formeln der Form
X1 ∧ X2 ∧ . . . ∧ Xn wobei Xi Literale sind.
Beispiel 4.25. Die Formel C ∧ A ⇒ (B ∧ ¬C) bringen wir in disjunktive Normalform:
C ∧ A ⇒ (B ∧ ¬C) =(B ∧ ¬C) ∨ ¬(C ∧ A)
= (B ∧ ¬C) ∨ ¬C ∨ ¬A
Algorithmus 4.26. der Jede Formel G in eine Disjunktive Normalform bringt, ist
einfach:
1. Wir berechnen KNF für ¬G
25
2. Für jede Klausel Ai von KNF (¬G) ist ¬Ai äquivalent zur Konjunktion
von Literalen: die Literale von Ai werden negiert.
3. Es gilt:
G ≡ ¬KNF (¬G)
≡ ¬(A1 ∧ . . . ∧ An )
≡ ¬A1 ∨ ¬A2 ∨ . . . ∨ ¬An
Die letzte Formel ist schon eine disjunktive Normalform.
Bemerkung 4.27. Für Klauseln X1 ∨ . . . ∨ Xn benutzt man oft die mengentheoretische
Notation {X1 , . . . , Xn } (in der die wiederholten Literale nicht mehr wiederholt werden dies ändert nicht den Wahrheitswert). Dann ist jede KNF eine Liste endlicher Mengen.
Z.B. die KNF für G2 in Beispiel 6.11 ist die Liste
{A1 , A2 }, {A1 , B2 }, {B1 , A2 }, {B1 , B2 }
Die leere Klausel ⊥ wird dann mit ∅ bezeichnet.
26
5. Resolutionsmethode der
Aussagenlogik
Dieses Kapitel stellt einen Algorithmus vor, der für jede Formel ihre Erfüllbarkeit
berechnet: die Resolutionsmethode. Die Idee basiert auf den folgenden Beobachtungen:
Bemerkung 5.1.
gegeben ist eine KNF , F .
(a) Falls F die 1-Literal-Klauseln X und auch ¬X enthält, ist F unerfüllbar.
(b) Falls F die Klauseln A ∨ X und B ∨ ¬X enthält, dürfen wir die Klausel
A ∨ B hinzufügen – ohne dass sich die Erfüllbarkeit ändert. Dies wird
später als Resolutionslemma“ bewiesen.
”
Eine Wiederholung von (a) und (b) ergibt die Entscheidung, ob F erfüllbar ist. Dies
ermöglicht einen Algorithmus, der im Folgenden im Detail vorgestellt und überprüft
wird.
Notationelle Konvention 5.2.
1. Die Negation eines Literals ist immer ein Literal: hier wird ¬¬A mit A
identifiziert.
2. Falls die Klausel K das Literal X enthält, bezeichnet
K\X
jene Klausel, die durch Entfernung von X entsteht.
Beispiel 5.3. Für K = {A, ¬B} gilt K\A = {¬B} und K\¬B = {A}. Für K =
{A, ¬B, C} ist beispielsweise K\¬B gleich {A, C}; aber K\¬A gibt es nicht. Endlich
für K = A gilt K\A =⊥
Definition 5.4. Eine Resolvente zweier Klauseln K und K 0 ist eine Klausel der
Form
(K\X) ∪ (K 0 \¬X)
wobei X in K liegt und ¬X in K 0 .
27
Mehr detailliert: Falls zwei Klauseln gegeben werden K := {K1 , . . . , Kn } und K 0 :=
0
{K10 , . . . , Km
} die ein Literal so enthalten, dass Ki = X und Kj = ¬X, dann ist die
Klausel
0
0
0
{K1 , . . . , Ki−1 , Ki+1 , . . . , Kn , K10 , . . . , Kj−1
, Kj+1
, . . . , Km
}
eine Resolvente.
Notationelle Konvention 5.5. Wir benutzen für Resolventen die folgende BaumNotation
K@
K0
@
@@
@@
@@
L
}}
}}
}
}
}}
falls L eine Resolution von K und K 0 ist.
Beispiel 5.6.
(a) {A} und {¬A} haben die Resolvente
{A}
{¬A}
CC
CC
CC
CC
y
yy
yy
y
yy
∅
(b) {A, B} und {C, ¬B} haben die Resolvente {A, C}.
{A, B}J
JJ
JJ
JJ
JJ
{C, ¬B}
rr
rrr
r
r
rrr
{A, C}
(c) {A, B, ¬C} und {A, ¬B, C} haben zwei Resolventen
{A, B, ¬B} und {A, ¬C, C}.
Aufpassen! Zur Bildung der Resolventen wird immer nur ein Literal benutzt. Daher ist
A keine Resolvente von (c).
Satz 5.7. Resolutionslemma
Eine Formel F in KNF ist äquivalent zu F ∧ L für jede Resolvente L zweier Klauseln
von F .
Beweis. Wir müssen zeigen, dass für jede passende Belegung α gilt
α
b(F ) = α
b(F ∧ L)
Seien
K mit Literal X und
K 0 mit Literal ¬X
Klauseln für die L = (K\X) ∪ (K 0 \¬X).
Dann ergeben sich zwei Fälle:
28
α
b(F ) = 1 Dann gilt α
b(K) = 1 und α
b(K 0 ) = 1.
Wir müssen zeigen, dass α
b(L) = 1. Falls α(X) = 0, dann folgt aus α
b(K) =
1, dass α
b(K\X) = 1, denn K muss ein wahres Literal enthalten und dies
ist nicht X. Falls α(X) = 1 gilt α
b(K 0 \¬X) = 1, denn ¬X kann nicht das
wahre Literal von K 0 sein. In beiden Fällen gilt:
α
b(L) = α(K\X) ∨ α
b(K 0 \¬X) = 1
α
b(F ) = 0 Dann α
b(F ∧ L) = α
b(F ) ∧ α
b(L) = 0.
Algorithmus 5.8. Die Resolutionsmethode testet Erfüllbarkeit einer Formel F in
KNF .
Wir berechnen die Resolventen und die Resolventen von Resolventen usw. bis
entweder die leere Klausel als Resolvente vorkommt: Die Ausgabe ist F ist un”
erfüllbar“
oder
keine leere Resolvente vorkommen und keine weiteren Resolventen mehr
existieren: Die Ausgabe ist F ist erfüllbar.“
”
Beispiel 5.9. (P ∨ R) ∧ (Q ∨ ¬R) ∧ ¬Q ∧ (¬P ∨ T ) ∧ ¬S ∧ (S ∨ ¬T )
Wir benutzen die Baumnotation 5.5:
{P, R}
JJ
JJ
JJ
JJ
J
{¬P, T }
{Q, ¬R}
r
rrr
r
r
r
rrr
{P, Q}L
LLL
LLL
LLL
LLL
LLL
LLL
L
{¬Q}
ss
sss
s
s
sss
{P } UUUU
UUUU
UUUU
UUUU
UUUU
UUUU
{S, ¬T }
r
rrr
r
r
r
rrr
{¬P, S}L
LLL
LLL
LLL
∅
hh {¬P }
hhhh
h
h
h
h
hhhh
hhhh
h
h
h
hhhh
Am binären Graphen kann die Entwicklung der Resolutionsmethode verfolgt werden:
die Blätter sind die Klauseln der gegebenen Formel, die Ebene darunter gibt Resolventen von jeweils zwei Blättern an, usw. Im ganzen Baum gilt, dass jeder innere Knoten
die Resolvente seiner zwei Kinder darstellt.
Beispiel 5.10. F := (A ∨ B ∨ ¬C) ∧ (¬A ∨ B ∨ ¬C) ∧ (A ∨ ¬B ∨ ¬D)
Die Resolutionsmethode ergibt folgende Resolventen:
im 1. Schritt: B ∨ ¬C, B ∨ ¬C ∨ ¬B ∨ ¬D, A ∨ ¬C ∨ ¬D, ¬A ∨ ¬C ∨ A ∨ ¬D
29
{¬S}
t
tt
tt
t
t
tt
im 1. Schritt: keine weiteren Resolventen
Damit wurde F auf erfüllbar getestet. Ist die Formel es wirklich?
Satz 5.11. Die Resolutionsmethode ist korrekt: Eine Formel ist genau dann erfüllbar
wenn die Ausgabe erfüllbar“ erfolgt.
”
Beweis.
(a) Wenn die Ausgabe unerfüllbar“ ist, zeigen wir, dass F nicht
”
erfüllbar ist. Nach dem Resolutionslemma 5.7 ist F äquivalent zu der
Konjunktion F := F ∧ L von F mit allen Resolventen und Resolventen von Resolventen. Falls dabei F die Klauseln X und ¬X besitzt, ist F
unerfüllbar und deswegen ist es dann auch F .
(b) Wenn die Ausgabe erfüllbar“ ist, beweisen wir, die Erfüllbarkeit von F
”
per Induktion über die Anzahl k = 1, 2, 3, . . . von Literalen, die F enthält:
Induktionsanfang k = 1
Dann ist F = X, F = ¬X oder F = X ∨ ¬X. Die letzte Variante ist
nicht möglich, weil sonst die Ausgabe unerfüllbar“ gelautet hätte. Die
”
anderen beiden sind eindeutig erfüllbar, indem α(X) je nach Fehlen oder
Vorkommen der Negation auf 1 oder 0 gesetzt wird.
Induktionsschritt k > 1
Wir nehmen als Induktionsvorraussetzung an, dass alle Formeln mit 1
bis k − 1 Literalen die gewünschte Eigenschaft erfüllbar zu sein, wenn
sie darauf getestet wurden, haben. Wir wählen ein Literal X in F und
sortieren die KNF folgendermaßen:
F = FX ∧ F¬X ∧ FO
wobei
FX die Konjunktion aller Klauseln ist, die X enthalten
F¬X die Konjunktion aller Klauseln ist, die ¬X enthalten
und
FO die Konjunktion aller Klauseln ist, die weder X noch ¬X enthalten
Wir bezeichnen mit FeX die Formel, die aus FX entsteht, indem in allen
Klauseln das Literal X gestrichen wird. Wir beweisen, dass entweder F
erfüllbar ist, oder die Resolutionsmethode die Resolvente X ergibt.
30
(a) Nehmen wir an die Formel F̃X ∧FO ist erfüllbar. Dann ist auch
F erfüllbar. In der Tat, für jede Belegung α die ein Modell der
Formel F̃X ∧ FO die den Wert 1 ergibt, können wir den Wert
von X beliebig wählen: Auch so, dass α(X) = 0. Der Wert
von F̃X ∧ FO bleibt davon unberührt α̃(F̃X ∧ FO ) = 1, weil X
darin nicht vorkommt. Es gilt dann aber α
b(¬X) = 1 weshalb
α
b(F¬X ) = 1, denn jede Klausel in F¬X enthält ¬X und hat
damit den Wert 1. Es gilt dann auch α
b(FX ) = 1, denn alle
Klauseln in FX enthalten wegen α
b(FeX ∧ FO ) = 1 ein Literal
Y mit α
b(Y ) = 1, das von X unterschieden ist. Darum hat
F = FX ∧ F¬X ∧ F0 den Wert 1.
(b) Nehmen wir dagegen an, dass FeX ∧ FO unerfüllbar ist. Wir beweisen, dass die Resolutionsmethode die Resolvente X liefert.
Da FeX ∧FO nur k −1 Literale besitzt, folgt aus der Induktionsvoraussetzung, dass die Anwendung der Resolutionsmethode
auf FeX ∧ FO Resolventen Y und ¬Y liefert, wobei Y ein Literal ist, das offensichtlich von X und ¬X unterschieden ist.
Wir wenden nun die Resolutionsmethode auf F an und benutzen dabei dieselbe Reihenfolge der Klauseln wie vorher für
FeX ∧ FO . Die Klauseln sind nun immer
- entweder dieselben wie vorher
- oder enthalten zusätzlich das Literal X
Daher erhalten wir, weil FeX ∧ FO ja die Resolventen Y oder
¬Y ergeben hatte, am Ende Resolventen
Y oder Y ∨ X
sowie
¬Y oder ¬Y ∨ X
Der Fall der Resolvente Y sowie ¬Y ist nicht möglich, da F
das Ergebnis erfüllbar“ brachte. Die anderen Fälle
”
X ∨ Y und ¬Y
oder
X ∨ Y und X ∨ ¬Y
oder
Y und X ∨ ¬Y
ergeben im nächsten Schritt die Resolvente X.
Daher ist entweder FeX ∧ FO erfüllbar – und damit auch F – oder X ist eine der
Resolventen, die die Resolutionsmethode für F ergibt.
Nun verwenden wir analog die Formel F¬X anstelle von FX . Wir bekommen nach dem
Entfernen von X die Formel Fe¬X . Entweder ist nun Fe¬X ∧ FO erfüllbar und damit auch
F . Oder das Literal ¬X ist aus demselben Grund wie oben eine Resolvente von F .
31
Da aber X und ¬X nicht zugleich Resolventen sein können, ist F tatsächlich erfüllbar.
32
6. Sequenzen
Definition 6.1. Eine Sequenz ist ein Ausdruck
Γ |= F
wobei Γ eine Menge von Formeln ist und F eine Formel. Die Sequenz heißt gültig falls
jede Belegung α unter der alle Formeln aus Γ den Wert 1 besitzen, ergibt auch für F
den Wert 1.
Beispiel 6.2.
• {G} |= F bedeutet, dass wenn G wahr ist, auch F wahr ist.
Das ist dasselbe wie zu sagen: die Implikation G ⇒ F ist eine Tautologie.
• {G, H} |= F bedeutet, dass wenn G und H wahr sind, ist auch F wahr.
Mit anderen Worten:
G ∧ H ⇒ F ist eine Tautologie.
• Γ kann auch leer sein. Die Gültigkeit der Sequenz ∅ |= F bedeutet, dass
F eine Tautologie ist. Man schreibt einfach |= F .
Bemerkung 6.3. Für endlichen Mengen Γ = {G1 , . . . , Gn } schrieben wir Sequenzen
ohne die Mengenklammern als
G1 , . . . , Gn |= F
Diese Sequenz ist gültig genau wenn die Implikation
n
^
Gi ⇒ F
i=1
eine Tautologie ist.
Beispiel 6.4.
Formen wir die Menge Γ aller Aussagen, die nur ∨ oder ∧ als Junktoren enthalten. Ist
die Sequenz
Γ |= F ⇒ G
(F, G Atome)
gültig? Ja, denn jede Belegung, die G wahr macht, macht F ⇒ G wahr. Und falls eine
Belegung aller Formeln aus Γ wahr macht, macht sie auch G wahr.
33
Für die Menge Γ aller Literale ist die Sequenz
Γ |=⊥
gültig? Ja, weil keine Belegung alle Formeln aus Γ wahr macht: für jedes Atom A
enthält Γ die Formeln A sowie ¬A!
Im vorigen Beispiel ist Γ eine unendliche Menge. Wir wollen jetzt beweisen, dass die
Gültigkeit einer Sequenz Γ |= F mit endlichen Untermengen von Γ immer überprüft
werden kann.
Bemerkung 6.5. Für jede Formel G in Γ ist es klar, dass wenn G |= F gültig ist,
auch Γ |= F gültig ist. Denn eine Belegung, die alle Formeln aus Γ wahr macht, macht
G wahr und somit auch F wahr. Allgemeiner, gegeben G1 , . . . , Gn in Γ dann wenn
G1 , . . . , Gn |= F gültig ist, ist Γ |= F gültig. Hier ist eine Umkehrung:
Kompaktheitssatz 6.6. Für jede gültige Sequenz Γ |= F gibt es eine endliche Menge
G1 , . . . , Gn von Formeln aus Γ so dass auch G1 , . . . , Gn |= F gültig ist.
Beweis.
(a) Nehmen wir erst an, dass alle Formeln aus Γ ∪ {F } nur k Atome
k
enthalten. Nach Bemerkung 3.5 gibt es dann eine Menge von n ≤ 22
Formeln Gi in Γ zu denen alle anderen äquivalent sind. Dann ist aber
G1 , . . . , Gn |= F gültig: jede Belegung, die G1 , . . . , Gn wahr macht, macht
auch alle Formeln in Γ wahr und dann ist F wahr.
(b) Sei A1 , A2 A3 . . . eine unendliche Menge aller Atome in Formeln aus Γ ∪
{F }. Wir benutzen Beweis durch Widerspruch: angenommen, dass für jede
endliche Menge Γ0 ⊆ Γ die Sequenz Γ0 |= F ungültig ist, beweisen wir,
dass Γ |= F auch ungültig ist.
Bezeichnen wir durch Γk die Menge alle Formeln aus Γ, die nur Atome aus
{A1 , . . . , Ak } benutzen. Aus Fall (a) wissen wir, dass die Sequenz Γk |=
F nicht gültig ist. Dies bedeutet, dass es eine Belegung αk der Atome
A1 , . . . , Ak gibt mit
α
bk (F ) = 0 und α
b(G) = 1 für alle G ∈ Γk
Wir definieren eine Belegung α aller Variablen A1 , A2 , A3 . . . die beweist,
dass Γ |= F ungültig ist. Wir haben die obere Liste von Belegungen
α1 , α2 , α3 . . .. Wir setzen erst
1 falls αk (A1 ) = 1 für unendlich viele Indexe k
α(A1 ) :=
0 sonst
Jetzt entfernen wir alle Belegungen αk mit α(A1 ) 6= αk (A1 ) aus unserer
Liste von Belegungen. Es bleiben unendlich viele Belegungen αk und wir
setzen
1 falls αk (A2 ) = 1 für unendlich viele Indexe k
α(A2 ) :=
0 sonst
34
usw.
Die Belegung α hat die folgende Eigenschaft: für jede Zahl n sind die Werte
α(A1 ), . . . , α(An ) gleich denen von αk (A1 ), . . . , αk (An ), für unendlich viele
Indexe k. Die Formel F enthält nur endlich viele Atome. Es gibt deswegen
n so dass alle diese Atome in {A1 , . . . , An } liegen. Wir nehmen ein k ≥ n
mit α(Ai ) = αk (Ai ) für i = 1, . . . , n. Dann gilt α
b(F ) = α
bk (F ). Aus der
Wahl der Belegung αk wissen wir dann, dass dann α
b(F ) = 0. Und für jede
Formel G in Γ gilt α
b(G) = 1 denn auch G enthält nur endlich viele Atome
und es gibt deswegen einen Index l mit α
b(G) = α
bl (G) = 1. Die Belegung
α
b macht alle Formeln in Γ wahr und F falsch. Dies ist der erwünschte
Widerspruch zur Gültigkeit von Γ |= F .
Zusammenfassung
Die Resolutionsmethode ist ein Algorithmus, der entscheidet, ob eine Formel erfüllbar
ist. (Er löst das SAT Problem.) Dabei wird die Formel in KNF umgeformt und anschließend rekursiv um Resolventen vervollständigt, bis sie um alle möglichen Resolventen
ergänzt wurde. Dann ist dieser Test vollständig: Enthält die Formel am Ende nicht die
leere Klausel, ist sie erfüllbar.
Die Resolutionsmethode ist allerdings nicht effizient. Bei Formeln der Länge O(n) kann
bereits die Erzeugung der KNF Zeit von O(2n ) dauern. Aber selbst bei Formeln, die
bereits als KNF vorliegen, hat die Resolutionsmethode exponentielle Zeitkomplexität.
In Kapitel 8 zeigen wir, dass die Resoltionsmethode für Hornformeln effizient ist.
35
7. Natürliche Deduktion
Die Natürliche Deduktion ist eine Methode zu testen, ob eine Formel eine Tautologie
ist. Und im allgemeinen, ob eine gegebene Sequenz Γ |= F gültig ist.
In der Natürliche Deduktion benutzt man die Junktoren ∧, ∨, ¬, ⇒ und ⊥. Nur ⇔
wird durch (A ⇒ B) ∧ (B ⇒ A) ersetzt, bevor wir mit der Prüfung beginnen. Die
Regeln der natürlichen Deduktion haben die Form
P 1 P2
P 1 P2 P3
P1
oder
oder
Q
Q
Q
wobei Pi die Prämissen der Regel sind und Q die Folgerung. Die Regel
P1
Q
bedeutet, dass gegeben eine Sequenz Γ |= F , falls P1 in Γ liegt, Γ |= Q gültig ist.
Analog mit den anderen Formen der Regel: falls alle Prämissen in Γ liegen, ist Γ |= Q
gültig.
7.i
Regeln für die Konjunktion
Für die Konjunktion können wir feststellen, dass wenn G und H in Γ liegen, dann ist
die Sequenz Γ |= G ∧ H gültig.
Dies schreiben wir als die Regel:
G
H
G∧H
Oberhalb der Linie steht das, was vor der Anwendung der Regel als Formeln bewiesen sein muss, also die Regel-Prämissen. Unterhalb der Linie steht die RegelFolgerung, also das, was wir nach Anwendung der Regel als bewiesen annehmen
dürfen.
Diese Regel, nennen wir Introduktion der Konjunktion oder kürzer ∧i.
36
Wir benötigen jedoch auch eine Regel, um ∧ streichen zu können. Wir nennen sie die
Elimination der Konjunktion bzw. ∧e und sie sieht so aus:
G∧H
G
Die behauptet, dass falls G ∧ H in Γ liegt, die Sequenz Γ |= G gültig ist. Da ∧ aussagt,
dass beide Seiten wahr sind, benötigen wir noch die folgende Variante der Regel:
G∧H
H
Wir bezeichnen beide Varianten mit ∧e.
Definition 7.1. Die Regeln der Konjunktion lauten
∧i
G
H
G∧H
und
∧e
G∧H
G
∧e
G∧H
H
und
Mit diesen ersten Regeln der Natürlichen Deduktion lässt sich bereits etwas beweisen.
Beispiel 7.2. Wir demonstrieren das Verfahren an der Assoziativität der Konjunktion.
Wir wollen beweisen, dass die Sequenz
F ∧ (G ∧ H) |= (F ∧ G) ∧ H
gültig ist. Der Beweis sieht so aus:

F ∧ (G ∧ H)
Prämisse der Sequenz

F
∧e, Zeile 1

G∧H
∧e, Zeile 1

G
∧e, Zeile 3

H
∧e, Zeile 3

F ∧G
∧i, Zeilen 2 und 4

(F ∧ G) ∧ H
∧i, Zeilen 6 und 5
Wie in diesem Beispiel, werden zu jeder Regel immer auch die Zeilen angegeben, in
denen man die Regel-Prämissen findet. Im Folgenden lassen wir das Wort Zeile“ jedoch
”
weg.
Beispiel 7.3. Als weiteres Beispiel soll die Kommutativität von ∧ bewiesen werden:
H ∧ G |= G ∧ H
37
Beweis.

H ∧G
Prämisse

H
∧e, 1

G
∧e, 1

G∧H
∧i, 3, 2
7.ii
Regeln der Implikation
Auch für die Implikation haben wir zwei Regeln: die Elimination, die uns erlaubt aus
Γ und G ⇒ H etwas abzuleiten, und die Introduktion, die umgekehrt aus Γ die Formel
G ⇒ H ableitet. Die erste Regel ist ziemlich klar:
G⇒H
H
G
Diese Regel heißt Elimination der Implikaton, oder modus ponens. Sie besagt, dass falls
in einer Menge Γ von Formeln G ⇒ H sowie G liegen, dann ist die Sequenz Γ |= H
gültig.
Die Introduktion der Implikation wollen wir erst auf einem Beispiel illustrieren: Wir
haben einen Beweis dass aus H ∧ G die Formel G ∧ H folgt in Beispiel 7.3 präsentiert.
Dies erlaubt uns zu behaupten, dass die Implikation
H ∧G⇒G∧H
eine (bewiesene) Tautologie ist. Hier ist die allgemeine Form der Introduktion:
G
..
.
H
⇒i
G⇒H
Diese Regel sagt: falls ein Beweis, dass aus der Formel G die Formel H folgt vorliegt, ist dadurch die Implikation G ⇒ H bewiesen. Der Kasten über der horizontalen
Linie steht immer für einen formalen Beweis, wobei die erste Zeile, die sogenannte
Kasten-Prämisse, keine Begründung braucht. Aber G darf nicht außerhalb des Kastens
benutzt werden.
Definition 7.4. Die Regeln der Implikation lauten:
⇒e
G⇒H
G
H
38
und
G
..
.
⇒i
H
G⇒H
Beispiel 7.5. Wir beweisen die Gültigkeit der Sequenz
F ⇒ G, F ⇒ H |= F ⇒ G ∧ H
Beweis:

F ⇒G
Prämisse

F ⇒H
Prämisse

F
Kasten-Prämisse

G
⇒e, 1, 3

H
⇒e, 2, 3

G∧H
∧i, 4, 5

F ⇒ G∧H
⇒i, 3 − 6
Beachten sie, dass in der letzten Zeile neben ⇒i alle Zeilen angegeben werden, über die
sich der Kasten erstreckt.
Hinweis:
• Keine Zeile, die in einem Kasten liegt, darf ausserhalb des Kastens (als
begründung) benutzt werden.
• Kästen dürfen hierarchisch verschachtelt werden. Innerhalb eines Kastens
darf ein anderer eröffnet werden, dieser muss allerdings vor dem äußeren
wieder geschlossen werden. D.h. die Linien der Kästen dürfen sich nicht
kreuzen.
Beispiel 7.6.
F ∧ G ⇒ H |= F ⇒ (G ⇒ H)
39
Beweis.

F ∧G⇒H
Prämisse

F
Kasten-Prämisse

G
Kasten-Prämisse

F ∧G
∧i, 2, 3

H
⇒e, 1, 4

G⇒H
⇒i, 3 − 5

F ⇒ (G ⇒ H)
⇒i, 2 − 6
Beispiel 7.7. Wir wollen die Gültigkeit der Sequenz F ⇒ G ∧ H |= (H ⇒ G) ⇒ F
beweisen:

F ⇒G∧H
Prämisse

H⇒G
Kasten-Prämisse


???


F
Wie kann man von H ⇒ G zu F gelangen? Das scheint nicht zu funktionieren. In der
Tat ist die Sequenz nicht gültig. Dies zeigt die Belegung α(F ) = 0, α(G) = 1 = α(H),
für die gilt, dass α
b(F ⇒ G ∧ H) = 1 aber α
b(H ⇒ G) = 0. Daher immer zuerst
aufpassen, ob man nicht versucht, eine ungültige Sequenz zu beweisen.
7.iii
Formale Beweise
Achtung: Wir haben zwei Typen von Beweisen angetroffen:
(a) Die üblichen mathematischen Beweise, wie für Satz ??, die den Leser
überzeugen sollen, dass etwas gilt.
(b) Formale Beweise der Natürlichen Deduktion, die die Gültigkeit einer Sequenz nachweisen. Dies passiert dabei so streng, dass ein Rechner dies
nachvollziehen kann.
Ein formaler Beweis der Sequenz Γ |= F ist eine durchnummerierte Liste
von Formeln, wobei F in der letzten Zeile steht. Die Liste ist in hierarchische organisierten Kästen dargestellt, so dass die letze Zeile in keinem
Kasten steht. In jeder Zeile des Beweises steht eine Formel, die
40
• in Γ liegt (Prämissen), oder
• die erste Zeile eines Kastens formt (Kasten-Prämissen), oder
• eine Begründung trägt, wie diese Zeile aus den davorliegenden
durch Anwendung der Regeln folgt.
Bezieht sich die Begründung einer Zeile i auf eine Zeile, die
in einem Kasten liegt, dann muss auch die Zeile i in diesem
Kasten liegen.
7.iv
Regeln der Disjunktion
Umgekehrt als im Fall der Implikation ist die Introduktion der Disjunktion klar, aber
die Elimination etwas schwieriger. Wir wissen, dass Γ |= G ∨ H gültig ist wenn G oder
Hin Γ liegen. Die ergibt die Introduktionsregel
H
G
oder
G∨H
G∨H
In der Elimination nehmen wir an, dass Γ die Formel G∨H enthält. Für welche Formeln
K können wir behaupten, dass die Sequenz Γ |= K gültig ist? Dazu reicht es, einen
Beweis von K aufgrund von G zu besitzen, sowie ein aufgrund von H. Symbolisch:
∨e
G∨H
G
..
.
H
..
.
K
K
K
Definition 7.8. Die Regeln der Disjunktion sind:
∨i
G
G∨H
∨i
H
G∨H
und
und
∨e
G∨H
G
..
.
H
..
.
K
K
K
Beispiel 7.9. Die Implikation
G∧H ⇒G∨H
41
ist eine Tautologie. In der Tat, hier ist ein Beweis (ohne Prämissen):

G∧H
Kasten-Prämisse

G
∨e, 1

G∨H
∨i, 2

G ∧ H ⇒ G ∨ H :=⇒ i1 − 3
Beispiel 7.10. Wir beweisen, dass ∨ kommutativ ist:
G ∨ H |= H ∨ G

G∨H

H
Kasten-Prämisse

H ∨G
∨i, 2

G
Kasten-Prämisse

H ∨G
∨i, 4

H ∨G
∨e, 1, 4 − 5, 2 − 3
Beispiel 7.11. Wir beweisen eines der Distributivgesetze:
F ∨ (G ∧ H) |= (F ∨ G) ∧ (F ∨ H)

F ∨ (G ∧ H)
Prämisse

F
Kasten-Prämisse

F ∨G
∨i, 2

G∧H
Kasten-Prämisse

G
∧e, 4

F ∨G
∨i, 5

F ∨G
∨e, 1, 2 − 3, 4 − 6

F
Kasten-Prämisse

F ∨H
∨i, 8

G∧H
Kasten-Prämisse

H
∧e, 10

F ∨H
∨i, 11

F ∨H
∨e, 1, 8 − 9, 10 − 12

(F ∨ G) ∧ (F ∨ H)
∧i, 7, 13
42
7.v
Regeln der Negation und Absurdität
Die Introduktion der Negation ¬G ist simpel: wir nehmen an, dass es uns gelungen
ist, aus G Absurdität (⊥) herzuleiten, dann ist Γ |= ¬G für jede enge Γ in der G liegt
gültig. Die Introduktionsregel lautet
G
..
.
⊥
¬G
Wird die Netagion eliminiert? Falls G sowie ¬G in Γ liegen, ist Γ unerfüllt und deswegen
ist die Sequenz Γ |=⊥ gültig. Dies ergibt die Eliminationsregel
G ¬G
⊥
Leider genügt dies nicht, um die doppelte Negation los zu werden: wir brauchen noch
¬¬G
G
Jetzt braucht ⊥ als Junktor auch Introduktion und Elimination. Um aber ⊥ herzuleiten, brauchen wir G und ¬G um eine Formel zu beweisen - mit anderen Worten ist die
obere Eliminationsregel für ¬ gleichzeitig die Introduktionsregel für ⊥. (Wir bezeichnen
diese Regel ¬e, aber die Bezeichnung ⊥ i wäre ebenso möglich.) Die Eliminationsregel
für ⊥ besagt: falls ⊥ in Γ liegt, sind alle Sequenzen Γ |= K gültig. Kurz:
⊥
K
Definition 7.12. Die Regeln für Negation und Absurdität lauten
G
..
.
¬i
¬e
¬¬e
und
⊥e
⊥
¬G
¬G
G
⊥
¬¬G
G
⊥
G
Die unterste Regel ⊥e sagt: aus Absurdität folgt beliebiges – was der Tautologie ⊥ ⇒ G
entspricht.
43
Beispiel 7.13. Wir beweisen die Gültigkeit der Sequenz
F ⇒ G |= ¬G ⇒ ¬F
Beweis:

F ⇒G
Prämisse

¬G
Kasten-Prämisse

F
Kasten-Prämisse

G
⇒e, 1, 3

⊥
¬e, 4, 2

¬F
¬i, 3 − 5

¬G ⇒ ¬F
⇒i, 2 − 6
Der äußere Kasten dient der Regel ⇒i, der innere der Regel ¬i.
Beispiel 7.14. Obwohl ¬¬e eine separate Regel ist, brauchen wir für ¬¬i keine eigene
Regel, denn die Sequenz
G |= ¬¬G
können wir beweisen:

G
Prämisse

¬G
Kasten-Prämisse

⊥
¬e, 1, 2

¬¬G
¬i, 2 − 3
Beispiel 7.15. Wir beweisen die Gültigkeit von
¬(G ∨ H) |= ¬G ∧ ¬H

¬(G ∨ H)
Prämisse

G
Kasten-Prämisse

G∨H
∨i, 2

⊥
¬e, 3, 1

¬G
¬i2 − 4

H
Kasten-Prämisse

G∨H
∨i, 6

⊥
¬e, 7, 1

¬H
¬e, 6 − 8
¬G ∧ ¬H
∧i, 5, 9

44
Beispiel 7.16. Die de-Morgan-Regel
|= ¬(G ∨ H) ⇔ ¬G ∧ ¬H
kann in der Natürlichen Deduktion dadruch bewiesen werden, dass wir, neben Beispiel
7.15, auch die Gültigkeit von
¬G ∧ ¬H |= ¬(G ∨ H)
beweisen:

¬G ∧ ¬H
Prämisse

G∨H
Kasten-Prämisse

G
Kasten-Prämisse

¬G
∧e, 1

⊥
¬e, 3, 4

H
Kasten-Prämisse

¬H
∧e, 1

⊥
¬e, 6, 7

⊥
∨e, 2, 3 − 5, 6 − 8

¬(G ∨ H)
Beispiel 7.17. Die Gültigkeit von ¬(F ∧ G) |= ¬F ∨ ¬G wird wie folgt bewiesen:

¬(¬F ∧ G)

¬(F ∨ G)
Prämisse
..

.
(Die 10 Zeilen aus Beispiel 7.15)

¬¬F ∧ ¬¬G

¬¬F
∧e, 12

F
¬¬e, 13

¬¬G
∧e, 12

G
¬¬e, 15

F ∧G
∧i, 14, 16

⊥
¬e, 17, 1

¬¬(¬F ∨ ¬G)
¬i, 2 − 18

¬F ∨ ¬G
¬¬e, 19
45
Beispiel 7.18. Wir beweisen (F ∨ G) ∧ (F ∨ H) |= F ∨ (G ∧ H)

(F ∨ G) ∧ (F ∨ H)
Prämisse

F ∨G
∧e, 1

F ∨H
∧e, 2

¬(F ∨ (G ∧ H))
Kasten-Prämisse
..

.
(Die 10 Zeilen aus Beispiel 7.15)

¬F ∧ ¬(G ∧ H)

¬F
∧e, 14

¬(G ∧ H)
∧e, 14
..

.
(Die 20 Zeilen aus Beispiel 7.17)

¬G ∨ ¬H

¬G
Kasten-Prämisse

F
Kasten-Prämisse

G
Kasten-Prämisse

⊥
¬e, 39, 37

F
⊥e, 40

F
∨e, 2, 38, 39 − 41

¬H
Kasten-Prämisse

F
Kasten-Prämisse

H
Kasten-Prämisse

⊥
¬e, 45, 43

F
⊥, 46

F
∨e, 3, 44, 45 − 47

F
∨e, 36, 37 − 41, 43 − 48

⊥
¬e, 49, 15

¬¬(F ∨ (G ∧ H))
¬i, 4 − 50

F ∨ (G ∧ H)
¬¬e, 51
7.vi
Zusammenfassung
Zusammenfassung der Regeln der Natürlichen Deduktion
46
Konjunktion
Introduktion
G H
G∧H
Elimination
G∧H
G
und
G∧H
H
G
..
.
H
G⇒H
G⇒H
H
Disjunktion
G
H
und
G∨H
G∨H
G
..
.
G∨H K
K
Negation
G
..
.
⊥
¬G
G ¬G
¬¬G
⊥
und
und
G
G
⊥
Implikation
G
H
..
.
K
Die Natürliche Deduktion ermöglicht einen Test für Tautologien: Eine Formel F ist
eine Tautologie, falls ein formaler Beweis für |= F vorliegt.
Beispiel 7.19. Die Formel
(A1 ) := G ⇒ (H ⇒ G)
ist eine Tautologie. Hier ist der Beweis für |= (A1 ):

G
Kasten-Prämisse

H
Kasten-Prämisse

G∧G
∧i, 1, 1

G
∧e, 3

H⇒G
⇒i, 2 − 4

G ⇒ (H ⇒ G)
⇒i, 1 − 5
Beispiel 7.20. Die Formel
(A2 ) := (F ⇒ (G ⇒ H)) ⇒ ((F ⇒ G) ⇒ (F ⇒ H))
47
ist ebenfalls eine Tautologie:

F ⇒ (G ⇒ H)
Kasten-Prämisse

F ⇒G
Kasten-Prämisse

F
Kasten-Prämisse

G
⇒e, 2, 3

G⇒H
⇒e, 1, 3

H
⇒e, 5, 4

F ⇒H
⇒i, 3 − 6

(F ⇒ G) ⇒ (F ⇒ H)
⇒i, 2 − 7

(F ⇒ (G ⇒ H)) ⇒ ((F ⇒ G) ⇒ (F ⇒ H))
⇒i, 1 − 8
Beispiel 7.21. Die Tautologie
”
Beweis durch Widerspruch“:
(A3 ) := (¬G ⇒ ¬H) ⇒ (H ⇒ G)
Ihr Beweis ist analog zum Beweis in Beispiel 7.11.
Satz 7.22. Die natürliche Deduktion ist
(a) korrekt, dh. falls ein formaler Beweis für Γ |= F vorliegt, ist die Sequenz
Γ |= F gültig,
(b) vollständig, dh. für jede gültige Sequenz Γ |= F gibt es einen formalen
Beweis.
Die Korrektheit ist offensichtlich: man muss alle Regeln überprüfen, ob sie korrekt sind.
Die Vollständigkeit ist schwieriger zu beweisen, siehe z.B. Huth, Ryan: Logic in
”
Computer Science“ (Cambridge University Press 2009), Satz 1.4.4.
7.vii
Hilberts Axiomatisierung
Wir haben gesehen, dass die Natürliche Deduktion zwölf Ableitungsregeln benutzt. Sie
wurde erst in den 1950ern von G. Gentzen eingeführt.
Bereits in den 1920ern hat D. Hilbert einen anderen Stil für die Aussagenlogik entwickelt: Er benutzt nur eine Regel, den Modus Ponens ⇒e. Allerdings benutzt Hilbert
sogenannte Axiome, das sind vorgegebene Formel die intuitiv als gültig gelten. Aus
diesen können alle anderen Tautologien mit der einzigen Regel ⇒e abgeleitet werden.
48
Sein System benutzt nur die Junktoren ⇒ und ¬. Diese sind adäquat (siehe Definition
3.13). Konjunktion und Disjunktion lassen sich wie folgt darstellen:
F ∨ G ≡ ¬F ⇒ G
F ∧ G ≡ ¬(F ⇒ ¬G)
Hilbert nutzt drei Axiome. Es sind die Tautologien (A1 ), (A2 ), (A3 ) aus den vorangegangenen Beispielen 7.19–7.21.
Satz 7.23. Hilberts Kalkül ist vollständig: Jede Tautologie F hat einen Beweis der
Sequenz
(A1 ), (A2 ), (A3 ) |= F
der nur Modus Ponens benutzt.
49
8. Hornlogik
8.i
Hornformeln
Die Hornlogik beschränkt sich auf eine Untermenge der Formeln der Aussagenlogik, die
effizient berechnet werden können. Diese Formeln sind für die Logik-Programmierung
wichtig und werden etwa von der Programmiersprache PROLOG genutzt. Erinnern
wir uns, dass ein Literal entweder positiv ist, d.h., eine atomare Aussage, oder negativ,
d.h., Negation einer atomaren Aussage.
Definition 8.1. Eine Hornformel ist eine KNF , die in jeder Klausel höchstens ein
positives Literal enthält.
Die einzelnen Klauseln haben also immer eine der dabei folgenden Formen:
(a) A, eine atomare Aussage. Solche Klauseln heißen Tatsachen
(b) B ∨ ¬A1 ∨ ¬A2 ∨ · · · ∨ ¬An . Das ist äquivalent zu der Implikation A1 ∧
A2 ∧ . . . ∧ An ⇒ B und heißt Regel.
(c) ¬A1 ∨ ¬A2 ∨ · · · ∨ ¬An . Das ist äquivalent zu ¬(A1 ∧ A2 ∧ . . . ∧ An ) und
heißt Frageklausel.
Beispiel 8.2. Die Formel Q ∧ (Q ∧ S ⇒ P ) ∧ (Q ∧ R ⇒ P ) ∧ (¬R ∨ ¬S) ist keine
Hornformel, aber sie ist zu der Hornformel Q∧(¬Q∨¬S∨P )∧(¬Q∨¬R∨P )∧(¬R∨¬S)
äquivalent. Die können wir als eine Frage R ∧ S?“ verstehen, vorausgesetzt dass Q
”
als Tatsache gilt und die Regeln
Q ∧ S ⇒ P und Q ∧ R ⇒ P
gelten. Diese Formel ist erfüllbar: für α(P ) = α(Q) = 1, α(S) = α(R) = 0 hat sie
Wert 1. Deswegen ist die Antwort auf die Frage R ∧ S?“ negativ.
”
Beispiel 8.3. An einen Wintertag wurde festgestellt, dass es stark regnet. Jedesmal,
wenn der Damm voll ist und es stark regnet, kommt eine Katastrophe. Und im Winter
ist der Damm immer voll. Wir wissen auch, dass der Dammwächter nur im Winter
im Urlaub ist. Folgt daraus, dass es zu einer Katastrophe gekommen ist?
Wir bezeichnen
50
R . . . es regnet stark
D . . . Damm voll
K . . . Katastrophe
W . . . Winter
U . . . Urlaub
Die Tatsachen sind: W und R. Die Regeln:
D∧R⇒K
W ⇒D
U ⇒W
Die Frage ist: K? Die Antwort ist: ja“ genau wenn die Horn-Formel
”
W ∧ R ∧ (D ∧ R ⇒ K) ∧ (W ⇒ D) ∧ (U ⇒ W ) ∧ ¬K
unerfüllbar ist. Aus W folgt D und aus D ∧ R folgt K. Dies bedeutet, dass die Formel
unerfüllbar ist und die Antwort lautet: ja, K folgt.
Bemerkung 8.4. Die Bearbeitung von Horn-Klauseln heißt Logik-Programmierung
und benutzt die Programmiersprache PROLOG. In der wird Tatsache A mit
A.
bezeichnet. Für Regeln A1 ∧ A2 ∧ . . . ∧ An ⇒ B benutzt man
B:- A1 , A2 , · · · , An .
Die Notation : − soll ⇐ andeuten. Und Fragen“ ¬A1 ∨ ¬A2 ∨ · · · ∨ ¬An schreibt man
”
so:
?- A1 , A2 , · · · , An .
Beispiel 8.5. Das PROLOG-Programm
51
A:A:B:C.
D:? -
B, C.
D.
A, D.
E.
D.
entspricht der folgenden Hornformel:
(A ∨ ¬B ∨ ¬C) ∧ (A ∨ ¬D) ∧ (B ∨ ¬A ∨ ¬D) ∧ C ∧ (D ∨ ¬E) ∧ ¬D
Beobachtung 8.6. Jede Hornformel ohne Fragen ist erfüllbar: Wir können einfach
alle positiven Literale mit 1 belegen.
8.ii
SDL-Resolutionsmethode
Algorithmus 8.7. Die SLD-Resolution ist eine Einschränkung der Resolutionsmethode, die für Hornformeln gut funktioniert. SLD ist die Abkürzung für linear resolu”
tion with unrestricted selection for definite clauses“. Die Tatsachen und Regeln heißen
die positiven Klauseln (weil sie ein positives Literal enthalten).
Wir fangen mit einer positiven Klausel P0 und einer Frage F0 an und formen einen
Resolventen F1 (falls möglich) – es ist klar das F1 eine Frage ist.
P0 A
AA
AA
AA
P1 A
AA
AA
AA
A
F2
Pn−1D
DD
DD
DD
D
~~
~~
~
~
~~
}}
}}
}
}}
F1
}}
}}
}
}}
F0
Fn
∅
Dann nehmen wir einen Resolventen von F1 und einer positiven Klausel P1 der ursprünglichen Hornformel, usw. Falls am Ende eine Resolvente ∅ vorkommt, ist die
Hornformel unerfüllbar.
Beispiel 8.8. Die Formel
F := P ∧ (¬P ∨ Q) ∧ (¬Q ∧ ¬R) ∧ (¬P ∨ R)
52
hat folgende SLD-Resolution:
¬P ∨ QN
¬Q ∨ ¬R
NNN
oo
o
NNN
o
o
NNN
ooo
N
ooo
¬P
∨ ¬R
p
P JJ
JJ
JJ
JJ
JJ
¬P ∨ R
JJ
JJ
JJ
JJ
J
P II
II
II
II
II
∅
tt
tt
t
t
tt
tt
¬P
t
tt
tt
t
t
tt
¬R
pp
ppp
p
p
ppp
Deswegen ist sie unerfüllbar.
Beispiel 8.9. Für das vorige PROLOG-Beispielprogramm 8.5 mit der Hornformel
(A ∨ ¬B ∨ ¬C) ∧ (A ∨ ¬D) ∧ (B ∨ ¬A ∨ ¬D) ∧ C ∧ (D ∨ ¬E) ∧ ¬D
gibt es nur die folgende SLD-Resolution:
D ∨ ¬E
JJ
¬D
JJ
JJ
JJ
J
¬E
yy
yy
y
y
yy
Deswegen ist die Formel erfüllbar.
Satz 8.10. Für Hornformeln ist die SLD-Resolution ist korrekt und vollständig: Eine
Hornformel ist erfüllbar genau wenn keine SLD-Resolvente leer ist.
Den Beweis findet man z.B. in Kreuzer, Kühling Logik für Informatiker“ (Pearson
”
Studium 2006), Satz 3.17.
8.iii
Markierungsalgorithmus
Algorithmus 8.11. Der Markierungsalgorithmus ist eine alternative Methode,
die entscheidet, ob eine Hornformel F erfüllbar ist. Sie arbeitet mit der Markierung
der atomaren Aussagen:
Schritt 1 Markiere jedes Vorkommen von A für jede Tatsache A.
53
Schritt 2 (Rekursiv) Für jede Regel B∨¬A1 ∨¬A2 ∨· · ·∨¬An , für die alle A1 , A2 . . . An
markiert sind, markiere jedes Vorkommen von B. Falls keine neuen Atome
markiert werden können, gehe zu Schritt 3.
Schritt 3 Falls eine Frage nur aus markierten Literalen besteht, erfolgt die Ausgabe
F unerfüllbar“, sonst wird F erfüllbar“ ausgegeben.
”
”
Beispiel 8.12. Das Beispiel 8.8 mit der Formel
F := P ∧ (¬P ∨ Q) ∧ (¬Q ∧ ¬R) ∧ (¬P ∨ R)
wird so bearbeitet: Im ersten Schritt markiert man dem Atom P , während Schritt 2
die Literale Qund R markiert. Deswegen lautet im dritten Schritt die Ausgabe F
”
unerfüllbar“.
Satz 8.13. Der Markierungsalgorithmus ist korrekt und braucht Zeit in O(n2 ) für
Hornformeln mit n atomaren Aussagen.
Beweis.
(a) Der Markierungsalgorithmus ist korrekt: Wir zeigen erst,
dass jede Belegung α, die Hornformel wahr macht, macht alle markierten
atomaren Aussagen wahr. Für Schritt 1 ist das trivial, denn falls A eine
Tatsache ist, muss α(A) = 1 gelten. Bei dem rekursiven Schritt 2 erinnern
wir die Form A1 ∧ A2 ∧ . . . ∧ An ⇒ B aller Regeln: Wenn alle Ai wahr
sind, muss auch B wahr sein, weil die Implikation wahr ist.
In Schritt 3 ist die Ausgabe unerfüllbar“ richtig: jede Frage K mit mar”
kierten Atomen erfüllt α
b(K) = 0.
Falls die Ausgabe erfüllbar“ kommt, setzen wir
”
1 falls A markiert
α(A) :=
0 sonst
Damit bekommen alle positiven Klauseln den Wert 1. Und jede Frage
enthält wegen der Ausgabe erfüllbar“ ein nicht markiertes Literal ¬A,
”
dann haben wir α
b(¬A) = 1 – dh. sie ist also auch wahr. Deswegen hat die
ganze Hornformel den Wert 1 und ist damit erfüllbar.
(b) Beweis der Zeitkomplexität: Bei n atomaren Aussagen brauchen wir
für Schritt 1 Zeit O(n) und Schritt 2 hat höchstens n Durchläufe, die
jeweils eine atomare Aussage abarbeiten. Ein Durchgang in Schritt 2 läuft
in O(n) Schritten über die Formel, weshalb Schritt 2 als ganzes in der
Zeitklasse O(n2 ) liegt. Schritt 3 benötigt O(n) Zeit. Insgesamt ergibt sich
eine Zeitkomplexität von O(n + n2 + n) = O(n2 ).
Zusammenfassung In der Aussagenlogik stellen wir Fragen des Typs:
• Ist eine Formel erfüllbar?
54
• Ist eine Formel eine Tautologie?
• Folgt eine Formel aus gegebenen Formeln?
Diese drei Probleme sind äquivalent: siehe dazu Satz 3.24 und Bemerkung 6.3.
Wir haben verschiedenen Algorithmen vorgelegt, die diese Fragen beantworten: die Berechnung der Wahrheitstabelle, die Resolutionsmethode und die Natürliche Deduktion.
Keiner dieser Algorithmen ist effizient: alle brauchen Zeit exponentiell in der Länge der
Formel. Und es wird nicht erwartet, dass ein polynomialzeit Algorithmus je gefunden
wird, da die Erfüllbarkeit ein NP-vollständiges Problem ist.
Eine andere Situation betrifft die Hornformel, für die wie einen Markierungsalgorithmus mit Zeitkomplexität O(n2 ) sowie eine effiziente Variante der Resolutionsmethode
dargestellt haben.
55
Teil II
Prädikatenlogik
56
9. Syntax der Prädikatenlogik
9.i
Einleitung
Die Prädikatenlogik (auch als Logik der ersten Stufe bekannt) ist viel stärker als die
Aussagelogik, denn sie macht es möglich, über
Eigenschaften von Objekten,
Relationen zwischen Objekten
und
Funktionen die mit Objekten durchgeführt werden
zu reden.
Falls eine Menge X von Objekten gegeben wird, kann eine Eigenschaft, oder Prädikat,
formal als eine Untermenge P ⊆ X (aller Objekte, die die Eigenschaft haben) verstanden werden. Eine Relation zwischen Paaren von Objekten wird analog als eine
Untermenge P ⊆ X × X (aller Paare von Objekten die in der Relation stehen) formalisiert; wir sprechen über 2-stellige Prädikate. Falls zwei Objekte x, y ∈ X in der Relation P stehen, schreiben wir P (x, y) oder xP y. Beispiel: die Relation größer als“wird
”
durch ”>”bezeichnet und statt > (x, y) schrieben wir x > y. Dreistellige Prädikate
sind Untermengen P ⊆ X × X × X und formalisieren Relationen zwischen Tripeln von
Objekten (z.B. P (x, y, z) kann bedeuten: x liegt zwischen y und z).
Definition 9.1. Ein n-stelliges Prädikat (n = 1, 2, 3, . . .) in einer Menge A ist eine
Untermenge von An = A × . . . × A.
Beispiel 9.2. Sagt ein Mann, der ein Porträt beobachtet: Geschwister habe ich keine.
”
Und der Vater dieses Mannes ist meines Vaters Sohn“. Wer ist da abgebildet?
Wir brauchen zwei Konstanten für die zwei Männer im Beispiel:
a = der abgebildete Mann
und
57
b = der Beobachter.
Die erste Aussage arbeitet mit dem zweistelligen Prädikat Geschwister“
”
G(x, y), x und y sind Geschwister.
Der Beobachter behauptet hier: G(b, y) ist immer falsch, das schreiben wir in der Form
∀y : ¬G(b, y).
(9.1)
Für die zweite Aussage brauchen wir das zweistellige Prädikat Sohn“
”
S(x, y), x ist Sohn von y.
Wir könnten auch Vater“ als Prädikat nehmen, aber wir haben etwas besseres: eine
”
Funktion f (x) so dass y = f (x) bedeutet dass y der Vater von x ist. Die zweite Aussage
des Beobachters ist
S(f (a), f (b))
(9.2)
Was im Beispiel nicht explizit steht, aber zur Aufgabe implizit gehört, ist, dass wenn
jemand (Variable z) keine Geschwister hat, dann ist z der einzige Sohn seines Vaters:
∀y : ¬G(z, y) ⇒ ∀u : (S(u, f (z)) ⇒ u = z)
(9.3)
Diese Aussage benutzt noch ein Prädikat: gleich zu sein (=).
Was folgt aus der Konjunktion von (9.1), (9.2) und (9.3)? Wir können für die Variable
z in (9.3) die Konstante b substituieren und bekommen
∀y : ¬G(b, y) ⇒ ∀u : (S(u, f (b)) ⇒ u = b)
Dies, zusammen mit (9.1), ergibt (wegen modus ponens)
∀u : (S(u, f (u)) ⇒ (u = b))
Substituieren wir f (a) für u: es gilt
S(f (a), f (b)) ⇒ f (a) = b.
Aufgrund von (9.2) bekommen wir f (a) = b. D.h., der Mann a ist der Sohn des Beobachters.
Bemerkung 9.3. Im vorigen Beispiel haben wir mit zweistelligen Relationen S (Sohn),
G (Geschwister) und = (gleich sein) gearbeitet. Wir haben ferner eine Funktion f ,
Vater, die einstellig ist benutzt. Und dazu zwei Namen, auch Konstanten benannt, a
und b. Wichtig ist, dass jeder Name ein eindeutig bestimmtes Objekt beschreibt. Diese
Eingaben heißen eine Signatur. Die Konstanten können wir als Funktionen, die keine
Variablen haben (d.h., nullstellig sind) annehmen. Allgemeiner:
Definition 9.4. Eine Signatur Σ besteht aus
58
• einer Liste von Prädikatensymbolen (mit großen Buchstaben bezeichnet)
mit gegebenen Stelligkeiten 1, 2, 3, . . ..
und
• einer Liste von Funktionssymbolen (mit kleinen Buchstaben bezeichnet)
mit gegebenen Stelligkeiten 0, 1, 2, 3, . . .; die 0-stelligen Funktionen heißen
Konstanten.
Diese Listen können auch leer sein.
Beispiel 9.5. Im Beispiel 9.2 haben wir die Signatur Σ = {G, S, =, f, a, b} benutzt.
Alle Prädikate G, S und = sind zweistellig, f ist eine einstellige Funktion und a, b sind
konstant.
Beispiel 9.6. Gibt es eine Frau, so dass falls sie unfruchtbar ist die Menschheit aussterben muss? Hier verwenden wir die Signatur Σ = {F } wobei F (x) das Prädikat
x ist eine fruchtbare Frau“ ist. Wir fragen uns, ob es eine Frau x gibt, so dass die
”
Implikation ¬F (x) ⇒ ∀y : ¬F (y) gilt?
Oder kürzer: ist die Aussage
∃x : (¬F (x) ⇒ ∀y : ¬F (y))
wahr? Die Antwort ist (überraschenderweise) positiv. Falls wir nämlich eine Frau x0 die
fruchtbar ist finden können, substituieren wir x0 für x und bekommen die Implikation
¬F (x0 ) ⇒ ∀y : ¬F (y). Die ist wahr, denn ¬F (x0 ) ist falsch. Falls keine fruchtbare
Frau x0 existiert, ist die Aussage ∀y : ¬F (y) wahr, deswegen auch die Implikation
¬F (x) ⇒ ∀y : ¬F (y) wahr ist.
Beispiel 9.7. In der Arithmetik benutzen wir Funktionen
+ und ·
(zweistellig)
die Prädikatensymbole
< und =
(zweistellig)
und die Konstanten 0 und 1. Kurz
Σ = {<, =, +, ·, 0, 1}.
Ist die Aussage ∀x : x · x > 0 wahr? Ja, falls x eine natürliche Zahl darstellt. Nein wenn
x auch eine komplexe Zahl sein darf. Die Wahrhaftigkeit einer Formel hängt von der
Umgebung ab, dies werden wir im nächsten Kapitel formalisieren.
Beispiel 9.8. Die Theorie der Graphen arbeitet mit zwei zweistelligen Prädikatensymbolen
= (gleich sein) und R(x, y): y ist ein Nachbar von x. Hier Σ = {=, R}, die Liste der
Funktionssymbole ist leer. Alle Graphen ohne 2-Zyklen beschreibt die Formel
∀x : ∀y : (R(x, y) ∧ R(y, x) ⇒ (x = y))
59
9.ii
Alphabet der Prädikatenlogik
In der Prädikatenlogik formen wir Ausdrücke wie ∀x : F x die sagen, dass für jeden Wert
der Variable x die Aussage F gilt. Dies werden wir in den nächsten Kapiteln präzisieren,
wo die Semantik der Prädikatenlogik erläutert wird. Hier wollen wir zunächst den
Allgemeinquantor ∀ einfach als formales Symbol einführen.
Analog gilt das für den Ausdruck ∃x : F , wo wir uns damit begnügen das Symbol ∃
als Existenzquantor einzuführen.
Beispiel 9.9. Die Aussage
”
Funktion f (x) ist stetig in Punkt 2“
kann man mit Quantoren wie folgt formulieren:
∀ > 0 ∃δ > 0 ∀x : (|x − 2| < δ ⇒ (|f (x) − f (2)| < )
Hier sind f (x) und der Betrag a(x) = |x| jeweils 1-stellige Operationssymbole und
die Funktion m(x, y) = x − y ist zweistellig. Wir benutzen ferner zwei Konstanten
0 und 2. Wir können dazu ein zweistelliges Prädikat > einführen: In der Signatur
Σ = {>, m, a, f, 0, 2} bekommt die obige Formel die Form
∀ > 0∃δ > 0∀x : (δ > a(m(x, 2)) ⇒ > a(m(f (x), f (2)))
Definition 9.10. Das Alphabet der Prädikatenlogik besteht aus
Var, einer Menge aus Variablen x1 , x2 , x3 , . . . ,
einer Signatur Σ,
den Quantoren ∀ und ∃
und den Hilfssymbolen
Klammern )“, (“, Komma ,“ und Doppelpunkt ”:”
” ”
”
Bemerkung 9.11. Für die Variablen schreiben wir oft x, y, z, wir nutzen aber manchmal auch andere Symbole wie oder δ.
Für zweistellige Relationssymbole R verwendet man oft die bereits erwähnte In-FixNotation x1 Rx2 . Auch für zweistellige Funktionen, z.B. +, verwendet man neben +(x, y)
die In-Fix-Notation x + y.
Definition 9.12. Die Menge aller Σ-Terme ist die kleinste Menge so dass
• jede Variable x1 , x2 , x3 . . . ist ein Term
60
• gegeben ein n-stelliges Funktionssymbol f und n Terme t1 , . . . , tn , ist auch
f (t1 , . . . , tn ) ein Term.
Die Menge aller Σ-Terme deren Variablen in M ⊆ Var liegen bezeichnet man mit
TΣ (M).
Bemerkung 9.13. TΣ (∅) ist die menge aller Terme ohne Variablen. Z.B. in der
Signatur in 9.9 gehören m(0, 2), f (a(0)), f (f (f (2))) zu TΣ (∅).
Beispiel 9.14.
• Falls Σ = {s} mit s eine 1-stellige Funktion, sind Terme
genau die Variablen xi und s(xi ), s(s(xi )), . . .
• Für Σ = {+, 0}, + 2-stellig und 0 konstant haben wir Terme
x, 0, +(x, y), +(x, 0), +(+(x, 0), +(0, 0)), . . .
9.iii
Syntax der Aussagenlogik
Definition 9.15. der Syntax.
(a) Die atomaren Formeln der Prädikatenlogik sind alle Ausdrücke
R(t1 , . . . , t2 )
wobei ti Terme der Signatur Σ sind und R ein n-stelliges Prädikat in Σ
(b) Die Formeln der Prädikatenlogik bilden die kleinste Menge so, dass
(a) jede atomare Formel eine Formel ist,
(b) falls F und G Formeln sind, sind es auch (F ∧ G), (F ∨ G)
und (¬F )
und
(c) falls F eine Formel ist, so sind auch (∀x : F ) und (∃x : F )
für jede Variable x Formeln.
Bemerkung 9.16.
(a) Wie in der Aussagenlogik benutzen wir F ⇒ G für G ∨ ¬F und F ⇔ G
für (F ∧ G) ∨ (¬F ∧ ¬G)
(b) Wie schreibt man Aussagen wie Für alle größer 0 gilt XXX“? Einfach
”
∀ > 0 XXX“ zu schreiben, geht nicht, denn dies ist keine Formel! Daher
”
folgendermaßen:
∀ : ( > 0) ⇒ XXX
Dabei ist > 0 eine atomare Aussage, aus der XXX folgt.
61
(c) Analog dazu schreibt man statt Es gibt ein δ größer 0, so dass YYY“
”
folgendes:
∃δ : (δ > 0) ∧ YYY
Damit bekommt die Stetigkeitsformel aus 9.9 die folgende Form:
∀ : ( > 0 ⇒ ∃δ : (δ > am(x, 2) ⇒ > am(f (x), f (2))))
Beispiel 9.17. Im Land Warling gibt es drei Stämme: Xur, Yzy und Poli. Jemand
vom Stamm Xur vermählt sich nur mit jemand vom Stamm Xur oder vom Stamm
Yzy. Polis vermählen sich nie, weil sie auf die entscheidende Frage immer mit Nein“
”
antworten.
Um dies formal aufzuschreiben benötigen wir keine Operationen, sondern nur die folgenden Relationen:
1-stellig: X, Y und P für die drei Stämme
2-stellig: V
J
für vermählt sein mit“
”
beide Partner beantworten die entscheidende Frage mit “Ja“
Die erste Aussage ist
F1 := (∀x : (X(x) ⇒ (∀y : (V (x, y) ⇒ (X(y) ∨ Y (y))))))
Die zweite ist aus zwei Teilen zusammengesetzt:
F2 := (∀x : (P (x) ⇒ (∀y : (¬J(x, y)))))
und
F3 := (∀x : ∀y : (¬J(x, y) ⇒ ¬V (x, y)))
Die komplette Aussage über Warling ist F1 ∧ F2 ∧ F3 .
Notationelle Konvention 9.18. Wir erweitern die Bindungskonventionen der
Aussagenlogik: nicht nur ¬ sondern auch ∀x und ∃x binden stärker als alle 2-stelligen
Junktoren. Es bleibt dabei, dass ∧ und ∨ stärker binden als ⇒ und ⇔.
Dann dürfen wir schreiben:
∀x : F ∨ ∃y : G ⇒ ¬H
was dann folgendes bedeutet:
(∀x : F ) ∨ (∃y : (G ⇒ ¬H))
Diese Formel darf nicht mit der folgenden verwechselt werden:
∀x : (F ∨ (∃y : G ⇒ ¬H))
– Diese besagt etwas ganz anderes!
62
Beispiel 9.19. Die Studenten, die die volle Punktezahl erreichten, waren von zwei
”
Sorten: einige wussten alle Lösungen der Aufgaben und die anderen hatten das Glück,
dass ihr bester Freund zur ersten Sorte gehört.“
Dies wollen wir durch eine Formel ausdrücken. Sei W (x) das einstellige Prädikat x
”
weiß alle Lösungen“ und B(x, y) das zweistellige Prädikat y ist der beste Freund von
”
x“ – es kann natürlich mehrere y je x geben oder auch keinen. Die Formel für die volle
Punktezahl ist dann:
W (x) ∨ ∃y : (B(x, y) ∧ W (y))
Bemerkung 9.20. Im letzten Beispiel ist die Variable x in der Formel frei, d.h. ohne
einen Quantor der sich auf die Variable bezieht: sie bezeichnet damit einfach abstrakt
einen Studenten“. Dagegen ist y durch das ∃y : gebunden.
”
Diese Unterscheidung zwischen freien und gebundenen Variablen definieren wir nun:
Definition 9.21. Die Menge F rei(F ) aller freien Variablen einer Formel F ist wie
folgt definiert:
Formel F
Menge F rei(F )
R(t1 , . . . , tn )
F1 ∨ F2
F1 ∧ F2
¬F
∀x : F
∃x : F
alle Variablen, die in t1 , . . . , tn vorkommen
F rei(F1 ) ∪ F rei(F2 )
F rei(F1 ) ∪ F rei(F2 )
F rei(F )
d.h. es sind die selben Variablen frei wie in F
F rei(F ) − {x}
alle freien Variablen von F außer x
F rei(F ) − {x}
alle freien Variablen von F außer x
Beispiel 9.22. In der Formel
F := W (x) ∨ ∃y : (B(x, y) ∧ W (y)
ist x eine freie und y eine gebundene Variable. Es gilt:
F rei(F ) = {x}
Definition 9.23. Eine Formel heißt geschlossen, falls sie keine freien Variablen
besitzt.
Zum Beispiel ist die Stetigkeitsformel in 9.9 geschlossen: die Variablen , δ und x sind
alle gebunden. Wir können dann einfach sagen, ob die Formel wahr oder falsch ist.
Je nachdem, ob die gegebene Operation f (x) stetig in 2 ist oder nicht. Im Kontrast
dazu hängt der Wahrheitswert der Formel W (x) ∨ ∃y : (B(x, y) ∧ W (y)) von der
Interpretation der freien Variablen x ab. Dies wird im nächsten Kapitel erläutert.
63
10. Semantik der Prädikatenlogik
Ist die Formel ∀x : (x + 1 > 0) wahr? Die Antwort hängt von der Umgebung wo x
interpretiert wird ab: es gilt, falls x als natürliche Zahl genommen wird, es gilt nicht
falls x eine ganze Zahl darstellt. Wir müssen erst spezifizieren (a) welche Elemente x
darstellen (die Menge aller möglichen Elemente heißt Träger) und (b) was + und >
und 0 bedeutet. Solche Spezifikationen heißen Struktur:
Definition 10.1. Für eine Signatur Σ besteht eine Σ-Struktur A aus
einer Menge A (dem Träger von A), die nicht leer ist,
einer n-stelligen Operation
f A : An −→ A
für jedes n-stellige Funktionssymbol f in Σ
und
einer n-stelligen Relation
R A ⊆ An
für jedes n-stellige Prädikatensymbol R in Σ
Insbesondere wird jeder Konstante f in Σ ein Element f A von A zugeordnet.
Beispiel 10.2. Falls Σ = {R} mit dem Prädikat R 2-stellig, ist eine Σ-Struktur A
genau ein gerichteter Graph. Wobei A die Menge der Knoten von A ist und RA ⊆ A×A
die Menge der Kanten von A.
Beispiel 10.3. Für Σ mit den Funktionen s, 1-stellig, und 0, konstant, und mit dem
zweistelligen Prädikatssymbol R haben wir die Σ-Struktur N der natürlichen Zahlen:
Träger N = {0, 1, 2, 3, . . . }
sN ist die Nachfolgerfunktion
0N ist die Konstante 0
RN (x, y) bedeutet x < y
64
Eine andere Struktur Z hat als Träger die ganzen Zahlen, mit sZ , 0Z und RZ analog
zu N derselbe Typ wie N oben. Eine dritte Struktur A hat Träger {0, 1}, wobei sA die
zwei Werte umtauscht, 0A = 0 und RA = ∅ ist das leere Prädikat.
Definition 10.4.
• Wir arbeiten mit Belegungen von Variablen im Träger
A einer Σ-Struktur. Analog zur Aussagenlogik werden nicht alle Variablen
belegt, sondern nur eine Menge M ⊆ Var von Variablen. Eine Belegung
α ist eine Funktion, die jeder Variablen x aus einer Menge M ⊆ Var ein
Element aus dem Träger A zuordnet:
α : M −→ A
• Gegeben: eine Variable x ⊆ M und einen Wert a ∈ A im Träger.
Wir bezeichnen den Update“ der Variablen in einer Belegung α durch
”
a
α
x
und meinen damit die Belegung, die alle Variablen y 6= x in M genau wie
α belegt, der Variable x aber den Wert a zuordnet:
a
α(y) falls y 6= x
α (y) :=
a falls y = x
x
Notationelle Konvention 10.5. Jede Belegung α : M −→ A wird auf alle Terme in
Variablen aus M erweitert. Wir definieren die Funktion
α : TΣ (M) −→ A
wie erwartet: α(x) = α(x) für alle Variablen x ∈ M und α(t) = f A (α(t1 ), . . . , α(tn ))
für alle Terme t1 , . . . , tn in TΣ (M), für die α(ti ) schon definiert wurde.
Beispiel 10.6. In der Signatur Σ = {s, 0, R} des vorigen Beispiels 10.3 besteht TΣ ({x})
aus allen Termen x, s(x), s(s(x)), . . . , sowie 0, s(0), s(s(0)), . . .
Gegeben eine Belegung
α : {x} −→ Z
α(x) = 7
haben wir
α(x) = 7
α(s(x)) = 8
α(s(s(x))) = 9
..
.
α(0) = 0
α(s(0)) = 1
α(s(s(0))) = 2
..
.
Bemerkung 10.7. Wir wollen jetzt die Semantik der Formel F in einer Struktur A
definieren. Der Wahrheitswert von F hängt von einer Belegung α : M −→ A ab. Eine
Belegung α : M −→ A heißt passend zu einer Formel F falls alle freien variablen von
F in der Menge M liegen. Der Wahrheitswert von F bezeichnen wir als α
b(F ) und er
ist entweder 0 (falsch) oder 1 (wahr).
65
Definition 10.8. der Semantik der Prädikatenlogik
Gegeben: Eine Formel F , eine Σ-Struktur A mit dem Träger A und eine zu F passende
Belegung α : M −→ A
Wir definieren den Wahrheitswert α
b(F ) jeder Formel F wie folgt:
• atomare Formeln: Falls F = R(t1 , . . . , tn ) dann ist α
b(F ) = 1 genau wenn
A
für ai = α(ti ) der n-Tupel (a1 , . . . , an ) in R liegt:
α
b(R(t1 , . . . , tn )) = 1 g.d.w. RA (α(t1 ), . . . , α(tn ))
• zusammengesetzte Formeln
α
b(G ∧ H) = 1
α
b(G ∨ H) = 1
α
b(¬G) = 1
α
b(∀x : G) = 1
∃x : G
g.d.w.
g.d.w.
g.d.w.
g.d.w.
α
b(G) = 1 und α
b(H) = 1
α
b(G) = 1 oder α
b(H) = 1
α
b(G) = 0
ca (G) = 1
für alle a ∈ A giltα
x
ca (G) = 1
es gibt ein a ∈ A mit α
x
Bemerkung 10.9.
(a) Für 1-stellige Prädikate R ist die Formel R(t) genau dann wahr, wenn die
Interpretation α(t) des Terms die Eigenschaft R hat – d.h. wenn RA (α(t))
gilt. Die Semantik einer Relation, die durch ein 2-stelliges Prädikatensymbol
R dargestellt wird, ist: R(t1 , t2 ) ist genau dann wahr, wenn die Elemente
α(t1 ) und α(t2 ) in der Relation RA stehen.
(b) Die Interpretation von ∀x : G ist: alle Updates“ α xa von α erfüllen G.
”
Und analog ist die Interpretation von ∃y : G derart, dass ein Element a
im Träger existiert so dass das Update“ α xa von α erfüllt G.
”
Beispiel 10.10. In Graphen A als Σ-Strukturen (vgl. 10.2) bedeutet die Formel
∀x : ∀y : (R(x, y) ⇒ R(y, x))
dass der Graph A symetrisch ist. Dieselbe Formel ohne Quantoren, also
R(x, y) ⇒ R(y, x)
hat keinen festen Wahrheitswert: Wir müssen die freien Variablen x und y zuerst als
Knoten a, b interpretieren, dh. α(x) := a und α(y) := b. Dann sagt die Formel: Wenn
b ein Nachbar von a ist, gibt es Kanten in beide Richtungen. Der Wahrheitswert hängt
hier von der gewählten Interpretation ab.
Beispiel 10.11.
(a) In der Σ-Struktur N der natürlichen Zahlen aus Beispiel 10.3 ist die Formel
∀x : ∃y : x < y
wahr und die Formel
∃y : ∀x : x < y
ist nicht wahr.
66
(b) Die Formel ∀x : (0 < x ∨ 0 = x) ist wahr in N aber nicht in Z.
Satz 10.12. Gegeben: Eine Formel F und eine Σ-Struktur mit Träger A.
Der Wahrheitswert α
b(F ) einer Formel F hängt nur von den Wahrheitswerten der freien
Variablen in F ab: Für alle zu F passenden Belegungen β gilt
b )=α
aus β(x) = α(x) für alle x ∈ Frei(F) folgt β(F
b(F ).
b )=α
ist, dann gilt β(F
b(F ).
Beweis. per Strukturinduktion über F für alle Belegungen α und β. Aus der Vorraussetzung über β folgt offensichtlich β(t) = α(t) für alle Terme in TΣ (M ) wobei M =
Frei(F).
Fallunterscheidung:
b ) es ist,
(a) Falls F die Form R(t1 , . . . , tn ) hat, α
b(F ) wahr ist, genau wenn β(F
denn es gilt α(ti ) = β(ti ) für i = 1, . . . , n.
(b) Falls F die Form G ∧ H hat und der Satz für G und H gilt, dann ist α
b(F )
b
wahr, genau wenn α
b(G) und α
b(H) es sind. Dies gilt genau, wenn β(G)
b
b ) wahr.
und β(H)
wahr sind. Dann ist β(F
Analog gilt das für F = G ∨ H und F = ¬H.
(c) Falls F die Form ∀x : G hat und der Satz für G gilt, dann ist α
b(F ) wahr,
a
c
genau wenn für jede a ∈ A der Wert α x (G) wahr ist. Da die Interpretaca in allen freien Variablen von G (dh. in
tionen mit Updates“ βcxa und α
x
”
denen von F plus x) übereinstimmen, gilt die Induktionsvorraussetzung:
ca
ca
α (G) ist wahr, genau wenn β (G) wahr ist.
x
x
b
Daraus folgt, dass α
b(∀x : G) genau dann wahr ist, wenn β(∀x
: G) wahr
ist.
(d) Falls F die Form ∃x : G hat, dann ist α
b(F ) wahr, genau wenn es ein a ∈ A
a
c (G) wahr ist. Für dieses a sind α
ca und βca für alle freien
gibt, sodass α
x
x
x
Variablen von G (die von F plus x) gleich. Nach Induktionsvorraussetzung
ca (G) ist wahr, genau wenn βca (G) wahr ist. Dies beweist, dass α
gilt: α
b(∃x :
x
x
G) genau dann wahr ist, wenn α
b(∃x : G) wahr ist.
Notationelle Konvention 10.13. Der Wahrheitswert einer geschlossen Formel F in
einer Σ-Struktur A ist unabhängig von Belegungen. Wir sagen, dass F gilt in A, wenn
der Wahrheitswert 1 ist.
Beispiel 10.14. Die Formel ∀x : ∀y : R(x, y) = R(y, x) aus 10.10 gilt genau in allen
symetrischen Graphen.
67
11. Logische Äquivalenz
Definition 11.1. Zwei Formeln F und G der Prädikatenlogik heißen äquivalent, in
Symbolen
F ≡G
falls für jede Σ-Struktur A und jede zu F und G passende Belegung α : M −→ A gilt:
α
b(F ) ist genau dann wahr, wenn α
b(G) wahr ist. Kurz: α
b(F ) = α
b(G).
Beispiel 11.2. Zu sagen
Nicht alle Vögel können fliegen.
ist eine komplizierte Variante der Aussage
Es gibt einen Vogel, der nicht fliegen kann.
Allgemeiner: die Negation eines Allquantors ist der Existenzquantor der Negation. In
Symbolen:
Satz 11.3.
¬∀x : F ≡ ∃x : ¬F
Beweis. Für jede passende Belegung α hat ¬∀x : F den Wert 1 genau dann, wenn
∀x : F den Wert 0 hat. Dies bedeutet: Es ist nicht wahr, dass für alle a ∈ A gilt
ca (F ) = 1. Damit heißt das kurz:
α
x
ca
Es gibt ein a ∈ A mit α (F ) = 0
x
Dies können wir übersetzten in:
ca
es gibt ein a ∈ A mit α (¬F ) = 1
x
Dies sagt aber genau, dass der Wert von ∃x : ¬F unter der Belegung α wahr ist.
Folgerung 11.4. Statt ∃x : F können wir ¬(∀x : ¬F ) schreiben.
Analog dazu
68
Satz 11.5.
¬∃x : F ≡ ∀x : ¬F
Beweis. Satz 11.3 ergibt ¬∀x : ¬F ≡ ∃x : F .
Folgerung 11.6. Für die Prädikatenlogik sind die Junktoren ∧ und ¬ zusammen mit
dem Allquantor ∀ adäquat (siehe Definition 3.13): Alle Formeln der Prädikatenlogik
lassen sich mit ∧, ¬ and ∀ ausdrücken.
Beispiel 11.7. Einige wichtige logische Äquivalenzen sind:
(a)
∀x : (F ∧ G) ≡ (∀x : F ) ∧ (∀x : G)
Beweis: Die Linke Seite hat bei einer Belegung α den Wert 1 genau dann,
wenn für alle a ∈ A gilt
ca
α (F ∧ G) = 1
x
Äquvivalent dazu:
ca
ca
α (F ) = 1 und α (G) = 1
x
x
Dies aber bedeutet α
b(∀x : F ) = 1 und α
b(∀x : G) = 1. Der Beweis in
Gegenrichtung erfolgt analog dazu.
(b)
∃x : (F ∨ G) ≡ (∃x : F ) ∨ (∃x : G)
Dies ist analog zu 11.6. Aber wir können es auch aus 11.4, 11.7 (a) und
der de Morganschen Regel (der Aussagenlogik) ableiten:
∃x : (F ∨ G) ≡
≡
≡
≡
≡
≡
¬∀x : ¬(F ∨ G)
¬∀x : (¬F ∧ ¬G)
¬((∀x : ¬F ) ∧ (∀x : ¬G))
(¬(∀x : ¬F )) ∨ (¬(∀x : ¬G))
(¬(¬∃x : F )) ∨ (¬(¬∃x : G))
(∃x : F ) ∨ (∃x : G)
11.4
de Morgan
11.7 (a)
de Morgan
11.4
¬¬e
(c)
∀x : (F ∨ G) 6≡ (∀x : F ) ∨ (∀x : G)
Aufpassen! Dieses Beispiel sieht den beiden vorigen ähnlich, doch sind die
beiden Seiten nicht äquivalent. Die linke Seite sagt, dass für jedes x
eine der beiden Aussagen zutrifft. Die rechte Seite sagt dagegen, dass eine
der Aussagen für jedes x gleichermaßen zutrifft. Wenn nur auf einen Teil
der Elemente der Grundmenge F zutrifft und auf den Rest G, dann ist
die linke Seite trotzdem wahr; – die rechte aber nicht. Dies passiert bei der
Signatur N aus Beispiel 10.3 bei den folgenden Formeln:
∀x : (3 < x ∨ x < 4)
69
gilt, aber
(∀x : 3 < x) ∨ (∀x : x < 4)
gilt nicht.
Fakt 11.8. Umbennung gebundener Variablen
Die Formel ∀x : F ist äquivalent zu ∀y : F [y/x] für jede Variable y, die in F nicht
vorkommt. Dabei ist F [y/x] jene Formel, die entsteht, wenn in F jedes Vorkommen der
freien Variablen von x durch y ersetzt wird.
Analog gilt
∃x : F ≡ ∃y : F [y/x]
für jede Variable y, die in F nicht vorkommt.
Bemerkung 11.9. In der Formel ∀x : x < 3 ⇒ R(x) ist die Variable x links gebunden
und rechts frei. Dies ist verwirrend. Aufgrund von 11.8 können wir aber die gebundene
Variable umbenennen und bekommen wie die nicht mehr verwirrende Formel ∀y : y <
3 ⇒ R(x).
Notationelle Konvention 11.10. Wenn eine Variable in einer Formel sowohl gebunden wie frei vorkommt, benennen wir die gebundene Variable um.
Beispiel 11.11. In der Formel
W (x) ∨ ∃y : (B(x, y) ∧ W (y))
von Beispiel 9.19 ist die Variable y sowohl gebunden als frei. Wir können die gebundene
Variable umbenennen:
W (x) ∨ ∃t : (B(x, t) ∧ W (t))
Für jede neue Variable t (verschieden von x,y) ist diese neue Formel logisch äquivalent
zu der vorigen.
Definition 11.12. Eine Formel hat die bereinigte Form, wenn
(a) keine ihrer Variablen frei und gebunden zugleich vorkommt
und
(a) alle Quantoren immer unterschiedliche Variablen binden.
Beispiel 11.13. Die Formel
∀x : ∀y : (x < y ∨ ∀x : x = 0) ∨ ∃y : y < u
lässt sich durch die bereinigte Form
∀x : ∀y : (x < y ∨ ∀z : z = 0) ∨ ∃t : t < u
ersetzten.
70
Folgerung 11.14. Jede prädikatenlogische Formel ist zu einer in bereinigter Form
äquivalent. Diese ergibt sich durch ggf. mehrmalige Anwendung von 11.8.
Bemerkung 11.15.
(a) Die Reihenfolge von Quantoren desselben Typs spielt keine Rolle:
∀x : ∀y : F ≡ ∀y : ∀x : F
sowie
∃x : ∃y : F ≡ ∃y : ∃y : F
Dies ergibt sich eindeutig aus der Definition der Semantik.
(b) Aber aufpassen! Im Allgemeinen dürfen wir ∀ und ∃ nicht umtauschen.
Beispiel 11.16.
∀x : ∃y : F 6≡ ∃y : ∀x : F
In der Signatur aus 10.3 erfüllt N die Formel
∀x : ∃y : x < y
aber nicht die Formel
∃y : ∀x : x < y
Definition 11.17. Eine Formel F heißt
(a) allgemeingültig falls sie in jeder Σ-Struktur unter jeder passenden Belegung wahr ist;
(b) erfüllbar falls es eine Σ-Struktur und eine passende Belegung gibt, sodass
F wahr ist.
Beispiel 11.18.
(a) Jede Tautologie der Aussagenlogik ist allgemeingültig, z.B. F ⇔ ¬¬F
(b) Die Formel ∀x : F ⇒ ∃x : F ist allgemeingültig. Falls A eine Struktur
und α eine Belegung mit α
e(∀x : F ) = 1 ist, wählen wir ein Element a ∈ A
a
c
b(∃x : F ) = 1
aus. Dann α x (F ) = 1 und dies bedeutet α
(c) Wir wissen, dass ∀x : ¬F ⇔ ¬∃x : F allgemeingültig ist: siehe Satz 11.3.
(d) Die Äquivalenz ∃x : R(x) ⇔ ∀x : R(x) ist nicht allgemeingültig: falls A
die Struktur mit Träger {0, 1} ist und RA = {0}, dann gilt ∃x : R(x) in
A aber ∀x : R(x) gilt nicht. Die Äquivalenz ist aber erfüllbar: Sei A eine
Struktur mit nur einem Element im Träger, dann erfüllt A die Formel.
(e) Die Formel ∃x : W (x) ∧ ∀x : ¬W (x) ist nicht erfüllbar.
71
12. Normalformen
Definition 12.1. Eine Formel, deren Quantoren vollständig am Anfang stehen, heißt
in pränexer Normalform. Pränexe Normalformen sind also die Formeln der Form
Q1 x : Q2 y : . . . Qn z : F
wobei Qi entweder für ∀ oder ∃ steht und F keine Quantoren enthält.
Beispiel 12.2. F ∨ ∀x : G ist nicht in pränexer Normalform. Falls diese Formel
bereinigt ist, finden wir eine äquivalente pränexe Normalform:
F ∨ ∀x : G ≡ ∀x : (F ∨ G)
Beweis: F ∨ ∀x : G hat unter der Belegung α den Wert 1 genau dann, wenn α
b(F ) = 1
a
c
oder α x (G) = 1 für alle Elemente a des Trägers. Da x keine freie Variable von F ist,
ca (F ) = α
gilt α
b(F ). Damit ist F ∨ ∀x : G genau dann wahr, wenn für alle a die Formel
x
F ∨ G unter der Belegung α xa wahr ist.
Beispiel 12.3. Analog dazu gelten für alle bereinigten Formeln F und G die folgenden
Äquivalenzen:
F ∨ ∃x : G ≡ ∃x : (F ∨ G)
F ∧ ∀x : G ≡ ∀x : (F ∧ G)
F ∧ ∃x : G ≡ ∃x : (F ∧ G)
Algorithmus 12.4. für die pränexe Normalform PF von F . Gegeben eine Formel F ,
berechnen wir die Formel
PF = Q1 x1 : . . . Qn xn : F ∗
F ∗ ohne Quantoren
Schritt 1: Bringe F in eine bereinigte Form ohne ⇒ und ⇔
Schritt 2: Verwende rekursiv die folgende Berechnung:
(i) F atomar. Wir setzen
PF := F.
72
(ii) F zusammengesetzt. Wir nehmen an, dass für alle Unterformeln G von F die jeweilige pränexe Normalformen PG bereits
berechnet wurden.
Es gibt die folgenden Fälle:
(a) F := ¬G wobei PG = Q1 x1 : . . . Qn xn : G∗
Dann setze
PF := Q̄1 x1 : . . . Q̄n xn : ¬G∗
Dabei meint Q̄ jeweils das Gegenstück zu Q: aus ∀ wird ∃ und
umgekehrt.
(b) F := G ∧ H wobei PG = Q1 x1 : . . . Qn xn : G∗
und PH = Q01 y1 : . . . Q0m ym : H ∗
Dann setze
PF := Q1 x1 : . . . Qn xn : Q01 y1 : . . . Q0m ym : (G∗ ∧ H ∗ )
(c) F := G ∨ H analog zu (b), nur mit (G∗ ∨ H ∗ ) am Ende.
(d) F := ∀x : G wobei PG = Q1 x1 : . . . Qn xn : G∗
Dann setze
PF := ∀x : Q1 x1 : . . . Qn xn : G∗
(e) F := ∃x : G ist analog zu (d), nun mit ∃x am Anfang von
PF .
Satz 12.5. Der Algorithmus ist korrekt: die konstruierte pränexe Normalform PF ist
äquivalent zur Ausgangsformel F .
Beweis. Fall (a) folgt aus den Sätzen 11.3 und 11.5. Die Fälle (b) und (c) folgen aus
Beispiel 12.3. Fall (d) ist klar: Denn wenn G ≡ H gilt, dann gilt auch ∀x : G ≡ ∀x : H.
In der tat, für eine Belegung α gilt α
b(G) = α
b(H) deswegen, erfüllen alle Belegungen
a
a
a
c
c
der Form α x auch α x (G) = α x (H). Analog für Fall (e): Wenn G ≡ H gilt, dann gilt
auch ∃x : G ≡ ∃x : H.
Beispiel 12.6.
F = ∀x : ∃y : x < y ∧ ¬∀z : x + z = z
Schritt 1: Bereinigte Form: Die Variable x ist im hinteren Teil der Formel frei, deshalb
wird am Anfang statt x die Variable t verwendet.
F ≡ ∀t : ∃y : t < y ∧ ¬∀z : x + z = z
Schritt 2: Die Anwendung von Fall (e) ergibt:
F ≡ ∀t : ∃y : t < y ∧ ∃z : ¬(x + z = z)
Jetzt verwenden wir (b) und bekommen:
F ≡ ∀t : ∃y : ∃z : (t < y ∧ ¬(x + z = z))
73
Bemerkung 12.7. Wir beweisen demnächst, dass man für die Entscheidungen der
Erfüllbarkeit von Formeln ohne den Existenzquantor arbeiten kann. Erst ein Beispiel:
Beispiel 12.8. Die Stetigkeitsformel aus 9.16 (c) kann man ohne ∃ schreiben indem
man sagt: für jedes > 0 wählen wir ein δ mit der gewünschten Eigenschaft.
Falls die Wahl mit δ = h() bezeichnet wird, bedeutet dies, dass wir ein 1-stelliges Funktionssymbol h benötigen und die Signatur jetzt auf Σ = {>, m, a, f, 0, 2, h} erweitern.
Dann können wir formulieren:
∀ : ( > 0 ⇒ (h() > 0 ∧ ∀x : (h() > am(x, 2x) ⇒ > am(f (x), f (2x)))))
Im Weiteren werden wir sehen, wie man diese Idee anwenden kann, um einen Quantor
∃ loszuwerden.
Definition 12.9. Eine pränexe Normalform ohne Existenzquantor heißt Skolemsche
Normalform.
Beispiel 12.10. Die pränexe Normalform
∃x : ∀y : ∃z : x < z < y
kann in eine Skolemsche Normalform gebracht werden, indem wir unsere Signatur Σ =
{<} erweitern:
Statt dem ∃x benutzen wir eine neue Konstante c:
∀y : ∃z : c < z < y
Da nun ein z zu jedem y existiert, können wir eine neue 1-stellige Funktion f einführen
und z durch f (y) ersetzen:
∀y : c < f (y) < y
Dabei benutzen wie die neue Signatur {<, c, f }
Bemerkung 12.11. Die Formeln
F := ∃x : ∀y : ∃z : x < z < y
und
SF := ∀y : c < f (y) < y
sind nicht äquivalent, aber sie haben die Eigenschaft, dass
F erfüllbar g.d.w. SF erfüllbar
In der Tat, falls F in einer Struktur A erfüllbar ist, haben wir noch die Freiheit a und f
in A zu bestimmen. Wir wählen für a jenes existierende x, das die Formel F erfüllt.Und
f A definieren wir so, dass für alle y die Formel c < f A (y) < y gilt. Umgekehrt: Falls SF
erfüllbar ist, ist es auch F . Denn für das x in F existiert das Element der Konstante
in SF und für z existiert das Element, das f (y) geliefert hatte.
74
Algorithmus 12.12. der jeder pränexen Normalform
F := Q1 x1 : . . . Qn xn : F ∗
eine Skolemsche Normalform SF zuordnet, die genau dann erfüllbar ist, wenn auch F
erfüllbar ist.
Wir setzen
SF := F
wenn alle Quantoren in F Allquantore sind.
Sonst:
(a) Falls Q1 = ∃, d.h.
F := ∃x1 : G
und wir zu G bereits die Skolemsche Normalform SG berechnet haben, dann
erweitern wir Σ um eine Konstante c und schreiben
SF := SG [c/x1 ]
D.h. in der Skolemsche Normalform SG ersetzen wir überall x1 durch c.
(b) Falls Q1 = ∀ und Q2 = ∃, d.h.
F := ∀x1 : ∃x2 : G
erweitern wir Σ um ein einstelliges Funktionssymbol h und schreiben
SF := ∀x1 : SG [h(x1 )/x2 ]
(c) Entsprechend geht es weiter: Falls
F := ∀x1 : ∀x2 : ∃x3 : G
erweitern wir Σ um ein neues zweistelliges Funktionssymbol h und schreiben
SF := ∀x1 : ∀x2 : SG [h(x1 ,x2 )/x3 ]
usw.
Satz 12.13. Der Algorithmus ist korrekt: für jede pränexe Normalform F ist SF eine
Skolemsche Normalform, die genau dann erfüllbar ist, wenn F es ist.
Der Beweis findet der Leser z.B. in Kreuzer, Kühling Logik für Informatiker“ (Pearson
”
Studium 2006), Satz 4.22.
75
13. Herbrandsche Modelle und
abstrakte Datentypen
Wir haben mit TΣ (M) die Menge aller Terme mit Variablen aus M bezeichnet. Ein
Spezialfall ist die Menge
TΣ (∅)
aller Terme ohne Variablen. Die haben eine Bewertung in jeder Σ-Struktur.
Beispiel 13.1. Falls Σ aus einer Konstante, 0, und einem einstelligen Operationssymbol, s, besteht, ist TΣ (∅) die Menge {0, s(0), s(s(0)), . . .}. In jeder Σ-Struktur
(A, 0A , sA ) ist die Bewertung des Termes sn (0) gleich dem Element (sA )n (0A ) von A.
Für die Signatur Σ0 = {0, s, <} die Σ um ein zweistelliges Prädikatensymbol < erweitert, haben wir dieselben Terme ohne Variablen:
TΣ0 (∅) = TΣ (∅)
Beispiel 13.2. Für Σ = {+, 0, 1} mit einer zweistelligen Operation + und Konstanten
0 und 1 besteht TΣ (∅) aus Termen wie 0, 1, 0 + 1, 0 + 0, 0 + (0 + 1), (1 + 1) + (0 + 1), . . ..
In jeder Σ-Struktur haben wir eine klare Bewertung von allen diesen Termen.
Beispiel 13.3. Für jede Signatur Σ ohne Konstanten gilt TΣ (∅) = ∅
Definition 13.4. Eine Herbrandsche Σ-Struktur ist eine Σ-Struktur A dessen Träger
die Menge TΣ (∅) von Termen ohne Variablen und dessen Funktionen f A , für jedes
n-stelligen Funktionssymbol f , sind durch Zusammensetzung von Termen definiert:
f A (t1 , . . . , tn ) = f (t1 , . . . , tn )
für alle t1 , . . . , tn ∈ TΣ (∅)
Beispiel 13.5.
(a) Für Σ = {s, 0} in 13.1 gibt es nur eine Herbrandsche
Struktur: die mit ELementen sn (0) der Konstante 0 und der Operation,
die jeden Term sn (0) den Term sn+1 (0) zuordnet.
(b) Für die Signatur Σ0 = {s, 0, <} gibt es viele Herbrandsche Strukturen. Z.B.
A mit Elementen und Funktionen wie in (a) und mit <A definiert durch
sn (0) <A sm (0) genau dann wenn n < m.
Oder die Struktur B mit denselben Elementen und Funktonen aber mit <B
leer:
sn (0) <B sm (0) gilt nie.
76
Bemerkung 13.6.
(a) Wenn wir die Erfüllbarkeit von Formeln, die keine
Existenzquantoren enthalten feststellen wollen, z.B.
∀x : ∀y : x + y > a
können wir uns auf Herbrandsche Strukturen einschränken: falls ein Modell dieser Formel gefunden werden kann, können wir , aufgrund von Satz
13.8, annehmen, dass seine Elemente a, a + a, a + (a + a), (a + a) + a, . . .
sind und seine Funktion die Zusammensetzung t + s.
(b) Ist die Formel
∀x : (x > a ∨ a > x) ∧ ∀x : (x > b ⇒ x > a) ∧ a > b
erfüllbar? Versuchen wir eine Herbrandsche Struktur: da die einzigen Funktionssymbole die Konstanten a und b sind, gilt TΣ (∅) = {a, b}. Gibt es
eine Relation >A auf der Menge {a, b}, die die Formel dann erfüllt? Die
letzte Klausel, a >A b, ergibt durch Substitution a/x in der zweiten, dass
a >A a und dies widerspricht der ersten Klausel. Daraus folgt, wie wir
jetzt beweisen, dass die Formel unerfüllbar ist.
Notation 13.7. Gegeben eine Formel F . Wir bezeichnen durch
ΣF
die Signatur aller Funktionssymbole und Prädikatensymbole, die in F vorkommen; falls
in F keine Konstante vorkommt, wird zu ΣF noch ein konstantes Funktionssymbol
hinzugefügt.
Satz 13.8. Für jede Skolemsche Normalform F gilt: falls F erfüllbar ist, gilt sie in
einer Herbrandschen Struktur des Signatur ΣF .
Den Beweis kann der Leser in Logik für Informatiker“ von U. Schöning finden.
”
Bemerkung 13.9. Für Signaturen Σ ohne Prädikatensymbole ist TΣ (∅) eine ΣStruktur. Die kann man als ein Modell von abstrakten Datentypen betrachten: in einem
Datentyp nehmen wir an, dass es eine Liste von Operationen gibt, die mit den Daten
durchgeführt werden sollen. Diese Formen dann eine Signatur ohne Prädikatensymbole.
Der abstrakte Datentyp ist dann das Modell, das aus nichts entsteht durch Anwendung
der Operationen - und für das auch keine Gleichungen gelten. Hier ein Paar Beispiele:
Beispiel 13.10. abstrakter Datentypen.
(a) Natürliche Zahlen. Wir gehen von einer Konstante 0 und einer einstelligen
Operation s aus. Für Σ = {s, 0} haben wir schon gesehen, dass TΣ (∅)
die Menge aller Terme 0, s(0), s(s(0)), . . . ist, die die natürlichen Zahlen
0, 1, 2, . . . kodieren
77
(b) Listen. Um die Menge A∗ aller Listen in Alphabet A zu formen, brauchen
wir eine Konstante nil und für jedes Symbol a ∈ A die einstellige Operation, die zu jeder Liste a am Ende hinzufügt. Formen wir die Signatur
Σ = A ∪ {nil }
in der jedes Symbol a ∈ A ein einstelliges Funktionssymbol ist. Hier besteht
TΣ (∅) aus den Termen
nil , a1 (nil ), a2 (a1 (nil )), . . . (ai ∈ A)
die die Listen nil , a1 , a2 a1 , . . . kodieren.
(c) Binäre Bäume. Die Signatur
Σ = {∗} ∪ N
mit einem zweistelligen Operationssymbol ∗ und jeder natürlichen Zahl n
als Konstante hat Terme
n, ∗(n1 , n2 ), ∗n1 (∗(n2 , n3 )), . . .
die die binären Bäume, die Listen in N markiert haben, kodieren:
()*+
/.-,
n
}
}}
}
}}
}}
7654
0123
n1
∗ AA
{
{{
{
{{
{{
0123
7654
n1
AA
AA
AA
0123
7654
n2
∗ AA
AA
AA
AA
}}
}}
}
}
}}
0123
7654
n2
∗A
AA
AA
AA
A
0123
7654
n3
Beispiel 13.11. Die natürlichen Zahlen wollen wir jetzt nicht nur mit der Operation s
(Nachfolger) und der Konstante 0 versehen, sondern auch mit der Addition + und der
konstante 1. Die ensprechende Signatur Σ = {+, s, 0, 1} hat als abstrakten Datentyp
nicht natürliche Zahlen, sondern Bäume des Types
7654
0123
+
} AAA
}
AA
}
}
AA
}
}
AA
}}
}
'&%$
!"#
0123
7654
n2
s
7654
0123
n1
'&%$
!"#
s
0123
7654
+
| AAA
|
AA
|
|
AA
||
AA
|
|
|
0123
7654
0123
7654
n1
+A
}} AAA
}
AA
}
}
AA
}}
A
}
}
0123
7654
0123
7654
n2
n3
Deswegen müssen wir hier geeignete Gleichungsaxiome hinzufügen: betrachten wir die
Formeln, die sagen dass + kommutativ und assoziativ ist, 0 die Einheit ist und s die
Addition von 1
∀x : ∀y : x + y = y + x
∀x : ∀y : ∀z : (x + y) + z = (x + y + z)
∀x : s(x) = x + 1
∀x : x = x + 0
78
Hier betrachten wir den abstrakten Datentyp als eine Struktur, die (wieder) aus nichts
entsteht und für die nur die Gleichung, die aus den 4 Formeln ableitbar sind, gelten.
In unserem Beispiel wird dies weder eine Kodierung von N ergeben.
79
14. Resolutionsmethode der
Prädikatenlogik
Wir wollen entscheiden, ob eine Formel F der Prädikatenlogik erfüllbar ist. Wir dürfen
uns aufgrund von Algorithmus 12.12 auf Formeln in der Skolemsche Normalform beschränken:
F = ∀x1 : . . . ∀xn : F ∗
F ∗ ohne Quantoren
Darüber hinaus dürfen wir annehmen, dass
F ∗ in KNF vorliegt.
KNF ist dabei exakt wie in der Aussagenlogik definiert:
Definition 14.1. Ein Literal ist eine atomare Formel oder ihre Negation, z.B. ¬R(x, y).
Eine Klausel ist eine Disjunktion von Literalen, z.B. ¬R(x, y). Eine KNF ist eine
Konjunktion von Klauseln.
Satz 14.2. Für jede Formel F der Aussagenlogik gibt es eine Skolemsche Normalform
SF , die genau dann erfüllbar ist, wenn F es ist, und die hat die Form
SF := ∀x1 : . . . ∀xn : G
G ohne Quantoren in KNF
In der Tat haben wir einen Algorithmus, der jeder Formel F eine derartige Skolemsche
Normalform SF zuordnet. Zuerst benutzten wir den Algorithmus aus 12.12 und erhalten
die Skolemsche Normalform SF0 := ∀x1 : . . . ∀xn : G0 Anschließend wenden wir den KNF
-Algorithmus 4.19 der Prädikatenlogik auf G0 an.
Beispiel 14.3. Ist die folgende Formel erfüllbar?
F := ¬P (c) ∧ ∀x : (P (f (x)) ∧ ¬P (x))
Wir bringen sie erst in Skolemsche Normalform:
SF := ∀x : (¬P (c) ∧ P (f (x)) ∧ ¬P (x))
Jetzt merken wir, dass in den Interpretationen von SF der Wert von x beliebig werden
kann. Daher dürfen wir es mit c ersetzen: Falls F (und SF ) erfüllbar ist, dann ist es
auch
¬P (c) ∧ P (f (c)) ∧ ¬P (c)
80
Wir dürfen aber x auch mit f (c) ersetzen: Ist F erfüllbar, ist es auch die Formel:
¬P (c) ∧ P (f (f (c))) ∧ ¬P (f (c))
Beides zusammen bedeutet, falls F erfüllbar ist, dann ist es auch
¬P (c) ∧ P (f (c)) ∧ ¬P (c) ∧ ¬P (c) ∧ P (f (f (c))) ∧ ¬P (f (c))
Hier ist die Antwort aber klar: Diese letzte Formel ist unerfüllbar aufgrund der Resolution
¬P (f (c))
P (f (c))
HH
HH
HH
HH
H
∅
u
uu
uu
u
uu
uu
Bemerkung 14.4. Das vorige Beispiel ist typisch. Wir haben in der Formel F eine
Konstante c benutzt und die durch ∀ quantifizierte Variable x haben wir mit c oder f (c)
ersetzt. Dies dürfen wir, weil der Allquantor auch jene Elemente des Trägers erfasst,
die für die Konstante oder für f (c) stehen.
Dadurch haben sich mehr und mehr komplizierte Formeln ohne freie Variablen ergeben.
Auf diese können wir die Resolutionsmethode anwenden.
Falls eine Formel keine Konstante enthält, müssen wir eine extra in der Signatur
einführen:
Definition 14.5. Für eine Formel F , die wenigstens eine Konstante enthält, bezeichnet
ΣF
die Signatur aller Funktionssymbole, die in F vorkommen. Falls F keine Konstanten
enthält, bezeichnet ΣF die Signatur, die aus einer Konstante c und allen Operationssymbolen, die in F vorkommen, besteht.
Bemerkung 14.6. Für eine Skolemsche Normalform
G := ∀x1 : . . . ∀xn : F
F ohne Quantoren in KNF
können wir neue Klauseln ohne Variablen formen, indem wir in den Klauseln von F
jede Variable xi durch einen Term der Signatur ΣF ohne Variablen (dh. einem Element aus TΣF (∅), siehe 9.13) ersetzen. Wenn G erfüllbar ist, ist jede KNF mit diesen
Klauseln auch erfüllbar. Der folgende Resolutionssatz sagt das Umgekehrte: Wenn jede
solche KNF erfüllbar ist, dann ist G erfüllbar.
Beispiel 14.7. Ist die Formel
∀x : ∃y : R(x, y)
erfüllbar? Wir nehmen eine 1-stellige Operation f und bekommen die Skolemsche Normalform
G := ∀x : R(x, f (x))
81
Diese hat keine Konstanten, also nehmen wir eine neue Konstante c hinzu:
ΣG = {R, f, c}
Dadurch formen wir die entsprechende Menge aller Terme
TΣG (∅) = {c, f (c), f (f (c)), . . . }
Nun können wir Elemente aus TΣG (∅) in die Formel G einsetzen und erhalten:
R(c, f (c))
R(c, f (c)) ∧ R(f (c), f (f (c)))
R(c, f (c)) ∧ R(f (c), f (f (c))) ∧ R(f (f (c)), f (f (f (c))))
..
.
Diese Formeln sind alle erfüllbar, weil sie keine Resolventen haben. Daraus folgt, dass
F erfüllbar ist:
Satz 14.8. Resolutionssatz der Prädikatenlogik
Gegeben sei eine Skolemsche Normalform
G := ∀x1 : . . . ∀xn : (F1 ∧ . . . ∧ Fn )
wobei Fi Klauseln sind. Die Formel G ist genau dann erfüllbar, wenn jede aussagenlogische Formel, deren Klauseln die Form
Fi [t1/x1 , . . . , tn/xn ]
mit t1 , . . . , tn in TΣG (∅)
haben, erfüllbar ist. (In der Klausel Fi wird die k-te Variable durch einem Term tk
ohne Variablen ersetzt.)
Algorithmus 14.9. Die Resolutionsmethode der Prädikatenlogik ist eine Methode
zur Entscheidung, ob eine geschlossene Formel erfüllbar ist.
Schritt 1: Berechne eine Skolemsche Normalform
G := ∀x1 : . . . ∀xn : F
F ohne Quantoren und in KNF
die genau dann erfüllbar ist, wenn es H ist.
Schritt 2: Berechne TΣF (∅) = {t1 , t2 , t3 , . . . }
Schritt 3: Setze n = 1. Ersetze alle Variablen in F durch den Term t1 . Wende die
Resolutionsmethode der Aussagenlogik auf die entstandene Formel (ohne
Variablen) an. Ist das Ergebnis, dass diese Formel unerfüllbar ist, gib aus:
G unerfüllbar
82
und halte. Sonst:
Setze n = 2. Ersetze alle Variablen in F durch t1 oder t2 und forme mit
all diesen Klauseln eine KNF . Wende die Resolutionsmethode der Aussagenlogik auf die dadurch entstandene Formel an. Ist das Ergebnis, dass
diese Formel unerfüllbar ist, gib aus:
G unerfüllbar
und halte. Sonst:
Setze n = 3. Ersetze alle Variablen in F entweder durch t1 , t2 oder t3 und
forme mit all diesen Klauseln eine KNF ; usw.
Beispiel 14.10. Ist die Formel
G := (∀x : R(x) ⇒ ∃y : S(y)) ⇒ ∃x : (R(x) ⇒ S(x))
allgemeingültig? Wie auch bei der Aussagenlogik ist das genau dann der Fall, wenn die
Negation nicht erfüllbar ist:
¬G := ¬((∀x : R(x) ⇒ ∃y : S(y)) ⇒ ∃x : (R(x) ⇒ S(x)))
≡ ¬(¬(∀x : R(x) ⇒ ∃y : S(y)) ∨ ∃x : (R(x) ⇒ S(x)))
≡ (∀x : R(x) ⇒ ∃y : S(y)) ∧ ¬∃x : (R(x) ⇒ S(x))
≡ (∀x : R(x) ⇒ ∃y : S(y)) ∧ ∀x : ¬(R(x) ⇒ S(x))
≡ (¬∀x : R(x) ∨ ∃y : S(y)) ∧ ∀x : (R(x) ∧ ¬S(x))
≡ (∃y : S(y) ∨ ∃x : ¬R(x)) ∧ ∀z : (R(z) ∧ ¬S(z))
Dies ist bereits bereinigt, deswegen
¬G ≡ ∃y : ∃x : ∀z : ((S(y) ∨ ¬R(x))) ∧ R(z) ∧ ¬S(z)
Die Skolemsche Normalform benutzt zwei neue Konstanten c und d, die ∃y und ∃x
entsprechen:
S¬G = ∀z : (S(c) ∨ ¬R(d)) ∧ R(z) ∧ ¬S(z)
Wir haben keine Funktionssymbole außer c und d, daher
Σ¬G = {c, d}
. Die einzigen Terme ohne Variablen sind c und d. Die Resolutionsmethode ergibt die
Klauseln
S(c) ∨ ¬R(d), R(c), ¬S(c), R(d), ¬R(d)
Dies führt zur Resolution
S(c) ∨ ¬R(d)
R(d)
MMM
MMM
MMM
MM
¬S(c)
OOO
OOO
OOO
OOO
∅
pp
ppp
p
p
ppp
ppp
xx
xx
x
x
xx
S(c)
Wir sehen, dass ¬G nicht erfüllbar ist. Daher ist G allgemeingültig.
83
Bemerkung 14.11. In der Aussagenlogik ist die Resolutionsmethode ein entscheidbarer Algorithmus: Nach endlich vielen Schritten wissen wir, ob die gegebene Formel
erfüllbar ist. Der Algorithmus der Prädikatenlogik terminiert jedoch nicht immer: Für
erfüllbare Formeln bekommen wir nie in endlich vielen Schritten die Antwort. Dies ist
kein Zufall, wie der nächste Satz belegt.
Satz 14.12. Churchsche-Satz
Die Prädikatenlogik ist nicht entscheidbar: Es gibt keinen Algorithmus, der für jede
Formel F in endlich vielen Schritten entscheidet, ob F erfüllbar ist.
Die Unentscheidbarkeit wird intuitiv klar, wenn wir zeigen, dass es Formeln gibt, die
• erfüllbar sind,
• aber in keiner endlichen Struktur erfüllt werden.
Denn dann benötigen wir eine unendliche Struktur, um die Erfüllbarkeit zu demonstrieren.
Beispiel 14.13. Wir arbeiten mit einer zweistelligen Relation <. Diese ist transitiv
x < y ∧ y < z ⇒ x < z und antireflexiv ¬(x < x). Zusätzlich verwenden wir die
1-stellige Funktion f , die die Formel x < f (x) erfüllt:
F := ∀x : ∀y : ∀z : ((x < y ∧ y < z ⇒ x < z) ∧ ¬(x < x) ∧ x < f (x))
Diese Formel ist sicher erfüllbar: in der Struktur N mit dem Träger N = {0, 1, 2, . . . },
wobei <N die übliche Ordnung der natürlichen Zahlen und f N die Nachfolgerfunktion
ist.
Aber F gilt in keiner endlichen Struktur A. Betrachten wir eine Struktur, in der F
gilt. Wir wählen ein beliebiges Element a0 des Trägers und setzen ∧n+1 = f A (an ). Für
jedes x gilt x < f (x), deswegen a0 < a1 < a2 . . .. Dies beweist, dass die Elemente an
paarweise verschieden sind: aus ai = aj folgt i = j denn jedes x erfüllt ¬(x < x) (und
die Transitivität ergibt ai < aj oder aj < ai falls i 6= j).
84
Herunterladen