Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Im Induktionsanfang ist n = 0. Hier gilt s = t <strong>und</strong> s ≡ E t folgt aus der Reflexivität<br />
von ≡ E (Lemma 3.1.10).<br />
Im Induktionsschluss ist n > 0 <strong>und</strong> aus der Induktionshypothese folgt bereits s ≡ E<br />
s n−1 . Da s n−1 ↔ E s n = t gilt <strong>und</strong> da ↔ E (wie oben gezeigt) in ≡ E enthalten ist,<br />
folgt s n−1 ≡ E s n = t. Aus der Transitivität von ≡ E (Lemma 3.1.10) ergibt sich daher<br />
s ≡ E t.<br />
Vollständigkeit:<br />
Nun zeigen wir, dass aus s ≡ E t auch s ↔ ∗ E t folgt. Die Aussage s ≡ E t bedeutet, dass<br />
A |= s ≡ tfüralleModelleAvonE gilt.UnserZielistnun,solcheinModellA = (A,α)<br />
von E <strong>und</strong> eine Variablenbelegung β zu definieren, so dass für die Interpretation<br />
I = (A,α,β) der Zusammenhang I |= s ≡ t genau dann zutrifft, wenn s ↔ ∗ E t gilt.<br />
Eine erste Idee ist, als Träger A die Menge der Terme T(Σ,V) zu wählen <strong>und</strong> jeden<br />
Term als “sich selbst” zu interpretieren. Dazu müsste α f = f für alle Funktionssymbole<br />
f ∈ Σ sein <strong>und</strong> β(x) = x für alle Variablen x. Durch strukturelle Induktion<br />
über den Termaufbau zeigt man leicht, dass dann I(t) = t für alle Terme t ∈ T(Σ,V)<br />
ist. Das Problem hierbei wäre aber, dass zwei verschiedene Terme s <strong>und</strong> t, die unter<br />
↔ ∗ E äquivalent sind, hierbei als verschiedene Objekte des Trägers interpretiert werden<br />
würden.<br />
Daher werden wir den Träger etwas anders wählen. Hierbei ist es wichtig, dass die<br />
Relation ↔ ∗ E eine Äquivalenzrelation ist (Lemma 3.1.13). Zu jeder Äquivalenzrelation<br />
<strong>und</strong> jedem Objekt bezeichnet die Äquivalenzklasse des Objekts die Menge all jener<br />
Objekte, zu denen dieses Objekt äquivalent ist. Inunserem Beispiel ist zu jedem Term<br />
s die Äquivalenzklasse [s] ↔ ∗<br />
E<br />
definiert als [s] ↔ ∗<br />
E<br />
= {t|s ↔ ∗ E t}. Da ↔∗ E eine Äquivalenzrelation<br />
ist, sind zwei Äquivalenzklassen [s] ↔ ∗<br />
E<br />
<strong>und</strong> [t] ↔ ∗<br />
E<br />
entweder identisch oder<br />
disjunkt. Die Menge aller Äquivalenzklassen wird als Quotientenmenge bezeichnet. In<br />
unserem Fall zerfällt die Menge der Terme T (Σ,V) also in mehrere Äquivalenzklassen<br />
<strong>und</strong> die Quotientenmenge ist T(Σ,V)/ ↔ ∗<br />
E<br />
= {[s] ↔ ∗<br />
E<br />
| s ∈ T(Σ,V)}.<br />
Unser Ziel ist nun, die Interpretation I so zu wählen, dass jeder Term t als seine<br />
Äquivalenzklasse interpretiert wird, d.h., wir wollen erreichen, dass I(t) = [t] ↔ ∗<br />
E<br />
gilt.<br />
Dann gilt in der Tat I |= s ≡ t gdw. I(s) = I(t) gdw. [s] ↔ ∗<br />
E<br />
= [t] ↔ ∗<br />
E<br />
gdw. s ↔ ∗ E t.<br />
Der Träger A muss also als die Quotientenmenge T(Σ,V)/ ↔ ∗<br />
E<br />
gewählt werden, d.h.,<br />
als die Menge aller ↔ ∗ E -Äquivalenzklassen. Für alle Terme f(t 1 ,...,t n ) soll gelten,<br />
dass I(f(t 1 ,...,t n )) = α f (I(t 1 ),...,I(t n )) = [f(t 1 ,...,t n )] ↔ ∗<br />
E<br />
ist. Wenn schon I(t i ) =<br />
[t i ] ↔ ∗<br />
E<br />
ist, dann ergibt sich folgende Definition von α f für alle f ∈ Σ <strong>und</strong> alle [t i ] ↔ ∗<br />
E<br />
∈<br />
T(Σ,V)/ ↔ ∗<br />
E<br />
:<br />
α f ([t 1 ] ↔ ∗<br />
E<br />
,...,[t n ] ↔ ∗<br />
E<br />
) = [f(t 1 ,...,t n )] ↔ ∗<br />
E<br />
.<br />
Man beachte, dass α f dann tatsächlich eine wohldefinierte Funktion ist, denn es ist<br />
unerheblich, welchen Term aus der Äquivalenzklasse der [t i ] ↔ ∗<br />
E<br />
man verwendet, um<br />
die Äquivalenzklasse [f(t 1 ,...,t n )] ↔ ∗<br />
E<br />
zu bilden. Wenn nämlich t i ↔ ∗ E s i für alle i<br />
gilt, so gilt auch f(t 1 ,...,t n ) ↔ ∗ E f(s 1,...,s n ), denn ↔ ∗ E ist eine Kongruenzrelation<br />
(Lemma 3.1.13). Damit auch bei Variablen x jeweils I(x) = [x] ↔ ∗<br />
E<br />
gilt, definieren wir