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.

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,

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!