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.

4.3. DIE CBN-SEMANTIK 71<br />

zeigen, und dann daraus mit der Invarianz der algebraischen Termsemantik die Invarianz der po-<br />

Reduktionssemantik folgern.<br />

Somit können wir aber auch den Beweis der Übereinstimmung der Fixpunkt- und der po-<br />

Reduktionssemantik nicht analog zu dem entsprechenden Beweis für die cbv-Semantik führen. Dort<br />

haben wir einen speziellen Datentyp der li-Reduktionssemantik, Dli P , definiert. Für dessen Wohldefiniertheit<br />

ist die Invarianz der li-Reduktionssemantik jedoch Voraussetzung. Außerdem wäre die<br />

analoge Definition eines po-Datentyps weitaus schwieriger, da nicht nur zu ⊥, sondern auch zu<br />

vielen anderen echt partiellen und echt unendlichen Berechnungstermen im allgemeinen kein sie<br />

denotierender syntaktischer Term existiert. Dies folgt schon allein aus der Überabzählbarkeit von<br />

T∞ C,⊥ . Immerhin läßt sich leicht einsehen, daß für alle endlichen, partiellen Berechnungsterme TC,⊥<br />

jeweils ein sie denotierender syntaktischer Term aus TΣ existiert, wenn dies nur für einen einzigen<br />

echt partiellen (TC,⊥ \TC) der Fall ist. Aufgrund der geforderten ω-Stetigkeit der Operationen wäre<br />

die Fortsetzung der Operationen auf die echt unendlichen Konstruktorterme eindeutig. Die Wohldefiniertheit<br />

dieses po-Datentyps — bezüglich der Übereinstimmung mit der po-Reduktionssemantik<br />

— wäre jedoch auch noch zu zeigen. Schließlich wäre die Übereinstimmung des po-Datentyps und<br />

des cbn-Fixpunktdatentyps auch nicht analog zur cbv-Semantik beweisbar, da wir bei dieser die<br />

speziellen Eigenschaften der flachen Halbordnung ausgenutzt haben (Satz 4.5, S. 62). Wir werden<br />

daher in Kapitel 5 ein anderes Beweisprinzip verwenden.<br />

Zum Schluß wollen wir noch einmal einen kurzen Blick auf die verworfene lo-Reduktionsstrategie<br />

werfen. Wir haben in Beispiel 4.8 die Unvollständigkeit der lo-Reduktionsstrategie anhand eines<br />

Programms mit Pattern aufgezeigt. Folgendes Beispiel zeigt, daß die Unvollständigkeit auch bei<br />

Programmen mit Hilfsfunktionen gegeben ist.<br />

Beispiel 4.10 Unvollständigkeit der lo-Reduktionsstrategie, II<br />

und aus<br />

folgt auch<br />

aber<br />

und somit wäre<br />

liste → undef:liste<br />

undef → undef<br />

[[liste]] fix<br />

P,cbn = [⊥, ⊥, . . .]<br />

liste −−→<br />

P,po undef : liste −−→<br />

P,po undef : undef : liste −−→<br />

P,po . . .<br />

[[liste]] po<br />

P = {⊥, ⊥ : ⊥, ⊥ : ⊥ : ⊥, . . .} = [⊥, ⊥, ⊥, . . .],<br />

liste −−→<br />

P,lo undef : liste −−→<br />

P,lo undef : liste −−→<br />

P,lo . . . ,<br />

[[liste]] lo P = ⊥ : ⊥.<br />

Diese unvollständige Approximation ergibt sich jedoch nur bei Termen mit echt partiellen oder echt<br />

unendlichen Konstruktortermen als Semantik. Für Terme, die eine (po-)Konstruktornormalform<br />

besitzten, sind diese bei Programmen mit Hilfsfunktionen wirklich mit der lo-Reduktionsstrategie<br />

berechenbar. Auf den Beweis dieser Aussage wollen wir jedoch verzichten. Dennoch erklärt dies<br />

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!