Universität Heidelberg Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Martin Monath 06. April 2017 Klausur zur Vorlesung Mathematische Logik Es können maximal 48 Punkte erworben werden. Die Klausur ist bestanden, wenn mindestens 18 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 Σ NAME: Aufgabe 1 (Aussagenlogik - 8 Punkte) Geben Sie zu der Formel ϕ ≡ (¬(A2 ↔ A1 ) → ¬A3 ) äquivalente Formeln in disjunktiver und konjunktiver Normalform an. Bestimmen Sie hierzu zunächst die Wertetabelle der von ϕ dargestellten (3-stelligen) Booleschen Funktion und wenden Sie dann hierauf die in der Vorlesung angegebenen Verfahren zur Bestimmung der DNF und KNF an. (Für Lösungen, die diese Verfahren nicht benutzen, gibt es keine Punkte!) LÖSUNG: Die von ϕ dargestellte Boolesche Funktion fϕ (x1 , x2 , x3 ) ist durch folgende Wertetabelle gegeben: 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 ) ∧-Klausel (DNF) ∨-Klausel (KNF) 1 (¬A1 ∧ ¬A2 ∧ ¬A3 ) 1 (¬A1 ∧ ¬A2 ∧ A3 ) 1 (¬A1 ∧ A2 ∧ ¬A3 ) 0 (A1 ∨ ¬A2 ∨ ¬A3 ) 1 (A1 ∧ ¬A2 ∧ ¬A3 ) 0 (¬A1 ∨ A2 ∨ ¬A3 ) 1 (A1 ∧ A2 ∧ ¬A3 ) 1 (A1 ∧ A2 ∧ A3 ) Aus den 1-Stellen von fϕ erhält man nach dem Verfahren der Vorlesung eine zu ϕ äquivalente Formel in DNF, indem man die zugehörigen ∧-Klauseln mit ∨ verknüpft: ϕDNF ≡ (¬A1 ∧ ¬A2 ∧ ¬A3 ) ∨ (¬A1 ∧ ¬A2 ∧ A3 ) ∨ (¬A1 ∧ A2 ∧ ¬A3 )∨ (A1 ∧ ¬A2 ∧ ¬A3 ) ∨ (A1 ∧ A2 ∧ ¬A3 ) ∨ (A1 ∧ A2 ∧ A3 ) Aus den 0-Stellen von fϕ erhält man nach dem Verfahren der Vorlesung eine zu ϕ äquivalente Formel in KNF, indem man die zugehörigen ∨-Klauseln mit ∧ verknüpft: ϕKNF ≡ (A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A2 ∨ ¬A3 ) NAME: Aufgabe 2 (Aussagenlogik - 7 Punkte) Sei K zunächst ein bliebiger Kalkül der Aussagenlogik: (a) (2 Punkte) Was heißt es für eine aussagenlogische Formel ϕ, dass sie K-beweisbar ist? (b) (2 Punkte) Was heißt es, dass K korrekt bzgl. Allgemeingültigkeit ist? Was heißt es, dass K konsistent ist? (c) (3 Punkte) K sei nun der Kalkül der Aussagenlogik mit den Axiomen ϕ ∧ ¬ϕ und den Regeln ϕ∧ψ ϕ∧ψ ϕ ∨ ψ, ¬ϕ ∨ δ (A) , (B) , (C) ψ∧ϕ ϕ∨ψ ψ∨δ für alle al. Formeln ϕ, ψ und δ. Ist K konsistent? Ist K korrekt bzgl. Allgemeingültigkeit? Begründen Sie Ihre Antwort! LÖSUNG: (a) Eine aussagenlogische Formel ϕ ist K-beweisbar, wenn es einen K-Beweis für ϕ gibt, in Zeichen `K ϕ, d.h. eine Folge von Formeln ϕ1 . . . ϕn , sodass ϕn ≡ ϕ und für alle i ≤ n gilt, dass • ϕi ein Axiom aus K ist, oder • ϕi ist die Konklusion einer Regel (R) aus K, deren Prämissen in {ϕj : j < i} liegen. (b) K heißt korrekt bzgl. Allgmeingültigkeit, falls jede K-beweisbare Formel ϕ allgemeingültig ist und K heißt konsistent, wenn es eine Formel ϕ gibt, die nicht K-beweisbar ist, d.h., sodass 6`K ϕ gilt. (c) Es gilt 6`K A für jede Aussagenvariable A. Wir zeigen dies, indem wir durch Induktion nach der Länge des Beweises zeigen, dass jede Kbeweisbare Formel entweder eine Konjunktions oder Disjunktionsformel ist. Sei dazu ϕ eine K-beweisbare Formel und ϕ ~ = ϕ1 . . . ϕn ein K-Beweis für ϕ gegeben. Da ϕ ≡ ϕn ist, reicht es zu zeigen, dass jedes ϕi (i ≤ n) Konjunktions- bzw. Disjunktionsformel ist. Da ϕ ~ ein K-Beweis ist, unterscheiden wir dazu folgende Fälle: • ϕi ist ein Axiom aus K: dann hat ϕi die Gestalt ϕ ∧ ¬ϕ für eine Formel ϕ und ist Konjunktionsformel. LÖSUNG (Aufgabe 2, Fortsetzung): • ϕi ist die Konklusion einer Regel (R) aus K: ist ϕi eine Konklusion einer Regel vom Typ (A), so hat ϕi die Gestalt ϕ ∧ ψ und ist Konjunktionsformel; ist sie Konklusion einer Regel vom Typ (B) bzw. (C), so hat ϕi die Gestalt ϕ ∨ ψ und ist damit Disjunktionsformel. NAME: Aufgabe 3 (Prädikatenlogik 1. Stufe - 10 Punkte) Sei L = L(N ; f, g; c, d) die prädikatenlogische Sprache mit einem 1-stelligen Relationszeichen, zwei 2-stelligen Funktionszeichen und zwei Konstanten. Weiter sei Q = (Q; N; +, ·; 0, 1) die L-Struktur mit den rationalen Zahlen als Individuenbereich, wobei + und · die übliche Addition bzw. Multiplikation und 0 und 1 die Null bzw. die Eins sind. (a) (2 Punkte) Geben Sie einen L-Satz σ an, sodass σ in Q ausdrückt, dass 1 2 6∈ N ist. (b) (3 Punkte) Welche Menge von rationalen Zahlen wird durch die Formel ψ(x) ≡ (N (x) ∨ ∃y(N (y) ∧ f (x, y) = c)) in Q beschrieben (d.h. wie sieht die Menge {a ∈ Q : Q |= ψ[a]} aus)? (c) (2 Punkte) Gibt es zu jeder rationalen Zahl a einen konstanten L-Term ta , der in Q als die Zahl a interpretiert wird (d.h. (ta )Q = a)? (d) (3 Punkte) Geben Sie eine L-Formel χ ≡ χ(x) in der freien Variablen x an, die das Funktionszeichen f nicht enthält und in Q die positiven, rationalen Zahlen darstellt (d.h. Q χ[a] g.d.w. a > 0). (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 sowie (wo üblich) die Infixschreibweise - verwenden.) LÖSUNG: (a) Der folgende Satz leistet das Gewünschte: σ ≡ ¬∃z(N (z) ∧ f (z, z) = d) (b) Es gilt für jedes a ∈ Q: Q |= ψ[a] ⇔ a ∈ N oder es gibt b ∈ N, sodass a + b = 0, ⇔ a ∈ N oder −a ∈ N, ⇔ a ∈ Z, d.h. ψ beschreibt die Menge der ganzen Zahlen in Q. LÖSUNG (Aufgabe 3, Fortsetzung): (c) Nein, da für jeden konstanten L-Term t gilt, dass tQ ∈ N. Wir zeigen dies durch Induktion nach dem Termaufbau: • t ≡ c oder t ≡ d: dann gilt tQ ∈ {0, 1}. • t ≡ f (t1 , t2 ) oder t ≡ g(t1 , t2 ) mit konstanten L-Termen t1 , t2 : dann Q gilt nach Induktionsvoraussetzung tQ i ∈ N und damit t = t1 + t2 ∈ Q N für t ≡ f (t1 , t2 ) bzw. t = t1 · t2 ∈ N im Falle t ≡ g(t1 , t2 ). (d) Folgende Formel leistet das Gewünschte: χ(x) ≡ (x 6= c ∧ ∃z (z 6= c ∧ N (z) ∧ N (g(z, x)))) Die Idee hinter χ(x) ist, dass eine rationale Zahl x genau dann positiv ist, wenn x 6= 0 ist und es eine natürliche Zahl z 6= 0 gibt, sodass z multipliziert mit x wieder eine natürliche Zahl ist. NAME: Aufgabe 4 (Prädikatenlogik 1. Stufe - 11 Punkte) Sei L = L(N ; f, g; c, d) und Q = (Q; N; +, ·; 0, 1) wie in Aufgabe 3 definiert. (a) (2 Punkte) Was heißt es, dass zwei L-Strukturen (für obige Sprache L) isomorph sind? (b) (3 Punkte) Wie ist die Termstruktur zu einer L-Theorie T (für obige Sprache L) definiert? (c) (3 Punkte) Ist die Termstruktur ATh(Q) ein Modell von Th(Q)? Begründen Sie Ihre Antwort! (d) (3 Punkte) Sind ATh(Q) und N = (N; N; +, ·; 0, 1) elementar äquivalent, wobei + und · die Addition bzw. Multplikation (eingeschränkt auf N) und 0 und 1 die Null bzw. die Eins sind? Begründen Sie Ihre Antwort! Hinweis: Beachten Sie Aufgabe 3. LÖSUNG: (a) Zwei L-Strukturen A und B (für obige Sprache L) sind isomorph, wenn es einen Isomorphismus zwischen Ihnen gibt, d.h. eine bijektive Abbildung h : A → B (wobei A und B die Trägermengen von A bzw. B sind), sodass für alle a, a1 , a2 ∈ A gilt: • a ∈ N A ⇔ h(a) ∈ N B , • h(f A (a1 , a2 )) = f B (h(a1 ), h(a2 )), • h(g A (a1 , a2 )) = g B (h(a1 ), h(a2 )) und • h(cA ) = cB und h(dA ) = dB . (b) Die Termstruktur zu einer L-Theorie T (für obige Sprache L) hat die Gestalt AT = (AT ; N AT ; f AT , g AT ; cAT , dAT ), wobei die Menge der Individuen AT die Menge der Äquivalenzklassen t von konstanten L-Termen t ist. Hierbei ist die Äquivalenzrelation ∼ zwischen zwei konstanten LTermen t1 und t2 definiert als t1 ∼ t2 :⇔ T ` t1 = t2 . Weiter ist N AT = {t : T ` N (t)} und f AT (t1 , t2 ) := f (t1 , t2 ) (analog für g) und cAT := c (analog für d). Dass diese Festsetzungen wohldefiniert sind (d.h. unabhängig von der Wahl des Repräsentanten) folgt aus den Lemmata 1-3 aus Kapitel 3.7.2 der Vorlesung. LÖSUNG (Aufgabe 4, Fortsetzung): (c) Nein, denn für den Satz σ ≡ ∃x ¬N (x) gilt Th(Q) |= σ, aber ATh(Q) 6|= σ. Um ersteres einzusehen, reicht es zu zeigen, dass Q |= σ gilt (in diesem Fall gilt sogar σ ∈ Th(Q)). Dies gilt jedoch, da N $ Q. Um zweiteres einzusehen, nehmen wir für einen Widerspruch an, es gälte ATh(Q) |= σ, d.h. es gibt einen konstanten Term t, sodass ATh(Q) |= ¬N (x)[ t ], d.h. t 6∈ N ATh(Q) gilt. Nach Teil (b) ist dies äquivalent dazu, dass Th(Q) 6` N (t). Nachdem Th(Q) eine vollständige Theorie ist und N (t) ein Satz, muss Th(Q) ` ¬N (t), d.h. Th(Q) |= ¬N (t) nach dem Korrektheitssatz gelten. Da nun Q per Definition ein Modell von Th(Q) ist, heißt das wiederum tQ 6∈ N, im Widerspruch zu Aufgabe 3(c). (d) Ja, sie sind sogar isomorph zueinander! Der Isomorphismus ist dabei durch die Abbildung h : ATh(Q) → N mit h(t) := tQ gegeben (dass h dabei wirklich nach N abbildet, wissen wir nach Aufgabe 3(c)). Mit dem Isomorphielemma der Vorlesung (Kapitel 4.4) folgt die Behauptung. Man kann aber auch direkt einsehen, dass sie elementar äquivalent sind. Wegen Aufgabe 3(c) gilt nämlich tQ = tN und damit für alle konstanten L-Terme t, t0 : Th(Q) ` t = t0 ⇔ Th(N ) ` t = t0 Insbesondere haben Th(Q) und Th(N ) identische Termstrukturen, d.h. ATh(Q) ≡ ATh(N ) . Nun kann aber, im Gegensatz zu Q jede natürliche Zahl durch einen konstanten Term interpretiert werden. Dazu definieren wir durch Induktion nach n konstante L-Terme tn wie folgt: t0 ≡ c und tn+1 ≡ f (tn , d). Wie man leicht durch vollständige Induktion zeigt, gilt tN n = n. Damit ist Th(N ) eine vollständige, konsistente Henkintheorie und somit gilt nach dem Satz über Termmodelle (Kapitel 3.7.3 der Vorlesung) ATh(Q) |= Th(N ). Nach Kapitel 4.4, Lemma 1 folgt die Behauptung. NAME: Aufgabe 5 (Prädikatenlogik 1. Stufe - 5 Punkte) Der Kompaktheitssatz bzgl. der Erfüllbarkeit besagt, dass eine Theorie erfüllbar ist, falls alle Ihre endlichen Teiltheorien erfüllbar sind. Leiten Sie diesen Satz aus dem Korrektheitssatz und dem Erfüllbarkeitslemma her. (Geben Sie hierzu auch den Wortlaut dieses Satzes und Lemmas an.) LÖSUNG: Der Korrektheitssatz besagt, dass ein Satz σ, der (im ShoenfieldKalkül) aus einer Theorie T herleitbar ist, auch aus dieser Theorie folgt, d.h. dass T `σ ⇒ T σ gilt. Das Erfüllbarkeitslemma besagt, dass jede konsistente Theorie erfüllbar ist. Der Beweis des Kompaktheissatzes ist indirekt: Sei T eine Theorie die nicht erfüllbar ist. Wir müssen zeigen, dass T eine endliche Teiltheorie T0 besitzt, die bereits nicht erfüllbar ist Aus der Nichterfüllbarkeit von T folgt mit der Kontraposition des Erfüllbarkeitslemmas, dass T inkonsistent ist. Nach dem Charakterisierungslemma für die Konsistenz (Kapitel 3.6 der Vorlesung) gibt es also einen Satz σ mit T ` σ und T ` ¬σ. Sind nun ϕ1 , . . . , ϕm und ψ1 , . . . , ψn Beweise von σ bzw. ¬σ aus T und setzt man T0 := T ∩ {ϕ1 , . . . , ϕm , ψ1 , . . . , ψn } so sind ϕ1 , . . . , ϕm und ψ1 , . . . , ψn auch Beweise von σ bzw. ¬σ aus der endlichen Teiltheorie T0 von T , weshalb T0 ` σ und T0 ` ¬σ gilt. Mit dem Korrektheitssatz folgt T0 σ und T0 ¬σ. Jedes Modell von T0 ist also zugleich Modell von σ und Modell von ¬σ. Da eine Struktur A aber entweder Modell von σ oder Modell von ¬σ ist, bedeutet dies, dass T0 kein Modell besitzt, also unerfüllbar ist. NAME: Aufgabe 6 (Prädikatenlogik 1. Stufe - 7 Punkte) Seien K und K0 Klassen von L-Strukturen und Th(K) := {σ : σ ist L-Satz mit A |= σ für alle A ∈ K} (a) (1 Punkt) Was heißt es, dass K ∆-elementar ist? Zeigen Sie ferner: (b) (2 Punkte) K ⊆ K0 ⇒ Th(K0 ) ⊆ Th(K). (c) (1 Punkt) K ⊆ Mod(Th(K)). (d) (3 Punkte) K = Mod(Th(K)) ⇔ K ist ∆-elementar. LÖSUNG: Vorbemerkung: Nach Definition von Th(K) gilt für alle σ ∈ Th(K) und für alle A ∈ K, dass A |= σ. Dies wird im Folgenden benutzt. (a) Eine Klasse K von L-Strukturen ist ∆-elementar, wenn es eine L-Theorie T gibt, sodass K = Mod(T ) = {A : A ist L-Struktur und A |= T } gilt. (b) Sei K ⊆ K0 gegeben. Um Th(K0 ) ⊆ Th(K) zu zeigen, sei σ ∈ Th(K0 ) vorgegeben. Um wie gewünscht σ ∈ Th(K) zu erhalten, müssen wir A |= σ für alle A ∈ K zeigen. Sei also A ∈ K gegeben. Nach Voraussetzung ist aber A ∈ K0 und wegen σ ∈ Th(K0 ) folgt die Behauptung unmittelbar nach obiger Vorbemerkung (für K0 ). (c) Sei A ∈ K beliebig. Wir müssen A |= Th(K) zeigen, d.h. A |= σ für alle σ ∈ Th(K). Dies ist aber gerade der Wortlaut obiger Vorbemerkung. (d) Wir zeigen beide Richtungen: “⇒”: Es gilt K = Mod(T ) für T = Th(K). “⇐”: Sei T eine L-Theorie mit K = Mod(T ). Nach Aufgabe 6(c) reicht es zu zeigen, dass Mod(Th(K)) ⊆ K gilt. Da jedoch für zwei beliebige L-Theorien T1 , T2 gilt, dass aus T1 ⊆ T2 die umgekehrte Inklusion Mod(T2 ) ⊆ Mod(T1 ) folgt (siehe Kapitel 4.1, Folie 11), reicht es nach Annahme über K, T ⊆ Th(K) zu zeigen. Sei dazu σ ∈ T beliebig vorgegben. Um σ ∈ Th(K) nachzuweisen, müssen wir A |= σ für alle A ∈ K zeigen. Ist jedoch A ∈ K = Mod(T ) gegeben, so folgt A |= T nach Definition, d.h. A |= τ für alle τ ∈ T . Indem wir τ ≡ σ setzen, folgt die Behauptung. NAME: AUFGABE: NAME: AUFGABE: