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.

• 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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!