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.
mehrere Redexe besitzen, die nicht unbedingt alle reduziert werden.)<br />
plus(succ(succ(O)),succ(O)) → R succ(plus(succ(O),succ(O)))<br />
→ R succ(succ(plus(O,succ(O))))<br />
→ R succ(succ(succ(O)))<br />
Man erhält also die Reduktion plus(succ(succ(O)),succ(O)) → ∗ R succ(succ(succ(O))).<br />
Die Sprache der Termersetzungssysteme ist also fast identisch mit der Sprache der Gleichungssysteme,<br />
aber Termersetzungssysteme stellen eine Programmiersprache mit einer bestimmten<br />
Auswertungsrelation (der Termersetzungsrelation) dar. Man kann zeigen, dass<br />
diese Programmiersprache Turing-vollständig ist, d.h., jedes berechenbare Programm lässt<br />
sich mit Hilfe von TESen schreiben. In der Tat beruhen insbesondere funktionale Programmiersprachen<br />
direkt auf der Sprache der TESe (wobei natürlich unterschiedliche <strong>und</strong><br />
ergänzende syntaktische Konstrukte verwendet werden).<br />
Manchmal betrachtet man spezielle Termersetzungssysteme, bei denen die Regeln lediglich<br />
einstellige Funktionssymbole enthalten. Ein Beispiel ist das TES mit der Regel<br />
f(f(x)) → f(g(f(x)))<br />
Die Regeln solcher TESe kann man kürzer schreiben, indem man die Klammern <strong>und</strong> die<br />
innerste Variable weglässt; man erhält dann<br />
ff → fgf.<br />
Anstelle der Auswertung f(f(f(x))) → f(f(g(f(x)))) → f(g(f(g(f(x))))) schreibt man dann<br />
kürzer<br />
fff → ffgf → fgfgf.<br />
Solche Regelsysteme bezeichnet man auch als Wortersetzungssysteme (engl. string rewriting<br />
system) oder Semi-Thue Systeme. Hier kann man die Terme als Worte auffassen <strong>und</strong><br />
die Regeln entsprechen Grammatikregeln, die sagen, wie man bestimmte Teilworte ersetzen<br />
kann. Wir werden den Spezialfall der Wortersetzungssysteme nicht weiter gesondert<br />
betrachten; hierzu sei auf [BA95, Kap. 3] <strong>und</strong> [Ave95, Kap. 2] verwiesen.<br />
Aus Lemma 3.1.13 folgt sofort, dass die Termersetzungsrelation → R ebenso wie die<br />
Relation→ ∗ R stabil<strong>und</strong>monotonist.Darüberhinausist→∗ R natürlichreflexiv<strong>und</strong>transitiv,<br />
aber nicht symmetrisch.<br />
Anstelle von Gleichungssystemen E wollen wir im Folgenden mit TESen R arbeiten.<br />
Hierzu muss das TES R aber natürlich dem Gleichungssystem E “entsprechen”. Hierzu<br />
definiert man den Begriff der “Äquivalenz”.<br />
Definition 3.3.3 (Äquivalenz von Gleichungssystem <strong>und</strong> TES) Sei E ein Gleichungssystem<br />
<strong>und</strong> R ein TES über Σ <strong>und</strong> V. Dann ist R äquivalent zu E gdw. ↔ ∗ R = ↔∗ E .<br />
Wir sind ja daran interessiert, das Wortproblem s ≡ E t für Gleichungssysteme E zu<br />
lösen. Aufgr<strong>und</strong> des Satzes von Birkhoff (Satz 3.1.14) bedeutet Äquivalenz zwischen R <strong>und</strong><br />
E, dass ↔ ∗ R = ↔∗ E = ≡ E gilt. Sofern ein TES R also äquivalent zu E ist, lässt sich das