08.10.2013 Aufrufe

Download (1405Kb)

Download (1405Kb)

Download (1405Kb)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3.3. FORMALE SEMANTIKEN 45<br />

Definition 3.7 Normalformsemantik<br />

Die Normalformsemantik<br />

[[·]] nf<br />

P : TΣ→T ⊥ C<br />

ist für einen Term t ∈ TΣ definiert durch<br />

[[t]] nf<br />

P :=<br />

<br />

t↓ P , falls t↓ P existiert und t↓ P ∈ TC ist<br />

⊥ , andernfalls<br />

Die Normalformsemantik hat leider eine äußerst unangenehme Eigenschaft: sie ist nicht invariant.<br />

Verschiedene Terme mit gleicher Semantik verhalten sich im gleichen Kontext unterschiedlich, wie<br />

folgendes Beispiel demonstriert:<br />

Beispiel 3.6 Fehlende Invarianz der Normalformsemantik<br />

liste1 → []:liste1<br />

liste2 → [[]]:liste2<br />

head(x:xs) → x<br />

(Dieses Programm mit Pattern läßt sich auch in ein äquivalentes Programm mit Hilfsfunktionen<br />

übersetzen.)<br />

Wie man leicht sieht<br />

liste1 −−→<br />

P<br />

[] : liste1 −−→<br />

P<br />

[] : [] : liste1 −−→<br />

P<br />

besitzen weder liste1 noch liste2 eine Normalform und es ist daher<br />

Aber es gilt<br />

und somit erhalten wir<br />

head(liste1) −−→<br />

P<br />

head(liste2) −−→<br />

P<br />

[[liste1]] nf<br />

P = [[liste2]] nf<br />

P = ⊥.<br />

head([]:liste1) −−→<br />

P<br />

head([[]]:liste2) −−→<br />

P<br />

[[head(liste1)]] nf<br />

P = [] = [[]] = [[head(liste2)]] nf<br />

P .<br />

. . .<br />

[]<br />

[[]],<br />

Auch Terme, deren Teilterme nicht alle eine Normalform besitzen, können selber eine Normalform<br />

haben. ✷<br />

Da Terme zusammengesetzte, strukturierte Gebilde sind, erwarten wir von einer Semantik, daß zwei<br />

Terme, die sich nur in Teiltermen unterscheiden, die den gleichen semantischen Wert besitzen, ebenfalls<br />

semantisch gleich sind. Die Eingabe-Ausgabe-Abbildung soll daher eine Grundtermsemantik<br />

in folgendem Sinne sein.<br />

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!