4

I understand that if f

  1. Grows faster than BB
  2. Is computable
  3. Can be proven to have the first property

we can use it as an oracle to solve the halting problem. But let's say f is computable, grows faster than BB but cannot be proven to grow faster than BB. That won't let us answer the halting problem.

Is such a function known not to exist?

azani
  • 623
  • 1
    Why don't you make your question self-contained ? Busy beaver. The halting problem can be solved if we know all the Turing machines of length $\le N$ that halt do it in less than $bb(N)$ steps. If $\forall N, f(N) \ge bb(N)$ then you can use $f$ as an oracle to solve the halting problem. – reuns Oct 21 '17 at 03:29
  • I don't understand your objection reuns. Do you mean "BB" is not clear-enough a reference to the busy beaver number? – azani Oct 21 '17 at 03:31
  • Of course, and most people don't remember how exactly BB is related to the halting problem. What is your question then ? Also if $f \ge bb$ it won't be easy to prove it is (since both $f,bb$ will be defined by some formulas $\forall N, \exists f(N), \ldots$) – reuns Oct 21 '17 at 03:34
  • reuns, my point was that for f to be an oracle to solve the halting problem, you have to know it is actually growing faster than BB. But that doesn't preclude f from existing. Only from having us know it does grow faster than BB. – azani Oct 21 '17 at 03:36
  • Why do you think (3) is needed to solve the halting problem? – Eric Wofsey Oct 21 '17 at 03:38
  • The function $N \mapsto bb(N)$ does exist as well as the oracle for the halting problem, but it is useless from the algorithmic perspective. In other words, what is useful is its non-existence from the computable/algorithmic perspective (the function $bb$ doesn't exist in the computable world, even if $bb(N)$ is computable for $N$ not too large.) – reuns Oct 21 '17 at 03:38
  • Eric, I was confused apparently. It seems to be obvious to me that for an oracle to be an oracle, you must be able to show it is an oracle. But upon further thoughts and thanks to Reese's answer below, I realize I was wrong. – azani Oct 21 '17 at 03:42

1 Answers1

4

The argument showing that a computable function growing faster than $BB$ permits computation of the halting problem does not depend on the provability, unless you want to be able to prove that your solution is a solution to the halting problem. Here's the idea: we can take any computable function $f$ we like and use it to "pretend" to solve the halting problem, by declaring that any Turing machine of length $N$ that doesn't halt within $f(N)$ stages must not halt at all. If $f$ doesn't grow faster than $BB$, the resulting "guess" at the halting problem won't be terribly interesting; but if it does, then our guess will be correct. If $f$ grows faster than $BB$ but we can't prove it, then our guess at the answer to the halting problem will be correct even though we can't prove it.

Now, the halting problem is noncomputable irrespective of proof - i.e., getting a solution to the halting problem that is provably a solution to the halting problem isn't the issue, getting a solution to the halting problem at all is. Since a solution to the halting problem (regardless of provability) can't be computable, no computable function can bound $BB$ (regardless of provability).

  • A question : what about the algorithms to generate $bb(n)$ for $n=1,2,\ldots$, until some point (where the mentioned algorithm doesn't halt) ? For $n$ small, most TM that don't halt are easy to prove they don't halt, so we can enumerate say the theorems of PA to prove they don't, until... what ? That we reach a TM encoding an undecidable problem of PA. And to go further, we need to enumerate the theorems of a meta-theory of PA, to overcome Godel's theorem ? – reuns Oct 21 '17 at 03:48