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>-27<br />

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

F(u)=<br />

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

Setzt man<br />

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

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

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

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

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

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

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

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

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

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

Hierbei ist<br />

G(u)=D[ val x=x-1]u=u+{x=E[x-1]u}=u+{x=E[x-1]u-1}=u+{x=α-1}<br />

={x=α-1, c=1, f=(x, if x=0 then c else f(x-1),{c=1})}<br />

und folglich<br />

G(u)(x)=α-1.<br />

Also gilt:<br />

1, falls α=0<br />

τ 2 (⊥)(u)= 1, falls α=1<br />

⊥, sonst.<br />

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

τ 3 (⊥)(u)= = 1, falls G(u)(x)=0 = 1, falls α-1=0<br />

τ 2 (⊥)(G(u)), sonst 1, falls G 2 (u)(x)=0 1, falls α-2=0<br />

⊥, sonst ⊥, sonst.<br />

Hierbei gilt – wie oben – G 2 (u)(x)=α-2. Also insgesamt<br />

1, falls α=0<br />

τ 3 (⊥)(u)= 1, falls α=1<br />

1, falls α=2<br />

⊥, sonst.<br />

Dann gilt offenbar allgemein:<br />

1, falls 0≤α≤n-1,<br />

τ n (⊥)(u)=

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!