Logik - Vorlesungsskripte der Fakultät für Mathematik

Werbung
Logik
Prof. Dr. Mundhenk
Semester: SS 2006
Vorwort
Dieses Dokument wurde als Skript für die auf der Titelseite genannte Vorlesung erstellt
und wird jetzt im Rahmen des Projekts „Vorlesungsskripte der Fakultät für Mathematik
und Informatik“ weiter betreut. Das Dokument wurde nach bestem Wissen und Gewissen
angefertigt. Dennoch garantiert weder der auf der Titelseite genannte Dozent, die Personen, die an dem Dokument mitgewirkt haben, noch die Mitglieder des Projekts für dessen
Fehlerfreiheit. Für etwaige Fehler und dessen Folgen wird von keiner der genannten
Personen eine Haftung übernommen. Es steht jeder Person frei, dieses Dokument zu
lesen, zu verändern oder auf anderen Medien verfügbar zu machen, solange ein Verweis
auf die Internetadresse des Projekts http: // uni-skripte. lug-jena. de/ enthalten
ist.
Diese Ausgabe trägt die Versionsnummer 2605 und ist vom 6. Dezember 2009. Eine (mögliche) aktuellere Ausgabe ist auf der Webseite des Projekts verfügbar.
Jeder ist dazu aufgerufen, Verbesserungen, Erweiterungen und Fehlerkorrekturen für das
Skript einzureichen bzw. zu melden oder diese selbst einzupflegen – einfach eine E-Mail
an die Mailingliste <uni-skripte@ lug-jena. de> senden. Weitere Informationen sind
unter der oben genannten Internetadresse verfügbar.
Hiermit möchten wir allen Personen, die an diesem Skript mitgewirkt haben, vielmals
danken:
• Jörg Sommer <joerg@ alea. gnuu. de> (2006/07)
• Martin Mundhenk <mundhenk@ informatik. uni-jena. de> (2006)
• Hilbert Levitz <levitz@ cs. fsu. edu> (2007)
• Anne Schneider <anne. h. schneider@ googlemail. com> (2007)
3
Inhaltsverzeichnis
Vorbemerkung
1. Aussagenlogik
1.1. Aussagen, Formeln und Tautologien . . . . . . .
1.1.1. Äquivalenz von Formeln . . . . . . . . . .
1.1.2. Adäquate Verknüpfungszeichen . . . . . .
1.2. Formale Theorien . . . . . . . . . . . . . . . . . .
1.3. Die Theorie L für die Aussagenlogik . . . . . . .
1.3.1. Das Deduktionstheorem . . . . . . . . . .
1.3.2. Übersicht der gezeigten Theoreme . . . .
1.3.3. Vollständigkeit von L . . . . . . . . . . .
1.4. Resolution für die Aussagenlogik . . . . . . . . .
1.4.1. Algorithmus zum Test auf Unerfüllbarkeit
1.4.2. Formulierung der Resolution als Theorie .
9
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
einer
. . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
Klauselmenge .
. . . . . . . . .
2. Theorien 1. Ordnung – Prädikatenlogik
2.1. Interpretation von Formeln . . . . . . . . . . . . . . . . .
2.2. Theorien 1. Ordnung . . . . . . . . . . . . . . . . . . . . .
2.3. Eigenschaften von Theorien 1. Ordnung . . . . . . . . . .
2.3.1. Schreibweisen, die Beweise vereinfachen . . . . . .
2.3.2. Regel C (choice) . . . . . . . . . . . . . . . . . . .
2.4. Vollständigkeit des Prädikatenkalküls 1. Ordnung . . . . .
2.4.1. Abzählbarkeit von Formelmengen . . . . . . . . . .
2.4.2. Konsistente und abgeschlossene Erweiterungen von
2.4.3. Modelle für konsistente Theorien . . . . . . . . . .
2.4.4. Der Vollständigkeitssatz von Gödel . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
13
17
19
23
25
29
33
33
38
47
50
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
52
55
60
61
63
66
68
68
70
73
78
3. Formale Zahlentheorie
3.1. Die Theorie S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Modelle für die Theorie S . . . . . . . . . . . . . . . . . . . . .
3.2. Primitiv-rekursive Funktionen . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Allgemeinere Konstruktoren für primitiv-rekursive Funktionen
3.2.2. Beschränkte Minimierung . . . . . . . . . . . . . . . . . . . . .
3.2.3. Kodieren und Dekodieren von Folgen von natürlichen Zahlen .
3.2.4. Exkurs: Unbeschränkte Minimierung und rekursive Funktionen
3.3. Repräsentierbarkeit von Relationen und Funktionen in S . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
80
81
88
90
95
99
101
103
104
4
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Theorien
. . . . . .
. . . . . .
Inhaltsverzeichnis
3.4. Arithmetisierung . . . . . . . . . . . . . . . . . . .
3.4.1. Gödelisierung . . . . . . . . . . . . . . . . .
3.4.2. Erkennen von Eigenschaften von Symbolen
3.4.3. Erkennen von Formeln . . . . . . . . . . . .
3.4.4. Die Diagonalfunktion . . . . . . . . . . . .
3.4.5. Das Beweisprädikat . . . . . . . . . . . . .
3.5. Der Unvollständigkeitssatz von Gödel . . . . . . .
A. Übungsaufgaben
A.1. Blatt 1 . . .
A.2. Blatt 2 . . .
A.3. Blatt 3 . . .
A.4. Blatt 4 . . .
A.5. Blatt 5 . . .
A.6. Blatt 6 . . .
A.7. Blatt 7 . . .
A.8. Blatt 8 . . .
A.9. Blatt 9 . . .
A.10.Blatt 10 . .
A.11.Blatt 11 . .
A.12.Blatt 12 . .
B. Lösungen der
B.1. Blatt 1 .
B.2. Blatt 2 .
B.3. Blatt 3 .
B.4. Blatt 4 .
B.5. Blatt 5 .
B.6. Blatt 6 .
B.7. Blatt 7 .
B.8. Blatt 8 .
B.9. Blatt 9 .
B.10.Blatt 10
B.11.Blatt 11
B.12.Blatt 12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Übungsaufgaben
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
109
110
111
112
114
117
118
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
123
123
124
124
124
125
125
126
127
127
128
128
128
.
.
.
.
.
.
.
.
.
.
.
.
130
. 130
. 131
. 132
. 134
. 136
. 136
. 138
. 140
. 141
. 142
. 143
. 145
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
Auflistung der Theoreme
Sätze
Satz 1.2. Korrektheit von L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Satz 1.3. Deduktionstheorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Satz 1.4. Belegung und Hypothesen . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Satz 1.5. Hypothesenmengen bei Tautologien verkleinern . . . . . . . . . . . . . . 37
Satz 1.6. Vollständigkeit der Theorie L . . . . . . . . . . . . . . . . . . . . . . . . 38
Satz 1.8. Korrektheit der Resolutionsmethode . . . . . . . . . . . . . . . . . . . . 44
Satz 1.9. Vollständigkeit der Resolutionsmethode . . . . . . . . . . . . . . . . . . 46
Satz 2.1. Korrektheit des Prädikatenkalküls 1. Ordnung . . . . . . . . . . . . . . . 61
Satz 2.2. Deduktionstheorem für Theorien 1. Ordnung . . . . . . . . . . . . . . . 62
Satz 2.3. Ersetzbarkeitstheorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Satz 2.4. Regel C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Satz 2.6. Lindenbaums Lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Satz 2.7. Abzählbare Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Satz 2.8. Satz von Löwenheim und Skolem . . . . . . . . . . . . . . . . . . . . . . 78
Satz 2.9. Vollständigkeitssatz von Gödel . . . . . . . . . . . . . . . . . . . . . . . 78
Satz 3.1. Endlichkeitssatz – Compactness Theorem . . . . . . . . . . . . . . . . . 89
Satz 3.3. Fallunterscheidung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Satz 3.8. Repräsentierbarkeit primitiv-rekursiver Funktionen in S . . . . . . . . . 109
Satz 3.9. Diagonalisierungslemma . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Satz 3.12. Unvollständigkeitssatz von Gödel . . . . . . . . . . . . . . . . . . . . . . 122
6
Inhaltsverzeichnis
Definitionen und Festlegungen
Definition 1.1. Aussagenlogische Formel . . . . . . . . . . . . . . . . . . . . . . . . 14
Definition 1.2. Tautologie und Kontradiktion . . . . . . . . . . . . . . . . . . . . . 17
Definition 1.3. Formeläquivalenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Definition 1.5. formale Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Definition 1.6. Beweis und Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Definition 1.7. Folgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Definition 1.8. Theorie für Aussagenlogik . . . . . . . . . . . . . . . . . . . . . . . 25
Definition 1.10. Resolvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Definition 1.11. Resolutionsbeweis . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Definition 2.1. Quantoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Definition 2.2. Atomare Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Definition 2.3. Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Definition 2.4. Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Definition 2.5. Variablenbelegung . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Definition 2.6. Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Definition 2.7. erfüllbare und gültige Formeln . . . . . . . . . . . . . . . . . . . . 59
Definition 2.8. Theorie 1. Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Definition 2.10. konsistente Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Definition 2.12. abgeschlossene Theorie . . . . . . . . . . . . . . . . . . . . . . . . . 72
Definition 2.13. T-produktive Theorie . . . . . . . . . . . . . . . . . . . . . . . . . 73
Definition 3.1. Komposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Definition 3.2. totale Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Definition 3.5. primitiv-rekursive Funktion . . . . . . . . . . . . . . . . . . . . . . 92
Definition 3.7. rekursive Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Definition 3.8. Repräsentierbarkeit in S . . . . . . . . . . . . . . . . . . . . . . . . 104
Definition 3.10. ω-Konsistenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7
Literaturverzeichnis
[1] Elliott Mendelson: Introduction to mathematical logic, 4. Auflage (1997), Chapman &
Hall/CRC
[2] George S. Boolos, Richard C. Jeffrey: Computability and logic
[3] Anil Nerode, Richard A. Shore: Logic for applications
[4] Melvin Fitting: First-order logic and automated theorem proving
[5] Robert S. Wolf: A tour through mathematical logic
[6] Jürgen Richter-Gebert: Skript zur Vorlesung „Logik“, ETH Zürich, 2000/2001,
http://www-hm.ma.tum.de/archiv/in2/ss04/literatur.html
[7] A. Haken: The intractibility of resolution, Theoret. Comput. Sci. 39, 1985, Seite
297–308
8
Vorbemerkung
Diese Vorlesung bietet eine Einführung in die mathematische Logik.
Logik stellt eine (formale) Sprache zur Verfügung, in der Aussagen gemacht werden
können, und einen „Mechanismus“, mit dem Aussagen bewiesen werden können. Die
beweisbaren Aussagen heißen Theoreme, und die Logik soll garantieren, dass die Theoreme
genau die wahren Aussagen sind. Der Begriff des Beweises ist hier ein rein mechanischer –
syntaktischer – Begriff, der auf der formalen Definition der Logik basiert. Dort werden
Axiome aufgestellt, die genau die grundlegenden Wahrheiten ausdrücken sollen und aus
ihnen lassen sich mit festgelegten Schlussregeln logische Schlüsse ziehen. Der Begriff der
wahren Aussage ist dagegen ein inhaltlicher – semantischer – Begriff, der aus unserer
Vorstellung von Wahrheit stammt (und trotzdem formal definiert sein kann). Ziel ist
stets, zu untersuchen, ob diese beiden Begriffswelten übereinstimmen („Vollständigkeit
und Korrektheit“).
Wir werden Aussagenlogik, Prädikatenlogik und formale Zahlentheorie als grundlegende
Logiken betrachten. Während die Ausdrucksmöglichkeiten der Sprachen von Aussagenlogik
und Prädikatenlogik eher auf die rein logischen Dinge (was immer das heißen soll)
beschränkt ist, kann man in der formalen Zahlentheorie schon schöne Aussagen wie z. B.
„Es gibt unendlich viele Primzahlen.“ oder „Es gibt unendlich viele Primzahlzwillinge1 .“
machen. Während wir wissen, dass die erste Aussage wahr ist, wissen wir nichts genaues
über die zweite Aussage. Wir können sie nicht beweisen, und wir können ihr Gegenteil
auch nicht beweisen.
Für Aussagenlogik und Prädikatenlogik werden wir Axiome und Schlussregeln kennen
lernen, mit denen unser Wahrheitsbegriff exakt dargestellt wird. Für die formale Zahlentheorie ist das nicht möglich! Der Unvollständigkeitssatz von Gödel sagt aus, dass
es keine Möglichkeit zur Auswahl von Axiomen und Schlussregeln gibt (die bestimmte
vernünftige Anforderungen erfüllen), mit denen alle wahren Aussagen der Zahlentheorie
formal bewiesen werden können. Es gibt also wahre Aussagen („Es gibt unendlich viele
Primzahlzwillinge.“ könnte eine solche sein (was aber nicht wirklich geglaubt wird)), die
man nicht formal beweisen kann. Wir werden eine solche Aussage am Ende der Vorlesung
sehen.
Damit ist der Inhalt der Vorlesung grob beschrieben. Sie beginnt mit Betrachtung von
Aussagenlogik (über die gewisse Grundkenntnisse vorausgesetzt werden) und Prädikatenlogik. Für diese beiden Logiken werden Axiome und Schlussregeln formuliert, und
1
Ein Primzahlzwilling ist ein Paar von Primzahlen mit Differenz 2, z. B. 17 und 19.
9
Vorbemerkung
deren Vollständigkeit und Korrektheit wird bewiesen. Zum Abschluss wird die formale
Zahlentheorie betrachtet und der Unvollständigkeitssatz von Gödel bewiesen. Aufgrund
von Zeitmangel werden dazu nicht alle Zwischenschritte bewiesen. Aber man erhält einen
guten Einblick in die Materie.
Die Vorlesung richtet sich hauptsächlich nach dem Buch „Introduction to mathematical logic“ von Elliott Mendelson[1]. Die Vorlesung bei Prof. V. S. Cherniavsky an der
TU Braunschweig im Jahre 1983 nach einer früheren Auflage dieses Werkes ist mir unvergesslich geblieben. Sie gehörte in vielerlei Hinsicht zu den Höhepunkten meines Studiums.
Das Buch hat mich auch bei der Vorbereitung der Vorlesung wieder tief beeindruckt.
Auch wenn dieses Skript mal fertiggestellt sein sollte, kann ich nur empfehlen: Lest das
Buch von Mendelson!!
Martin Mundhenk
Anmerkung von Jörg Sommer, die in das Vorwort eingearbeitet werden sollen:
Ich finde das bisherige Vorwort stellt die Kapitel zu abgegrenzt gegeneinander dar. (Ich
finde, das Bild zeigt sich auch in der Vorlesung selbst.) Ich verstehe die Aussagenlogik
als eine einfache „kleine“ Logik für den Einstieg. Diese wird dann um das Mächtige
Konzept der Quantoren zur Prädikatenlogik erweitert. (Diese Erweiterung sollte auch im
zweiten Kapitel verdeutlicht werden. Meiner Meinung nach findet sich das Konzept der
Interpretation bereits in der Aussagenlogik, nur das es dort nicht so zu Tage tritt, weil
mal immer nur von wahr und falsch spricht – sowohl in der Logik selbst als auch in der
Interpretation.) Mit Hilfe der Prädikatenlogik kann man dann die formale Zahlentheorie
aufbauen.
Wärend die Aussagen- und Prädikatenlogik nicht ausdrucksstark genug um über sich
selbst Aussagen zu machen, kann man in der formalen Zahlentheorie Aussagen über die
Theorie selbst machen.
Noch einige Gedanken:
• in Aussagen- und Prädikatenlogik ist die Vollständigkeit noch gegeben, in der
Zahlentheorie aber nicht mehr
• d. h. ein System, das mächtig genug ist, um über sich selbst Aussagen zu machen –
zur Selbstreflektion fähig ist – kann sich selbst nicht vollständig erschließen
• z. B. System = Computer: es kann kein Programm geben, dass die Korrektheit für
alle Programme, die ihm vorgelegt werden, prüfen kann – Halteproblem; es kann
trotzem ein Programm geben, dass für einige Programme die Korrektheit prüft,
aber eben nicht für alle
• Dilemma (philosophisch): entweder ist ein System nicht mächtig genug, um über
sich selbst Aussagen zu machen, oder es ist nicht möglich, alle Aussagen des Systems
zu prüfen; ein System kann sich selbst nie vollständig ergründen
10
• Superphilosophische Frage zum Abschluss als Aufhänger: Was bedeutet dies für das
System „Mensch“, der durch den Prozess des Denkens (Aussagen machen/prüfen)
auch in der Lage ist, über sich selbst zu reflektieren?
11
1. Aussagenlogik
Aussagenlogik beschäftigt sich mit Aussagen („Die Straße ist nass.“, „Es regnet.“) und
deren Verknüpfung zu komplexeren Aussagen („Wenn es regnet, dann ist die Straße
nass.“, „Es regnet nicht und die Straße ist nass.“). Durch Verknüpfungen können Aussagen
entstehen, die inhärent wahr sind, sogenannte Tautologien („Die Straße ist nass oder die
Straße ist nicht nass.“, „Wenn die Aussage ‚Wenn es regnet, dann ist die Straße nass.‘ wahr
ist und die Straße nicht nass ist, dann regnet es nicht.“). Sie machen z. B. Aussagen über
das korrekte Schlussfolgern. Nun möchte man z. B. gerne wissen, ob eine Schlussfolgerung
korrekt ist. Das heißt, man will wissen, ob eine Aussagenverknüpfung eine Tautologie ist.
Dazu gibt es zwei Ansätze:
• Der semantische Ansatz basiert auf dem Begriff Wahrheit1 und bewertet Formeln
aufgrund ihrer Wahrheitswerte, die sie unter bestimmten Belegungen haben; eine
Tautologie ist eine Formel, die unter allen möglichen Belegungen wahr ist. Eine
Schlussfolgerung ist also dann korrekt, wenn sie für alle Belegungen zulässig ist.
• Der syntaktische Ansatz hingegen beruht auf der Betrachtung der Struktur – also
dem Aussehen – von Aussagenverknüpfungen. Eine Tautologie ist unter dieser
Sichtweise eine Formel, die sich aus einer Menge von vorgegebenen Axiomen mit
Hilfe bestimmter Regeln herleiten lässt.
Wir werden hier verschiedene syntaktische Ansätze (Theorien) kennenlernen. Während
der semantische Ansatz durch den Wahrheitsbegriff klar definiert ist, benutzen Theorien
den Wahrheitsbegriff nicht. Deshalb muss man nachweisen, dass sie das Ziel erreichen,
Tautologien von den übrigen Formeln zu unterscheiden. Dieses Ziel wird durch die beiden
Eigenschaften der Korrektheit und der Vollständigkeit gekennzeichnet. Damit schlägt
man den Bogen von dem semantischen Ansatz zum syntaktischen Ansatz und führt beide
auf den gleichen Kern zurück. Es ist also egal, auf welchem Wege man sich der Bewertung
einer Formel nähert, das Ergebnis ist beide Male das gleiche.
Damit ist umrissen, was in diesem Kapitel passiert. Zuerst werden Verknüpfungen
von Aussagen (aussagenlogische Formeln) betrachtet und der (semantische) Begriff der
Tautologie definiert. Anschließend werden zwei Theorien vorgestellt, und es wird gezeigt,
dass sie korrekt und vollständig sind.
1
In der Aussagenlogik ist der Wahrheits-Begriff noch handhabbar, in der Prädikatenlogik nicht mehr.
12
1.1. Aussagen, Formeln und Tautologien
1.1. Aussagen, Formeln und Tautologien
Allgemein ausgedrückt, ist eine Aussage ein sprachliches Konstrukt, dem man genau einen
der beiden Wahrheitswerte wahr oder falsch zuordnen kann. Diesen Grundsatz bezeichnet
man als tertium non datur – wörtlich, aus dem Lateinischen übersetzt, bedeutes es „ein
Drittes ist nicht gegeben“.
Einige Beispiele für einfache Aussagen:
• Die Straße ist nass. (falsche Aussage)
• Jena liegt an der Saale. (wahre Aussage)
• Hamburg liegt in Thüringen. (falsche Aussage)
Aus einer Aussage kann man mit Hilfe der Negation – ausgedrück mit dem Wort nicht –
eine neue Aussage erzeugen:
• Die Straße ist nicht nass. (wahre Aussage)
• Jena liegt nicht an der Saale. (falsche Aussage)
Die Verknüpfung zweier Aussagen durch eine Konjunktion – ausgedrückt mit dem Wort
und – ist eine neuen Aussage: Jena liegt an der Saale und die Straße ist nicht nass; (wahre
Aussage).
Ebenso können zwei Aussagen durch eine Disjunktion – ausgedrück mit dem Wort oder 2 –
zu einer neuen Aussage verknpüft werden: Jena liegt an der Saale oder die Straße ist
nicht nass; (wahre Aussage).
Zwei weitere Möglichkeiten der Verknüpfung von zwei Aussagen zu einer neuen Aussage
sind die Implikation und die Äquivalenz. Die Implikation wird mit der Konstruktion wenn
. . . dann ausgedrückt: Wenn die Straße nass ist, dann liegt Hamburg in Thüringen; (wahre
Aussage). Bei der Äquivalenz verwendet man die sprachliche Konstruktion genau dann,
wenn: Jena liegt an der Saale genau dann, wenn Hamburg in Thüringen liegt; (falsche
Aussage).
Jedoch will man in der Logik nicht mit (u. U. mehrdeutigen) sprachlichen Konstrukten
arbeiten und überträgt daher die Aussagen in eine andere, eigene Sprache – diesen
Vorgang bezeichnet man als Formalisierung. Für die formale Beschreibung von Aussagen
verwendet man dann Variablen bzw. Aussagezeichen wie A0 , A1 , A2 , . . . , B0 , B1 , B2 , . . . und
für Verknüpfungen setzt man Symbole: ¬ (Negation), ∧ (Konjunktion), ∨ (Disjunktion),
→ (Implikation) und ↔ (Äquivalenz).
2
Vorsicht: Umgangssprachlich versteht man unter „oder“ oft ein „entweder . . . oder“ (genau eine der
beiden Aussagen ist wahr). In der Logik hingegen ist die Disjunktion zweier Aussagen wahr, wenn
mindestens eine der beiden Aussagen wahr ist. Eine Disjunktion ist also auch wahr, wenn beide
Aussagen wahr sind.
13
1. Aussagenlogik
Definition 1.1 (Aussagenlogische Formel)
Eine aussagenlogische Formel ist wie folgt definiert:
1. Jede Variable A0 , A1 , A2 , . . . , B0 , B1 , B2 , . . . ist eine aussagenlogische Formel.
2. Wenn α und β aussagenlogische Formeln sind, dann sind auch die fünf daraus
entstehenden Verknüpfungen
(¬α),
(α ∧ β),
(α ∨ β),
(α → β),
(α ↔ β)
aussagenlogische Formeln.
/
A12 und B1 sind z. B. aussagenlogische Formeln. Aus diesen kann man die aussagenlogischen Formeln (A12 ∧ B1 ) und (¬A12 ) → B1 bilden. Da diese wiederum Formeln
sind, kann man damit die aussagenlogische Formel (A12 ∧ B1 ) ∨ ¬((¬A12 ) → B1 )
bilden.
Bemerkung 1.1
Wir geben den Verknüpfungszeichen unterschiedliche Bindungsstärke, um Klammern
beim Aufschreiben von Formeln weglassen zu können. Die größte Bindungsstärke hat ¬,
und die kleinste hat ↔. Die Ordnung ist durch folgende Reihenfolge gegeben.
1. ¬
2. ∧, ∨
3. →
4. ↔
Die Formel ¬A → B ∨ C bedeutet also ((¬A) → (B ∨ C)).
Ab jetzt können also unnötige Klammern weggelassen werden und zur weiteren Vereinfachung der Schreibweise lassen wir auch A, B, C, . . . als Variablen zu.
/
Jede Variable einer aussagenlogischen Formel nimmt genau einen der beiden Wahrheitswerte w („wahr “, T , 1) und f („falsch“, F , 0) an. Der Wahrheitswert einer zusammengesetzten
aussagenlogischen Formel ergibt sich aus den Wahrheitswerten ihrer Teile entsprechend
den Tabelle 1.1.
α
β
α∧β
α∨β
α→β
α↔β
¬α
f
f
w
w
f
w
f
w
f
f
f
w
f
w
w
w
w
w
f
w
w
f
f
w
w
f
Tabelle 1.1.: Definition des Wahrheitswerts zusammengesetzter Formeln
14
1.1. Aussagen, Formeln und Tautologien
↔
→
A
¬
∨
B
→
C
∨
A
B
C
Abbildung 1.1.: Verknüpfungsbaum für die Formel A → (B ∨ C) ↔ ¬(A → (B ∨ C))
A
B
}|
z
{
z
}|
{
Wenn die Straße nass ist, dann liegt Hamburg in Thüringen, wobei A und B nach den
Beispielen zu Beginn dieses Abschnitts den Wahrheitswert f haben. Also ist laut Tabelle 1.1 A → B wahr. Für die komplexere Formel (A → (B ∨ C) ↔ ¬(A → (B ∨ C)))
bestimmt man den Wahrheitswert in mehreren Schritten, wobei man die Wahrheitswerte
der inneren Teilformeln bestimmt und die Bestimmung nach außen hin auf immer größere
Teile ausdehnt; siehe Tabelle 1.2.
A
B
C
A∧B
B∨C
A → (B ∨ C)
¬(A → (B ∨ C))
... ↔ ...
f
f
f
f
w
w
w
w
f
f
w
w
f
f
w
w
f
w
f
w
f
w
f
w
f
f
f
f
f
f
w
w
f
w
w
w
f
w
w
w
w
w
w
w
f
w
w
w
f
f
f
f
w
f
f
f
w
w
w
w
f
w
f
f
Tabelle 1.2.: Die Wahrheitswerttafel für (A → (B ∨ C) ↔ ¬(A → (B ∨ C)))
Um sich größere Formeln besser veranschaulichen zu können, beschreibt man diese mit
Verknüpfungsbäumen. Als Beispiel ist in Abbildung 1.1 der Verknüpfungsbaum für die
Formel (A → (B ∨ C) ↔ ¬(A → (B ∨ C))) dargestellt.
Als ein Literal bezeichnet man eine Variable oder deren Negation: Ai , Bi , ¬Ai und ¬Bi ,
wobei man Literale der Form Ai als positives Literal bezeichnet und Literale der Form
¬Ai als negatives Literal.
Die Zuordnung von Wahrheitswerten zu Variablen nennt man eine Belegung. Sie ist eine
Abbildung von Variablen auf Wahrheitswerte. Wir beschreiben eine solche Belegung
15
1. Aussagenlogik
durch eine Menge A von Literalen, wobei von jeder Variablen nur das postive oder
das negative Literal in der Menge enthalten seien darf. Die Mengen haben dann die
Gestalt
A ⊆ {A0 , A1 , A2 , . . . , B0 , B1 , B2 , . . . } ∪ {¬A0 , ¬A1 , ¬A2 , . . . , ¬B0 , ¬B1 , ¬B2 , . . . }
wobei {Ai , ¬Ai } * A und {Bi , ¬Bi } * A für alle i. Dabei gilt für jede Belegung A und
jede Variable X:
(
A(X) =
w
f
falls X ∈ A
falls ¬X ∈ A
Eine Belegung A passt zur Formel α, falls für jede Variable X, die in der Formel α
vorkommt, ein entsprechendes Literal für X in der Menge A enthalten ist – X ∈ A oder
¬X ∈ A.
Sei A eine Belegung, die zu der aussagenlogischen Formel α passt. Wir betrachten A
auch als Funktion von Formeln auf Wahrheitswerte, wobei A(α) der Wahrheitswert für
die Formel α unter der Belegung A ist. Aus der Semantik der Verknüpfungszeichen ergibt
sich folgende induktive Definition von A(α):
Fall 1: α ist eine Variable X:
A(α) = A(X)
Fall 2: α ist eine Konjunktion von Formeln (β ∧ γ):
(
A(α) =
w
f
falls A(β) = w und A(γ) = w
sonst
Fall 3: α ist eine Disjunktion von Formeln (β ∨ γ):
(
A(α) =
w
f
falls A(β) = w oder A(γ) = w
sonst
Fall 4: α ist eine Implikation von Formeln (β → γ):
(
A(α) =
f
w
falls A(β) = w und A(γ) = f
sonst
Fall 5: α ist eine Äquivalenz von Formeln (β ↔ γ):
(
A(α) =
16
w
f
falls A(β) = A(γ)
sonst
1.1. Aussagen, Formeln und Tautologien
Betrachten wir als Beispiel den Wahrheitswert der Formel α = A → ¬(¬B ∨ A) unter
der Belegung A = {A, ¬B}. Es gilt
A(A → ¬(¬B ∨ A)) = f
gdw
A(A) = w und A(¬(¬B ∨ A)) = f
gdw
A(A) = w und A(¬B ∨ A) = w
gdw
A(A) = w und xA(¬B) = w oder A(A) = wy
A(A) = w und xA(B) = f oder A(A) = wy
gdw
Da mit der Belegung der Variablen – A(A) = w und A(B) = f – die letzte Aussage wahr
ist, gilt A(A → ¬(¬B ∨ A)) = f .
Definition 1.2 (Tautologie und Kontradiktion)
Eine Formel, die unter jeder passenden Belegung den Wahrheitswert w hat, nennt man
Tautologie. Eine Formel, dessen Wahrheitswert unter allen passenden Belegungen f ist,
nennt man Kontradiktion.
/
Beispiele für Tautologien sind A ∨ ¬A und A
→ (B → A) und der nicht so leicht
überschaubare Ausdruck (A → B) ∧ (B → C) → (A → C).
1.1.1. Äquivalenz von Formeln
Definition 1.3 (Formeläquivalenz)
Zwei Formeln α und β sind äquivalent, wenn sie bei jeder passenden Belegung den gleichen
Wahrheitswert haben. Die symbolische Schreibweise dafür ist α ≡ β.
/
Zum Beispiel gilt die Formeläquivalenz A → B ≡ ¬(A ∧ ¬B), da
A
B
A→B
¬(A ∧ ¬B)
f
f
w
w
f
w
f
w
w
w
f
w
w
w
f
w
Es bestehen folgenden grundlegende Äquivalenzen:
• A∧B ≡B∧A
A∨B ≡B∨A
(Kommutativität)
• A ∧ (B ∧ C) ≡ (A ∧ B) ∧ C
A ∨ (B ∨ C) ≡ (A ∨ B) ∨ C
(Assoziativität)
• A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C)
A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C)
(Distributivität)
17
1. Aussagenlogik
• A ≡ ¬(¬A)
(Doppelnegation)
• ¬(A ∧ B) ≡ ¬A ∨ ¬B
¬(A ∨ B) ≡ ¬A ∧ ¬B
(de Morgan’sche Regel)
• A∧A≡A
A∨A≡A
(Absorption)
• A ∧ ϕ ≡ A für alle Tautologien ϕ
A ∨ ψ ≡ A für alle Kontradiktionen ψ.
• A → B ≡ ¬A ∨ B
• A ↔ B ≡ (A ∧ B) ∨ (¬A ∧ ¬B)
Diese Äquivalenzen bleiben erhalten, wenn man für die Aussagenvariablen beliebige
Formeln einsetzt. (Alle Vorkommen der gleichen Variablen werden durch die gleiche
Formel ersetzt.) Folgende Äquivalenz entsteht aus A ∧ B ≡ B ∧ A, indem A durch A → B
und B durch C ∨ ¬B ersetzt wird.
(A → B) ∧ (C ∨ ¬B) ≡ (C ∨ ¬B) ∧ (A → B)
Beispiel 1.1
Die Aussage A → B ist nicht äquivalent zur Aussage B → A – A → B 6≡ B → A –, denn
für die Belegung A = {A, ¬B} ist A(A → B) = f und A(B → A) = w.
Wohingegen die Äquivalenz A → B ≡ ¬B → ¬A gilt, denn
A → B ≡ ¬A ∨ B ≡ B ∨ ¬A ≡ ¬¬B ∨ ¬A ≡ ¬B → ¬A
/
Die Äquivalenz von Formeln lässt sich auch mit dem Verknüpfungszeichen ↔ ausdrücken.
Es besteht folgender Zusammenhang:
α≡β
genau dann, wenn
α ↔ β eine Tautologie ist.
| {z }
|
| {z }
Äquivalenz zwischen
Formeln
{z
}
umgangssprachl.
Äquivalenz
Verknüpfungszeichen für
aussagenlog. Formeln für
Äquivalenz
Lemma 1.1
Wenn α und α → β Tautologien sind, dann ist auch β eine Tautologie.
Beweis:
Das Lemma hat die logische Struktur (C ∧ D) → E, wobei C für „α ist eine Tautologie“,
D für „α → β ist eine Tautologie“ und E für „β ist eine Tautologie“ steht. Es gilt die
Äquivalenz (C ∧ D) → E ≡ (C ∧ ¬E) → ¬D, so dass wir auch die letztere Aussage als
Beweis für das Lemma zeigen können.
Sei also α eine Tautologie und β sei keine Tautologie. Dann gibt es eine Belegung A mit
A(α) = w und A(β) = f . Also gilt für α → β unter dieser Belgung: A(α → β) = f , d. h.
α → β ist keine Tautologie.
18
1.1. Aussagen, Formeln und Tautologien
1.1.2. Adäquate Verknüpfungszeichen
Jede Formel mit k Variablen lässt sich durch eine Wahrheitstafel mit k + 1 Spalten
beschreiben: die ersten k Spalten enthalten die möglichen Wahrheitswerte der Variablen,
und die letzte Spalte enthält den Wahrheitswert der Formel unter der durch die ersten k
Spalten festgelegten Belegung; siehe als Beispiel Tabelle 1.3.
A1 A2 A3 A ¬ A1 ∨ (A3 ↔ A2 ) ∨ (A1 ∧ ¬A3 )
f
f
f
f
f
f
w
w
f
w f
w
f
w w
f
w f
f
w
w f
w
f
w w f
w
f
w w w
?
?
?
?
Tabelle 1.3.: Wahrheitstafel der Funktion g
Aus der Wahrheitstafel kann man direkt eine Formel ablesen, die zu der Formel, für die die
Wahrheitstafel konstruiert wurde, äquivalent ist (die also die gleiche Wahrheitstafel hat).
Dazu wählt man alle Zeilen mit dem Wahrheitswert w in der letzten Spalte (Zeilen mit ? in
Tabelle 1.3) und bildet für jede dieser Zeilen eine Konjunktion der Literale, die genau durch
die in der Zeile angegebene Belegung wahr wird; siehe Tabelle 1.4.
A1 A2 A3 A(α)
Konjunktion von Literalen
f
f
w
w
?
¬A1 ∧ ¬A2 ∧ A3
f
w f
w
?
¬A1 ∧ A2 ∧ ¬A3
w f
f
w
?
A1 ∧ ¬A2 ∧ ¬A3
w w f
w
?
A1 ∧ A2 ∧ ¬A3
Tabelle 1.4.: Erster Schritt für die Bestimmung einer äquivalenten Formeln zur Formel aus Tabelle 1.3.
Diese Konjunktionen verknüpft man mittels Disjunktion und erhält so eine zur Ausgangsformel äquivalente Formel.
ϕ = (¬A1 ∧ ¬A2 ∧ A3 ) ∨ (¬A1 ∧ A2 ∧ ¬A3 ) ∨ (A1 ∧ ¬A2 ∧ ¬A3 ) ∨ (A1 ∧ A2 ∧ ¬A3 )
Diese spezielle Struktur – Disjunktion von Konjunktionen von Literalen – der neuen
Formel ϕ bezeichnet man als disjunktive Normalform (DNF ).
19
1. Aussagenlogik
Lemma 1.2
Für jede beliebige aussagenlogische Formel gibt es eine äquivalente Formel in disjunktiver
Normalform.
/
Formeln in disjunktiver Normalform enthalten keine Verknüpfungszeichen → und ↔.
Man braucht demnach nicht alle Verknüpfungszeichen zur Beschreibung von Aussagenverknüpfungen.
Korollar 1.1
Für jede aussagenlogische Formel gibt es eine äquivalente Formel mit den Verknüpfungszeichen ¬, ∨ und ∧.
/
Man kann auch noch auf eines der beiden Verknüpfungszeichen ∨ und ∧ (aber nicht auf
beide) verzichten.
Satz 1.1
Für jede aussagenlogische Formel gibt es eine äquivalente Formel, die nur die Verknüpfungszeichen ¬ und ∧ enthält.
Beweis:
Sei α eine aussagenlogische Formel, die o. B. d. A. nur die Verknüpfungszeichen ¬, ∧ und
∨ enthält. Wir führen eine Induktion über den Formelaufbau.
IA: α ist eine Variable A. Dann enthält α gar keine Verknüpfungszeichen.
IV: Für beliebige Formeln β und γ gibt es äquivalente Formeln β 0 ≡ β und γ 0 ≡ γ, die
nur ¬ und ∧ enthalten.
IS: Es ist zu zeigen, dass zu jeder Formel, deren Teilformeln nur ¬ und ∧ enthalten, eine
äquivalente Formel mit nur den Verknüpfungen ¬ und ∧ existiert.
Fall 1: Wenn α die Struktur ¬β, dann gilt: α ≡ ¬β 0 und β 0 enthält nach Induktionsvorraussetzung nur ¬ und ∧.
Fall 2: Habe α die Gestalt β ∧ γ. Dann gilt: α ≡ β 0 ∧ γ 0 . Nach Induktionsvorraussetzung enthalten β 0 und γ 0 nur ¬ und ∧ als Verknüpfungszeichen.
Fall 3: Ist α von der Gestalt β ∨ γ. Dann gilt: α ≡ β 0 ∨ γ 0 ≡ ¬(¬β 0 ∧ ¬γ 0 ) Nach
Induktionsvorraussetzung enthalten β 0 und γ 0 nur die Verknüpfungszeichen
¬ und ∧.
Beispiel 1.2
A ∨ B kann unter Nutzung der Doppelnegation (¬¬A ≡ A) und der de Morgan’schen
Regel (¬(A ∧ B) ≡ ¬A ∨ ¬B) umgeformt werden:
A ∨ B ≡ ¬¬A ∨ ¬¬B ≡ ¬(¬A ∧ ¬B)
20
1.1. Aussagen, Formeln und Tautologien
weiteres Beispiel:
A → (B ↔ C) ≡ ¬A ∨ (B ∧ C) ∨ (¬B ∧ ¬C)
≡ ¬ A ∧ ¬ (B ∧ C) ∨ (¬B ∧ ¬C)
≡ ¬ A ∧ ¬(B ∧ C) ∧ ¬(¬B ∧ ¬C)
/
Definition 1.4
Eine Menge V von Verknüpfungszeichen heißt adäquat, falls es für jede aussagenlogische
Formel eine äquivalente Formel gibt, die nur Verknüpfungszeichen aus V enthält.
/
Man ist natürlich daran interessiert, möglichst kleine adäquate Mengen von Verknüpfungszeichen zu finden.
Lemma 1.3
Die folgenden Mengen von Verknüpfungszeichen sind adäquat.
1. {¬, ∧}
2. {¬, ∨}
3. {¬, →}
4. {→, ⊥} – Dabei steht ⊥ für das Falsum.
/
Bemerkung 1.2
Die beiden Verknüpfungszeichen ¬ und ↔ reichen nicht aus! Eine Formel, die nur
die Verknüpfungen Negation und Äquivalenz verwendet, hat entweder die Struktur
α ↔ β oder ¬α mit α und β als beliebig komplexe Formeln, die wiederum nur die
Verknüpfungszeichen ¬ und ↔ verwenden. Da die Wahrheitswerttabelle für die Äquivalenz
Tabelle 1.5 immer eine gerade Anzahl an Einträgen w und eine gerade Anzahl an Einträgen
f hat (unabhängig davon, ob das Ergebnis nochmal negiert wird), kann man keine Formel
aufstellen, die eine ungerade Anzahl an Einträgen w hat (wie z. B. eine zu A∧B äquivalente
Formel).
Formeln, die nur Konjunktion und Disjunktion als Verknüpfungszeichen enthalten, nennt
man monotone Formeln. Man stelle sich die Wahrheitswerte w als 1 und f als 0 vor.
Also gilt f < w. Eine Belegung A kann zu einer Belegung B vergrößert werden, indem
einige Variablen, die in A den Wert f erhalten, in B den Wert w bekommen. Dann gilt
A(α) ≤ B(α) für jede monotone Formel α.
Daraus folgt, dass es keine monotone Formel gibt, mit der die Negation ausgedrückt
werden kann. Sei angenommen, dass es eine monotone Formel α mit α ≡ ¬A gibt, und sei
A eine passende Belegung mit ¬A ∈ A dazu. B ist die Belegung, die man aus A erhält,
indem man die Belegung von A verändert und die Belegungen aller anderen Variablen
unverändert lässt. Dann ist B eine Vergrößerung von A. Aber es gilt A(α) = w und
B(α) = f , also A(α) > B(α).
/
21
1. Aussagenlogik
A
f
f
w
w
B
f
w
f
w
A↔B
w
f
f
w
A↓B
A B
f f
w
f w
f
w f
f
w w
f
A ↑ B ≡ ¬(A ∧ B)
A B
A↑B
f f
w
f w
w
w f
w
w w
f
A ↓ B ≡ ¬(A ∨ B)
Tabelle 1.5.: Wahrheitswerttabelle für Äquivalenz (links), NOR (mitte)
und NAND (rechts)
Es gibt zwei (bisher noch nicht betrachtete) Verknüpfungszeichen, die jeweils einzeln
eine adäquate Menge von Verknüpfungszeichen darstellen. Dies sind das NAND (↑) und
das NOR (↓). Die Namen spiegeln bereits ihre Definition wider, denn für das NAND gilt
A ↑ B ≡ ¬(A ∧ B) und für das NOR gilt A ↓ B ≡ ¬(A ∨ B).
Lemma 1.4
{↑} und {↓} sind adäquate Mengen von Verknüpfungszeichen.
Beweis:
Es reicht aus, zu zeigen, dass das jeweilige Verknüpfungszeichen alle Verknüpfungszeichen
einer anderen adäquaten Menge „simulieren“ kann. Es gilt ¬A ≡ A ↓ A ≡ A ↑ A, und
A ∧ B ≡ ¬¬(A ∧ B)
≡ ¬(¬A ∨ ¬B)
≡ ¬((A ↓ A) ∨ (B ↓ B))
≡ (A ↓ A) ↓ (B ↓ B)
Da {¬, ∧} adäquat ist, ist {↓} ebenfalls adäquat.
Mit der Äquivalenz
A ↓ B ≡ ¬(A ∨ B)
≡ ¬¬(¬A ∧ ¬B)
≡ ¬¬((A ↑ A) ∧ (B ↑ B))
≡ ¬((A ↑ A) ↑ (B ↑ B))
≡ ((A ↑ A) ↑ (B ↑ B)) ↑ ((A ↑ A) ↑ (B ↑ B))
folgt, dass {↑} ebenfalls adäquat ist.
Wie man sieht, werden die Formeln, in denen nur NAND und NOR verwendet werden,
schnell groß.
Jede andere adäquate Menge von Verknüfungszeichen ist eine Obermenge der fünf
genannten adäquaten Mengen.
22
1.2. Formale Theorien
1.2. Formale Theorien
Mathematiker beweisen wahre mathematische Aussagen. Die „grundlegenden“ Wahrheiten
sind Formeln, von denen man weiß (oder annimmt), dass sie Tautologien sind. Ein Beweis
für eine Tautologie α ist etwas, was jeden davon überzeugt, dass α eine Tautologie ist. Zum
Beispiel kann eine Wahrheitstafel, in der in der rechten Spalte nur w stehen, als Beweis für
eine Tautologie aufgefasst werden. Man kann den Beweis einfach überprüfen, indem man
jede Zeile der Wahrheitstafel überprüft und dazu den Wahrheitswert der Fomel unter der
der Zeile entsprechenden Belegung ausrechnet. Wahrheitstafeln werden aber schnell sehr
groß und sind dann nicht mehr handhabbar. Deshalb werden Beweise auch anders geführt.
Betrachten wir dazu einen Beweis der folgenden Behauptung.
Behauptung: Sei n eine natürliche Zahl. Wenn n ungerade ist, dann ist n2 ungerade.
Beweis: Sei n eine natürliche Zahl und n sei ungerade.
Weil n ungerade ist, hat n nicht den Primfaktor 2 und n2 hat die gleichen Primfaktoren wie n. Folglich hat n2 nicht den Primfaktor 2. Also ist n2 nicht gerade.
Wir schreiben den Beweis nochmal mit Bemerkungen dazu auf, wie die einzelnen Beweisschritte zustande kommen.
Aussage
n ist eine ungerade Zahl
n ist ungerade ↔ n hat nicht Primfaktor 2
n hat nicht Primfaktor 2 → n2 hat nicht Primfaktor 2
n2 hat nicht Primfaktor 2 ↔ n2 ist ungerade
n2 ist ungerade
Erläuterung
Hypothese
Definition
wahre Aussage
Definition
Folgerung
formal
A
A↔B
B→C
C↔D
D
Zuerst wird die Hypothese A als wahr angenommen. Im nächsten Schritt wird die Definition von „ungerade Zahl“ auf die Zahl n angewendet. Im darauffolgenden Beweisschritt
zeigt man, dass die Aussage B → C wahr ist und wendet danach die Definition „ungerade
Zahl“ an, aber diesmal auf die Zahl n2 . Im abschließenden Schritt schlussfolgert man
daraus D. Insgesamt wird (A ∧ (A ↔ B) ∧ (B → C) ∧ (C ↔ D)) → D bewiesen. Dies ist
in der Tat eine Tautologie. (Das zeigt aber nur, dass die Schlussfolgerungen im Beweis
korrekt sind.)
Wir wollen diese Art des Beweisens nun auf formale Füße stellen und führen dazu den
Begriff der formalen Theorie ein. Eine formale Theorie dient dazu, über Beweise sprechen
zu können. Die Grundlage hierfür bildet eine Menge von Formeln. Eine Teilmenge davon
sind die Theoreme (=Formeln, die man beweisen kann). Ein Beweis ist eine Kette
von Schlussfolgerungen basierend auf grundlegenden Wahrheiten. Die grundlegenden
Wahrheiten werden durch Axiome festgelegt. Die Art der Schlussfolgerungen wird durch
die Ableitungsregeln festgelegt. (Es empfiehlt sich, zu folgenden Definitionen parallel die
Definition der Theorie L für die Aussagenlogik in Abschnitt 1.3 zu lesen, die gleichzeitig
auch als Beispiel für die Definitionen angesehen werden kann.)
23
1. Aussagenlogik
Definition 1.5 (formale Theorie)
Eine formale Theorie S ist ein Tripel (F, Ax, R) bestehend aus
1. einer Menge von Formeln F,
2. einer Menge von Axiomen Ax ⊆ F und
3. einer endlichen Menge entscheidbarer Relationen R ⊆ F n → F, die man als
Ableitungsregeln bezeichnet.
/
Die Formelmenge F bezeichnet man auch als Sprache der Theorie und die Formeln in
F werden auch als Formel in der Theorie bezeichnet. Theoreme einer Theorie sind die
Formeln, die man beweisen kann.
Definition 1.6 (Beweis und Theorem)
Ein Beweis in einer (formalen) Theorie S ist eine Folge α1 , α2 , . . . , αn von Formeln von
S, so dass für αi (i = 1, 2, . . . , n) gilt:
1. αi ist ein Axiom von S oder
2. αi ist aus vorhergehenden Formeln αj1 , . . . , αjm (j1 , j2 , . . . , jm < i) mit einer Ableitungsregel von S ableitbar, d. h. die Ableitungsregel R(αj1 , αj2 , . . . , αjm , αi ) gehört
zu S.
Ein Theorem von S ist eine Formel, die am Ende eines Beweises in S steht.
/
Beim Beweisen geht es auch um das korrekte Ziehen von (Schluss-)Folgerungen aus
(bewiesenen oder unbewiesenen) Hypothesen. Daher soll auch dieser Begriff formal erfasst
werden.
Definition 1.7 (Folgerung)
α ist eine Folgerung aus der Formelmenge Γ in S = (F, Ax, R), falls es einen Beweis für
α in der Theorie S 0 = (F, Ax ∪ Γ, R) gibt, in der man die Menge Γ zu den Axiomen von
S hinzugenommen hat.
Schreibweisen:
Γ |−− α
bedeutet
S
|−− α
schreibt man für
|−− α
bedeutet
S
S
α ist Folgerung von Γ in S
∅ |−− α
S
α ist Theorem von S
Falls Γ = {β1 , . . . , βk } eine endliche Menge ist, schreibt man
β1 , . . . , βk |−− α anstelle von {β1 , . . . , βk } |−− α
S
Γ, β |−− α
S
24
anstelle von
S
Γ ∪ β |−− α
S
/
1.3. Die Theorie L für die Aussagenlogik
1.3. Die Theorie L für die Aussagenlogik
Wir wollen nun die Aussagenlogik als Theorie formulieren. Die Formeln der Theorie
sind alle aussagenlogischen Formeln. Die Theoreme sollen genau die aussagenlogischen
Tautologien sein. Nun könnten wir uns die Arbeit leicht machen und eine Theorie
formulieren, in der die Axiome genau die Tautologien sind und keine Ableitungsregeln
existieren. Offensichtlich sind dann die Theoreme genau die Tautologien, da in den
Beweisen keine Ableitungsschritte gemacht werden müssen und in ihnen deshalb nur
Axiome – also Tautologien – vorkommen. In dieser Theorie ist es aber nicht einfach,
einen Beweis zu verifizieren – also von einer Folge von Formeln festzustellen, ob sie
tatsächlich ein Beweis ist. Das liegt daran, dass es nicht einfach ist, von einer Formel
festzustellen, ob sie ein Axiom ist – also eine Tautologie. Die Grundidee ist, dass das
Verifizieren von Beweisen einfach sein muss. Es soll also einfach sein, von einer Formel
festzustellen, ob sie ein Axiom ist, und es soll einfach festzustellen sein, ob eine Formel
mittels einer Ableitungsregel aus anderen Formeln entsteht. Diese „Einfachheit“ steckt
zwar nicht in der Definition einer formalen Theorie (man kann sie dort aber auch konkret
unterbringen), ist aber die Intention der Schöpfer des Begriffes.
Die Axiome sollen also möglichst einfache Formeln und im intuitiven Sinne grundlegende
Wahrheiten der Theorie sein. Ebenso sollen die Ableitungsregeln möglichst einfach
sein. Wenn man eine Theorie definiert hat, muss man anschließend nachweisen, dass die
Theoreme genau die Formeln sind, die man als wahre Formeln betrachtet. Für die folgende
Theorie für die Aussagenlogik werden wir im Anschluss zeigen, dass ihre Theoreme genau
die Tautologien sind. Wir werden auch eine andere Theorie sehen, für die wir beweisen
werden, dass die Theoreme genau die Kontradiktionen sind.
In der folgenden Theorie für die Aussagenlogik beschränken wir uns auf eine adäquate
Menge von Verknüpfungszeichen, damit die Beschreibung der Theorie nicht zu kompliziert
wird und wir wissen ja bereits, dass uns dadurch nichts an Ausdrucksstärke verloren
geht.
Definition 1.8 (Theorie für Aussagenlogik)
Die Theorie für die Aussagenlogik L besteht aus
1. allen aussagenlogischen Formeln mit den Verknüpfungszeichen ¬ und →
2. den Axiomen, die aus dem Axiomenschemata (A1), (A2) und (A3) durch Einsetzen
von beliebigen aussagenlogischen Formeln für α, β und γ entstehen:
(A1) α → (β → α)
(A2) α → (β → γ) → (α → β) → (α → γ)
(A3) (¬β → ¬α) → (¬β → α) → β
3. der Ableitungsregel modus ponens (MP)
MP(α, β, γ) gdw β = α → γ
25
1. Aussagenlogik
Andere Schreibweise:
α, α → γ
γ
/
Lemma 1.5
Alle Axiome von L sind Tautologien.
Beweis:
Wir betrachten das Axiom (A1) γ = α → (β → α). Sei A eine passende Belegung für γ,
dann gilt A(γ) = w genau dann, wenn A(α) = f oder A(β) = f oder A(α) = w. Da A(α)
für jede passende Belegung wahr oder f alsch ist, gilt auch A(γ) = w für jede passende
Belegung A und damit ist γ eine Tautologie.
Der Beweis, dass das Axiom (A2) eine Tautologie ist, lässt sich am Einfachsten mit einer
Wahrheitstabelle führen:
α
f
f
f
f
w
w
w
w
β
f
f
w
w
f
f
w
w
γ β → γ α → (β → γ) α → β α → γ (α → β) → (α → γ) . . .
f
w
w
w
w
w
w
w
w
w
w
w
w
w
f
f
w
w
w
w
w
w
w
w
w
w
w
w
f
w
w
f
f
w
w
w
w
w
f
w
w
w
f
f
f
w
f
f
w
w
w
w
w
w
w
w
Das Axiom (A3) γ = (¬β → ¬α) → ((¬β → α) → β) wird für eine passende Belegung A
genau dann wahr, wenn A(¬β → ¬α) = f oder A(¬β → α) = f oder A(β) = w. Wenn
A(β) = w gilt also auch A(γ) = w.
Wir brauchen also nur noch den Fall A(β) = f zu untersuchen. Damit A(γ) = w gilt,
muss eine der beiden Implimkationen falsch sein. Dies ist der Fall, wenn A(α) = f oder
A(¬α) = f ist, also wenn A(α) = f oder A(α) = w.
Also ist Axiom (A3) unter allen möglichen Belegungen wahr.
Die Ableitungsregel modus ponens (vollständig modus ponendo ponens) besagt: wenn α
und α → γ abgeleitet werden können, dann kann auch γ abgeleitet werden. Dies ist auch
mit der Deutung der Implikation aus Abschnitt 1.1 anschaulich: Wenn α wahr ist und
die Implikation α → γ wahr ist, dann muss auch γ wahr sein.
26
1.3. Die Theorie L für die Aussagenlogik
Beispiel 1.3 (Ein Beweis für B → B in L)
Wir konstruieren eine Folge α1 , . . . , α5 wie folgt:
α1 = B → (B → B)
(A1)
α2 = B → ((B → B) → B)
(A1)
α3 = (B → ((B → B) → B)) →
((B → (B → B)) → (B → B))
(A2)
α4 = (B → (B → B)) → (B → B)
MP auf α2 , α3
α5 = B → B
MP auf α1 , α4
Die Folge α1 , . . . , α5 ist ein Beweis von L, da α1 , α2 und α3 Axiome sind, α4 mittels
modus ponens aus α2 und α3 ensteht (es gilt M P (α2 , α3 , α4 )) und α5 mittels modus
ponens aus α1 und α4 ensteht (es gilt M P (α1 , α4 , α5 )). Also ist B → B ein Theorem
von L.
/
Der Beweis α1 , . . . , α5 ist ohne Einschränkungen bzgl. B geführt worden. Deshalb kann
man ihn statt für B auch für jede beliebige Formel β führen.
Lemma 1.6
Für jede aussagenlogische Formel β gilt: |−− β → β.
L
/
Also ist zum Beispiel (A1 → ¬(A2 → A1 )) → (A1 → ¬(A2 → A1 )) ebenfalls ein Theorem
von L.
Um zu verifizieren, dass eine Formel ein Axiom ist, muss man versuchen, sie in die
Struktur eines der drei Axiomenschemata zu zerlegen. Das ist einfach (und auf jeden
Fall viel einfacher, als festzustellen, ob die Formel eine Tautologie ist). Es ist noch viel
einfacher, festzustellen, ob Formel γ mittels modus ponens aus α und β entsteht. Dazu
muss man nur testen, ob die Formeln α → γ und β gleich sind. In diesem Sinne erfüllt
die Theorie L die Ansprüche an die Einfachheit.
Beispiel 1.4
Wir beweisen für die Theorie L die Folgerung modus barbara oder auch Syllogismus
genannt
α → β, β → γ |−− α → γ
L
/
Wir werden in Satz 1.3 sehen, dass man Folgerungen wie Ableitungsregeln benutzen
kann.
27
1. Aussagenlogik
(1)
(2)
(3)
(4)
(5)
(6)
(7)
Hypothese
Hypothese
(A1)
MP 2,3
(A2)
MP 4,5
MP 1,6
α→β
β→γ
(β → γ) → (α → (β → γ))
α → (β → γ)
(α → (β → γ)) → ((α → β) → (α → γ))
(α → β) → (α → γ)
α→γ
Man kann auch zeigen, dass man aus widersprüchlichen Hypothesen jede beliebige
Folgerung ziehen kann.
Lemma 1.7
Für alle aussagenlogischen Formeln α und β gilt ¬α, α |−− β.
L
Beweis:
(1) α
(2) ¬α
(3) α → (¬β → α)
(4) ¬β → α
(5) ¬α → (¬β → ¬α)
(6) ¬β → ¬α
(7) (¬β → ¬α) → (¬β → α) → β
(8) (¬β → α) → β
(9) β
Hypothese
Hypothese
(A1)
MP 1,3
(A1)
MP 2,5
(A3)
MP 6,7
MP 4,8
Unser Ziel ist der Beweis, dass die Theoreme von L genau die Tautologien sind. Die
eine Beweisrichtung ist relativ einfach: jedes Theorem ist eine Tautologie. Diese Eigenschaft von L heißt Korrektheit. Man kann nichts „Falsches“ – was keine Tautologie ist –
beweisen.
Satz 1.2 (Korrektheit von L)
Jedes Theorem von L ist eine aussagenlogische Tautologie.
Beweis:
Sei β ein Theorem von L. Wir führen eine Induktion über die Länge k des Beweises von
β.
IA: Sei k = 1, d. h. β ist ein Axiom. Alle Axiome sind Tautologien (Lemma 1.5), also ist
β auch eine Tautologie.
IV: Jedes Theorem von L, dessen Beweis die Länge ≤ n hat, ist eine Tautologie.
IS: β habe einen Beweis der Länge n + 1.
28
1.3. Die Theorie L für die Aussagenlogik
Fall 1: Falls β ein Axiom ist, dann ist β eine Tautologie.
Fall 2: Andernfalls geht β durch modus ponens aus α und α → β hervor, wobei
α und α → β zwei bereits hergeleitete Formeln des Beweises von β sind.
Die Beweise von α und α → β benötigen also höchstens n Schritte und
deshalb sind α und α → β nach Induktionsvorraussetzung Tautologien.
Nach Lemma 1.1 ist β dann ebenfalls eine Tautologie.
Die andere Beweisrichtung ist schwieriger: jede Tautologie ist ein Theorem. Diese Eigenschaft von L heißt Vollständigkeit. Die folgenden Sätze und Lemmata führen uns
dorthin.
1.3.1. Das Deduktionstheorem
Folgerungen aus Hypothesen sind typische Beweisschritte. Deshalb gibt es den Begriff
der Folgerung auch für formale Theorien. Letztlich ist die Folgerung nichts anderes als
eine Implikation (informell gesprochen). Die Aussage des folgenden Deduktionstheorems
(für einen einfachen Fall) lautet:
Wenn man β aus der Hypothese α folgern kann (α |−− β), dann ist α → β
beweisbar (|−− α → β).
Mit Benutzung des Deduktionstheorems kann also |−− B → B (Beispiel 1.3) sehr schnell
bewiesen werden. B |−− B geht mit einem Beweisschritt (B wird als Hypothese benutzt),
und mit dem Deduktionstheorem folgt direkt |−− B → B. Der Sinn des Deduktionstheorems ist seine Benutzung zur Vereinfachung von Beweisen.
Satz 1.3 (Deduktionstheorem)
Sind α und β zwei aussagenlogische Formeln und Γ eine Formelmenge, dann gilt:
Γ, α |−− β
L
gdw
Γ |−− α → β
L
Beweis:
„⇐“ Es gelte Γ |−− α → β. Nimmt man zusätzlich α zur Menge Γ hinzu, gilt Γ, α |−− α
L
L
und Γ, α |−− α → β. Daraus kann man mittels Anwendung von modus ponens
L
Γ, α |−− β zeigen.
L
„⇒“ Es gelte Γ, α |−− β.
L
Wir führen eine Induktion über die Länge k des Beweises von β aus Γ, α.
IA: k = 1: Der Beweis von β besteht nur aus β.
29
1. Aussagenlogik
Fall 1: β ist ein Axiom oder β ∈ Γ .
Dann gilt Γ |−− β. Mit Axiom (A1) β → (α → β) und modus ponens
L
folgt Γ |−− α → β.
L
(1)
(2)
(3)
Hypothese
(A1)
MP 1,2
β
β → (α → β)
α→β
Fall 2: β = α. Dann ist α → β = β → β.
Da |−− β → β (Beispiel 1.3), folgt Γ |−− β → β.
L
L
IV: Die Behauptung Γ, α |−− β gdw Γ |−− α → β gilt für alle Formeln β mit
L
L
Beweisen der Länge ≤ n.
IS: Der Beweis von Γ, α |−− β habe die Länge n + 1 und die Formeln
L
α1 , . . . , αi , . . . , αj , . . . , αn+1 = β
Fall 1: β ist ein Axiom oder aus Γ oder β = α geht genauso wie der Induktionsanfang.
Fall 2: Die Formel β entsteht durch modus ponens aus αi und αj (i, j ≤ n),
wobei o. B. d. A. αj = (αi → β).
Nach Induktionsvorraussetzung lässt sich daher Γ |−− α → αi und
L
Γ |−− α → (αi → β) beweisen. Aus dem Axiomenschemata (A2)
L
entsteht das Axiom (α → (αi → β)) → (α → αi ) → (α → β) mit
dem man durch Anwendung des modus ponens Γ |−− α → β zeigen
L
kann.
Um die Anwendung des Deduktionstheorems zu verdeutlichen, werden wir es im Beweis
des folgenden Lemmas verwenden.
Lemma 1.8
α → (β → γ), β |−− α → γ
L
Beweis:
Wir beweisen zuerst α → (β → γ), β, α |−− γ.
L
30
1.3. Die Theorie L für die Aussagenlogik
(1)
(2)
(3)
(4)
(5)
α → (β → γ)
β
α
β→γ
γ
Hypothese
Hypothese
Hypothese
MP 3,1
MP 2,4
Damit ist α → (β → γ), β, α |−− γ bewiesen. Mit dem Deduktionstheorem folgt dann
α → (β → γ), β |−− α → γ.
L
L
Bereits bewiesene Theoreme können in Beweisen direkt verwendet werden. (Man könnte
auch alle Beweisschritte des bewiesenen Theorems in den neu geführten Beweis kopieren.) Das Deduktionstheorem liefert zudem noch die Möglichkeit, auch zusätzliche
Ableitungsregeln zu benutzen. Zum Beispiel kann α → (β → γ), β |−− α → γ wie eine
L
zusätzliche Ableitungsregel verwendet werden. Mit dem Deduktionstheorem folgt daraus
|−− (α → (β → γ)) → (β → (α → γ)). Wenn man in einem Beweis bereits α → (β → γ)
L
und β bewiesen hat, dann kann daraus mit zweimaliger Anwendung des modus ponens
α → γ bewiesen werden. Im folgenden Beweis werden wir bereits bewiesene Theoreme
und Folgerungen benutzen.
Lemma 1.9
Für jede aussagenlogische Formel β gilt |−− ¬¬β → β.
L
Beweis:
(1) (¬β → ¬¬β) → (¬β → ¬β) → β
(2) ¬β → ¬β
(3) (¬β → ¬¬β) → β
(4) ¬¬β → (¬β → ¬¬β)
(5) ¬¬β → β
(A3)
Lemma 1.6
aus 1,2 mit Lemma 1.8
(A1)
aus 4, 3 mit Beispiel 1.4
Lemma 1.10
Für alle aussagenlogischen Formeln α und β kann man die folgenden Formeln ableiten:
|−− ¬α → (α → β) und |−− α → (¬α → β).
L
L
Beweis:
Folgt mit dem Deduktionstheorem aus Lemma 1.7.
Lemma 1.11
|−− β → ¬¬β
L
31
1. Aussagenlogik
Beweis:
(1) (¬¬¬β → ¬β) → (¬¬¬β → β) → ¬¬β
(2) ¬¬¬β → ¬β
(3) (¬¬¬β → β) → ¬¬β
(4) β → (¬¬¬β → β)
(5) β → ¬¬β
(A3)
Lemma 1.9
MP 2,1
(A1)
Beispiel 1.4 mit 4,3
Lemma 1.12
|−− (α → β) → (¬β → ¬α). Dieser Schluss heißt modus tollens.
L
Beweis:
Wir zeigen zuerst α → β |−− ¬β → ¬α.
L
(1)
(2)
(3)
(4)
(5)
(6)
(7)
α→β
¬¬α → α
¬¬α → β
β → ¬¬β
¬¬α → ¬¬β
(¬¬α → ¬¬β) → (¬β → ¬α)
¬β → ¬α
Hypothese
Lemma 1.9
Beispiel 1.4 mit 2,1
Lemma 1.11
Beispiel 1.4 mit 3,4
Punkt 3 auf Aufgabenblatt 2
MP 5,6
Das Lemma folgt durch Anwendung des Deduktionstheorems.
Lemma 1.13
|−− α → (¬β → ¬(α → β))
L
(a)
|−− (α → β) → (α → β)
(b)
α → β, α |−− β
(c)
|−− α → (α → β) → β
(d)
|−− (α → β) → β → (¬β → ¬(α → β))
(e)
|−− α → (¬β → ¬(α → β))
L
mit DT aus (a)
L
L
L
L
Lemma 1.6
mit DT aus (b)
Lemma 1.12
Beispiel 1.4 mit (c), (d)
Dies ist keine streng formale Beweisführung (daher auch die Buchstaben und keine Zahlen
als Bezeichnung der Schritte), da ein Beweis in der Theorie L eine Folge von Formeln ist,
in denen jedoch nicht das Zeichen |−− vorkommen darf. Jede Zeile mit einem |−− steht
eigentlich als Abkürzung für einen korrekten formalen Beweis. Uns soll dies hier jedoch
genügen, da damit der Beweis skizziert ist. Der formale Beweis ist einfach nur länger. /
32
1.3. Die Theorie L für die Aussagenlogik
Lemma 1.14
|−− (α → β) → ((¬α → β) → β)
L
Beweis:
Wir zeigen zuerst α → β, ¬α → β |−− β.
L
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
Hypothese
Hypothese
Lemma 1.12
MP 1,3
Lemma 1.12
MP 2,5
(A3)
MP 6,7
MP 4,8
α→β
¬α → β
(α → β) → (¬β → ¬α)
¬β → ¬α
(¬α → β) → (¬β → ¬¬α)
¬β → ¬¬α
(¬β → ¬¬α) → ((¬β → ¬α) → β)
(¬β → ¬α) → β
β
Das Lemma folgt mittels Deduktionstheorem.
1.3.2. Übersicht der gezeigten Theoreme
Noch einmal als Zusammenfassung alle gezeigten Theoreme:
α→α
Lemma 1.6
¬¬α → α
Lemma 1.9
α → ¬¬α
¬α → (α → β)
α → (¬α → β)
(¬β → ¬α) → (α → β)
(α → β) → (¬β → ¬α)
α → (¬β → ¬(α → β))
(α → β) → ((¬α → β) → β)
Lemma 1.11
Lemma 1.10
Lemma 1.10
Punkt 3 auf Blatt 2
Lemma 1.12
Lemma 1.13
Lemma 1.14
1.3.3. Vollständigkeit von L
Mit Satz 1.2 hatten wir bereits gezeigt, dass jedes Theorem von L eine Tautologie ist. In
diesem Abschnitt soll die Vollständigkeit von L gezeit werden, also dass jede Tautologie
ein Theorem von L ist.
33
1. Aussagenlogik
Im ersten Schritt (Satz 1.4) werden wir zeigen, dass aus einer Belegung A – das ist ja eine
Menge von Literalen –, unter der die Formel α den Wahrheitswert w hat, die Formel α
gefolgert werden kann – d. h. A |−− α.
L
Im zweiten Schritt (Satz 1.5) wird gezeigt, wie man die Hypothesenmengen für Tautologien
verkleinern kann. Für eine Tautologie α und jede Belegung A gilt folglich A |−− α. Wenn
L
die Belegungen A und A0 fast gleich sind und sich nur in der Belegung einer einzigen
Variablen B unterscheiden, kann man diese Variable aus den Belegungen entfernen. Falls
B ∈ A und ¬B ∈ A0 , dann gilt A \ {B} |−− α. Für eine Tautologie α kann man diesen
L
Prozess wiederholen, bis die Hypothesenmenge leer ist, und damit folgt |−− α – jede
L
Tautologie ist also eine Theorem von L.
Satz 1.4 (Belegung und Hypothesen)
Sei ϕ eine aussagenlogische Formel und A eine zu ϕ passende Belegung. Dann gilt:
1. A |−− ϕ, falls A(ϕ) = w, und
L
2. A |−− ¬ϕ, falls A(ϕ) = f .
L
Beweis: (
ϕ
Sei ϕA =
¬ϕ
A(ϕ) = w
A(ϕ) = f
Wir zeigen A |−− ϕA mittels Induktion über den Formelaufbau.
L
IA: ϕ ist eine Variable, d. h. ϕ = B.
Ist A(B) = w, d. h. B ∈ A, lässt sich mittels Deduktionstheorem A |−− B herleiten
L
und ebenso lässt sich im Fall von A(B) = f , d. h. ¬B ∈ A, A |−− ¬B herleiten.
L
Also gilt jeweils die Behauptung.
IV: Für alle Formeln ϕ gilt A |−− ϕA .
L
IS: Die Formel ϕ kann die Gestalt ¬α oder α → β mit zwei beliebigen Formeln α und β
haben. Betrachten wir also beide Fälle:
Fall 1: ϕ ist eine Negation – ϕ = ¬α
Fall 1a: Unter der Belegung A ist die Formel ϕ wahr. Dann muss α unter
der Belegung falsch sein. Nach der Induktionsvorraussetzung gilt
A |−− αA = ¬α = ϕ = ϕA .
L
Fall 1b: Die Formel ϕ ist f alsch unter der Belegung A, also ist A(α) = w.
(1)
(2)
(3)
34
α
α → ¬¬α
¬¬α
IV
Lemma 1.11
MP 1,2
1.3. Die Theorie L für die Aussagenlogik
Es gilt also A |−− ¬¬α = ϕA .
L
Fall 2: ϕ ist eine Implikation – ϕ = α → β
Fall 2a: Unter der Belegung A hat ϕ den Wahrheitswert falsch. Dann
muss gelten, dass A(α) = w und A(β) = f ist.
(1)
(2)
(3)
(4)
(5)
IV
IV
Lemma 1.13
MP 1,3
MP 2,4
α
¬β
α → (¬β → ¬(α → β))
¬β → ¬(α → β)
¬(α → β)
Also gilt A |−− ¬(α → β) = ϕA .
L
Fall 2b: ϕ ist wahr unter der Belegung A. Wir müssen also A |−− α → β
L
zeigen. Für die beiden Teilformeln gibt es folgende Möglichkeiten:
• Die Formel α ist falsch unter der Belegung A. Nach Induktionsvorraussetzung gilt dann A |−− ¬α.
L
(1)
(2)
(3)
IV
Lemma 1.10
MP 1,3
¬α
¬α → (α → β)
α→β
Also gilt A |−− α → β = ϕA .
L
• Die Teilformel β ist wahr unter der Belegung A. Nach Induktionsvorraussetzung gilt dann A |−− β.
L
(1)
(2)
(3)
IV
(A1)
MP 1,2
β
β → (α → β)
α→β
Also gilt A |−− α → β = ϕA .
L
Dieser Beweis ist so schön konstruktiv, dass man mal sehen will, wie der aus einer
Belegung konstruierte Beweis aussieht.
Beispiel 1.5
Wir betrachten die Formel ϕ = A → ¬(¬A → B) und die Belegung A = {A, ¬B}. Da
A(ϕ) = f gilt, ist ϕA = ¬(A → ¬(¬A → B)). Der Beweis für A |−− ϕA wird induktiv
aus dem Formelaufbau von ϕ konstruiert.
L
35
1. Aussagenlogik
Der induktive Aufbau der Formel, die sich aus den Teilen ergebenden beweisbaren Folgerungen und der Aufbau des Beweises sind graphisch in Abbildung 1.2 und Abbildung 1.3
dargestellt. Interessanterweise wird die Hypothese ¬B in dem Beweis nicht benutzt. Wenn
man den Wahrheitswert von ϕ unter A ausrechnet, sieht man auch, dass der A(A) = w
zu seiner Bestimmung ausreicht – die Belegung von B spielt keine Rolle.
/
A
A`A
B
A ` ¬B
¬A
A ` ¬¬A
¬A → B
A ` ¬A → B
¬(¬A → B)
A ` ¬¬(¬A → B)
A → ¬(¬A → B)
A ` ¬(A → ¬(¬A → B))
Abbildung 1.2.: Induktiver Aufbau der Formel A → ¬(¬A → B) und die für Belegung
A = {A, ¬B} beweisbaren (Teil-)Formeln (Beispiel 1.5)
.
Im nächsten Schritt geht es darum, die Hypothesenmenge zu verkleinern. Dazu betrachten
wir zuerst ein Beispiel.
Beispiel 1.6
Die Formel A → (B → B) ist eine Tautologie. Nach dem eben bewiesenen Satz 1.4 kann
man eine beliebige Belegung nehmen und daraus die Formel beweisen. Wir nehmen die
beiden Belegungen A1 = {¬A, B} und A2 = {¬A, ¬B}. Nach obigem Satz gilt
¬A, B |−− A → (B → B) und ¬A, ¬B |−− A → (B → B)
L
L
Wir wenden auf beide Folgerungen das Deduktionstheorem an und erhalten
¬A |−− B → (A → (B → B)) und ¬A |−− ¬B → (A → (B → B))
L
L
Die beiden Folgerungen haben nun die gleichen Hypothesenmengen. Unter Verwendung
von Lemma 1.14 (|−− (α → β) → ((¬α → β) → β) mit der Zuordnung α = B und
L
β = A → (B → B)) und zweimaliger Anwendung des modus ponens folgt daraus
(1.1)
¬A |−− A → (B → B)
L
Wir haben also einen Beweis der Tautologie als Folgerung aus einer Hypothesenmenge,
in der eine Variable weniger vorkommt. Entsprechend kann aus
A, B |−− A → (B → B) und A, ¬B |−− A → (B → B)
L
36
L
1.3. Die Theorie L für die Aussagenlogik
(1) A
Hypothese
(3)
(4)
(2)
¬B
Hypothese
A → ¬¬A Lemma
¬¬A
MP 1,3
(5)
(6)
¬¬A → (¬A → B)
¬A → B
Lemma
MP 4,5
(7) (¬A → B) → ¬¬(¬A → B)
(8) ¬¬(¬A → B)
(9) A → (¬¬(¬A → B) → ¬(A → ¬(¬A → B)))
(10) ¬¬(¬A → B) → ¬(A → ¬(¬A → B))
(11) ¬(A → ¬(¬A → B))
Lemma
MP 6,7
Lemma
MP 1,9
MP 5,10
Abbildung 1.3.: Fortsetzung von Abbildung 1.2: Induktiver Aufbau des Beweises gemäß
Satz 1.4
mit dem Deduktionstheorm und Lemma 1.14
(1.2)
A |−− A → (B → B)
L
bewiesen werden. Aus Gleichung 1.1 und Gleichung 1.2 kann auf die gleiche Weise
|−− A → (B → B)
L
bewiesen werden. Damit haben wir einen Beweis für die Tautologie aus ihren Beweisen
mit den verschiedenen Belegungen als Hypothesen konstruiert.
/
Dieses Verfahren verwenden wir im Beweis des folgenden Satzes für die allgemeine Verkleinerung der Hypothesenmenge für den Beweis einer Tautologie.
Satz 1.5 (Hypothesenmengen bei Tautologien verkleinern)
Sei ϕ eine Tautologie. Dann gilt für jede Belegung A der Variablen von ϕ und für jede
Teilmenge B ⊆ A:
B |−− ϕ
L
Beweis:
Sei ϕ eine Formel, und A sei eine Belegung der Variablen von ϕ. Das heißt, A enthält
kein Literal mit einer Variablen, die nicht in ϕ vorkommt. Also ist A eine endliche Menge.
Wir führen eine Induktion über die Größe |B| von B ⊆ A.
37
1. Aussagenlogik
IA: Sei |B| = |A|. Da B ⊆ A, folgt B = A. Da B eine zu ϕ passende Belegung ist und ϕ
eine Tautologie ist, gilt B(ϕ) = w. Mit Satz 1.4 folgt B |−− ϕ.
L
IV: Für jede Belegung A und für jede Belegung B ⊆ A der Größe |B| = |A| − k gilt
B |−− ϕ.
L
IS: Sei B ⊆ A eine Belegung der Größe |A| − k − 1. Dann gibt es eine Variable Al in A,
die nicht von B belegt wird. Nach Induktionsvorraussetzung gilt B ∪ {Al } |−− ϕ
L
und B ∪ {¬Al } |−− ϕ. Mit dem Deduktionstheorem folgt B |−− Al → ϕ und
L
L
B |−− ¬Al → ϕ. Wendet man zweimal den modus ponens auf die Instanz von
L
Lemma 1.14 (Al → ϕ) → ((¬Al → ϕ) → ϕ) an, folgt B |−− ϕ.
L
Satz 1.6 (Vollständigkeit der Theorie L)
Wenn ϕ eine aussagenlogische Tautologie ist, dann ist ϕ ein Theorem von L, d. h. |−− ϕ.
L
Beweis:
Satz 1.5 gilt auch für B = ∅.
Korollar 1.2
Aufgrund der Korrektheit (Satz 1.2) und Vollständigkeit (Satz 1.6) von L gilt für jede
aussagenlogische Formel ϕ :
ϕ ist eine aussagenlogische Tautologie gdw |−− ϕ.
/
L
Der Begriff „Tautologie“ ist ein semantischer Ausdruck – er basiert auf der Bedeutung
(dem Wahrheitswert bei einer bestimmten Belegung) von Formeln. Dagegen ist „|−−“ ein
L
syntaktischer Ausdruck – er basiert auf der äußeren Form von Formeln. Ob eine Formel
ein Axiom ist oder ob sie aus anderen Formeln abgeleitet werden kann, ergibt sich nur aus
ihrer Form; man muss dazu nichts über ihre Wahrheitswerte wissen. Korollar 1.2 verbindet
nun diese beiden Begriffe. Ob man eine Formel nun aus der Sicht der Wahrheitswerte
oder aufgrund ihrer Struktur bewertet, man kommt immer zu dem gleichen Ergebnis.
Die semantische und die syntaktische Betrachtungsweise der Aussagenlogik sind also
gleich.
1.4. Resolution für die Aussagenlogik
Resolution ist eine Methode zum Nachweis der Unerfüllbarkeit aussagenlogischer Formeln.
Sie basiert auf der äußeren Form von Formeln und ist daher eine „syntaktische Methode“.
Die Resolution ist beliebt für Computeranwendungen und ist z. B. die Grundlage der
38
1.4. Resolution für die Aussagenlogik
A → (B → A)
¬(A ∨ ¬B) → ¬A
Tautologien
A ∧ (B ∨ ¬A)
(A → B) ∨ (¬A ∧ B)
erfüllbare Formeln, die
keine Tautologien sind
A ∧ ¬A
¬(A → (¬A → B))
unerfüllbare Formeln
Abbildung 1.4.: Die Zerlegung aussagenlogischer Formeln bzgl. Erfüllbarkeit
Programmiersprache PROLOG (allerdings für die Prädikatenlogik). Wir werden in diesem
Abschnitt die Resolution in der Aussagenlogik vorstellen und anschließend zeigen, dass
sie auch als formale Theorie ausgedrückt werden kann.
Eine Formel ϕ heißt unerfüllbar (auch Kontradiktion), falls ϕ unter jeder passenden
Belegung A den Wert A(ϕ) = f hat. Den Nachweis einer Tautologie erhält man über
die Beziehung: α ist eine Tautologie gdw ¬α ist unerfüllbar. Zum Beispiel ist die Formel
¬(A → (B → A)) unerfüllbar.
Die Resolution arbeitet mit Formeln in konjunktiver Normalform:
1. Ein Literal ist eine Variable oder eine negierte Variable (z. B. A oder ¬A).
Für ein Literal ` bezeichnet `¯ die Negation von ` mit aufgelöster Doppelnegation.
Für ` = A ist `¯ = ¬A, und für ` = ¬A ist `¯ = A.
2. Eine Klausel ist eine Disjunktion von Literalen (z. B. A ∨ B ∨ ¬C ∨ ¬E).
3. Eine Formel in konjunktiver Normalform (KNF) ist eine Konjunktion von Klauseln
(z. B. (A ∨ B) ∧ (¬A ∨ C ∨ ¬D) ∧ (C) ∧ (¬B ∨ ¬C)).
Lemma 1.15
Zu jeder aussagenlogischen Formel gibt es eine äquivalente Formel in konjunktiver
Normalform.
Beweis:
Sei α eine aussagenlogische Formel. Nach Lemma 1.2 gibt es zu ¬α eine äquivalente Formel
β in disjunktiver Normalform. Also gilt α ≡ ¬β. Zieht man das Negationszeichen von ¬β
nach innen, dann erhält man eine äquivalente Formel in konjunktiver Normalform. 39
1. Aussagenlogik
c4
→
c0
A
c3
¬
c2
∨
∧
c1
¬
B
A
B
Abbildung 1.5.: Der Verknüpfungsbaum
für (A ∧ B) → ¬(A ∨ ¬B)
mit Knotenmarkierungen.
c0
0
0
0
0
1
1
1
1
c3
0
0
1
1
0
0
1
1
c4
0
1
0
1
0
1
0
1
c0 → c3
1
1
1
1
0
0
1
1
c4 ↔ c0 → c3
0
1
0
1
1
0
0
1
Tabelle 1.6.: Wahrheitstabelle für
c4 ↔ c0 → c3 um die
konjunktive Normalform
zu bestimmen.
Der Nachteil der Wahrheitstafelmethode zur Umformung in die konjunktive Normalform
ist, dass sie sehr zeitaufwendig ist und man mit der Wahrheitstafel auch gleich die Frage
nach der Erfüllbarkeit beantwortet bekommt.
Da es bei dem Erfüllbarkeitstest aber nur auf die Erhaltung der Erfüllbarkeit der Formel ankommt, können wir auch ein einfacheres Verfahren für die Umformung verwenden.
Satz 1.7
Für jede Formel ϕ kann in polynomieller Rechenzeit eine erfüllbarkeitsäquivalente Formel
ϕ0 in konjuktiver Normalform berechnet werden. Dabei bedeutet erfüllbarkeitsäquivalent,
dass ϕ erfüllbar ist gdw ϕ0 erfüllbar ist.
/
Wir betrachten ein Beispiel statt eines Beweises. Daraus sollte klar werden, wie der
Beweis geht.
Beispiel 1.7
Wir konstruieren eine erfüllbarkkeitsäquivalente Formel ϕ0 zu ϕ = (A ∧ B) → ¬(A ∨ ¬B).
Der induktive Aufbau von ϕ ist in dem Baum in Abbildung 1.5 dargestellt.
Für jeden Knoten – also jedes Verknüpfungszeichen – wird eine neue Variable ci eingeführt.
In die Formel ϕ0 wird für jedes ci eine Äquivalenz ci ↔ (l op r) eingefügt, wobei op das
Verknüpfungszeichen des mit ci markierten Knotens, l die Variable, mit der der linke
Sohn von ci markiert ist, und r die Variable ist, mit der der rechte Sohn von ci markiert
ist. Falls ci die Markierung eines Knotens mit dem Verknüpfungszeichen ¬ ist, dann hat
dieser Knoten nur einen rechten und keinen linken Sohn. Die Formel ϕ0 ist dann die
Konjunktion aller Äquivalenzen.
Jede dieser „kleinen“ Äquivalenzen aus 3 Variablen hat eine konjunktive Normalform
(Lemma 1.15) aus höchstens 8 Klauseln zu je 3 Literalen. Die Markierung cm der Wurzel
des Baumes wird auch zu einem Konjunkt von ϕ0 . Auf diese Weise muss man für eine
40
1.4. Resolution für die Aussagenlogik
Formel mit n Variablen, bei der beispielsweise je zwei Variablen miteinander verknüpft
sind, nicht 2n verschiedene Belegungen auswerten, sondern nur 8 · (2 · n − 1) Belegungen –
linearer statt exponentieller Aufwand.
Für die Beispielformel ergibt sich folgende erfüllbarkeitsäquivalente Formel ϕ0 :
ϕ0 = (c0 ↔ (A ∧ B)) ∧ (c1 ↔ ¬B) ∧ (c2 ↔ (A ∨ c1 ))
∧ (c3 ↔ ¬c2 ) ∧ (c4 ↔ (c0 → c3 )) ∧ c4
Für A = {A, ¬B}, z. B., gilt A(ϕ) = A0 (ϕ) = w wobei A0 = {A, ¬B, ¬c0 , c1 , c2 , ¬c3 , c4 }
ist.
Aus A(ϕ0 ) = w folgt A(ϕ) = w, z. B. A = {c4 , c3 , ¬c2 , c1 , c0 , ¬B, ¬A}.
Mit der Wahrheitswerttabelle (Tabelle 1.6) kann man z. B. für die Verknüpfung c4 ↔
c0 → c3 die konjunktive Normalform herleiten:
(c0 ∨ c3 ∨ c4 ) ∧ (c0 ∨ ¬c3 ∨ c4 ) ∧ (¬c0 ∨ c3 ∨ ¬c4 ) ∧ (¬c0 ∨ ¬c3 ∨ c4 )
Mit den konjunktiven Normalformen aller „kleinen“ Äquivalenzen kann man so eine
erfüllbarkeitsäquivalente Formel in konjunktiver Normalform aufstellen.
/
Definition 1.9
Wenn A(ϕ) = w, dann erfüllt die Belegung A die Formel ϕ. Die erfüllende Belegung A
wird auch Modell von ϕ genannt.
/
Im Zusammenhang mit Resolution schreibt man Formeln in konjunktiver Normalform
als Mengen. Jede Klausel wird als Menge ihrer Literale dargestellt, z. B. steht die Menge
{A, ¬B, C} für die Klausel (A ∨ ¬B ∨ C).
Eine Belegung A erfüllt eine Klausel C genau dann, wenn A ∩ C 6= ∅. Die leere Klausel –
also die leere Menge von Literalen – wird mit dem Symbol dargestellt. Da A ∩ = ∅
für jede Belegung A gilt, ist die leere Klausel unerfüllbar.
Eine Konjunktion von Klauseln wird Klauselmenge genannt
und als Menge von Mengen
dargestellt, z. B. (A∨¬B∨C)∧(B∨¬C)∧¬A als die Menge {A, ¬B, C}, {B, ¬C}, {¬A} .
Die Belegung A erfüllt die Klauselmenge S, wenn A ∩ C 6= ∅ für jede Klausel C ∈ S gilt.
Deshalb ist die leere Klauselmenge eine Tautologie.
Sei A` eine Belegung mit ` ∈ A` , die eine Klauselmenge S erfüllt. Dann erfüllt A` auch
die Klauselmenge, die man wie folgt aus S erhält:
1. Entferne jede Klausel aus S, die ` enthält, und
2. entferne das Literal `¯ aus den verbleibenden Klauseln.
41
1. Aussagenlogik
Die so konstruierte Klauselmenge wird mit S ` bezeichnet. Formal definiert, sieht das so
¯ : C ∈ S, ` ∈
aus: S ` = {C \ {`}
/ C}.
{A, ¬B,
C}, {¬A, C}, {¬A, B}, {¬B, C} ist S A = {C}, {B}, {¬B, C} und
Für S =
¬A
S = {¬B, C} .
Wir betrachten die erfüllende Belegung A = {¬B, C} der obigen Menge S ¬A . Jede
Klausel in S, aus der eine Klausel in S ¬A wurde – also die Klauseln {A, ¬B, C} und
{¬B, C} –, werden von A erfüllt. Alle übrigen Klauseln in S enthalten das Literal ¬A
und werden von A ∪ {¬A} erfüllt. Entsprechend wird aus der S A erfüllenden Belegung
B = {B, C} die S erfüllende Belegung B ∪ {A}.
Lemma 1.16
¯
Sei S eine Klauselmenge und ` ein Literal. Wenn S ` oder S ` erfüllbar ist, dann ist auch
S erfüllbar.
Beweis:
¯ ∪ {`} ebenfalls Modell
Sei S ` erfüllbar und A ein Modell von S ` . Dann ist B = (A \ {`})
`
`
von S , da weder ` noch `¯ in einer Klausel in S vorkommt. Für alle Klauseln C ∈ S ` gilt
also C ∩ B 6= ∅.
Für jede Klausel C 0 ∈ S trifft einer der folgenden Fälle zu:
Fall 1: C 0 enthält weder ` noch `¯ und ist somit auch in S ` . Also gilt C 0 ∩ B 6= ∅.
¯ d. h. C 0 = C ∪ {`}
¯ für ein C ∈ S ` . Es gilt dann:
Fall 2: C 0 enthält `,
¯ ∩ B) 6= ∅
¯ ∩ B = (C ∩ B) ∪({`}
(C ∪ {`})
| {z }
6=∅
Fall 3: Oder C 0 einhält ` und es gilt:
¯ ∪ {`}) = (C 0 ∩ (A \ {`}))
¯ ∪ (C 0 ∩ {`}) 6= ∅
C 0 ∩ B = C 0 ∩ ((A \ {`})
|
{z
={`}6=∅
}
¯ Modell
Ist S ` erfüllbar, dann kann entsprechend gezeigt werden, dass B 0 = (A \ {`}) ∪ {`}
von S ist.
¯
Um die Erfüllbarkeit oder Unerfüllbarkeit einer Klauselmenge nachzuweisen, wird die
vorgegebene Klauselmenge in der Resolutionsmethode solange um neue Klauseln – so
genannte Resolventen – erweitert, bis die leere Klausel erzeugt ist. Gelingt das, dann ist
die Ausgangsmenge unerfüllbar. Kann die leere Klausel dagegen nicht erzeugt werden,
dann ist die Ausgangsmenge erfüllbar.
Definition 1.10 (Resolvent)
Sei C1 eine Klausel, die das Literal ` enthält, und C2 sei eine Klausel, die das Literal `¯
¯ Resolvent der Klauseln C1
enthält. Dann heißt die Klausel R = C1 \ {`}) ∪ (C2 \ {`}
und C2 (nach dem Literal `).
/
42
1.4. Resolution für die Aussagenlogik
Zum Beispiel kann aus den Klauseln {A, B} und {¬A, B, ¬C} der Resolvent {B, ¬C}
(nach dem Literal A) gebildet werden.
Aus den Klauseln {A, B} und {¬A, ¬B} können die Resolventen {A, ¬A} (nach B) und
{B, ¬B} (nach A) gebildet werden (und keine anderen).
Lemma 1.17 (Resolutionslemma)
Sei R Resolvent der Klauseln C1 und C2 . Wenn A beide Klauseln C1 und C2 erfüllt,
dann erfüllt A auch den Resolventen R.
Beweis:
Sei R Resolvent der Klauseln C1 und C2 nach dem Literal `, und erfülle A die Klauseln
C1 und C2 , d. h. A ∩ C1 6= ∅ und A ∩ C2 =
6 ∅. Es gilt entweder ` ∈ A oder `¯ ∈ A. Ist
¯ 6= ∅; ist ` ∈
/ A, dann ist A ∩ (C1 \ {`}) 6= ∅. Es gilt also
`¯ ∈
/ A, dann ist A ∩ (C2 \ {`})
¯
A ∩ ((C1 \ {`}) ∪ (C2 \ {`})) 6= ∅ und daher erfüllt A auch den Resolventen R.
Vereinigt man also eine Klauselmenge mit den Resolventen, die sich aus ihren Klauseln
bilden lassen, erhält man eine erfüllungsäquivalente Klauselmenge. Diese Klauselmenge
kann man wiederum mit ihren Resolventen vereinigen ohne die Erfüllbarkeit zu beeinflussen, und so weiter. Lässt sich schließlich die unerfüllbare leere Klausel als Resolvent
bilden, so ist die Unerfüllbarkeit der Ausgangsmenge nachgewiesen. Dieses Verfahren wird
als Resolutionsmethode bezeichnet. Es besteht aus einer syntaktischen Formalisierung von
Beweisen für die Unerfüllbarkeit von Formeln.
Definition 1.11 (Resolutionsbeweis)
Sei C eine Klausel und S eine Klauselmenge. Ein Resolutionsbeweis aus S ist eine endliche
Folge von Klauseln C1 , C2 , . . . , Cn , wobei
1. Cn = C, und
2. Ci ∈ S oder Ci ist Resolvent von Ca und Cb , a, b < i, für alle 1 ≤ i ≤ n.
Eine Resolutionsherleitung der Klausel C aus der Klauselmenge S ist ein Resolutionsbeweis
aus S, der C enthält.
Eine Resolutionswiderlegung von S ist eine Resolutionsherleitung der leeren Klausel aus S.
/
Betrachten wir die Klauselmenge S = {{A, B}, {¬A}, {¬B}}. Dann ist die Folge {A, B},
{¬A}, {B} eine Herleitung von {B} aus S. Die Folge {A, B}, {¬A}, {B}, {¬B}, ist eine
Herleitung von aus S – die Klauselmenge S ist damit widerlegt:
C1 = {A, B}
Klausel aus S
C2 = {¬A}
Klausel aus S
C3 = {B}
C4 = {¬B}
C5 = Resolvent aus C1 und C2
Klausel aus S
Resolvent aus C3 und C4
43
1. Aussagenlogik
{A, B}
{¬A}
{B}
{A, B}
{¬B}
{¬A, B}
{A, ¬B}
{B}
{¬A, ¬B}
{¬B}
2
2
Abbildung 1.6.: Widerlegungen mittels Resolution
Die Klauselmenge S = {{A, B}, {¬A, B}, {A, ¬B}, {¬A, ¬B}} kann man mit folgender
Herleitung widerlegen:
C1 = {A, B}
Klausel aus S
C2 = {¬A, B}
Klausel aus S
C3 = {B}
Resolvent aus C1 und C2
C4 = {A, ¬B}
Klausel aus S
C5 = {¬A, ¬B}
Klausel aus S
C6 = {¬B}
Resolvent aus C4 und C5
C7 = Resolvent aus C3 und C6
Die Herleitungen mittels Resolution kann man auch als Bäume veranschaulichen. Die
Knoten des Baumes sind mit Klauseln markiert. Ist eine Klausel R ein Resolvent, so sind
die Klauseln C1 und C2 , aus denen er gebildet wurde, seine beiden Vorgänger. (C1 und
C2 heißen auch Elternklauseln von R.)
C1
C2
R
Die beiden Herleitungen aus obigem Beispiel lassen sich wie in Abbildung 1.6 veranschaulichen.
Wir wollen nun die Korrektheit und die Vollständigkeit der Resolutionsmethode nachweisen.
Satz 1.8 (Korrektheit der Resolutionsmethode)
Ist eine Klauselmenge S erfüllbar, dann ist S nicht mittels Resolution widerlegbar.
Beweis:
Sei S eine erfüllbare Klauselmenge. Dann gibt es ein Modell A von S. Sei C1 , C2 , . . . , Cn
eine Herleitung von Cn aus S. Da C1 ∈ S, ist A ein Modell von C1 . Ist Ci+1 ∈ S,
44
1.4. Resolution für die Aussagenlogik
{B, ¬D}
{B, D}
{¬B}
{B, ¬C, D}
{B}
{B, C, D}
{B, ¬D}
{¬B}
{B, D}
2
{B}
2
Abbildung 1.7.: Widerlegungen von S A und S ¬A
dann ist A ebenfalls Modell von Ci+1 . Anderenfalls ist Ci+1 Resolvent von Ca und Cb
für a, b < i + 1. Ist A ein Modell von Ca und Cb , so ist nach dem Resolutionslemma
(Lemma 1.17) A ebenfalls ein Modell von Ci+1 . Also folgt schließlich, dass A Modell
von Cn ist. Da unerfüllbar ist, ist A kein Modell von . Demnach muss Cn 6= sein.
Folglich gibt es keine Herleitung von aus S, das heißt S ist nicht widerlegbar.
Satz 1.8 zeigt tatsächlich die Korrektheit der Resolutionsmethode: Ist eine Klauselmenge S
mittels Resolution widerlegbar, dann ist S unerfüllbar.
Nun müssen wir noch die Vollständigkeit der Resolutionsmethode beweisen. Dazu überlegen wir uns zunächst anhand eines Beispiels, wie man aus den Herleitungen der
¯
leeren Klausel aus S ` und aus S ` eine Herleitung der leeren Klausel aus S konstruieren
kann.
Sei die Klauselmenge S beispielsweise gegeben als
S = {B, ¬C, D, A}, {B, C, D, A}, {B, ¬D}, {B, D, ¬A}, {¬B, A}, {¬B, ¬A} .
Um die Unerfüllbarkeit von S gemäß Lemma 1.16 zu beweisen, müssen wir Widerlegungen
der beiden Klauselmengen
S A = {B, ¬D}, {B, D}, {¬B}
S ¬A = {B, ¬C, D}, {B, C, D}, {B, ¬D}, {¬B}
angeben. Diese Widerlegungen sind in Abbildung 1.7 dargestellt. Die „Blätter“ der
beiden Bäume in Abbildung 1.7 sind Klauseln aus S A bzw. Klauseln aus S ¬A . Nun
fügen wir in alle Blätter, die nicht durch Klauseln in S beschriftet sind, das entfernte
Literal A bzw. ¬A wieder ein und führen die Resolutionsschritte wie gehabt durch (siehe
Abbildung 1.8). Wir bekommen so aus den beiden Herleitungen von aus S A und
aus S ¬A zwei Herleitungen aus S: Die eine von {A} und die andere von {¬A}. Die
leere Klausel kann nun gerade als der Resolvent von {A} und {¬A} erhalten werden.
Wir können also die beiden Herleitungen zusammenfügen und durch den zusätzlichen
Resolutionsschritt zu einer Herleitung von aus S ergänzen.
Lemma 1.18
¯ aus S herleitbar.
Ist S ` widerlegbar, dann ist oder {`}
45
1. Aussagenlogik
{B, ¬D}
{B, D, ¬A }
{¬B, ¬A }
{B, ¬C, D, A } {B, C, D, A } {B, ¬D}
{B, ¬A }
{¬B, A }
{B, D, A }
{ ¬A }
{B, A }
{A}
2
Abbildung 1.8.: Widerlegung von S
Beweis:
Sei S ` widerlegbar. Dann gibt es eine Herleitung C1 , . . . , Cm der leeren Klausel aus S ` .
Wir fügen das entfernte Literal `¯ in die Herleitung der leeren Klausel aus S ` auf folgende
Weise ein: Für 1 ≤ i ≤ m definieren wir Klauseln Ci0 durch
Ci0 =


Ci




C ∪ {`}
¯
i

C





falls Ci ∈ S
¯ ∈ S und Ci ∈
falls Ci ∪ {`}
/S
falls Ci Resolvent von Ca und Cb nach `0 ist,
wobei C Resolvent von Ca0 und Cb0 nach `0 ist.
¯ und Cm = ist, ist C 0 , . . . , C 0 eine Herleitung von oder {`}
¯
Da Ci0 ∈ Ci , Ci ∪ {`}
m
1
aus S.
Satz 1.9 (Vollständigkeit der Resolutionsmethode)
Ist eine Klauselmenge S unerfüllbar, dann ist S mittels Resolution widerlegbar.
Beweis:
Sei S unerfüllbar. Wir führen einen induktiven Beweis über die Anzahl der verschiedenen
in S enthaltenen Variablen.
IA: S enthält keine Variablen. Wenn S unerfüllbar ist, muss S = {} gelten. Also gibt
es eine Resolutionsherleitung von aus S.
IV: Für jede Klauselmenge mit n Variablen gilt: wenn S unerfüllbar ist, dann gibt es
eine Resolutionswiderlegung von S.
IS: S enthalte n + 1 Variablen und sei unerfüllbar. Dann sind nach Lemma 1.16 auch S `
¯
¯
und S ` unerfüllbar. Nach IV sind S ` und S ` widerlegbar. Nach obigem Lemma 1.18
¯ sind aus S herleitbar. Im Fall (1)
ist (1) aus S herleitbar oder (2) {`} und {`}
haben wir bereits die Widerlegbarkeit von S gezeigt. Im Fall (2) ist Resolvent
46
1.4. Resolution für die Aussagenlogik
¯ Deshalb lässt sich aus den Herleitungen von {`} und {`}
¯ ergänzt
von {`} und {`}.
¯
um einen weiteren Resolutionsschritt, mit dem aus {`} und {`} resolviert wird,
eine Herleitung von aus S konstruieren. Also ist S widerlegbar.
Aus der Korrektheit und der Vollständigkeit der Resolutionsmethode ergibt sich der
Resolutionssatz der Aussagenlogik.
Korollar 1.3 (Resolutionssatz der Aussagenlogik)
Die Klauselmenge S ist unerfüllbar genau dann, wenn S mittels Resolution widerlegbar
ist.
/
Die Unerfüllbarkeit einer Formel α kann man nun dadurch beweisen, dass man eine zu α
erfüllbarkeitsäquivalente Formel α0 in konjunktiver Normalform bildet, diese als Klauselmenge darstellt und mittels Resolution die leere Klausel herleitet.
Entsprechend kann man die Gültigkeit einer Formel α dadurch beweisen, dass man wie
eben beschrieben die Unerfüllbarkeit von ¬α nachweist. Dazu noch ein abschließendes
Beispiel.
Beispiel 1.8
Wir zeigen, dass der Ringschluss
α = (A → B) ∧ (B → C) ∧ (C → A) ∧ (A ∨ B ∨ C) → (A ∧ B ∧ C)
eine Tautologie ist.
Es genügt, dazu die Unerfüllbarkeit von ¬α nachzuweisen,
¬α ≡ (¬A ∨ B) ∧ (¬B ∨ C) ∧ (A ∨ ¬C) ∧ (A ∨ B ∨ C) ∧ (¬A ∨ ¬B ∨ ¬C)
Abbildung 1.9 veranschaulicht die Resolutionswiderlegung von ¬α. Also ist α eine Tautologie.
/
1.4.1. Algorithmus zum Test auf Unerfüllbarkeit einer Klauselmenge
Eingabe von S als Klauselmenge
T := ∅
wiederhole
S := S ∪ T
T := die Menge aller Resolventen, die aus Klauseln in S gebildet
werden können
bis T ⊆ S
falls ∈ S
dann Ausgabe „unerfüllbar“
sonst Ausgabe „erfüllbar“
47
1. Aussagenlogik
{¬B, C}
{A, B, C}
{A, ¬C}
{¬A, B} {¬A, ¬B, ¬C}
{¬A, C}
{B, C}
{C}
{A}
{¬A, ¬B}
{B}
{¬B}
2
Abbildung 1.9.: Widerlegung von ¬α aus Beispiel 1.8 mittels Resolution
Für den Algorithmus sind noch einige Optimierungen möglich:
• Wenn es zwei Klausel A, B ∈ S gibt, von denen eine Teilmenge der anderen ist
(A ⊂ B), so braucht man die größere der beiden Mengen nicht weiter betrachten
(S := S \ {B}), da (α ∨ β) ∧ α äquivalent zu α ist.
• Wenn es eine Klausel A ∈ S sowohl x als auch ¬x enthält – die Klausel entspricht
also der Formel x ∨ · · · ∨ ¬x –, dann muss man diese Klausel nicht mehr betrachten
(S := S \ {A}).
Es gibt aber auch Klauselmengen, deren Resolutionswiderlegungen exponentiell lang
sind.[7] Ein Beispiel dafür sind die Taubenschlagformeln P HPk („pigeonhole principle“ für
k Tauben): in einem Taubenschlag mit k − 1 Löchern können nicht k Tauben sitzen, wenn
in jedem Loch höchstens eine Taube sitzen darf. Die Variable Ai,j entspricht „Taube j sitzt
im Loch i“ (i = 1, 2, . . . , k − 1; j = 1, 2, . . . , k). Die Formeln bestehen aus zwei Teilen. Der
erste Teil drückt aus, dass jede Taube in (mindestens) einem Loch sitzt, und der zweite
Teil drückt aus, dass in jedem Loch höchstens eine Taube sitzt.
Taube j sitzt in einem der k − 1 Löcher:
A1,j ∨ A2,j ∨ · · · ∨ Ak−1,j = θj
Jede der k Tauben sitzt in einem der k − 1 Löcher:
θ 1 ∧ θ2 ∧ · · · ∧ θk =
k k−1
^
_
j=1 i=1
48
Ai,j = αk
1.4. Resolution für die Aussagenlogik
In Loch i sitzt höchstens eine der k Tauben:
(Ai,1 → ¬Ai,2 ) ∧ · · · ∧ (Ai,1 → ¬Ai,k−1 )∧
(Ai,2 → ¬Ai,1 ) ∧ (Ai,2 → ¬Ai,3 ) ∧ · · · ∧ (Ai,2 → ¬Ai,k−1 )∧
..
.
(Ai,k−1 → ¬Ai,1 ) ∧ · · · ∧ (Ai,k−1 → ¬Ai,k−2 )
≡ (¬Ai,1 ∨ ¬Ai,2 ) ∧ · · · ∧ (¬Ai,1 ∨ ¬Ai,k−1 )∧
..
.
(¬Ai,k−1 ∨ ¬Ai,1 ) ∧ · · · ∧ (¬Ai,k−1 ∨ ¬Ai,k−2 )∧
k ^
k
^
≡
(¬Ai,p ∨ ¬Ai,q )
= σi
p=1 q=1
q6=p
In jedem der k − 1 Löcher sitzt höchstens eine Taube:
σ1 ∧ σ2 ∧ · · · ∧ σk−1 ≡
k−1
k
^ ^
k
^
(¬Ai,p ∨ ¬Ai,q ) = βk
i=1 p=1 q=p+1
Die Taubenschlagformel P HPk lautet
P HPk = αk ∧ βk
Der Beweis, dass die Resolutionswiderlegung mindestens 2k−1 Schritte benötigt, erfolgt
induktiv über die Anzahl k der Tauben:
IA: Es gibt nur zwei Tauben k = 2. Also ist α2 = A1,1∧ A1,2 und β2 = ¬A1,1 ∨ ¬A1,2 .
Als Klauselmenge geschrieben lautet P HP2 also {A1,1 }, {A1,2 }, {¬A1,1 , ¬A1,2 }}.
Mit zwei Resolutionsschritten kann man die leere Klausel herleiten, die Formel
also wiederlegen.
IS: Nehmen wir an, die leere Klausel ist der Resolvent der Klauseln C1 und C2 . Es sei
o. B. d. A. C1 = {Ar,s } und C2 = {¬Ar,s }.
Setzt dann Ar,s = w, sprich man legt fest, dass die Taube
ergibt sich eine Taubschlagformel P HPk−1 für k − 1 Tauben
Für diese Formel erhält man einen Beweis, indem man aus
Resolutionsherleitung von C1 bzw. C2 alle Klauseln, die Ar,s
und aus den übrigen Klauseln ¬Ar,s streicht.
s im Loch r sitzt,
mit k − 2 Löchern.
allen Klauseln der
enthalten, entfernt
Nach Induktionsvorraussetzung benötigt der Beweis zur Herleitung der leeren
Klausel aus P HPk−1 mindestens 2k−2 Schritte. Für die Herleitung der leeren
Klausel aus P HPk benötigt man also 2k−2 + 2k−2 + 1 ≥ 2k−1 viele Schritte.
49
1. Aussagenlogik
1.4.2. Formulierung der Resolution als Theorie
Zur Erinnerung: Eine Theorie (Definition 1.5) besteht aus Formeln, Axiomenschemata
und Ableitungsregeln. Ein Beweis einer Formel besteht aus einer Folge von Formeln,
die Axiome sind oder mittels Ableitungsregeln aus bereits abgeleiteten Formeln abgeleitet werden. In einem Beweis der Unerfüllbarkeit einer Klauselmenge S (=Formel)
muss also S am Ende des Beweises stehen. (Das ist genau andersherum als bei der
Resolution.)
Formeln: alle Klauselmengen
Axiomenschema: {}
Ableitungsregeln: die Theorie verwendet die Regeln
(Res) Für die Klauselmenge S und die Klausel R ∈ S, die Resolvent von C1 und
C2 ist:
S
(S \ {R}) ∪ {C1 , C2 }
(Einf) Für die Klauselmenge S und eine beliebige Klausel C:
S
S ∪ {C}
Alle Beweise beginnen also mit der Klauselmenge, die nur aus der leeren Klausel besteht
(einziges Axiom). Diese Klauselmenge ist unerfüllbar. Durch die Ableitungsregel (Res)
wird ein Resolutionsschritt „rückwärts“ ausgeführt, und durch (Einf) wird eine beliebige
zusätzliche Klausel in die Klauselmenge eingefügt.
Beispiel 1.9
Beweis der Unerfüllbarkeit von S = {¬A, B}, {¬A, ¬B}, {A}, {A, ¬C}
(1)
(2)
(3)
(4)
Axiom
(Res) auf (1)
(Res) auf (2)
(Einf) auf (3)
{}
{{A}, {¬A}}
{{A}, {¬A, B}, {¬A, ¬B}}
{{A}, {¬A, B}, {¬A, ¬B}, {A, ¬C}}
Beispiel 1.10
Beweis der Unerfüllbarkeit von S aus Abbildung 1.9,
S = {¬B, C}, {A, B, C}, {A, ¬C}, {¬A, B}, {¬A, ¬B, ¬C}
50
1.4. Resolution für die Aussagenlogik
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
{}
{{B}, {¬B}}
{{B}, {A}, {¬A, ¬B}}
{{¬A, B}, {A}, {¬A, ¬B}}
{{¬A, B}, {C}, {A, ¬C}, {¬A, ¬B}}
{{¬A, B}, {C}, {A, ¬C}, {¬A, ¬B, ¬C}}
{¬A, B}, {B, C}, {¬B, C}, {A, ¬C},
{¬A, ¬B, ¬C}
{¬A, B}, {¬A, C}, {A, B, C}, {¬B, C}
{A, ¬C}, {¬A, ¬B, ¬C}
{¬A, B}, {A, B, C}, {¬B, C}, {A, ¬C},
{¬A, ¬B, ¬C}
Axiom
(Res) für B auf in 1
(Res) für ¬A auf {¬B} in 2
(Res) für ¬A auf {B} in 3
(Res) für ¬C auf {A} in 4
(Res) f. ¬C auf {¬A, ¬B} in 5
(Res) für B auf {C} in 6
(Res) für A auf {B, C} in 7
(Res) für B auf {¬A, C} in 8
Man kann (leicht) zeigen, dass die Ableitungsregeln die Unerfüllbarkeit der Klauselmenge
nicht ändern und dass jede unerfüllbare Klauselmenge einen Beweis besitzt (entsprechend Satz 1.8 und Satz 1.9). Die Resolution als Theorie ist also auch vollständig und
korrekt.
51
2. Theorien 1. Ordnung – Prädikatenlogik
Der Unterschied von Theorien 1. Ordnung zur Aussagenlogik ist die Hinzunahme des
Allquantors und des Existenzquantors für Variablen, die es ermöglichen, Aussagen über
eine Menge von Formeln zu machen. Es gibt auch noch Theorien 2. Ordnung, die den
Anwendungsbereich der Quantoren auf Prädikate ausdehnen. Es sind dann nicht nur
Aussagen für alle Individuen, sondern auch für alle Eigenschaften von Individuen möglich.
Wir werden Theorien 2. Ordnung nicht behandeln, sie sollten nur der Vollständigkeit
halber erwähnt werden. Schauen wir uns nun zwei Beispiele an:
Beispiel 2.1
Jeder der mich mag, mag auch meine Frau. Peter mag meine Frau nicht. Daraus folgt:
Peter mag auch mich nicht.
Folgende sprachliche Mittel werden in der Aussage verwendet:
• die Eigenschaft M (x, y) mit der Bedeutung „x mag y“
• das Individuum a mit der Bedeutung „ich“, das Individuum b mit der Bedeutung
„meine Frau“ und das Individuum c mit der Bedeutung „Peter“
• ein Quantor über Variablen: „∀x P (x)“ heißt „für alle x gilt Eigenschaft P “ (im
Bsp.: ∀x (M (x, a) → M (x, b)))
Formalisiert lautet die Aussage also
∀x M (x, a) → M (x, b) ∧ ¬M (c, b) → M (c, a)
/
Beispiel 2.2
Der Nachfolger jeder geraden ganzen Zahl ist ungerade. 2 ist eine gerade ganze Zahl.
Also ist der Nachfolger von 2 ungerade.
In der Aussagen werden die folgenden sprachlichen Mittel verwendet:
• die Eigenschaften G und E, wobei G(x) für „x ist eine ganze Zahl“ und E(x) für
„x ist gerade“ steht
• die Funktion f , die den Nachfolger einer ganzen Zahl bezeichnet
• das Konstantensymbol b, wobei b für die ganze Zahl 2 steht
Damit können wir nun die Aussage formal aufschreiben:
∀x (G(x) ∧ E(x)) → ¬E(f (x)) ∧ G(b) ∧ E(b) → ¬E f (b)
52
/
Definition 2.1 (Quantoren)
∀ bezeichnet man als Allquantor und ∃ als Existenzquantor . ∀x P (x) bedeutet „für alle x
gilt P (x)“ und ∃x P (x) bedeutet „es gibt (mindestens) ein x für das P (x) gilt“.
/
Mit diesen zwei Quantoren ist es uns jetzt möglich, Aussagen wie die folgenden zu
machen:
• Alle Vierbeiner können laufen: ∀x V (x) → L(x)
• Es gibt Tiere, die Vierbeiner sind: ∃x T (x) ∧ V (x)
• Also gibt es Tiere, die laufen können: ∃x T (x) ∧ L(x)
In einer Theorie 1. Ordnung gibt es folgende Elemente:
1. Zeichen:
a) logische Verknüpfungszeichen wie ¬, →, ∧, ∨, ↔,
b) Variablensymbole wie x1 , x2 , x3 , . . .,
c) Konstantensymbole a1 , a2 , a2 , . . .,
d) Prädikatensymbole Ank , wobei n ∈ N+ die Stelligkeit und k ∈ N+ ein Index zur
Unterscheidung verschiedender Prädikatensymbole ist, z. B. A11 , A21 , A31 , A52 ,
e) Funktionensymbole fkn , n ∈ N+ ist die Stelligkeit der Funktion und k ∈ N+ ein
Index zur Unterscheidung verschiedender Funktionen ist und
f) Quantoren ∀ und ∃
2. Terme:
a) Jedes Variablen- oder Konstantensymbol ist ein Term
b) Wenn t1 , . . . , tn Terme sind, dann ist auch fkn (t1 , . . . , tn ) ein Term
Beispiel 2.3
x15 ist ein Variablensymbol, a3 ist ein Konstantensymbol, f32 (x15 , a3 ) und f31 (f32 (x15 , a3 ))
sind Terme
/
Definition 2.2 (Atomare Formeln)
Für Terme t1 , t2 , . . . , tn ist Ank (t1 , . . . , tn ) eine atomare Formel.
/
Definition 2.3 (Formeln)
1. Jede atomare Formel ist eine Formel.
2. Wenn α und β Formeln sind, dann sind auch (¬α), (α → β) und (∀xi α) Formeln.
[∧, ∨ ↔ können wie bisher als abkürzende Schreibweise gebraucht werden. (∃xi α)
ist Abkürzung für ¬(∀xi (¬α))]
Unnötige Klammern können zur Vereinfachung der Schreibweise weggelassen werden.
/
53
2. Theorien 1. Ordnung – Prädikatenlogik
Beispiele für Formeln:
• ∀x2 A11 (x2 ) → A20 (x2 , f11 (x2 ))
• A11 (x2 ) → (∀x3 A21 (x1 , x2 ))
• (∃x1 A21 (x1 , x2 )) → (∀x1 (¬A22 (x1 , x2 )))
In (∀xi α) ist α der Gültigkeitsbereich des Quantors „∀xi “. Eine Variable y, die im
Gültigkeitsbereich eines Quantors ∀y liegt oder die Teil des Quantors sind, heißt gebunden.
Falls eine Variable nicht gebunden ist, dann heißt sie frei.
Beispiel 2.4
In der Formel A21 (x1 , x2 ) sind x1 und x2 freie Variablen. In der Formel A21 (x1 , x2 ) →
(∀x2 A11 (x2 )) ist die Variable x1 frei und x2 ist im ersten Teil frei, im zweiten Teil aber
durch den Allquantor gebunden.
In (∀x2 A21 (x1 , x2 ) → (∀x2 A11 (x2 ))) ist x1 frei und x2 gebunden. Achtung: jedes Vorkommen von x2 ist durch einen anderen Quantor gebunden!
/
Eine Variable ist frei in α, falls alle Vorkommen der Variablen in α frei sind und
analog ist eine Variable gebunden, falls alle Vorkommen der Variablen in α gebunden
sind.
Beispiel 2.5
In der Formel (∀x1 (∀x2 A21 (x1 , x2 )) → A31 (x1 , x2 , x3 )) sind alle Vorkommen von x1
gebunden und alle Vorkommen von x3 frei. Also ist x1 in dieser Formel gebunden, und
x3 ist frei. Das Variablensymbol x2 kommt einmal gebunden und einmal frei vor. Also ist
x2 in dieser Formel weder frei noch gebunden.
/
Eine Formel heißt geschlossen, falls alle Variablen in der Formel gebunden sind – d. h. es
gibt kein freies Vorkommen einer Variablen.
Der Abschluss einer Formel α entsteht aus α, indem für jede frei in α vorkommende
Variable ein Allquantor an den Anfang der Formel geschrieben wird.
Beispiel 2.6
In der Formel ∀x1 (∀x2 A21 (x1 , x2 )) → A31 (x1 , x2 , x3 ) kommen x2 und x3 frei vor. Also
ist (∀x2 (∀x3 (∀x1 (∀x2 A21 (x1 , x2 )) → A31 (x1 , x2 , x3 )))) der Abschluss der Formel.
/
α[x/t] entsteht aus α durch Ersetzen aller freien Vorkommen der Variablen x durch den
Term t.
Beispiel 2.7
• A21 (x1 , x2 )[x1 /f11 (x2 )] = A21 (f11 (x2 ), x2 )
• (A21 (x1 , x2 ) → (∀x2 A21 (x1 , x2 )))[x1 /f11 (x2 )] = A21 (x1 , f11 (x2 )) → (∀x2 A21 (x1 , x2 )) /
54
2.1. Interpretation von Formeln
Der Term t heißt frei für xi in α, falls kein freies Vorkommen von xi in α im Gültigkeitsbereich eines Quantors für eine Variable in t liegt.
Beispiel 2.8
x2 ist frei für x1 in A11 (x1 ), nicht jedoch in ∀x2 A11 (x1 ).
/
2.1. Interpretation von Formeln
In der Aussagenlogik haben wir bereits mit den Begriffen Semantik und Syntax gearbeitet
und damit aus zwei verschiedenen Richtungen einen Blick auf die Formeln der Aussagenlogik geworfen. Es kam dabei zu unterschiedlichen Begriffen: Aus Sicht der Syntax
konnte eine Formel beweisbar oder nicht beweisbar sein und aus der Sicht der Semantik
konnte eine Formel wahr oder falsch sein. Um über die Semantik (die Bedeutung) einer
Formel sprechen zu können, muss man den abstrakten Symbolen eine Bedeutung geben.
Diese Bedeutungsgebung ist die Interpretation.
Beispiel 2.9
Betrachten wir folgende Formeln:
1. A21 (x1 , x2 )
2. ∀x1 A21 (x1 , x2 )
3. ∃x1 ∀x2 A21 (x1 , x2 )
Für die Grundmenge N und A21 mit der Bedeutung ≤ (A21 = {(n, m) ∈ N × N : n ≤ m})
bedeuten die Aussagen:
1. x1 ≤ x2
2. Für alle x1 ∈ N gilt x1 ≤ x2 , d. h. x1 = 0
3. Es gibt ein x1 ∈ N, so dass für alle x2 ∈ N gilt: x1 ≤ x2 , d. h. N besitzt eine untere
Schranke
/
Definition 2.4 (Interpretation)
Eine Interpretation M besteht aus
• einer nicht leeren Grundmenge D,
• einer Abbildung von der Menge alle Funktionssymbole in die Menge aller Funktionen
auf D, die jedem Funktionssymbol fkn eine n-stellige Funktion (fkn )M : Dn → D
zuordnet,
• einer Abbildung von der Menge aller Konstantensymbole in die Menge D, die jedem
Konstantensymbol ak ein Element (ak )M ∈ D zuordnet und
• einer Abbildung von der Menge aller Prädikatensymbole in die Potenzmenge von
S
i
n
n M ⊆ D n zuordnet.
/
i∈N D , die jedem Prädikatensymbol Ak eine Menge (Ak )
55
2. Theorien 1. Ordnung – Prädikatenlogik
help: Sind folgenden zwei Absätze korrekt?
Um die Definition etwas verständlicher zu machen, soll sie an der Aussagenlogik etwas
erläutert werden: Für die Aussagenlogik ist der Grundbereich D = {wahr, falsch} –
wobei man achtsam seien muss, denn wahr und falsch werden in mehrfacher Bedeutung
(sowohl auf syntaktischer als auch auf semantischer Ebene) verwendet – und die beiden
Konstantensymbole w und f werden mit wahr bzw. falsch interpretiert. Funktions- und
Prädikatensymbole gibt es in der Aussagenlogik nicht.
Analog zur Belegung in der Aussagenlogik ist auch der Begriff der Variablenbelegung
zu verstehen. Es sei daher zum besseren Verständnis auf die Definition im Abschnitt 1.1
verwiesen.
Definition 2.5 (Variablenbelegung)
Eine Abbildung von der Menge der Variablensymbole in die Grundmenge D einer
Interpretation M nennt man Variablenbelegung. ΣM bezeichne die Menge alle Variablenbelegungen wobei die xj Variablensymbole sind:
ΣM = s s : {x1 , x2 , x3 , . . . } → D
Für eine Variablenbelegung s und eine Interpretation M ist s∗ (t) für alle Terme t definiert
als:
1. Wenn t = xj eine Variable ist, dann ist s∗ (t) = s(xj ).
2. Wenn t = aj eine Konstante ist, dann ist s∗ (t) = (aj )M .
3. Wenn t = fkn (t1 , . . . , tn ) ein zusammengesetzer
Term mit den Termen t1 , . . . , tn ist,
dann ist s∗ (t) = (fkn )M s∗ (t1 ), . . . , s∗ (tn ) .
Eine Variablenbelegung s erfüllt die Formel α, falls einer der folgenden Fälle gilt:
1. α = Ank (t1 , . . . , tn ) ist eine atomare Formel und s∗ (t1 ), . . . , s∗ (tn ) ∈ (Ank )M
2. α = (¬β) ist die Negation einer Formel β und s erfüllt nicht β
3. α = (β → γ) ist eine Implikation mit den Formeln β und γ und s erfüllt β nicht
oder s erfüllt γ
4. α = (∀xi β) und jedes s0 mit s0 (xj ) = s(xj ) für alle j 6= i erfüllt β
Eine Variablenbelegung wirkt nur auf die freien Variablen. Gebundene Variablen werden
nicht durch die Variablenbelegung bestimmt.
/
Beispiel 2.10
Wir betrachten die Formel α0 = ∃x2 A21 (f12 (x1 , x2 ), x3 ).
Die Interpretation M0 wird angegeben durch eine nicht leere Grundmenge D und
die Interpretation der in den Formeln vorkommenden Konstanten-, Funktions- und
Prädikatensymbole.
56
2.1. Interpretation von Formeln
• Als Grundmenge für M0 wählen wir N.
• Die Interpretation des Funktionssymbols f12 sei (f12 )M0 = ((a, b) 7→ a · b).
• Die Interpretation des Prädikatensymbols A21 sei (A21 )M0 = {(a, b) ∈ N2 : a = b}.
• Da keine Konstanten vorkommen, benötigen wir dafür keine Interpretation.
Damit hat die Formel ∃x2 A21 (f12 (x1 , x2 ), x3 ) bei der Interpretation M0 die Bedeutung
∃z x · z = y.
Als nächstes legen wir eine Variablenbelegung s1 fest. Sie weist jedem (erdenktlichen)
Variablensymbol xi einen Wert aus der Grundmenge zu.
s1 (xi )
x1
x2
x3
x4
x5
...
2
3
8
9
10
...
In der Interpretation M0 mit Variablenbelegung s1 hat ∃x2 A21 (f12 (x1 , x2 ), x3 ) die Bedeutung ∃z 2 · z = 8.
Nun wollen wir feststellen, ob ∃x2 A21 (f12 (x1 , x2 ), x3 ) von s1 erfüllt wird. Dazu wenden
wir (wiederholt) obige Definitionen an.
s1 erfüllt (∃x2 A21 (f12 (x1 , x2 ), x3 ))
⇔ s1 erfüllt ¬(∀x2 ¬A21 (f12 (x1 , x2 ), x3 ))
⇔ s1 erfüllt nicht (∀x2 ¬A21 (f12 (x1 , x2 ), x3 ))
⇔ nicht jede Variablenbelegung s mit s(xi ) = s1 (xi )
¬A21 (f12 (x1 , x2 ), x3 )
⇔ nicht jede Variablenbelegung s mit s(xi ) = s1 (xi ) für
A21 (f12 (x1 , x2 ), x3 )
⇔ nicht jede Variablenbelegung s mit s(xi ) = s1 (xi ) für
(s∗ (f12 (x1 , x2 )), s∗ (x3 )) ∈ (A21 )M0
⇔ nicht jede Variablenbelegung s mit s(xi ) = s1 (xi ) für
((f12 )M0 (s(x1 ), s(x2 )), s(x3 )) ∈ (A21 )M0
für alle i 6= 2 erfüllt
alle i =
6 2 erfüllt nicht
alle i =
6 2 erfüllt nicht
alle i =
6 2 erfüllt nicht
Die letzte Aussage dieser Folge von äquivalenten Aussagen nennen wir ?. Wir wollen zeigen,
dass ? wahr ist. Also müssen wir eine Variablenbelegung s finden, so dass die Aussage
(f12 )M0 (s(x1 ), s(x2 )) = s(x3 ) gilt (d. h. s(x1 ) · s(x2 ) = s(x3 )), wobei s(x1 ) = s1 (x1 ) = 2
und s(x3 ) = s1 (x3 ) = 8. Wir wählen s so, dass s(x2 ) = 4. Also
s(xi )
x1
x2
x3
x4
x5
...
2
4
8
9
10
...
Für die Variablenbelegung s gilt: 2 · 4 = s(x
) · s(x2 ) = s(x3 ) = 8, also erfüllt sie
1
2
M
0
die Bedingungen (f1 ) (s(x1 ), s(x2 )), s(x3 ) ∈ (A21 )M0 und „s(xi ) = s1 (xi ) für alle i 6= 2“. Folglich ist die Aussage „jede Variablenbelegung s mit . . . erfüllt nicht
57
2. Theorien 1. Ordnung – Prädikatenlogik
((f12 )M0 (s(x1 ), s(x2 )), s(x3 )) ∈ (A21 )M0 “ falsch. Deshalb ist die Negation der Aussage
wahr, und diese Negation ist genau die Aussage ?. Da ? äquivalent zur Aussage „s1 erfüllt
α0 “ ist, gilt: s1 erfüllt die Formel (∃x2 A21 (f12 (x1 , x2 ), x3 )).
Die Variablenbelegung s2 mit s2 (x1 ) = 0 und s2 (x3 ) = 4 gilt: s2 erfüllt α0 (unter M0 )
nicht. In der Interpretation M0 mit Variablenbelegung s2 hat ∃x2 A21 (f12 (x1 , x2 ), x3 ) die
Bedeutung ∃z 0 · z = 4.
/
Definition 2.6 (Modell)
• Eine Formel α ist wahr unter der Interpretation M, falls α von jeder Variablenbelegung s ∈ ΣM erfüllt wird.
Schreibweise für „α ist wahr unter M“: |== α.
M
• α ist falsch unter M, falls α von keinem s ∈ ΣM erfüllt wird.
• M heißt Modell einer Formel α, falls α unter M wahr ist.
M heißt Modell für Formelmenge Γ , falls M Modell jeder Formel in Γ ist.
/
Beispiel 2.11
Die Formel α0 aus dem letzten Beispiel ist unter der angegebenen Interpretation M0
weder wahr noch falsch, da es eine Variablenbelegung gibt, die α0 erfüllt, und eine andere
Variablenbelegung, die α0 nicht erfüllt.
Unter einer Interpretation M1 mit Grundmenge N und (A21 )M1 = N2 ist die Formel α0
wahr. Also ist M1 ein Modell für α0 .
Unter einer Interpretation M2 mit Grundmenge N und (A21 )M2 = ∅ ist die Formel α0
falsch. Also ist M2 kein Modell für α0 .
Unter einer Interpretation M3 mit Grundmenge N, (A21 )M3 = {(a, b) ∈ N2 : b = 0 ∨
b teilt a} und (f12 )M3 = ((a, b) 7→ a + b) ist α0 wahr.
/
Wichtige Eigenschaften von Formeln in Bezug auf die Begriffe wahr und falsch (ohne
Beweise):
(E1) α ist wahr unter M gdw ¬α ist falsch unter M.
(E2) Es gilt höchstens eins von |== α und |== ¬α.
M
M
(E3) Aus |== α und |== α → β folgt |== β.
M
M
M
(E4) α → β ist falsch unter M gdw
α ist wahr unter M und β ist falsch unter M.
58
2.1. Interpretation von Formeln
(E5) s
s
s
s
erfüllt α ∧ β gdw s erfüllt α und s erfüllt β.
erfüllt α ∨ β gdw s erfüllt α oder s erfüllt β.
erfüllt α ↔ β gdw s erfüllt α → β und s erfüllt β → α.
erfüllt (∃xj β) gdw
es gibt s0 ∈ ΣM mit s0 (xi ) = s(xi ) für alle i 6= j und s0 erfüllt β.
(E6) |== α gdw |== (∀xi α).
M
M
(Für den Abschluss β von α gilt also: |== β gdw |== α.)
M
M
(E7) Eine Instanz einer Tautologie erhält man, indem man die Aussagevariablen einer
Tautologie durch Formeln ersetzt (gleiche Aussagevariablen durch gleiche Formeln).
Es gilt: Jede Instanz einer Tautologie ist wahr unter jeder Interpretation.
(E8) Sei V eine Menge von Variablen, die alle freien Variablen von α enthält. s und s0
seien Variablenbelegungen in ΣM .
Wenn s(xi ) = s0 (xi ) für alle xi ∈ V , dann gilt:
s erfüllt α gdw s0 erfüllt α.
(E9) Für jede geschlossene Formel α und jede Interpretation M gilt:
entweder |== α oder |== ¬α
M
M
(E10) Sei t frei für xi in α. Dann gilt für alle M:
|== (∀xi α) → α[xi /t].
M
(E11) Wenn xi in α nicht frei vorkommt, dann gilt für alle M
|== (∀xi α → β) → (α → (∀xi β)).
M
Definition 2.7 (erfüllbare und gültige Formeln)
• Eine Formel α heißt gültig, falls |== α für jede Interpretation M gilt.
M
Schreibweise: |== α.
• α heißt erfüllbar , falls es eine Interpretation M und eine Variablenbelegung s ∈ ΣM
gibt, die α erfüllt.
/
Offensichtlich gilt:
• α ist gültig gdw ¬α ist nicht erfüllbar.
• α ist erfüllbar gdw ¬α ist nicht gültig.
59
2. Theorien 1. Ordnung – Prädikatenlogik
2.2. Theorien 1. Ordnung
Definition 2.8 (Theorie 1. Ordnung)
Eine Theorie 1. Ordnung K besteht aus
1. Formeln
Die Definition der Formeln ist gemäß Definition 2.3. Theorien können sich durch die
zugelassenen Variablen-, Konstanten-, Funktions- und Prädikatensymbole unterscheiden.
2. logischen Axiomen
Sie entstehen aus den Axiomenschemata (A1)–(A5) durch Einsetzen von beliebigen
Formeln für α, β und γ.
(A1) α → (β → α)
(A2) (α → (β → γ)) → ((α → β) → (α → γ))
(A3) (¬β → ¬α) → ((¬β → α) → β)
(A4) (∀xi α) → α[xi /t], wobei t ein Term ist, der frei für xi in α ist.
(A5) (∀xi α → β) → (α → (∀xi β)), falls xi in α nicht frei vorkommt.
Die Axiomenschemata sind also die drei bereits aus der Aussagenlogik bekannten und
zwei weitere zur Beschreibung von Eigenschaften des Allquantors.
3. zusätzlichen Axiomen
Die Menge der zusätzlichen Axiome kann leer sein. Eine Theorie 1. Ordnung ohne
zusätzliche Axiome wird Prädikatenkalkül 1. Ordnung genannt. In Kapitel 3 werden wir
eine Theorie betrachten, die zusätzliche Axiome zur Beschreibung von Eigenschaften
der natürlichen Zahlen besitzt.
4. Ableitungsregeln
α, α → γ
γ
α
(Gen) Generalisierung:
für ein beliebiges Variablensymbol xi
(∀xi α)
(MP) modus ponens:
/
Jede Theorie 1. Ordnung ist eine formale Theorie. Damit sind auch die Begriffe Beweis
und Theorem definiert. Ein Modell einer Theorie K 1. Ordnung ist ein Modell für die
Menge aller (logischen und zusätzlichen) Axiome von K. Aus (E3) und (E6) folgt, dass
jedes Modell von K auch ein Modell aller Theoreme von K ist.
Beispiel 2.12
Ein Beweis für α, (∀x1 α) → β |−− (∀x1 β).
60
2.3. Eigenschaften von Theorien 1. Ordnung
(1)
(2)
(3)
(4)
(5)
α
(∀x1 α)
(∀x1 α) → β
β
(∀x1 β)
Hypothese
Gen 1
Hypothese
MP 2,3
Gen 4
An diesem Beispiel sehen wir, dass sich das Deduktionstheorem für formale Theorien
nicht direkt auf Theorien 1. Ordnung übertragen lässt. Im obigen Beispiel wird die
Ableitungsregel (Gen) auf Formeln angewendet, die aus der Formel α abgeleitet wurden.
Deshalb gilt nicht: (∀x1 α) → β |−− α → (∀x1 β).
2.3. Eigenschaften von Theorien 1. Ordnung
Wir können jetzt bereits zeigen, dass ohne zusätzliche Axiome ausschließlich gültige
Formeln bewiesen werden können.
Satz 2.1 (Korrektheit des Prädikatenkalküls 1. Ordnung)
Für jeden Prädikatenkalkül 1. Ordnung K und jede Formel α gilt:
Wenn |−− α, dann ist α gültig.
K
Beweis:
Alle Axiome sind gültig – (E7) für (A1)–(A3), (E10) für (A4) und (E11) für (A5). Der
modus ponens und die Generalisierung erhalten die Gültigkeit – (E3) und (E6)).
Das alte Deduktionstheorem gilt nicht für Theorien 1. Ordnung. Betrachte dazu folgenden
Beweis.
(1)
(2)
A11 (x1 )
(∀x1 A11 (x1 ))
Hypothese
Gen 1
Mit dem alten Deduktionstheorem folgt: |−− A11 (x1 ) → (∀x1 A11 (x1 )). Diese Formel ist
aber nicht gültig! (Man nehme eine Interpretation M mit der Grundmenge N und der
Interpretation (A11 )M = {a ∈ N : a ist ungerade} für das Prädikat.) Ihre Beweisbarkeit
widerspräche Satz 2.1. Das Problem liegt hier in der Anwendung der Generalisierung auf
eine Variable, die in der Hypothese frei vorkommt.
Um ein Deduktionstheorem für Theorien 1. Ordnung zu formulieren, brauchen wir eine
Eigenschaft von Beweisen. Sei α ∈ Γ und β1 , . . . , βk sei eine Herleitung aus Γ . βi hängt
von α ab, falls
• βi = α oder
61
2. Theorien 1. Ordnung – Prädikatenlogik
• βi entsteht durch Anwendung einer Ableitungsregel auf (mindestens) eine Formel,
die von α abhängt.
Lemma 2.1
Sei α ∈
/ Γ und Γ, α |−− β. Wenn β aus Γ ∪ {α} hergeleitet werden kann, so dass β nicht
von α abhängt, dann gilt Γ |−− β.
/
Satz 2.2 (Deduktionstheorem für Theorien 1. Ordnung)
Sei α ∈
/ Γ und Γ, α |−− β, wobei β1 , . . . , βk eine Herleitung von β aus Γ ∪ {α} mit
folgender Eigenschaft:
wenn βi = (∀xj βq ) durch Anwendung der Generalisierungsregel auf βq
entsteht, dann gilt (1) βq hängt nicht von α ab oder (2) xj kommt nicht frei
in α vor.
Dann gilt Γ |−− α → β.
Beweis:
Induktion über die Länge i der Herleitung.
IA: i = 1, βi ist ein Axiom oder aus Γ ∪ {α} (analog zum Beweis des Deduktionstheorems
in der Aussagenlogik, Satz 1.3).
IS:
Fall 1: βi+1 ist ein Axiom, aus Γ ∪ {α} oder entsteht durch modus ponens (analog
zum Beweis des Deduktionstheorems in der Aussagenlogik)
Fall 2: βi+1 entsteht durch Generalisierung, d. h. βi+1 = (∀xj βq ).
Fall 2a: βq hängt nicht von α ab: dann gilt
Γ |−− βq
Γ |−− (∀xj βq )
Gen
Γ |−− (∀xj βq ) → (α → (∀xj βq ))
(A1)
Γ |−− α → (∀xj βq )
MP
Fall 2b: xj kommt nicht frei in α vor: dann gilt
Γ |−− α → βq
Γ |−− (∀xj α → βq )
Gen
Γ |−− (∀xj α → βq ) → (α → (∀xj βq ))
(A5)
Γ |−− α → (∀xj βq )
62
IV
MP
2.3. Eigenschaften von Theorien 1. Ordnung
Beispiel 2.13
Als Beispiel für das Deduktionstheorem für Theorien 1. Ordnung beweisen wir die Formel
(∀x1 (∀x2 α)) → (∀x2 (∀x1 α)). Dafür zeigen wir zuerst (∀x1 (∀x2 α)) |−− (∀x2 (∀x1 α)):
(1)
(2)
(3)
(4)
(5)
(6)
(7)
∀x1 (∀x2 α)
(∀x1 (∀x2 α)) → (∀x2 α)
(∀x2 α)
(∀x2 α) → α
α
(∀x1 α)
(∀x2 (∀x1 α))
Hypothese
(A4) mit t = x1 1
MP 1,2
(A4) mit t = x2
MP 3,4
Gen 5
Gen 6
Da durch die Generalisierung im Schritt 6 und 7 die Variablen x1 und x2 gebunden
wurden und beide nicht frei in (∀x1 (∀x2 α)) vorkommen, kann das Deduktionstheorem
angewendet werden. Damit folgt |−− (∀x1 (∀x2 α)) → (∀x2 (∀x1 α)).
/
Folgendes Korollar nennt zwei einfache Bedingungen, unter denen das Deduktionstheorem
angewendet werden kann.
Korollar 2.1
• Wenn α keine freien Variablen enthält, dann gilt: aus Γ, α |−− β folgt Γ |−− α → β.
• Wenn im Beweis von Γ, α |−− β nur Generalisierungen auf Variablen, die in α nicht
frei vorkommen, statt finden, dann gilt: aus Γ, α |−− β folgt Γ |−− α → β.
/
2.3.1. Schreibweisen, die Beweise vereinfachen
Zwei neue Regeln, die die Schreibweise vereinfachen. Die Nummern sind in Anlehnung
an ihren Ursprung gewählt. Auf die Beweise der Korrektheit der Regeln wird aus Platzgründen verzichtet. help: Beziehen sich die Nummern auf das Axiomenschema A4 oder
bezieht sich RE4 auf E4? Ich sehe ich nämlich nicht den Bezug von RE4 zu E4. help: Die
Korrektheit von RA4 lässt sich doch mit dem modus ponens aus A4 in einem Schritt
zeigen.
(RA4) (∀x α) |−− α[x/t], falls t frei für x in α ist.
(RE4) α[x/t] |−− (∃x α), falls t frei für x in α ist.
Beispiel 2.14
Zeige |−− (∀x α) → (∃x α).
1
Bem.: (∀x2 α)[x1 /x1 ] = (∀x2 α)
63
2. Theorien 1. Ordnung – Prädikatenlogik
(1) (∀x α)
(2) α[x/t]
(3) (∃x α)
Hypothese
mit RA4
mit RE4
Mit dem Deduktionstheorem folgt |−− (∀x α) → (∃x α).
/
Weitere Regeln (ohne Korrektheits-Beweise):
Negation: ¬¬α |−− α und α |−− ¬¬α
Konjunktion: α ∧ β |−− α und α ∧ β |−− β dann ¬(α ∧ β) |−− ¬α ∨ ¬β und α, β |−− α ∧ β
Disjunktion: α ∨ β, α → γ, β → γ |−− γ dann ¬(α ∨ β) |−− ¬α ∧ ¬β (de Morgan),
α ∨ β, ¬α |−− β und α ∨ β, ¬β |−− α; α |−− α ∨ β und β |−− α ∨ β
Implikation: α → β, ¬β |−− ¬α
¬(α → β) |−− α und ¬(α → β) |−− ¬β
Widerspruchsbeweis: Sei Γ, ¬α |−− β ∧ ¬β beweisbar ohne Verwendung der Generalisierung auf eine freie Variable in α. Dann gilt Γ |−− α.
Lemma 2.2 (Äquivalenzregel)
1. α ↔ β |−− α → β
2. α ↔ β |−− β → α
3. α → β, β → α |−− α ↔ β
4. α ↔ β, α |−− β
5. α ↔ β, β |−− α
6. α ↔ β, ¬α |−− ¬β
7. α ↔ β, ¬β |−− ¬α
Beweis:
Die beiden ersten Beweise 1. und 2. folgen direkt aus (E5). Aus der Hypothese, dass
jede Interpretation M mit allen Variablenbelegungen s die Formel α ↔ β erfüllen,
folgt nach Eigenschaft (E5), dass auch α → β unter allen Interpretationen mit allen
Variablenbelegungen s erfüllt wird. Also ist α → β gültig.
Der Beweis 3. folgt ebenso aus (E5).
Die nächsten beiden Beweise für 4. und 5. unterscheiden sich nur im dritten Schritt.
Daher sei hier nur 4. bewiesen.
64
2.3. Eigenschaften von Theorien 1. Ordnung
(1)
(2)
(3)
(4)
Hypothese
Hypothese
1. mit 1
MP 2,3
α↔β
α
α→β
β
Die letzten beiden Beweise 6. und 7. sind wieder fast gleich. Daher sei nur 6. gezeigt.
(1)
(2)
(3)
(4)
(5)
(6)
Hypothese
2. mit 1
Lemma 1.12
MP 2,3
Hypothese
MP 5,4
α↔β
β→α
(β → α) → (¬α → ¬β)
¬α → ¬β
¬α
¬β
Beispiel 2.15
Wir zeigen |−− (∀x α ↔ β) → ((∀x α) ↔ (∀x β))
(1) (∀x α ↔ β)
(2) (∀x α)
(3) α ↔ β
(4) α
(5) β
(6) ∀x β
Hypothese
Hypothese
RA4 mit 1
RA4 mit 2
Äquivalenzregel mit 3,4
Gen 5
Mit dem Deduktionstheorem folgt dann (∀x α ↔ β) |−− ((∀x α) → (∀x β)).
Analog: (∀x α ↔ β) |−− ((∀x β) → (∀x α)). Mit Äquivalenzregel folgt (∀x α ↔ β) |−−
(∀x α) ↔ (∀x β). Mit Deduktionstheorem: |−− (∀x α ↔ β) → ((∀x α) ↔ (∀x β))
/
Satz 2.3 (Ersetzbarkeitstheorem)
Sei β eine Teilformel von α, und α0 sei eine Formel, die aus α entsteht, indem in α beliebig
viele Vorkommen von β durch γ ersetzt werden. Dabei enthält y1 , y2 , . . . , yk alle freien
Variablen von β oder γ, die in α gebunden vorkommen.
Dann gilt:
1. (∀y1 . . . (∀yk β ↔ γ) . . . ) → (α ↔ α0 )
2. Aus |−− β ↔ γ folgt |−− α ↔ α0
3. Aus |−− β ↔ γ und |−− α folgt |−− α0
/
65
2. Theorien 1. Ordnung – Prädikatenlogik
2.3.2. Regel C (choice)
Zur Verdeutlichung der Regel C betrachten wir zuerst folgenden umgangssprachlichen
Beweis für die Aussage
„Das Quadrat einer geraden Zahl ist ebenfalls gerade.“
Beweis:
1. Sei m eine gerade Zahl.
2. Das heißt ∃x ∈ N (m = 2 · x).
3. Sei c diese Zahl.
4. Also gilt m2 = 4 · c2 = 2 · (2 · c2 ).
5. Folglich gilt ∃x ∈ N (m2 = 2 · x).
6. Das heißt m2 ist gerade.
Im Beweis wird für die durch den Existenzquantor gebundene Variable x zunächst die
natürliche Zahl c eingesetzt. Dann wird mit m herumgerechnet. Und schließlich wird der
Term 2 · c2 wieder generalisiert.
Dieses Vorgehen soll auch in formalen Beweisen benutzt werden können. Es wird Regel C
genannt.
Regel C: (∃x α) |−− α[x/c] für ein neues Konstantensymbol c.
Im folgenden Beispiel wird eine korrekte Benutzung der Regel C vorgestellt. Man muss
jedoch ein paar Einschränkungen beachten, die im Anschluss diskutiert werden. Satz 2.4
gibt dann die korrekte Benutzung von Regel C an.
Beispiel 2.16
Wir beweisen |−− (∃x A(x)) ∧ (∃x B(x)) → (∃x A(x) → B(x)).
(1) (∃x A(x)) ∧ (∃x B(x))
(2) (∃x B(x))
(3) B(c)
(4) B(c) → (A(c) → B(c))
(5) A(c) → B(c)
(6) (∃x A(x) → B(x))
Hypothese
Konj.Regel, 1
Regel C, 2
A1
MP 3,4
RE4, 5
Mit dem Deduktionstheorem folgt das Theorem.
Die Verwendung der Regel C unterliegt den folgenden Einschränkungen.
66
/
2.3. Eigenschaften von Theorien 1. Ordnung
1. Bei jeder Verwendung muss ein neues Konstantensymbol c eingeführt werden, das
bisher im Beweis nicht vorkam.
Wird kein neues Konstantensymbol eingeführt, können nicht gültige Formeln bewiesen werden.
(1)
(2)
∃x1 A21 (x1 , a1 )
A21 (a1 , a1 )
(3)
∃x1 A21 (x1 , x1 )
Hypothese
falsche Anwendung der Regel C:
a1 ist kein neues Konst.symbol
Regel RE4
Mit Deduktionstheorem könnte (∃x1 A21 (x1 , a1 )) → (∃x1 A21 (x1 , x1 )) bewiesen werden, was offensichtlich nicht gültig ist.
2. Die Generalisierung darf nicht auf eine Variable angewendet werden, die frei in
einer Formel vorkommt, die durch Regel C entstanden ist.
Bei Nichtbeachtung dieser Einschränkung können nicht gültige Formeln bewiesen
werden.
(1)
(2)
(3)
(4)
(∀x1 (∃x2 A21 (x1 , x2 )))
(∃x2 A21 (x1 , x2 ))
A21 (x1 , a1 )
(∀x1 A21 (x1 , a1 ))
(5)
(∃x2 (∀x1 A21 (x1 , a1 )))
Hypothese
RA4, 1
Regel C (korrekte Anwendung), 2
Gen, 3 (Anwendung auf freie Var.
aus 3, die durch Regel C entstanden ist)
RE4, 4
Mit Deduktionstheorem könnte (∀x1 (∃x2 A21 (x1 , x2 ))) → (∃x2 (∀x1 A21 (x1 , a1 )))
bewiesen werden, was offensichtlich nicht gültig ist.
3. In der bewiesenen Formel kommt kein Konstantensymbol vor, das durch Regel C
eingeführt wurde.
Sonst könnte (∃x1 A11 (x1 )) → A11 (a1 ) bewiesen werden, was offensichtlich nicht
gültig ist.
Satz 2.4 (Regel C)
Sei α eine Formel und Γ eine Menge von Hypothesen. Falls α aus Γ mit Benutzung der
Regel C unter Berücksichtigung der drei Einschränkungen beweisbar ist, dann ist α auch
ohne Benutzung von Regel C aus Γ beweisbar. (Γ |−− α)
/
67
2. Theorien 1. Ordnung – Prädikatenlogik
2.4. Vollständigkeit des Prädikatenkalküls 1. Ordnung
Wir wollen zeigen, dass in jedem Prädikatenkalkül 1. Ordnung alle gültigen Formeln
beweisbar sind (d. h. aus |== α folgt |−− α). Diese Eigenschaft des Prädikatenkalküls
nennt man Vollständigkeit. Wir zeigen äquivalent, dass jede nicht beweisbare Formel auch
nicht gültig ist. Dazu müssen wir für jede nicht beweisbare Formel α eine Interpretation
finden, unter der α falsch ist. Die Konstruktion dieser Interpretation basiert auf einer
Erweiterung des Prädikatenkalküls durch zusätzliche Axiome. Im ersten Schritt werden
Axiome hinzugenommen, so dass für jede geschlossene Formel α entweder α oder ¬α
beweisbar ist. Eine Theorie mit dieser Eigenschaft heißt abgeschlossen. Da die zusätzlichen
Axiome nicht notwendigerweise gültig sind, sind nicht alle Modelle des Prädikatenkalküls
auch Modelle dieser Erweiterung. Wichtig ist jedoch nur, dass am Ende (mindestens)
ein Modell übrig bleibt. Im zweiten Schritt werden Axiome hinzugenommen, die die
einfache Konstruktion eines Modells für die Theorie ermöglichen. Diese Axiome machen
die Theorie T-produktiv . Die Vollständigkeit jedes Prädikatenkalküls 1. Ordnung basiert
also darauf, dass man ihn zu einer abgeschlossenen und T-produktiven Theorie erweitern
kann, die ein Modell besitzt (Satz 2.7).
Die Auswahl der zusätzlichen Axiome basiert darauf, dass man die Menge aller Formeln
abzählen kann.
2.4.1. Abzählbarkeit von Formelmengen
Definition 2.9
Eine unendliche Menge A heißt abzählbar unendlich, falls es eine bijektive Funktion
f : A → N gibt.
/
Beispiel 2.17
Die Menge N ist trivialer Weise abzählbar mit f = id.
Die Menge Z ist abzählbar, da die Funktion f : Z → N eine Bijektion ist.
(
f (m) =
2m − 1 m > 0
2m
m≤0
Die Menge N × N ist abzählbar mittels der folgenden bijektiven Funktion bp : N × N → N.
bp(a, b) =
a+b
X d +b
d=0
Die Menge der reellen Zahlen R und die Potenzmenge der natürlichen Zahlen P(N) sind
nicht abzählbar.
/
68
2.4. Vollständigkeit des Prädikatenkalküls 1. Ordnung
Lemma 2.3
Wenn f : A → N injektiv ist, dann ist A abzählbar unendlich.
Wenn A ⊆ B und B ist abzählbar, dann ist A abzählbar.
/
Satz 2.5
Die Menge aller Formeln einer Theorie 1. Ordnung ist abzählbar.
Beweis:
Wir definieren eine Funktion g ∗ , die die Menge aller Formeln injektiv auf N abbildet. Dazu
definieren wir zuerst eine Funktion g, die jedes Symbol, das in einer Formel vorkommen
kann, durch eine natürliche Zahl kodiert. Formeln bestehen aus folgenden Symbolen:
• Variablensymbole: x1 , x2 , x3 , . . . (abzählbar viele)
• Konstantensymbole: a1 , a2 , a3 , . . . (abzählbar viele)
• Funktionssymbole: f11 , f21 , . . . , f12 , f22 (abzählbar viele)
• Prädikatensymbole: A11 , A12 , . . . , A21 , A22 (abzählbar viele)
• sonstige Zeichen: (, ), ∀, ¬, →, , (Komma)
Die Funktion g : Menge aller Symbole → N ist wie folgt definiert:
u ( ) , ¬ → ∀
g(u) 1 2 3 4 5 6
u
xi
ai
fij
Aji
g(u) 3 + 4i 4 + 4i 9 + 4 · bp(j − 1, i − 1) 10 + 4 · bp(j − 1, i − 1)
Die Funktion g ist injektiv (man kann aus einer Zahl g(u) eindeutig das Symbol u
bestimmen), aber nicht surjektiv (ist auch nicht nötig).
Die Funktion g ∗ : Menge aller Formeln → N ist definiert durch
g(u )
g ∗ (u1 u2 . . . uk ) = 2g(u1 ) · 3g(u2 ) · 5g(u3 ) · · · pk−1k
wobei pk die k. Primzahl ist (p0 = 2).
Da verschiedene Formeln aus verschiedenen Folgen von Symbolen bestehen und jede
natürliche Zahl ≥ 1 eindeutig als Produkt von Primzahlen dargestellt werden kann, ist
g ∗ eine injektive Funktion. Der Wertebereich von g ∗ ist N. Also ist der Definitionsbereich
von g ∗ – das ist die Menge aller Formeln – abzählbar.
69
2. Theorien 1. Ordnung – Prädikatenlogik
Folgende Tabelle zeigt die Kodierung einiger Symbole.
u
x1
a1
f11
A11
x2
a2
f12
A21
A12
...
g(u)
7
8
9
10
11
12
13
14
16
...
Bsp.:
g ∗ A11 (x1 ) → A12 (f11 (a2 )) = 210 · 31 · 57 · 72 · 115 · 1318 · 171 · 199 · 231 · 2912 · 312 · 372
g ∗ ist nicht surjektiv, da z. B. die Zahl 23 · 34 für die Symbolfolge „, ¬“ steht, die aber
keine Formel ist. g ∗ definiert auf natürliche Weise eine Ordnung auf den Formeln. Wir
sagen α < β, falls g ∗ (α) < g ∗ (β). Damit können wir eine Funktion
f : N → Menge aller Formeln
definieren, die die Menge aller Formeln geordnet aufzählt, d. h.
{f (i) : i ∈ N} = Menge aller Formeln und f (i) < f (i + 1)
f kann wie folgt definiert werden:
f (0) = die kleinste Formel
f (n + 1) = die kleinste Formel, die nicht in {f (0), . . . , f (n)} ist
Jede Menge von Formeln oder Termen einer Theorie 1. Ordnung kann ebenfalls geordnet aufgezählt werden. Von den folgenden Mengen werden wir diese Eigenschaft noch
nutzen.
• die Menge aller geschlossenen Formeln
• die Menge aller variablenfreien Terme
• die Menge aller T-produktiven Formeln
2.4.2. Konsistente und abgeschlossene Erweiterungen von Theorien
Eine Theorie dient dazu, Formeln in beweisbare Formeln (Theoreme) und nicht beweisbare
Formeln zu teilen. Eine Theorie, in der sowohl eine Formel α als auch ihre Negation ¬α
bewiesen werden kann, ist insofern sinnlos, da in dieser Theorie alle Formeln Theoreme
sind (siehe Bemerkung 2.1). Die „nicht sinnlosen“ Theorien heißen konsistent (siehe
Definition 2.10). In diesem Abschnitt geht es darum, wie man eine konsistente Theorie
erweitern kann (durch zusätzliche Axiome), so dass sie konsistent bleibt und die zusätzliche
Eigenschaft der Abgeschlossenheit erhält (Lindenbaums Lemma (Satz 2.6)). Eine Theorie
heißt abgeschlossen (siehe Definition 2.12), falls für jede geschlossene Formel α entweder
α oder ¬α beweisbar ist. In einer konsistenten und abgeschlossenen Theorie ist die Menge
der Theoreme maximal: nimmt man zu ihr eine nicht beweisbare Formel als Axiom hinzu,
dann ist die Theorie nicht mehr konsistent. (Siehe Abbildung 2.1.)
70
2.4. Vollständigkeit des Prädikatenkalküls 1. Ordnung
¬α6
α4
¬α12
α42
α6
¬α13
α13
α23
¬α23
¬α52
¬α4
α12
¬α42
α52
¬α45
α45
Abbildung 2.1.: Die Theoreme eines Prädikatenkalküls (dunkel gefärbter Bereich), die
Theoreme einer konsistenten und abgeschlossenen Erweiterung davon
(dunkel und weniger dunkel gefärbte Bereiche) und die in der abgeschlossenen Erweiterung unbeweisbaren Formeln (weißer Hintergrund).
Definition 2.10 (konsistente Theorie)
Eine Theorie K heißt konsistent, falls es keine Formel α mit |−− α und |−− ¬α gibt.
K
K
/
Lemma 2.4
Jeder Prädikatenkalkül 1. Ordnung ist konsistent.
Beweis:
Aus |−− α folgt |== α (Satz 2.1). Da höchstens eine der Formeln α und ¬α gültig ist,
K
muss K konsistent sein.
Bemerkung 2.1
Wenn K eine nicht konsistente Theorie ist, dann kann man jede beliebige Formel α
beweisen: |−− α.
K
Beweis:
Sei K eine nicht konsistente Theorie. Dann gibt es eine Formel β mit |−− β und |−− ¬β.
K
K
Mit der Instanz der Tautologie |−− β → (¬β → α) und zweimal modus ponens folgt
K
|−− α.
K
Wenn eine Theorie ein Modell besitzt, muss sie also konsistent sein: keine Interpretation
kann gleichzeitig α und ¬α erfüllen. Wir werden sehen, dass jede konsistente Theorie
auch ein Modell besitzt. Dazu müssen wir uns zunächst mit dem konsistenten Erweitern
von Theorien beschäftigen.
Wenn α gültig ist, dann ist ¬α nicht gültig und nicht beweisbar in K. Die Nichtbeweisbarkeit von ¬α reicht aus, um die Konsistenz der um das Axiom α erweiterten Theorie
zu beweisen.
Lemma 2.5
Sei K eine konsistente Theorie, und α sei eine geschlossene Formel. K 0 sei die Theorie,
die aus K durch Hinzufügen des zusätzlichen Axioms α entsteht. Dann gilt:
71
2. Theorien 1. Ordnung – Prädikatenlogik
wenn ¬α in K nicht beweisbar ist (d. h. 6|−− ¬α), dann ist K 0 konsistent.
K
Beweis:
Wir beweisen das Lemma, indem wir zeigen: wenn K 0 nicht konsistent ist, dann gilt
|−− ¬α.
K
Sei also K 0 nicht konsistent. Dann gibt es eine Formel β mit |−−0 β und |−−0 ¬β. Die
K
K
Formel β → (¬β → ¬α) ist Instanz einer Tautologie und deshalb in K 0 beweisbar. Durch
Anwendung von modus ponens erhält man aus den letzten drei Formeln |−−0 ¬α.
K
Da das zusätzliche Axiom α der einzige Unterschied zwischen K und K 0 ist, ist der Beweis
für ¬α in K 0 auch ein Beweis in K mit Hypothese α, d. h. α |−− ¬α. Da α geschlossen
K
ist, kann das Deduktionstheorem angewendet werden, und man erhält |−− α → ¬α. Die
K
Formel (α → ¬α) → ¬α ist Instanz einer Tautologie und deshalb in K beweisbar. Mit
modus ponens folgt aus den letzten beiden Formeln |−− ¬α.
K
Die Menge aller Theoreme in K 0 ist eine Obermenge der Menge aller Theoreme in K, da
jedes Axiom von K ebenfalls ein Axiom von K 0 ist.
Definition 2.11
Eine Theorie K 0 ist eine Erweiterung von K, falls jedes Theorem von K ebenfalls ein
Theorem von K 0 ist (d. h. aus |−− α folgt |−−0 α).
/
K
K
Wenn – wie oben – K 0 aus K durch Hinzunahme des zusätzlichen Axioms α entsteht,
dann schreiben wir K 0 = K + {α}.
Wenn weder α noch ¬α gültig ist, dann bleibt eine konsistente Theorie K nach Hinzunahme von Axiom α konsistent. Also kann von jeder abgeschlossenen Formel α stets eine
der beiden Formeln α und ¬α ein Axiom sein. Falls eine der beiden Formeln beweisbar
ist, muss man natürlich die beweisbare Formel auswählen.
Definition 2.12 (abgeschlossene Theorie)
Eine Theorie K heißt abgeschlossen, falls für jede geschlossene Formel α (von K) gilt:
|−− α oder |−− ¬α.
/
K
K
In einer konsistenten und abgeschlossenen Theorie gilt dann für jede geschlossene Formel α:
entweder |−− α oder |−− ¬α (aber nicht beides). Solche Theorien gibt es, und jede
konsistente Theorie lässt sich dazu erweitern.
Satz 2.6 (Lindenbaums Lemma)
Für jede konsistente Theorie K gibt es eine konsistente und abgeschlossene Erweiterung K 0 .
(Dabei haben K und K 0 die gleichen Formeln.)
72
2.4. Vollständigkeit des Prädikatenkalküls 1. Ordnung
Beweis:
Sei K eine konsistente Theorie. β1 , β2 , . . . sei eine Aufzählung aller geschlossenen Formeln
von K. Wir definieren induktiv Theorien J0 , J1 , J2 , . . . die Erweiterungen von K sind.
J0 = K
Ji+1 =


Ji ,
falls |−− ¬βi+1

Ji + {βi+1 },
falls 6|−− ¬βi+1
Ji
Ji
Für Ji gilt also: |−− ¬βi (da |−− ¬βi ) oder |−− βi (da 6|−− ¬βi und βi Axiom von Ji ist).
Ji
Ji−1
Ji
Nach Lemma 2.5 ist also jedes Ji konsistent.
Ji−1
Wir definieren nun K 0 als die Theorie, die alle Axiome aller Ji enthält. Also ist K 0 eine
Erweiterung aller Ji und damit auch eine Erweiterung von K = J0 .
Jeder Beweis in K 0 ist endlich und kann deshalb nur eine endliche Anzahl von Axiomen
enthalten. Also kann jeder Beweis auch in einer „Untertheorie“ Ji geführt werden. Da
alle Ji konsistent sind, muss K 0 ebenfalls konsistent sein.
K 0 ist abgeschlossen: sei α eine geschlossene Formel. Dann gibt es ein i mit α = βi . Nach
obiger Bemerkung gilt |−− ¬βi oder |−− βi . Da K 0 eine Erweiterung von Ji ist, folgt
|−−0 ¬βi oder |−−0 βi .
K
Ji
Ji
K
2.4.3. Modelle für konsistente Theorien
In einer konsistenten und abgeschlossenen Theorie können Formeln bewiesen werden, die
nicht gültig sind. Solche Formeln sind nicht in jeder Interpretation wahr. Deshalb stellt
sich die Frage, ob solche Theorien überhaupt noch Modelle2 besitzen. Um möglichst einfach ein Modell konstruieren zu können, erweitern wir die Theorie um zusätzliche Axiome,
die zusätzliche Konstantensymbole enthalten, und halten die Theorie konsistent (siehe Abbildung 2.2). Die zusätzlichen Konstantensymbole spielen die entscheidende Rolle bei der
Konstruktion eines Modells. In Satz 2.7 wird gezeigt, dass jede konsistente und abgeschlossene Theorie ein Modell besitzt. Interessant ist auch, dass dieses Modell eine abzählbare
Grundmenge hat (Satz von Löwenheim und Skolem, Satz 2.8).
Definition 2.13 (T-produktive Theorie)
Eine Theorie K heißt T-produktiv („scapegoat“, engl. Sündenbock), falls für jede Formel α
mit genau einer freien Variablen x ein variablenfreier Term t existiert mit
|−− (∃x ¬α) → ¬α[x/t]
K
2
/
Ein Modell für eine Theorie ist eine Interpretation, unter der alle Axiome der Theorie wahr sind.
Daraus folgt, dass unter dieser Interpretation ebenfalls alle beweisbaren Formeln wahr sind.
73
2. Theorien 1. Ordnung – Prädikatenlogik
¬α1
¬α17
α17
α1
¬α5
α5
¬α6
α4
¬α12
α42
α6
¬α13
α13
α23
¬α23
¬α52
¬α45
¬α4
α12
¬α42
α52
α45
¬α4711
α4711
Abbildung 2.2.: Die Formeln eines Prädikatenkalküls (innerhalb des Ovals) und die Formeln einer Erweiterung davon durch Einführung neuer Konstantensymbole (Rechteck). Da die Erweiterung abgeschlossen ist, sind alle Formeln
im eingefärbten Bereich Theoreme der Erweiterung. Die Theoreme des
ursprünglichen Prädikatenkalküls sind im dunkel eingefärbten Bereich.
Lemma 2.6
Jede konsistente Theorie K hat eine konsistente Erweiterung K 0 , die T-produktiv ist und
die Menge aller Terme in K 0 ist abzählbar.
Beweis:
K 0 entsteht auf die folgenden Weise aus K durch Hinzufügen von neuen Konstantensymbolen c1 , c2 , . . . und neuen zusätzlichen Axiomen. Sei α1 , α2 , . . . eine Aufzählung
aller Formeln in K 0 mit genau einer freien Variablen; xji sei die freie Variable in αi . Des
weiteren sei b1 , b2 , . . . eine Aufzählung einer Teilmenge von {c1 , c2 , . . . } so, dass bi weder
in α1 , . . . , αi−1 noch in b1 , . . . , bi−1 vorkommt.
Definiere σk = (∃xjk ¬α) → ¬α[xjk /bk ]. K 0 hat zusätzliche Axiome σ1 , σ2 , . . .
Um zu zeigen, dass K 0 konsistent ist, betrachten wir die Teiltheorien K0 , K1 , K2 , . . . mit
K0 = K erweitert um die neuen Konstantensmbole {c1 , c2 , . . . }
Ki+1 = Ki erweitert um zusätzliches Axiom σi+1
(Kj hat die zusätzlichen Axiome σ1 , σ2 , . . . , σj ).
Wenn K0 , K1 , K2 , . . . konsistent sind, dann ist auch K 0 konsistent.
• K0 ist konsistent, da K konsistent ist.
• Sei angenommen, dass Kn nicht konsistent ist. Dann gilt |−− ¬σn . Also folgt
Kn
σn |−− ¬σn . Mit dem Deduktionstheorem folgt |−− σn → ¬σn und mit der
Kn−1
Tautologie (σn → ¬σn ) → ¬σn folgt |−− ¬σn , d. h.
Kn−1
Kn−1
|−− ¬(∃xjn ¬α) → ¬α[xjn /bn ]
Kn−1
74
2.4. Vollständigkeit des Prädikatenkalküls 1. Ordnung
Mit der Implikationsregel folgt
|−− (∃xjn ¬α) und
Kn−1
|−− ¬¬α[xjn /bn ]
Kn−1
und mit der Negationsregel |−− α[xjn /bn ].
Kn−1
Das bn kommt in keinem zusätzlichen Axiom von Kn−1 vor. Deshalb kann es im
Beweis von |−− α[xjn /bn ] durch eine Variable x0 ersetzt werden, die im Beweis
Kn−1
sonst nicht vorkommt, und wir erhalten |−− α[xjn /x0 ].
Kn−1
Nach der Aufgabe 3 auf Blatt 8 gilt |−− (∀xjn α) ↔ (∀x0 α[xjn /x0 ]). Aus |−−
Kn−1
Kn−1
α[xjn /x0 ] folgt mit Generalisierung |−− (∀x0 α[xjn /x0 ]).
Kn−1
Mit Äquivalenzregel folgt |−− (∀xjn α). Aus |−− (∃xjn ¬α) folgt |−− ¬(∀xjn α).
Kn−1
Kn−1
Also ist Kn−1 nicht konsistent.
Kn−1
Satz 2.7 (Abzählbare Modelle)
Jede konsistente, abgeschlossene und T-produktive Theorie J besitzt ein Modell M,
dessen Grundmenge die Menge aller variablenfreien Terme von J ist.
Beweis:
Definiere M wie folgt.
• Die Grundmenge D besteht aus allen variablenfreien Termen, die in J gebildet
werden können.
• Konstanten- und Funktionssymbole werden „durch sich selbst“ interpretiert:
(ai )M = ai
(fin )M (t1 , . . . , tn ) = fin (t1 , . . . , tn )
• Prädikatensymbole werden durch Beweisbarkeit interpretiert:
(Ani )M = (t1 , . . . , tn ) ∈ Dn : |−− Ani (t1 , . . . , tn )
J
Wir zeigen, dass M ein Modell von J ist. Dazu zeigen wir, dass für jede geschlossene
Formel α gilt: |== α genau dann, wenn |−− α. (Eine nicht geschlossene Formel β und deren
M
J
Abschluss β 0 haben die gleichen Eigenschaften in Bezug auf Gültigkeit und Beweisbarkeit.
Für jede Formel β und deren Abschluss β 0 gilt (1) |== β gdw. |== β 0 (wg. (E6)) und
M
M
(2) |−− β gdw. |−− β 0 (wg. Gen und (RA4).)) Der Beweis wird mittels Induktion über
J
J
den Formelaufbau geführt, d. h. über die Anzahl der in der Formel vorkommenden
Verknüpfungszeichen.
75
2. Theorien 1. Ordnung – Prädikatenlogik
Im Induktionsanfang betrachten wir geschlossene atomare Formeln α ohne Verknüpfungszeichen – also auch ohne Quantoren. Diese Formeln enthalten keine Variablensymbole.
Es folgt direkt aus der Definition der Interpretation der Prädikatensymbole, dass |== α
M
gdw. |−− α.
J
Die Induktionsvoraussetzung lautet, dass die Behauptung für alle geschlossenen Formeln
bis zu einer bestimmten Größe gilt.
Im Induktionsschritt betrachten wir die drei Möglichkeiten, aus zwei Formeln α und β
eine Formel γ mit einem zusätzlichen Verknüpfungszeichen zu konstruieren:
Fall 1: γ = (¬α).
Es gilt
(1)
|== γ
⇐=⇒
M
(2)
6|== α
⇐=⇒
M
(3)
⇐=⇒
6|−− α
J
(4)
|−− (¬α)
⇐=⇒
J
|−− γ
J
Äquivalenz (1) folgt aus γ = (¬α), (2) folgt aus der Induktionsvoraussetzung, (3)
folgt aus der Abgeschlossenheit von J, und (4) folgt wiederum aus γ = (¬α).
Fall 2: γ = (α → β).
Es gilt
6|== γ
M
(1)
⇐=⇒
|== α und 6|== β
M
M
(2)
⇐=⇒
|−− α und 6|−− β
J
J
(3)
⇐=⇒
|−− (¬γ)
J
(4)
⇐=⇒
6|−− γ
J
Die Äquivalenzen (1), (2) und (4) sind einfach. (1) ist Eigenschaft (E4) der
grundlegenden Eigenschaften von Formeln und Interpretationen, (2) folgt aus der
Induktionsvoraussetzung, und (4) folgt aus der Abgeschlossenheit von J.
Für die Äquivalenz (3) betrachten wir beide Richtungen getrennt voneinander.
Aus |−− α und 6|−− β folgt zuerst |−− ¬β aus der Abgeschlossenheit von J. Mit der
J
J
J
Tautologie α → (¬β → ¬(α → β)) und modus ponens ergibt sich |−− ¬(α → β),
J
also |−− (¬γ).
J
Die andere Implikation |−− ¬(α → β) ⇒ |−− α und 6|−− β folgt direkt aus der
Implikationsregel.
J
J
J
Fall 3: γ = (∀y α).
Das ist der etwas schwierigere Fall.
Zuerst betrachten wir den Fall, dass α geschlossen ist. Dann gilt
|== (∀y α)
M
76
(1)
⇐=⇒
|== α
M
(2)
⇐=⇒
|−− α
J
(3)
⇐=⇒
|−− (∀y α)
J
2.4. Vollständigkeit des Prädikatenkalküls 1. Ordnung
Äquivalenz (1) ist die grundlegende Eigenschaft (E6) von Formeln und Interpretationen. Äquivalenz (2) folgt aus der Induktionsvoraussetzung, da α eine
geschlossene Formel ist. Äquivalenz (3) folgt aus der Generalisierung bzw. Axiom
(A4), da α[y/t] = α (y kommt in α nicht frei vor).
Nun zum Fall, dass α keine geschlossene Formel ist. Dann ist y die einzige freie
Variable in α. Also ist ¬(∀y α) → ¬α[y/bi ] ein Axiom von J. Es gelten folgende
Äquivalenzen.
(1)
|== (∀y α) ⇐=⇒ für jede Variablenbelegung s ∈ ΣM gilt: s erfüllt α
M
(2)
⇐=⇒ für jeden variablenfreien Term t gilt: |== α[y/t]
M
(3)
⇐=⇒ für jeden variablenfreien Term t gilt: |−− α[y/t]
J
Äquivalenz (3) folgt aus der Induktionsvoraussetzung. Äquivalenz (1) folgt aus der
semantischen Definition des Allquantors. Äquivalenz (2) folgt aus der Definition
von M. Für Variablenbelegung s ist s(y) ∈ D. Da variablenfreie Terme durch
sich selbst interpretiert werden, gilt: s erfüllt α genau dann, wenn |== α[y/s(y)].
M
Da {s(y) : s ∈ ΣM } = D und D die Menge aller variablenfreien Treme ist, folgt
(2).
Es bleibt noch folgende Äquivalenz zu zeigen:
(2.1)
für jeden variablenfreien Term t gilt |−− α[y/t]
⇔
J
|−− (∀y α)
J
Wir zeigen die beiden Implikationsrichtungen der Äquivalenz getrennt.
Aus |−− (∀y α) folgt |−− α[y/t] für jeden variablenfreien Term t mittels Axiom
J
J
A4 und modus ponens.
Die andere Implikationsrichtung zerlegen wir in folgende Teile.
für jeden variablenfreien Term t gilt: |−− α[y/t]
(1)
J
⇒ für jeden variablenfreien Term t gilt: 6|−− ¬α[y/t] (2)
J
⇒ für jedes Konstantensymbol aj gilt: 6|−− ¬α[y/aj ] (3)
J
⇒ 6|−− ¬(∀y α)
(4)
⇒ |−− (∀y α)
(5)
J
J
Aus (1) folgt (2) wg. der Konsistenz von J. Aus (2) folgt (3), da jedes Konstantensymbol ein variablenfreier Term ist. Aus dem Axiom ¬(∀y α) → ¬α[y/ai ] und
|−− ¬(∀y α) folgt |−− ¬α[y/ai ]. Also folgt die Negation von (3) aus der Negation
J
J
von (4). Damit folgt (4) aus (3). Die Abgeschlossenheit von J führt schließlich zu
(5).
Damit ist Gleichung 2.1 bewiesen und der Beweis ist abgeschlossen.
77
2. Theorien 1. Ordnung – Prädikatenlogik
Aus Satz 2.7 folgt sofort:
Satz 2.8 (Satz von Löwenheim und Skolem)
Jede Theorie, die ein Modell besitzt, besitzt ein Modell mit einer abzählbaren Grundmenge.
/
2.4.4. Der Vollständigkeitssatz von Gödel
Aus den Lemmata und Sätzen der letzten Abschnitte folgt, dass alle gültigen Formeln in einem Prädikatenkalkül 1. Ordnung auch tatsächlich bewiesen werden können.
Satz 2.9 (Vollständigkeitssatz von Gödel)
Sei K ein Prädikatenkalkül 1. Ordnung. Dann ist jede gültige Formel in K beweisbar,
d. h. für jede Formel α von K gilt: aus |== α folgt |−− α.
K
Beweis:
Sei β eine Formel, die nicht in K beweisbar ist (6|−− β). β ist beweisbar in K genau dann,
K
wenn der Abschluss von β in K beweisbar ist. Sei α der Abschluss von β. K 0 sei die
Erweiterung von K, die durch Hinzunehmen von ¬α als zusätzliches Axiom entsteht. Da
K konsistent ist (Lemma 2.4), ist K 0 ebenfalls konsistent (Lemma 2.5). K kann nach
Lemma 2.6 zu einer T-produktiven Theorie KT0 erweitert werden, die konsistent ist. KT0
wiederum kann zu einer abgeschlossenen Theorie K ∗ erweitert werden, die konsistent
und T-produktiv ist (Satz 2.6). K ∗ hat ein Modell M (Satz 2.7).
Da alle Axiome von K 0 ebenfalls in K ∗ enhalten sind, ist M auch ein Modell von K 0 .
¬α ist ein Axiom von K 0 . Also gilt aufgrund der Korrektheit (Satz 2.1) |== ¬α. Daraus
M
folgt nach (E9) 6|== α, und gemäß (E6) 6|== β. Folglich gibt es eine Interpretation, die
M
M
kein Modell von β ist, d. h. β ist nicht gültig, also 6|== β.
Damit haben wir gezeigt: aus 6|−− β folgt 6|== β.
K
Zum Abschluss dieses Kapitels fassen wir Satz 2.9 und Satz 2.1 zusammen.
Korollar 2.2 (Korrektheit und Vollständigkeit des Prädikatenkalk. 1. Ord.)
Sei K ein Prädikatenkalkül 1. Ordnung. Dann gilt für jede Formel α von K:
α ist genau dann gültig, wenn α in K beweisbar ist.
/
Diese Korrektheit und Vollständigkeit ist genau das, was man als „natürlich“ annimmt.
Man formuliert ja gerade Axiome und Ableitungsregeln, damit man Beweise führen
kann. Und man will natürlich alles beweisen können, was wahr ist. Im nächsten Kapitel
werden wir sehen, dass Vollständigkeit nur in recht „kleinen“ Theorien garantiert werden
kann. Wir werden eine Erweiterung des Prädikatenkalküls betrachten, in der man mit
78
2.4. Vollständigkeit des Prädikatenkalküls 1. Ordnung
natürlichen Zahlen rechnen kann. Also so etwas wie elementare Zahlentheorie. Von dieser
Theorie kann man zeigen, dass sie nicht vollständig ist (Unvollständigkeitssatz von Gödel,
Satz 3.12). Das liegt letztlich daran, dass man in der von der Theorie zur Verfügung gestellten Sprache Aussagen über die Theorie machen kann. Jede Erweiterung der elementaren
Zahlentheorie ist ebenfalls nicht vollständig (solange entscheidbar bleibt, was die Axiome
der Theorie sind3 ). Die Welt, in der wir leben, besitzt also keine entscheidbare Menge
von Axiomen, aus der alle Wahrheiten abgeleitet werden können.
3
„entscheidbar“ heißt hier im intuitiven Sinne, dass man von jeder Formel nach endlicher Zeit zum
Überlegen sagen kann, ob sie ein Axiom ist oder nicht
79
3. Formale Zahlentheorie
1910 begannen Betrand Russel und Alfred North Withehead in einem monomentalen
Werk – der Principia Mathematica – alle Beweise der Zahlentheorie mit Hilfe eines
formalen Systems herzuleiten, um die Widerspruchsfreiheit des Axiomensystem der
(reellen) Arithmetik zu zeigen – eines der Probleme, die David Hilbert 1900 als offene
Fragen der Mathematik formuliert hatte. 1931 zeigte jedoch Kurt Gödel mit seinem
Unvollständigkeitssatz, dass dies nicht möglich ist. Es gibt Aussagen, in der Zahlentheorie,
die man weder beweisen noch widerlegen kann.
Die Zahlentheorie befasst sich mit den Eigenschaften natürlicher Zahlen. Die wohl
am Häufigsten gebrauchte Beschreibung der natürlichen Zahlen sind die fünf PeanoAxiome des italienischen Mathematikers Giuseppe Peano (1858–1932) aus dem Jahre
1889:
(P1) 0 ist eine natürliche Zahl.
(P2) Jede natürliche Zahl z hat genau einen Nachfolger z 0 , der ebenfalls eine natürliche
Zahl ist.
(P3) Die Zahl 0 ist kein Nachfolger einer natürlichen Zahl; ∀z ∈ N z 0 6= 0.
(P4) Jede natürliche Zahl ist Nachfolger höchstens einer natürlichen Zahl; ∀x, y ∈ N x0 =
y 0 ⇒ x = y.
(P5) Sei Q eine Eigenschaft von natürlichen Zahlen. Wenn
1. 0 die Eigenschaft Q besitzt, und
2. für alle Zahlen z aus „z hat die Eigenschaft Q“ folgt „z 0 hat Eigenschaft Q“,
dann besitzen alle natürlichen Zahlen die Eigenschaft Q. Dieses Prinzip wird
Induktion genannt; (Q(0) ∧ (∀z ∈ N Q(z) → Q(z 0 ))) → (∀z ∈ N Q(z))
Man beachte, dass an dieser Stelle die Gleichheitsrelation bereits als bekannt vorausgesetzt
wird.
Die Peano-Axiome vermitteln zwar ein intuitives Verständnis von den natürlichen Zahlen,
dennoch möchte man gerne Axiome formulieren, auf deren Grundlage man die Sätze der
Zahlentheorie formal beweisen kann.
80
3.1. Die Theorie S
3.1. Die Theorie S
Ausgehend von dem, wie die Peano-Axiomen die natürlichen Zahlen definieren, wollen
wir Axiome einer formalen Theorie 1. Ordnung für die Zahlentheorie aufstellen. Diese
Theorie nennen wir S.
Zu den Axiomen, die von der Theorien 1. Ordnung (Definition 2.8) übernommen werden,
ergänzen wir in S noch folgende Axiome, wobei a1 das einzige Konstantensymbol, A21
das einzige Prädikatensymbol und f11 , f12 und f22 drei Funktionensybole sind – auf ihre
Bedeutungen kommen wir gleich zu sprechen. Alle übrigen Symbole – Variablensymbole x1 , x2 , . . ., logische Verknüpfungszeichen, Klammern – werden ohne Einschränkung
übernommen.
(S1) A21 (x1 , x2 ) → (A21 (x1 , x3 ) → A21 (x2 , x3 ))
(S2) A21 (x1 , x2 ) → A21 (f11 (x1 ), f11 (x2 ))
(S3) ¬A21 (a1 , f11 (x1 ))
(S4) A21 (f11 (x1 ), f11 (x2 )) → A21 (x1 , x2 )
(S5) A21 (f12 (x1 , a1 ), x1 )
(S6) A21 (f12 (x1 , f11 (x2 )), f11 (f12 (x1 , x2 )))
(S7) A21 (f22 (x1 , a1 ), a1 )
(S8) A21 (f22 (x1 , f11 (x2 )), f12 (f22 (x1 , x2 ), x1 ))
(S9) Sei α eine Formel mit freier Variable x. α(a1 ) bezeichne α[x/a1 ], α(x) bezeichne α,
und α(f11 (x)) bezeichne α[x/f11 (x)]. Dann ist folgende Formel ein Axiom:
α(a1 ) → (∀x α(x) → α(f11 (x)) → ∀x α(x)
Um die Bedeutung der Axiome und der Formeln etwas eingängiger darzustellen und die
Schreibung zu erleichtern, verwenden wir die üblichen Schreibweisen aus der Mathematik.
Dies birgt den Nachteil in sich, dass man leicht dazu geneigt ist, die Trennung zwischen
der formalen Theorie und der bekannten Mathematik aufzugeben, und daher vielleicht
vorschnell sagt „Ja, stimmt doch.“, obwohl es in der formalen Theorie nicht so klar ist.
Manchmal kann es also auch vorteilhaft sein, den Beweis mit der abstrakten Symbolen
anstatt den eingängien Symbolen zu führen.
• statt dem Konstantensymbol a1 verwenden wir das Symbol 0,
• statt dem Prädikatensymbol A21 (s, t) verwenden wir s = t und
• für die drei Funktionssymbole schreiben wir
1. t0 (Nachfolger von t) statt f11 (t),
81
3. Formale Zahlentheorie
2. s + t statt f12 (s, t) und
3. s · t statt f22 (s, t).
Damit ist die Bedeutung der einzelnen Axiome auch leichter erkennbar:
• Die Axiome (S1) und (S2) benötigen wir zur Beschreibung der Gleichheitsrelation,
welche bei den Peano-Axiomen bereits vorrausgesetzt wurde. Das Axiom (S1)
beschreibt die Gleichheitsbeziehung zwischen drei Elementen und mit Axiom (S2)
ist die Fortsetzung der Gleichheit – zwei Zahlen sind gleich, wenn ihre Vorgänger
gleich sind.
• Das Axiom (S3) entspricht dem Peano-Axiom (P3), Axiom (S4) entspricht dem
Peano-Axiom (P4) und das Axiom (S9) entspricht dem Peano-Axiom (P5).
• Die Axiome S(5)–(S8) beschreiben grundlegende Eigenschaften der Addition (f12 )
und der Multiplikation (f22 ).
Die beiden ersten Peano-Axiome (P1) und (P2) sind durch die Festlegung von a1 als
Konstantensymbol bzw. f11 als die Nachfolgerfunktion umgesetzt. Damit haben wir eine
formale Theorie 1. Ordnung für die Zahlentheorie bestimmt.
Hier noch einmal die Axiome mit der eingängigeren Schreibweise:
(S1) x1 = x2 → (x1 = x3 → x2 = x3 )
(S2) x1 = x2 → x01 = x02
(S3) ¬(0 = x01 ) oder abkürzend dafür 0 6= x01
(S4) x01 = x02 → x1 = x2
(S5) x1 + 0 = x1
(S6) x1 + (x02 ) = (x1 + x2 )0
(S7) x1 · 0 = 0
(S8) x1 · (x02 ) = (x1 · x2 ) + x1
(S9) Sei α eine Formel mit freier Variable x. α(0) bezeichne α[x/0], α(x) bezeichne α,
und α(x0 ) bezeichne α[x/x0 ]. Dann ist folgende Formel ein Axiom:
α(0) → (∀x α(x) → α(x0 ) → ∀x α(x)
Lemma 3.1
Alle Formeln, die aus Axiomen mittels Ersetzen von Variablen durch Terme entstehen,
sind in der Theorie S beweisbar.
help: Wieso haben wir eigentlich die Axiome mit Variablen formuliert? Alle anderen
Axiome sind doch auch mit Formeln α, β formuliert, warum diese nicht?
82
3.1. Die Theorie S
Beweis:
Da in den Axiomen (S1)–(S8) alle Variablen frei vorkommen, kann man schrittweise für
jede Variable die Generalisierung und die Regel RA4 anwenden.
Beispielhaft wollen wir den Beweis für das Axiom (S1) führen. Das entstehenden Axiomenschema bezeichnen wir mit (S1’).
(S1’): für alle Terme r, s, t gilt |−− r = s → (r = t → s = t).
S
(1)
(2)
(3)
(4)
(5)
(6)
(7)
x1 = x2 → (x1 = x3 → x2 = x3 )
(∀x1 x1 = x2 → (x1 = x3 → x2 = x3 ))
r = x2 → (r = x3 → x2 = x3 )
(∀x2 r = x2 → (r = x3 → x2 = x3 ))
r = s → (r = x3 → s = x3 )
(∀x3 r = s → (r = x3 → s = x3 ))
r = s → (r = t → s = t)
(S1)
Gen 1
RA4, 2
Gen 3
RA4, 4
Gen 5
RA4, 6
Folgende grundlegende Eigenschaften der Gleichheitsrelation – Reflexivität, Symmetrie,
Transitivität – sowie der Addition und der Multiplikation – Kommutativität, Assoziativität –
können wir auch in der Theorie S beweisen.
Lemma 3.2
Für alle Terme r, s und t sind folgende Formeln Theoreme von S.
(a) t = t
(i) t = r → s + t = s + r
(b) t = r → r = t
(j) (t + r) + s = t + (r + s)
(c) t = r → (r = s → t = s)
(k) t = r → t · s = r · s
(d) r = t → (s = t → r = s)
(l) 0 · t = 0
(e) t = r → t + s = r + s
(m) t0 · r = t · r + r
(f) t = 0 + t
(n) t · r = r · t
(g) t0 + r = (t + r)0
(o) t = r → s · t = s · r
(h) t + r = r + t
Beweis:
Wir führen nur ein einige Beweise auf, die auch als Beispiel für die fehlenden Beweise
gesehen werden können.
Ein Beweis der Formel (a)
83
3. Formale Zahlentheorie
(1)
(2)
(3)
(4)
t+0=t
(t + 0 = t) → ((t + 0 = t) → (t = t))
(t + 0 = t) → (t = t)
t=t
(S5’)
(S1’)
MP 1,2
MP 1,3
Für die Formel (b) kann man t = r |−− r = t beweisen woraus mit Hilfe des DeduktionsS
theorems die eigentliche Formel folgt.
(1)
(2)
(3)
(4)
(5)
(t = r) → ((t = t) → (r = t))
t=r
(t = t) → (r = t)
t=t
r=t
(S1’)
Hypothese
MP 2,1
Teil (a)
MP 5,4
Die Formel (e) |−− x1 = x2 → x1 + x3 = x2 + x3 beweisen wir mittels Induktion über x3 .
S
help: Die Formel |−− t = r → t + s = r + s ist aber mit Termen und nicht mit Variablen.
S
Arbeiten wir hier mit (S9) oder (S9’)
1. Für den Induktionsanfang α(0) müssen wir x1 = x2 → x1 + 0 = x2 + 0 zeigen
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
x1 + 0 = x1
x2 + 0 = x2
x1 = x2
x1 + 0 = x1 → (x1 = x2 → x1 + 0 = x2 )
x1 + 0 = x2
x2 + 0 = x2 → x2 = x2 + 0
x2 = x2 + 0
x1 + 0 = x2 → (x2 = x2 + 0 → x1 + 0 = x2 + 0)
x1 + 0 = x2 + 0
S5
S5
Hypothese
(c) mit t = x1 + 0
MP 1,3,4
(b)
MP 2,6
(c)
MP 5,7,8
Mit dem Deduktionstheorem folgt x1 = x2 → x1 + 0 = x2 + 0. Damit ist der
Induktionsanfang α(0) bewiesen.
2. Für den Induktionsschritt α(x3 ) → α(x03 ) zeigen wir
(x1 = x2 → x1 + x3 = x2 + x3 ) → (x1 = x2 → x1 + x03 = x2 + x03 )
84
3.1. Die Theorie S
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
x1 = x2 → x1 + x3 = x2 + x3
x1 = x2
x1 + x3 = x2 + x3
x1 + x3 = x2 + x3 → (x1 + x3 )0 = (x2 + x3 )0
(x1 + x3 )0 = (x2 + x3 )0
x1 + x03 = (x1 + x3 )0
x1 + x03 = (x2 + x3 )0
x2 + x03 = (x2 + x3 )
x2 + x03 = (x2 + x3 )0 → (x2 + x3 )0 = x2 + x03
(x2 + x3 )0 = x2 + x03
x1 + x03 = x2 + x03
Hypothese
Hypothese
MP 1,2
S2
MP 3,4
S6 und (b)
(c), MP 5,6
S6
(b)
MP 8,9
(c), MP 7,10
Damit ist bewiesen:
x1 = x2 , x1 = x2 → x1 + x3 = x2 + x3 |−− x1 + x03 = x2 + x03
S
Mit zweimaliger Anwendung des Deduktionstheorems folgt
|−− (x1 = x2 → x1 + x3 = x2 + x3 ) → x1 = x2 → x1 + x03 = x2 + x03
S
Darauf wenden wir noch einmal die Generalisierung an und bekommen
|−− ∀x3 (x1 = x2 → x1 + x3 = x2 + x3 ) → x1 = x2 → x1 + x03 = x2 + x03
S
{z
|
α(x3 )
}
|
{z
α(x03 )
}
Bis jetzt haben wir |−− α(0) und |−− (∀x3 α(x3 ) → α(x03 )) gezeigt.
S
(1)
(2)
(3)
(4)
(5)
(6)
S
α(0)
(∀x3 α(x3 ) → α(x03 ))
α(0) → ((∀x3 α(x3 ) → α(x03 )) → (∀x3 α(x3 )))
(∀x3 α(x3 ) → α(x03 )) → (∀x3 α(x3 ))
∀x3 α(x3 )
α(x3 )
Es gilt also |−− α(x3 ) = x1 = x2 → x1 + x3 = x2 + x3 .
S
S9
MP 1,3
MP 3,4
RA4 mit 5
Die Beweise in der Zahlentheorie laufen also wie gewohnt, aber wie es nicht anders zu
erwarten war, werden die Beweise schnell lang.
In der Theorie S – wie auch bei den Peano-Axiomen – gibt es keine Symbole für natürliche
Zahlen außer der 0. Der Nachfolger von 0 ist 00 , und das ist im intuitiven Verständnis die
85
3. Formale Zahlentheorie
1. Wir führen die abkürzende Schreibweise 1 für 00 , 2 für 000 , . . . und entsprechend m für
m-mal
z}|{
0 0 · · ·0 ein.
Den Strich über den Zahlen setzen wir, um die Symbole für die Elemente unserer Theorie S
von den natürlichen Zahlen abzuheben. Denn bereits der Strich 0 war eine Abkürzung für
f11 .
2 = 1 + 1 ist
000 = 00 + 00
ist
A21 f11 f11 (a1 ) , f12 f11 (a1 ), f11 (a1 )
Lemma 3.3
Sei t ein Term. Dann gilt
(a) |−− t + 1 = t0
S
(b) |−− t · 1 = t
S
Beweis:
Der Beweis für die Addition mit 1:
(1)
(2)
(3)
(4)
(5)
t+0=t
t + 0 = t → (t + 0)0 = t0
(t + 0)0 = t0
t + 00 = (t + 0)0
t + 00 = t0
(S5’)
(S2’)
MP 1,2
(S6’)
Lemma 3.2 (c) Trans. von = mit 4,3
Der Beweis für die Multiplikation mit 1:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
t·0=0
t·0=0→t·0+t=0+t
t·0+t=0+t
t · 00 = t · 0 + t
t · 00 = 0 + t
t=0+t
t · 00 = 0 + t → (t = 0 + t → t · 00 = t)
t · 00 = t
Lemma 3.4
Seien m und n natürliche Zahlen.
(a) Falls m = n, dann gilt |−− m = n.
S
86
(S7’)
Lemma 3.2 (e)
MP 1,2
(S8’)
Trans. von = mit 4,3
Lemma 3.2 (f)
Lemma 3.2 (d)
MP 5,6,7
3.1. Die Theorie S
(b) Falls m 6= n, dann gilt |−− ¬(m = n).
S
(c) |−− n + m = n + m
S
Beweis:
(a) Folgt aus Lemma 3.2 (a).
(b) Für den Beweis benötigen wir das Theorem |−− ¬(t = s) → ¬(t0 = s0 ), welches sich
S
leicht durch den modus ponens aus Axiom (S4) (t0 = s0 → t = s) und Lemma 1.12
(|−− (α → β) → (¬β → ¬α)) herleiten lässt.
S
Fall 1: Wenn n > m, dann ist n − m − 1 ≥ 0 und kann daher als n − m − 1
geschrieben werden.
(1)
0 6= n − m − 1
0
S4
0
0
(2)
0 6= n − m → 0 6= n − m
(3)
1 6= n − m0
(4)
Vorbem.
MP 1,2
0
1 6= n − m + 1 → 1 6= n − m + 1
0
(5) 2 6= n − m + 2
..
..
.
.
(2m)
(2m + 1)
Vorbem.
MP 3,4
..
.
0
m − 1 6= n − 1 → m − 1 6= n − 1
0
m 6= n
Vorbem.
MP 2m − 1,2m
Fall 2: Wenn m > n, dann ist m − n − 1 zulässig. Mit dem Beweis im Fall 1 erhalten
wir nach 2n + 1 Schritten das Ergebnis n 6= m.
Wir können aber leicht mit Lemma 1.12 und Lemma 3.2 (b) die Symmetrie
des Ungleichheitszeichens (|−− t 6= r → r 6= t) zeigen und damit unter Einsatz
S
des modus ponens’ das Theorem m 6= n herleiten.
(c) Zuvor ein kurzer Beweis für |−− t0 + r = t + r0
S
(1)
(2)
(3)
(4)
t0 + r
t + r0
t0 + r
t0 + r
= (t + r)0
= (t + r)0
= (t + r)0 → (t + r0 = (t + r)0 → t0 + r = t + r0 )
= t + r0
Lemma 3.2 (g)
(S6’)
Lemma 3.2 (c)
MP 1,2,3
87
3. Formale Zahlentheorie
Damit können wir nun den eigentlichen Beweis antreten:
(1)
n+m=n+m−1
0
(2)
n+m−1+1=n+m−1
(3)
n+m=n+m−1+1
(4)
0
(6)
MP 1,2,Lemma 3.2 (d)
0
nach Vorbem.
=2
=n+m−1
n+m=n+m−2+2
0
MP 3,4,Lemma 3.2 (c)
0
n+m
− 3} +2 = n + m − 3 + |{z}
2
{z
|
(7)
..
.
Lemma 3.3 (a)
n+m
− 2} +1 = n + m − 2 + |{z}
1
{z
|
(5)
nach Def. von n
0
=n+m−2
nach Vorbem.
=3
n+m=n+m−3+3
..
.
MP 5,6,Lemma 3.2 (c)
..
.
(2m − 1) n + m = n + m − (m − 1) + m − 1
(2m)
(2m + 1)
0
n + m − m0 + m − 1 = n + m − m + m − 1
n+m=n+m
help: Ist der Beweis in Ordnung?
Weitere abkürzende Schreibweisen:
t < s . . . für (∃w w 6= 0 ∧ t + w = s)
t ≤ s . . . für t < s ∨ t = s
t > s . . . für s < t
t ≥ s . . . für s ≤ t
t 6< s . . . für ¬t < s
3.1.1. Modelle für die Theorie S
Das Standardmodell für S besteht aus den natürlichen Zahlen als Grundmenge und der
„intuitiven“ Interpretation der übrigen Symbole.
• Grundmenge: die natürlichen Zahlen
• das Konstantensymbol 0 wird durch die natürliche Zahl 0 interpretiert
• f11 (0 ) wird durch Addition mit 1 interpretiert
• f12 und f22 werden durch Addition und Multiplikation interpretiert
• A21 wird durch die Gleichheitsrelation interpretiert
88
3.1. Die Theorie S
„Offensichtlich“ sind die Axiome von S wahr im Standardmodell. Damit folgt auch, dass
alle beweisbaren Formeln wahr sind.
Das Standardmodell ist jedoch nicht das einzige Modell für S. Es gibt auch Modelle für
S mit überabzählbarer Grundmenge . . . help: Wieso? Worauf fußt diese Behauptung?
help: Laut Hilbert Levitz lässt sich ein solches Modell mit dem Ultraprodukt aus der
Modelltheorie konstruieren. Weiß jemand wie das funktioniert?
Versuche ein Modell M für S zu finden, das nicht die natürlichen Zahlen als Grundmenge
hat. Erweitern wir die Grundmenge um die Elemente p0 , p1 , p2 , . . ., wobei p1 Nachfolger
von p0 und p2 Nachfolger von p1 ist usw. Eine mögliche Interpretation von + wäre
dann:
(f12 )M (a, b) =


a+b




p
i+j

pa+i





pi+b
falls
falls
falls
falls
a, b ∈ N
a = pi , b = pj
a ∈ N, b = pi
a = pi , b ∈ N
Da (pk )0 = pk+1 = pk + p1 , muss p1 = 1 sein, damit jedes Element nur Nachfolger
genau eines Elements ist. Aber dann haben wir die natürlichen Zahlen. Versuch gescheitert.
Satz 3.1 (Endlichkeitssatz – Compactness Theorem)
Sei S eine unendliche Menge von Formeln. S hat ein Modell genau dann, wenn jede
endliche Teilmenge von S ein Modell hat.
/
(In der Aussagenlogik: Sei T eine unendliche Menge aussagenlogischer Formeln. Es gibt
eine Belegung, die alle Formeln in T erfüllt, genau dann, wenn jede endliche Teilmenge
von T eine erfüllende Belegung besitzt.)
Wir benötigen die Größerrelation x > y : (∃z ∈ N z =
6 0 ∧ x = y + z). Für die unendliche
Formelmenge C = {c > 0, c > 1, c > 2, c > 3, . . . } gibt es für jede Teilmenge ein Modell M̃
mit der Interpretation cM̃ = c + 1.
Aber im Modell M für C kann c nicht durch ein Element von N interpretiert werden.
Unser Ziel ist es, eine Formel der Zahlentheorie anzugeben, die wahr ist und die man
nicht beweisen kann. In der Prädikatenlogik gibt es eine solche Formel nicht, aber in der
Zahlentheorie gibt es sie. Die Grundidee dieser Formel ist eine Paradoxie wie „Dieser Satz
ist falsch.“ In einer formalen Theorie kann man nicht über wahr und falsch sprechen, dafür
aber über beweisbar und nicht beweisbar. Die zu formulierende Aussage geht also in die
Richtung „Diese Formel ist nicht beweisbar.“ Wäre diese Aussage beweisbar, dann wäre
eine falsche Aussage beweisbar (Widerspruch zur Korrektheit der Zahlentheorie). Also
muss sie nicht beweisbar sein, womit sie auch eine wahre Aussage ist.
89
3. Formale Zahlentheorie
Das Problem liegt nun darin, eine solche Aussage in der Zahlentheorie zu formulieren,
da man nur über natürliche Zahlen und deren Eigenschaften sprechen kann. Also muss
man eine Übersetzung (Kodierung) von Formeln, Beweisen usw. in die natürlichen
Zahlen finden. Soetwas haben wir schonmal bei der Betrachtung der Abzählbarkeit
von Formeln im Abschnitt 2.4.1 gemacht und werden es jetzt noch viel ausführlicher
auswalzen. In diesem Zusammenhang heißt diese Übersetzung Arithmetisierung von
Formeln.
Die Eigenschaften von Formeln lassen sich dann durch Eigenschaften von natürlichen
Zahlen ausdrücken. Eine Formel α mit einer freien Variablen x1 kann als Darstellung
der Menge {n ∈ N : |−− α[x1 /n]} aufgefasst werden. Also lassen sich Eigenschaften von
S
Formeln durch Formeln darstellen. Was für Eigenschaften (Relationen) geht, geht auch für
Funktionen auf den natürlichen Zahlen. Wir werden den Begriff der Repräsentierbarkeit
von Relationen und Funktionen in S kennenlernen.
Wir wissen, dass es abzählbar viele Formeln und überabzählbar viele Eigenschaften von
Formeln gibt. Ist es dann überhaupt möglich, die Eigenschaft der Beweisbarkeit – also
die Menge {n ∈ N : n ist Kodierung einer in S beweisbaren Formel} – durch eine Formel
in S darzustellen? Die Darstellung von Mengen in S erscheint auf den ersten Blick recht
kompliziert, aber es gibt ein sehr schönes Werkzeug dafür: die (primitiv-)rekursiven
Funktionen.
Die hier angerissenen Begriffe werden nun in umgekehrter Reihenfolge betrachtet. Wir
beginnen mit den (primitiv-)rekursiven Funktionen, zeigen dann die Verbindung zwischen diesen Funktionen und S und kommen schließlich zur Arithmetisierung und in S
repräsentierbaren Eigenschaften von Formeln.
3.2. Primitiv-rekursive Funktionen
Die primitiv-rekursiven Funktionen lassen sich mittels Komposition und Rekursion auf
folgenden einfache Basisfunktionen zurückführen:
• die (konstante) Nullfunktion Z : ∅ → N mit Z( ) = 0
• die Nachfolgerfunktion N : N → N mit N (n) = n + 1
(k)
• die Projektionsfunktionen Ui
und 1 ≤ i ≤ k.
(k)
: Nk → N mit Ui (x1 , . . . , xk ) = xi wobei k ∈ N+
Definition 3.1 (Komposition)
Seien f : Nk → N und g1 , . . . , gk : Nl → N Funktionen auf den natürlichen Zahlen. Die
Funktion h : Nl → N mit
h(x1 , . . . , xl ) = f g1 (x1 , . . . , xl ), . . . , gk (x1 , . . . , xl )
entsteht aus f und g1 , . . . , gk durch Komposition.
90
/
3.2. Primitiv-rekursive Funktionen
Beispiel 3.1
Die Funktion h : N → N mit h(x) = 2 · x entsteht aus f : N2 → N mit f (x, y) = x + y und
g1 , g2 : N → N mit g1 (x) = g2 (x) = x durch Komposition. Es gilt h(x) = f g1 (x), g2 (x) .
Aus den Funktionen f : N3 → N mit f (x, y, z) = x + y + z und g1 , g2 , g3 : N2 → N mit
g1 (x, y) = x2 , g2 (x, y) = h(x) und g3 (x, y) = y 2 entsteht durch Komposition die Funktion
h0 : N2 → N mit h0 (x, y) = x2 + 2x + y 2 .
/
Definition 3.2 (totale Funktion)
Eine Funktion f : Γ → Ω heißt total, falls für alle x ∈ Γ ein y ∈ Ω existiert, so dass
f (x) = y. Mit anderen Worten: Die Funktion f ist auf ganz Γ definiert.
/
Definition 3.3
Sei k ∈ N und g : N2 → N eine totale Funktion. Dann entsteht die Funktion h : N → N
mit h(0) = k und h(n + 1) = g(n, h(n)) aus k und g mittels Rekursion.
/
Die Rekursion ist stets endlich. Wenn h durch Rekursion aus g und k entsteht, dann gilt
zum Beispiel
h(5) = g 4, h(4) = g 4, g(3, h(3)) = g 4, g 3, g(2, h(2))
= g 4, g 3, g 2, g(1, h(1))
= g 4, g 3, g 2, g 1, g(0, h(0))
= g 4, g 3, g 2, g 1, g(0, k)
Zum Beispiel könnte die Funktion h durch Rekursion mit k = 0 und g(x, y) = x + y
definiert sein. Dann gilt:
h(0) = k = 0
und
h(n + 1) = g(n, h(n)) = n + h(n)
Die Funktion h(n) ist also die Summe der Zahlen von 0 bis n − 1.
Die Definition 3.3 der Rekursion diente der Veranschaulichung der wesentlichen Eigenschaften. Rekursion ist natürlich auch für mehrstellige Funktionen definiert. Dabei dient
eines der Argumente für die Rekursion. Die anderen Argumente werden nur „mitgeschleift“.
Definition 3.4
Seien f : Nk → N und g : Nk+2 → N. Die Funktion h : Nk+1 → N entsteht mittels Rekursion
aus f und g, falls
h(x1 , . . . , xk , 0) = f (x1 , . . . , xk )
und
h(x1 , . . . , xk , n + 1) = g n, h(x1 , . . . , xk , n), x1 , . . . , xk .
/
91
3. Formale Zahlentheorie
Definition 3.5 (primitiv-rekursive Funktion)
Eine Funktion heißt primitiv-rekursiv , wenn sie
• die Nullfunktion, die Nachfolgerfunktion, oder eine Projektionsfunktion ist, oder
• durch Komposition oder Rekursion aus primitiv-rekursiven Funktionen entsteht.
Ein Prädikat R ⊆ Nk heißt primitiv-rekursiv , falls die zu R gehörende charakteristische
Funktion χR : Nk → N mit
(
χR (x1 , . . . , xk ) =
0,
1,
falls (x1 , . . . , xk ) ∈
/R
falls (x1 , . . . , xk ) ∈ R
primitiv-rekursiv ist. Anstelle von χR schreiben wir der Einfachheit halber auch R.
/
Einige wichtige primitiv-rekursive Funktionen und Prädikate
Lemma 3.5
Die Additionsfunktion fadd : N2 → N mit fadd (x, y) = x + y ist primitiv-rekursiv.
Beweis:
Zuerst überlegen wir informell, wie man die Additionsfunktion rekursiv über y definieren
kann. Es gilt
x+0=x
x + (y + 1) = (x + y) + 1
Formal lässt sich das wie folgt schreiben:
(1)
fadd (x, 0) = U1 (x)
(3)
fadd (x, y + 1) = N (U2 (y, fadd (x, y), x))
(1)
fadd entsteht durch Rekursion aus der Projektionsfunktion U1 und der dreistelligen
(3)
Funktion g : N3 → N mit g(y, z, x) = N (U2 (y, z, x)). Da g durch Komposition aus der
(3)
Nachfolgerfunktion N und der Projektionsfunktion U2 entsteht, ist g und damit auch
fadd primitiv-rekursiv.
Beispiel 3.2
(1)
Die Funktion h(x) = 2 · x aus Beispiel 3.1 ist mit f = fadd und g1 = g2 = U1 somit
(1)
(1)
auch primitiv-rekursiv. Es gilt f (x) = fadd U1 (x), U1 (x) .
92
/
3.2. Primitiv-rekursive Funktionen
Lemma 3.6
Die Multiplikationsfunktion fmul : N2 → N mit fmul (x, y) = x · y. Zuerst schreiben wir
die Rekursion wieder informell auf:
x·0=0
x · (y + 1) = (x · y) + x
Formal ist das
fmul (x, 0) = N (1) (x)
(3)
(3)
fmul (x, y + 1) = fadd U2 (y, fmul (x, y), x), U3 (y, fmul (x, y), x)
Die Funktionen, aus denen fmul mittels Rekursion entsteht, sind primitiv-rekursiv, also
ist fmul ebenfalls primitiv-rekursiv.
/
Lemma 3.7
Die Fakultätsfunktion ffak : N → N mit ffak (x) = x! ist primitiv-rekursiv. Es gilt:
0! = 1
(y + 1)! = y! · (y + 1)
Formal ist das
ffak (0) = N (Z( ))
(2)
ffak (y + 1) = fmul N U1
(2)
y, ffak (y) , U2
y, ffak (y)
/
Lemma 3.8
Die konstanten Nullfunktionen Z (k) : Nk → N mit einer beliebigen Anzahl an Stellen,
wobei Z (k) (x1 . . . , xk ) = 0 ist, sind primitiv-rekursiv.
Offensichtlich ist Z (0) = Z. Wir definieren Z (k+1) induktiv aus Z (k) mittels Rekursion.
Z (k+1) (x1 , . . . , xk , 0) = Z (k) (x1 , . . . , xk )
(k+2)
Z (k+1) (x1 , . . . , xk , n + 1) = U2
(= 0)
(n, Z (k+1) (x1 , . . . , xk , n), x1 , . . . , xk )
(= 0)
/
Lemma 3.9
Die Potenzfunktion fpot : N2 → N mit fpot (x, y) = xy . Es gilt
x0 = 1
x(y+1) = (xy ) · x
Formal
fpot (x, 0) = N (Z (1) (x))
(3)
(3)
fpot (x, y + 1) = fmul U2 (y, fpot (x, y), x), U3 (y, fpot (x, y), x)
/
93
3. Formale Zahlentheorie
Lemma 3.10
Die Dekrementfunktion fdec : N → N mit fdec (x) = x −· 1. Es gilt
0 −· 1 = 0
(x + 1) −· 1 = x
und damit
fdec (0) = Z( )
(2)
fdec (x + 1) = U1 (x, fdec (x))
/
Lemma 3.11
Die Subtraktionsfunktion fsub : N2 → N mit fsub (x, y) = x −· y ist primitiv-rekursiv. Es
gilt
x −· 0 = x
x −· (y + 1) = (x −· y) −· 1
und damit
(1)
fsub (x, 0) = U1 (x)
(3)
fsub (x, y + 1) = fdec (U2 (y, fsub (x, y), x))
/
Lemma 3.12
Die Abstandsfunktion fabst : N2 → N mit fabst (x, y) = |x − y| ist primitiv-rekursiv. Es
gilt
|x − y| = (x −· y) + (y −· x).
(2)
(2)
Also ist fabst (x, y) = fadd fsub (x, y), fsub (U2 (x, y), U1 (x, y)) .
/
Lemma 3.13
Das Gleichnullprädikat α : N → {0, 1} mit
1, falls x = 0
0, sonst
(
α(x) =
ist primitiv-rekursiv. Diese Funktion kann man gleich formal aufschreiben.
α(0) = N (Z (0) ( ))
α(x + 1) = Z (2) (x, α(x))
Ebenso ist das Ungleichnullprädikat α : N → {0, 1} mit
0, falls x = 0
1, sonst
(
α(x) =
primitiv-rekursiv, da α(x) = 1 −· α(x).
94
/
3.2. Primitiv-rekursive Funktionen
Lemma 3.14
Für das Gleichheitsprädikat x = y gilt: x = y genau dann, wenn |x − y| = 0. Also
ist (x = y) = α(|x − y|) oder formal ausgedrück α(fabst (x, y)). Somit ist auch das
Gleichheitsprädikat primitiv-rekursiv.
/
Lemma 3.15
Für das Kleinergleichprädikat x ≤ y gilt: x ≤ y genau dann, wenn x −· y = 0. Also lässt
· y) beschreiben – das Kleinergleichprädikat ist damit primitivsich x ≤ y formal mit α(x −
rekursiv.
/
3.2.1. Allgemeinere Konstruktoren für primitiv-rekursive Funktionen
In der Definition 3.5 der primitiv-rekursiven Funktionen gibt es nur die Konstruktoren
Komposition und Rekursion. Wir betrachten jetzt weitere Konstruktoren für Funktionen,
die das formale Aufschreiben von Funktionen erleichtern. Mit Ausnahme des (unbeschränkten) Minimum-Konstruktors kann man mit diesen Konstruktoren aus primitiv-rekursiven
Funktionen auch nur primitiv-rekursive Funktionen erzeugen.
Die üblichen logischen Verknüpfungen von Prädikaten können durch primitiv-rekursive
arithmetische Operationen dargestellt werden.
Satz 3.2
Seien P und Q primitiv-rekursive Prädikate. Dann sind die Prädikate ¬P , P ∧ Q und
P ∨ Q primitiv-rekursiv.
Beweis:
Wir führen die charakteristischen Funktionen der neuen Prädikate auf bekannte primitivrekursive Funktionen und die charakteristische Funktion der bekannten Prädikate zurück.
Es ist leicht zu sehen, dass χ¬P (x) = α(χP (x)), χP ∧Q (x) = χP (x) · χQ (x) und χP ∨Q (x) =
χ¬(¬P ∧¬Q) (x) = α(α(χP (x)) · α(χQ (x))).
Prädikate werden zum Beispiel in Funktionen benutzt, die durch Fallunterscheidung
beschrieben werden. Dieses Mittel kann man auch für primitiv-rekursive Funktionen
verwenden.
Satz 3.3 (Fallunterscheidung)
Seien g : Nk → N und h : Nk → N primitiv-rekursive Funktionen, und P ⊆ Nk sei ein
primitiv-rekursives Prädikat. Dann ist auch die Funktion f : Nk → N mit
(
f (x1 , . . . , xk ) =
g(x1 , . . . , xk ), falls (x1 , . . . , xk ) ∈ P
h(x1 , . . . , xk ), sonst
primitiv-rekursiv.
95
3. Formale Zahlentheorie
Beweis:
Offensichtlich gilt
f (x1 , . . . , xk ) = g(x1 , . . . , xk ) · χP (x1 , . . . , xk ) + h(x1 , . . . , xk ) · α χP (x1 , . . . , xk )
Also ist f primitiv-rekursiv.
Eine Fallunterscheidung mit mehr als zwei Fällen, die durch primitiv-rekursive Prädikate
entschieden wird, ist ebenfalls primitiv-rekursiv. Der Beweis verläuft analog dem Beweis
für die einfache Fallunterscheidung.
Als erstes Beispiel für eine rekursive Funktion hatten wir die Summe der ersten n
natürlichen Zahlen betrachtet. Die Summe der Werte einer primitiv-rekursiven Funktion,
bei der ein Argument hochgezählt wird, ist ebenfalls primitiv-rekursiv. Gleiches gilt für
das Produkt.
Satz 3.4
Sei f : Nk+1 → N eine primitiv-rekursiv Funktion. Dann sind ebenfalls die beiden Funktionen g, h : Nk+1 → N primitiv-rekursiv.
g(x1 , . . . , xk , y) =
h(x1 , . . . , xk , y) =
y
X
t=0
y
Y
f (x1 , . . . , xk , t)
f (x1 , . . . , xk , t)
t=0
Beweis:
Sei f : Nk+1 → N primitiv-rekursiv. Durch Komposition können wir mit den zusätzlichen,
(k)
(k)
primitiv-rekursiven Funktionen U1 , . . ., Uk
f 0 : Nk → N konstruieren:
und Z (k) die primitiv-rekursive Funktion
f 0 (x1 , . . . , xk ) = f (x1 , . . . , xk , 0)
(k)
(k)
= f U1 (x1 , . . . , xk ) , . . . , Uk (x1 , . . . , xk ) , Z (k) (x1 , . . . , xk )
(k+2)
Weiterhin konstruieren wir die Funktion f 00 : Nk+1 → N durch Komposition aus U3
(k+2)
. . ., Uk+2 und N :
(k+2)
f 00 (y, z, x1 , . . . , xk ) = f (U3
96
(k+2)
(k+2)
, . . . , Uk+2 , N (U1
))
,
3.2. Primitiv-rekursive Funktionen
Nun können wir g und h mittels Rekursion definieren:
g(x1 , . . . , xk , 0) = f 0 (x1 , . . . , xk )
(k+2)
g(x1 , . . . , xk , y + 1) = ϕ(y, g(x1 , . . . , xk , y), x1 , . . . , xk ) = fadd (U2
(. . . ), f 00 (. . . ))
= g(x1 , . . . , xk , y) +f (x1 , . . . , xk , N (y))
|
=
y
P
{z
}
f (x1 ,...,xk ,t)
t=0
h(x1 , . . . , xk , 0) = f 0 (x1 , . . . , xk )
(k+2)
h(x1 , . . . , xk , y + 1) = ψ(y, h(x1 , . . . , xk , y), x1 , . . . , xk ) = fmul (U2
(. . . ), f 00 (. . . ))
= h(x1 , . . . , xk , y) ·f (x1 , . . . , xk , N (y))
|
=
y
Q
{z
}
f (x1 ,...,xk ,t)
t=0
Man muss die Summe bzw. das Produkt nicht unbedingt mit dem Index 0 beginnen.
Folgender Satz zeigt, dass jeder beliebige Index möglich ist:
Satz 3.5
Sei f : Nk+1 → N primitiv-rekursiv. Dann sind auch die folgenden Funktionen primitivrekursiv.
g(x1 , . . . , xk , y) =
h(x1 , . . . , xk , y) =
y
X
t=1
y
Y
f (x1 , . . . , xk , t)
f (x1 , . . . , xk , t)
t=1
Beweis:
Mit
y
X
t=1
f (x1 , . . . , xk , t) =
y
X
f (x1 , . . . , xk , t) −· f (x1 , . . . , xk , 0)
t=0
folgt dieser Satz direkt aus Satz 3.4. Für das Produkt muss man eine getrennte Betrachtung
des Spezialfalls f (x1 , . . . , xk , 0) = 0 vornehmen.
Die Argumente von Prädikaten lassen sich auch quantifizieren. Wir benutzen dafür
sogenannte beschränkte Quantoren, die nur über einem Anfangsabschnitt [0, . . . , y] der
natürlichen Zahlen definiert sind. Sei P ein (k + 1)-stelliges Prädikat. Dann ist das
ebenfalls (k + 1)-stellige Prädikat E mit
E(x1 , . . . , xk , y) = (∃t)≤y P (x1 , . . . , xk , t)
97
3. Formale Zahlentheorie
genau dann wahr, wenn es (mindestens) ein t ≤ y gibt, für das P (x1 , . . . , xk , t) gilt.
Entsprechend ist das (k + 1)-stellige Prädikat A mit
A(x1 , . . . , xk , y) = (∀t)≤y P (x1 , . . . , xk , t)
genau dann wahr, wenn P (x1 , . . . , xk , t) für alle t ≤ y wahr ist. Diese beschränkten Quantoren können durch primitiv-rekursive Konstrukte beschrieben werden.
help: Wieso sprechen wir hier von wahr und falsch, wenn die Prädikate doch nur mit
0 und 1 definitiert sind? Sollte man nicht besser mit der charakteristischen Funktion
arbeiten und nicht mit dem Prädikat?
Satz 3.6
Sei P : Nk+1 → N ein primitiv-rekursives Prädikat. Dann sind auch die folgenden mit
beschränkten Quantoren definierten Prädikate primitiv-rekursiv.
(∃t)≤y P (x1 , . . . , xk , t)
und
(∀t)≤y P (x1 , . . . , xk , t)
Beweis:
Beim Summieren aller Werte P (x1 , . . . , xk , t) für alle t = 0, 1, 2, . . . , k erhält man einen
Wert größer 0 genau dann, wenn es ein t ≤ y mit P (x1 , . . . , xk , t) gibt. Also gilt
(∃t)≤y P (x1 , . . . , xk , t) =
h X
y
i
P (x1 , . . . , xk , t) 6= 0
t=0
= 1 −· α
y
X
P (x1 , . . . , xk , t)
t=0
Entsprechend ist das Produkt aller Werte P (x1 , . . . , xk , t) für alle t = 0, 1, 2, . . . , k gleich
1 genau dann, wenn P (x1 , . . . , xk , t) für alle t = 0, 1, 2, . . . , k gilt. Also gilt
(∀t)≤y P (x1 , . . . , xk , t) =
h Y
y
i
P (x1 , . . . , xk , t) = 1
t=0
=
y
Y
P (x1 , . . . , xk , t)
t=0
Als Beispiel betrachten wird das Teilbarkeitsprädikat y | x („y teilt x“). y | x ist genau
dann wahr, wenn es ein t ≤ x gibt, so dass t · y = x. Das dreistellige Prädikat P für diese
Beziehung mit P (x, y, t) = (t · y = x) ist primitiv-rekursiv. Nach Satz 3.6 ist dann auch
das Prädikat
Q(x, y, z) = (∃t)≤z P (x, y, t)
98
3.2. Primitiv-rekursive Funktionen
primitiv-rekursiv. Somit lässt sich das Teilbarkeitsprädikat T (x, y) = (y | x) informell
als T (x, y) = Q(x, y, y) beschreiben. Formal kann man es durch Komposition aus Q und
Projektionsfunktionen beschreiben:
(2)
(2)
(2)
T (x, y) = Q U1 (x, y), U2 (x, y), U2 (x, y)
Der beschränkte Allquantor kann zur Beschreibung der Primzahleigenschaft benutzt
werden. Das Prädikat prim(x) ist wahr genau dann, wenn x eine Primzahl ist. x ist
eine Primzahl genau dann, wenn jeder Teiler von x entweder 1 oder x ist. Da x keinen
größeren Teiler als sich selbst besitzen kann, folgt
prim(x) = x > 1 ∧ (∀t)≤x t = 1 ∨ t = x ∨ ¬(t | x)
3.2.2. Beschränkte Minimierung
Der Existenzquantor liefert nur eine Antwort darauf, ob eine Zahl mit einer bestimmten Eigenschaft existiert. Oft will man eine solche Zahl auch benutzen. Sie wird vom
min-Konstruktor geliefert, der wie folgt definiert ist. Sei P : Nk+1 → N ein (k + 1)-stelliges
Prädikat. Dann ist min P : Nk → N eine Funktion mit
min P (x1 , . . . , xk , t) =
t≤y


t,
falls es ein t ≤ y gibt mit P (x1 , . . . , xk , t)
und ¬P (x1 , . . . , xk , s) für s = 0, . . . , t − 1

0, sonst
Der min-Konstruktor kann zum Beispiel zur Beschreibung der ganzzahligen Division
x
x
= die größte ganze Zahl kleiner oder gleich
y
y
benutzt werden. Es gilt
x
·y ≤x<
y
Also ist
gilt
x
y
x
+1 ·y
y
die kleinste natürliche Zahl t mit (t + 1) · y > x. Formaler aufgeschrieben
x
= min [(t + 1) · y > x]
t≤x
y
Damit lässt sich nun auch die mod-Operation einfach darstellen.
x mod y = x −·
x
y
y·
Die beschränkte Minimierung lässt sich mit den Mitteln primitiv-rekursiver Funktionen
beschreiben.
99
3. Formale Zahlentheorie
Satz 3.7
Sei P : Nk+1 → N ein primitiv-rekursives Prädikat und f : Nk+1 → N sei definiert als
f (y, x1 , . . . , xk ) = min P (x1 , . . . , xk , t)
t≤y
Dann ist f primitiv-rekursiv.
Beweis:
Zuerst betrachten wir den Fall, dass P (x1 , . . . , xk , t) für ein t ≤ y gilt, und sei t0 =
min P (x1 , . . . , xk , t). Dann ist P (x1 , . . . , xk , u) = 0 für u = 0, 1, 2, . . . , t0 − 1. Damit folgt
t≤y
für alle s = 0, 1, 2, . . . , t0 − 1
s
X
P (x1 , . . . , xk , u) = 0
u=0
Wegen P (x1 , . . . , xk , t0 ) = 1 folgt für alle s = t0 , t0 + 1, . . . , y
s
X
P (x1 , . . . , xk , s) ≥ 1
u=0
Also gilt
t0 = Anzahl aller s ≤ y mit
s
X
P (x1 , . . . , xk , u) = 0
u=0
=
y
s
X
X
α
s=0
P (x1 , . . . , xk , u)
u=0
Das schreiben wir als Funktion g : Nk+1 → N auf. Definiere
g(y, x1 , . . . , xk ) =
y
s
X
X
α
s=0
P (x1 , . . . , xk , u)
u=0
Da P primitiv-rekursiv ist, ist g ebenfalls primitiv-rekursiv. Durch Fallunterscheidung
kann jetzt noch der Fall abgefangen werden, dass das gesuchte Minimum nicht existiert.
Damit ergibt sich
g(y, x1 , . . . , xk ),
0,
(
f (y, x1 , . . . , xk ) =
falls (∃t)≤y P (x1 , . . . , xk , t)
sonst
Also ist f primitiv-rekursiv.
Als weiteres Beispiel für die Benutzung des min-Operators zeigen wir, dass die Funktion
p : N → N mit
p(n) = die n-te Primzahl
100
3.2. Primitiv-rekursive Funktionen
primitiv-rekursiv ist. Die unendliche Folge von Primzahlen beginnt mit 2, 3, 5, 7, 11, 13.
Die erste Primzahl ist also 2, d. h. p(0) = 2. Aus dem (oder besser: einem) Beweis des
Satzes, dass es unendlich viele Primzahlen gibt, folgt p(n + 1) ≤ p(n)! + 1. Damit ist
schon mal eine Schranke gefunden, bis zu der nach der nächsten Primzahl gesucht werden
muss. Dann ist p(n + 1) die kleinste Zahl t ≤ p(n)! + 1, die größer als p(n) und eine
Primzahl ist. Als einen ersten informellen Ansatz beschreiben wir die Funktion p damit
wie folgt.
p(0) = 2
p(n + 1) =
min
t≤p(n)!+1
[prim(t) ∧ t > p(n)]
Formaler definieren wir zunächst eine primitiv-rekursive Funktion h mit
h(y, z) = min [prim(t) ∧ t > y]
t≤z
und darüber die Funktion q mit
q(y, m) = h(m, m! + 1)
Damit gilt schließlich
p(0) = 2
p(n + 1) = q(n, p(n))
3.2.3. Kodieren und Dekodieren von Folgen von natürlichen Zahlen
Primzahlen können zur Kodierung von Folgen von natürlichen Zahlen durch natürliche
Zahlen verwendet werden. Die Folge a0 , a1 , . . . , an mit an 6= 0 wird kodiert als 2a0 · 3a1 ·
5a2 · · · pann , wobei pi die i. Primzahl ist (p0 = 2). Da die Zerlegung von natürlichen Zahlen
in Primfaktoren eindeutig ist, lassen sich die einzelnen Elemente der Folge dekodieren.
Dabei ist dek(m, i) die Potenz von pi in der Primfaktorenzerlegung von m; z. B. ist
dek(36, 2) = 0 und dek(42, 3) = 1.
dek(m, i) = min ¬((pi )i+1 | m)
i≤m
Die Funktion dek zur Dekodierung ist primitiv-rekursiv. Im Folgenden benutzen wir für
dek(m, i) als vereinfachende Schreibweise (m)i .
Die Länge einer kodierten Folge lässt sich ebenfalls primitiv-rekursiv berechnen. Dabei
ist lh(m) der größte Index i einer Primzahl pi der Primfaktorenzerlegung von m; z. B. ist
lh(23 · 37 · 118 ) = 2.
lh(m) =
m
X
(∃i)≤m (pi | m ∧ i ≥ j)
j=1
101
3. Formale Zahlentheorie
Der Ausdruck (∃i)≤m (pi | m ∧ i ≥ j) ist dabei immer dann eins, wenn m einen
Primfaktor pi mit dem Index i ≥ j hat. Dies ist genau für j = 1, 2, . . . , lh(m) der
Fall.
Die Konkatenation von zwei kodierten Folgen m = 2a0 · 3a1 · · · pakk und q = 2b0 · 3b1 · · · pbl l
0
1
l
ist m ∗ q = 2a0 · 3a1 · · · pakk · pbk+1
· pbk+2
· · · pbk+l+1
.
ln(m)
m∗q =
Y
lh(q)
pai i
Y
·
i=0
(plh(m)+1+i )bi
i=0
Wie man leicht sieht, ist die Konkatenation assoziativ.
(m ∗ q) ∗ r =
ln(m)
Y
=
lh(q)
pai i
i=0
ln(m)
Y
i=0
·
Y
(plh(m)+1+i )
bi
i=0
lh(q)
pai i ·
Y
∗r
lh(r)
Y
(plh(m)+1+i )bi ·
i=0
(plh(m)+1+lh(q)+1+i )ci
i=0
=m∗
lh(q)
Y
lh(r)
pbi i
·
i=0
Y
(plh(q)+1+i )
ci
= m ∗ (q ∗ r)
i=0
Wir werden später (wirklich?) auch Folgen von Funktionswerten kodieren. Dazu führen
wir für jede Funktion f : N → N eine Funktion f # : N → N ein, so dass f #(n) die
Kodierung von f (0), f (1), . . . , f (n − 1) ist.
Definition 3.6
Sei f : N → N eine Funktion. Dann ist f # : N → N wie folgt definiert.
f (y−1)
f #(y) = 2f (0) · 3f (1) · · · py−1
=
y−1
Y
f (i)
pi
/
i=0
Lemma 3.16
f ist genau dann primitiv-rekursiv, wenn f # primitiv-rekursiv ist.
Beweis:
f sei eine primitiv-rekursive Funktion auf den natürlichen Zahlen.
f #(0) = 1
(leeres Produkt)
#(n))
f #(n + 1) = f #(n) · pfn(n) = f #(n) · ph(n,f
n
Also ist f # primitiv-rekursiv.
Es gilt f (n) = dek(f #(n + 1), lh(f #(n + 1))). Falls f # primitiv-rekursiv ist, ist es f
also ebenfalls.
Damit lässt sich leicht nachweisen, dass die Fibonacci-Funktion fib : N → N mit fib(0) = 0,
fib(1) = 1 und fib(n + 1) = fib(n + 1) + fib(n) primitiv-rekursiv ist. (Intention: Man kann
bei der Rekursion auf beliebige Vorgängerwerte zurückgreifen)
102
3.2. Primitiv-rekursive Funktionen
3.2.4. Exkurs: Unbeschränkte Minimierung und rekursive Funktionen
Verzichtet man auf die obere Schranke für das gesuchte Minimum, dann kann der
Funktionswert von min P undefiniert sein.
min P (x1 , . . . , xk , y) =
y


min{t | P (x1 , . . . , xk , t)},



↑,
∃t ∈ N : P (x1 , . . . , xk , t)∧
∀s < t, s ∈ N : ¬P (x1 , . . . , xk , s)
sonst
Die Funktion g mit
g(x1 , . . . , xk ) = min P (x1 , . . . , xk , y)
y
entsteht aus P durch (unbeschränkte) Minimierung.
Die Subtraktionsfunktion auf den ganzen Zahlen liefert für x−y < 0 keinen Funktionswert
und kann auf den natürlichen Zahlen an diesen Stellen als undefiniert aufgefasst werden.
Formal kann das ausgedrückt werden durch
x − y = min x = y + z
z
Nimmt man Minimierung als zusätzlichen Konstruktor zu den für primitiv-rekursive
Funktionen benutzten Konstruktoren, dann wird eine neue Klasse von Funktionen definiert.
Definition 3.7 (rekursive Funktion)
Eine Funktion heißt rekursiv , falls sie
1. die Nullfunktion, die Nachfolgerfunktion, oder eine Projektionsfunktion ist, oder
2. mittels Komposition, Rekursion oder Minimierung aus rekursiven Funktionen
entsteht.
/
Offensichtlich ist jede primitiv-rekursive Funktion auch rekursiv. Es gibt jedoch rekursive
Funktionen, die nicht primitiv-rekursiv sind. Die überall undefinierte Funktion ω : N → N
ist rekursiv, da sie wie folgt definiert werden kann.
ω(n) = min[t + 1 = 0]
t
Alle primitiv-rekursiven Funktionen sind total. Also ist ω nicht primitiv-rekursiv. Es gibt
aber auch totale rekursive Funktionen, die nicht primitiv-rekursiv sind. Ein bekanntes
Beispiel ist die Ackermann-Funktion A : N2 → N. Sie wächst stärker als jede primitivrekursive Funktion. Allerdings ist es auch nicht ganz leicht zu zeigen, dass die AckermannFunktion rekursiv ist.
A(0, m) = m + 1
für y ≥ 0
A(n + 1, 0) = A(n, 1)
A(n + 1, m + 1) = A(n, A(n + 1, m))
für n ≥ 0 und m ≥ 0
103
3. Formale Zahlentheorie
3.3. Repräsentierbarkeit von Relationen und Funktionen in S
Eine k-stellige Relation auf den natürlichen Zahlen ist eine Menge R ⊆ Nk . Eine k-stellige
Funktion auf den natürlichen Zahlen ist eine Funktion f : Nk → N.
Definition 3.8 (Repräsentierbarkeit in S)
Eine k-stellige Relation R auf den natürlichen Zahlen heißt repräsentierbar in S, falls es
eine Formel α in S mit folgenden Eigenschaften gibt.
1. α hat die freien Variablen x1 , . . . , xk , und
2. für alle n1 , . . . , nk ∈ N gilt:
(1) falls (n1 , . . . , nk ) ∈ R, dann |−− α[x1 /n1 , . . . , xk /nk ]
S
(2) falls (n1 , . . . , nk ) ∈
/ R, dann |−− ¬α[x1 /n1 , . . . , xk /nk ]
S
/
Beispiel 3.3
Die Gleichheitsrelation = ist repräsentierbar in S. Sie wird repräsentiert durch die Formel
x1 = x2 (nennen wir α= ). Wir haben bereits in Lemma 3.4 bewiesen, dass folgende
Eigenschaften für alle natürlichen Zahlen n und m gelten.
(1) falls n = m, dann gilt |−− n = m (also |−− α= [x1 /n, x2 /m])
S
S
(2) falls n 6= m, dann gilt |−− ¬(n = m) (also |−− ¬α= [x1 /n, x2 /m])
S
S
Auch die Kleinerrelation < ist repräsentierbar in S durch x1 < x2 – dabei steht x1 < x2
für ∃z z 6= 0 ∧ x1 + z = x2 .
Seien n1 , n2 ∈ N.
Fall 1: n1 < n2 . Dann gibt es ein b ∈ N mit n1 + b = n2 . Es ist |−− ∃z z =
6 0 ∧ n1 + z = n2
S
zu beweisen
(1)
(2)
(3)
(4)
n1 + b = n2
b 6= 0
b 6= 0 ∧ n1 + b = n2
∃z z 6= 0 ∧ n1 + z = n2
Lemma 3.4(c)
Axiom
Konjunktionsregel
RE4
Fall 2: n1 6< n2 . Es ist |−− ¬(∃z z 6= 0 ∧ n1 + z = n2 ) zu beweisen.
S
Fall 2a: n1 = n2
(1) n1 = n2
(2) n2 < n1 ∨ n1 = n2
Fall 2b: n2 < n1
104
Lemma
Disjunktionsregel
3.3. Repräsentierbarkeit von Relationen und Funktionen in S
(1)
(2)
n2 < n1
n2 < n1 ∨ n1 = n2
wie oben
Disjunktionsregel
Also gilt: Wenn n1 6< n2 , dann |−− n2 < n1 ∨ n1 = n2 . Daraus folgt (mit einigem
Aufwand) |−− ¬(n1 < n2 )
S
/
S
Definition 3.9
Eine k-stellige Funktion f auf den natürlichen Zahlen heißt repräsentierbar in S, falls es
eine Formel α in S mit folgenden Eigenschaften gibt.
1. α hat die freien Variablen x1 , . . . , xk , xk+1 , und
2. für alle n1 , . . . , nk , m ∈ N gilt:
(1) falls f (n1 , . . . , nk ) = m, dann |−− α[x1 /n1 , . . . , xk /nk , xk+1 /m], und
S
(2) |−− (∃1 xk+1 α[x1 /n1 , . . . , xk /nk ])
S
(∃1 x α) ist abkürzende Schreibweise für (∃x α) ∧ (∀x ∀y (α ∧ α[x/y]) → x = y).
Es wird ausgedrückt, dass genau ein x existiert, das die in α beschriebenen
Eigenschaften besitzt.
f heißt streng repräsentierbar , falls Eigenschaft (2) durch die folgende Eigenschaft ersetzt
werden kann:
(2’) |−− (∃1 xk+1 α)
/
S
Beispiel 3.4
Die Additionsfunktion f : N2 → N mit f (a, b) = a + b ist streng repräsentierbar in S.
f wird repräsentiert durch die Formel α = (x1 + x2 = x3 ). help: Ist das hier fadd aus
Lemma 3.5?
1. Im Lemma 3.4 haben wir gezeigt, dass für alle n1 , n2 ∈ N die Formel n1 + n2 =
n1 + n2 in S bewiesen werden kann; d. h. α x1 /n1 , x2 /n2 , x3 /f (n1 , n2 ) .
2’. zu zeigen: |−− ∃1 x3 x1 + x2 = x3 , d. h. |−− (∃x3 x1 + x2 = x3 ) ∧ (∀x3 ∀x4 x1 + x2 =
S
x3 ∧ x1 + x2 = x4 → x3 = x4 ).
S
Erster Term:
(1)
(2)
x1 + x2 = x1 + x2
∃x3 x1 + x2 = x3
Lemma
RE4
Der zweite Term folgt aus der Symmetrie und der Transitivität der Gleichheitsrelation.
105
3. Formale Zahlentheorie
Die Dekrementfunktion f : N → N mit
0
n−1
(
f (n) =
falls n = 0
sonst
ist repräsentierbar durch (x1 = 0 ∧ x2 = 0) ∨ x1 = x02 .
1.
a) n = 0:
(1)
(2)
(3)
0=0
0=0∧0=0
(0 = 0 ∧ 0 = 0) ∨ 0 6= 0
Lemma
Konjunktionsregel mit 1
Disjunktionsregel mit 2
b) n > 0:
(1)
(2)
n=n+1
(n + 0 ∧ n = 0) ∨ n = n0
Lemma
Disjunktionsregel
2. zu zeigen ist noch |−− ∃1 x2 (x1 = 0 ∧ x2 = 0) ∨ x1 = x02
S
/
Die Nullfunktion, die Nachfolgerfunktion und die Projektionsfunktionen bilden die Basisfunktionen der primitiv-rekursiven Funktionen. Wir zeigen, dass diese Funktionen
repräsentierbar sind.
Die konstante Nullfunktion Z : ∅ → N mit Z( ) = 0 für alle n ∈ N ist streng repräsentierbar
in S. Z wird repräsentiert durch die Formel x1 = 0. Für Z( ) = m gilt m = 0, und
|−− 0 = 0 folgt aus Lemma 3.2(a). Es bleibt noch |−− (∃1 x1 x1 = 0) zu zeigen, also
S
S
(∃x1 x1 = 0) ∧ (∀x1 ∀y (x1 = 0 ∧ y = 0) → x1 = y). Der erste Teil (∃x1 x1 = 0) folgt aus
|−− 0 = 0 (Lemma 3.2(a)) und Regel RE4. Für den zweiten Teil führen wir folgenden
S
Beweis.
(1)
(2)
(3)
(4)
[t]cllx1 = 0 ∧ y = 0
x1 = 0
y=0
x1 = y
Hypothese
Konjunktionsregel mit 1
Konjunktionsregel mit 1
Trans. und Symm. von = mit 2,3
Daraus folgt mittels Deduktionstheorem und Generalisierung der zweite Teil. Mittels Konjunktionsregel fügen sich die beiden Teile zur gewünschten Formel zusammen.
Die Nachfolgerfunktion N : N → N mit N (n) = n+1 ist repräsentierbar
αN : x2 = x01
106
3.3. Repräsentierbarkeit von Relationen und Funktionen in S
(k)
Die Projektionsfunktion Ui
bar
(k)
: Nk → N mit Ui (n1 , . . . , nk ) = ni ist repräsentier-
αU (k) : x1 = x1 ∧ · · · xk = xk ∧ xk+1 = xi
i
Fügt man repräsentierbare Funktionen mittels Komposition zusammen, dann erhält man
wiederum repräsentierbare Funktionen.
Die Komposition von Funktionen: Seien g : Nk → N und h1 , . . . , hm : Nk → N repräsentierbar durch α, β1 , . . . , βm . Definiere f : Nk → N durch
f (n1 , . . . , nk ) = g(h1 (n1 , . . . , nk ), h(n1 , . . . , nk ))
Dann ist f repräsentierbar durch
∃y1 . . . ∃yn β1 (x1 , . . . , xk , y1 ) ∧ · · · ∧ βn (x1 , . . . , xk , yn ) ∧ α(y1 , . . . , yn , yk+1 )
Wir haben bereits gesehen, dass die Nullfunktionen, die Nachfolgerfunktion und die
Projektionsfunktionen in S repräsentierbar sind. Außerdem haben wir gesehen, dass
jede Funktion, die durch Komposition aus in S repräsentierbaren Funktionen entsteht,
ebenfalls in S repräsentierbar ist. Es bleibt also noch zu zeigen, dass auch mittels
Rekursion entstandene Funktionen diese Eigenschaft haben. Der „Trick“ liegt hier in
der Kodierung der Zwischenergebnisse, die bei der Berechnung einer rekursiv definierten
Funktion anfallen.
Dazu verwenden wir eine Folgerung aus dem Chinesischen Restsatz.
Korollar 3.1 (Folgerung aus dem Chinesischen Restsatz)
Seien x1 , . . . , xk paarweise teilerfremde natürliche Zahlen, und y1 , . . . , yk seien natürliche
Zahlen mit yi < xi . Dann gibt es eine natürliche Zahl z < x1 · x2 · · · xk , so dass für alle
i = 1, 2, . . . , k gilt: yi = z mod xi .
/
Korollar 3.1 kann wie folgt zur Kodierung einer Folge k0 , k1 , . . . , km von natürlichen
Zahlen verwendet werden.
1. bestimme j = max(m, k0 , k1 , . . . , km ) + 1
2. die Zahlen u0 , u1 , . . . , um mit ui = (i + 1) · j! + 1 sind paarweise teilerfremd, und es
gilt ki < ui
Sei angenommen, dass ui und uk nicht teilerfremd sind (für i < k). Dann gibt
es eine Primzahl p, die sowohl ui als auch uk teilt. Dann ist p auch Teiler von
uk − ui = (k − i) · j!. p ist kein Teiler von j!, da p dann sowohl ein Teiler von
(i + 1) · j! als auch von ui = (i + 1) · j! + 1 wäre, woraus p = 1 folgte. p ist auch
kein Teiler von k − i, da k − i < j und deshalb jeder Teiler von k − i ebenfalls ein
Teiler von j! ist. Da p eine Primzahl ist, kann p also kein Teiler von (k − i) · j!
sein: Widerspruch.
107
3. Formale Zahlentheorie
3. durchlaufe für z die Zahlen 1, 2, . . . , k0 · k1 · · · km , bis ein z mit ki = z mod ui
gefunden wurde
Der Chinesische Restsatz garantiert, dass das gesuchte z auch tatsächlich existiert.
Beispiel 3.5
Es soll die Folge 2, 1, 1 kodiert werden.
Zuerst wird j = max(2, 2, 1, 1) + 1 = 3 bestimmt. Damit ergibt sich u0 = 1 · j! + 1 = 7,
u1 = 2 · j! + 1 = 13 und u2 = 3 · j! + 1 = 19. Für z erhalten wir dann den Wert z = 989.
Es gilt 989 mod 7 = 2, 989 mod 13 = 1 und 989 mod 19 = 1.
/
Zur Dekodierung dient Gödels β-Funktion β : N3 → N mit
β(z, c, i) = z mod ((i + 1) · c + 1)
Für die nach obiger Methode kodierten ki gilt ki = β(z, j!, i). Die β-Funktion ist repräsentierbar in S. Dazu schauen wir uns die Definition der β-Funktion nochmal an. Für
gegebenes z, c und i gibt es (genau) ein w ∈ N mit
z = w · ((i + 1) · c + 1) + β(z, c, i)
Außerdem gilt β(z, c, i) ≤ (i + 1) · c + 1. Damit haben wir die Bestandteile der folgenden
Formel Bt(x1 , x2 , x3 , x4 ), die die β-Funktion repräesentiert.
(∃w x1 = w · (x03 · x2 )0 + x4 ) ∧ x4 < (x03 · x2 )0
Wir werden nun die Repräsentation der β-Funktion benutzen, um durch Rekursion
entstandene Funktionen zu repräsentieren.
Sei f : Nk+1 → N aus g : Nk → N und h : Nk+2 → N mittels Rekursion entstanden.
f (x1 , . . . , xn , 0) = g(x1 , . . . , xn )
f (x1 , . . . , xn , y + 1) = h(y, f (x1 , . . . , xn , y), (x1 , . . . , xn ))
g und h seien durch γ(x1 , . . . , xn+1 ) und δ(x1 , . . . , xn+3 ) repräsentierbar. Man kann sich
die Berechnung von f (k1 , . . . , kn , m) mittels folgendem „Programm“ vorstellen.
v0 := g(k1 , . . . , kn )
für i := 1, 2, . . . , m wiederhole
{
vi := h(i − 1, vi−1 , k1 , . . . , kn )
}
108
3.4. Arithmetisierung
Dann ist f (k1 , . . . , kn , m) = vm .
Wir betrachten die vom Programm berechnete Zahlenfolge v0 , v1 , . . . , vm kodiert als Zahl
z mit vi = β(z, c, i). Dann gilt (umgangssprachlich ausgedrückt)
β(z, c, 0) = g(k1 , . . . , kn ) ∧ (∀i i < m → β(z, c, i + 1) = h(i, β(z, c, i), k1 , . . . , kn ))
Daraus entwickeln wir nun die Formel, die die Funktion f repräsentiert.
β(z, c, 0) = g(k1 , . . . , kn ) wird ausgedrückt durch (∃w Bt(z, c, 0, w) ∧ γ(x1 , . . . , xn , w).
Dabei sind z und c Variablensymbole, die genau die durch die Kodierung intendierten
Werte annehmen sollen.
β(z, c, i + 1) = h(i, β(z, c, i), k1 , . . . , kn ) wird ausgedrückt durch (∃u ∃v Bt(z, c, i, u) ∧
Bt(z, c, i0 , v) ∧ δ(i, u, x1 , . . . , xn , v)).
Schließlich muss noch ausgedrückt werden, dass f (k1 , . . . , kn , m) = β(z, c, m) ist. Das
geschieht durch Bt(z, c, xn+1 , xn+2 ).
Insgesamt erhalten wir folgende Formel zur Repräsentation von f .
∃z ∃c
(∃w Bt(z, c, 0, w) ∧ γ(x1 , . . . , xn , w))
∧ (∀i i < m → (∃u ∃v Bt(z, c, i, u) ∧ Bt(z, c, i0 , v) ∧ δ(i, u, x1 , . . . , xn , v)))
∧ Bt(z, c, xn+1 , xn+2 )
Satz 3.8 (Repräsentierbarkeit primitiv-rekursiver Funktionen in S)
Jede primitiv-rekursive Funktion ist in S repräsentierbar.
/
(Den Beweis, dass oben angeführte Formel tatsächlich die betrachtete Funktion repräsentiert, sparen wir uns hier.)
Korollar 3.2
Jedes primitiv-rekursive Prädikat ist in S repräsentierbar.
/
3.4. Arithmetisierung
In der Sprache der Theorie S können Aussagen über Zahlen gemacht werden. Im Abschnitt
über Abzählbarkeit haben wir gesehen, dass Formeln auch durch Zahlen kodiert werden
können. Über diesen „Umweg“ lassen sich in S also auch Aussagen über Formeln und
Eigenschaften von Formeln ausdrücken. In S können wir die primitiv-rekursiven Funktionen dazu benutzen, und das werden wir jetzt tun. Wir beginnen mit der Kodierung
von Symbolen, Ausdrücken und Folgen von Ausdrücken durch natürliche Zahlen und
drücken anschließend Eigenschaften von Formeln durch primitiv-rekursive Relationen und
Funktionen aus. Ziel ist der Nachweis, dass das Überprüfen eines Beweises auf Korrektheit
primitiv-rekursiv ist. Das erlaubt einem schließlich, eine Aussage der Art „Formel α ist
in S nicht beweisbar“ in S zu formulieren.
109
3. Formale Zahlentheorie
3.4.1. Gödelisierung
Funktion g bildet
• Symbole,
• endliche Folgen von Symbolen (=Ausdrücke), und
• endliche Folgen von Ausdrücken
wie folgt injektiv auf N ab.
Symbole (n, k ≥ 1):
u
g(u)
(
)
,
3 5 7
¬ →
9
∀
ak
fkn
xk
Ank
11 13 7 + 8 · k 13 + 8 · k 1 + 8 · (2n · 3k ) 3 + 8 · (2n · 3k )
g(u) heißt Gödelnummer von u.
Wenn u ein Symbol ist, dann ist g(u) ungerade.
Für u ≥ 15 gibt g(u) mod 8 gibt an, welche Art von Symbol u ist.
Sei u0 u1 . . . un eine endliche Folge von Symbolen. Dann ist
n)
g(u0 u1 . . . un ) = 2g(u0 ) · 3g(u1 ) · · · pg(u
=
n
n
Y
g(ui )
pi
i=0
wobei pi die i-te Primzahl ist (p0 = 2).
Bsp.:
g(∀x1 A12 (x1 )) = 213 · 321 · 5138 · 73 · 1121 · 135
Das Symbol x1 hat GN g(x1 ) = 21 (ist ungerade).
Der Ausdruck x1 hat GN g(x1 ) = 221 (ist gerade).
Sei e0 , e1 , . . . , en eine endliche Folge von Ausdrücken. Dann ist
g(e0 , e1 , . . . , en ) = 2g(e0 ) · 3g(e1 ) · · · png(en ) =
n
Y
g(ei )
pi
i=0
wobei pi die i-te Primzahl ist (p0 = 2).
Bsp.:
13 ·321 ·5138 ·73 ·1121 ·135 )
g(∀x1 A12 (x1 ), x1 ) = 2(2
21 )
· 3(2
Der Ausdruck x1 hat GN g(x1 ) = 221 (ungerade Zweierpotenz).
21
Die Folge von Ausdrücken x1 hat GN g(x1 ) = 22 (gerade Zweierpotenz).
110
3.4. Arithmetisierung
3.4.2. Erkennen von Eigenschaften von Symbolen
Die folgenden Relationen stellen dar, dass eine Zahl ein Symbol einer bestimmten Art
darstellt (Konstanten-, Variablen-, Funktions- oder Prädikatensymbol) oder ein Ausdruck
aus genau einem solchen Symbol ist. Für die in S zugelassenen Symbole sind diese
Relationen primitiv-rekursiv.
• IC = {n | n ist GN eines Konstantensymbols}
IC(n) = (n ≥ 15) ∧ (n mod 8 = 7)
• V b = {n | n ist GN eines Variablensymbols}
V b(n) = (n ≥ 15) ∧ (n mod 8 = 5)
• F L = {n | n ist GN eines Funktionssymbols}
F L(n) = (n ≥ 15) ∧ (n mod 8 = 1)
• P L = {n | n ist GN eines Prädikatensymbols}
P L(n) = (n ≥ 15) ∧ (n mod 8 = 3)
• EIC = {n | n ist GN eines Ausdrucks, der aus einem Konstantensymbol besteht}
EIC(n) = (∃z)≤n (IC(z) ∧ n = 2z )
• EV b = {n | n ist GN eines Ausdrucks, der aus einem Variablensymbol besteht}
EV b(n) = (∃z)≤n (V b(z) ∧ n = 2z )
• EF L = {n | n ist GN eines Ausdrucks, der aus einem Funktionssymbol besteht}
EF L(n) = (∃z)≤n (F L(z) ∧ n = 2z )
• EP L = {n | n ist GN eines Ausdrucks, der aus einem Prädikatensymbol besteht}
EP L(n) = (∃z)≤n (P L(z) ∧ n = 2z )
Bei Funktions- und Prädikatensymbolen muss die Stelligkeit festgestellt werden können.
Dafür definieren wir die folgenden Funktionen, die in S primitiv-rekursiv sind.
111
3. Formale Zahlentheorie
• ArgT (x) = n, falls x GN von fjn ist
ArgT (x) =
x −· 1
8
0
• ArgP (x) = n, falls x GN von Anj ist
ArgP (x) =
x −· 3
8
0
3.4.3. Erkennen von Formeln
Wir wollen nun zeigen, dass die Menge aller Kodierungen von Formeln primitiv-rekursiv
ist. Das heißt es gibt eine primitiv-rekursive Funktion h, deren Funktionswert h(n) =
1 is, falls n die Kodierung einer Formel ist, und anderenfalls ist der Funktionswert
0.
Formeln werden aus atomaren Formeln zusammengesetzt, und atomare Formeln haben
Terme als Bestandteile. Wir wollen eine primitiv-rekursive Funktion angeben, die entscheidet, ob eine Zahl die Gödelnummer eines Terms ist. Diese Funktion ist die charakteristishe
Funktion der Menge
T rm = {n | n ist GN eines Terms}
Terme sind induktiv aufgebaut. Die einfachsten Terme sind Konstanten- und Variablensymbole. Zum Erkennen dieser Terme können wir EIC und EV b benutzen. Die
übrigen Terme sind aus einem Funktionssymbol und weiteren Termen zusammengesetzte
Ausdrücke. Zum Beispiel ist der Term t = f53 (x1 , f22 (a3 , x1 ), f31 (f22 (a1 , a2 ), x1 , a13 )) zusammengesetzt aus dem Funktionssymbol f53 und den drei Termen x1 , f22 (a3 , x1 ) und
f31 (f22 (a1 , a2 ), x1 , a13 ). Diese drei Terme bezeichnen wir als die Zerlegung von t. Da die
Zerlegung eine Folge von Termen ist, kann sie mit der Funktion g kodiert werden. In
diesem Beispiel ist
2
1
2
g(x1 , f22 (a3 , x1 ), f31 (f22 (a1 , a2 ), x1 , a13 )) = 2g(x1 ) · 3g(f2 (a3 ,x1 )) · 5g(f3 (f2 (a1 ,a2 ),x1 ,a13 ))
Sei m = g(x1 , f22 (a3 , x1 ), f31 (f22 (a1 , a2 ), x1 , a13 )) die Kodierung der Zerlegung von t. Daraus lässt sich die Kodierung c von t gewinnen. Die Kodierung des Funktionssymbols
von t ist (c)0 (= g(f53 )). Die Kodierung des ersten Terms der Zerlegung von t ist (m)0
(= g(x1 )), die Kodierungen des zweiten und dritten Terms der Zerlegung von t sind (m)1
(= g(f22 (a3 , x1 ))) und (m)2 (= g(f31 (f22 (a1 , a2 ), x1 , a13 ))). Also gilt
t = (c)0 · 23 · (m)0 · 27 · (m)1 · 27 · (m)2 · 25
112
3.4. Arithmetisierung
Formal drücken wir die Zerlegung eines Terms durch folgendes Prädikat aus.
ZerlT = {(x, w) | x ist GN eines Terms fin (t1 , . . . , tk )
g(t )
und w = 2g(t1 ) · 3g(t2 ) · · · pn−1n
}
Dieses Prädikat ist primitiv-rekursiv.

ArgT ((x)0 )−2 ZerlT (x, w) = x = (x)0 · 2 · 
3
Y

(w)i · 2  · (w)ArgT ((x)0 )−1 · 25
7
i=0
Atomare Formeln können entsprechend in ihre Terme zerlegt werden. Dafür benutzen wir
ZerlA (x, w).
ZerlA = {(x, w) | x ist GN einer atomaren Formel Ani (t1 , . . . , tk )
g(t )
und w = 2g(t1 ) · 3g(t2 ) · · · pn−1n
}
Dieses Prädikat ist primitiv-rekursiv.

ArgP ((x)0 )−2 ZerlA (x, w) = x = (x)0 · 23 · 
Y

(w)i · 27  · (w)ArgP ((x)0 )−1 · 25
i=0
Mit diesen Prädikaten können wir einfach testen, ob eine Kodierung einen Term bzw. eine
atomare Formel kodiert. Die folgenden Relationen sind primitiv-rekursiv.
• T rm = {n | n ist GN eines Terms}
T rm(n) = EIC(n) ∨ EV b(n)∨
EF L((n)0 ) ∧ (∃w)<(pn )n2 (ZerlT (n, w) ∧ (∀i)≤lh(w) T rm((w)i ))
• Atmf ml = {n | n ist GN einer atomaren Formel}
Atmf ml(n) = EP L((n)0 ) ∧ (∃w)<(pn )n2 (ZerlA (n, w) ∧ (∀i)≤lh(w) T rm((w)i )))
Formeln sind atomare Formeln oder werden aus Teilformeln zusammengesetzt. Funktionen,
die aus Kodierungen von Teilformeln die Kodierung einer daraus zusammengesetzten
Formel ergeben, sind primitiv-rekursiv.
• N egF ml(x) = die GN der Formel (¬α), falls x die GN von Formel α ist
N egF ml(x) = 23 · 29 · x · 25
113
3. Formale Zahlentheorie
• CondF ml(x, y) = die GN der Formel (α → β), falls x und y die GNn von α und β
sind
CondF ml(x, y) = 23 · x · 211 · y · 25
• GenF ml(u, v) = die GN der Formel (∀x α), falls u und v die GNn von α und x
sind
GenF ml(u, v) = 23 · 213 · 2v · u · 25
Daraus können wir die Repräsentation der Relation
F ml = {x : x ist GN einer Formel}
zusammensetzen.
F ml(x) = Atmf ml(x)∨
(∃z)<x
(F ml(z) ∧ x = N egF ml(z))∨
(F ml((z)0 ) ∧ F ml((z)1 ) ∧ x = CondF ml((z)0 , (z)1 ))∨ (F ml((z)0 ) ∧ V b((z)1 ) ∧ x = GenF ml((z)0 , (z)1 )
3.4.4. Die Diagonalfunktion
Die Diagonalfunktion ist recht technisch und ein wesentlicher Bestandteil für Satz 3.10
und den Unvollständigkeitssatz von Gödel (Satz 3.12).
Die Formel α[x/t] entsteht aus der Formel α durch Ersetzen aller freien Vorkommen
der Variablen x durch den Term t. Wir wollen die Kodierung von α[x/t] berechnen aus
den Kodierungen von α, x und t. Dazu beginnen wir bei den Termen, in denen die
Ersetzungen tatsächlich stattfinden.
TrmSubst = {(x, y, u, v) : wenn im Term mit der Gödelnummer y der Term mit
der Gödelnummer v für alle Vorkommen der Variablen
mit Gödelnummer u eingesetzt wird, dann entsteht
der Term mit der Gödelnummer x
}
Hier entspricht y der Kodierung des Terms α, u der Kodierung der Variablen xi und v
der Kodierung des Terms t. x ist dann die Kodierung des Terms α[xi /t]. Wir betrachten
zuerst die zu unterscheidenden Fälle.
1. wenn α ein Konstantensymbol ist, dann ist α[xi /t] = α
2. wenn α = xi die zu ersetzende Variable ist, dann ist α[xi /t] = t
3. wenn α = xj eine Variable ungleich xi ist, dann ist α[xi /t] = α
114
3.4. Arithmetisierung
4. wenn α = fjm (t1 , . . . , tm ) ist, dann ist α[xi /t] = fjm (t1 [xi /t], . . . , tm [xi /t]). Die
Ersetzungen werden also induktiv im zusammengesetzten Term vorgenommen.
Die folgende Formel drückt genau diese Fallunterscheidung aus. Der letzte Fall – α ist ein
zusammengesetzter Term – führt wieder dazu, dass der Term zerlegt wird und die Ersetzungen auf die Terme der Zerlegung einzeln angewendet werden.
T rmSubst(x, y, u, v) =
T rm(x) ∧ T rm(y) ∧ V b(u) ∧ T rm(v)∧
(y = 2u ∧ x = v)∨
(EV b(y) ∧ y 6= 2u ∧ x = y)∨
(EIC(y) ∧ x = y)∨
(∃w)<(py )y2 (∃z)<(px )x2 ZerlT (y, w) ∧ ZerlT (x, z)∧
(∀i)<ArgT ((y)0 ) T rmSubst((z)i , (w)i , u, v)∧
(x)0 = (y)0
Ersetzungen in atomaren Formeln laufen entsprechend.
AtmfmlSubst = {(x, y, u, v) : wenn in der atomaren Formel mit der Gödelnummer y der Term mit der Gödelnummer v
für alle Vorkommen der Variablen mit der Gödelnummer u eingesetzt wird, dann entsteht
die atomare Formel mit der Gödelnummer x
}
Atmf mlSubst(x, y, u, v) =
Atmf ml(x) ∧ Atmf ml(y) ∧ V b(u) ∧ T rm(v)∧
(∃w)<(py )y2 (∃z)<(px )x2 ZerlA (y, w) ∧ ZerlA (x, z)∧
(∀i)<ArgP ((y)0 ) T rmSubst((z)i , (w)i , u, v)∧
(x)0 = (y)0
Von den Ersetzungen in den atomaren Formeln kommen wir nun zu Ersetzungen in
beliebigen Formeln. Dazu definieren wir eine Funktion, die die Kodierung der durch
Ersetzung entstandenen Formel bestimmt.
Subst(y, u, v) = x für die GN x der Formel, die entsteht, wenn in der Formel
mit GN y der Term mit GN v für alle freien Vorkommen der
Variablen mit GN u eingesetzt wird
Hier ist folgende Fallunterscheidung nötig.
1. wenn α eine atomare Formel ist, dann findet die Ersetzung mittels AtmfmlSubst
statt
2. wenn α = (¬β), dann gilt α[xi /t] = (¬β[xi /t])
115
3. Formale Zahlentheorie
3. wenn α = (β → γ), dann gilt α[xi /t] = (β[xi /t] → γ[xi /t])
4. wenn α = (∀xi β), dann gilt α[xi /t] = α
5. wenn α = (∀xj β) für xi 6= xj , dann gilt α[xi /t] = (∀xj β[xi /t])
Diese Fallunterscheidung findet sich in folgender Formel wieder, die zeigt, dass Subst primitiv-rekursiv ist. Da durch Ersetzung stets eine Formel entsteht, hat der min-Operator auch
ein Ergebnis. todo: Schranke für den min-Operator in der Formel
Subst(y, u, v) = min AtmfmlSubst(x, y, u, v)∨
x
h
(∃w)<y (∃z)<y F ml(z) ∧ y = N egF ml(z) ∧ x = N egF ml(Subst(z, u, v)) ∨
F ml(w) ∧ F ml(z) ∧ y = CondF ml(w, z)∧
x = CondF ml(Subst(w, u, v), Subst(z, u, v)) ∨
u = w ∧ y = GenF ml(z, w) ∧ x = y ∨
u 6= v ∧ V b(w) ∧ y = GenF ml(z, w) ∧ x = GenF ml(Subst(z, u, v), w)
i
Mit der Funktion Subst lässt sich feststellen, ob eine Formel ein freies Vorkommen einer
Variablen enthält.
• F r = {(y, u) | in der Formel mit GN y kommt Variable mit
GN u frei vor
}
F r(y, u) = F ml(y) ∧ V b(u) ∧ ¬(y = Subst(y, u, 213+8·y ))
Damit kommen wir zur Diagonalfunktion. Sei α eine Formel mit freier Variablen x1 . Sei
cα die Kodierung von α. Die Diagonalfunktion berechnet aus der Kodierung von α die
Kodierung von α[x1 /cα ]. Im ersten Schritt brauchen wir dazu noch eine Funktion, die
aus der Zahl m die Kodierung des Terms m berechnet.
• Num(m) = die GN von m
Num(0) = 215 (= 2g(a1 ) )
Num(m + 1) = 249 · 23 · Num(m) · 25 (= f11 (m))
• D(u) = die GN von α[x1 /u], falls u die GN von α ist
D(u) = Subst(u, 21, Num(u)).
• D2 (u) = die GN von α[x2 /u], falls u die GN von α ist
D2 (u) = Subst(u, 29, Num(u)).
Die Funktionen D und D2 heißen Diagonalfunktion und sind primitiv-rekursiv.
116
3.4. Arithmetisierung
3.4.5. Das Beweisprädikat
Zum Abschluss kommen wir noch zur Kodierung von Beweisen. Beweise sind Folgen
von Formeln, die Axiome sind oder aus Ableitungsregeln (modus ponens, Generalisierung) aus zuvor im Beweis vorkommenden Formeln entstehen. Die Kodierungen von
Formeln, die durch Ableitungsregeln aus anderen Formeln entstehen, sind primitivrekursiv.
• MP = {(x, y, z) | Ausdruck mit GN z entsteht aus
Ausdrücken mit GNn x und y durch modus ponens
}
MP(x, y, z) = (y = 23 · x · 211 · z · 25 ) ∧ F ml(x) ∧ F ml(z)
• Gen = {(x, y) | Ausdruck mit GN y entsteht
aus Ausdruck mit GN x durch Generalisierung
}
Gen(x, y) = (∃v)<y (EV b(v) ∧ y = 23 · 213 · v · x · 25 ) ∧ F ml(x)
Die Relation
Ax = {x | x ist GN eines Axioms}
ist primitiv-rekursiv für die Axiome von S. Damit ergibt sich, dass auch Kodierungen
von Beweisen primitiv-rekursiv sind.
Prf = {y | y ist GN eines Beweises}
Dazu betrachten wir folgende induktive Definition von Beweisen.
Eine Folge α1 , α2 , . . . , αn ist ein Beweis, falls
1. n = 1 und α1 ein Axiom ist, oder
2. αn ein Axiom ist, oder
3. α1 , α2 , . . . , αn−1 ein Beweis ist und αn mittels Generalisierung aus αi mit i < n
entsteht.
4. α1 , α2 , . . . , αn−1 ein Beweis ist und αn mittels modus ponens aus αi und αj mit
i, j < n entsteht, oder
Folgender Ausdruck zeigt, dass Prf eine primitiv-rekursive Relation ist (für jede Theorie,
in der Ax primitiv-rekursiv ist.
Prf (y) = (∃u)<y (∃v)<y (∃w)<y (∃z)<y y = 2w ∧ Ax(w) ∨
Prf (u) ∧ y = u · 2v ∧ Ax(v) ∨
(Prf (u) ∧ F ml((u)w ) ∧ y = u · 2v ∧ Gen((u)w , v) ∨
Prf (u) ∧ F ml((u)z ∧ F ml((u)w )) ∧ y = u · 2v ∧ MP((u)z , (u)w , v)
117
3. Formale Zahlentheorie
3.5. Der Unvollständigkeitssatz von Gödel
Jeder Prädikatenkalkül ist vollständig in dem Sinne, dass jede gültige Formel auch
bewiesen werden kann (Satz 2.9). Diese Eigenschaft hat die formale Zahlentheorie
nicht. Das heißt, es gibt Formeln, die in der Zahlentheorie „gültig“ sind1 , für die es
aber keinen Beweis gibt. Der Unvollständigkeitssatz von Gödel macht eine allgemeinere
Aussage, für welche Theorien es solche „gültigen“ und unbeweisbaren Formeln gibt. Die
Idee zum Beweis des Unvollständigkeitssatzes basiert auf der sogenannten Paradoxie
„Dieser Satz ist falsch“. Dieser Satz kann weder wahr noch falsch sein, also ist er keine
Aussage. Über Wahrheiten kann man innerhalb der Theorie S jedoch keine Aussagen
machen. Aber man kann über die Beweisbarkeit einer Aussage sprechen. Das Prädikat
Pf mit
Pf = {(x1 , x2 ) : x1 ist Gödelnummer eines Beweises der Formel mit Gödelnummer x2 }
ist primitiv-rekursiv. Folglich gibt es eine Formel ϕPf in S, die das Prädikat Pf repräsentiert. Wenn eine Formel α mit Gödelnummer u in S nicht beweisbar ist, dann ist die
Formel ∀x1 ¬ϕPf [x2 /u] wahr (im Standardmodell). Analog zu „Dieser Satz ist falsch“
könnte man nun versuchen, eine Formel zu konstruieren, die der Aussage „Diese Aussage
ist nicht beweisbar.“ entspricht. Man könnte eine Zahl u suchen, so dass u genau die
Gödelnummer von ∀x1 ¬ϕPf [x2 /u] ist. Mit der hier betrachteten Kodierung von Formeln
und Termen in Zahlen geht das nicht. Muss man dazu nun eine geschicktere Kodierung wählen? Eine kodierungsunabhängige Antwort liefert das Diagonalisierungslemma
(Satz 3.9). Dort wird gezeigt, dass es eine Formel γ0 gibt, deren Äquivalenz zur Aussage
„γ0 ist nicht beweisbar“ bewiesen werden kann. D. h. für die Gödelnummer g von γ0
gilt |−− γ0 ↔ (∀x1 ¬ϕPf [x2 /g]). Diese Formel γ0 ist in der Tat nicht in S beweisbar
S
(Satz 3.10). Also ist ∀x1 ¬ϕPf [x2 /g] wahr (im Standardmodell), und da γ0 beweisbar
äquivalent dazu ist, ist γ0 ebenfalls eine wahre Formel. Die Konstruktion von γ0 wird
möglich im wesentlichen durch die Repräsentierbarkeit des Beweisüberprüfungsprädikats
Pf in S. Diese wiederum basiert auf der Repräsentierbarkeit der Menge der Axiome von
S und der primitiv-rekursiven Funktionen in S. Im Unvollständigkeitssatz von Gödel
(Satz 3.12) wird schließlich festgestellt, dass es in jeder konsistenten Theorie mit diesen
Eigenschaften wahre und nicht beweisbare Formeln gibt.
Das geht indirekt über die Konstruktion einer zu einer solchen Aussage äquivalenten
Aussage. Grundlage dafür ist das folgende (recht technisch aussehende) Diagonalisierungslemma.
Für Formel α mit Gödelnummer u bezeichnet pαq den Term u.
Satz 3.9 (Diagonalisierungslemma)
Sei α eine Formel in S mit x2 als einziger freien Variablen. Dann gibt es eine geschlossene
Formel γ mit |−− γ ↔ α[x2 /pγq].
S
1
Eine Formel ist „gültig in S“, falls jedes Modell von S auch Modell der Formel ist.
118
3.5. Der Unvollständigkeitssatz von Gödel
Beweis:
Die Repräsentierbarkeit der Diagonalfunktion D2 hatten wir bereits betrachtet.
D2 (u) = die Gödelnummer von α[x2 /u], wenn α die Gödelnummer u hat
Sei ϕD2 eine Formel in S, die die Diagonalfunktion D2 repräsentiert. Wir definieren
die Formeln α2 := (∀x2 ϕD2 → α) und γ := (∀x2 ϕD2 [x1 /pα2q] → α). Es gilt |−−
S
ϕD [x1 /pα2q, x2 /pγq], da D2 (Gödelnummer von α2 ) = Gödelnummer von γ und D2 von
ϕD2 repräsentiert wird. Diese Eigenschaft nennen wir hier (?).
Wir zeigen |−− γ ↔ α[x2 /pγq]:
S
1. |−− γ → α[x2 /pγq]:
S
(1)
(2)
(3)
(4)
(∀x2 ϕD2 [x1 /pα2q] → α)
ϕD2 [x1 /pα2q, x2 /pγq] → α[x2 /pγq]
ϕD2 [x1 /pα2q, x2 /pγq]
α[x2 /pγq]
Hypothese γ
RA 4 mit 1
(?)
MP 2,3
Mit dem Deduktionstheorem folgt |−− γ → α[x2 /pγq].
S
2. |−− α[x2 /pγq] → γ:
S
(1)
(2)
(3)
(4)
(5)
(6)
Hypothese
Hypothese
da ϕD2 D2 streng repräsentiert
(?)
Eigenschaft von =, 3, 4
Eigenschaft von = mit 1,5
α[x2 /pγq]
ϕD2 [x1 /pα2q]
∃1 x2 ϕD2 [x1 /pα2q]
ϕD2 [x1 /pα2q, x2 /pγq]
x2 = pγq
α
Damit ist gezeigt: α[x2 /pγq], ϕD2 [x1 /pα2q] |−− α.
S
Mit dem Deduktionstheorem folgt: α[x2 /pγq] |−− ϕD2 [x1 /pα2q] → α.
S
Mit Generalisierung: α[x2 /pγq] |−− ∀x2 ϕD2 [x1 /pα2q] → α.
S
|
Mit Deduktionstheorem: |−− α[x2 /pγq] → γ.
S
{z
γ
}
Ein Beweis einer Formel α ist eine Folge von Formeln, die ein Beweis ist und mit α endet.
Das primitiv-rekursive Prädikat Prf erkennt Formelfolgen, die korrekte Bweise sind. Es ist
119
3. Formale Zahlentheorie
einfach zu testen, ob eine Formelfolge mit einer bestimmten Formel endet. Deshalb ist folgendes Prädikat Pf primitiv-rekursiv und folglich repräsentierbar.
Pf = {(x1 , x2 ) : x1 ist Gödelnummer eines Beweises der Formel mit Gödelnummer x2 }
ϕP f sei eine Formel in S, die Pf repräsentiert. ϕP f hat die freien Variablen x1 und x2 .
(∀x1 ¬ϕP f ) ist eine Formel in S mit x2 als einziger freien Variable. Mit dem Diagonalisierungslemma (Satz 3.9) folgt: es gibt eine Formel γ0 mit
|−− γ0 ↔ (∀x1 ¬ϕP f [x2 /pγ0q])
S
γ0 ist also (beweisbar) äquivalent zu der Formel für die Aussage „Keine Zahl ist die
Gödelnummer eines Beweises der Formel mit Gödelnummer γ0 .“ oder etwas kompakter „γ0
ist nicht beweisbar.“ Wir zeigen, dass das eine wahre Aussage ist.
Satz 3.10
γ0 ist in S nicht beweisbar, d. h. 6|−− γ0 .
S
Beweis:
S ist konsistent, d. h. es existiert keine Formel α, für die |−− α und |−− ¬α gilt.
S
S
Annahme: Es gelte |−− γ0 . Sei r die Gödelnummer eines Beweises von γ0 in S. Dann
S
folgt |−− ϕP f [x2 /pγ0q, x1 /r]. Aufgrund der Konstruktion von γ0 mit dem DiagonalisieS
rungslemma (Satz 3.9) gilt |−− γ0 ↔ (∀x2 ¬ϕP f [x2 /pγ0q]). Nach Äquivalenzregel folgt
S
|−− (∀x1 ¬ϕP f [x2 /pγ0q]). Mit RA 4 folgt |−− ¬ϕP f [x2 /pγ0q, x1 /r]. Also ist S nicht konsisS
S
tent.
Wir führen jetzt noch einen stärkeren Begriff der Konsistenz ein, der sich stärker auf die
Standardinterpretation der Zahlentheorie mit den natürlichen Zahlen als Grundmenge
bezieht.
Definition 3.10 (ω-Konsistenz)
Sei K eine Theorie mit dem Konstantensymbol 0 und dem Funktionssymbol f11 (Nachfolgerfunktion). K heißt ω-konsistent, falls für jede Formel α in K gilt:
falls für jede natürliche Zahl n gilt |−− ¬α[x/n], dann 6|−− (∃x α)
K
K
/
S ist ω-konsistent, da die Standardinterpretation (mit der Grundmenge N) ein Modell
für S ist.
Lemma 3.17
Wenn eine Theorie K ω-konsistent ist, dann ist K auch konsistent.
120
3.5. Der Unvollständigkeitssatz von Gödel
Beweis:
Wenn K nicht konsistent ist, dann lässt sich in K alles beweisen, da aus den logischen
Axiomen folgt: wenn |−− α und |−− ¬α, dann folgt für jede Formel β: |−− β (wegen der
K
Tautologie |−− α → (¬α → β)).
K
K
K
Also reicht es aus, eine Formel β aus K zu finden, die nicht beweisbar ist. Sei β eine
beliebige Formel und α sei β ∧ ¬β. Dann ist ¬α eine gültige Formel und ¬α[x/u] ist
Instanz einer Tautologie. Also gilt |−− ¬α[x/u] für jedes n ∈ N.
K
Da K ω-konsistent ist, folgt 6|−− (∃x α).
Bemerkung 3.1
Es gibt Theorien, die konsistent aber nicht ω-konsistent sind.
/
K
Satz 3.11
Man kann ¬γ0 in S nicht beweisen, d. h. 6|−− ¬γ0 .
S
Beweis:
Nehmen wir an, dass wir ¬γ0 in S beweisen können. Aufgrund der Konstruktion von γ0
aus dem Diagonalisierungslemma (Satz 3.9) gilt |−− γ0 ↔ (∀x1 ¬ϕP f [x2 /pγ0q]). Mit der
S
Äquivalenzregel folgt |−− ¬(∀x1 ¬ϕP f [x2 /pγ0q]), d. h. |−− (∃x1 ϕP f [x2 /pγ0q]).
S
S
Wir wissen: 6|−− γ0 (Satz 3.10). Also ist Pf (r, u) (u ist die Gödelnummer von γ0 ) falsch
S
für jedes r ∈ N. Folglich gilt |−− ¬ϕP f [x2 /pγ0q, x1 /r] für jedes r ∈ N. Dann folgt aus der
S
ω-Konsistenz von S: 6|−− (∃x1 ϕP f [x2 /pγ0q]). Das ist ein Widerspruch zur Konsistenz von
S
S.
Da in S weder γ0 noch ¬γ0 beweisbar ist, kann man S durch Hinzunahme von γ0 als
zusätzliches Axiom konsistent zu einer Theorie S0 erweitern (Lemma 2.5). In S0 ist γ0
beweisbar (da es ein Axiom ist). Das Diagonalisierungslemma gilt aber auch für S0 , da
D2 in S0 die gleiche Repräsentation besitzt wie in S. Das Beweisüberprüfungsprädikat Pf
für S0 ist – wegen des zusätzlichen Axioms – ein anderes als das für S. Aber es ist in S0
repräsentierbar. Deshalb gilt Satz 3.10 entsprechend für S0 . Also gibt es auch für S0 eine
wahre und nicht in S0 beweisbare Formel. Die Konstruktion einer solchen Formel geht für
jede Theorie K mit den folgenden Eigenschaften:
1. Die Menge aller Axiome von K ist repräsentierbar;
d. h. das Prädikat {m : m ist Gödelnummer eines Axioms von K} ist repräsentierbar in K.
2. |−− 0 6= 1.
K
3. Jede primitiv-rekursive Funktion ist repräsentierbar in K.
121
3. Formale Zahlentheorie
Satz 3.12 (Unvollständigkeitssatz von Gödel)
Sei K eine Theorie mit den Eigenschaften (1)–(3). Dann gibt es eine wahre Formel γ mit:
1. Wenn K konsistent ist, dann ist γ in K nicht beweisbar, d. h. 6|−− γ.
K
2. Wenn K ω-konsistent ist, dann ist ¬γ in K nicht beweisbar, d. h. 6|−− ¬γ.
K
/
Der Beweis des Satzes geht analog zu den Beweisen der vorherigen Sätze.
Bemerkung 3.2
Paris und Huntington haben zahlentheoretisch Formeln hergeleitet, die wahr und unbeweisbar sind.
Rosser hat gezeigt, dass man die ω-Konsistenz nicht benötigt. Dadurch werden die
unbeweisbaren Formeln schwieriger.
Die Konsistenz einer Theorie K lässt sich nicht „innerhalb“ von K zeigen. (S ist konsistent
bedeutet „0 = 1“ ist nicht beweisbar; ∀x1 ¬ϕP f [x2 /„0 = 1“]).
Daraus hat sich die Berechenbarkeitstheorie mit den (primitiv-)rekursiven Funktionen
entwickelt.
/
122
A. Übungsaufgaben
A.1. Blatt 1
Aufgabe 1
Zeigen Sie folgende Äquivalenzen durch Umformen:
1. A → (B → C) ≡ (A ∧ B) → C
2. (A → B) → A ≡ A
3. ¬ ¬ A ∧ ¬(B ∨ A) → A → (¬B ∧ A)
≡A∧B
4. A ↔ B ≡ (A → B) ∧ (B → A)
5. (A → B) → C 6≡ A → (B → C)
Aufgabe 2
Sind die folgenden Argumentationen logisch korrekt?
1. Wenn es regnet, dann ist die Straße nass. Die Straße ist nass, also regnet es.
2. Wenn eine Zahl x auf 0 endet, dann ist sie durch 5 teilbar.
a) x endet nicht mit 0, also ist x nicht durch 5 teilbar.
b) x ist nicht durch 5 teilbar, also endet x nicht auf 0.
3. Wenn a = 0 oder b = 0, dann ist a · b = 0. Es gilt a · b 6= 0, also ist a =
6 0 und b 6= 0.
123
A. Übungsaufgaben
A.2. Blatt 2
Beweisen Sie folgende Theoreme und Aussagen:
1. |−− (¬α → α) → α
L
2. α → (β → γ) |−− β → (α → γ)
L
3. |−− (¬β → ¬α) → (α → β)
L
4. Die Theorie L ist konsistent, d. h. wenn α eine Theorem von L ist, dann ist ¬α kein
Theorem von L, und wenn |−− ¬α, dann nicht |−− α.
L
L
5. Die Schlussfolgerung α, ¬α |−− β gilt für beliebige Formeln α und β
L
A.3. Blatt 3
Aufgabe 1
In wie vielen Beweisschritten ist eine Tautologie in L beweisbar? Schätzen Sie die Anzahl
der Schritte nach der Anzahl von Verknüpfungszeichen und Anzahl der Variablen in der
Formel ab.
Aufgabe 2
Sei L0 die Theorie, die aus L entsteht, indem das Axiom A3 durch das Axiom A3’ ersetzt
wird: (¬α → ¬β) → (β → α).
Zeigen Sie, dass L0 sowohl korrekt, als auch vollständig ist, das heißt, ϕ ist Tautologie
gdw |−−
ϕ.
0
L
A.4. Blatt 4
Aufgabe 1
Zeigen Sie mittels Resolution, dass die folgende Instanz des Axioms A2 eine Tautologie
ist.
(A → (B → C)) → ((A → B) → (A → C))
124
A.5. Blatt 5
Aufgabe 2
Zeigen Sie mittels Resolution, dass folgende Formel α eine Tautologie ist.
(A ∨ B ∨ ¬C) ∧ (¬A ∨ B ∨ D) ∧ (C ∨ D) ∧ (¬A ∨ ¬D) ∧ (A ∨ C ∨ ¬D) → (B ∨ C)
Aufgabe 3
Wie lang kann ein Resolutionsbeweis höchstens sein?
A.5. Blatt 5
Aufgabe 1
Was bedeuten die Formeln unter den angegebenen Interpretationen?
1. (∃u A21 (f12 (x, u), y) ∧ (∃v A21 (f12 (x, v), z)) auf der Grundmenge N und A21 ist die
Gleichheit „=“ und f12 die Multiplikation (u, v, x, y, z sind Variablensymbole)
2. (∀y (∃z A21 (f12 (y, z), x)) → (A21 (y, a)∨A21 (y, x))), Interpretation wie oben und a = 1.
Aufgabe 2
Geben Sie eine Formel mit Interpretation mit der Grundmenge N an, die folgende
Bedeutung hat.
1. x = ggT (y, z)
2. Es gibt unendlich viele Primzahlen.
A.6. Blatt 6
Aufgabe 1
Welche der folgenden Formeln sind gültig?
1. ¬ ∃x (∀y A21 (x, y) ↔ ¬A21 (x, x))
2. (∃x A11 (x)) → (∃x A12 (x)) → (∃x A11 (x) → A12 (x))
3. (∃x A11 (x) → (∀x A11 (x)))
4. (∀x A11 (x) ∨ A12 (x)) → (∀x A11 (x)) ∨ (∃x A12 (x))
125
A. Übungsaufgaben
Aufgabe 2
Finden Sie eine erfüllbare geschlossene Formel, die falsch ist unter jeder Interpretation
mit einer Grundmenge aus einem (zwei, drei) Elementen.
Aufgabe 3
Zeigen Sie: |−− [xi /t] → (∃xi α), wobei t frei für xi in α ist.
α
Ein Beispiel zur Illustration: Für die Formel α = A21 (x, y) ∧ (∃y ¬A21 (y, x)) sind die
folgenden Ersetzungen zulässig
α[x/f12 (x, z)] = A21 (f12 (x, z), y) ∧ (∃y ¬A21 (y, f12 (x, z))
α[y/x] = A21 (x, x) ∧ (∃y ¬A21 (y, x))
aber die Ersetzung α[x/y] = A21 (y, y) ∧ (∃y ¬A21 (y, y)) ist nicht zulässig, da x im zweiten
Teil nicht durch y ersetzt werden darf, da y durch den Existenzquantor gebunden
ist.
Aufgabe 4
Zeigen Sie: |−− (∀xi α) → (∃xi α).
A.7. Blatt 7
Sei α eine Formel, in der x nicht frei vorkommt. Zeigen Sie, dass dann gilt:
1. |−− α ↔ (∀x α)
2. |−− α ↔ (∃x α)
3. |−− (α → (∀x β)) ↔ (∀x α → β)
4. |−− ((∃x β) → α) ↔ (∃x β → α)
126
A.8. Blatt 8
A.8. Blatt 8
Aufgabe 1
1. Zeigen Sie |−− (∃x (∀y α)) → (∀y (∃x α)).
2. Zeigen Sie, dass die folgende Formel nicht gültig ist:
(∀y (∃x A(x, y))) → (∃x (∀y A(x, y)))
3. Warum funktioniert obiger Beweis bei letzterer Formel nicht?
Aufgabe 2
Zeigen Sie die Gültigkeit folgender Formel:
(∃x α → β) → ((∀x α) → (∃x β))
Aufgabe 3 – Gebundene Umbenennung von Variablen
Bsp.: in einer Formel können quantifizierte Variable umbenannt werden, ohne dass
die Aussage der Formel geändert wird. Als Beispiel betrachten wir die Definition der
O-Notation. Eine Funktion f : N → N ist in O(g), falls
∃c ∈ N ∃n0 ∈ N ∀n ∈ N (n ≥ n0 ) → (f (n) ≤ c · g(n) + c)
Durch gebundene Umbenennung von n0 zu m erhalten wir die äquivalente Formel
∃c ∈ N ∃m ∈ N ∀n ∈ N (n ≥ m) → (f (n) ≤ c · g(n) + c)
Bei der gebundenen Umbenennung wird also die Variable hinter dem Quantor und alle
durch diesen Quantor gebundenen Vorkommen der Variablen umbenannt.
Formal: Sei α eine Formel mit freier Variablen x ohne freies Vorkommen von y und mit y
frei für x in α. Beweisen Sie, dass gilt: |−− (∀x α) ↔ (∀y α[x/y]).
A.9. Blatt 9
Aufgabe 1
Sei K eine konsistente und abgeschlossene Theorie, und α sei eine Formel von K, die
nicht beweisbar ist. Zeigen Sie: dann ist K + {α} nicht konsistent.
127
A. Übungsaufgaben
Aufgabe 2
Sei α eine Formel ohne Quantoren und |−− α im Prädikatenkalkül 1. Ordnung. Zeigen Sie:
α ist Instanz einer Tautologie. (Hinweis: falls nicht, dann gibt es eine Interpretation mit der
Menge aller Terme von α als Grundmenge, unter der α falsch ist.)
A.10. Blatt 10
Beweisen Sie das Theorem (f): |−− t = 0 + t
S
A.11. Blatt 11
Aufgabe 1
Beweisen Sie, dass die Nullfunktion (streng) repräsentierbar ist.
Z : Nk → N
mit
Z(n1 , . . . , nk ) = 0
für alle n1 , . . . , nk ∈ N
Aufgabe 2
k : Nk → N mit C (n , . . . , n ) = m (streng)
Beweisen Sie, dass die Konstantenfunktion Cm
m 1
k
repräsentierbar ist.
Aufgabe 3
Geben Sie Formeln zur Repräsentation der folgenden Funktionen an.
f1 (n) =
(
f2 (n) =
n−1
n+1
A.12. Blatt 12
Aufgabe 1
Zeigen Sie, dass xy primitiv-rekursiv ist.
128
n
2
falls n ungerade
sonst
A.12. Blatt 12
Aufgabe 2
Zeigen Sie, dass die Fibonacci-Funktion primitiv-rekursiv ist.
fib(0) = 0
fib(1) = 1
fib(n + 2) = fib(n + 1) + fib(n)
129
B. Lösungen der Übungsaufgaben
B.1. Blatt 1
Aufgabe 1
1.
A → (B → C) ≡ ¬A ∨ (B → C) ≡ ¬A ∨ ¬B ∨ C
≡ ¬(A ∧ B) ∨ C ≡ (A ∧ B) → C
2.
(A → B) → A ≡ ¬(¬A ∨ B) ∨ A ≡ (A ∧ ¬B) ∨ A
3.
¬ ¬ A ∧ ¬(B ∨ A) → A → (¬B ∧ A)
|
{z
=A∧¬B∧¬A=f
|
}
{z
=¬A∨(¬B∧A)
≡ ¬(f ∨ ¬A ∨ (¬B ∧ A))
}
≡ ¬((¬A ∨ ¬B) ∧ (¬A ∨ A))
|
{z
=w
}
≡ ¬¬(A ∧ B) ≡ A ∧ B
4.
A ↔ B ≡ (A ∧ B) ∨ (¬A ∧ ¬B) ≡ (A ∧ B) ∨ ¬A ∧ (A ∧ B) ∨ ¬B
≡ (A ∨ ¬A) ∧ (B ∨ ¬A) ∧ (A ∨ ¬B) ∧ (B ∨ ¬B)
|
{z
=w
}
|
{z
=A→B
}
|
{z
=B→A
}
|
{z
=w
}
≡ (A → B) ∧ (B → A)
5. Für A = f, B = w, C = f ist (A → B) → C = f , aber A → (B → C) = w. Also
sind beide Formeln nicht äquivalent.
130
B.2. Blatt 2
Aufgabe 2
1. Ja, denn formalisiert lautet die Aussage ((A → B) ∧ A) → B. Durch Umformung
gelangt man zu der äquivalenten Formel ¬A ∨ ¬B ∨ B, welche eine Tautologie ist.
Also ist der Schluss korrekt.
2. Formalisierung: A → B
a) Formalisierung: ¬A → ¬B. Dies ist kein korrekter Schluss, da beider Formeln
für A = w und B = f einen anderen Wahrheitswert haben.
b) Formalisierung: ¬B → ¬A. Dies ist ein korrekter Schluss, da beide Formeln
sematisch äquivalenten zu ¬A ∨ B sind.
3. Dies ist ebenfalls ein korrekter Schluss, da die Formalisierungen (A ∨ B) → C und
¬C → (¬A ∧ ¬B) dem Schema im Aufgabenteil 2b) entsprechen.
B.2. Blatt 2
1. |−− (¬α → α) → α
L
(1) ¬α → ¬α
(2) (¬α → ¬α) → (¬α → α) → α
(3) (¬α → α) → α
Beispiel 1.3
(A3)
MP 1,2
2. α → (β → γ) |−− β → (α → γ)
L
(1)
(2)
(3)
(4)
(5)
α → (β → γ)
β
α
β→γ
γ
Hypothese
Hypothese
Hypothese
MP 3,1
MP 2,4
Mit dem Deduktionstheorem ergibt aus α → (β → γ), β, α |−− γ der eigentliche
Beweis.
3. |−− (¬β → ¬α) → (α → β)
L
Wir beweisen zuerst ¬β → ¬α, α |−− β
L
131
B. Lösungen der Übungsaufgaben
(1)
(2)
(3)
(4)
(5)
(6)
(7)
¬β → ¬α
α
(¬β → ¬α) → ((¬β → α) → β)
(¬β → α) → β
α → (¬β → α)
¬β → α
β
Hypothese
Hypothese
(A3)
MP 1,3
(A1)
MP 2,5
MP 6,4
Durch zweimalige Anwendung des Deduktionstheorems ergibt sich |−− (¬β →
L
¬α) → (α → β).
4. Die Aussage von Satz 1.2 war: Wenn α ein Theorem der Theorie L ist, dann ist α
eine Tautologie. Dann ist ¬α also keine Tautologie und folglich gilt nach Satz 1.2
nicht |−− ¬α.
L
Die Aussage „Wenn α ein Theorem ist, dann ist α eine Tautologie“ lässt sich auch
als „Wenn α keine Tautologie ist, dann ist α kein Theorem von L“ schreiben.
Wenn |−− ¬α, dann ist ¬α eine Tautologie. Dann ist ¬¬α keine Tautologie. Es gilt
L
¬¬α = α. Also ist α keine Tautologie und nach dem letzten Absatz gilt folglich
nicht |−− α.
L
5.
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
α
¬α
α → (¬β → α)
¬α → (¬β → ¬α)
¬β → α
¬β → ¬α
(¬β → ¬α) → ((¬β → α) → β)
(¬β → α) → β
β
Hypothese
Hypothese
(A1)
(A1)
MP 1,3
MP 2,4
(A3)
MP 6,7
MP 5,8
B.3. Blatt 3
Aufgabe 1
Aus dem Beweis von Satz 1.4 folgt: Jede Formel baut sich induktiv aus ihren Teilformeln
auf (siehe z. B. Abbildung 1.2). Jede Teilformel einer Tautologie α fügt höchstens 3
Beweisschritte zum Beweis von A |−− α hinzu (siehe Beweis von Satz 1.4 und Beispiel in
L
132
B.3. Blatt 3
Abbildung 1.3). Also hat der Beweis für A |−− α höchstens 3 · |α| Schritte, wobei |α| die
Anzahl der Teilformeln von α ist.
L
Für eine Tautologie mit n Variablen gibt es 2n Belegungen dieser Variablen, aus denen
die Tautologie bewiesen werden kann. Nach dem Beweis von Satz 1.5 werden diese
2n Beweise mit insgesamt ≤ 2n · 3 · |α| Beweisschritten induktiv in 2n − 1 Schritten
zu einem Beweis für |−− α zusammengefasst. In jedem dieser weiteren Schritte wird
L
zweimal das Deduktionstheorem verwendet und mit den so erhaltenen Formeln zweimal modus ponens auf eine Tautologie angewendet. Rechnet man die Schritte zum
Beweis der jeweiligen Tautologie nicht mit, dann ergeben sich daraus 4 · (2n − 1) weitere
Beweisschritte.
Es Beweis braucht also höchstens 2n · 3 · |α| + 4 · (2n − 1) = 2n · (3 · |α| + 4) − 4 Schritte.
Aufgabe 2
Da (jede Instanz von) A3’ eine Tautologie ist, kann der Beweis von Satz 1.2 übernommen
werden und folglich ist L0 korrekt.
Wir zeigen, dass sich aus den Axiomen A1, A2 und A3’ und dem modus ponens das
Axiom A3 beweisen lässt. Damit sind alle Beweise, die wir bisher geführt haben und die
A3 verwenden, auch mit A3’ herleitbar.
Für die Vollständigkeit von L0 (d. h. für jede Tautologie ϕ gilt: |−−
ϕ) ist es also hinreichend,
0
|−−
A3 zu zeigen.
0
L
L
133
B. Lösungen der Übungsaufgaben
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
¬β → (¬¬(¬β → β) → ¬β)
(¬¬(¬β → β) → ¬β) → (β → ¬(¬β → β))
¬β → (β → ¬(¬β → β))
(¬β → (β → ¬(¬β → β))) → ((¬β → β) →
(¬β → ¬(¬β → β)))
(¬β → β) → (¬β → ¬(¬β → β))
¬β → ¬α
¬β → α
(¬β → ¬α) → (α → β)
α→β
¬β → β
¬β → ¬(¬β → β)
(¬β → ¬(¬β → β)) → ((¬β → β) → β)
(¬β → β) → β
β
(A1)
(A3’)
Beispiel 1.4 mit 1,2
(A2)
MP 3,4
Hypothese
Hypothese
(A3’)
MP 6,8
Beispiel 1.4 7,9
MP 5,10
(A3’)
MP 11,12
MP 10,13
Nach zweimaliger Anwendung des Deduktionstheorems erhälten wir das Axiom A3,
womit gezeigt ist, dass alle Beweise auch mit dem Axiom A3’ geführt werden können.
Einen anderen, aber längeren Beweis gibt es unter news:m6mo935o4bbe3kam8k8987nh4fq2j367lv@
4ax.com.
B.4. Blatt 4
Aufgabe 1
Wenn A2 eine Tautologie ist, dann ist die Negation davon eine Kontradiktion (d. h. eine
Formel, die unter jeder Belegung falsch ist). Die konjunktive Normalform ist also die
UND-Verknüpfung der Negation aller passenden Belegungen:
(¬A ∨ ¬B ∨ ¬C) ∧ (¬A ∨ ¬B ∨ C) ∧ (¬A ∨ B ∨ ¬C) ∧ · · ·
∧ (A ∨ ¬B ∨ C) ∧ (A ∨ B ∨ ¬C) ∧ (A ∨ B ∨ C)
Daraus erhalten wir folgende Resolutionsherleitung der leeren Klausel.
134
B.4. Blatt 4
{¬A, ¬B, ¬C}{¬A, ¬B, C} {¬A, B, ¬C} {¬A, B, C} {A, ¬B, ¬C} {A, ¬B, C} {A, B, ¬C}
{¬A, ¬B}
{¬A, B}
{A, ¬B}
{A, B, C}
{A, B}
{¬A}
{A}
2
Aufgabe 2
Wir zeigen, dass die Negation ¬α von α eine Kontradiktion ist. Da α die Form β → γ
hat, hat ¬α die Form β ∧ ¬γ. Also ist ¬α folgende Formel.
(A ∨ B ∨ ¬C) ∧ (¬A ∨ B ∨ D) ∧ (C ∨ D) ∧ (¬A ∨ ¬D) ∧ (A ∨ C ∨ ¬D) ∧ ¬B ∧ ¬C
Daraus erhalten wir folgende Resolutionsherleitung der leeren Klausel.
{A, B, ¬C} {¬A, B, D}
{C, D}
{¬A, ¬D}
{¬A, C}
{A, C, ¬D}
{¬B}
{¬C}
{A, C}
{C}
2
Aufgabe 3
Bei Klauselmengen mit Variablen A1 , A2 , . . . , An ist jede Klausel eine Teilmenge von
{A1 , . . . , An , ¬A1 , . . . , ¬An }. Eine Menge mit 2n Elementen hat 22n Teilmengen.
|
{z
2n Elemente
}
Also ist 22n die obere Schranke für die Länge eines Resolutionsbeweises für eine Klauselmenge mit n Variablen.
135
B. Lösungen der Übungsaufgaben
B.5. Blatt 5
Aufgabe 1
1. (∃u ∈ N x · u = y) ∧ (∃v ∈ N x · v = z). Dies entspricht der Aussage „x ist
gemeinsamer Teiler von y und z“.
2. ∀y ∈ N (∃z ∈ N y · z = x) → (y = 1 ∨ y = x). Das bedeutet „Für alle Teiler y von
x gilt (y = 1 ∨ y = x)“. Dies wiederum bedeutet „x ist eine Primzahl“.
Aufgabe 2
1. T (α, β) bedeutet „α teilt β“
T (x, a) ∧ T (x, b) ∧ (∀y T (y, a) ∧ T (y, b) ∧ y ≤ x)
2. P (α) bedeutet „α ist prim“, A21 (x1 , x2 ) bedeutet „xy < x2 “
¬ ∃u P (u) ∧ (∀x P (x) ∧ A21 (x, u))
oder: P (2) ∧ ∀x ∃y (P (y) ∧ A21 (x, y))
als „α < β“.
mit P (α) als „α ist prim“ und A21 (α, β)
B.6. Blatt 6
Aufgabe 1
1. Der Teil A21 (x, y) ↔ ¬A21 (x, x) soll für alle y gelten, also auch für y = x. Dann ist die
Äquivalenzrelation A21 (x, x) ↔ A21 (x, x) falsch und damit auch die Allaussage. Durch
den Existenzquantor bleibt die Formel falsch und damit ist die Gesamtaussage
wahr.
2. Der rechte Teil der äußeren Implikation ist falsch, wenn ¬(∃x A11 (x) → A12 (x)) ≡
(∀x A11 (x) ∧ ¬A12 (x)) gilt. Also muss (A11 )M die Grundmenge sein (d. h. immer
wahr) und A12 (x) = ∅. ∃x A11 (x) → A12 (x) ist also nur dann falsch, wenn M die
Implikation von A11 und A12 enthält.
(∃x A11 (x)) → (∃x A12 (x)) ist falsch unter jeder solchen Interpretation. Also ist die
gesamte Formel unter jeder Interpretation wahr. Das heißt die Formel ist gültig.
136
B.6. Blatt 6
3. Wir formen zuerst die Formel (∃x A11 (x) → (∀x A11 (x))) etwas um
≡ ∃x ¬A11 (x) ∨ (∀x A11 (x))
≡ (∃x ¬A11 (x)) ∨ (∃x (∀x A11 (x)))
≡ ¬(∀x A11 (x)) ∨ (∀x A11 (x))
Die Formel ist immer gültig, da sie eine Instanz von B ∨ ¬B ist.
Der Umformung von der zweiten in die dritte Zeile ∃x (∀x A11 (x)) ≡ ∀x A11 (x)
liegt zugrunde, dass Quantoren nur freie Vorkommen von Variablen binden. x ist
aber bereits durch den Allquantor gebunden und daher kann der Existenzquantor
weggelassen werden.
4. M sei eine Interpretation, unter der ∀x A11 (x) ∨ A12 (x) wahr ist.
Fall 1: Sei ∀x A11 (x) falsch, dann ist ∀x A21 (x) wahr, also auch ∃x A21 (x) wahr und
die Disjunktion (∀x A11 (x)) ∨ (∃x A12 (x)) und damit die gesamte Formel.
Fall 2: Sei ∀x A11 (x) wahr, dann ist die Implikation immer wahr.
Für die Interpretation M0 , unter der ∀x A11 (x)∨A12 (x) falsch ist, gilt die Implikation
immer.
Aufgabe 2
Für einelementige Grundmengen ist die Formel (∃x A(x)) ∧ (∃x ¬A(x)) immer falsch.
Mit einer Grundmenge mit mindestens zwei Elementen kann die Formel jedoch wahr
sein.
Für zweielementige Grundmengen ist die Formel (∃x ¬A(x)∧¬B(x))∧(∃x A(x)∧¬B(x))∧
(∃x ¬A(x) ∧ B(x)) falsch. Für die Grundmenge D = {1, 2, 3} macht die Interpretation
(A)M = {2}, (B)M = {3} die Formel wahr.
Aufgabe 3
(1)
(2)
(3)
(4)
(∀xi ¬α) → ¬α[xi /t]
(∀xi ¬α) → ¬α[xi /t] → (α[xi /t] → ¬(∀xi ¬α))
α[xi /t] → ¬(∀xi ¬α)
α[xi /t] → (∃xi α)
(A4)
Inst. einer auss.log. Taut.
MP 1,2
abk. Schreibweise mit ∃
137
B. Lösungen der Übungsaufgaben
Aufgabe 4
(1)
(2)
(3)
(∀xi α) → α[xi /t]
α[xi /t] → (∃xi α)
(∀xi α) → (∃xi α)
(A4)
Aufgabe 3
Beispiel 1.4 1,2
B.7. Blatt 7
1. Beweisen wir die Aussage in zwei Teilen:
Fall 1: zu zeigen: |−− α → (∀x α)
(1)
(2)
Hypothese
Gen 1
α
(∀x α)
Damit ist gezeigt, dass α |−− (∀x α). Da x nicht frei in α vorkommt, können
wir das Deduktionstheorem anwenden und erhalten |−− α → (∀x α).
Fall 2: zu zeigen: |−− (∀x α) → α
(1)
A4
(∀x α) → α[x/t]
| {z }
=α
Da x in α nicht frei vorkommt, gilt α[x/t] = α.
Mit der Äquivalenzregel α → β, β → α |−− α ↔ β folgt aus den beiden Fällen:
|−− α ↔ (∀x α)
2. Zerlegen wir die Aussage wieder in zwei Teile:
Fall 1: zu zeigen: |−− α → (∃x α)
(1) α
(2) (∃x α)
Hypothese
aus 1 mit RE4 (da α[x/t] = α)
Mit dem Deduktionstheorem ergibt sich |−− α → (∃x α).
Fall 2: zu zeigen: |−− (∃x α) → α
(1) (∃x α)
(2) α[x/c]
Hypothese
aus 1 mit Regel C
| {z }
=α
Die Regel C darf im zweiten Schritt angewendet werden, weil die Konstante c
bisher nicht in α vorkommt, und da α[x/c] = α kommt c auch nicht in der
zu beweisenden Formel vor.
138
B.7. Blatt 7
Die beiden Aussagen können wieder zur Gesamtaussage mittels der Äquivalenzregel
α → β, β → α |−− α ↔ β gebracht werden.
3. Wieder zwei Teile, wie zuvor:
Fall 1: zu zeigen: |−− (α → (∀x β)) → (∀x α → β)
(1)
(2)
(∃x α ∧ ¬β)
(α ∧ ¬β)[x/c]
|
(3)
(4)
(5)
(6)
{z
=α∧¬β[c/t]
Hypothese
aus 1 mit Regel C
}
aus 2 mit Konjunktionsregel
aus 2 mit Konjunktionsregel
aus 4 mit RE4
aus 3 und 5 mit Konjunktionsregel
α
¬β[x/c]
(∃x ¬β)
α ∧ (∃x ¬β)
{z
|
}
α∧¬(∀x β)=¬(α→(∀x β))
Damit ist gezeigt: ¬(∀x α → β) |−− ¬(α → (∀x β)). Mit Deduktionstheorem
folgt: |−− ¬(∀x α → β) → ¬(α → (∀x β)). Mit Punkt 3 auf Blatt 3
((¬γ → ¬δ) → (δ → γ)) folgt dann mittels modus ponens (α → (∀x β)) →
(∀x α → β).
Fall 2: zu zeigen: |−− (∀x α → β) → (α → ∀x β)
(1)
(∀x α → β) → (α → ∀x β)
(A5)
4. Zeigen wir die Aussage wieder in zwei Schritten:
Fall 1: dazu zeigen wir zuerst: ¬(∃x β → α) → ¬((∃x β) → α)
(1)
¬(∃x β → α)
|
(2)
(3)
(4)
(5)
(6)
{z
=(∀x β∧¬α)
β[x/b] ∧ ¬α
β[x/b]
¬α
(∃x β)
(∃x β) ∧ ¬α
Hypothese
}
aus 1 mit RA4
aus 2 mit Konjunktionsregel
aus 2 mit Konjunktionsregel
aus 3 mit RE4
Konjunktionsregel
Mit Deduktionstheorem folgt |−− ¬(∃x β → α) → ¬((∃x β) → α)
Mit Punkt 3 auf Blatt 3 ((¬γ → ¬δ) → (δ → γ)) folgt dann mittels modus
ponens die Teilaussage.
Fall 2: analog zum ersten Fall.
139
B. Lösungen der Übungsaufgaben
B.8. Blatt 8
Aufgabe 1
1.
(1)
(2)
(3)
(∃x (∀y α))
(∀y α[x/c])
(α[x/c])[y/y]
|
(4)
(5)
{z
=α[x/c]
(∃x α)
(∀y (∃x α))
Hypothese
Regel C mit 1
RA4 mit 2
}
RE4 mit 3
Gen 4
Die Generalisierung in Schritt (5) betrifft eine Variable, die in der durch Regel C in
Schritt (3) erhaltenen Formel nicht frei vorkommt und ebenfalls in der Hypothese
nicht frei vorkommt. Deshalb war die Anwendung von Regel C korrekt und das
Deduktionstheorem kann angewendet werden.
2. Die Interpretation M mit der Grundmenge N und (A)M = {(x, y) : x > y} ist kein
Modell der Formel.
3. Weil die Generalisierung eine Variable betrifft, die in der durch Regel C erzeugten
Formel frei vorkommt. Deshalb wäre die Anwendung von Regel C nicht korrekt.
Aufgabe 2
(1) (∃x α → β)
(2) (α → β)[x/c]
|
{z
Hypothese
Regel C mit 1
}
=α[x/c]→β[x/c]
(3)
(4)
(5)
(6)
(∀x α)
α[x/c]
β[x/c]
(∃x β)
Hypothese
RA4 mit 3
MP 4,2
RE4 mit 5
Hier ist wichtig, dass Schritt (2) vor Schritt (4) kommt. Die durch Regel C eingeführte Konstante kann durch Regel RA4 in Schritt (4) wiederverwendet werden. Da im
Beweis keine Generalisierungen vorkommen, kann das Deduktionstheorem angewendet
werden.
140
B.9. Blatt 9
Aufgabe 3
Wir zeigen zuerst |−− (∀x α) → (∀y α[x/y]).
(1)
(2)
(3)
(∀x α)
α[x/y]
(∀y α[x/y])
Hypothese
RA4 mit 1
Gen 2
Schritt (2) ist korrekt, da y frei für x in α ist. Nun zeigen wir die Gültigkeit der
umgekehrten Implikation |−− (∀y α[x/y]) → (∀x α).
(1)
(2)
(∀y α[x/y])
(α[x/y])[y/x]
|
(3)
{z
=α
(∀x α)
Hypothese
RA4 mit 1
}
Gen 2
Schritt (2) ist korrekt, da y in α nicht frei vorkommt. Alle freien Vorkommen von y in
α[x/y] sind also solche, die freie Vorkommen von x in α ersetzt haben.
Mit der Äquivalenzregel folgt aus |−− (∀x α) → (∀y α[x/y]) und |−− (∀y α[x/y] → (∀x α)
die Gültigkeit von (∀x α) ↔ (∀y α[x/y]).
B.9. Blatt 9
Aufgabe 1
Wenn α eine geschlossene Formel ist, dann ist nach Definition 2.12 die Formel ¬α
beweisbar in K. In K + {α} sind dann α als auch ¬α beweisbar, womit K + {α} nicht
konsistent ist.
Wenn α nicht geschlossen ist, dann ist der Abschluss α∗ von α in K nicht beweisbar. help:
Warum? Deshalb ist ¬α∗ in K beweisbar, und ebenso in K +{α}. In K +{α} ist α∗ mittels
Generalisierung beweisbar. Also ist K + {α} nicht konsistent.
141
B. Lösungen der Übungsaufgaben
Aufgabe 2
Formel ohne Quantoren:
A21 (x5 , f12 (x1 , x3 )) → A11 f11 (f22 (x1 , x5 ))
Menge aller Terme: {a5 , x1 , x3 , x5 , f12 (x1 , x3 ), f22 (x1 , x5 ), f11 f22 (x1 , x5 ) }.
A21 → A11 wird falsch unter {A21 , ¬A11 }. Dieses dann auf den Inhalt anwenden.
Annahme: 6|== α, d. h. es gibt eine Interpretation M und eine Variablenbelegung s ∈
M
ΣM , so dass gilt: s erfüllt α nicht. Mit dem Vollständigkeitssatz (Satz 2.9) folgt 6|−−
α.
Beweis der Annahme: α ist Formel ohne Quantoren und α ist keine Instanz einer
Tautologie. α könnte beispielsweise so aussehen ¬A(y) ∧ A(x) ∨ (B(x) → ¬A(x)) →
A3 ∧ (A1 ∨ (A2 → ¬A1 )). help: Das sieht komisch aus. Sollten die A und B nicht eher
Funktionen f11 und f21 sein?
β entsteht aus α durch Ersetzen atomarer Formeln durch Variablen (gleiche atomare
Formeln durch gleiche Variablen). β ist keine Tautologie, dann hat β eine Belegung B
unter der β falsch ist. [B = {A1 , ¬A2 , A3 }]
Konstruktion einer Interpretation M und einer Variablenbelegung s: Grundmenge sei
die Menge aller Terme aus Bestandteilen von α
{x, y, f (x), f (y), f (f (x)), f (f (y)), . . . }
und (f )M (t) = f (t) für jedes t in der Grundmenge – „Terme werden durch sich selbst
interpretiert.“
[(A)M = {x, y}, (B)M = ∅] Prädikatensymbole werden entsprechend der Belegung der
aussagenlogischen Variablen interpretiert.
Variablenbelegung von s:
z
s(z)
x
x
y
y
Jedes Variablensymbol wird in s durch sich selbst interpretiert. Nun gilt: s erfüllt α gdw
β ist wahr unter B. Weil β falsch ist unter B, ist M kein Modell von α. Also ist α nicht
gültigt und folglich gilt 6|−− α.
B.10. Blatt 10
Wir zeigen |−− x = 0 + x mittels Induktion über x
S
142
B.11. Blatt 11
IA:
(1) 0 + 0 = 0
(2) 0 + 0 = 0 → 0 = 0 + 0
(3) 0 = 0 + 0
(S5’)
(b)
MP 1,2
Damit ist |−− x = 0 + x bewiesen.
S
IS: x = 0 + x → x0 = 0 + x0
(1)
(2)
(3)
(4)
(5)
(6)
(7)
x=0+x
x = 0 + x → x0 = (0 + x)0
x0 = (0 + x)0
0 + x0 = (0 + x)0
x0 = (0 + x)0 → (0 + x0 = (0 + x)0 → x0 = 0 + x0 )
0 + x0 = (0 + x)0 → x0 = 0 + x0
x0 = 0 + x0
Hypothese
(S2’)
MP 1,2
(S6’)
(d)
MP 3,5
MP 4,6
Damit ist x = 0 + x |−− x0 = 0 + x0 gezeigt. Mit dem Deduktionstheorem folgt
S
|−− x = 0+x → x0 = 0+x0 . Mit Generalisierung folgt |−− ∀x x = 0+x → x0 = 0+x0 .
S
S
Aus dem Induktionsanfang und Induktionsschluss folgt mit Axiom S9 |−− (∀x x =
0 + x). Mit der Regel RA4 ergibt sich |−− t = 0 + t.
S
S
B.11. Blatt 11
Aufgabe 1
Als Repräsentation verwenden wir die Formel
x1 = x1 ∧ · · · ∧ xk = xk ∧ xk+1 = 0
Nun sind zwei Dinge zu zeigen:
(1) Für Z(n1 , . . . , nk ) = xk+1 = 0 gilt |−− n1 = n1 ∧ n2 = n2 ∧ · · · ∧ nk = nk ∧ 0 = 0.
S
(1)
..
.
n1 = n1
..
.
Lemma 3.2
(k)
nk = nk
Lemma 3.2
(k + 1)
0=0
Lemma 3.2
(k + 2)
n1 = n1 ∧ n2 = n2 ∧ · · · ∧ nk = nk ∧ 0 = 0
Konjunktionsregel
143
B. Lösungen der Übungsaufgaben
(2) Als nächstes müssen wir |−− ∃1 xk+1 n1 = n1 ∧ n2 = n2 ∧ · · · ∧ nk = nk ∧ xk+1 = 0
S
zeigen. Vereinfach ist dies |−− ∃1 xk+1 xk+1 = 0, d. h.
S
|−− (∃xk+1 xk+1 = 0) ∧ (∀xk+1 ∀y (xk+1 = 0 ∧ y = 0) → xk+1 = y)
S
(∃xk+1 xk+1 = 0)
(1)
(2)
0=0
∃x1 xk+1 = 0
Lemma 3.2
RE 4
(∀xk+1 ∀y (xk+1 = 0 ∧ y = 0) → xk+1 = y)
(1)
(2)
(3)
(4)
xk+1 = 0 ∧ y = 0
xk+1 = 0
y=0
xk+1 = y
Hypothese
Konjunktionsregel
Konjunktionsregel
Transitiv. und Symm. von =
Aufgabe 2
Als Repräsentation wählen wir
x1 = x1 ∧ · · · ∧ xk = xk ∧ xk+1 = m
k (n , . . . , n ) = m gilt |−− (m = n ∧ · · · ∧ n = n ∧ m = m). Der Beweis
(1) Für Cm
1
1
1
k
k
k
S
verläuft wie der Beweis bei Aufgabe 1.
(2) Als nächsten müssen wir wieder |−− ∃1 xk+1 n1 = n1 ∧· · ·∧nk = nk ∧xk+1 = m zeigen.
S
Die Vereinfachung davon lautet |−− ∃1 xk+1 xk+1 = m und diese in der ausführlichen
S
Schreibweise
(∃xk+1 xk+1 = m) ∧ (∀xk+1 ∀y (xk+1 = m ∧ y = m) → xk+1 = y)
Für die Formel (∃xk+1 xk+1 = m) gilt:
(1) m = m
(2) ∃x1 xk+1 = m
Lemma 3.2
RE 4
(∀xk+1 ∀y (xk+1 = m ∧ y = m) → xk+1 = y)
(1)
(2)
(3)
(4)
144
xk+1 = m ∧ y = m
xk+1 = m
y=m
xk+1 = y
Hypothese
Konjunktionsregel
Konjunktionsregel
Transitiv. und Symm. von =
B.12. Blatt 12
Aufgabe 3
Eine Repäsentation für f1 ist:
2 · x2 = x1 ∨ 2 · x2 + 1 = x1
Eine Repäsentation für f2 ist:
(x2 + 1 = x1 ) ∧ (∃z x1 = 2 · z + 1) ∨ (x2 = x1 + 1) ∧ (∃z x1 = 2 · z)
B.12. Blatt 12
Aufgabe 1
fpot (a, 0) = 1
= N (Z (1) (a))
fpot (a, b + 1) = fpot (a, b) · a
(3)
= h(b, fpot (a, b), a)
(3)
mit h = (p, q, r) = fmul (U2 (p, q, r), U1 (p, q, r)). Da fmul primitiv-rekursiv ist und h
durch Komposition aus primitiv-rekursiven Funktionen entsteht ist auch fpot primitivrekursiv.
Aufgabe 2
Das Problem ist, dass zur Berechnung von fib(n) sowohl auf fib(n − 1) als auch auf
fib(n − 2) zurückgegriffen wird. Das erlaubt das Schema der Rekursion nicht direkt.
Deswegen definieren wir zuerst eine Funktion, die zwei Zahlen zu einer Zahl kodiert,
und die entsprechenden Dekodierungsfunktionen. Die Kodierungsfunktion k ist primitivrekursiv.
k(a, b) = 2a · 3b
k ist injektiv, also gibt es die Dekodierungsfunktionen.
d0 (n) = a
falls n = k(a, b)
d1 (n) = b
falls n = k(a, b)
Falls n nicht im Wertebereich von k liegt, sind uns die Werte d0 (n) und d1 (n) egal. Die
beiden Dekodierungsfunktionen sind ebenfalls primitiv-rekursiv.
d0 (n) = min ¬(2i+1 | n)
i≤n
d1 (n) = min ¬(3i+1 | n)
i≤n
145
B. Lösungen der Übungsaufgaben
Der Einfachheit halber schreiben wir (n)0 für d0 (n), und (n)1 für d1 (n).
Nun definieren wir eine Hilfsfunktion f (n) = k(fib(n), fib(n + 1)), die zwei aufeinanderfolgende Fibonacci-Zahlen kodiert.
f (0) = 3
= N (N (N (Z (0) )))
f (n + 1) = k(fib(n + 1), fib(n + 2))
= k((f (n))1 , (f (n))0 + (f (n))1 )
= h(n, f (n))
(2)
h(a, b) = fmult fpow (N (N (Z (2) (a, b))), (U2 (a, b))1 ),
(2)
(2)
fpow (N (N (N (Z (2) (a, b)))), fadd ((U2 (a, b))0 , (U2 (a, b))1 ))
Also ist f primitiv-rekursiv. Zum Abschluss müssen wir noch sagen, wie die FibonacciFunktion definiert ist:
fib(n) = (f (n))0
146
Index
index , 13–19, 21, 22, 24, 25, 27–29, 32, 33,
39–43, 53–56, 58–61, 66, 68–73,
80, 83, 88, 90–92, 97, 102–105,
110, 116, 120, 127
Deduktion, 29
DNF, siehe disjunktive Normalform
Korrektheit, 28
MP, siehe modus ponens
Quantoren, 53
Resolutionsmethode
Korrekheit der, 44
Vollständigkeit der, 45, 46
Resolutionssatz, 47
147
Zugehörige Unterlagen
Herunterladen