Download (1405Kb)
Download (1405Kb)
Download (1405Kb)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kapitel 6<br />
Untersuchung der ς-Semantiken<br />
Wir haben die ς-Semantiken unserer Programme sowohl denotationell als auch operationell definiert.<br />
Wir untersuchen jetzt die Beziehungen der ς-Semantiken zu anderen häufig eingesetzten<br />
Semantiken.<br />
Für einfache algebraische Spezifikationen und für Termersetzungssysteme wird meistens das initiale<br />
Modell bzw. die kanonische Quotientenalgebra als Semantik verwendet. In 6.1 begründen wir,<br />
warum diese Quotientenalgebra als Semantik unserer Programme ungeeignet ist. Dennoch zeigen<br />
wir immerhin einen Zusammenhang zwischen der Quotientenalgebra und unseren ς-Datentypen<br />
auf.<br />
Die insbesondere im Bereich logischer Programmiersprachen eingesetzten deklarativen Semantiken<br />
beruhen auf dem Gültigkeits- und Modellbegriff der Logik. In 6.2 stellen wir fest, daß allein unsere<br />
cbn-Semantik deklarativ definierbar ist. Immerhin ist die cbv-Semantik für Programme mit Pattern<br />
aus deklarativer Sicht ebenfalls ausgezeichnet.<br />
Dies führt uns in 6.3 zur Verwendung partieller Algebren, um damit die cbv-Semantik für Programme<br />
mit Pattern deklarativ zu definieren.<br />
6.1 Das initiale Modell<br />
Mit unserer denotationellen ς-Fixpunktsemantik betrachten wir ein Programm als Spezifikation eines<br />
Datentyps, einer speziellen Algebra. Diesen Standpunkt haben wir von den algebraischen Spezifikationen<br />
übernommen ([Wir90]). Algebraische Spezifikationen bestehen meistens aus Formeln<br />
einer Gleichungslogik erster Ordnung. Eine Algebra heißt genau dann Modell der Spezifikation,<br />
wenn die Formeln der Spezifikation in dieser Algebra gültig sind. Einfache algebraische Spezifikationen<br />
sind schlicht Mengen von Termgleichungen, d. h. Termpaaren. Somit kann der Begriff der<br />
Gültigkeit einer Gleichung leicht auf Reduktionsregeln übertragen werden, und wir können die<br />
Modelle eines Programms definieren.<br />
Definition 6.1 Gültigkeit, Modell<br />
Eine Termersetzungsregel l→r mit l, r ∈ TΣ(X) ist in einer Algebra=〈A, α〉 ∈ Alg Σ genau dann<br />
gültig, wenn für alle Variablenbelegungen β : X→A<br />
[[l]] alg<br />
= [[r]] ,β alg<br />
,β<br />
gilt. Eine Algebra∈Alg Σ heißt genau dann Modell des Programms P, wenn alle Reduktionsregeln<br />
des Programms P ingültig sind.