24.01.2014 Views

Formalny opis rachunku lambda i nie tylko, kolejna wersja

Formalny opis rachunku lambda i nie tylko, kolejna wersja

Formalny opis rachunku lambda i nie tylko, kolejna wersja

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Pokażemy, że term F = Hc 0 definiuje funkcję f. Nietrudno zauważyć, że jeżeli<br />

wartość f(m) jest określona, to dla pewnego k mamy<br />

Wobec tego mamy następującą redukcję<br />

g(m, l) ≠ 0 dla l < k oraz g(m, k) = 0.<br />

F c m = Hc 0 c m → β Hc 1 c m → β . . . Hc k−1 c m → β Hc k c m → β c k = c f(m) .<br />

Natomiast jeżeli f(m) <strong>nie</strong> jest określona i g(m, k) ≠ 0 dla wszystkich k, to<br />

mamy <strong>nie</strong>skończoną redukcję<br />

F c m = Hc 0 c m → β Hc 1 c m → β Hc 2 c m → β . . .<br />

która jest quasi-normalna. Z wniosku 9.6 otrzymujemy, że term F c m <strong>nie</strong> ma postaci<br />

normalnej.<br />

Pozostaje podać konstrukcję termu H. Wymaga to posłużenia się operatorem<br />

punktu stałego. Musi to być szczególny operator, gwarantujący wymagane własności<br />

H. Takim może być tzw. operator Turinga. Niech więc<br />

1) A = λxy.y(xxy),<br />

2) Θ = AA,<br />

3) M = λhxy.Zero(Gyx)x(h(Sx)y).<br />

Wtedy<br />

H = ΘM = AAM → β M(AAM) = MH → β λxy.Zero(Gyx)x(H(Sx)y)<br />

i zachodzą wymienione wcześ<strong>nie</strong>j własności H. ✷<br />

10.9 Nowsze rozumie<strong>nie</strong> definiowalności<br />

Funkcje definiowalne według Churcha mają może nawet bardzo intuicyjną definicję,<br />

ale jest ona zbyt restrykcyjna i trudno się nią posugiwać. Często inaczej<br />

formułuje się warunek <strong>nie</strong>określoności funkcji.<br />

Term M nazywamy rozwiązalnym (ang. solvable), jeżeli ist<strong>nie</strong>ją termy N 1 , . . . , N k<br />

takie, że<br />

(λx 1 . . . x n .M)N 1 . . . N k = I,<br />

gdzie zmienne x 1 , . . . , x n są wszystkimi zmiennymi wolnymi w termie M.<br />

Nietrudno zauważyć, że numerały Churcha są rozwiązalne. Mamy bowiem<br />

c n II = I. Także term xy(ωω) (gdzie ω = λz.zz) jest rozwiązałny, po<strong>nie</strong>waż<br />

(λxy.xy(ωω))KI = I, jednak <strong>nie</strong> ma on postaci normalnej.<br />

Mówimy, że term jest w głowowej postaci normalnej, jeżeli jest on postaci<br />

λx 1 . . . x n .xN 1 . . . N m ,<br />

gdzie m i n są dowolnymi liczbami naturalnymi, także mogą być równe 0, x oraz<br />

x 1 , . . . , x n są dowolnymi zmiennymi, a N 1 . . . N m są dowolnymi termami.<br />

Term ωω <strong>nie</strong> ma głowowej postaci normalnej.<br />

Lemat 10.8 Zachodzą następujące fakty:<br />

1) Term w postaci normalnej jest w głowowej postaci normalnej.<br />

31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!