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.
• In Schritt 5 vereinigt man alle nicht-disjunkten Mengen in K <strong>und</strong> erhält somit K =<br />
{{i,j,f(j),f(i),g(k),g(l),m},{k,l},{f(m)}}. Da K ≠ L gilt, wird in Schritt 6 L auf<br />
diese Menge gesetzt <strong>und</strong> man geht zurück zu Schritt 4.<br />
• Man setzt nun K wieder auf L <strong>und</strong> erweitert es (neben einelementigen Mengen) um<br />
{f(i),f(j)},{f(i),f(m)},{f(j),f(m)},{g(k),g(l)}. In Schritt 5 vereinigt man alle nichtdisjunkten<br />
Mengen in K <strong>und</strong> erhält somit K = {{i,j,f(j),f(i),g(k),g(l),m,f(m)},<br />
{k,l}}. Da K ≠ L gilt, wird in Schritt 6 L auf diese Menge gesetzt <strong>und</strong> man geht<br />
zurück zu Schritt 4.<br />
• Das nochmalige Durchlaufen von Schritt 4 <strong>und</strong> 5 führt dazu, dass K <strong>und</strong> L identisch<br />
sind. Man erreicht somit Schritt 7. Da es eine Menge {i,j,f(j),f(i),g(k),g(l),m,f(m)}<br />
in K gibt, die sowohl f(m) als auch g(k) enthält, gibt der Algorithmus “True” aus.<br />
Das in diesem Abschnitt vorgestellte Verfahren ist allerdings tatsächlich nur für Gr<strong>und</strong>identitätenverwendbar.<br />
Bei E = {f(f(x)) ≡ g(x)}giltz.B. f(g(a)) ≡ E g(f(a)),aberdies lässt<br />
sich nur mit Hilfe der Gleichungen f(g(a)) ≡ E f(f(f(a))) <strong>und</strong> f(f(f(a))) ≡ g(f(a)) <strong>und</strong> der<br />
Transitivitätzeigen.DerTermf(f(f(a)))istabernichtinSubterms(E)∪Subterms(f(g(a)))∪<br />
Subterms(g(f(a))) enthalten.<br />
3.3 Termersetzungssysteme<br />
Im vorigen Abschnitt haben wir gesehen, wie man das Wortproblem für Gr<strong>und</strong>identitäten<br />
entscheiden kann, d.h. für Gleichungssysteme E, die keine Variablen enthalten. In vielen<br />
Anwendungen treten aber sowohl in den Axiomen als auch in den zu untersuchenden Gleichungen<br />
Variablen auf. Man geht hierbei davon aus, dass die Axiome für alle Belegungen<br />
der darin vorkommenden Variablen gelten <strong>und</strong> man will wissen, ob die zu untersuchende<br />
Gleichung für alle Belegungen der darin vorkommenden Variablen aus den Axiomen folgt.<br />
Wie in Abschnitt 3.1 gezeigt wurde, kann man dieses Wortproblem mit Hilfe der Beweisrelation<br />
↔ ∗ E untersuchen. Das Problem dabei ist aber, dass man nicht weiß, welche<br />
Gleichung an welcher Stelle angewendet werden soll, so dass sich ein in der Praxis nicht<br />
tolerierbarer <strong>und</strong> ggf. unendlicher Suchaufwand ergibt.<br />
Will man den Aufwand des Suchbaumverfahrens aus Abschnitt 3.1 senken, so müssen<br />
die Indeterminismen der Beweisrelation so verringert werden, dass man schließlich den Verzweigungsgrad<br />
1 erhält. Der erste Schritt besteht darin, dass die Richtung der Gleichungen<br />
des Gleichungssystems festgelegt wird. Damit kann man bei Teiltermersetzungen die Gleichungen<br />
nur noch in eine Richtung anwenden. Wir schreiben daher nun einen Pfeil “→”<br />
anstelle des Gleichheitszeichens “≡” <strong>und</strong> bezeichnen die gerichteten Gleichungen als Regeln.<br />
Dies führt zu dem gr<strong>und</strong>legenden Begriff des Termersetzungssystems.<br />
Definition 3.3.1 (Termersetzungssystem) Für l,r ∈ T (Σ,V) heißt ein Ausdruck<br />
l → r<br />
(Termersetzungs-)regel (über Σ <strong>und</strong> V), sofern<br />
• V(r) ⊆ V(l) <strong>und</strong>