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 ...
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.