Klausur zur Vorlesung Mathematische Logik

Werbung
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.
Herunterladen