0

The usual definition of a finite number $n$ in the ZFC set theory is $n\in\mathbb{N}$, which is equivalent to "$n$ is 0 or a successor ordinal, and so are all its elements". But this is not obviously equivalent to the intuition of a finite number, which would rather be a group of sticks that one can draw on a paper or a wall. And by the compactness theorem, we can consistently add a new constant symbol $c$ to ZFC, together with the axioms $c\in\mathbb{N}$ and $0 < c, 1 < c, 2 < c, ...$ We call numbers such as $c$ non standard.

I am particularly interested in proving the termination in finite time of certain algorithms or computer programs. And I am now concerned with the following type of reasoning : assume by contradiction that for all $n\in\mathbb{N}$, the program runs for more than $n$ steps, and derive a contradiction. Conclude that there exists an $n\in\mathbb{N}$ such as the program terminates in less than $n$ steps. What if this number $n$ was non standard ? It would prove nothing regarding the intended meaning of termination of a program.

Is there a meta-theoretical property of ZFC, telling that every definable $n\in\mathbb{N}$ is standard ? Or telling that the proved existing $n$ above is standard ?

V. Semeria
  • 1,279
  • I'm not sure what your question is. But you might be interested in this blog post by Joel David Hamkins. In it he does exactly what you're describing, and shows that every function is computable in some nonstandard model of $\mathbb{N}$. – HallaSurvivor Jun 04 '21 at 07:52
  • @HallaSurvivor Thanks, this blog is interesting indeed. Question updated. – V. Semeria Jun 04 '21 at 08:40
  • We say that a model of ZF is an $\omega$-model if it has only standard natural numbers. – Asaf Karagila Jun 05 '21 at 09:05
  • In a nutshell, ZFC is your basis, your foundation. Working inside a model of ZFC whatever is considered finite there is finite. Working externally to a model of ZFC, the definition of finite is that of the meta-universe, and you can treat the model as any other model of a theory of arithmetic, from RA to PRA to PA. – Asaf Karagila Jun 05 '21 at 09:09
  • @AsafKaragila Then to prove that my algorithms terminate, it seems I need more than an $n\in\mathbb{N}$, rather some sort of computable number or explicit value SSSS...S0 that bounds the number of execution steps. Can ZFC do that ? – V. Semeria Jun 05 '21 at 14:53

0 Answers0