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, like [[!wikipedia ordinal 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 <~~> ξ`?
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` and `(+n)` may not be a fixed point for `(*n)` or for
+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)`.