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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

ei der s ≻ t genau dann gilt, wenn s = endless(x) <strong>und</strong> t = endless(succ(x)) ist. Dennoch<br />

terminiert der Algorithmus endless natürlich nicht.<br />

Der Gr<strong>und</strong> für dieses Problem ist, dass bei der Auswertung ja eine Instanz lσ der linken<br />

Seite l durch die entsprechende Instanz rσ der rechten Seite ersetzt wird. Man muss daher<br />

zusätzlich sicherstellen, dass aus l ≻ r jeweils auch lσ ≻ rσ folgt. Die Relation ≻ muss also<br />

stabil, d.h., abgeschlossen unter Substitutionen, sein.<br />

Wenn man auch die Stabilität von ≻ fordert, dann lässt sich die Terminierung des<br />

endless-TES nicht mehr fälschlicherweise “beweisen”. Mit anderen Worten, es gibt keine<br />

f<strong>und</strong>ierte <strong>und</strong> stabile Relation ≻, die endless(x) ≻ endless(succ(x)) erfüllt. Der Gr<strong>und</strong><br />

ist, dass für jede stabile Relation mit endless(x) ≻ endless(succ(x)) auch endless(x) ≻<br />

endless(succ(x)) ≻ endless(succ(succ(x))) ≻ ... gelten würde, was der F<strong>und</strong>iertheit widerspricht.<br />

Ein Beispiel für eine f<strong>und</strong>ierte Relation, die auch stabil ist, ist die echte Teiltermrelation<br />

✄. Hier gilt s ✄ t gdw. t ein echter Teilterm von s ist. Dann folgt aber auch sσ ✄ tσ für<br />

alle Substitutionen σ, da dann jeweils tσ auch ein echter Teilterm von sσ ist. Die f<strong>und</strong>ierte<br />

Relation → || , die Terme nach der Anzahl der darin vorkommenden Symbole vergleicht, ist<br />

hingegen nicht stabil. Es gilt beispielsweise succ(x) → || y, aber succ(x)σ ↛ || yσ für die<br />

Substitution σ = {y/succ(succ(x))}.<br />

Wir benötigen allerdings noch eine weitere Forderung neben der Stabilität, um sicherzustellen,<br />

dass aus (4.7) tatsächlich s ≻ t für alle Terme mit s → R t folgt. Als Beispiel<br />

betrachten wir das TES mit der folgenden Regel.<br />

infty(x) → succ(infty(x))<br />

Es existiert eine f<strong>und</strong>ierte <strong>und</strong> stabile Relation ≻, die die Bedingung (4.7) für dieses TES<br />

erfüllt, d.h., infty(x) ≻ succ(infty(x)). Ein Beispiel ist die Relation ≻, die zwei Terme nur<br />

nach ihrem äußersten Funktionssymbol vergleicht. Wir definieren also s ≻ t gdw. s =<br />

infty(...) <strong>und</strong> t = succ(...). Die F<strong>und</strong>iertheit <strong>und</strong> Stabilität der Relation ist offensichtlich.<br />

Dennoch terminiert der Algorithmus infty nicht.<br />

Der Gr<strong>und</strong> ist, dass bei der Ersetzungsrelation die Ersetzung von instantiierten linken<br />

Seiten durch instantiierte rechte Seiten ja für beliebige Teilterme möglich ist. Die Stabilität<br />

von ≻ garantiert lσ ≻ rσ für alle Substitutionen σ; wir benötigen aber darüber hinaus noch<br />

q[lσ] π ≻ q[rσ] π für alle Stellen π in allen Termen q. Eine Ungleichung wie lσ ≻ rσ muss<br />

also auch dann noch gelten, wenn lσ <strong>und</strong> rσ in einem beliebigen Kontext auftreten. Die<br />

Relation ≻ muss also auch noch monoton, d.h., abgeschlossen unter Kontexten, sein.<br />

WennwirdieMonotoniefordern,kanndieTerminierungdesinfty-TESnichtmehrfälschlicherweise<br />

nachgewiesen werden. Es existiert also keine monotone <strong>und</strong> f<strong>und</strong>ierte Relation<br />

≻, die infty(x) ≻ succ(infty(x)) erfüllt. Aus der Monotonie folgt nämlich infty(x) ≻<br />

succ(infty(x)) ≻ succ(succ(infty(x))) ≻ ..., was der F<strong>und</strong>iertheit widerspricht.<br />

Die echte Teiltermrelation ist zwar stabil, aber nicht monoton. Der Gr<strong>und</strong> ist, dass zwar<br />

x ein echter Teilterm von succ(x) ist, d.h., succ(x) ✄ x, aber es gilt nicht infty(succ(x)) ✄<br />

infty(x), denn infty(x) ist kein Teilterm von infty(succ(x)). Die Relation → || ist hingegen<br />

zwar nicht stabil, aber dafür monoton. Wenn nämlich t weniger Symbole als s enthält (d.h.<br />

s → || t), so enthält auch q[t] π weniger Symbole als q[s] π .<br />

Ein Beispiel für eine Relation, die sowohl f<strong>und</strong>iert <strong>und</strong> stabil als auch monoton ist, ist<br />

die folgende sogenannte Einbettungsordnung.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!