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.

4.3. DIE CBN-SEMANTIK 69<br />

Trivialerweise sind die outermost Redexe eines Terms voneinander unabhängig. Die (deterministische)<br />

po-Reduktionsstrategie ist eine parallele Reduktionsstrategie.<br />

Mit der po-Reduktionsstrategie bekommen wir zu Beispiel 4.8 nun den gewünschten Konstruktorterm<br />

als po-Normalform:<br />

and(undef,a) −−→<br />

P,po and(undef,False) −−→<br />

P,po False.<br />

Die einfache Verwendung der po-Normalform als Semantik eines Terms, wenn diese existiert und ein<br />

Konstruktorterm ist, und ⊥ andernfalls — analog zur li-Reduktionssemantik —, ist hier natürlich<br />

nicht mehr möglich, da wir als semantischen Wertebereich den Rechenbereich T∞ C,⊥ mit partiellen<br />

und unendlichen Konstruktortermen verwenden.<br />

Beispiel 4.9 Unendliche Liste<br />

Gemäß Beispiel 4.6 ist<br />

Wir berechnen<br />

liste1 → []:liste1<br />

[[liste1]] fix<br />

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

liste1 −−→<br />

P,po [] : liste1 −−→<br />

P,po [] : [] : liste1 −−→<br />

P,po [] : [] : [] : liste1 −−→<br />

P,po . . ..<br />

Natürlich können sich echt unendliche Konstruktorterme niemals als Ergebnis einer Berechnung<br />

ergeben. Auch für syntaktische Terme, denen ein echt partieller Konstruktorterm als Semantik<br />

zugeordnet ist, kann dieser oft nicht berechnet werden, da insbesondere die ergebnislose Nichttermination<br />

mit ⊥ gleichgesetzt wird. Aber derartige Berechnungsterme können beliebig genau<br />

approximiert werden.<br />

In obiger Reduktionsfolge von liste1 ist die Approximation der unendlichen Ergebnisliste gut<br />

sichtbar. Offensichtlich können Konstruktorsymbole, die sich oben bzw. außen in einem Term befinden,<br />

auch niemals durch Reduktion wieder verschwinden. Dieser obere Konstruktorteil“ eines<br />

”<br />

Terms ist somit mit Sicherheit eine Approximation des Endergebnisses. Wir bekommen diesen<br />

” oberen Konstruktorteil“ durch die algebraische Termsemantik des Terms bezüglich der kleinsten<br />

cbn-Interpretation ⊥cbn, in der alle Funktions- und Hilfsoperationen stets ⊥ als Ergebnis liefern.<br />

Definition 4.12 Semantische cbn-Approximation<br />

Die algebraische Semantik bezüglich der kleinsten cbn-Interpretation ⊥cbn,<br />

heißt semantische cbn-Approximation.<br />

[[G(t1, . . .,tn)]] alg<br />

⊥cbn<br />

[[f(t1, . . .,tn)]] alg<br />

⊥cbn<br />

[[·]] alg<br />

⊥cbn : TΣ→T ∞ C,⊥,<br />

alg alg<br />

= G([[t1]] , . . .,[[tn]] ⊥cbn ⊥cbn )<br />

= ⊥<br />

für alle G (n) ∈ C, f (n) ∈ F( ˙∪ H) (gemäß der Definitionen der algebraischen Termsemantik und der<br />

cbn-Interpretation). ✷<br />

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!