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.
✔<br />
✔<br />
✔<br />
✔❚<br />
✔ ❚<br />
✔ ❚<br />
✔ π ❚<br />
✔ l 1 . ❚<br />
✔ ✡❏<br />
❚<br />
✔ ✡ ❏ ❚<br />
✔ ✡ l 2 ❏ ❚<br />
✔ ✡ ❏ ❚<br />
σ 1 ✡ ❏ σ ❚<br />
✡ ❏ 1<br />
σ 2<br />
✡ ❏<br />
Dieser Fall wird als kritische Überlappung bezeichnet. Wie aus der Betrachtung der anderen<br />
Fälle deutlich wurde, sind dies die einzigen Situationen, die man für die Untersuchung<br />
der lokalen Konfluenz betrachten muss, denn nur hier kann der Fall auftreten, dass die<br />
resultierenden Terme tatsächlich nicht zusammenführbar sind.<br />
Allgemeinentsteht einsolcher Fallimmerdann,wenneszwei Regelnl 1 → r 1 <strong>und</strong>l 2 → r 2<br />
(die nicht notwendigerweise verschieden sein müssen), Substitutionen σ 1 <strong>und</strong> σ 2 <strong>und</strong> eine<br />
Stelle π ∈ Occ(l 1 ) gibt, so dass l 1 | π ∉ V <strong>und</strong> l 1 | π σ 1 = l 2 σ 2 gilt. Wenn wir die Variablen<br />
in l 1 → r 1 <strong>und</strong> in l 2 → r 2 so umbenennen, dass sie paarweise disjunkt sind, so können<br />
wir σ 1 = σ 2 wählen. Eine kritische Überlappung entsteht also dann, wenn es zwei linke<br />
Regelseiten l 1 ,l 2 <strong>und</strong> eine Substitution σ gibt, die l 2 <strong>und</strong> einen Nicht-Variablen-Teilterm<br />
l 1 | π identisch macht (d.h., l 1 | π σ = l 2 σ). Mit anderen Worten, σ ist ein Unifikator von l 1 | π<br />
<strong>und</strong> l 2 σ. Auf diese Weise entsteht die kritische Situation<br />
❚<br />
❚<br />
l 1 σ = l 1 [l 2 ] π σ<br />
❖❖❖❖❖❖❖❖❖❖❖<br />
r 1 σ<br />
l 1 [r 2 ] π σ<br />
Esgenügt,hierbei jeweils nur allgemeinste Unifikatorenvonlinken Regelseiten l 2 <strong>und</strong>Nicht-<br />
Variablen-Teiltermen l 1 | π zu betrachten, denn wenn die jeweils durch einen Auswertungsschritt<br />
entstehenden Terme r 1 σ <strong>und</strong> l 1 [r 2 ] π σ bei der allgemeineren Substitution σ zusammenführbar<br />
sind, danngilt diesauchbei jeder Substitution, diespezieller alsσ ist (aufgr<strong>und</strong><br />
der Abgeschlossenheit der Ersetzungsrelation unter Substitutionen). Wir müssen also nur<br />
alle diejenigen Paare 〈r 1 σ,l 1 [r 2 ] π σ〉 auf Zusammenführbarkeit überprüfen, die mit solch<br />
einem Unifikator σ entstehen. Man bezeichnet diese Paare daher als kritische Paare.<br />
Definition 5.2.4 (Kritisches Paar [KB70]) Sei R ein TES mit l 1 → r 1 ,l 2 → r 2 ∈ R.<br />
Hierbei seien die Variablen der beiden Regeln so umbenannt, dass V(l 1 ) ∩ V(l 2 ) = ∅ gilt.<br />
Sei π ∈ Occ(l 1 ) mit l 1 | π ∉ V <strong>und</strong> sei σ allgemeinster Unifikator von l 1 | π <strong>und</strong> l 2 . Dann<br />
ist 〈r 1 σ,l 1 [r 2 ] π σ〉 ein kritisches Paar von R (engl. critical pair). Die beiden Regeln l 1 →<br />
r 1 ,l 2 → r 2 dürfen (bis auf Variablenumbenennung) identisch sein. In diesem Fall betrachtet<br />
man jedoch nur Überlappungen mit π ≠ ǫ. Die Menge der kritischen Paare eines TES R<br />
wird mit CP(R) bezeichnet.<br />
Jedes (endliche) TES hat nur endlich viele kritische Paare, da man immer nur die<br />
(endlich vielen) linken Regelseiten auf Überlappungen überprüfen muss. CP(R) kann durch<br />
Verwendung des Unifikationsalgorithmus UNIFY aus dem vorigen Abschnitt automatisch<br />
berechnet werden.