We've had surprising success embedding normal arithmetic in the Lambda
Calculus, modeling the natural numbers, addition, multiplication, and
so on. But one thing that some versions of arithmetic supply is a
-notion of infinity, which we'll write as `inf`. This object usually
+notion of infinity, which we'll write as `inf`. This object sometimes
satisfies the following constraints, for any finite natural number `n`:
n + inf == inf
n ^ inf == inf
leq n inf == true
- (Note, though, that with some notions of infinite numbers, operations like `+` and `*` are defined in such a way that `inf + n` is different from `n + inf`, and does exceed `inf`.)
+ (Note, though, that with *some* notions of infinite numbers, like [[!wikipedia ordinal numbers]], operations like `+` are defined in such a way that `inf + n` is different from `n + inf`, and does exceed `inf`; similarly for `*` and `^`. With other notions of infinite numbers, like the [[!wikipedia cardinal numbers]], even less familiar arithmetic operations are employed.)
-9. Prove that `add 1 ξ <~~> ξ`, where `ξ` is the fixed
-point you found in (1). What about `add 2 ξ <~~> ξ`?
+9. Prove that `add ξ 1 <~~> ξ`, where `ξ` is the fixed
+point you found in (1). What about `add ξ 2 <~~> ξ`?
Comment: a fixed point for the successor function is an object such that it
is unchanged after adding 1 to it. It makes a certain amount of sense
to use this object to model arithmetic infinity. For instance,
depending on implementation details, it might happen that `leq n ξ` is
true for all (finite) natural numbers `n`. However, the fixed point
-you found for `succ` may not be a fixed point for `mult n` or for
-`exp n`.
+you found for `succ` and `(+n)` (recall this is shorthand for `\x. add x n`) may not be a fixed point for `(*n)` or for
+`(^n)`.
## Mutually-recursive functions ##