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 ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
• l ∉ V.<br />
Eine Menge R von Regeln wird Termersetzungssystem (TES, engl. term rewriting system)<br />
über Σ <strong>und</strong> V genannt.<br />
Für ein Termersetzungssystem R ist die (Term-)ersetzungsrelation → R ⊆ T (Σ,V) ×<br />
T (Σ,V) definiert durch<br />
s → R t gdw. s| π = lσ <strong>und</strong> t = s[rσ] π<br />
für eine Stelle π ∈ Occ(s), eine Regel l → r ∈ R <strong>und</strong> ein σ ∈ SUB(Σ,V). Man nennt s → R<br />
t einen (Term-)ersetzungsschritt, bei dem s an der Stelle π reduziert wird. Ein Teilterm s| π ,<br />
auf den die linke Seite einer Regel matcht, heißt Redex (für “reducible expression”). Wenn<br />
R aus dem Zusammenhang ersichtlich ist, schreiben wir manchmal auch “→” anstelle von<br />
“→ R ”. Anstelle von “s → R t” schreiben wir außerdem gelegentlich auch “t ← R s”.<br />
Wie bei den Gleichungssystemen werden wir uns auch bei TESen im Folgenden auf endliche<br />
Mengen beschränken. Die Termersetzungsrelation → R ist genauso definiert wie die<br />
Ersetzungsrelation → E für eine Menge von Gleichungen. Der einzige Unterschied ist, dass<br />
wir jetzt mehr an der transitiv-reflexiven Hülle → ∗ interessiert sind als an der transitivreflexiv-symmetrischen<br />
Hülle ↔ ∗ , d.h., wir wenden die Regeln eines Termersetzungssystems<br />
nur in eine Richtung an, wohingegen Gleichungen typischerweise in beide Richtungen angewendet<br />
werden können.<br />
Durch das Richten der Gleichungen wird der Indeterminismus des Suchverfahrens aus<br />
Abschnitt 3.1 bereits reduziert. Die Bedingung V(r) ⊆ V(l) entspricht dann der “Variablenbedingung”,<br />
diedort diskutiert wurde. DieseVariablenbedingung verlangte, dass auf beiden<br />
Seiten einer Gleichung genaudieselben Variablen vorkommen. Dieshat den Vorteil, dass bei<br />
Anwendung einer Gleichung der Matcher (<strong>und</strong> damit die Instantiierung der anderen Seite<br />
der Gleichung) bereits eindeutig festgelegt ist. Da Gleichungen nun aber nur noch von links<br />
nach rechts angewendet werden können, muss man bloß noch verlangen, dass alle Variablen<br />
auf der rechten Seite auch auf der linken Seite auftreten. Damit ist bei einer Anwendung<br />
einer Termersetzungsregel die Instantiierung der rechten Seite bereits eindeutig festgelegt.<br />
Auch die Bedingung l ∉ V dient dazu, den Indeterminismus zu reduzieren. Regeln mit<br />
einer Variablen als linke Seite wären immer (d.h. auf jeden Term) anwendbar. Durch die<br />
Bedingung, dass eine linke Seite zumindest mit einem Funktionssymbol beginnen muss,<br />
wird ihre Anwendbarkeit etwas eingeschränkt.<br />
Beispiel 3.3.2 Sowohl die Additionsgleichungen als auch die Gruppenaxiome erfüllen die<br />
Variablenbedingungen. Sie lassen sich daher nun beide als TES schreiben. (Selbstverständlich<br />
stellt sich hierbei im allgemeinen die Frage, in welche Richtung solche Gleichungen zu<br />
orientieren sind, wenn dies nicht bereits durch die Variablenbedingungen erzwungen wird.)<br />
plus(O,y) → y (3.1)<br />
plus(succ(x),y) → succ(plus(x,y)) (3.2)<br />
f(x,f(y,z)) → f(f(x,y),z) (3.3)<br />
f(x,e) → x (3.4)<br />
f(x,i(x)) → e (3.5)<br />
Wenn R = {(3.1),(3.2)} ist, so erhält man z.B. die folgende Folge von Ersetzungsschritten.<br />
Die Redexe sind hierbei jeweils unterstrichen. (Im allgemeinen kann ein Term natürlich