不動点コンビネータ
グラフ簡約(en:Graph reductionを参照)による計算系では、不動点コンビネータへの適用(apply, application)は理論通り展開しても良いが、左の図のように循環のあるグラフに簡約するという一種の、のぞき穴的最適化が知られている。また、これはカリーのYコンビネータではないが(この図のように)便宜的にYという名前で呼ばれていることもある。
値渡し評価(適用順序)でも使用可能なバージョンのYコンビネータは、通常のYコンビネータの一部をη変換することで与えられる。
Z = λf. (λx. f (λy. x x y)) (λx. f (λy. x x y))
Python での実装。その他のプログラミング言語での実装は無名再帰を参照。
g ( V ) ( x ) {\displaystyle {\boldsymbol {g}}(V)(x)} は以下を満たす:
すなわち
g ( V ) ( x ) = U ( g ( V ) , x ) {\displaystyle {\boldsymbol {g}}(V)(x)=U({\boldsymbol {g}}(V),x)} 。 ...(5)
(1)と(5)を見比べると、(5)は(1)でaを g ( V ) {\displaystyle {\boldsymbol {g}}(V)} に置き換えたものに等しい事が分かる。 (1)はa の(再帰的な)定義式であったので、これはすなわち g ( V ) {\displaystyle {\boldsymbol {g}}(V)} がa の定義式を満たす事を意味する。 よって
a = g ( V ) {\displaystyle a={\boldsymbol {g}}(V)} 。
が成立する事が分かった。