How exactly is the Arabic numeral system defined

foundationsnatural numbersnotationrecursion

I want to be able to do the following things:

  • Define the usual Arabic numeral system for natural numbers.
  • Show that every natural number has a corresponding numeral string.
  • Show that every natural number has a unique corresponding numeral string.

Suppose we assume whatever starting point you would like (e.g. ZFC with von Neumann ordinals, Peano arithmetic). I find this to be a surprisingly interesting task, because the Arabic numeral system is something that pertains to syntax as opposed to the objects themselves. Thus, the above three tasks (as far as I can tell) cannot be done within the usual systems like ZFC (correct me I'm wrong). It seems like we need a system designed to handle strings.

In whatever foundation we start with, we are usually given special symbols to denote $0$ (the unique additive identity) and $1$ (the unique successor number to $0$). Then we can define symbols $2 := 1+1, 3 := 2+1, \ldots, 9 := 8+1$.

Now I am wondering how we can define a correspondence between strings of numeral symbols and natural numbers. I would imagine the best way to proceed is to make a definition by recursion. Given a nonempty string $S$, if $S$ consists of one numeral symbol, refer to the definitions above. If $S$ consists of more than one symbol, it is of the form $Ta$ where $a$ is the right-most symbol and $T$ is the rest of the string, and we define $S$ to stand for $T\cdot \varepsilon + a$ where $\varepsilon := 9+1$ where $T$ stands for another integer.

Now this is a definition by recursion. In set theory, it is possible to justify definition by recursion. But because we are working with syntax and strings, it seems like we are working outside of set theory. My question is, is there a framework in which we can justify the above recursive definition?

Best Answer

There is no issue with handling the existence and uniqueness of base-$b$ representations for an arbitrary base $b$ in ZF or even in Peano arithmetic. Existence and uniqueness of base-$b$ representations says that every non-negative integer $n$ can be written uniquely in the form

$$n = \sum_{i=0}^k d_i b^i$$

where $0 \le d_i \le b-1$ and $d_k \neq 0$ (unless $n = 0$). Furthermore we have $d_i = \left\lfloor \frac{n}{b^i} \right\rfloor - b \left\lfloor \frac{n}{b^{i+1}} \right\rfloor$.

To say all of this in ZF you think of the sequence $d_i$ of digits as a function $\mathbb{N} \to \mathbb{N}$ and define the meaning of $\sum$ by induction in the obvious way. Then the above statement is also proven by induction.

Generally speaking if you want to talk about strings of elements of any set $S$ in ZF you code them as functions $\mathbb{N} \to S$. There is no need to go outside of set theory.

It's slightly more annoying to do this in (first-order) Peano arithmetic because Peano arithmetic is not capable of directly quantifying over functions $\mathbb{N} \to \mathbb{N}$. It can still be done but it requires a way to code finite strings of natural numbers as natural numbers; there are various ways to do this (e.g. Godel did it using prime factorizations, so a natural number $n = \prod p_i^{e_i}$ was used to code the finite string $(e_1, e_2, \dots)$) but they're all kind of annoying. One of them is to use binary representations!

Related Question