recursive function to calculate the factorial
including illegal implicit recursion:
locating illegal implicit recursion:
eliminating illegal implicit recursion:
simplified representation:
where:
The recursion is eliminated by enclosing the recursive function
in a lambda abstraction, that receives the function to be
invoked recursively as an argument.
Using definition 12 and the result in step 4
is identified as a fixed point of
.
Therefore we can write:
The function to calculate the
factorial can now be rewritten as:
To compute the factorial of
the following expression has to be evaluated: