Download (1405Kb)
Download (1405Kb)
Download (1405Kb)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
148 KAPITEL 6. UNTERSUCHUNG DER ς-SEMANTIKEN<br />
Definition 6.13 Partielles cbv-Interpretationsmodell<br />
(vgl. mit Def. 6.5 des ς-Interpretationsmodells und Def. 6.6 des cbv-Interpretationsmodells ∗ )<br />
heißt genau dann partielles cbv-Interpretationsmodell eines Programms mit Pattern,<br />
P, wenneine partielle cbv-Interpretation und ein partielles Modell des Programms mit Pattern,<br />
. ✷<br />
P, ist. Wir schreiben IntMod part<br />
P,cbv<br />
:= Intpart<br />
Σ,cbv<br />
∩ Modpart<br />
P<br />
Inspiriert durch die in 6.2 gefundene Charakterisierung des (totalen) cbv-Datentyps, DP,cbv :=<br />
Min 〈AlgΣ ,⊑〉(IntMod ∗ P,cbv), definieren wir den partiellen cbv-Datentyp.<br />
Definition 6.14 Partieller cbv-Datentyp<br />
Das bezüglich der kanonischen Ordnung kleinste partielle cbv-Interpretationsmodell von P,<br />
D part<br />
P,cbv := Min 〈Alg part<br />
Σ ,⊑〉(IntModpart P,cbv ),<br />
heißt partieller cbv-Datentyp des Programms mit Pattern, P. ✷<br />
Diese Definition läßt sich zwar leicht niederschreiben, aber es bleibt die Wohldefiniertheit des partiellen<br />
cbv-Datentyps zu zeigen. Wie bei der deklarativen Definition des cbn-Datentyps müssen<br />
wir beweisen, daß ein kleinstes partielles cbv-Interpretationsmodell überhaupt existiert. Ein direkter<br />
Beweis wäre jedoch aufwendig und würde eine weitergehende Beschäftigung mit der Theorie<br />
partieller Algebren erfordern.<br />
Wir untersuchen daher stattdessen zuerst einen anderen Punkt: Jede der gerade angegebenen Definitionen<br />
ist zwar ihrer jeweils korrespondierenden Definition für totale Algebren ähnlich, aber es<br />
stellt sich doch die Frage, ob die Bezeichnung partieller cbv-Datentyp gerechtfertigt ist.<br />
Um die — selbstverständlich existierende — Beziehung zwischen der totalen und der partiellen cbv-<br />
Semantik eindeutig aufzuzeigen, definieren wir die folgende bijektive Abbildung zwischen totalen<br />
und partiellen cbv-Interpretationen.<br />
Definition 6.15 Die kanonische Abbildung Π<br />
Die kanonische Abbildung zwischen totalen und partiellen cbv-Interpretationen,<br />
ist definiert durch<br />
Π : IntΣ,cbv→Int part<br />
Σ,cbv ,<br />
g Π() (t) := g(t) , falls g(t) = ⊥<br />
g Π() (t) undefiniert , andernfalls<br />
für alle g (n) ∈ Σ, t ∈ (TC) n und∈IntΣ,cbv. ✷<br />
Offensichtlich ist Π() ∈ Int part<br />
Σ,cbv für alle∈IntΣ,cbv, und die kanonische Abbildung ist somit<br />
wohldefiniert. Π ist sowohl injektiv als auch surjektiv, also eine Bijektion. Die daher existierende<br />
inverse Abbildung Π −1 sieht wie folgt aus:<br />
Definition 6.16 Die Inverse der kanonischen Abbildung Π<br />
Die Inverse der kanonischen Abbildung Π zwischen totalen und partiellen cbv-<br />
Interpretationen,<br />
Π −1 : Int part<br />
Σ,cbv →IntΣ,cbv,<br />
ist gegeben durch<br />
g Π−1 () (t) :=<br />
<br />
g(t) , falls t ∈ (TC) n und g(t) definiert<br />
⊥ , andernfalls<br />
für alle g (n) ∈ Σ, t ∈ (T⊥ C )n und∈Int part<br />
Σ,cbv . ✷