33

I was reading this reddit thread and I got confused by one part. I always thought that there is always a "true" value of BB(n), even though it might not be provable or findable.

There is a 745-state Turing Machine that halts iff ZFC is inconsistent. By Gödel's second incompleteness theorem, ZFC cannot prove BB(745) = n for any number n. Otherwise we can use it to prove ZFC is consistent.

So, let $k$ be the true value of BB(745). For any $n \neq k$, ZFC can prove that $BB(745) \neq n$. If $n < k$, then find a Turing machine that halts after $k > n$ steps. If $n > k$, simulate all 745-state Turing machines, and none of them halt in exactly $n$ steps.

But since ZFC doesn't prove that $BB(745) = k$, we can add $BB(745) \neq k$ as an axiom. Then, for all natural numbers $n$, the new system proves $BB(745) \neq n$. But there is a natural number that is BB(745). Apparently this is not inconsistent, merely $\omega$-inconsistent.

But those systems have a model. In those models, BB(745) is a nonstandard natural number. There is a Turing machine that halts in a nonstandard number of steps. This is the part that I don't understand.

My questions are:

  • Is there a number that is the "true" value of BB(745), even though we might never know what it is? Intuitively, it seems like there should be such a number, since Turing machines are computer programs that we can run in the real world.
  • What makes some natural numbers "standard" and others "nonstandard"? 0,1,2,3, ... are standard. Are Graham's number and TREE(3) nonstandard?
  • What does it mean for a Turing machine to halt in a nonstandard number of steps? If it halts, then it halts in some number of steps, so ZFC proves it halts by simulating the Turing machine for that number of steps. How can the same Turing machine halt in one model of ZFC but not halt in another?
psmears
  • 790
David Lui
  • 6,899
  • 1
    The busy beaver function does not tell you the maximal number of steps a Turing machine with a given number of states can run before halting. It tells you the maximal number of ones written on the tape when the machine halts. If $n > k$, it is not sufficient to simulate all the Turing machines for $n$ steps, since there may be more ones written later. – Tzimmo May 07 '25 at 13:23
  • 6
    @Tzimmo There have been various definitions of the busy beaver function, but these days the more popular one is just counting the number of steps; in particular, that is the definition the result about $BB(745)$ is using. See this PDF, for example - the busy beaver function is defined on p. 2. – Misha Lavrov May 07 '25 at 13:25
  • 4
    Nonstandard natural numbers are not natural numbers at all, rather they are the objects of nonstandard models of arithmetic (moreover they are the objects in such models that aren't in the initial segment that the natural numbers embed into). – spaceisdarkgreen May 07 '25 at 13:32
  • 4
    (And I guess I should add that there are nonstandard models of ZFC whose natural numbers are nonstandard models of arithmetic… there are a lot of questions and answers about this stuff on the site if you search around.) – spaceisdarkgreen May 07 '25 at 13:58
  • 2
    "There is a 745 states Turing Machine that halts iff ZFC is inconsistent." - this statement is at least ambiguous because the quantifier usually binds stronger than equivalence. I think it should be disambiguated, e.g. as "There is a 745 states Turing Machine such that: the machine halts iff ZFC is consistent." – Adayah May 08 '25 at 08:34
  • 2
    @Adayah: Perhaps that is pedantically required, but the opposite interpretation is absurd because it is trivial to construct a machine with n states that halts immediately. – Kevin May 08 '25 at 09:31
  • @Kevin That's true, but the first time I read this it didn't even occur to me that there is this other interpretation, I was mentally stuck with the absurd one. – Adayah May 08 '25 at 15:14
  • @Adayah: Perhaps it's just my computer science background, but I tend to read statements like this as if they are already in prenex normal form, in which quantifiers always bind last. – Kevin May 08 '25 at 15:17
  • Regarding the existence of a 'true' value, if you believe that the set of natural numbers $\mathbb N$ 'truly' goes on forever with all its inductive properties, so that every $\Sigma_1$ statement about natural numbers has a definite truth value, then $\operatorname{Con}(\mathsf{ZF})$ has a 'true' answer, and the ZF machine either 'truly' halts or 'truly' doesn't. (There may be other $745$-state machines that depend on stronger consistency statements.) I sometimes like to toy with the idea of rejecting the antecedent, but that borders on ultrafinitism, which people generally frown upon. – LegionMammal978 May 08 '25 at 17:01
  • ZFC might prove it halts in different ways than simulating that number of steps (and for nonstandard natural number of steps, ZFC can't prove it by simulating). – Carla_ May 08 '25 at 20:03
  • Assuming ZFC is consistent, there would exist some consistent theory stronger than ZFC (i.e. with stronger axioms) that might prove that BB(745) equals some value. Ofc that theory in turn would be able to prove values of BB(n) for n only so large, after which you'd need an even stronger consistent theory. – rus9384 May 10 '25 at 17:14

2 Answers2

33

Whether there is a "true value" of $\mathbf{BB}(745)$ cannot definitively be settled by real-world experiment. Imagine that we run the $745$-state Turing machines and in parallel search for proofs that they halt. We'll end up with some that halt (getting us a candidate for $\mathbf{BB}(745)$), some that provably never halt (which we can ignore), and at least one for which we can never be certain either way.

If we're very lucky, the only leftover Turing machine is the that only halts if ZFC is inconsistent. In this case, we can say, "assuming ZFC is consistent, $\mathbf{BB}(745)$ is this value, otherwise we're not sure yet".

In practice, there will almost certainly be lots of Turing machines we don't understand, no matter how long we keep going for.

At the very least, there cannot be "competing true values" of $\mathbf{BB}(745)$. If I claim that $\mathbf{BB}(745) = x$ and my friend claims that $\mathbf{BB}(745) = y > x$, then we can see which of us is wrong by running all $745$-state Turing machines for $y$ steps. If there is one that halts after $y$ steps, then I am wrong (but my friend might not be right). If not, then my friend is wrong (but I might not be right).


A non-standard natural number is in some sense, a figment of the imagination of a consistent but $\omega$-inconsistent set of axioms. Suppose I have a function $f \colon \mathbb N \to \mathbb N$ and a set of axioms in which, for every $k \in \mathbb N$, there exists a proof that $f(745) \ne k$. (Note that there is not, necessarily, a proof that for every $k \in \mathbb N$, $f(745) \ne k$.)

Then this set of axioms is broken and bad and models of it are modeling nonsense. But if we're working in this set of axioms, we can work with the value $f(745)$ as though it were a natural number, use it in proofs, and so on. In a model of these axioms, there will be an object we call $f(745)$, though that object is not something that is reached by counting up from $0$.

Is $\mathrm{Tree}(3)$ standard? Well, we have a proof in ZFC that $\mathrm{Tree}(3)$ exists, so ZFC "thinks" it's standard. Assuming the $\omega$-consistency of ZFC, that settles the matter.

But in some sense, working with $\mathrm{Tree}(3)$ is a lot like working with non-standard natural numbers. If you spend your whole life counting (or even using "normal" arithmetic operations like multiplication and exponents and addition) you will never get a value that's not provably smaller than $\mathrm{Tree}(3)$, and that is the same experience we'd have if ZFC were $\omega$-inconsistent and $\mathrm{Tree}(3)$ were a nonstandard natural number.


As for Turing machines that halt in a non-standard number of steps - well, in practice, they don't halt, because if you run the Turing machine for $k$ steps and it halts, the description of your computation is a proof that it halts in $k$ steps that any consistent model of arithmetic should accept. But, well, what can you do with a Turing machine that hasn't halted yet?

You can try to prove something about whether it halts or not. And the $\omega$-inconsistent set of axioms you've chosen will supply such a proof - it will prove that it halts! It will prove that it halts without giving you a way to compute how many steps it halts in, and in fact, for every $k$ you name, there will be a proof that the Turing machine halts in more than $k$ steps.

Again, because we don't know that the axiomatic systems we work with are $\omega$-consistent, this will feel a lot like looking at a Turing machine that runs for $\mathrm{Tree}(3)$ steps. ZFC claims that this Turing machine halts, but in practice, it will not halt in any real-world computation, because any real-world computation will not run for long enough. For every $k$ you name that you can count to, there will be a proof that the Turing machine halts in more than $k$ steps.

Misha Lavrov
  • 159,700
  • "and at least one for which we can never be certain either way" Shouldn't this be "and at least one for which we can never be certain either way (from the assumption that ZFC is sound)"? It's theoretically possible that we "ascertain" the soundness of a stronger theory that settles BB(745). – user76284 May 13 '25 at 21:57
  • @user76284 You're right. Well, more precisely, in the experiment I described, I assumed that the search for proofs of halting is done in ZFC - that's the part of the process that depends on the axiomatic system we work in. If we swap this out, then things may go differently (but of course we can then swap out BB(745) for a different Busy Beaver value). – Misha Lavrov May 13 '25 at 22:58
0

For all n, BB(n) is a well-defined natural number because it's defined as maximum of the amount of steps of all halting n-state turing machines.A maximum of a finite amount of natural numbers must be a natural number.As for the 745-state machine which checks consistency of ZFC,it halts if and only if ZFC is inconsistent,so the only thing BB(n) tells us is that if it doesn't halt within BB(745) steps,it by definition can't halt later,so it doesn't halt.BB(n) isn't a computable function,and it grows faster than any computable function,so even upper-bounding BB(n) is uncomputable.

  • This is not really engaging with the core difficulty, which is that it's not intuitively clear that the set of all halting $n$-state Turing machines is well-defined, since we cannot check this condition! – Qiaochu Yuan Jun 15 '25 at 17:06
  • Then the core question is "do we accept halting of a turing machine to be well-defined,no matter whether it can be actually decided". A view of mine and many others (e.g Godel) is "yes",as I find such statements "platonically true",but some disagree (e.g Wittgenstein). – Michał_Swoboda Jun 15 '25 at 19:29