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.
2.5. TERMERSETZUNGSSYSTEME 23<br />
Grundtermen. Wir verwenden Terme mit Variablen nur in den Termersetzungsregeln. Die allgemeine<br />
Definition der Reduktion auch für Terme mit Variablen würde einige der weiteren Definitionen<br />
unnötig komplizieren.<br />
Sei ̺ eine Menge von Reduktionen, den ̺-Reduktionen. Wir schreiben eine ̺-Reduktion A =<br />
u<br />
t −−→ t<br />
l→r ′ u<br />
auch als A = t −−→<br />
l→r,̺ t′ u<br />
oder A = t −−→ t<br />
R,̺<br />
′ . Die ̺-Reduktionsrelation −−→ ⊆ TΣ ×TΣ<br />
R,̺<br />
ist definiert durch<br />
t −−→<br />
R,̺<br />
t ′<br />
Man beachte, daß −−→<br />
R,̺<br />
:⇐⇒ ∃u ∈ RedOccR(t). ∃(l→r) ∈ R. t<br />
eine Relation ist, und t −−→<br />
R,̺<br />
u<br />
−−→<br />
l→r,̺ t′ ist eine ̺-Reduktion.<br />
t ′ somit sowohl eine Aussage als auch ei-<br />
ne Reduktion (ein Tupel) sein kann. In der Literatur wird diese Unterscheidung meistens völlig<br />
unterlassen.<br />
Eine deterministische ̺-Reduktionsrelation −−→ , d. h. bei der für jedes t ∈ TΣ höchstens ein<br />
R,̺<br />
t ′ ∈ TΣ mit t −−→<br />
R,̺<br />
t ′ existiert, heißt sequentielle ̺-Reduktionsstrategie.<br />
Genau dann, wenn t1 −−→ t2, t2 −−→ t3, . . . elementare ̺-Reduktionen sind, heißt A =<br />
t1 −−→<br />
R,̺<br />
t2 −−→<br />
R,̺<br />
R,̺<br />
R,̺<br />
t3 −−→ . . . ̺-Reduktionsfolge. Reduktionsfolgen können hier sowohl endlich als<br />
auch unendlich sein, während in der Literatur oft nur endliche Reduktionsfolgen betrachtet werden<br />
([Huet&Lévy79], [Ber&Lévy77]).<br />
u1 u2 un<br />
Ist A = (t = t1 −−−−→ t2 −−−−→ . . . −−−−→ tn+1 = t<br />
l1→r1 l2→r2 ln→rn<br />
′ ) eine Reduktionsfolge und U :=<br />
{u1, . . .,un} ⊆ RedOccR(t) eine Menge voneinander unabhängiger Redexstellen des Terms t, so<br />
heißt A ′ := 〈t, {〈ui, li→ri〉 | i ∈ [n]}〉 (elementare), (parallele) Reduktion und wir schreiben<br />
A ′ U<br />
= t −−→ t ′ . Aus obigem folgt t/ui = liσi für Substitutionen σi, und daß<br />
R<br />
t ′ = t[ui ← riσi | i ∈ [n]] = t[u1 ← r1σ1] . . .[un ← rnσn]<br />
Aufgrund der gegenseitigen Unabhängigkeit der Redexstellen ist die Reihenfolge der ui bzw. der<br />
elementaren, einfachen Reduktionen irrelevant. Man beachte, daß auch U = ∅ und somit t = t ′ sein<br />
kann.<br />
Die parallele ̺-Reduktion A ′ = t<br />
U<br />
−−→ t<br />
R,̺<br />
′ , die parallele ̺-Reduktionsrelation −−→ , die<br />
R,̺<br />
parallele ̺-Reduktionsstrategie und die parallelen ̺-Reduktionsfolgen ergeben sich analog<br />
zu oben.<br />
In allen obigen Bezeichnungen entfällt ̺, wenn ̺ die Menge aller einfachen Reduktionen bzw. aller<br />
parallelen Reduktionen ist.<br />
Sei T eine Menge und −−→ ̺<br />
und transitive Hülle von −−→<br />
∗<br />
⊆ T × T eine beliebige zweistellige Relation über T. Die reflexive<br />
̺<br />
wird mit<br />
∗<br />
−−→<br />
̺<br />
bezeichnet, die reflexive, transitive und<br />
symmetrische Hülle mit ←→ . ̺<br />
Ein Element t ∈ T heißt genau dann ̺-Normalform, wenn kein t ′ ∈ T mit t −−→ t ̺<br />
′ existiert.<br />
t ′ ∗<br />
∈ T heißt genau dann ̺-Normalform von t ∈ T, wenn t −−→ t ̺<br />
′ und t ′ eine ̺-Normalform ist.<br />
Ist die Normalform eindeutig, so schreiben wir t↓ ̺ := t ′ .<br />
−−→<br />
̺<br />
heißt genau dann stark konfluent, wenn für alle t, t ′ , t ′′ ∈ T mit t −−→<br />
̺<br />
ˆt ∈ T existiert, so daß t ′ −−→<br />
̺<br />
−−→<br />
̺<br />
ˆt und t ′′ −−→<br />
̺<br />
ˆt gilt.<br />
heißt genau dann konfluent, wenn für alle t, t ′ , t ′′ ∈ T mit t<br />
existiert, so daß t ′<br />
∗<br />
−−→<br />
̺<br />
ˆt und t ′′<br />
∗<br />
−−→ ˆt gilt.<br />
̺<br />
t ′ und t −−→<br />
̺<br />
t ′′ ein<br />
∗<br />
−−→ t ̺<br />
′ ∗<br />
und t −−→ t ̺<br />
′′ ein ˆt ∈ T