Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Explain Fixed Pint Combinator

Name: Anonymous 2012-01-23 16:36

Im stupid, can someone explain to me what the lambda calculus expression for Y combinator: Y = λf·(λx·f (x x)) (λx·f (x x)) means?

Name: Anonymous 2012-01-23 16:42

Y f = f (Y f)

( Y )

Name: Anonymous 2012-01-23 16:46

I get that but how those those parts translate into the lambda expression. I  get the start, of it taking the function f as an argument  but am confused on what the application (λx·f (x x)) does. I just dont see where the X comes into it or how this exactly finds the fixed point

Name: Anonymous 2012-01-23 17:15


fact = λf.λn.if n = 0 then 1 else n * f(n - 1)

factr = Y fact                        
      = (λf.(λx.f(xx))(λx.f(xx))) fact       [definition of Y]
      = (λx.fact (xx)) (λx.fact (xx))        [β-reduce]
      = fact ((λx.fact (xx)) (λx.fact (xx))) [β-reduce]

factr 3
= fact ((λx.fact (xx)) (λx.fact (xx))) 3 [definition of factr]
= (λf.λn.if n = 0 then 1 else n * f(n - 1))
   ((λx.fact (xx)) (λx.fact (xx))) 3     [definition of fact]
= if 3 = 0 then 1                        [β-reduce]
  else 3 * ((λx.fact (xx)) (λx.fact (xx))) (3 - 1)
= 3 * ((λx.fact (xx)) (λx.fact (xx))) 2  [3 = 0 is false, if false then T else F is F]
= 3 * fact ((λx.fact (xx)) (λx.fact (xx))) 2  [β-reduce]

Name: Anonymous 2012-01-23 17:31

I really have only a basic idea of lambda calculus, can someone explain to me how (λx·f (x x)) (λx·f (x x))  converts to plain english. And how Y even finds the fixed point

Name: Anonymous 2012-01-23 18:34

Plain English won't help. If you understand >>2, here's how to get there:

Y g = λf.(λx.f (x x)) (λx.f (x x)) g
    replace f with g:
    = (λx.g (x x)) (λx.g (x x))
    apply the first part to the second:
    = g (λx.g (x x)) (λx.g (x x))
    the second part is equal to where we started:
    = g (Y g)

Name: Anonymous 2012-01-23 19:56

ok thank you I get that now, but what I still dont get is where is the fixed point being returned? I mean if I do Y(g(x)) with g(x)=x^2 where and how along the execution does the solution 1 arises

Name: Anonymous 2012-01-23 19:56

I don't understand any of this gobbledygook, but this helps:

http://en.wikipedia.org/wiki/Fixed-point_combinator#Example_in_Common_Lisp

That clears it up for me in a computation language that makes everything clear and explicit.

Thank fucking god for funcall and apply.

Name: Anonymous 2012-01-23 20:14

Name: Anonymous 2012-01-23 20:15

>>7
http://en.wikipedia.org/wiki/Fixed-point_combinator
Whereas a fixed-point of a first-order function (a function on "simple" values such as integers) is a first-order value, a fixed point of a higher-order function f is another function p such that p = f(p). A fixed-point combinator, then, is a function g which produces such a fixed point p for any function f:
    g(f) = p, where p = f(p)
or, alternatively:
    g(f) = f(g(f)).

Name: Anonymous 2012-01-23 20:44

Check my dubs

Name: Anonymous 2013-09-01 19:53


 In addition to the team aspect, Super Sentai also has a large emphasis on super robots and big scale setpiece battles. Ultraman has big scale fights too, but lacks mecha.

Name: Anonymous 2013-09-01 20:39


 no but really I AM GAY YOU FUCKING SHIT AND I DEMAND EVERYONE ACCEPT ME

Don't change these.
Name: Email:
Entire Thread Thread List