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.
Beweis. Um NF(R) ⊆ T(Σ c ) zu zeigen, nehmen wir an, dass es eine Gr<strong>und</strong>normalform q<br />
gibt, die ein definiertes Funktionssymbol enthält. Dann existieren auch “innerste” Vorkommen<br />
von definierten Funktionssymbolen, d.h., es existiert ein π ∈ Occ(q), so dass<br />
q| π = f(t 1 ,...,t n ) für f ∈ Σ d <strong>und</strong> t 1 ,...,t n ∈ T (Σ c ). Nach Def. 6.3.6 (b) ist dann q| π<br />
<strong>und</strong> damit auch q aber keine Normalform.<br />
Ebenso gilt auch NF(R) ⊇ T(Σ c ). Der Gr<strong>und</strong> ist, dass alle Konstruktorgr<strong>und</strong>terme<br />
Normalformen sind, da jede linke Seite einer Regel aus R ein definiertes Funktionssymbol<br />
enthält (wegen Def. 6.3.6 (a)).<br />
✷<br />
Zur Automatisierung der Konsistenzbeweismethode verwenden wir den Vervollständigungsalgorithmus,<br />
um ein zu E ∪{s ≡ t} äquivalentes <strong>und</strong> konvergentes TES zu konstruieren.Hierbei<br />
überprüfenwir,obwährendderVervollständigung neueGleichungen entstehen,<br />
die verschiedene Konstruktorgr<strong>und</strong>terme gleich machen würden. In diesem Fall hätten wir<br />
gezeigt, dass die Gleichung s ≡ t nicht induktiv gültig ist. Falls es uns hingegen gelingt,<br />
ein zu E ∪ {s ≡ t} äquivalentes <strong>und</strong> konvergentes TES zu konstruieren, das keine verschiedenen<br />
Konstruktorgr<strong>und</strong>terme gleich macht, so ist die induktive Gültigkeit von s ≡ t<br />
bewiesen. Wir gehen hierbei davon aus, dass das zu E äquivalente konvergente TES R dem<br />
Definitionsprinzip genügt. Bei der Konstruktion des TES, das zu E ∪ {s ≡ t} äquivalent<br />
<strong>und</strong> konvergent sein soll, starten wir den verbesserten Vervollständigungsalgorithmus nun<br />
nicht mit (E ∪ {s ≡ t},∅), sondern mit ({s ≡ t},R). Dies ist nach wie vor korrekt, da<br />
↔ ∗ E∪{s≡t} =↔∗ {s≡t}∪R gilt.<br />
Um das Vervollständigungsverfahren erfolgreich für Induktionsbeweise verwenden zu<br />
können, wird es geringfügig modifiziert <strong>und</strong> erweitert. Bei diesem modifizierten Verfahren<br />
kann sich dann während der Vervollständigung die Menge der gültigen Gleichungen<br />
verändern (<strong>und</strong>zwar vergrößern), abersofernE∪{s ≡ t}konsistent ist (d.h., ausE∪{s ≡ t}<br />
folgen keine Gleichheiten zwischen verschiedenen Konstruktorgr<strong>und</strong>termen), so bleibt die<br />
Menge der gültigen Gr<strong>und</strong>gleichungen (d.h., Gleichungen zwischen Gr<strong>und</strong>termen) gleich.<br />
Wenn man also im Vervollständigungsverfahren von (E,R) zu (E ′ ,R ′ ) kommt <strong>und</strong> E ∪R<br />
konsistent ist, sosinddieRelationen↔ ∗ E∪R <strong>und</strong>↔∗ E ′ ∪R ′ aufGr<strong>und</strong>termen gleich. DieGleichheit<br />
von ↔ ∗ E∪R <strong>und</strong> ↔∗ E ′ ∪R ′ auf Gr<strong>und</strong>termen ist für Induktionsbeweise ausreichend: Wie<br />
Satz 6.3.5 zeigt, genügt es, ein konvergentes TES zu konstruieren, das zu E ∪{s ≡ t} auf<br />
Gr<strong>und</strong>termen äquivalent ist <strong>und</strong> zu zeigen, dass dieses TES keine verschiedenen Konstruktorgr<strong>und</strong>terme<br />
zusammenführt.<br />
In dem modifizierten Vervollständigungsverfahren wird sichergestellt, dass das durch<br />
die Vervollständigung entstehende TES konsistent bleibt. Hierzu wird die Orientierung von<br />
Gleichungen in Regeln nur noch dann erlaubt, wenn die neuen Regeln außen ein definiertes<br />
Funktionssymbol haben.<br />
Um Inkonsistenzen zu entdecken, wird der Vervollständigungsalgorithmus außerdem um<br />
zwei Regeln ergänzt. Sie behandeln den Fall, dass während der Vervollständigung eine Gleichung<br />
entsteht, bei der kein äußeres Funktionssymbol definiert ist. Hierbei gibt es die folgenden<br />
Möglichkeiten: Falls eine Gleichung der Form c 1 (...) ≡ c 2 (...), c 1 (...) ≡ x oder<br />
x ≡ c 2 (...) für Konstruktoren c 1 ≠ c 2 entsteht, so folgt daraus, dass verschiedene Konstruktorgr<strong>und</strong>terme<br />
gleich sein müssen <strong>und</strong> wir haben daher eine Inkonsistenz entdeckt.<br />
Die Aussage s ≡ t ist also nicht induktiv gültig <strong>und</strong> wir brechen mit “False” ab.