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.
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 />
✷