Comment by bloppe

1 year ago

It's easier to remember if you use a more common notation:

    (Y(f))(x) = f(f(f(...(x)...)))

Or express it in python, which is still a bit weird but probably still more readable than pure LC to pretty much everybody:

    def Y(f):
        return lambda x: f(Y(f)(x))

> (Y(f))(x) = f(f(f(...(x)...)))

I think that should be (Y(f))(x) = f(f(f(...)))(x)

  • Think of f as a function that takes a value and returns a value. Y takes a function and returns a function. Y(f) returns a new function that takes a value and applies f to it, recursively forever, ultimately converging on a value (or infinity).

    In your example, f(...) would have to return a function that is then applied to x.

    I realize there are no non-function values in LC.