Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Wir treffen nun eine Fallunterscheidung danach, wie weit die beiden Redexe l 1 σ 1 <strong>und</strong><br />
l 2 σ 2 voneinander entfernt sind. Wir wissen ja, dass l 1 σ 1 | π = l 2 σ 2 ist. Die Frage ist nun, wie<br />
tief die Stelle π in l 1 σ 1 liegt, d.h., ob π eine Stelle von l 1 ist, an der keine Variable steht,<br />
oder ob π im “Substitutionsteil” liegt.<br />
Fall 2.1: l 2 σ 2 liegt im Substitutionsteil, d.h., π ∉ Occ(l 1 ) oder l 1 | π ∈ V<br />
Hier wird also der Teilterm p| π zwar von l 2 gematcht, aber l 1 “versteckt” diesen Teil des<br />
Terms in einer Variable <strong>und</strong> “trägt” ihn bei der Ersetzung von l 1 σ 1 durch r 1 σ 1 “weiter”.<br />
Die Regel l 2 → r 2 kann daher nach dieser Ersetzung immer noch angewendet werden.<br />
Genauer folgt in diesem Fall also, dass l 1 an einer Stelle π ′ eine Variable x hat <strong>und</strong> π<br />
unterhalb von π ′ liegt (π = π ′ ist ebenfalls möglich). Es gilt also π = π ′ π ′′ mit π ′ ∈ Occ(l 1 )<br />
<strong>und</strong> l 1 | π ′ ∈ V (hierbei ist π ′′ = ǫ möglich). Diese Situation lässt sich durch folgendes Bild<br />
veranschaulichen:<br />
✔<br />
✔<br />
✔<br />
✔<br />
✔<br />
✔<br />
✔<br />
✔<br />
✔<br />
✔<br />
✔<br />
✔❚<br />
❚<br />
l 1 ❚<br />
σ 1<br />
✔▲▲<br />
✔<br />
l ✔✔<br />
▲ 2 σ 2<br />
▲<br />
❚<br />
❚<br />
❚<br />
❚<br />
❚<br />
❚<br />
❚<br />
❚<br />
❚<br />
π ′<br />
π ′′<br />
Der Redex l 2 σ 2 ist demnach durch die Anwendung der Substitution σ 1 auf x entstanden,<br />
denn xσ 1 | π ′′ = l 2 σ 2 . Der Term l 1 σ 1 enthält also den Redex l 2 σ 2 unterhalb aller Stellen, an<br />
denen in l 1 die Variable x auftrat. Die Regel l 2 → r 2 ist daher so oft anwendbar, wie x in l 1<br />
vorkam. Wenn x n-mal in l 1 auftrat, so entsteht bei (einmaliger) Anwendung von l 2 → r 2<br />
auf unseren ursprünglichen Term p| π1 = l 1 σ 1 ein Term t| π1 , auf den die Regel l 2 → r 2<br />
noch (n−1)-mal angewendet werden muss. Hierdurch ergibt sich schließlich ein Term l 1 σ ′ ,<br />
auf den die andere Regel l 1 → r 1 angewendet werden kann. Falls r 1 die Variable x m-mal<br />
enthielt, so muss die Regel l 2 → r 2 nun auch m-mal auf den Term s| π1 = r 1 σ 1 angewendet<br />
werden, der durch Anwendung von l 1 → r 1 aus p| π1 = l 1 σ 1 entstand. Auf diese Weise lassen<br />
sich s| π1 <strong>und</strong> t| π1 zu r 1 σ ′ zusammenführen.<br />
Auch indiesem Fallsind die entstehenden Terme also stets zusammenführbar, aber hierzu<br />
können mehrere Reduktionsschritte notwendig sein, da l 1 <strong>und</strong> r 1 mehrfache Vorkommen<br />
der Variablen x enthalten können. Insgesamt erhält man folgende Situation (hier ist ein<br />
Beispiel dargestellt, in dem x dreimal in l 1 <strong>und</strong> zweimal in r 1 auftritt):