We now argue that all computable functions can be described in the
lambda calculus. As is usual in computability theory, we restrict our
attention to functions on natural numbers. Recall that we can encode
natural numbers in the lambda calculus via the Church numerals
. Our goal now is to show that
for every computable function
we can find a
lambda term
that encodes
so that for every
-tuple
In other words, the result of applying the encoding of to the
encodings of the arguments
,
, ...,
should be the
encoding of the result
. Notice that on the
left hand side we have used currying to break up the
-tuple of
arguments to
into a sequence of
arguments to
.