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