08.10.2013 Aufrufe

Download (1405Kb)

Download (1405Kb)

Download (1405Kb)

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!