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.

138 KAPITEL 6. UNTERSUCHUNG DER ς-SEMANTIKEN<br />

Anders formuliert ist<br />

TΣ/ ∼ [·]P,ς = M nf<br />

P<br />

für alle erzwungenen Striktheiten ς. Aufgrund des Vorhandenseins von ⊥ und anderen partiellen<br />

Konstruktortermen im Träger TC,ς der ς-Datentypen ist allerdings DP,ς = Mnf P . Diese partiellen<br />

Konstruktorterme sind jedoch unter den gegebenen Bedingungen gar nicht denotierbar.<br />

Bei diesem Ergebnis ist zu bedenken, daß die Forderung der Termination und vollständiger Redexschemata<br />

für eine Programmiersprache unzumutbar ist. Unter dieser Bedingung sind partielle<br />

Operationen wie head und tail von Listen nicht definierbar 3 . Die Termination ist überhaupt nicht<br />

entscheidbar. Sprachen für ausführbare algebraische Spezifikationen wie OBJ (9.2 in [Wir90]) überlassen<br />

es dem Programmierer, die Termination und weitere unentscheidbare hinreichende Bedingungen<br />

für die Übereinstimmung von operationeller und initialer Semantik sicherzustellen. Dies<br />

widerspricht jedoch unserem schon in der Einleitung dargestellten Standpunkt, daß eine Semantik<br />

jedem (entscheidbar) syntaktisch korrektem Programm eine Bedeutung zuordnen soll.<br />

Somit ist das initiale Modell als Datentyp eines funktionalen Programms ungeeignet.<br />

6.2 Deklarative Eigenschaften der ς-Semantiken<br />

Semantiken, die auf dem Modellbegriff der Logik basieren, werden deklarativ genannt. Im letzten<br />

Abschnitt haben wir die Modelle eines Programms definiert. Offensichtlich ist kein ς-Datentyp das<br />

initiale Modell eines Programms. Es wäre aber immerhin zu erwarten, daß die Reduktionsregeln<br />

eines Programms in jedem zugehörigen ς-Datentyp gültig wären, dieser also ein Modell des Programms<br />

wäre. Wenn ein ς-Datentyp außerdem ein in einer gewissen Weise ausgezeichnetes Modell<br />

ist, dann können wir ihn auch auf diese Weise deklarativ definieren.<br />

Der cbn-Datentyp DP,cbn ist tatsächlich ein Modell des Programms P. Wir zeigen sogar noch<br />

allgemeiner, daß jeder Fixpunkt der cbn-Transformation ein Modell ist:<br />

Lemma 6.5 cbn-Fixpunkte ⊆ ModÈ<br />

Sei∈IntΣ,cbn ein Fixpunkt der cbn-Transformation ΦP,cbn. Dann istein Modell des Programms<br />

P.<br />

Beweis:<br />

ist ein Fixpunkt von ΦP,cbn.<br />

=⇒ (Definition)<br />

Für alle Reduktionsregeln f (n) (p)→r ∈ ˆ P, alle t ∈ (TC,cbn) n und alle β : Var(p)→TC,cbn, so<br />

daß t mit f(p) vermittels β semantisch cbn-gematcht wird, gilt<br />

f(t) = [[r]] alg<br />

,β .<br />

⇐⇒ (Lemma 5.2, S. 79, über die Charakterisierung des semantischen cbn-Matchens)<br />

Für alle f (n) (p)→r ∈ ˆ P, alle t ∈ (TC,cbn) n und alle β : Var(p)→TC,cbn, so daß für alle i ∈ [n]<br />

[[pi]] alg<br />

⊥cbn = t i, gilt<br />

f(t) = [[r]] alg<br />

,β .<br />

3 Mit Hilfe sogenannter order-sorted Signaturen und Algebren ist dies dennoch möglich. Andererseits führen diese<br />

zu einer größeren Komplexität und neuen Problemen; siehe 3.3.4 in [Wir90].

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!