javascript - Y combinator: Some functions do not have fixed points -


the wikipedia article on y combinator provides following javascript implementation of y combinator:

function y(f) {     return (         (function (x) {             return f(function (v) { return x(x)(v); }); })         (function (x) {             return f(function (v) { return x(x)(v); }); })     ); } 

the existence of y combinator in javascript should imply every javascript function has fixed point (since every function g, y(g) , g(y(g)) should equal).

however, isn't hard come functions without fixed points violate y(g) = g(y(g)) (see here). functionals not have fixed points (see here).

how proof every function has fixed point reconcile given counter-examples? javascript not untyped lambda calculus in proof y(g) = g(y(g)) applies?

the problem lambda expressions cannot interpreted functions in mathematical sense, i.e. mappings 1 set another.

the reason cardinality of set of functions set a on larger cardinality of a, not functions a a can element of a. is, there function f: -> a expression f(f) not make sense.

this "set of sets not containing itself", not make sense logically.

javascript not model of lambda calculus.

the problem example that

(lambda x.g(x x)) (lambda x.g(x x)) 

should equivalent to

g((lambda x.g(x x)) (lambda x.g(x x))) 

but not in javascript program g indicator function of 0.

x x undefined. hence first line evaluates g (undefined) = 0. second line evaluates g (g (undefined)) = g (0) = 1. means javascript model of lambda calculus is, in fact, not model.

since each non-empty set d there function d d without fixed point, there can no model of lambda calculus. think should possible prove there cannot implementation of y-combinator in turing-complete language.


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -