If we continue in this direction, we end up defining `l^r` (where `2^5` is `32`) either as `r (mul l) one` or as the *application* `r l` of `r` to `l`.
Not all of the arithmetic encodings are so neat and elegant, however. As we mentioned, `pred` takes some ingenuity. We'll also have you define `zero?` and <code>≤</code> for homework.
If we continue in this direction, we end up defining `l^r` (where `2^5` is `32`) either as `r (mul l) one` or as the *application* `r l` of `r` to `l`.
Not all of the arithmetic encodings are so neat and elegant, however. As we mentioned, `pred` takes some ingenuity. We'll also have you define `zero?` and <code>≤</code> for homework.