20.01.2015 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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):

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!