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.

166 KAPITEL 7. SEQUENTIALITÄT<br />

Lemma 7.11 Sequentialität und Striktheit<br />

Sei ϕ : (TC,ς) n →TC,ς mit n ∈ IN eine monotone Abbildung und i ∈ [n].<br />

ϕ ist genau dann an der i-ten Argumentstelle strikt, wenn i ein Sequentialitätsindex von ϕ für<br />

(⊥, ⊥, . . . , ⊥) ∈ (TC,ς) n bezüglich ε ist.<br />

Beweis:<br />

ϕ ist an der i-ten Argumentstelle strikt.<br />

⇐⇒ ∀t ∈ TC,ς. (t i = ⊥ =⇒ ϕ(t) = ⊥)<br />

⇐⇒ ∀t ∈ TC,ς. (ϕ(t) = ⊥ =⇒ t i = ⊥)<br />

⇐⇒ ∀t ☎ (⊥, ⊥, . . .,⊥). (ϕ(t)/ε = ⊥ =⇒ t/i = ⊥)<br />

⇐⇒ i ist Sequentialitätsindex von ϕ für (⊥, ⊥, . . .,⊥) bezüglich ε.<br />

Hieraus folgt unmittelbar die Sequentialität aller Operationen in der cbv-Semantik, auch der durch<br />

Programme mit Pattern spezifizierten. Dies ist jedoch nicht überraschend, da wir erwähnten, daß<br />

für die cbv-Semantik Programme mit Pattern sehr wohl semantikerhaltend in Programme mit<br />

Hilfsfunktionen übersetzbar sind.<br />

Da Striktheit bekanntlich eine unentscheidbare Eigenschaft ist, weist der Zusammenhang zwischen<br />

Sequentialität und Striktheit schon darauf hin, daß es auch unentscheidbar ist, ob die durch ein<br />

Programm mit Pattern spezifizierten Operationen sequentiell sind.<br />

Wir hätten die größere Ausdrucksstärke der Programme mit Pattern durchaus mit Hilfe einer einfacheren<br />

Eigenschaft als der Sequentialität nachweisen können. Die in [Berry78] definierte sogenannte<br />

Stability-Eigenschaft von Abbildungen hätte denselben Zweck erfüllt. Alle durch Programme mit<br />

Hilfsfunktionen spezifizierbaren Operationen sind stable, wogegen durch Programme mit Pattern<br />

auch Operationen spezifizierbar sind, die nicht stable sind.<br />

Wir haben trotzdem die Sequentialität verwendet, da diese die intuitive Sequentialität der durch<br />

Programme mit Hilfsfunktionen spezifizierten Operationen vollständig verkörpert. Es existieren<br />

nämlich durch Programme mit Pattern spezifizierbare Operationen, die stable und dennoch nicht<br />

durch Programme mit Hilfsfunktionen spezifizierbar sind (vgl. 3.4 in [Ber&Cur82]). Hingegen sind<br />

wir überzeugt, daß alle sequentiellen Operationen, die durch Programme mit Pattern spezifizierbar<br />

sind, auch durch Programme mit Hilfsfunktionen spezifizierbar sind. Somit ist die Sequentialität genau<br />

das Scheidekriterium zwischen den durch beliebige Programme und den nur durch Programme<br />

mit Pattern spezifizierbaren Operationen.<br />

Wir wollen die Richtigkeit dieser Aussage zumindest plausibel machen. Sind alle durch ein Programm<br />

mit Pattern spezifizierten Operationen sequentiell, so ließe sich das Programm semantikerhaltend<br />

in ein Programm mit Hilfsfunktionen übersetzen, indem die Teste der Argumente mit<br />

condG nur an Sequentialitätsindexen erfolgen würden. Die Sequentialität besagt gerade, daß die Information<br />

an den Sequentialitätsindexen benötigt wird, um den Informationsgehalt des Ergebnisses<br />

steigern zu können. Freilich wäre diese Übersetzung nur dann effektiv durchführbar, wenn nicht nur<br />

die Gegebenheit der Sequentialität, sondern auch die Sequentialitätsindexe selbst bekannt wären.<br />

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!