20.01.2015 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!