Hacker News new | ask | show | jobs
by Kranar 357 days ago
Yes the issue has to do with "never stops". One of the machines that never stops in one model will stop in another model.

So in one model a Turing Machine called R never stops. In another model R stops after Q steps. But here's the issue... Q isn't an actual natural number, what it is is some mathematical object that satisfies all of the properties of a natural number in ZFC, but is not an actual natural number. What it actually is is some infinitely large object that satisfies all of the Peano axioms of what a natural number is as well as satisfies the following set of rules:

   Q > 0
   Q > 1
   Q > 2
   Q > 3
   ...
Q is basically some infinitely large construct that from within the model appears to be finite, but from outside of the model is not finite.

So within this model, the Turing machine R halts after Q steps, and since from within the model Q is finite then from within this model BB(748) is at least equal to Q.

If BB(748) is actually 10,000, then we can add this as an axiom to ZFC to get a new formal theory ZFC + "BB(748) = 10000".

In this new theory the previous structure that contained Q as an element will not satisfy the definition of a natural number, so we don't have to worry about Q anymore... however, there will exist some number T > 748 where BB(T) is independent of our new theory. For BB(T), there will exist some other model that has its own Q* which satisfies all of our axioms including the axiom that BB(748) = 10000, but also that

    Q* > 0
    Q* > 1
    Q* > 2
    Q* > 3
    ...
And rinse and repeat...
1 comments

What do you mean, Q isn’t a natural number? If you had unlimited time and paper, you could sit down and run the machine by hand, counting each step, until it reaches the halting state. You will have counted Q steps. Or the machine never stops. There’s no such thing as a machine that stops after a number of steps defined by an infinitely large construct. There are machines that stop after some whole number of steps, and there are machines that don’t stop. There are no others.

If there’s another model where this machine doesn’t stop, then that means that at some point during this process, you reach a particular machine state and tape contents and transition to a different state than you did in the first model. That has to happen, because otherwise the execution follows the same process as before, and halts at Q steps. But the mechanics of the machine don’t depend on your theory. They’re just state transitions and tape operations.

>What do you mean, Q isn’t a natural number?

Q isn't a natural number because natural numbers must be finite, but Q is infinitely large.

>If you had unlimited time and paper, you could sit down and run the machine by hand, counting each step, until it reaches the halting state. You will have counted Q steps.

What if the machine never stops? How many steps will you run before you decide that the machine never halts?

>There’s no such thing as a machine that stops after a number of steps defined by an infinitely large construct.

There's no such thing as an actual machine that stops after an infinite number of steps, but that's not the issue. The issue is that ZFC has different models with conflicting definitions of what infinite is. In one model there is an object called Q that satisfies all of the properties in ZFC of being a natural number, but is infinitely large. In this model the Turing Machine halts after Q steps. But there is another model, called the standard model, and in this model there is no Q, all elements of this model are actually finite, and in this model the Turing machine never halts.

ZFC doesn't know which of these two models is the "real" model of natural numbers. From within ZFC both of these models satisfy all properties of natural numbers. It's only from outside of ZFC that one of these models is wrong, namely the model that contains Q as an element.

You can add more axioms to ZFC to get rid of the model that has Q as an element, but if the resulting theory containing your new axiom is consistent, then it necessarily follows that there is some other model that will contain some element Q* which is also infinitely large but from within the theory satisfies all of the new/stronger properties of being a natural number.

> In one model there is an object called Q that satisfies all of the properties in ZFC of being a natural number, but is infinitely large. In this model the Turing Machine halts after Q steps.

That doesn’t make any sense. A Turing machine can’t halt after a infinite number of steps. It either halts after a finite number of steps, or it never halts.

I’m sure there are models of hypercomputation and corresponding “what’s the largest number of steps they can run?” functions that would admit infinities, but those would not be Turing machines and the function would not be the Busy Beaver.

It's not about hypercomputation.

What the commenter above you said doesn't make sense in our daily life, but it makes perfect sense when in comes to non-standard models.

You got confused because you're thinking natural numbers as something we can count in real physical world, which is a perfectly sane mental model, and that is why there was a comment above said:

> People find that weird because they don't think about non-standard models, as arguably they shouldn't.

Q is not a number you can actually count, so it doesn't fit into our intuition of natural number. The point is not that Q exists in some physical sense in real life, like "3" in "3 apples" (it doesn't). The point is that ZF itself isn't strong enough to prevent you from defining random shit like Q as a natural number.

> The point is not that Q exists in some physical sense in real life

Ultrafinitism? If you'd run the Turing machine that performs BB(748) steps in a physical universe that admits it, you'd get a physical representation of BB(748). If you have a competing theory about which Turing machine computes BB(748), you can run them both alongside in this universe and see with your own eyes which one finishes first.

I guess from ultrafinitist's point of view such universe has different mathematics, but isn't it a fringe viewpoint in mathematical circles?

> ultrafinitism

I'm not sure what flavor of ultrafinitism you're referring here. If it's the "very big numbers, like TREE(3), are not natural numbers as they are far bigger than the number of atoms in this universe..." kind, then it has nothing to do with what this is about.

> physical representation

> your own eyes

Non standard models of ZFC have nothing to do with our physical world. That's why no physicist or engineer cares about them (or cares about axiom systems at all). So we need to be very careful when connecting the idea of physical, running "stuff" to the discussion of ZFC.

Anyway, back to

> you can run them both alongside in this universe and see which one finishes first

There are two Turing Machines, Foo and Bar. We build and run them in our physical universe. Foo halts at the standard BB(748) steps. Bar just keeps running and running. That's what we will see with our own eyes.

The issue is that when we try to reason out whether Bar will ultimately halts, ZFC doesn't prevent us from defining a non-standard model where Bar halts after a non-standard number of steps. Note that the physical Bar will not halt in our universe. The "non-standard number of steps" is as nonsense as it sounds. It's just that ZFC doesn't prevent us from defining such a nonsense. The point of ZFC is it's compatible with almost all the useful, sane math. It's not necessarily incompatible with bullshit and insane math.

That is it. The fact that Bar is still keeping running in our universe is completely irrelevant.

But Q is a number you can actually count, for a definition of “actually” that includes unimaginably large space and time. That finiteness comes from the basic mechanics of the Turing machine, which don’t depend on your mathematical axioms.

Sure, you can come up with a set of axioms where the natural numbers include infinities. You may be able to use it to prove interesting things. But all that does here it make it so that the set of numbers describing how many steps a Turing machine runs before it stops is no longer the “natural numbers.”

There is a lot of nuance you are skipping over that needs to be fully appreciated if you wish to understand this topic.
I can accept that there is a lot of nuance on the math side that I’m completely missing, but the Turing machine side is really straightforward. A Turing machine either never stops, or it stops after a finite number of steps. If it stops, the number of steps that it runs is a finite whole number, no different from “three” in its relationship to infinity or its theoretical ability to be written down. This doesn’t depend on your mathematics, only on your Turing machine.
The point is that when it "never stops", there are models of ZFC in which the "infinity" number of steps it runs for isn't considered infinity by the model, it's a made-up "nonstandard" number that is smaller than infinity but larger than any integer. And that model considers that to be "halting", so that model says the TM halts.