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.

68 KAPITEL 4. DIE STANDARDSEMANTIKEN<br />

4.3.2 Die Reduktionssemantik<br />

Der cbn-Auswertungsmechanismus wird üblicherweise mit der leftmost-outermost Reduktionsstrategie<br />

gleichgesetzt. Wir definieren diese nun formal, wobei wir aus dem in Bemerkung 4.1, S. 53,<br />

genannten Grund nur (leftmost-)outermost Redexstellen und keine (leftmost-)outermost Redexe<br />

definieren.<br />

Definition 4.10 Leftmost-outermost (lo-) Reduktion<br />

Sei t ∈ TΣ.<br />

• Die Stelle u ∈ RedOccP(t) heißt genau dann outermost Redexstelle des Terms t, wenn<br />

keine Redexstelle v ∈ RedOccP(t) mit v < u existiert.<br />

• Die bezüglich der lexikographischen Ordnung kleinste outermost Redexstelle von t heißt<br />

leftmost-outermost Redexstelle des Terms t.<br />

u<br />

• Eine Reduktion A = t −−→ t<br />

l→r ′ heißt genau dann leftmost-outermost Reduktion, wenn u<br />

die lo-Redexstelle von t ist. Hierdurch ist auch die leftmost-outermost Reduktionsstrategie<br />

−−→<br />

Èlo definiert.<br />

Da ein Term nur höchstens eine lo-Redexstelle besitzt, ist die lo-Reduktionsrelation −−→<br />

P,lo wirklich<br />

eine sequentielle Reduktionsstrategie.<br />

Wir haben in Beispiel 4.1, S. 50, die lo-Reduktionsstrategie erfolgreich für die cbn-Auswertung<br />

eingesetzt. Dennoch ist die lo-Reduktionsstrategie im allgemeinen leider unvollständig; sie stimmt<br />

nicht mit der cbn-Fixpunktsemantik überein.<br />

Beispiel 4.8 Unvollständigkeit der lo-Reduktionsstrategie<br />

aber:<br />

and(x,False) → False<br />

a → False<br />

undef → undef<br />

[[and(undef,a)]] fix<br />

P,cbn = and Dfix P,cbn(⊥,False) = False,<br />

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

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

P,lo . . . .<br />

Das 2. Argument a wird niemals zu False reduziert, so daß die Programmregel für and niemals<br />

angewendet werden kann. ✷<br />

Daher verwenden wir für die cbn-Reduktionssemantik die parallel-outermost Reduktion.<br />

Definition 4.11 Parallel-outermost (po-) Reduktion<br />

U<br />

Eine Reduktion A = t −−→ t<br />

P<br />

′ ÈÔÓ<br />

heißt genau dann parallel-outermost Reduktion, wenn U die<br />

Menge aller outermost Redexe des Terms t ist. Hierdurch ist auch die parallel-outermost Reduktionsstrategie<br />

−−→ definiert. ✷<br />

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!