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.
7.3. SEQUENTIALITÄT 163<br />
Lemma 7.8 Erhalt der Sequentialität bei der ς-Transformation für Programme<br />
mit Hilfsfunktionen<br />
Sei P ein Programm mit Hilfsfunktionen undeine sequentielle ς-Interpretation.<br />
Dann ist auch ΦP,ς() eine sequentielle ς-Interpretation.<br />
Beweis:<br />
Sei′ := ΦP,ς().<br />
Konstruktoroperationen: Die Konstruktoroperationen G′<br />
sind nach Lemma 7.4 für alle G ∈ C<br />
sequentiell.<br />
Hilfsoperationen:<br />
Verzweigungsoperationen: Seien ϕG die Verzweigungsoperationen nach der Transformation<br />
bei Vernachlässigung der erzwungenen Striktheit (vgl. Lemma 5.1, S. 78):<br />
⎧<br />
⎪⎨<br />
ϕG(t1, t2, t3) :=<br />
⎪⎩<br />
für alle G ∈ C und t 1, t 2, t 3 ∈ TC,ς.<br />
⊥ , falls t1 = ⊥<br />
t2 , falls eine Variablenbelegung β : {x1, . . .,xn}→TC,ς<br />
mit [[G(x1, . . .,xn)]] alg<br />
⊥ς,β = t t3 ,<br />
1 = ⊥ existiert<br />
andernfalls<br />
Sei t ∈ (TC,ς) 3 mit Occ(⊥,t) = ∅ und u ′ ∈ Occ(⊥, ϕG(t)).<br />
t = (⊥, t 2, t 3): Da ϕG(t) = ⊥, muß u ′ = ε sein. u := 1.ε ist ein Sequentialitätsindex von<br />
ϕ für t bezüglich u ′ .<br />
t = (G(t ′ 1 , . . .,t′ n), t2, t3): Also ist ϕG(t) = t2. Somit ist u := 2.u ′ ein Sequentialitätsindex<br />
von ϕ für t bezüglich u ′ .<br />
t = (H(t ′ 1 , . . .,t′ m), t2, t3): (G = H (m) ∈ C).<br />
Also ist ϕG(t) = t3. Somit ist u := 3.u ′ ein Sequentialitätsindex von ϕ fürt bezüglich<br />
u ′ .<br />
ϕG ist also sequentiell. Aus<br />
<br />
cond′<br />
G (t) =<br />
⊥ , falls ein i ∈ [3] mit t i = ⊥ und ϕ(condG)(i) = tt existiert<br />
ϕG(t) , anderfalls<br />
für alle t ∈ (TC,ς) 3 folgt zusammen mit dem Erhalt der Sequentialität bei erzwungener<br />
Striktheit gemäß Lemma 7.3, daß die Verzweigungsoperationen cond′<br />
G sequentiell sind.<br />
Selektionsoperationen: Es gilt (vgl. Lemma 5.1, S. 78):<br />
⎧<br />
⎪⎨<br />
sel′<br />
G,i(t) :=<br />
⎪⎩<br />
für alle selG,i ∈ H und t ∈ TC,ς.<br />
β(xi) , falls eine Variablenbelegung β : {x1, . . .,xn}→TC,ς<br />
mit [[G(x1, . . .,xn)]] alg<br />
⊥ς,β = t 1 = ⊥ existiert<br />
⊥ , andernfalls<br />
Sei (t) ∈ (TC,ς) 1 mit Occ(⊥, (t)) = ∅ und u ′ ∈ Occ(⊥, sel′<br />
G,i(t)).<br />
t = G(t ′ 1 , . . .,t′ n): Es ist sel′<br />
G,i(t) = t ′ i . u := i.u′ ist ein Sequentialitätsindex bezüglich u ′ .