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.
96 KAPITEL 5. DIE ς-SEMANTIKEN<br />
5.2.5 Eine alternative ς-Transformation<br />
Betrachten wir noch einmal die Definition der ς-Transformation ΦP,ς auf Seite 77. Ist t mit der<br />
linken Seite einer Regel f(p)→r vermittels einer Variablenbelegung β semantisch ς-matchbar, so<br />
erhält bei der Transformation vonf ΦP,ς() (t) den Wert [[r]] alg<br />
, d.h. den semantischen Wert der ,β<br />
rechten Regelseite unterund β. Prinzipiell werden so auch Transformationen für rekursive Funktionsschemata<br />
definiert (vgl. [Ind93]). Ist f jedoch erzwungen strikt fürt, so ist fΦP,ς() (t) = ⊥. Dies<br />
entspricht genau der Bedeutung der Striktheit und ist gemäß der Definition der ς-Interpretationen<br />
auch notwendig, da die Operationen für alle erzwungen strikten Argumente auch strikt sein müssen.<br />
Ist f allerdings nicht erzwungen strikt für t, aber existiert auch keine passende linke Regelseite,<br />
so enthält das Programm keinerlei Information über den Wert fΦP,ς() (t). Deshalb wird in der<br />
ς-Transformation dieser Wert gleich ⊥ definiert. Da ⊥ Undefiniertheit oder fehlende Information<br />
repräsentiert, ist dies sinnvoll. Gibt es überhaupt eine Alternative? Da ⊥ als kleinstes Element das<br />
einzige irgendwie ausgezeichnete Element des Rechenbereichs ist, ist die feste Wahl eines anderen<br />
Elements des Rechenbereichs unsinnig. Es existiert aber noch eine andere Möglichkeit: Der Wert<br />
fΦP,ς() (t) kann schlicht als dem alten“ Wert f(t) gleich definiert werden.<br />
”<br />
Damit ergibt sich folgende alternative ς-Transformation Φ∗ P,ς :<br />
⎧<br />
f Φ∗ P,ς ()<br />
⎪⎨<br />
(t) :=<br />
⎪⎩<br />
[[r]] alg<br />
,β , wenn t mit der linken Seite einer<br />
Reduktionsregel f(p)→r von P<br />
vermittels einer Variablenbelegung β : Var(p)→TC,ς<br />
semantisch ς-gematcht wird.<br />
f(t) , sonst<br />
für alle t ∈ (TC,ς) n , f (n) ∈ F( ˙∪ H) und∈IntΣ,ς.<br />
Die Definition von f Φ∗ P,ς () (t) := f(t), wenn f erzwungen strikt für t ist, ändert nichts gegenüber<br />
der ς-Transformation ΦP,ς, da dieser Wert in allen ς-Interpretationen gleich ⊥ ist.<br />
Auch sehen wir direkt, daß Φ ∗ P,ς (⊥ς) = ΦP,ς(⊥ς) und allgemeinn := (Φ ∗ P,ς )n (⊥ς) = (ΦP,ς) n (⊥ς)<br />
für alle n ∈ IN ist. Für diejenigen f und t, für die keine passende linke Regelseite besteht, ist<br />
fn (t) = ⊥ für alle n ∈ IN. Somit ist auch<br />
<br />
(Φ ∗ P,ς) n (⊥ς) = <br />
(ΦP,ς) n (⊥ς),<br />
n∈IN<br />
und die ς-Datentypen ließen sich also mit der alternativen ς-Transformation Φ∗ P,ς genauso gut<br />
definieren wie mit ΦP,ς.<br />
Warum verwenden wir dann Φ∗ P,ς nicht?<br />
Es gibt einen guten Grund, ΦP,ς vorzuziehen: Ein Ergebnis von Φ∗ P,ς ist im allgemeinen keine<br />
ς-Interpretation mehr. Die Operationen der sich ergebenden Algebra sind im allgemeinen nicht<br />
mehr ω-stetig. Freilich läßt sich durch eine Änderung der Definition der ς-Interpretation, derart,<br />
daß beliebige, auch unstetige Operationen zugelassen werden, dieses Problem beseitigen. Es ergibt<br />
sich jedoch sofort ein neues: Φ∗ P,ς ist auf diesem erweiterten Definitionsbereich nicht ω-stetig. Die<br />
Übereinstimmung von Definitions- und Wertebereich und die ω-Stetigkeit sind jedoch zentrale Voraussetzungen<br />
für die Anwendung des Fixpunktsatzes von Tarski bei der Definition des ς-Datentyps.<br />
Gehen wir jedoch Schritt für Schritt vor.<br />
n∈IN