08.10.2013 Aufrufe

Download (1405Kb)

Download (1405Kb)

Download (1405Kb)

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.

2.5. TERMERSETZUNGSSYSTEME 29<br />

Definition 2.2 Residuale Abgeschlossenheit<br />

Eine Redexmenge RedR,I heißt genau dann residual abgeschlossen, wenn für alle Reduktionen<br />

t −−→ t<br />

R,I<br />

′ und alle Stellen u ∈ RedOccR,I gilt:<br />

u \ t −−→<br />

R,I<br />

t ′ ⊆ RedOccR,I(t ′ )<br />

Nicht jede Redexmenge ist residual abgeschlossen. Insbesondere für die Menge aller Redexe eines<br />

beinahe orthogonalen Termersetzungssystems ist dies jedoch gegeben.<br />

Lemma 2.6 Residuale Abgeschlossenheit von RedÊ<br />

Die Menge aller Redexe eines beinahe orthogonalen Termersetzungssystems R, RedR, ist residual<br />

abgeschlossen.<br />

u<br />

Insbesondere ist für eine Reduktion t −−→ t ′ u<br />

und v ∈ RedOccR(t) mit v < u für alle ˆv ∈ v\t −−→ t ′<br />

t/v = t ′ /ˆv.<br />

Beweis:<br />

u<br />

Die Reduktion t −−→ t<br />

l→r ′ mit u ∈ RedOccR(t) erfolge mit der Substitution σ. Sei v ∈ RedOccR(t)<br />

beliebig.<br />

v = u: v \ t<br />

u<br />

−−→ t ′ = ∅ ⊆ RedOccR(t ′ ).<br />

v u: Es ist t ′ /v = t/v und somit v \ t<br />

u<br />

−−→ t ′ = {v} ⊆ RedOccR(t ′ ).<br />

v < u: Da v ∈ RedOccR(t), existiert eine Regel ˆ l→ˆr ∈ R und eine Substitution [t1/x1, . . . , tn/xn] :<br />

Var(l)→TΣ(X) mit<br />

t/v = ˆ l[t1/x1, . . .,tn/xn]<br />

Gemäß Lemma 2.4 über Redexe eines Termes und deren Stellen läßt sich u eindeutig zerlegen<br />

in<br />

u = v.w.u ′<br />

mit ˆ l/w = xk ∈ X für ein k ∈ [n]. Es gilt<br />

t ′ /v = t/v[w.u ′ ← rσ] = ˆ l[t1/x1, . . .,tn/xn][w.u ′ ← rσ] =: e<br />

Aus der Linearität von ˆ l folgt Occ(xk, ˆ l) = {w} und somit gilt:<br />

Also ist auch t ′ /v ein Redex und es gilt v \ t<br />

u < v: Nach Definition ist v \ t<br />

u<br />

v \ t<br />

t ′ /v = e = ˆ l[t1/x1, . . .,tk[u ′ ← rσ]/xk, . . .,tn]<br />

u<br />

−−→ t ′ = {v} ⊆ RedOccR(t ′ ).<br />

u<br />

−−→ t ′ = {u.w ′ .v ′ | v = u.w.v ′ , r/w ′ = l/w ∈ X}. Sei ˆv ∈<br />

−−→ t ′ . Somit ist ˆv = u. ˆw ′ .ˆv ′ mit r/ ˆw ′ = l/ ˆw = ˆx ∈ X und v = u. ˆw.ˆv ′ .<br />

t ′ /ˆv = (t ′ /u)/ ˆw ′ .ˆv ′ = rσ/ ˆw ′ .ˆv ′ = ˆxσ/ˆv ′ = lσ/ ˆw.ˆv ′ = (t/u)/ ˆw.ˆv ′ = t/v<br />

Also ist t ′ /ˆv = t/v ein Redex und es gilt v \ t<br />

u<br />

−−→ t ′ ⊆ RedOcc(t ′ ).<br />

✷<br />

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!