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.

58 KAPITEL 4. DIE STANDARDSEMANTIKEN<br />

Bemerkung 4.2: Algebraische Termsemantik und Substitution<br />

Die cbv-Transformation ließe sich auch äquivalent mit Applikationen einer Substitution anstelle der<br />

algebraischen Termsemantiken mit Variablenbelegung definieren:<br />

f ΦP,cbv()<br />

⎧<br />

⎪⎨<br />

[[rσ]]<br />

(t) :=<br />

⎪⎩<br />

alg , falls eine Programmregel f(p)→r ∈ P<br />

und eine Substitution σ : Var(p)→TC<br />

mit p1σ = t1, . . .,pnσ = tn existiert<br />

⊥ , andernfalls<br />

(entsprechend für die Hilfsoperationen).<br />

Für eine Variablenbelegung β : Var(p)→TC und eine Substitution σ : Var(p)→TC mit β(x) = xσ<br />

für alle x ∈ Var(p) gilt gemäß des nachfolgenden Lemmas 4.2 über Substitutionsapplikation und<br />

algebraische Termsemantik [[c]] alg<br />

= [[cσ]] ,β alg für alle c ∈ TC und∈IntΣ,cbv. Demnach ist dann<br />

insbesondere<br />

für alle i ∈ [n] und<br />

[[pi]] alg alg<br />

⊥cbv,β = [[piσ]] = piσ<br />

⊥cbv<br />

[[r]] alg<br />

= [[rσ]] ,β alg<br />

.<br />

Somit sind die beiden Definitionen wirklich äquivalent.<br />

Die Verwendung der Substitution hat den Vorteil der größeren Nähe zur Reduktionssemantik.<br />

Daher werden wir diese Variante auch in 4.2.3 beim Beweis der Übereinstimmung von Fixpunktund<br />

Reduktionssemantik verwenden.<br />

Eine Applikation einer Substitution ist im Prinzip eine spezielle algebraische Termsemantik, weshalb<br />

auch die obige Äquivalenz gilt. Für die cbn-Transformation und für die in Kapitel 5 definierte<br />

ς-Transformation können wir leider keine Substitution mehr verwenden. Wir müssen die allgemeineren<br />

algebraischen Termsemantiken einsetzen. Daher erfolgt auch hier schon die Definition der<br />

cbv-Transformation mit algebraischen Termsemantiken. ✷<br />

Lemma 4.2 Substitutionsapplikation und algebraische Termsemantik<br />

Sei Σ eine Signatur,=〈A, α〉 ∈ Alg Σ, σ : X→TΣ(X) eine Substitution und β, β ′ : X→A<br />

Variablenbelegungen.<br />

Es gelte<br />

β(x) = [[xσ]] alg<br />

,β ′<br />

für alle x ∈ X. Dann ist<br />

für alle t ∈ TΣ(X).<br />

Beweis:<br />

t = x ∈ X:<br />

t = g(t1, . . .,tn): (g (n) ∈ Σ).<br />

[[t]] alg<br />

= [[tσ]] ,β alg<br />

,β ′<br />

[[t]] alg<br />

= β(x) ,β Vor.<br />

= [[xσ]] alg<br />

,β ′ = [[tσ]] alg<br />

,β ′.<br />

[[t]] alg<br />

= g([[t1]] ,β alg<br />

, . . . , [[tn]] ,β alg I.V.<br />

) = g([[t1σ]] ,β alg<br />

,β ′, . . . , [[tnσ]] alg<br />

,β ′) = [[tσ]] alg<br />

,β ′.<br />

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!