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.

≻ widerspricht.<br />

✷<br />

Wenn wir zwei Terme f(s 1 ,...,s n ) <strong>und</strong> f(t 1 ,...,t n ) mit dem gleichen Funktionssymbol<br />

vergleichen, wurde in der Einbettungsordnung s i ≻ t i für ein i <strong>und</strong> s j ≽ t j für alle j ≠ i<br />

gefordert. In der lexikographischen Pfadordnung wurden stattdessen die Argumenttupel<br />

(s 1 ,...,s n ) <strong>und</strong> (t 1 ,...,t n ) lexikographisch verglichen. Wir definieren nun die rekursive<br />

Pfadordnung (oder “Multimengenpfadordnung”), in der wir stattdessen die Multimenge<br />

der Argumente {s 1 ,...,s n } mit der Multimenge {t 1 ,...,t n } vergleichen.<br />

Definition 4.4.16 (Rekursive Pfadordnung [Der82]) Für eine Signatur Σ <strong>und</strong> eine<br />

f<strong>und</strong>ierte Ordnung (“Präzedenz”) ❂ über Σ ist die rekursive Pfadordnung (RPO) ≻ rpo<br />

über T (Σ,V) definiert als s ≻ rpo t gdw.<br />

• s = f(s 1 ,...,s n ) <strong>und</strong> s i ≽ rpo t für ein i ∈ {1,...,n} oder<br />

• s = f(s 1 ,...,s n ), t = g(t 1 ,...,t m ), f ❂ g <strong>und</strong> f(s 1 ,...,s n ) ≻ rpo t j für alle j ∈<br />

{1,...,m} oder<br />

• s = f(s 1 ,...,s n ), t = f(t 1 ,...,t n ) <strong>und</strong> {s 1 ,...,s n }(≻ rpo ) mul {t 1 ,...,t n }.<br />

Hierbei bezeichnet ≽ rpo die reflexive Hülle von ≻ rpo , d.h., die Relation mit s ≽ rpo t gdw.<br />

s ≻ rpo t oder s = t.<br />

Beispiel 4.4.17 Betrachten wir wieder das TES aus Bsp. 4.4.10.<br />

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

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

Mit der rekursiven Pfadordnung lässt sich nun zeigen, dass linke Seiten jeweils größer als die<br />

dazugehörigen rechten Seiten sind. Für die erste Regel ist dies trivial. Für die zweite Regel<br />

benötigt man die Präzedenz plus ❂ succ <strong>und</strong> muss dann zeigen, dass plus(succ(x),y) ≻ rpo<br />

plus(y,x) ist. Dies bedeutet, dass {succ(x),y}(≻ rpo ) mul {y,x} bewiesen werden muss. Hier<br />

wurde die Teilmenge X = {succ(x)} der ersten Multimenge durch die Teilmenge Y = {x}<br />

in der zweiten Multimenge ersetzt. Nach der Definition der Multimengenordnung muss<br />

man also nachweisen, dass es für jedes Element aus Y ein dazu größeres in X gibt. Da<br />

offensichtlich succ(x) ≻ rpo x gilt, ist damit plus(succ(x),y) ≻ rpo plus(y,x) bewiesen.<br />

Die rekursive Pfadordnung lässt sich ebenfalls zu Terminierungsbeweisen verwenden,<br />

denn da die verwendete Präzedenz ❂ eine f<strong>und</strong>ierte Ordnung ist, handelt es sich wieder um<br />

eine Simplifikations- <strong>und</strong> damit eine Reduktionsordnung. Der Beweis davon ist ähnlich zum<br />

Beweis von Satz 4.4.9.<br />

Satz 4.4.18 (Eigenschaften der rekursiven Pfadordnung) Die rekursive Pfadordnung<br />

≻ rpo ist eine Simplifikations- <strong>und</strong> somit eine Reduktionsordnung.<br />

Bsp. 4.4.17 zeigt, dass es TESe gibt, bei denen der Terminierungsbeweis mit der rekursiven<br />

Pfadordnung geführt werden kann, wohingegen der Beweis mit der lexikographischen<br />

Pfadordnung scheitert. Umgekehrt gibt es aber auch viele Beispiele, wo man die lexikographische<br />

Pfadordnung benötigt <strong>und</strong> die rekursive Pfadordnung nicht erfolgreich ist.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!