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.

abgearbeitet werden können. Die Terminierung dieses rekursiven Programms folgt daraus,<br />

dass die rekursiven Argumente (s i <strong>und</strong> t bei der ersten Bedingung <strong>und</strong> s i <strong>und</strong> t i bzw. s j <strong>und</strong><br />

t j bei der zweiten Bedingung) immer kleinere Terme werden. Die Einbettungsordnung lässt<br />

sich daher als zugr<strong>und</strong>e liegende Reduktionsrelation in einem Terminierungsverfahren wie<br />

oben skizziert verwenden. Dieses Beweisverfahren ist bereits in der Lage, die Terminierung<br />

einfacher Programme nachzuweisen.<br />

Beispiel 4.3.5 Betrachten wir ein TES zur Subtraktion zweier natürlicher Zahlen.<br />

minus(x,O) → x<br />

minus(O,succ(y)) → O<br />

minus(succ(x),succ(y)) → minus(x,y)<br />

Wenn wir die Einbettungsordnung ≻ emb als zugr<strong>und</strong>e liegende Reduktionsrelation verwenden,<br />

so müssen wir nun nachweisen, dass bei jeder Regel die linke Seite größer als die rechte<br />

ist, d.h.<br />

minus(x,O) ≻ emb x<br />

minus(O,succ(y)) ≻ emb O<br />

minus(succ(x),succ(y)) ≻ emb minus(x,y)<br />

Dies lässt sich sofort (automatisch) zeigen, so dass die Terminierung des TES bewiesen ist.<br />

Allerdings ist unser Terminierungsverfahren noch recht schwach. Die Terminierung des<br />

plus-TES lässt sich beispielsweise mit der Einbettungsordnung nicht zeigen. Wie üblich ist<br />

plus durch die folgenden Regeln definiert.<br />

plus(O,y) → y<br />

plus(succ(x),y) → succ(plus(x,y))<br />

Man müsste also die folgenden Ungleichungen beweisen:<br />

plus(O,y) ≻ emb y<br />

plus(succ(x),y) ≻ emb succ(plus(x,y))<br />

Es gilt aber plus(succ(x),y) ⊁ emb succ(plus(x,y)), denn succ(plus(x,y)) ist weder in succ(x)<br />

noch in y eingebettet <strong>und</strong> die beiden Terme haben auch nicht das gleiche äußere Funktionssymbol.<br />

Das Beispiel plus zeigt, dass die Verwendung der Einbettungsordnung eine zu große<br />

Einschränkung ist, um ein praktisch einsetzbares Terminierungsverfahren zu erhalten. Im<br />

nächsten Abschnitt werden wir daher weitere Reduktionsrelationen einführen, die ebenfalls<br />

entscheidbar sind <strong>und</strong> mit denen das Terminierungsverfahren wesentlich leistungsfähiger<br />

wird.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!