08.10.2013 Aufrufe

Download (1405Kb)

Download (1405Kb)

Download (1405Kb)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6.2. DEKLARATIVE EIGENSCHAFTEN DER ς-SEMANTIKEN 143<br />

=⇒ Für alle f (n) (p)→r ∈ ˆ P, alle t ∈ (TC,ς) n und alle β : Var(p)→TC,ς \{⊥}, so daß t mit f(p)<br />

vermittels β semantisch ς-gematcht wird, gilt<br />

f(t) = [[r]] alg<br />

,β .<br />

⇐⇒ (Lemma 6.8 über die Charakterisierung des semantischen ς-Matchens)<br />

Für alle f (n) (p)→r ∈ ˆ P, allet ∈ (TC,ς) n und alle β : Var(p)→TC,ς \{⊥}, so daß für alle i ∈ [n]<br />

[[pi]] alg<br />

⊥cbn = t i, gilt<br />

f(t) = [[r]] alg<br />

,β .<br />

⇐⇒ Für alle f (n) (p)→r ∈ ˆ P und alle β : Var(p)→TC,ς \ {⊥} gilt<br />

⇐⇒ (Weil [[pi]] alg<br />

⊥ς<br />

= [[pi]] alg<br />

,β wegen<br />

belegungen ohne ⊥ [[pi]] alg<br />

⊥ς<br />

f([[p1]] alg alg<br />

, . . .,[[pn]] ) = [[r]]alg<br />

⊥ς ⊥ς ,β .<br />

pi ∈ TC(X), und weil nach Lemma 5.5, S. 80, über Variablen-<br />

= ⊥)<br />

Für alle f (n) (p)→r ∈ ˆ P und alle β : Var(p)→TC,ς \ {⊥} gilt<br />

[[f(p)]] alg<br />

= [[r]] ,β alg<br />

,β .<br />

⇐⇒ist ein ς-Interpretationsmodell ∗ des Programms P.<br />

Die Umkehrung, IntMod ∗ P,ς ⊆ ς-Fixpunkte, gilt ebenso wie bei den ” normalen“ ς-<br />

Interpretationsmodellen nicht (siehe Beispiel 6.4).<br />

Wenn wir jetzt untersuchen, ob analog zum cbn-Datentyp jeder ς-Datentyp DP,ς das kleinste ς-<br />

Interpretationsmodell ∗ IntMod ∗ P,ς ist, so stellen wir fest, daß dies nicht der Fall ist.<br />

Beispiel 6.5 DÈ<br />

=<br />

MinAlg ΣÚ(IntMod£È)<br />

f(x) → A<br />

f sei nicht erzwungen strikt an seiner einzigen Argumentstelle, d. h. ς(f) = (ff).<br />

Dann ist f DP,ς(⊥) = f DP,ς(A) = A. Jedoch ist auch∈IntΣ,ς mit f(⊥) = ⊥ und f(A) = A ein<br />

ς-Interpretationsmodell ∗ des Programms, und es ist DP,ς. ✷<br />

Die Ursache des Fehlens dieser Eigenschaft sind die Operationen des ς-Datentyps, welche nicht-strikt<br />

sind. Daher tritt dieses Problem auch in der cbv-Semantik bei Programmen mit Hilfsfunktionen<br />

auf:<br />

Beispiel 6.6 DÈcbv = MinAlg ΣÚ(IntMod£Ècbv )<br />

Sei P ein Programm mit Hilfsfunktionen mit A ∈ C0. Dann ist nach Lemma 5.1, S. 78, über die<br />

Hilfssymboloperationen<br />

cond DP,cbv<br />

A (A,A, ⊥) = A.<br />

Wir definieren nun∈IntΣ,cbv durch<br />

condA (A,A, ⊥) := ⊥<br />

f(t) := f DP,cbv(t) für alle sonstigen t ∈ (T ⊥ C )n , f (n) ∈ F( ˙∪ H)<br />

Da DP,cbv ein cbv-Interpretationsmodell ∗ ist, ist auchein solches. DP,cbv ist nicht das kleinste<br />

cbv-Interpretationsmodell ∗ , weil DP,cbv. ✷<br />

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!