Now that we know how to convert recursive definitions into lambda
terms, we can encode minimalization as follows. Assume that we want
to define a function
by minimalization from a
function
for which we already have an
encoding
. We begin with a recursive definition of a
term
as follows.
Let be the lambda term corresponding to
after
unravelling the recursive definition. The encoding
of
is then
.
All that remains is to provide an encoding for the predicate iszero.