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.

Die TESe R 3 <strong>und</strong> R 4 aus Bsp. 3.3.7 <strong>und</strong> das TES aus Bsp. 3.3.13 (c) machen aber<br />

bereits deutlich, dass die Terminierung alleine noch nicht ausreicht, um unser skizziertes<br />

Termersetzungsverfahren für die Lösung des Wortproblems zu verwenden. Das TES {b →<br />

c,b → a} terminiert. Wenn man untersuchen möchte, ob in der zugr<strong>und</strong>e liegenden Menge<br />

von Gleichungen E die Aussage a ≡ E c gilt, so würde man nun die Normalformen von a <strong>und</strong><br />

c berechnen. Es gilt a↓ R = a <strong>und</strong> c↓ R = c. Da die beiden resultierenden Terme aber nicht<br />

identisch sind, würde man nun fälschlicherweise schließen, dass a ≢ E c gilt.<br />

Das Problem hierbei ist, dass wir zur Untersuchung der Frage s ≡ E t eigentlich untersuchen<br />

müssten, ob s ↔ ∗ R t gilt. In Wirklichkeit untersuchen wir jedoch nur, ob es einen Term<br />

q gibt, so dass s → ∗ R q ←∗ R t gilt. Man bezeichnet solche Terme dann als zusammenführbar<br />

(engl. joinable). Im allgemeinen folgt zwar aus der Zusammenführbarkeit von s <strong>und</strong> t, dass<br />

s ↔ ∗ R t gilt, aber die Umkehrung gilt nicht. Dies wird an dem TES R = {b → c,b → a}<br />

deutlich, bei dem a ↔ ∗ R c gilt, obwohl die beiden Terme nicht zusammenführbar sind. Wir<br />

müssen uns also auf TESe beschränken, bei denen die Ersetzungsrelation → R diese Eigenschaft<br />

hat, die man allgemein für Relationen formulieren kann. Sie geht auf Church <strong>und</strong><br />

Rosser zurück, die diese Eigenschaft für den Lambda-Kalkül untersuchten <strong>und</strong> bewiesen,<br />

vgl. [CR36, Gie05].<br />

Definition 3.3.14 (Zusammenführbarkeit, Church-Rosser Eigenschaft) Sei → eine<br />

Relation auf einer Menge M. Zwei Elemente s,t ∈ M sind zusammenführbar (Schreibweise<br />

s ↓ t) gdw. es ein q ∈ M gibt mit s → ∗ q ← ∗ t.<br />

Die Relation → hat die Church-Rosser Eigenschaft gdw. für alle s,t ∈ M gilt: Falls<br />

s ↔ ∗ t, dann sind s <strong>und</strong> t zusammenführbar, d.h., s ↓ t.<br />

Man sagt, ein TES R hat die Church-Rosser Eigenschaft gdw. seine Ersetzungsrelation<br />

→ R die Church-Rosser Eigenschaft hat.<br />

Beispiel 3.3.15 Das TES R = {b → c,b → a} aus Bsp. 3.3.13 (c) besitzt die Church-<br />

Rosser Eigenschaft nicht. So gilt zwar a ↔ ∗ R c, denn a ← R b → R c, aber a <strong>und</strong> c sind nicht<br />

zusammenführbar, denn beide sind Normalformen.<br />

Das TES mit den Regeln (3.1) <strong>und</strong> (3.2) für die Addition besitzt hingegen die Church-<br />

Rosser Eigenschaft. Es gilt z.B. plus(succ(succ(O)),x) ↔ ∗ R plus(succ(O),succ(x)) <strong>und</strong> in der<br />

Tat sind die beiden Terme zusammenführbar (vgl. Bsp. 3.3.6).<br />

Um TESe besser auf die Church-Rosser Eigenschaft untersuchen zu können, empfiehlt<br />

es sich, stattdessen die Eigenschaft der Konfluenz zu betrachten, die zur Church-Rosser Eigenschaft<br />

äquivalent ist. Auf einen Term p sind oftmehrere Auswertungsschritte anwendbar<br />

(d.h. wir haben eine Relation →, bei der p → ∗ s <strong>und</strong> p → ∗ t für geeignete Objekte s,t,p<br />

gilt). Eine Relation → heißt konfluent, wenn es unerheblich ist, welchen der beiden Schritte<br />

man ausführt. Genauer bedeutet Konfluenz, dass sich die beiden “alternativen” Objekte<br />

s <strong>und</strong> t wieder zusammenführen lassen. Man kann dies durch folgendes Bild illustrieren:<br />

Wenn die durchgezogenen Pfeile existieren, folgtdarausdie Existenz der gestrichelten Pfeile

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!