INHALTSVERZEICHNIS i Inhaltsverzeichnis I Collegium Logicum 1 Die Aussagenlogik 1.1 Syntax der Aussagenlogik . . . . . . . . . . . . . . . . . . . 1.1.1 Definition der aussagenlogischen Formeln . . . . . . . 1.1.2 Induktion und Rekursion . . . . . . . . . . . . . . . . 1.1.3 Beweis durch Induktion über den Formelaufbau . . . . 1.1.4 Definition durch Rekursion über den Formelaufbau . . 1.2 Semantik der Aussagenlogik . . . . . . . . . . . . . . . . . . 1.2.1 Wahrheitsfunktionen . . . . . . . . . . . . . . . . . . 1.2.2 Interpretation von aussagenlogischen Formeln . . . . . 1.2.3 Definition der wichtigsten semantischen Begriffe . . . 1.2.4 Einige wichtige allgemeingültige Formeln . . . . . . . 1.2.5 Einige wichtige Äquivalenzen . . . . . . . . . . . . . 1.2.6 Boolesche Gesetze . . . . . . . . . . . . . . . . . . . 1.2.7 Einsetzungsregel . . . . . . . . . . . . . . . . . . . . 1.2.8 Ersetzungsregel . . . . . . . . . . . . . . . . . . . . . 1.3 Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Entscheidungsverfahren für Boolesche Normalformen 1.3.2 Boolescher Repräsentationssatz . . . . . . . . . . . . 1.3.3 Das Dualitätsprinzip . . . . . . . . . . . . . . . . . . 1.4 Der semantische Folgerungsbegriff: Erfüllbarkeit . . . . . . . 1.4.1 Zusammenhang zwischen Folgerung und Erfüllbarkeit 1.5 Der syntaktische Folgerungsbegriff: Beweisbarkeit . . . . . . 1.5.1 Axiomensysteme und Beweise . . . . . . . . . . . . . 1.5.2 Korrektheit und Vollständigkeit . . . . . . . . . . . . 1.5.3 Einige Axiomensysteme der Aussagenlogik . . . . . . 1.6 Vollständigkeit und Kompaktheit . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 5 6 8 9 10 10 11 12 14 14 15 15 16 17 19 20 21 23 24 25 25 26 27 29 INHALTSVERZEICHNIS 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 2 3 ii Verallgemeinerte Expansion . . . . . . . . . . . . . . Lemma über die Negation . . . . . . . . . . . . . . . Tautologiesatz . . . . . . . . . . . . . . . . . . . . . Deduktionstheorem . . . . . . . . . . . . . . . . . . . Widerspruchsfreiheit und Vollständigkeit von Theorien Lemma über Beweisbarkeit und Konsistenz . . . . . . Vervollständigung . . . . . . . . . . . . . . . . . . . Verallgemeinerter Vollständigkeitssatz . . . . . . . . . Kompaktheitssatz der Aussagenlogik . . . . . . . . . Strukturen und formale Sprachen 2.1 Strukturen . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Beispiele . . . . . . . . . . . . . . . . . . . . 2.1.2 Mehrsortige Strukturen . . . . . . . . . . . . . 2.1.3 Symbole für formale Sprachen . . . . . . . . . 2.2 Unterstrukturen und Morphismen . . . . . . . . . . . . 2.2.1 Beispiele . . . . . . . . . . . . . . . . . . . . 2.2.2 Satz über Unterstrukturen . . . . . . . . . . . 2.2.3 Homomorphes Bild, Identifizierung . . . . . . 2.3 Terme einer Sprache . . . . . . . . . . . . . . . . . . 2.3.1 Interpretation von Termen . . . . . . . . . . . 2.3.2 Spracherweiterung durch Namen . . . . . . . . 2.3.3 Erzeugte Unterstrukturen . . . . . . . . . . . . 2.4 Formeln einer Sprache . . . . . . . . . . . . . . . . . 2.4.1 Beweis durch Induktion über den Formelaufbau 2.4.2 Freie und gebundene Variable . . . . . . . . . 2.4.3 Substitution . . . . . . . . . . . . . . . . . . . Modelle und Theorien 3.1 Das Wahrheitsprädikat: Modelle . . . . . . . . . . 3.1.1 Satz über neue Konstanten . . . . . . . . . 3.2 Axiome und Theorien . . . . . . . . . . . . . . . . 3.3 Der Kompaktheitssatz und einige Folgerungen . . . 3.3.1 Kompaktheitssatz . . . . . . . . . . . . . . 3.3.2 Satz über die Existenz unendlicher Modelle 3.4 Diagramme . . . . . . . . . . . . . . . . . . . . . 3.4.1 Diagrammlemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 32 32 33 33 34 35 35 36 . . . . . . . . . . . . . . . . 37 38 38 39 40 41 43 44 44 45 45 46 47 48 49 50 51 . . . . . . . . 53 53 55 56 57 57 58 59 59 INHALTSVERZEICHNIS 3.5 4 3.4.2 Universelle Theorien . . . . . . . . . . . 3.4.3 Modellerweiterungssatz von Keisler . . . 3.4.4 Erhaltungssatz für universelle Formeln . 3.4.5 Satz von Łoś-Tarski . . . . . . . . . . . Einige mathematische Theorien . . . . . . . . . 3.5.1 Ordnungen . . . . . . . . . . . . . . . . 3.5.2 Gruppen- und Körpertheorie . . . . . . . 3.5.3 Axiomatisierbarkeit: Elementare Klassen 3.5.4 Zahlentheorie . . . . . . . . . . . . . . . 3.5.5 Mengenlehre . . . . . . . . . . . . . . . iii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gesetze der Prädikatenlogik 4.1 Ein Axiomensystem für die Prädikatenlogik . . . . . . . . . . 4.1.1 Axiomensystem von Shoenfield . . . . . . . . . . . . 4.1.2 Definition eines Beweises . . . . . . . . . . . . . . . 4.2 Der Tautologiesatz . . . . . . . . . . . . . . . . . . . . . . . 4.3 Substitution und universeller Abschluß . . . . . . . . . . . . . 4.3.1 Hintere Generalisierung . . . . . . . . . . . . . . . . 4.3.2 Satz über die Generalisierung . . . . . . . . . . . . . 4.3.3 Substitutionsregel . . . . . . . . . . . . . . . . . . . . 4.3.4 Substitutionssatz . . . . . . . . . . . . . . . . . . . . 4.3.5 Abschlußsatz . . . . . . . . . . . . . . . . . . . . . . 4.4 Ersetzung und Umbenennung, Gleichheit . . . . . . . . . . . 4.4.1 Ersetzungstheorem . . . . . . . . . . . . . . . . . . . 4.4.2 Eigenschaften des Gleichheitsprädikates . . . . . . . . 4.5 Pränexe Normalformen . . . . . . . . . . . . . . . . . . . . . 4.5.1 Umformungen mit der Negation . . . . . . . . . . . . 4.5.2 Umformungen mit Konjunktion und Disjunktion . . . 4.5.3 Umformungen mit der Implikation . . . . . . . . . . . 4.5.4 Das Dualitätsprinzip für die Prädikatenlogik . . . . . . 4.6 Das Deduktionstheorem . . . . . . . . . . . . . . . . . . . . . 4.7 Erweiterungen von Theorien, Widerspruchsfreiheit . . . . . . 4.7.1 Erweiterungen und Expansionen . . . . . . . . . . . . 4.7.2 Satz über rein sprachliche Erweiterungen von Theorien 4.7.3 Widerspruchsfrei/widerspruchsvoll . . . . . . . . . . 4.7.4 Beweisbarkeit und Widerspruchsfreiheit . . . . . . . . 4.8 Termmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 61 62 62 63 63 64 65 66 69 . . . . . . . . . . . . . . . . . . . . . . . . . 70 70 71 72 73 75 76 76 77 77 79 79 79 80 82 82 82 83 85 87 89 89 91 93 94 95 INHALTSVERZEICHNIS iv 4.8.1 Kanonische Struktur einer Theorie, Termstruktur . . . . . 4.8.2 Satz über Termmodelle . . . . . . . . . . . . . . . . . . . 4.9 Vervollständigung von Theorien . . . . . . . . . . . . . . . . . . 4.9.1 Satz von Lindenbaum . . . . . . . . . . . . . . . . . . . 4.10 Henkin-Theorien . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11 Der Gödelsche Vollständigkeitssatz . . . . . . . . . . . . . . . . . 4.11.1 Vollständigkeit der Prädikatenlogik / Modellexistenz-Satz 4.11.2 Satz von Löwenheim . . . . . . . . . . . . . . . . . . . . 4.11.3 Kompaktheitssatz . . . . . . . . . . . . . . . . . . . . . . 95 96 97 98 99 102 102 104 105 II Mengenlehre 106 5 . . . . . . . . . . . . . . . . 107 107 108 111 112 112 114 115 116 117 120 122 124 127 127 130 133 . . . . . . 135 135 135 136 137 138 138 6 Grundlagen der Mengenlehre 5.1 Ordinalzahlen . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Ordnungen . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Definition der Ordinalzahlen . . . . . . . . . . . . . 5.1.3 Satz: Charakterisierung von Ordinalzahlen . . . . . 5.1.4 Die Ordnung der Ordinalzahlen . . . . . . . . . . . 5.2 Mengen und Klassen . . . . . . . . . . . . . . . . . . . . . 5.2.1 Komprehensionsaxiom . . . . . . . . . . . . . . . . 5.2.2 Auswege aus den Antinomien . . . . . . . . . . . . 5.2.3 Die mengentheoretische Sprache mit Klassentermen 5.2.4 Überblick über verschiedene Axiomensysteme . . . 5.3 Extensionalität und Aussonderung . . . . . . . . . . . . . . 5.4 Relationen und Funktionen . . . . . . . . . . . . . . . . . . 5.5 Vereinigung und Produkt . . . . . . . . . . . . . . . . . . . 5.5.1 Vereinigung . . . . . . . . . . . . . . . . . . . . . . 5.5.2 Potenzmenge und allgemeines Produkt . . . . . . . 5.6 Überblick über die ZF-Axiome . . . . . . . . . . . . . . . . Mengen von Mengen von . . . 6.1 Induktion und Rekursion . . . . . . . . . . . 6.1.1 Ordnungen auf Klassen . . . . . . . . 6.1.2 Minimumsprinzip . . . . . . . . . . . 6.1.3 Induktionsprinzip für Wohlordnungen 6.1.4 Segmente . . . . . . . . . . . . . . . 6.1.5 Rekursionssatz für Wohlordnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INHALTSVERZEICHNIS 6.2 6.3 7 8 III 9 v 6.1.6 Repräsentationssatz für Wohlordnungen . . 6.1.7 Transfinite Rekursion . . . . . . . . . . . . Die von-Neumannsche Hierarchie . . . . . . . . . Die Rolle des Unendlichkeitsaxioms . . . . . . . . 6.3.1 PA in mengentheoretischer Sprache . . . . 6.3.2 Die Theorie der endlichen Mengen . . . . . 6.3.3 Anwendungen der numerischen Rekursion . . . . . . . . . . . . . . . . . . . . . Das Auswahlaxiom 7.1 Zermelos Axiom . . . . . . . . . . . . . . . . . . . . . 7.1.1 Mengentheoretisch äquivalente Formen . . . . . 7.1.2 Der Zermelosche Wohlordnungssatz . . . . . . . 7.1.3 Maximumsprinzipien von Zorn und Hausdorff . 7.2 Anwendungen des Auswahlaxioms . . . . . . . . . . . . 7.2.1 Jeder Vektorraum besitzt eine Basis. . . . . . . . 7.2.2 Der Satz von Hahn-Banach . . . . . . . . . . . . 7.2.3 Nicht-meßbare Mengen . . . . . . . . . . . . . 7.2.4 Äquivalenz verschiedener Stetigkeitsdefinitionen 7.2.5 Satz von Tychonoff . . . . . . . . . . . . . . . . 7.2.6 Boolesches Primidealtheorem . . . . . . . . . . Mächtigkeiten und Kardinalzahlen 8.1 Endliche und abzählbare Mengen . . . . . . 8.2 Abzählbare Mengen . . . . . . . . . . . . . 8.3 Überabzählbare Mengen . . . . . . . . . . 8.4 Mächtigkeiten . . . . . . . . . . . . . . . . 8.4.1 Satz von Cantor-Schröder-Bernstein 8.4.2 Vergleichbarkeitssatz von Hartogs . 8.4.3 Satz von Cantor . . . . . . . . . . . 8.5 Kardinalzahlen . . . . . . . . . . . . . . . 8.5.1 Operationen auf den Kardinalzahlen 8.5.2 Satz von Hessenberg . . . . . . . . 8.5.3 Satz von Bernstein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grundlagen der Modelltheorie Hin und her: Vollständigkeit und elementare Äquivalenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 143 144 145 146 148 148 . . . . . . . . . . . 151 151 151 152 153 156 156 156 156 158 158 158 . . . . . . . . . . . 161 161 163 165 165 166 167 167 168 169 170 171 172 173 INHALTSVERZEICHNIS 9.1 9.2 9.3 vi Elementare Äquivalenz . . . . . . . . . . . . . . . . . . . . . . . 173 Die Theorie der dichten linearen Ordnung . . . . . . . . . . . . . 175 Kategorizität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 10 Auf und ab: Elementare Substrukturen 10.1 Elementare Substrukturen . . . . . . . . . . . . 10.2 Diagrammlemma (Fortsetzung) . . . . . . . . . 10.3 Kriterium von Tarski . . . . . . . . . . . . . . 10.4 Satz von Löwenheim-Skolem-Tarski (abwärts) . 10.5 Satz von Löwenheim-Skolem-Tarski (aufwärts) 10.6 Test von Vaught . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 180 181 181 182 183 184 11 Vereinigungen, Durchschnitte und Ketten 185 11.1 Satz über Ketten von Strukturen . . . . . . . . . . . . . . . . . . 186 11.2 Satz von Chang- Łoś-Szusko . . . . . . . . . . . . . . . . . . . . 188 12 Produkte und Ultraprodukte 12.1 Direktes Produkt . . . . . . . . . . . . . . . 12.2 Filter und Ultrafilter . . . . . . . . . . . . . . 12.3 Ultrafiltersatz, Boolesches Primidealtheorem 12.4 Reduziertes Produkt . . . . . . . . . . . . . . 12.5 Satz von Łoś . . . . . . . . . . . . . . . . . 12.6 Kompaktheitssatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 190 191 192 192 193 196 13 Modellvollständigkeit 198 13.1 Robinsonscher Test . . . . . . . . . . . . . . . . . . . . . . . . . 200 IV Unvollständigkeit und Unentscheidbarkeit 14 Berechenbare Funktionen 14.1 Turing-Maschinen . . . . . . . . . . . . . . 14.2 URM-berechenbare Funktionen . . . . . . 14.3 Churchsche These . . . . . . . . . . . . . . 14.4 Aufzählbarkeitssätze . . . . . . . . . . . . 14.5 Primitiv-rekursive Funktionen . . . . . . . 14.6 Rekursive und partiell-rekursive Funktionen 14.7 Partielle Entscheidbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 205 207 208 209 209 212 214 INHALTSVERZEICHNIS vii 15 Definierbarkeit berechenbarer Funktionen 15.1 Eine endlich-axiomatisierbare Teiltheorie von PA 15.2 Arithmetische Formeln . . . . . . . . . . . . . . 15.3 Enderweiterungen . . . . . . . . . . . . . . . . . 15.4 Erhaltungseigenschaften unter Enderweiterungen 15.5 Lemma . . . . . . . . . . . . . . . . . . . . . . 15.6 Gödels Lemma . . . . . . . . . . . . . . . . . . 15.7 Definierbarkeitssatz für rekursive Funktionen . . 15.8 Repräsentierbarkeit . . . . . . . . . . . . . . . . 16 Die Gödelschen Sätze 16.1 Gödel-Nummern . . . . . . . . . . . . . . 16.2 Diagonalisierungslemma . . . . . . . . . . 16.3 Satz von Gödel-Rosser . . . . . . . . . . . 16.4 Erster Gödelscher Unvollständigkeitssatz . 16.5 Kombinatorische Prinzipien . . . . . . . . 16.6 Zweiter Gödelscher Unvollständigkeitssatz 16.7 Wahrheit ist nicht arithmetisch definierbar . 16.8 Unentscheidbarkeit . . . . . . . . . . . . . 17 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 215 217 218 220 220 222 223 224 . . . . . . . . 227 227 228 229 230 231 233 234 235 238 202 Teil IV Unvollständigkeit und Unentscheidbarkeit 203 Hans Magnus Enzensberger: Hommage à Gödel Münchhausens Theorem, Pferd, Sumpf und Schopf, ist bezaubernd, aber vergiß nicht: Münchhausen war ein Lügner. Gödels Theorem wirkt auf den ersten Blick etwas unscheinbar, doch bedenk: Gödel hat recht. In jedem genügend reichhaltigen System // lassen sich Sätze formulieren, die innerhalb des Systems // weder beweis- noch widerlegbar sind, es sei denn das System // wäre selber inkonsistent. Du kannst deine eigene Sprache // in deiner eigenen Sprache beschreiben: aber nicht ganz. Du kannst dein eignes Gehirn // mit deinem eignen Gehirn erforschen: aber nicht ganz. Usw. Um sich zu rechtfertigen // muß jedes denkbare System sich transzendieren, // d.h. zerstören. Genügend reichhaltig oder nicht: Widerspruchsfreiheit ist eine Mangelerscheinung oder ein Widerspruch. (Gewißheit = Inkonsistenz.) Jeder denkbare Reiter, // also auch Münchhausen, also auch du bist ein Subsystem // eines genügend reichhaltigen Sumpfes. Und ein Subsystem dieses Subsystems // ist der eigene Schopf, dieses Hebezeug // für Reformisten und Lügner. In jedem genügend reichhaltigen System, also auch in diesem Sumpf hier, lassen sich Sätze formulieren, die innerhalb des Systems weder beweis- noch widerlegbar sind. Diese Sätze nimm in die Hand und zieh! (Zitiert nach: Hans Magnus Enzensberger: Die Elixiere der Wissenschaft. Frankfurt a.M.: Suhrkamp 2002) 204 In diesem Teil gehen wir aus von den natürlichen Zahlen als algebraische Struktur mit den Operationen der Addition und Multiplikation und zusätzlicher Ordnung. Als Axiomensystem für die elementaren Eigenschaften dieser Struktur haben wir bereits das Axiomensystem von G. P EANO erwähnt und gesehen, daß es nicht ausdrucksstark genug ist, um die Struktur der natürlichen Zahlen bis auf Isomorphie festzulegen. Tatsächlich ist es sogar nach einem berühmten Satz von K. G ÖDEL unvollständig, und wir werden sehen, daß dieses Problem sich auch durch die Hinzunahme weiterer Axiome nicht beseitigen läßt. Dazu werden wir mit den Methoden der mathematischen Logik Prädikate und Funktionen natürlicher Zahlen nach ihrer Komplexität klassifizieren, insbesondere den Begriff der Berechenbarkeit und der Entscheidbarkeit präzisieren, um damit Möglichkeiten und Grenzen der Beweisbarkeit für mathematischer Theorien, vor allem für die Zahlentheorie und auch die Logik selbst aufzuzeigen. Eine ausführlichere Darstellung der Theorie der Berechenbarkeit findet man im Skriptum K. Ambos-Spies: Theoretische Informatik (http://www.math.uni-heidelberg.de/logic/skripten.html). 205 Kapitel 14 Berechenbare Funktionen 14.1 Turing-Maschinen Eine TURING-Maschine M besitzt als Speicher ein nach beiden Seiten unbeschränktes Band, das in unendlich viele Felder eingeteilt ist. Jedes Feld kann einen Buchstaben aus dem endlichen Alphabet s1 , . . . , sn der Maschine M aufnehmen. Dabei sind zu jedem Zeitpunkt nur endlich viele Felder belegt, wobei wir vereinbaren können, daß die leeren Feldern durch ein zusätzliches Symbol s0 gekennzeichnet sind. Der Zugriff auf das Speicherband erfolgt durch einen kombinierten Lese- und Schreibkopf von der Größe eines Feldes. Das Feld, auf das der Kopf zeigt, heißt das Arbeitsfeld. Dieses Feld kann eingelesen und neu beschriftet werden. Weiterhin kann sich der Kopf um ein Feld nach links oder rechts bewegen. Durch Wiederholung dieser elementaren Operationen kann also jede Stelle des Bandes besucht, die dort stehende Information gelesen und gegebenenfalls ersetzt oder ergänzt werden. Außerdem ist M zu jedem gegebenen Zeitpunkt in einem von endlich-vielen Zuständen q1 , . . . , qr , die Einfluß auf das Verhalten von M haben. Es gibt somit 3 Typen von Operationen, genannt Anweisungen, die M ausführen kann, wenn M im Zustand qi über einem Feld steht, in dem das Zeichen s j eingetragen ist, und die wie folgt bezeichnet werden: (a) qi s j sk ql : lösche s j und schreibe dafür sk , (b) qi s j R ql : bewege den Kopf ein Feld weiter nach rechts, (c) qi s j L ql : bewege den Kopf ein Feld weiter nach links. 206 14.1. T URING -M ASCHINEN Anschließend gehe M in allen Fällen in den Zustand ql über. Ein Programm für M ist eine endliche Liste von Anweisungen der obigen Formen (a) - (c), welches konsistent ist, d. h. zu einem gegebenen Paar qi , s j (für die Ausgangssituation) gibt es in der Liste höchstens eine Anweisung, die hiermit beginnt. Beispiel: Das Alphabet von M bestehe aus den Symbolen 0, 1 (und x für ein leeres Feld), mögliche Zustände seien q1 , q2 . Das Programm P bestehe aus den folgenden 4 Anweisungen: q1 0 R q1 q1 1 0 q2 q2 0 R q2 q2 1 R q1 Anfangs stehe M im Zustand q1 über dem ersten Feld des Bandes, das von hier ab weitere n aufeinander folgende Felder mit dem Symbol 1 enthält, während die übrigen Felder leer sind: ... x x x ↓ 1 1 1 1 1 1 x x x ... Folgt M den obigen Anweisungen, so kann es diese ausführen, bis der folgende Endzustand erreicht ist: ↓ ... x x x 0 1 0 1 0 1 x x x ... Wir wollen nun erklären, wie eine T-Maschine mit vorgegebenen Programm eine Funktion berechnet. Da es vorkommen kann, daß Rechnungsprogramme bei Anwendungen auf bestimmte Anfangswerte möglicherweise nicht stoppen (weil sie z. B. in eine Schleife geraten), werden wir jetzt statt totaler Funktionen f : Nk → N auch partielle Funktionen zulassen: Definition f ist eine partielle k-stellige Funktion auf den natürlichen Zahlen gdw f : D → N für eine Teilmenge D ⊆ Nk . 14.2. URM- BERECHENBARE F UNKTIONEN 207 In diesem Falle bedeute f (~x) ↓: ⇐⇒ f ist an der Stelle ~x definiert f (~x) ↑: ⇐⇒ f ist an der Stelle ~x nicht definiert f (~x) ' g(~x) : ⇐⇒ ( f (~x) ↓ ⇐⇒ g(~x) ↓) und ( f (~x) ↓=⇒ f (~x) = g(~x)). TURING-berechenbare Funktionen Zur Darstellung von Zahlen, von denen eine Rechnung ausgeht, wählen wir s1 = 1 und benutzen es als Marke, indem n + 1 aufeinander folgende Felder mit Inhalt 1 (umgeben von Leerfeldern am Anfang und am Ende) die Zahl n darstellen. Eine partielle Funktion f : D → N wird von M berechnet, wenn M, beginnend im Anfangszustand q1 über dem ersten Feld, welches die Zahl n darstellt, genau dann über dem Band in einem Endzustand stoppt, wenn n ∈ D ist, und in diesem Fall das Symbol 1 genau f (n)-mal auf dem Band im Endzustand eingetragen ist (in obigem Beispiel ist f (5) = 3). Eine ähnliche Definition legt man im Falle mehrstelliger Funktionen fest. Eine partielle Funktion f heißt TURING-berechenbar genau dann, wenn es eine T-Maschine M gibt mit einem Programm, welches f berechnet. 14.2 URM-berechenbare Funktionen S HEPERDSON -S TURGIS haben 1963 eine Variante eines Maschinenmodells vorgeschlagen: Eine unbeschränkte Register-Maschine (URM) besitzt eine unendliche Anzahl von Registern R1 , . . . , Rl , die jeweils eine Zahl enthalten; rn sei die Zahl im Register Rn . Diese Zahlen werden von einer URM gemäß folgenden Typen von Anweisungen abgeändert: O(n): S(n): T (m, n): J(m, n, q): 0 → Rn rn + 1 → Rn rm → Rn falls rn = rm , bzw. rn := 0 ersetze rn durch 0 bzw. rn := rn + 1 addiere 1 zu rn bzw. rn := rm ersetze rn durch rm so gehe zur q-ten Anweisung über, sonst zur nächsten. Ein Programm ist nun wieder eine nummerierte endliche Folge derartiger Anweisungen. Soll eine URM mit einem Programm P = (I1 , . . . , Ik ) eine Berechnung durchführen, so muß ein Anfangszustand der Registerinhalte gegeben sein, in welchem die URM mit der ersten Anweisung beginnt und worauf sie dann den weiteren Anweisungen der Liste folgt. 208 14.3. C HURCHSCHE T HESE Beispiel: I1 : J(1, 2, 6) I2 : S(2) I3 : S(3) I4 : J(1, 2, 6) I5 : J(1, 1, 2) I6 : T (3, 1) Beginnt die URM mit den Zahlen 9 im 1. und 5 im 2. Register (und 0 in allen anderen), so erzeugt sie nach einigen Schritten die Zahl 4 im 3. Register und landet dann bei der Anweisung I6 , welche die Zahl 4 in das 1. Register überträgt; da keine weitere Anweisung folgt, stoppt hier das Programm. Es sei nun f eine partielle n-stellige Funktion auf den natürlichen Zahlen, P ein Programm und a1 , . . . , an , b seien vorgegebene Zahlen. Dann konvergiert das mit a1 , . . . , an beginnende Programm gegen die Zahl b, formal: P(a1 , . . . , an ) ↓ b, gdw es nach endlich-vielen Schritten stoppt und die Zahl b im 1. Register steht. P berechnet f gdw für alle a1 , . . . , an , b gilt: P(a1 , . . . , an ) ↓ b gdw f (a1 , . . . , an ) ist definiert und = b. f ist URM-berechenbar gdw es ein Programm P gibt, welches f berechnet. 14.3 Churchsche These Es gibt weitere Ansätze, den Begriff der berechenbaren Funktion zu präzisieren: • G ÖDEL -H ERBRAND -K LEENE (1936): mittels eines Gleichungskalküls definierte allgemein-rekursive Funktionen • C HURCH (1936): λ -definierbare Funktionen • G ÖDEL -K LEENE (1936): µ-rekursive Funktionen (s.u.) • P OST (1943): berechenbare Funktionen mittels kanonischer Deduktionssysteme • M ARKOV (1951): berechenbare Funktionen mittels Algorithmen über endlichen Alphabeten 14.4. AUFZ ÄHLBARKEITSS ÄTZE 209 Alle diese Definitionen haben sich als formal äquivalent herausgestellt, außerdem ist bisher jede einzelne der (im intuitiven Sinne) berechenbaren Funktionen auch berechenbar in dem obigen formalen Sinne, was Anlaß zu folgender Annahme gegeben hat: Churchsche These: Die (intuitiv) berechenbaren Funktionen sind genau die (in einem der obigen Sinne) formal berechenbaren Funktionen. Ohne ausführliche Beweise ergänzen wir einige wichtige 14.4 Aufzählbarkeitssätze • Da sich alle Programme effektiv aufzählen lassen, gibt es eine effektive Aufzählung ϕ0 , ϕ1 , . . . , ϕn , . . . aller einstelligen berechenbaren (partiellen) Funktionen. Mit einem Diagonalargument erhält man hieraus: • es gibt eine totale Funktion f : N → N, die nicht berechenbar ist: ( ϕn (n) + 1 falls ϕn (n) definiert ist, f (n) = 0 sonst. • Somit gibt es zwar eine Abzählung aller totalen berechenbaren Funktionen, aber diese Abzählung kann selbst nicht berechenbar sein. • Auch die folgenden Prädikate sind nicht entscheidbar (d. h. ihre charakteristischen Funktionen sind nicht berechenbar): ϕn (n) ist definiert, ϕn ist totale Funktion, ϕn ist die konstante Funktion 0, ϕn = ϕm , das n-te Programm mit Eingabe n (allgemeiner mit Eingabe m) stoppt nach endlich-vielen Schritten (das Halteproblem). • Existenz universaler Funktionen (bzw. Programme): Zu jeder berechenbaren 2-stelligen Funktion f gibt es eine totale berechenbare Funktion k mit f (n, m) = ϕk(n) (m); die 2-stellige Funktion ϕ(n, m) = ϕn (m) ist berechenbar. 14.5 Primitiv-rekursive Funktionen Zu den intuitiv berechenbaren Funktionen gehören sicher die folgenden 14.5. P RIMITIV- REKURSIVE F UNKTIONEN 210 Anfangsfunktionen R1 0(x) = 0 R2 S(x) = x + 1 R3 Pin (x1 , . . . , xn ) = xi Nullfunktion Nachfolgerfunktion i-te Projektion Durch Einsetzen von Funktionen in bereits vorgegebene Funktionen erhalten wir eine neue Funktion durch Substitution R4 f (~x) ' h(g1 (~x), . . . , gk (~x)) Wichtig ist nun das folgende Prinzip - nach diesem Muster werden nämlich die arithmetischen Operationen Addition, Multiplikation und Potenz gebildet: Primitive Rekursion R5 f (~x, 0) ' g(~x) f (~x, y + 1) ' h(~x, y, f (~x, y)) Die Klasse PRIM aller primitiv-rekursiven (abgekürzt: p.r.) Funktionen ist die kleinste Klasse von Funktionen, die die Anfangsfunktionen enthält und abgeschlossen ist unter Substitution und primitiver Rekursion. Diese Funktionen sind insbesondere totale Funktionen. Beispiele primitiv-rekursiver Funktionen Die folgenden Funktionen sind primitiv-rekursiv: x+y x·y xy max(x, y) min(x, y) |x − y| x−̇y = ( x−y 0 falls x ≥ y, sonst Summe Produkt Potenz Maximum Minimum absolute Differenz Differenz auf N 211 14.5. P RIMITIV- REKURSIVE F UNKTIONEN sg(x) = sg(x) = ( 0 falls x = 0, 1 falls x > 0 ( 1 falls x = 0, 0 falls x > 0 Signum, Vorzeichen Antisignum, negiertes Vorzeichen Beweis: Addition, Multiplikation und die Potenz sind offenbar primitiv-rekursiv. Für die übrigen Fälle benötigt zeigt man zuerst, daß die Vorgängerfunktion x−̇1 primitiv-rekursiv ist, und zwar wegen 0−̇1 = 0 (x + 1)−̇1 = x und definiert dann −̇ durch primitive Rekursion x−̇0 = x x−̇(y + 1) = (x−̇y)−̇1 Die übrigen Funktionen kann man direkt mittels + und −̇ definieren: |x − y| max(x, y) min(x, y) sg(x) sg(x) = = = = = (x−̇y) + (y−̇x) x + (y−̇x) max(x, y)−̇|x − y| 1−̇x 1−̇sg(x) Abschlußeigenschaften Primitiv-rekursive Funktionen sind abgeschlossen unter (i) Fallunterscheidung: Sind g, f0 , f1 , . . . , fk primitiv-rekursiv, so auch f mit f0 (~x) f alls g(~x) = 0, f ~x) f alls g(~x) = 1, 1 f (~x) = . . .. .. f (~x) f alls g(~x) ≥ k. k 14.6. R EKURSIVE UND PARTIELL - REKURSIVE F UNKTIONEN 212 (ii) beschränktem µ-Operator: Ist g primitiv-rekursiv, so auch f mit f (~x, z) = µy < z (g(~x, y) = 0), wobei µy < z R(~x, y) = ( das kleinste y < z mit R(~x, y) falls ein solches existiert z sonst. 14.6 Rekursive und partiell-rekursive Funktionen Ein Beispiel einer berechenbaren, aber nicht p.r. Funktion ist die Die Ackermannsche Funktion: Diese ist eine 2-stellige Funktion, die durch die folgenden Gleichungen rekursiv bestimmt ist: A(0, y) = y + 1 A(x + 1, 0) = A(x, 1) A(x + 1, y + 1) = A(x, A(x + 1, y)) Es handelt sich hier um eine doppelte Rekursion, trotzdem kann man leicht nachprüfen, daß sich jeder Wert A(x, y) von endlich-vielen “früheren” Werten A(u, v) mit u < x oder u = x ∧ v < y bestimmen läßt. Schreiben wir Fn (m) für A(n, m), so erhalten wir: F0 (m) = m + 1 F1 (m) = m + 2 F2 (m) ≈ 2m F3 (m) ≈ 2m 2 .. F4 (m) ≈ 2 2. (m − mal) Das bedeutet also, daß die ACKERMANNsche Funktion die Grundrechenarten iteriert und insbesondere in der ersten Stelle (die die Anzahl der Iterationen angibt) 14.6. R EKURSIVE UND PARTIELL - REKURSIVE F UNKTIONEN 213 sehr schnell wächst. Tatsächlich majorisiert sie jede p.r. Funktion: Ist f eine kstellige p.r. Funktion, so gibt es eine Zahl n mit f (x1 , . . . , xk ) ≤ Fn (max(x1 , . . . , xk )) für alle x1 , . . . , xk . Somit kann die 2-stellige Funktion A nicht p.r. sein (obwohl andererseits alle Fn p.r. sind!). Daß die ACKERMANNsche Funktion trotzdem berechenbar ist, ersieht man daraus, daß sie aus einer p.r. Funktion erhalten werden kann mittels Minimalisierung R6 f (~x) ' µy (g(~x, y) ' 0), d. h. das kleinste y so daß (i) g(~x, z) definiert ist für alle z ≤ y und f (~x) = (ii) g(~x, y) = 0, falls ein derartiges y existiert, undefiniert sonst. Dieses Prinzip kann von totalen zu partiellen Funktionen führen (z. B. für g(x, y) = |x − y2 |). Die Klasse R (oder C) aller rekursiven Funktionen ist die kleinste Klasse von Funktionen, die die Anfangsfunktionen enthält und abgeschlossen ist unter Substitution, primitiver Rekursion und Minimalisierung. Man spricht mitunter auch von allgemein-rekursiven, µ-rekursiven Funktionen oder (auf Grund der C HURCHschen These) von den berechenbaren Funktionen (C = computable functions). Von rekursiven Funktionen werden wir vorwiegend im Falle totaler berechenbarer Funktionen sprechen. Jede p.r. Funktion ist also auch eine rekursive Funktion (während die ACKER MANN sche Funktion ein Beispiel für eine rekursive, aber nicht p.r. Funktion ist), und die Abschlußeigenschaften der p.r. Funktionen gelten (geeignet modifiziert für partielle Funktionen) auch für rekursive Funktionen. Definition Eine zahlentheoretische Relation R ⊆ Nk heißt primitiv-rekursiv bzw. rekursiv (oder auch: entscheidbar) gdw ihre charakteristische Funktion cR primitivrekursiv bzw. rekursiv ist, wobei ( 1 falls R(~x), cR (~x) = 0 sonst. 14.7. PARTIELLE E NTSCHEIDBARKEIT 214 Somit sind z. B. die Prädikate x = y, x 6= y, x ≤ y, x < y primitiv-rekursiv. 14.7 Partielle Entscheidbarkeit Eine Relation R ⊆ Nk heißt partiell- (oder positiv-) entscheidbar bzw. r.e. gdw. sie Definitionsbereich einer berechenbaren Funktion ist: R r.e. : ⇐⇒ R = {~x | f (~x) ↓} für eine berechenbare Funktion f . In diesem Fall kann man für f auch die partielle charakteristische Funktion von R wählen: R r.e. ⇐⇒ pcR ist rekursiv, ( 1 falls ~x ∈ R, wobei pcR (~x) = undefiniert sonst. Während es also für eine entscheidbare Relation R ein effektives Verfahren gibt, welches die Frage beantwortet, ob R zutrifft oder nicht, kann man für eine partiell-entscheidbare Relation somit nur den Fall bestätigen, daß die Relation zutrifft. Die Bezeichnung r.e. = recursively enumerable = rekursiv-aufzählbar, in der neueren Literatur auch c.e. = computably enumerable, erklärt sich aus der folgenden Charakterisierung: Eine nicht-leere Teilmenge A ⊆ N ist partiell entscheidbar gdw sie Wertebereich einer rekursiven Funktion ist, also von einer rekursiven Funktion aufgezählt wird: A r.e. ⇐⇒ A = 0/ ∨ A = { f (x) | x ∈ N} für eine rekursive Funktion f : N → N. Jede rekursive Relation ist auch r.e.; die Umkehrung gilt, wenn auch das Komplement r.e. ist: A ⊆ Nk ist entscheidbar gdw A und Nk − A sind r.e. Ist wieder ϕn die n-te berechenbare Funktion (in einer geeigneten effektiven Aufzählung), so sind die Mengen {n | ϕn (n) ↓} r.e., aber nicht rekursiv, während {n | ϕn (n) ↑} nicht einmal r.e. ist. Von besonderer Bedeutung wird später sein, daß für Theorien T mit einer rekursiven Menge von Axiomen die Folgerungsmenge C(T) = {σ | T ` σ } r.e. ist. Insbesondere ist also eine rekursiv-axiomatisierbare vollständige Theorie entscheidbar!