Universität Heidelberg Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling 25. Januar 2012 Klausur zur Vorlesung Mathematische Logik – LÖSUNGEN – Aufgabe 1 (Aussagenlogik - 8 Punkte) Gegeben seien die folgenden aussagenlogischen Formeln. ϕ ≡ A0 ∨ A1 ψ ≡ (A0 ∧ (A2 → A1 )) ∨ (¬A0 ∧ (A2 ↔ ¬A1 )) χ ≡ A2 → A0 ∧ A1 Zeigen Sie, dass χ aus ϕ und ψ folgt, das heißt, dass {ϕ, ψ} χ gilt. LÖSUNG. Wir stellen die Wahrheitstafeln für ϕ, ψ und χ auf. A0 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 A2 0 1 0 1 0 1 0 1 A0 ∨ A1 ≡ ϕ A0 ∧ (A2 → A1 ) ¬A0 ∧ (A2 ↔ ¬A1 ) 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 0 ψ 0 1 1 0 1 0 1 1 A2 → A0 ∧ A1 ≡ χ 1 0 1 0 1 0 1 1 Man sieht, dass unter jeder Belegung, unter der ϕ und ψ wahr sind, auch χ wahr ist, womit die Behauptung bewiesen ist. Aufgabe 2 (Aussagenlogik - 8 Punkte) Die 3-stellige Schwellenfunktion s2 : {0, 1}3 → {0, 1} mit Schwelle 2 ist definiert durch ( 1, falls x0 + x1 + x2 ≥ 2 s2 (x0 , x1 , x2 ) = 0 sonst. Geben Sie eine Boolesche Formel in disjunktiver Normalform an, die s2 darstellt. Verwenden Sie hierzu das in der Vorlesung angegebene allgemeine Verfahren. LÖSUNG. Um eine Formel ϕf in DNF zu erhalten, die eine Boolesche Funktion f (n) darstellt, stellt man zunächst die Wertetabelle von f auf. Die Eingabetupel (i1 , . . . , in ), für die die Funktion f den Wert 1 annimmt, ergeben dann gerade die Klauseln von ϕf , wenn man die Eingabe ik = 0 durch das Literal ¬Ak und ik = 1 durch das Literal Ak ersetzt. Im Falle von s2 erhalten wir die Wertetabelle x1 0 0 0 0 1 1 1 1 x2 0 0 1 1 0 0 1 1 x3 0 1 0 1 0 1 0 1 s2 (x1 , x2 , x3 ) 0 0 0 1 0 1 1 1 und hieraus die Formel ϕs2 ≡ (¬A1 ∧ A2 ∧ A3 ) ∨ (A1 ∧ ¬A2 ∧ A3 ) ∨ (A1 ∧ A2 ∧ ¬A3 ) ∨ (A1 ∧ A2 ∧ A3 ). Aufgabe 3 (Prädikatenlogik - 8 Punkte) Sei L = L(<; +, ·) die prädikatenlogische Sprache mit dem 2-stelligen Relationszeichen < und den 2-stelligen Funktionszeichen · und + und seien N = (N; <; ·, +), Z = (Z; <; ·, +), Q = (Q; <; ·, +) bzw. R = (R; <; ·, +) die L-Strukturen der natürlichen, ganzen, rationalen bzw. reellen Zahlen jeweils mit der üblichen Ordnungsrelation, Multiplikation und Addition. (a) Geben Sie eine L-Formel ϕ(x) an, sodass für alle reellen Zahlen a gilt: R ϕ [a] ⇔ a = 0 (b) Geben Sie L-Sätze σ1 , σ2 und σ3 an, so dass gilt: N 6 σ1 , aber Z σ1 Z 6 σ2 , aber Q σ2 Q 6 σ3 , aber R σ3 (Sie können die in der Vorlesung eingeführten Konventionen zur Erhöhung der Lesbarkeit von Formeln - wie Infixschreibweise bei Funktionszeichen, Klammerregeln, zusätzliche Junktoren und Allquantor - verwenden.) LÖSUNG. (a) Die Formel ϕ(x) ≡ ∀y(x + y = y) erfüllt die Bedingung. (b) Folgende Sätze leisten das Gewünschte: σ1 ≡ ∀x∃y(y < x) (es gibt ein kleinstes Element in N, aber nicht in Z), σ2 ≡ ∀x∀y(¬ϕ(y) → ∃z(y · z = x)) (für jedes x und jedes y 6= 0 existiert xy in Q, aber nicht in Z), oder auch alternativ σ2 ≡ ∀x∀y(x < y → ∃z(x < z ∧ z < y)) (die Ordnung auf Q ist dicht, die auf Z nicht), und σ3 ≡ ∀x(∃y(ϕ(y) ∧ y < x) → ∃z(z · z = x)) (jede Zahl x > 0 besitzt in R eine Wurzel, in Q nicht unbedingt). Aufgabe 4 (Prädikatenlogik - 8 Punkte) Geben Sie den Wortlaut des Kompaktheitssatzes (in der Version für den Folgerungsbegriff) an und leiten Sie diesen aus dem Vollständigkeitssatz und dem Korrektheitssatz her (geben Sie dazu auch diese beiden Sätze an). LÖSUNG. Der Kompaktheitssatz lautet: Ist T eine L-Theorie und σ ein L-Satz, der aus T folgt (d.h. T σ), dann gibt es eine endliche Teiltheorie T0 ⊆ T , so dass σ aus T0 folgt, d.h. T0 σ. Der Vollständigkeitssatz lautet: Ist T eine L-Theorie und σ ein L-Satz, so gilt T σ ⇒ T ` σ. Der Korrektheitssatz lautet: Ist T eine L-Theorie und σ ein L-Satz, so gilt T ` σ ⇒ T σ. Der Kompaktheitssatz lässt sich nun wie folgt beweisen: T σ ⇒ T ` σ [nach Vollständigkeitssatz] ⇒ T0 ` σ für ein endliches T0 ⊆ T [nach Endlichkeitssatz für die Beweisbarkeit] ⇒ T0 σ [nach Korrektheitssatz]. Aufgabe 5 (Prädikatenlogik - 8 Punkte) Sei L = L(+; 0) die Sprache der Gruppentheorie. Erinnerung: Eine L-Struktur ist eine Gruppe, falls sie ein Modell der Gruppenaxiome ϕ1 ≡ ∀x∀y∀z((x + y) + z = x + (y + z)) [Assoziativität] ϕ2 ≡ ∀x(0 + x = x) [0 linksneutral] ϕ3 ≡ ∀x∃y(y + x = 0) [Existenz von Linksinversen] ist. Eine L-Struktur G = (G; +G ; 0G ) heißt Torsionsgruppe, falls sie eine Gruppe ist und für jedes g ∈ G eine Zahl n ≥ 1 existiert, so dass g +G g +G . . . +G g = 0G {z } | n Summanden gilt. Beispiele für Torsionsgruppen sind die zyklischen Gruppen (Zn ; +Zn ; 0) für n ≥ 1, wobei Zn = {0, 1, . . . , n − 1} ist und a +Zn b = a + b modulo n. Zeigen Sie, dass die Klasse der Torsionsgruppen nicht ∆-elementar ist. LÖSUNG. Wir führen den Beweis durch Widerspruch. Angenommen, die Klasse T G = {G : G ist Torsionsgruppe} wäre ∆-elementar, das heißt es gäbe eine Menge T von L-Sätzen, für die gilt: T G = {G : G ist L − Struktur und G T }. Erweitere die Sprache L dann um ein neues Konstantensymbol c zur Sprache L0 und betrachte die L0 -Theorie T 0 = T ∪ {c + c + . . . + c 6= 0 : n ≥ 0}. | {z } n Summanden Wir zeigen, dass jede endliche Teiltheorie T0 ⊆ T 0 erfüllbar ist, so dass nach dem Kompaktheitssatz also auch T 0 erfüllbar ist. Sei dafür T0 eine solche endliche Teiltheorie. Dann gibt es ein m ≥ 1, so dass T0 ⊆ T ∪ {c + c + . . . + c 6= 0 : 1 ≤ n ≤ m} | {z } n Summanden gilt. Ein Modell dieser Theorie ist aber (Zn+1 ; +Zn+1 ; 0, 1), d.h. die L0 -Struktur, die man erhält, wenn man in der zyklischen Gruppe mit Individuenbereich Zn+1 das Konstantensymbol c durch 1 interpretiert. Damit ist T0 erfüllbar. Da T 0 erfüllbar ist, muss es ein Modell G von T 0 geben. Wegen G T 0 und T ⊆ T 0 gilt G T , d.h. als L-Struktur betrachtet, ist G eine Torsionsgruppe. Andererseits gilt cG +G cG +G . . . +G cG 6= 0G für alle n ≥ 1, so dass G keine | {z } n Summanden Torsionsgruppe sein kann – ein Widerspruch! (Eine Alternativlösung, die sogar ohne neue Konstantensymbole auskommt, betrachtet statt T 0 die Theorie T 00 = T ∪ {∀x(x 6= 0 → x + x + . . . + x 6= 0) : n ≥ 1}. {z } | n Summanden Diese ist offenbar nicht erfüllbar, aber jede endliche Teiltheorie T0 ⊆ T ∪ {∀x(x 6= 0 → x + x + . . . + x 6= 0) : 1 ≤ n ≤ n0 } | {z } n Summanden besitzt das Modell (Zp ; +Zp ; 0) für eine Primzahl p > n0 , was wie zuvor zum Widerspruch führt.) Aufgabe 6 (Prädikatenlogik - 14 Punkte) Sei L = L(f ; c0 , c1 ) die Sprache, die das 1-stellige Funktionszeichen f und die zwei Konstantensymbole c0 und c1 enthält. Sei ferner die L-Theorie T gegeben durch T = {c0 6= c1 , ∀x(f (x) 6= x)}. (a) (2 Punkte) Geben Sie ein Modell A von T mit Individuenbereich {0, 1} an. (b) (1 Punkt) Geben Sie ein Modell B von T mit Individuenbereich N an, bei B dem f B (n) = n + 2 für alle n ∈ N und cB 0 , c1 ≤ 1 gilt. (c) (1 Punkt) Zeigen Sie, dass T konsistent ist. (d) (2 Punkte) Zeigen Sie, dass T nicht vollständig ist, indem Sie explizit einen Satz σ angeben, für den weder T ` σ noch T ` ¬σ gilt (mit Begründung). (e) (3 Punkte) Zeigen Sie, dass für alle L-Terme t, t0 gilt: T ` t = t0 ⇔ t ≡ t0 . (f) (3 Punkte) Zeigen Sie, dass T keine Henkin-Theorie ist. (Tipp: Zeigen Sie, dass für den Existenzsatz σ ≡ ∃x(x 6= c0 ∧x 6= c1 ) die Henkin-Eigenschaft nicht erfüllt ist.) (g) (2 Punkte) Zeigen Sie, dass für das Termmodell AT von T gilt: AT T . LÖSUNG. (a) Eins der zwei möglichen Modelle ist A = ({0, 1}; f A ; 0, 1) mit f A (0) = 1, f A (1) = 0. (b) Ein Modell, das die gewünschten Eigenschaften besitzt, ist B = (N; f B ; 0, 1) mit f B (n) = n + 2 für alle n ∈ N. (c) Da T ein Modell besitzt (siehe (a) und (b)), ist T erfüllbar. Da jede erfüllbare Theorie konsistent ist (wegen des Korrektheitssatzes), ist T konsistent. (d) Da T nach (a) und (b) ein zweielementiges sowie ein unendliches Modell besitzt, genügt es, den Satz σ ≡ ∀x∀y∀z(x = y ∨ x = z ∨ y = z) zu betrachten, der aussagt, dass es höchstens zwei Elemente gibt. Es kann weder T σ gelten, da sonst B σ gelten müsste, noch T ¬σ, da sonst A ¬σ gelten müsste. Nach dem Korrektheitssatz kann damit auch weder T ` σ noch T ` ¬σ gelten. (e) Gilt t ≡ t0 , so gilt offensichtlich T t = t0 und nach dem Vollständigkeitssatz dann auch T ` t = t0 (alternativ kann man rein syntaktisch argumentieren und sich auf das Gleichheitsaxiom G1 zusammen mit der Substitutionsregel berufen). Umgekehrt gelte T ` t = t0 . Dann gilt auch T t = t0 nach dem KorrektheitsB satz und folglich B t = t0 , d.h. tB = t0 . Alle L-Terme besitzen die Gestalt 0 n n f (c0 ) oder f (c1 ) für ein n ≥ 0. Wäre t ≡ f n (c0 ) und t0 ≡ f n (c1 ), so gälte B tB = 2n 6= 2n0 + 1 = t0 , da links eine gerade, rechts eine ungerade Zahl steht (entsprechend im umgekehrten Fall). 0 B Gilt t ≡ f n (c0 ) und t0 ≡ f n (c0 ), so gilt tB = 2n = 2n0 = t0 genau dann, wenn n = n0 , also t = t0 gilt. Analog argumentiert man im Fall t ≡ f n (c1 ) und 0 t0 ≡ f n (c1 ). (f) Wäre T eine Henkin-Theorie, so müsste zu jedem L-Existenzssatz σ = ∃xϕ ein konstanter L-Term t existieren mit T ` ∃xϕ → ϕ[t/x], und damit auch T ∃xϕ → ϕ[t/x]. Wir zeigen, dass dies für ϕ ≡ x 6= c0 ∧ x 6= c1 nicht der Fall ist. 0 0 Betrachte dafür die L-Struktur A0 = ({0, 1, 2}; f A ; 0, 1) mit f A (0) = 1, 0 0 f A (1) = 0 und f A (2) = 0. Es gilt offensichtlich A0 T und A0 ∃x(x 6= c0 ∧ x 6= c1 ). Gälte nun T ∃xϕ → ϕ[t/x], so müsste es einen konstanten Term 0 t geben mit A0 t 6= c0 ∧ t 6= c1 , d.h. tA 6= 0, 1. Es gilt aber für jeden Term t ≡ f n (c0 ), dass ( 0 falls n gerade A0 t = 1 sonst und für jeden konstanten Term t ≡ f n (c1 ), dass ( 1 falls n gerade A0 . t = 1 sonst (g) Wir zeigen, dass das Modell B von T aus Aufgabenteil (b) isomorph zum Termmodell ist, wobei der Isomorphismus h : N → {t̄ : t konstanter L − Term} gegeben ist durch ( f m (c0 ) falls n = 2m h(n) = f m (c1 ) falls n = 2m + 1. h surjektiv: Ist t ein konstanter L-Term, so ist t von der Form f m (c0 ) oder f m (c1 ). Dann ist h(2m) = t̄ bzw. h(2m + 1) = t̄, also liegt t̄ im Wertebereich von h. Somit ist h surjektiv. h injektiv: Sind n 6= n0 , so gilt nach Definition h(n) = t̄ und h(n0 ) = t¯0 mit t 6≡ t0 . Nach (e) folgt T 6 t = t0 , also h(n) = t̄ 6= t¯0 = h(n0 ). AT h(cB ) = cAT für jede Konstante c: Es gilt h(cB und 0 ) = h(0) = c¯0 = c0 AT B h(c1 ) = h(1) = c¯1 = c1 . h(f B (n)) = f AT (h(n)) für jedes Funktionssymbol f und alle n ∈ N: Es gilt ( f m+1 (c0 ) = f AT (f m (c0 )) = f AT (h(n)) falls n = 2m B h(f (n)) = h(n+2) = f m (c1 ) = f AT (f m (c1 )) = f AT (h(n)) falls n = 2m + 1.