20.01.2015 Aufrufe

Kapitel 11 - Grundlagen der Programmiersprachen - DdI

Kapitel 11 - Grundlagen der Programmiersprachen - DdI

Kapitel 11 - Grundlagen der Programmiersprachen - DdI

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.

<strong>11</strong>-29<br />

0, falls u'(x)=0,<br />

(***) E[ if x=0 then 0 else f x]u'=<br />

E[ if x=0 then 0 else f x]u', sonst.<br />

Setzt man nun zur Abkürzung<br />

F:= E[ if x=0 then 0 else f x],<br />

so erhält man aus (***) folgende Funktionalgleichung<br />

0, falls u'(x)=0,<br />

F(u')=<br />

F(u'), sonst.<br />

Wir wenden den Satz von Kleene an und berechnen den Fixpunkt, indem wir setzen<br />

0, falls u'(x)=0<br />

τ(F)(u')=<br />

F(u'), sonst,<br />

so kann man den Fixpunktsatz von Kleene verwenden und rechnen:<br />

0, falls u'(x)=0 0, falls α=0<br />

τ(⊥)(u)= =<br />

⊥(u'), sonst ⊥, sonst.<br />

0, falls u'(x)=0 0, falls α=0 0, falls α=0<br />

τ 2 (⊥)(u)= = 0, falls u'(x)=α=0 =<br />

τ(⊥)(u'), sonst ⊥(u'), sonst ⊥, sonst.<br />

Also gilt:<br />

0, falls α=0<br />

τ 2 (⊥)(u)=<br />

⊥, sonst.<br />

Wegen τ 2 (⊥)(u)=τ(⊥)(u) ist F 0 :=τ(⊥) <strong>der</strong> kleinste Fixpunkt und die Semantik des Programms<br />

P". Man überzeuge sich von <strong>der</strong> Fixpunkteigenschaft durch Einsetzen von<br />

F 0 in die Gleichung τ(F)=F. Das Programm berechnet also die Funktion<br />

0, falls α=0,<br />

F 0 (α)=<br />

⊥, sonst.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!