0

I've learned that one can represent natural numbers with lambda calculus like this:

\begin{align*} c_0 &= \lambda s. \lambda z. z\\ c_1 &= \lambda s. \lambda z. s~z\\ c_2 &= \lambda s. \lambda z. s~(s~z)\\ c_3 &= \lambda s. \lambda z. s~(s~(s~z))\\ \end{align*}

But could one also write

\begin{align*} c'_0 &= \lambda z. \lambda s. z\\ c'_1 &= \lambda z. \lambda s. s~z\\ c'_2 &= \lambda z. \lambda s. s~(s~z)\\ c'_3 &= \lambda z. \lambda s. s~(s~(s~z))\\ \end{align*}

?

Why / why not?

Andrej Bauer
  • 31,657
  • 1
  • 75
  • 121
Martin Thoma
  • 2,360
  • 1
  • 22
  • 41

1 Answers1

2

Sure, except it's going to be more painful to use the numbers with the swapped arguments because in many cases you want to apply a Church numeral only to the argument $s$ and leave $z$ specified. Thus, instead of writing $c_n \, e$ you will have to write $\lambda z . c'_n \, z \, e$ whenever that happens.

Andrej Bauer
  • 31,657
  • 1
  • 75
  • 121