Grundlagen der Logik in der Informatik WS 2015 Übungsblatt 11 Abgabe der Lösungen: 01.02.–05.02. Aufgabe 1 Die Natürlichen Zahlen als Modell (Präsenzaufgabe) Sei N die Menge der natürlichen Zahlen einschließlich 0, also N = {0, 1, 2, . . .}. Stellen Sie N als ein Modell einer Signatur dar, die aus den folgenden Symbolen besteht: • eine Konstante (also ein 0-stelliges Funktionssymbol) 0; • ein einstelliges Funktionssymbol s für die Nachfolgeroperation, z.B. s(0) = 1, s(1) = 2 etc.; • zwei binäre Funktionssymbole + und × für Addition und Multiplikation. Drücken Sie die folgenden Sätze als Formeln in Prädikatenlogik erster Stufe aus: 1. x ist kleiner oder gleich y (Achtung: ≤ gehört nicht zur Signatur); 2. 0 ist die kleinste natürliche Zahl; 3. x ist ein Teiler von y; 4. x ist eine Dreieckszahl (d.h. x ist ein Binomialkoeffizient der Form y+1 2 für geeignetes y). Überprüfen Sie dann die folgende Sätze der Peano-Arithmetik : 1. N |= ∀x. ∀y. (s(x) = s(y) → x = y); 2. N |= ∀x. ∀y. x + s(y) = s(x + y); 3. N |= ∀x. ∀y. x × s(y) = x + x × y. Aufgabe 2 Fitch trifft Induktion Die Axiome der Peano-Arithmetik (mit + und ×) lauten PA1 . ∀x. ¬(0 = s(x)); PA2 . ∀x. ∀y. (s(x) = s(y)) → (x = y); PA3 . ∀x. x + 0 = x; PA4 . ∀x. ∀y. x + s(y) = s(x + y); PA5 . ∀x. x × 0 = 0; PA6 . ∀x. ∀y. x × s(y) = x × y + x; (Präsenzaufgabe) GLoIn, WS 2015 PA7 . ∀y1 , . . . , yn . φ(0, y1 , . . . , yn ) ∧ ∀x. (φ(x, y1 , . . . , yn ) → φ(s(x), y1 , . . . , yn )) . → ∀x. φ(x, y1 , . . . , yn ) Das letzte Axiom ist in Wirklichkeit ein Axiomenschema, das für jedes φ ein Axiom erzeugt, eine sogenannte Instanz. Diese Instanzen heißen erwartungsgemäß Induktionsaxiome. Die schematische Formulierung ist eine Annäherung an das eigentlich beabsichtigte Induktionsprinzip, das über eine Prädikatenvariable P anstelle von φ redet, aber in Prädikatenlogik erster Stufe nicht ausdrückbar ist. • Beweisen Sie die folgende Modifikation von PA3 in Fitch: PA03 . ∀x. 0 + x = x. • Formalisieren Sie Ihren Fitch-Beweis in Coq. Sie können die folgende Codevorlage verwenden. 1 Require Import Classical . 2 3 Parameter Nat : Set . (* Typ der nat ü rlichen Zahlen *) 4 5 6 Parameters zero : Nat . Parameters s : Nat -> Nat . 7 8 Parameters plus times : Nat -> Nat -> Nat . 9 10 11 Notation " A + B " := ( plus A B ). Notation " A * B " := ( times A B ). (* Infixnotation f ü r plus *) (* Infixnotation f ü r times *) 12 13 Notation "0" := ( zero ). 14 15 16 17 18 19 20 21 Axiom Axiom Axiom Axiom Axiom Axiom Axiom 22 23 PA1 : PA2 : PA3 : PA4 : PA5 : PA6 : PA7 : forall x : Nat , ~ (0 = s ( x )). forall x y : Nat , ( s ( x ) = s ( y )) -> ( x = y ). forall x : Nat , x + 0 = x . forall x y : Nat , x + s ( y ) = s ( x + y ). forall x : Nat , x * 0 = 0. forall x y , x * s ( y ) = x * y + x . forall P : Nat -> Nat -> Prop , forall y : Nat , ( P 0 y /\ forall x : Nat , ( P x y -> P ( s x ) y )) -> forall x , P x y . 24 25 Lemma PA3 ’: forall x : Nat , 0 + x = x . 26 27 (* Ihren Beweis hier einf ü gen *) 28 29 Qed . Achtung! Natürliche Zahlen sind in Coq bereits implementiert. Gegenstand der Aufgabe ist aber gerade eine (teilweise) Neuimplementierung. Beachten Sie, dass die Induktionsaxiome in der Codevorlage in zwei Hinsichten von der Formulierung von PA7 abweichen: • Statt mehrerer Variablen y1 , . . . , yn wird nur eine einzelne Variable y verwendet, was für Zwecke der Aufgabe ausreicht. • Statt eines Axiomenschemas wird echte Quantifizierung über Prädikate verwendet, was uns strenggenommen von der Logik erster Stufe zur Logik zweiter Stufe führt (wie es auch der 2 GLoIn, WS 2015 ursprünglichen Absicht von Peano entspricht). Dies ist ein auf diese Aufgabe beschränkter Sonderfall. Die notwendigen Instanzen von PA7 können Sie sich im Laufe Ihrer Beweise wie folgt verschaffen: specialize (PA7 (fun x y : Nat => <Induktionsbehauptung>)); intro. Als ein einfaches, wenn auch nicht sinnvolles Beispiel wird durch specialize (PA7 (fun x y : Nat => x = y)); intro. die folgende Instanz von PA7 als Prämisse hinzugefügt: forall y : Nat, 0 = y /\ (forall x : Nat, (x = y -> s x = y) -> forall x0 : Nat, x0 = y) Aufgabe 3 Kommutativität von + (9 Punkte) Leiten Sie die Kommutativität von + aus den Peano-Axiomen her und formalisieren Sie Ihren Beweis in Fitch oder in Coq, je nach Ihrer Wahl. Verwenden Sie dabei als Lemma die in Aufgabe 2 bewiesene Formel PA03 und beweisen Sie dazu ferner die folgende Modifikation von PA4 : PA04 . ∀x. ∀y. s(y) + x = s(y + x). Aufgabe 4 Modellbau in Peano-Arithmetik (5 Punkte) Peano-Arithmetik ist bekanntermaßen korrekt über natürlichen Zahlen, d.h. N |= φ gilt für jedes Peano-Axiom φ und somit auch für alle Theoreme der Peano-Arithmetik, d.h. alle durch natürliches Schließen aus den Axiomen hergeleiteten Formeln. Peano-Arithmetik ist dennoch nicht vollständig über N, eine Konsequenz des berühmten ersten Gödelschen Unvollständigkeitssatzes. Das bedeutet unter anderem, dass es andere Modelle als N gibt ( andere“ in einem ” formal präzisen Sinn), die alle Peano-Axiome erfüllen. Solche Modelle werden auch Nichtstandardmodelle genannt. Man meint intuitiv, solche Modelle auf recht naive Weise konstruieren zu können, was aber fehlschlägt, wie der folgende Versuch zeigt: 1. Erweitern Sie das Modell N auf N ∪ {∞}, indem Sie die Semantik von Funktionssymbolen dahingehend vervollständigen, dass ∞ als Ergebnis ausgegeben wird, sobald mindestens ein Argument zu ∞ evaluiert wird. 2. Beweisen Sie, dass das so definierte Modell kein Nichtstandardmodell der Peano-Arithmetik ist (es also ein Peano-Axiom φ gibt, so dass N ∪ {∞} 6|= φ). Hinweis: Betrachten Sie das Induktionsaxiom für φ(x) = ¬(x = s(x)). Aufgabe 5 Schachbrett als Modell erster Stufe (6 Punkte) Formalisieren Sie die folgende Schachsituation als ein Modell M für die Signatur, die folgende Symbole umfasst: drei Individuenkonstanten wKoenig, sKoenig und sDame; vier binäre Prädikate LinksVon, RechtsVon, Hinter, Vor; und ein ternäres Prädikat Zwischen. 3 GLoIn, WS 2015 0Z0Z0Z0Z Z0Z0Z0J0 6 0Z0Z0Z0Z 5 Z0Z0Z0Z0 4 0Z0Z0l0Z 3 Z0Z0Z0Z0 2 kZ0Z0Z0Z 1 Z0Z0Z0Z0 8 7 a b c d e f g h Die Semantik der Prädikate soll durch die jeweils offensichtliche geometrische Beziehung gegeben sein. Stellen Sie sicher, dass die Uneindeutigkeit in der Argumentfolge der Prädikate so aufgelöst ist, dass M die folgenden Formeln erfüllt: Vor(wKoenig, sKoenig), RechtsVon(wKoenig, sKoenig), Zwischen(sDame, sKoenig, wKoenig). Überprüfen Sie die folgenden Behauptung: M |= ∃x. ∀y. ∃z. (¬(x = y) → Zwischen(y, x, z)). Hinweis: Das Modell ist hier endlich; daher kann man Prädikate einfach durch Auflisten der sie erfüllenden Tupel über dem Grundbereich definieren. 4