08.10.2013 Aufrufe

Download (1405Kb)

Download (1405Kb)

Download (1405Kb)

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!