Download (1405Kb)
Download (1405Kb)
Download (1405Kb)
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 />
✷