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.
<strong>und</strong> s ′ <strong>und</strong> t ′ sind verschiedene Normalformen <strong>und</strong> damit nicht zusammenführbar. Da bei<br />
terminierenden TESen Konfluenz <strong>und</strong> lokale Konfluenz nach dem Diamond Lemma (Satz<br />
5.2.3) gleichbedeutend sind, ist das TES dann also auch nicht lokal konfluent. So ergibt sich<br />
der folgende Algorithmus zur Konfluenzüberprüfung.<br />
Algorithmus CONFLUENCE(R)<br />
Eingabe: Ein terminierendes TES R.<br />
Ausgabe: “True”, falls R konfluent ist <strong>und</strong> “False” sonst.<br />
1. Berechne alle kritischen Paare CP(R) von R (durch Verwendung von UNIFY).<br />
2. Falls CP(R) = ∅, dann gib “True” aus <strong>und</strong> breche ab.<br />
3. Wähle 〈s,t〉 ∈ CP(R).<br />
4. Reduziere s <strong>und</strong> t so lange wie möglich.<br />
Auf diese Weise entstehen die Normalformen s ′ <strong>und</strong> t ′ .<br />
5. Falls s ′ ≠ t ′ , dann gib “False” aus <strong>und</strong> breche ab.<br />
6. Setze CP(R) = CP(R)\{〈s,t〉}.<br />
7. Gehe zu Schritt 2.<br />
Satz 5.2.7 (Korrektheit des Konfluenzuntersuchungsalgorithmus)<br />
(a) Der Algorithmus CONFLUENCE terminiert <strong>und</strong> ist korrekt.<br />
(b) Für terminierende TESe ist die Konfluenz entscheidbar.<br />
Beweis.<br />
(a) Die Terminierung folgt daraus, dass UNIFY terminiert, dass CP(R) immer endlich<br />
ist, dass die Berechnung der Normalformen terminiert (weil R terminiert) <strong>und</strong> dass<br />
CP(R) in jedem Durchlauf der Schritte 2 - 7 kleiner wird. Falls der Algorithmus<br />
“True”ausgibt, so sindallekritischen Paarezusammenführbar. Nachdem Kritischen-<br />
Paar-Lemma (Satz 5.2.6) folgt daraus die lokale Konfluenz <strong>und</strong> nach dem Diamond<br />
Lemma (Satz 5.2.3) die Konfluenz. Falls der Algorithmus “False” ausgibt, so existiert<br />
s ′ ← ∗ R p →∗ R t′ für zwei verschiedene Normalformen s ′ <strong>und</strong> t ′ <strong>und</strong> somit ist R nicht<br />
konfluent.<br />
(b) Die Entscheidbarkeit folgt daraus, dass CONFLUENCE ein Entscheidungsalgorithmus<br />
ist (da auch die Bestimmung von allgemeinsten Unifikatoren berechenbar ist). ✷<br />
Beispiel 5.2.8 Um die Konfluenz in dem Gruppenbeispiel zu untersuchen, muss man die<br />
kritischen Paare (5.7) - (5.9) auf Zusammenführbarkeit untersuchen. Hierzu reduzieren wir<br />
jeweils die Terme zu einer beliebigen Normalform. Bei dem ersten kritischen Paar (5.7)<br />
ergibt sich:<br />
f(f(x,y),e) f(x,y)<br />
▼▼▼▼▼▼▼▼▼▼<br />
∗<br />
∗<br />
✉ ✉✉✉✉✉✉✉✉<br />
f(x,y)