Download (1405Kb)
Download (1405Kb)
Download (1405Kb)
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2.5. TERMERSETZUNGSSYSTEME 25<br />
ermöglicht eine einfache Untersuchung des Reduktionsverhaltens beinahe orthogonaler Termersetzungssysteme.<br />
Das zentrale allgemeine Residuenlemma (2.9) wird die Grundlage fast aller<br />
Beweise von Eigenschaften von Reduktionsfolgen sein. Eine triviale Konsequenz des allgemeinen<br />
Residuenlemmas ist außerdem die Konfluenz der Reduktionsrelation beinahe orthogonaler Termersetzungssysteme.<br />
Definition 2.1 Beinahe orthogonales Termersetzungssystem<br />
Ein Termersetzungssystem R heißt genau dann beinahe orthogonal (almost orthogonal), wenn<br />
es linkslinear ist, d.h. alle Redexschemata l ∈ RedSR linear sind, und die folgende Eindeutigkeitsbedingung<br />
erfüllt:<br />
Seien l→r, l ′ →r ′ ∈ R, u ∈ Occ(l) mit l/u /∈ X, σ, σ ′ : X→TΣ(X). Dann gilt:<br />
(l/u)σ = l ′ σ ′ =⇒ u = ε, rσ = r ′ σ ′<br />
Orthogonale Termersetzungssysteme erfüllen die noch strengere Eindeutigkeitbedingung<br />
(l/u)σ = l ′ σ ′ =⇒ u = ε, (l→r) = (l ′ →r ′ )<br />
Die Beschränkung auf diese restriktivere Teilmenge ist jedoch nicht nötig. Fast die gesamte Theorie<br />
orthogonaler Termersetzungssysteme ist auf beinahe orthogonale Termersetzungssysteme übertragbar.<br />
Die Theorie der needed redexes in [Huet&Lévy79] stellt die einzige bedeutende Ausnahme dar,<br />
wie in [An&Mid94] festgestellt wird.<br />
u<br />
Orthogonale Termersetzungssysteme haben allerdings den Vorteil, daß bei einer Reduktion t −−→ t<br />
l→r ′<br />
die verwendete Regel l→r durch t und u schon eindeutig bestimmt ist, so daß auf ihre Angabe<br />
immer verzichtet werden kann, wie wir dies schon bei der beim Matchen verwendeten Substitution<br />
σ machen. Allerdings ist bei beinahe orthogonalen Termersetzungssystemen immerhin noch die<br />
verwendete Regelinstanz einer Reduktion, lσ→rσ, eindeutig durch t und u bestimmt. Dies ist auch<br />
für alle weiteren Zwecke ausreichend. In einigen Fällen werden wir allerdings die Unabhängigkeit<br />
einer Definition von der konkret verwendeten Regel explizit beweisen müssen.<br />
Linkslineare Termersetzungssysteme, die nur die erweiterte Eindeutigkeitsbedingung<br />
(l/u)σ = l ′ σ ′ =⇒ u ∈ Occ(r), (r/u)σ = r ′ σ ′<br />
erfüllen, werden schwach orthogonal (weakly orthogonal) genannt. Sie sind weitaus schwieriger<br />
zu handhaben, da sich die Residuenabbildung und damit die gesamte Thorie beinahe orthogonaler<br />
Termersetzungssysteme nicht mehr auf sie übertragen läßt. Derartige teilweise Überlappungen linker<br />
Regelseiten sind jedoch in unseren später definierten funktionalen Programmiersprachen durch<br />
deren Syntax prinzipiell ausgeschlossen und deshalb auch nicht von Interesse.<br />
Wie schon erwähnt, werden in [Ros73] und [O’Do77] noch keine Termersetzungssysteme in unserem<br />
Sinne betrachtet. Stattdessen werden potentiell unendliche Mengen von Grundtermersetzungsregeln,<br />
d. h. solchen deren linke und rechte Regelseiten nur aus Grundtermen bestehen, verwendet.<br />
Jedoch ist auch die Menge aller Grundinstanzen aller Regeln eines Termersetzungssystems, auch<br />
kanonische Instanz des Termersetzungssystems genannt, ein solches im allgemeinen unendliches<br />
Grundtermersetzungssystem. Die Reduktionen und Reduktionsrelationen dieses unendlichen<br />
Grundtermersetzungssystems sind identisch mit denen des Termersetzungssystems.<br />
✷