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.
62 KAPITEL 4. DIE STANDARDSEMANTIKEN<br />
und daher<br />
Somit gilt<br />
Fall 3: Andernfalls.<br />
Analog zu Fall 2 folgt<br />
condG(t1, t2, t3)<br />
Existiert ein Term t⊥ ∈ TΣ mit [[t⊥]] li P<br />
∗<br />
−−→ condG(t1 ↓<br />
P,li P,li, t2, t3) −−→ t2.<br />
P,li<br />
[[condG(t1, t2, t3)]] li P = [[t2]] li P = t 2.<br />
[[condG(t1, t2, t3)]] li P = [[t3]] li P = t 3.<br />
= ⊥, so existiert auch nur ein einziger Datentyp der<br />
li-Reduktionssemantik — unser gerade definierter li-Datentyp Dli P . Andernfalls existieren jedoch<br />
mehrere. Wir haben einen von diesen als li-Datentyp ausgewählt. Diese Auswahl erfolgte natürlich<br />
im Hinblick auf die im folgenden Satz zu beweisende Übereinstimmung von Dli P und Dfix P,cbv . Der<br />
Datentyp Dli P ist jedoch noch auf eine andere Weise ausgezeichnet: Ergänzen wir unser Programm<br />
P um ein neues Funktionssymbol undef und eine Programmregel<br />
zu einem Programm P ′ , so ist [[undef]] li<br />
P<br />
undef → undef<br />
′ = ⊥. Die meisten Operationen des nun wieder eindeutigen<br />
Datentyps der li-Reduktionssemantik, Dli P ′, unterscheiden sich jetzt von den entsprechenden Operationen<br />
der Datentypen der li-Reduktionssemantik des Programms P; abgesehen von dem einen<br />
Datentyp Dli P . Dli P ′ ist schlicht die Ergänzung von Dli P um die eine Operation des Funktionssymbols<br />
undef. Der li-Datentyp Dli P ist der einzige kompositionelle Datentyp aller Datentypen der li-<br />
Reduktionssemantik. Da die schrittweise Erweiterung eines Programms um zusätzliche Funktionen<br />
eine übliche Vorgehensweise ist, ist der Erhalt des bisher definierten Datentyps, also die Kompositionalität<br />
der Semantik, wünschenswert. Wir werden in Kapitel 6 noch einmal darauf eingehen.<br />
Satz 4.5 Übereinstimmung der Datentypen Dli Èund Dfix Der li-Datentyp ist gleich dem cbv-Fixpunktdatentyp:<br />
D li P = D fix<br />
P,cbv.<br />
Ècbv<br />
Beweis:<br />
Wir zeigen in 3 Schritten, daß Dli P = 〈T⊥C , ✂, α〉 ebenfalls der kleinste Fixpunkt der cbv-<br />
Transformation ΦP,cbv und somit gleich D fix<br />
P,cbv ist.<br />
Schritt 1: Dli P ist eine cbv-Interpretation.<br />
, ✂〉 ist die flache Halbordnung des Rechenbereichs.<br />
〈T ⊥ C<br />
Für alle G (n) ∈ C und t 1, . . .,t n ∈ TC gilt<br />
also<br />
G(t 1, . . .,t n) = G(t 1, . . . , t n)↓ P,li ,<br />
G Dli<br />
P (t 1, . . .,t n) = [[G(t 1, . . . , t n)]] li P = G(t 1, . . . , t n).<br />
Auch sind alle Konstruktor-, Funktions- und Selektionsoperationen strikt. Ebenso sind die<br />
Verzweigungsoperationen gemäß Definition im ersten Argument strikt. Aus dieser Striktheit<br />
✷