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.

• f(a) → R f(b) ← R f(f(b)) ← R f(f(a))<br />

Nach Satz 3.3.4 ist R also äquivalent zu E. Hingegen wäre z.B. das TES {c → a,f(f(b)) →<br />

f(b)} zwar korrekt, aber nicht adäquat <strong>und</strong> somit auch nicht äquivalent zu E.<br />

Bislang istnochunklar, warummannicht direkt einegerichtete VersionderGleichheiten<br />

E als äquivalentes TES R verwendet. Der Gr<strong>und</strong> liegt daran, dass allein durch Richten<br />

von Gleichungen der Beweisaufwand immer noch viel zu groß ist. Man muss momentan<br />

Gleichungen ja immer noch in beide Richtungen anwenden, um die Äquivalenz zu ≡ E zu<br />

erreichen. Außerdem gibt es viele verschiedene Möglichkeiten, Terme mit einem TES zu<br />

reduzieren, so dass immer noch viel zu viele Indeterminismen bleiben.<br />

Die Idee ist stattdessen, zur Überprüfung von s ≡ E t bzw. von s ↔ ∗ R t (für ein zu E<br />

äquivalentes TES R) nicht mehr Regeln in beliebiger Richtung anzuwenden, sondern wir<br />

reduzieren zuerst s <strong>und</strong> t soweit wie möglich. Damit erhält man Auswertungsfolgen der Art<br />

s → R s 1 → R s 2 → R ...s n <strong>und</strong> t m ← R ...t 2 ← R t 1 ← R t,<br />

wobei s n <strong>und</strong> t m nicht weiter mit → R reduzierbar sind. Anschließend überprüfen wir, ob die<br />

beiden Terme s n <strong>und</strong> t m , die wir erhalten haben, identisch (d.h. syntaktisch gleich) sind.<br />

Beispiel 3.3.6 Betrachten wir wieder das TES R mit den Regeln (3.1) <strong>und</strong> (3.2). Unsere<br />

Frage war, ob aus den plus-Axiomen E die Gleichung plus(succ(succ(O)),x) ≡ plus(succ(O),<br />

succ(x)) folgt. Um dieses Wortproblem zu lösen, gehen wir wie folgt vor: Wir reduzieren<br />

zuerst beide Terme in der Gleichung soweit wie möglich <strong>und</strong> überprüfen dann, ob die erhaltenen<br />

Terme identisch sind. Im Beispiel ergibt sich<br />

plus(succ(succ(O)),x) → R succ(plus(succ(O),x)) → R succ(succ(plus(O,x))) → R succ(succ(x))<br />

<strong>und</strong><br />

plus(succ(O),succ(x)) → R succ(plus(O,succ(x))) → R succ(succ(x)).<br />

Somit erhält man also in der Tat plus(succ(succ(O)),x) ↔ ∗ R plus(succ(O),succ(x)) bzw.<br />

plus(succ(succ(O)),x) ≡ E plus(succ(O),succ(x)) aufgr<strong>und</strong> der Äquivalenz zu E.<br />

Das oben skizzierte Verfahren ist mit Sicherheit korrekt, denn aus der Existenz von zwei<br />

Auswertungsfolgen zum selben Ergebnis folgt immer s ↔ ∗ R t <strong>und</strong> somit s ≡ E t. Es stellen<br />

sich aber bislang noch zwei Probleme:<br />

1. Wenn wir s <strong>und</strong> t solange wie möglich reduzieren wollen, so könnte es sein, dass diese<br />

Auswertung nicht terminiert. Hierbei gibt es zum einen die Möglichkeit, dass keine<br />

der möglichen Auswertungen von s bzw. t terminiert. Es kann aber auch sein, dass es<br />

zwar terminierende, aber auch nicht-terminierende Auswertungen dieser Terme gibt.<br />

Da man die Folge der Auswertungsschritte frei wählen kann, besteht dann immer<br />

noch die Gefahr, dass man dennoch die unendliche Ersetzungsfolge wählt. Um dies<br />

zu verhindern, muss man sich auf sogenannte terminierende Termersetzungssysteme<br />

beschränken.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!