Lösung zum 7. Übungsblatt - THI

Werbung
Logik
Sommersemester 2009
Institut für Theoretische Informatik
Leibniz Universität Hannover
Lösung zum 7. Übungsblatt
08.06.2009
Stundenübung
Aufgabe 1: Die Struktur der natürlichen Zahlen (N, <) versehen mit der aufsteigenden
Sortierung der Elemente 1 < 2 < 3 < . . . ist eine Ordnung. Allgemein heißt eine Struktur
(A, <) Ordnung, wenn sie die folgenden Bedingungen erfüllt:
1) Je zwei Elemente lassen sich mittels < vergleichen.
2) Wenn a kleiner als b und b kleiner als c ist, so ist auch a kleiner als c.
3) Ein Element ist nicht kleiner als es selbst.
a) Kennen Sie weitere Beispiele für Ordnungen?
b) Man gebe einen Satz ϕO an, so dass für alle Modelle M gilt: M |= ϕO genau dann,
wenn M eine Ordnung ist.
Lösung: a) Das deutsche Alphabet ({a, b, c, . . . , x, y, z}, <lex ) versehen mit der üblichen
lexikographischen Ordnung a < b < . . . < y < z ist eine Ordnung (In unserer Definition
der lexikographischen Ordnung sei a ≮ a, b ≮ b etc.). Genauso werden die reellen Zahlen
(R, <) und die rationalen Zahlen (Q, <) versehen mit ihren üblichen Ordnungsrelationen
zu Ordnungen.
b) Als Sprache L verwenden wir die üblichen logischen Zeichen sowie das zweistellige
Relationssymbol <. Wir geben für jede der Eigenschaften 1 bis 3 einen Satz ϕi an. ϕO
ist dann die Konjunktion der ϕi . Es ist
ϕ1 = ∀x∀y(x < y ∨ x = y ∨ y < x)
ϕ2 = ∀x∀y∀z((x < y ∧ y < z) → x < z)
ϕ3 = ∀x(¬x < x)
¤
Aufgabe 2: Die Sprache L der Prädikatenlogik enthalte nur die logischen Zeichen.
a) Geben Sie eine Aussage ϕn an, so dass für alle Modelle M gilt: M |= ϕn genau dann,
wenn M mindestens n Elemente hat.
b) Geben Sie eine Aussage ψn an, so dass für alle Modelle M gilt: M |= ψn genau dann,
wenn M genau n Elemente hat.
V
Lösung: a) Die Formel ϕn = ∃x1 . . . ∃xn 1≤i<j≤n ¬xi = xj tut’s.
b) Unter Verwendung von ϕn aus Teil a ist ψn = ϕn ∧ ¬ϕn+1 .
¤
Aufgabe 3: a) Eine dichte Ordnung ist eine Ordnung, in der zwischen je zwei Elementen
ein weiteres Element liegt. Geben Sie ein abzählbares und ein überabzählbares Beispiel
einer dichten Ordnung an. Geben Sie weiterhin einen Satz ϕDO an, für den gilt: M |= ϕDO
genau dann, wenn M eine dichte Ordnung ist.
b) Ein Element einer Ordnung heißt kleinstes Element, wenn alle anderen Elemente
größer als dieses Element sind. Entsprechend heißt ein Element größtes Element, falls es
kein größeres Element gibt. Geben Sie eine Aussage ϕDOK an für die gilt: M |= ϕDOK
genau dann, wenn M eine dichte Ordnung mit kleinstem aber ohne größtes Element ist.
Geben Sie ein Beispiel für ein solches Modell M an.
Lösung: a) Einfache Beispiele für dichte Ordnungen sind (Q, <) und (R, <). Dichte
Ordnungen lassen sich wie folgt formalisieren:
ϕDO = ϕO ∧ ∀x∀y∃z(x < y → (x < z ∧ z < y))
b) Der Satz ϕK = ∃x∀y(x < y ∨ x = y) sagt aus, dass es ein kleinstes Element gibt.
Entsprechend besagt ϕG = ∃x∀y(y < x ∨ x = y), dass es ein größtes Element gibt. Somit
ist
ϕDOK = ϕDO ∧ ϕK ∧ ¬ϕG
Eine dichte Ordnungen mit kleinstem und ohne größtem Element ist ([0, 1), <), also das
rechts offene, links abgeschlossene Einheitsintervall mit der üblichen Ordnungsrelation.
¤
Hausübung
Aufgabe 4: (Koinzidenzlemma) Sei ϕ ∈ Form mit frei (ϕ) ⊆ {x1 , . . . , xn } und seien
M1 = (A, w1 ), M2 = (A, w2 ) Modelle mit w1 (xi ) = w2 (xi ) für alle i ∈ {1, . . . , n}. Zeigen
Sie: M1 |= ϕ(x1 , . . . , xn ) genau dann, wenn M2 |= ϕ(x1 , . . . , xn ).
Lösung: Induktiv über den Termaufbau zeigt man tM1 = tM2 . Anschließend zeigt man
das Gewünschte induktiv über den Formelaufbau.
¤
Aufgabe 5: Es seien x, y ∈ Var , t, s ∈ Term und ϕ eine Formel. Man zeige:
a) Wenn y ∈
/ Var (s) und x ∈
/ Var (t), dann ist (ϕ[x/s])[y/t] = (ϕ[y/t])[x/s] = ϕ[x/s, y/t].
b) Zeigen Sie, dass Teil a im Allgemeinen nicht gilt, wenn man die zusätzlichen Voraussetzungen weglässt.
Lösung: a)Für (ϕ[x/s])[y/t] schreiben wir im Folgenden ϕ[x/s][y/t]. Aus Symmetriegründen reicht es ϕ[x/s][y/t] = ϕ[x/s, y/t] zu zeigen, da ϕ[x/s, y/t] = ϕ[y/t, x/s] ist.
Zunächst zeigen wir das Gewünschte für Terme mit Hilfe von Induktion über den Termaufbau. Für Konstanten c gilt c[x/s][y/t] = c = c[x/s, y/t]. Entsprechend gilt für Variay ∈Var
/
(s)
blen x[x/s][y/t] = s[y/t] = s = x[x/s, y/t]. Analog ist y[x/s][y/t] = y[x/s, y/t] und
z[x/s][y/t] = z[x/s, y/t]. Der Induktionsschritt ergibt sich aus
f (t1 , . . . , tn )[x/s][y/t] = f (t1 [x/s], . . . , tn [x/s])[y/t]
= f (t1 [x/s][y/t], . . . , tn [x/s][y/t])
I.V.
= f (t1 [x/s, y/t], . . . , tn [x/s, y/t])
= f (t1 , . . . , tn )[x/s, y/t]
Für Terme gilt die Behauptung also. Bleibt zu zeigen, dass sie für Formeln gilt. Auch
das zeigen wir per Induktion, diesmal über den Formelaufbau. Für Primformeln haben
wir:
(t1 = t2 )[x/s][y/t] = (t1 [x/s] = t2 [x/s])[y/t]
= t1 [x/s][y/t] = t2 [x/s][y/t]
= t1 [x/s, y/t] = t2 [x/s, y/t]
= (t1 = t2 )[x/s, y/t]
(Man beachte die unterschiedliche Bedeutung der Gleichheitszeichen: Die hervorgehobenen (’=’) sind metasprachliche Gleichheitszeichen, die anderen sind Gleichheitszeichen
aus der Sprache L.)
Analog für Relationen, ∧, ¬ und ∀.
b) Für ϕ := x = y führen alle drei Ersetzungsmethoden zu verschiedene Ergebnissen
ϕ[x/y][y/x]=(y = y)[y/x]=x = x
ϕ[y/x][x/y]=(x = x)[x/y]=y = y
ϕ[x/y, y/x]=y = x
wobei auch hier die metasprachlichen Gleichheitszeichen wieder hervorgehoben sind.
Für die Nicht-Kommutativität reicht bereits, dass eine der Bedingungen nicht erfüllt
ist. Für ϕ := x = c ist
ϕ[x/y][y/x]=(y = c)[y/x]=x = c
ϕ[y/x][x/y]=(x = c)[x/y]=y = c
¤
Abgabe: 15.06.2009 vor der Vorlesung
Herunterladen