08.10.2013 Aufrufe

Download (1405Kb)

Download (1405Kb)

Download (1405Kb)

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 />

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!