Download (1405Kb)
Download (1405Kb)
Download (1405Kb)
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 />
✷