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.

Beweis. Wir betrachten zwei Fälle. Falls R terminiert, so gibt es nach Lemma 4.2.3<br />

keinen Term t mit r i → + R t <strong>und</strong> t ☎ r i. Somit gibt der Algorithmus RIGHT-GROUND-<br />

TERMINIERUNG also nicht “False” aus. Außerdem hat dann kein Term r i unendlich lange<br />

Reduktionen. Da außerdem der Verzweigungsgrad der Ersetzungsrelation → R endlich ist,<br />

folgt aufgr<strong>und</strong> des Lemmas von König (Satz 4.1.3), dass die Suchbäume für alle r i endlich<br />

sind. Mit anderen Worten, nach endlich vielen Schritten sind alle T i = ∅ <strong>und</strong> der<br />

Algorithmus terminiert mit der Ausgabe “True”.<br />

Falls R nicht terminiert, so existiert nach Lemma 4.2.3 ein i ∈ {1,...,n} mit r i → + R t<br />

<strong>und</strong> t ☎ r i . Nach endlich vielen Schritten gilt also t ∈ T i <strong>und</strong> der Algorithmus terminiert<br />

mit der Ausgabe “False”.<br />

✷<br />

4.3 Terminierung mit Reduktionsrelationen<br />

Nachdem wir ein Entscheidungsverfahren für die Terminierung bei TESen ohne Variablen<br />

auf rechten Seiten kennen gelernt haben, wollen wir nun wieder den Fall allgemeiner TESe<br />

untersuchen. Aufgr<strong>und</strong> der Unentscheidbarkeit des Halteproblems (Satz 4.2.1) wird jedes<br />

automatische Verfahren unvollständig sein. Unser Ziel ist aber natürlich, ein Verfahren zu<br />

entwickeln, das zumindest bei vielen praktisch interessanten TESen (<strong>und</strong> Programmen) die<br />

Terminierung nachweisen kann.<br />

Eine Gr<strong>und</strong>idee, um die Terminierung eines TES R (bzw. die F<strong>und</strong>iertheit der Ersetzungsrelation<br />

→ R ) nachzuweisen, ist der Ansatz, eine f<strong>und</strong>ierte Relation ≻ zu finden, in der<br />

die Ersetzungsrelation enthalten ist. Mit anderen Worten, wir suchen nach einer Relation<br />

≻, so dass für alle Terme s,t aus s → R t jeweils s ≻ t folgt. Offensichtlich ist dies für die<br />

Terminierung hinreichend, d.h., aus der F<strong>und</strong>iertheit von ≻ folgt dann die F<strong>und</strong>iertheit von<br />

→ R .<br />

Das Ziel ist hierbei, eine solche Relation ≻ automatisch zu finden. Allerdings gibt es<br />

natürlich im allgemeinen unendlich viele Terme s <strong>und</strong> t, so dass s → R t gilt. Es ist daher<br />

automatisch nicht möglich, für all diese Terme zu untersuchen, ob dann auch wirklich s ≻ t<br />

folgt.<br />

Wirmüssendaherversuchen, dieseEigenschaft schondurchBetrachtungvonnurendlich<br />

vielen Termpaaren s,t sicherzustellen. Die Ersetzungsrelation → R ist ja durch die (endlich<br />

vielen) Regeln festgelegt, denn es gilt s → R t genau dann, wenn s| π = lσ <strong>und</strong> t = s[rσ] π<br />

für eine Regel l → r ∈ R. Wir verlangen daher<br />

l ≻ r für alle Regeln l → r ∈ R. (4.7)<br />

Diese Forderung alleine stellt natürlich noch nicht sicher, dass auch wirklich aus s → R t<br />

folgt, dass dann auch s ≻ t gilt.<br />

Als Beispiel betrachten wir das TES mit der Regel<br />

endless(x) → endless(succ(x)).<br />

Eine f<strong>und</strong>ierte Relation, die die Bedingung (4.7) erfüllt, lässt sich bei diesem TES leicht<br />

angeben. Die Bedingung endless(x) ≻ endless(succ(x)) wird z.B. von der Relation erfüllt,

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!