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.
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 />
✷