## Lambda Calculus Fixed-Point Operator Y (lazy)

 FP  Lambda   Introduction   Examples    Y (lazy)    Y (strict)

The fixed-point operator (paradoxical combinator) such that Y F = F(Y F):

 ```let Y = lambda G. (lambda g. G(g g)) (lambda g. G(g g)) in let F = lambda f. lambda n. if n=0 then 1 else n*f(n-1) in Y F 10 {\fB Factorial via Y \fP} ```
Note that
Y F = (λ g. F(g g)) (λ g. F(g g))
= (λ h. F(h h)) (λ g. F(g g))   --α conv. (name change)
= F ((λ g. F(g g)) (λ g. F(g g)))   --β redn (substitution)
= F (Y F)
 let Y = lambda G. (lambda g. G(g g)) (lambda g. G(g g)) in let F = lambda f. lambda n. if n=0 then 1 else n*f(n-1) in Y F 10 {\fB Factorial via Y \fP}

And Y even applies to data structures:

 ```let Y = lambda G. (lambda g. G(g g)) (lambda g. G(g g)) in Y (lambda L. 1::L) {\fB 1::1::1:: ... via Y \fP} ```

It is a good idea to print only a finite part of the result.

window on the wide world:
 The Darwin Awards V: Next Evolution

 Linux  Ubuntu free op. sys. OpenOffice free office suite, ver 3.4+ The GIMP ~ free photoshop Firefox web browser FlashBlock like it says!

λ ...
 :: list cons nil the [ ] list null predicate hd head (1st) tl tail (rest)

 © L. Allison   http://www.allisons.org/ll/   (or as otherwise indicated), Faculty of Information Technology (Clayton), Monash University, Australia 3800 (6/'05 was School of Computer Science and Software Engineering, Fac. Info. Tech., Monash University, was Department of Computer Science, Fac. Comp. & Info. Tech., '89 was Department of Computer Science, Fac. Sci., '68-'71 was Department of Information Science, Fac. Sci.) Created with "vi (Linux + Solaris)",  charset=iso-8859-1,  fetched Friday, 21-Oct-2016 06:33:53 EST.