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.
Das TES terminiert nicht, da es z.B. die folgende unendliche Reduktion gibt:<br />
and(false,false) → R and(true,not(true))<br />
→ R and(true,and(false,false))<br />
→ R and(true,and(true,not(true)))<br />
→ R ...<br />
Zur Entwicklung eines Verfahrens für die Terminierungsüberprüfung solcher Systeme ist<br />
das folgende Lemma hilfreich. Hierbei ist wichtig, dass wir nur endliche TESe R betrachten.<br />
Lemma 4.2.3 (Terminierung von TESen ohne Variablen auf rechten Seiten)<br />
Sei R ein TES, wobei V(r) = ∅ für alle l → r ∈ R gilt. Dann terminiert das TES R gdw.<br />
es keine Regel l → r in R gibt, so dass r → + R<br />
t für einen Term t gilt, der r als Teilterm<br />
enthält.<br />
Beweis. Die Richtung “⇒” ist offensichtlich, denn falls t| π = r ist, so erhält man die<br />
unendliche Reduktion r → + R t = t[r] π → + R t[t] π = t[t[r] π ] π → + R ...<br />
Wir zeigen die Richtung “⇐” durch Induktion über die Anzahl der Regeln in R. Hierzu<br />
setzen wir voraus, dass es keine Regel l → r in R gibt, so dass r → + R<br />
t für einen Term t<br />
gilt, der r als Teilterm enthält. Falls R leer ist, so ist die zu zeigende Aussage trivial, denn<br />
R terminiert.<br />
Sei nun R ≠ ∅. Wir nehmen an, R terminiere nicht. Dann existiert ein minimaler Term<br />
t mit unendlicher Reduktion t = t 0 → R t 1 → R .... Das bedeutet also, dass die Reduktion<br />
von t nicht terminiert, aber alle seine echten Teilterme haben nur endliche Reduktionen.<br />
(Denn hätte ein echter Teilterm ebenfalls unendliche Reduktionen, so würden wir diesen<br />
Teilterm anstelle von t nehmen, etc.) Aufgr<strong>und</strong> der Minimalität folgt, dass in der unendlichen<br />
Reduktion irgendwann einmal ein Auswertungsschritt an der obersten Position ǫ<br />
stattfindet. Es gibt also ein i ∈ IN mit t i = lσ <strong>und</strong> t i+1 = rσ für eine Regel l → r ∈ R. Da<br />
r keine Variablen besitzt, folgt also t i+1 = r, d.h., es existiert eine unendliche Reduktion<br />
r → R t i+2 → R ..., die mit r beginnt. Wir betrachten nun zwei Fälle:<br />
(1) Die Regel l → r wird in der unendlichen Reduktion r → R t i+2 → R ... nicht verwendet.<br />
In diesem Fall terminiert bereits das TES R \ {l → r} nicht. Dies ist aber ein<br />
Widerspruch zur Induktionshypothese.<br />
(2) Ansonsten wird die Regel l → r in der unendlichen Reduktion von r verwendet, d.h.,<br />
es existiert ein j ≥ i+1 mit r → ∗ R t j = t j [lσ ′ ] π → R t j [r] π = t j+1 . Dies widerspricht<br />
der Voraussetzung.<br />
✷<br />
Beispielsweise hat das nicht-terminierende System aus Bsp. 4.2.2 die rechte Seite<br />
and(false,false), die zu dem Term and(true,and(false,false)) reduziert werden kann, der diese<br />
rechte Seite als Teilterm enthält.<br />
Nun können wir ein Verfahren angeben, dasdie Terminierung bei TESen ohne Variablen<br />
aufrechtenSeitenentscheiden kann:FüreinTESR = {l 1 → r 1 ,...,l n → r n }mitV(r i ) = ∅<br />
für 1 ≤ i ≤ n generiert man erst alle Reduktionen der Länge 1, die mit r 1 ,...,r n beginnen,