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.
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].