Lazy K で短い前者関数
前者関数を
(lambda(n f x)(n (lambda(g h)(h (g f))) (lambda(u) x) (lambda(u) u)))
と定義すると、Lazy K では
S(S(KS)(S(K(S(KS)))(S(S(KS)(S(K(S(KS)))(S(K(S(KK)))(S(S(KS)K)(K(S(K(S(K(SI))))(S(K(S(KK)))(S(K(SI))K))))))))(K(KK)))))(K(K(KI)))
となって、かなり長いけど、
(lambda(n) (n (lambda(g h)(h (g 1+))) (lambda(u) 0) (lambda(u) u)))
と定義すると、
S(S(SI(K(S(K(SI))(S(KK)(SI(K(S(S(KS)K))))))))(K(K(KI))))(KI)
まで短くなる。