Universität Heidelberg Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Martin Monath 09. April 2015 Nachklausur zur Vorlesung Mathematische Logik Es können maximal 60 Punkte erworben werden. Die Klausur ist bestanden, wenn mindestens 20 Punkte erreicht werden. Bitte tragen Sie zunächst Ihre Daten unten auf dem Deckblatt ein. Schreiben Sie dann Ihren Namen auf jedes Aufgabenblatt. Bitte benutzen Sie die jeweiligen Aufgabenblätter (Vorderund Rückseite) für Ihre Lösungen. Reicht der Platz nicht aus, verwenden Sie ein Extrablatt und versehen Sie dieses oben mit der Aufgabennummer und Ihrem Namen. VIEL ERFOLG! NAME: VORNAME: MATRIKELNUMMER: STUDIENGANG: Bitte ausfüllen! --------------------------------------------- 1 2 3 4 5 6 7 Σ NAME: Aufgabe 1 (Aussagenlogik - 7 Punkte) Seien ϕ1 , ϕ2 und ϕ3 die folgenden aussagenlogischen Formeln: ϕ1 ϕ2 ϕ3 ≡ ((A1 ∧ A2 ) → ¬A3 ) ∧ (¬A2 → A1 ) ≡ (¬A2 ∨ ¬A1 ) ∧ A3 ≡ (A1 ↔ ¬A3 ) ∧ ¬A1 (a) (3 Punkte) Geben Sie die 3-stelligen Booleschen Funktionen fϕi ,3 an, die von ϕi dargestellt werden (i = 1, 2, 3). (b) (4 Punkte) Geben Sie zu folgenden Aussagen jeweils mit kurzer Begründung an, ob sie wahr oder falsch sind. (i) ϕ1 ist allgemeingültig. (ii) ϕ3 ist erfüllbar. (iii) ϕ2 ` A2 → ϕ3 . (iv) ϕ2 impl ϕ1 . LÖSUNG. (a) Für die Funktionen fϕi ,3 erhalten wir folgende Wertetabellen: 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 fϕ1 ,3 (x1 , x2 , x3 ) fϕ2 ,3 (x1 , x2 , x3 ) fϕ3 ,2 (x1 , x3 ) 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 (b) (i) FALSCH: Offenbar ist fϕ1 ,3 (0, 0, 0) = 0. (ii) WAHR: Denn es ist fϕ3 ,3 (0, 0, 1) = 1. (iii) WAHR: Dazu reicht es nach dem Adäquatheitssatz der Aussagenlogik zu zeigen, dass jede Belegung, die ϕ2 und A2 wahrmacht, auch ϕ3 wahrmacht. Deren gibt es aber laut Wertetabelle nur eine, nämlich (0, 1, 1) (vierte Zeile von oben) und bei der gilt auch fϕ3 ,2 (0, 1, 1) = 1. (iv) FALSCH: Es gilt fϕ2 ,3 (0, 0, 1) = 1, wohingegen fϕ1 ,3 (0, 0, 1) = 0. NAME: Aufgabe 2 (Aussagenlogik - 7 Punkte) Die Boolesche Funktion f : {0, 1}3 → {0, 1} sei definiert durch ( 1, falls x0 + x1 = x2 mod 2 f (x0 , x1 , x2 ) = 0 sonst. Geben Sie eine Boolesche Formel in disjunktiver Normalform an, die f 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 (x1 , . . . , xn ), für die die Funktion f den Wert 1 annimmt, ergeben dann gerade die Klauseln von ϕf , wenn man die Eingabe xk = 0 durch das Literal ¬Ak und xk = 1 durch das Literal Ak ersetzt. Im Falle von f 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 f (x1 , x2 , x3 ) 1 0 0 1 0 1 1 0 und hieraus die Formel ϕf ≡ (¬A1 ∧ ¬A2 ∧ ¬A3 ) ∨ (¬A1 ∧ A2 ∧ A3 ) ∨ (A1 ∧ ¬A2 ∧ A3 )∨ (A1 ∧ A2 ∧ ¬A3 ). NAME: Aufgabe 3 (Prädikatenlogik 1. Stufe - 8 Punkte) Sei L = L(≤, R, U ; f ) die prädikatenlogische Sprache mit den 2-stelligen Relationszeichen ≤ und R, dem einstelligen Relationszeichen U und dem einstelligen Funktionszeichen f . Sei N = (N; ≤N , RN , U N ; f ) eine L-Struktur mit den natürlichen Zahlen als Individuenbereich, wobei ≤N die übliche Ordnungsrelation auf den natürlichen Zahlen sei. Geben Sie L-Sätze σ1 , σ2 , σ3 und σ4 an, sodass gilt: N σ1 ⇔ f N ist die konstante Funktion mit Wert 0. N σ2 ⇔ f N hat nur Werte in U N . N σ3 ⇔ RN ist der Graph der Umkehrfunktion zu f N . N σ4 ⇔ U N ist unendlich. Hinweis: Zur Definition des Satzes σ3 empfiehlt es sich zunächst Hilfssätze σinj , σsurj anzugeben, die die Injektivität bzw. Surjektivität von f beschreiben. (Sie können bei dieser und den folgenden Aufgaben die in der Vorlesung eingeführten Konventionen zur Erhöhung der Lesbarkeit von Formeln - wie Klammerregeln, zusätzliche Junktoren und Allquantor - verwenden.) LÖSUNG. Definiert man σinj ≡ ∀x ∀y f (x) = f (y) → x = y, σsurj ≡ ∀y ∃x f (x) = y, so lassen sich die Sätze σi wie folgt definieren: σ1 ≡ ∀x ∀y f (x) ≤ y, σ2 ≡ ∀x U (f (x)), σ3 ≡ σinj ∧ σsurj ∧ ∀x ∀y (R(y, x) ↔ y = f (x)), σ4 ≡ ∀x ∃y (x ≤ y ∧ U (y)). NAME: Aufgabe 4 (Prädikatenlogik 1. Stufe - 14 Punkte) Sei L die Sprache L(f0 , f1 ; c), wobei f0 und f1 1-stellige Funktionszeichen und c eine Konstante seien, und sei T = (L, Σ) die L-Theorie mit Axiomenmenge Σ = {∀x f0 (f1 (x)) = x, ∀x f1 (x) 6= c}. (a) (3 Punkte) Zeigen Sie, dass jedes Modell von T unendlich ist und geben Sie ein Modell N von T an, dessen Individuenbereich N ist und in dem f1 durch eine Funktion f1N interpretiert wird, für die n < f1N (n) für alle n ∈ N gilt. (b) (1 Punkt) Zeigen Sie, dass T konsistent ist. (c) (2 Punkte) Zeigen Sie, dass T nicht vollständig ist, indem Sie explizit einen L-Satz σ angeben, für den weder T ` σ noch T ` ¬σ gilt (mit Begründung). (d) (2 Punkte) Wie ist das Termmodell AT einer (allgemeinen) Theorie T über der hier betrachteten Sprache L = L(f0 , f1 ; c) definiert? (e) (2 Punkte) Zeigen Sie, dass es zu jedem konstanten Term t über L Zahlen n, m ≥ 0 gibt, sodass T ` t = f1n (f0m (c)) gilt und dass n eindeutig bestimmt ist. (f) (2 Punkte) Ist AT ein Modell von T ? (Begründung!) (g) (2 Punkte) Ist T eine Henkin-Theorie? (Begründung!) Hinweis zu (c): Betrachten Sie den Satz f0 (c) = c. Hinweis zu (g): Betrachten Sie den Satz ∃x f1 (x) = x. LÖSUNG. (a) Nach Vorlesung ist eine Menge genau dann endlich, wenn sie sich in keine echte Teilmenge von sich selbst injektiv abbilden lasst. Für ein Modell A = (A; f0A , f1A ; cA ) ist aber wegen des ersten Axioms von T die Abbildung f1A injektiv, deren Bild nach dem zweiten Axiom in der echten Teilmenge A \ {cA } enthalten ist. Als Modell betrachten wir N = (N; f0N , f1N ; cN ) mit • cN = 0 ( 0; falls n = 0, • f0 (n) = n − 1; sonst. • f1 (n) = n + 1. N erfüllt dabei die Axiome von T , da f0N (f1N (n)) = f0N (n + 1) = n + 1 − 1 = n und f1N (n) = n + 1 > n ≥ 0 für alle n ∈ N gilt. (b) Nach (a) ist T erfüllbar und damit nach dem Konsistenzlemma auch konsistent. LÖSUNG von Aufgabe 4 (Fortsetzung). (c) Wir behaupten, dass der L-Satz σ ≡ f0 (c) = c bezeugt, dass T nicht vollständig ist. Dazu reicht es nach dem Korrektheitssatz und dem Lemma über den Zusammenhang zwischen Erfüllbarkeit und Folgerungsbegriff zu zeigen, dass T ∪ {σ} und T ∪ {¬σ} jeweils ein Modell besitzen. Das Modell aus Teil (a) liefert gerade ein Modell von T ∪ {σ}. Um nun ein Modell von T ∪ {¬σ} zu erhalten betrachten wir die L-Struktur M = (N; f0M , f1M ; cM ), wobei • cM = 1. ( 0; falls n = 0 oder n = 1, • f0M (n) = n − 2; sonst. • f1M (n) = n + 2. Dann ist M ein Modell von T , da f0M (f1M (n)) = f0M (n + 2) = n + 2 − 2 = n ist und offenbar f1M (n) = 6 1 für alle n ∈ N gilt. Wegen f0M (1) = 0 ist M aber auch ein Modell von ¬σ. (d) Um das Termmodell AT einer allgemeinen Theorie T über der Sprache L(f0 , f1 ; c) zu bestimmen, müssen wir die Individuenmenge von AT angeben und sagen, wie die Funktionssymbole f0 , f1 und das Konstantensymbol c von L in AT zu interpretieren sind. Für die Individuenmenge AT von AT betrachtet man die Menge der konstanten Terme KL von L und definiert für t1 , t2 ∈ KL die Relation ∼ via t1 ∼ t2 :⇔ T ` t1 = t2 Dann ist AT gerade als die Menge der Äquivalenzklassen von ∼ definiert, d.h. AT = KL /∼ = {t̄ | t ∈ KL }, wobei t̄ = {t0 ∈ KL | t0 ∼ t}. Die Funktionszeichen f0 , f1 und das Konstatensymbol c werden dann wie folgt interpretiert: • f0AT (t̄) = f0 (t). • f1AT (t̄) = f1 (t). • cAT = c. Die Wohldefiniertheit dieser Operationen entnimmt man der Vorlesung. (e) Die Menge KL besteht, da wir nur zwei einstellige Funktionszeichen in L haben, gerade aus Termen der Form t ≡ fi0 (fi1 (. . . (fin−1 (c)))), wobei n ≥ 0 und für alle 0 ≤ k < n gilt, dass ik ∈ {0, 1}. Wir zeigen nun, dass es zu jedem t ∈ KL ein n, m ≥ 0 mit eindeutigem n gibt, sodass T ` t = f1n (f0m (c)). LÖSUNG von Aufgabe 4 (Fortsetzung). Für die Existenz reicht es zu erwähnen, dass sich jedes t ∈ KL schreiben lässt als t ≡ f0n0 (f1n1 (. . . )) oder t ≡ f1n0 (f0n1 (. . . )). Dabei wird jeder 0 − 1 -“Übergang”, also an den Stellen in t, an denen f1 rechts von f0 steht, durch das Axiom ∀x f0 (f1 (x)) = x in t gelöscht. Man kann so sukzessive all diese Übergänge löschen und sieht auf die Weise, dass t zu einem Term der Form f1n (f0m (c)) äquivalent ist. Für die Eindeutigkeit zeigen wir, dass aus T ` f1n1 (f0m1 ((c))) = f1n2 (f0m2 (c)) schon n1 = n2 folgt. Nach dem Korrektheitssatz reicht es T |= f1n1 (f0m1 ((c))) = f1n2 (f0m2 (c)) ⇒ n1 = n2 zu zeigen. Im Modell N aus Teil (a) gilt f0N (cN ) = cN und damit induktiv für alle m ≥ 0 auch (f0N )m (cN ) = cN . Es folgt n1 = (f1N )n1 (0) = (f1N )n1 ((f0N )m1 (cN )) = = (f1N )n2 ((f0N )m2 (cN )) = n2 Darüber hinaus zeigen wir noch (was nicht verlangt war), dass auch m1 = m2 gilt. Da f1 in jedem Modell von T als injektive Funktion interpretiert wird, folgt aus n1 = n2 zunächst T |= f0m1 (c) = f0m2 (c). Wir betrachten nun die L-Struktur Q = (Q; f0Q , f1Q ; cQ ) mit • cQ = 0, falls q < 0, q; • f0Q (q) = q + ( 21 )m+1 ; falls q ∈ [1 − ( 12 )m , 1 − ( 12 )m+1 [ (m ≥ 0), q − 1, falls q ≥ 1. ( q; falls q < 0, • f1Q (q) = q + 1; falls q ≥ 0. Dies ist ein Modell von T , denn für q < 0 gilt f0Q (f1Q (q)) = f0Q (q) = q und für q ≥ 0 gilt f0Q (f1Q (q)) = f0Q (q + 1) = q + 1 − 1 = q. Weiterhin ist 0 6= f1Q (q) für alle q ∈ Q, sodass alle Axiome von T erfüllt sind. Schließlich zeigt man per Induktion nach m ≥ 0, dass (f0Q )m (cQ ) = 1 − ( 21 )m gilt, was zusammen mit der Annahme T |= f0m1 (c) = f0m2 (c) die behauptete Gleichheit m1 = m2 ergibt. LÖSUNG von Aufgabe 4 (Fortsetzung). (f) Ja, AT ist ein Modell von T , denn wegen der Axiome von T folgt für alle t ∈ KL T ` f0 (f1 (t)) = t und T ` f1 (t) 6= c und damit f0AT (f1AT (t̄)) = f0 (f1 (t)) = t. Gälte f1AT (t̄) = cAT für einen konstanten Term t, dann folgt nach Definition von ∼, dass T ` f1 (t) = c und insbesondere T ` ∃x f1 (x) = c. Nach Teil (b) widerspricht dies aber der Konsistenz von T . (g) Wir behaupten, dass T keine Henkin-Theorie ist und zeigen, dass der Existenzsatz ∃x f1 (x) = x dies bezeugt. Dazu müssen wir zu jedem konstanten Term t ein Modell von T angeben, welches gleichzeitig ∃x f1 (x) = x ∧ f1 (t) 6= t (∗) erfüllt. Damit gilt zunächst T 6|= ∃x f1 (x) = x → f1 (t) = t und nach dem Korrektheitssatz auch T 6` ∃x f1 (x) = x → f1 (t) = t. Wir zeigen sogar stärker, dass es ein Modell gibt, welches (∗) für alle t erfüllt. Dazu betrachten wir die L-Struktur P = (Q; f0P , f1P ; cP ) mit • cP = 0, ( q; • f0P (q) = q − 1; ( q; P • f1 (q) = q + 1; falls q < 1, falls q ≥ 1 falls q < 0, falls q ≥ 0 Dies ist ein Modell von T , wie man ähnlich zu Teil (e) sieht. Weiter sind nach (e) die Individuen in Q, die durch einen konstanten Term interpretiert werden, gerade durch N gegeben. In N gilt aber f1P (n) = n + 1 6= n. Andererseits ist in P der Satz ∃x f1 (x) = x erfüllt, wie man zum Beispiel am Wert q = −1 leicht erkennt. NAME: Aufgabe 5 (Prädikatenlogik 1. und 2. Stufe - 12 Punkte) Sei L = L(∼) die Sprache mit einem 2-stelligen Relationsszeichen ∼. Sei A = (A; ∼A ) eine L-Struktur, sodass ∼A eine Äquivalenzrelation ist. Für a ∈ A bezeichne [a]∼ := {b ∈ A| b ∼A a} die Äquivalenzklasse von a und A/ ∼ die Menge der Äquivalenzklassen. (a) (3 Punkte) Geben Sie einen L-Satz σ an, sodass für jede L-Struktur A = (A; ∼A ) gilt: A |= σ ⇔ ∼A ist Äquivalenzrelation auf A mit genau 2 Äquivalenzklassen. (b) (3 Punkte) Zeigen Sie, dass die Klasse K := {A| ∼A ist Äquivalenzrelation und A/∼ ist unendlich} ∆-elementar ist. (c) (6 Punkte) Ist die Klasse K0 := {A| ∼A ist Äquivalenzrelation und A/∼ ist endlich} ∆-elementar? (Beweis!) LÖSUNG. (a) Wir setzen σref l ≡ ∀x x ∼ x σsym ≡ ∀x ∀y (x ∼ y → y ∼ x) σtrans ≡ ∀x ∀y∀z ((x ∼ y ∧ y ∼ z) → x ∼ z) ψ=2 ≡ ∃x ∃y (¬x ∼ y ∧ ∀z (z ∼ x ∨ z ∼ y)) Dann leistet der Satz σ ≡ σref l ∧ σsym ∧ σtrans ∧ ψ=2 das Gewünschte. (b) Wir definieren für n ≥ 1 die L-Sätze ψ≥n durch ^ ψ≥n ≡ ∃x1 . . . ∃xn (( ¬xi ∼ xj )). i6=j Ist dann T die L-Theorie mit Axiomenmenge Σ = {σref l , σsym , σtrans } ∪ {ψ≥n | n ≥ 0}, so folgt K = Mod(T ). LÖSUNG von Aufgabe 5 (Fortsetzung). (c) Wir behaupten, K0 ist nicht ∆-elementar. Wir zeigen dies durch Widerspruch und nehmen an, es existiere eine Theorie T 0 , sodass K0 = Mod(T 0 ). Wir definieren dann T 00 := T 0 ∪ {ψ≥n | n ≥ 0} Ein Modell von T 00 hätte einerseits nur endlich viele Äquivalenzklassen nach Annahme, aber auch unendlich viele wegen der ψ≥n . Also ist T 00 offenbar nicht erfüllbar. Ist jedoch T0 eine endliche Teiltheorie von T 00 und N ≥ 0 so groß, dass T0 ⊆ T 0 ∪ {ψ≥n | n ≤ N }, so ist die L(∼)-Struktur A = ({1, . . . , N }; =) ein Modell von T0 . Dies widerspricht jedoch dem Kompaktheitssatz und T 0 kann nicht existieren. NAME: Aufgabe 6 (Prädikatenlogik 1. Stufe - 6 Punkte) (a) (2 Punkte) Was besagen das Deduktionstheorem und der Kompaktheitssatz bzgl. des Folgerungsbegriffs? (b) (4 Punkte) Der Vollständigkeitssatz für T = ∅ besagt, dass ein Satz σ beweisbar ist, wenn er allgemeingültig ist. Leiten Sie mit Hilfe des Deduktionstheorems, des Kompaktheitssatzes bzgl. des Folgerungsbegriffs und obiger Aussage den Vollständigkeitssatz für allgemeines T her. LÖSUNG. (a) Die Aussagen der Sätze: • Deduktionstheorem: Für alle Theorien T , Formeln ψ und Sätze σ gilt: T ` σ → ψ ⇔ T ∪ {σ} ` ψ • Kompaktheitssatz bzgl. Folgerung: Für alle Theorien T und Sätze σ gilt: T |= σ ⇒ ∃ T0 ⊆ T endlich : T0 |= σ. (b) Sei T eine Theorie und σ ein Satz über einer Sprache L, sodass T |= σ. Nach dem Kompaktheitssatz bzgl. des Folgerungsbegriffs existiert eine endliche Teiltheorie T0 von T , sodass T0 |= σ. Seien σ1 , . . . , σn die verschiedenen Sätze von T0 . Dann ist aber der Satz τ :≡ σ1 → (. . . (σn → σ) . . . ) allgemeingültig, denn: ist A eine beliebige L-Struktur, so ist entweder einer der σi nicht erfüllt und A ein Modell von τ , oder alle σi gelten in A und A ist ein Modell von T0 . Damit ist A wegen T0 |= σ auch in diesem Fall ein Modell von τ . Nach Voraussetzung ist damit τ beweisbar, es gilt also ` σ1 → (. . . (σn → σ) . . . ). Das Deduktionstheorem impliziert {σ1 } ` σ2 → (. . . (σn → σ) . . . ) und induktiv folgt {σ1 , . . . , σn } ` σ, also T0 ` σ. Ein Beweis aus T0 ist aber auch ein Beweis aus T und wir erhalten T `σ wie gewünscht. NAME: Aufgabe 7 (Prädikatenlogik 1. Stufe - 6 Punkte) (a) (3 Punkte) Geben Sie den Kompaktheitssatz bzgl. der Erfüllbarkeit, den Korrektheitssatz und das Erfüllbarkeitslemma im Wortlaut an. (b) (3 Punkte) Leiten Sie den Kompaktheitssatz bzgl. der Erfüllbarkeit aus dem Korrektheitssatz und dem Erfüllbarkeitslemma her. LÖSUNG. (a) Die Aussagen der Sätze: • Korrektheitssatz: Für alle Theorien T und Sätze σ gilt: T ` σ ⇒ T |= σ • Erfüllbarkeitslemma: Jede konsistente Theorie T ist erfüllbar, d.h. besitzt ein Modell. • Kompaktheitssatz bzgl. Erfüllbarkeit: Ist T eine Theorie und sind alle endlichen Teiltheorien T0 ⊆ T erfüllbar, so ist auch T erfüllbar. (b) Sei T eine Theorie, sodass alle endlichen Teiltheorien T0 von T ein Modell besitzen. Besäße T kein Modell, so wäre T nach dem Erfüllbarkeitslemma (genauer: der Kontraposition des Erfüllbarkeitslemmas) inkonsistent und es gäbe einen Satz σ, sodass T ` σ ∧ ¬σ. Nach der Endlichkeit des Beweisbegriffs existiert eine endliche Teiltheorie T0 von T , sodass T0 ` σ ∧ ¬σ. Ein nach Annahme existierendes Modell A von T0 wäre aber gleichzeitig ein Modell von σ und ¬σ. Das kann für Sätze aber nicht sein, da sie keine freien Variablen enthalten. Also besitzt T doch ein Modell. NAME: AUFGABE: NAME: AUFGABE: