Page 226
Location: Chapter 24, solution to Problem 7
The issue
Note: the exponentiating bird is represented in the following with the symbol \varepsilon.
The exponentiating bird is said to be able to evaluate the expression n^m for any two natural numbers n and m.
Still, what is its behaviour when n=m=0? Using the definition of \varepsilon and applying the rules, one finds that
i.e. 0^0=1, against the mathematical fact that the result is undefined.
Possible workarounds
Dealing separately with the case m=n=0 in the expression simply requires
to stack another zero-tester Z in front of the given formula for \varepsilon.
Still, what should the bird return in that case? An option would perhaps be that
of introducing a special number bird standing for "undefined", thus enlarging the set
over which the arithmetic birds operate much in the same way as nan and inf
are treated by the arithmetic units within most CPUs.