twice

0 = \fn. n
1 = \fn. f n
2 = \fn. f (f n)
...

(.) = \gfn. g (f n)
twice = \f. f . f
      = \n. f (f n)
      = 2
(^) = \xy.\fn. (y x) f n

\fn. twice twice f n = twice ^ twice = 2 ^ 2
\fn. twice twice twice f n = (twice twice) twice = twice ^ (twice ^ twice) = 2 ^ (2 ^ 2)
\fn. twice twice twice twice f n = ((twice twice) twice) twice = twice ^ (twice ^ (twice ^ twice)) = 2 ^ (2 ^ (2 ^ 2))

頭悪いので数時間やったよ。

いやこれは違うじゃん

あってた かきまちがえだた…