1
$\begingroup$

So Hilbert famously asked for a formalization of all of mathematics which was computationally decidable. Gödel is credited with shattering the idea that "all of mathematics" can be formalized. After all, one can't even formalize all of elementary arithmetic. But the decision problem (Entscheidungsproblem) was still considered open until Church/Turing.

I've read a fair number of popular accounts of this period. They always end with "finally the unsolvability of the Halting Problem completely shattered Hilbert's dream" and no further explanation. I feel like there are a few steps missing here. Why exactly does the unsolvability of the Halting Problem go against the decision problem?

Presumably the argument is: a formalization of all of mathematics has to be able to formalize Turing machines. Hence, it contains sentences of the form "Turing machine T halts". A decision procedure for such a formal system would therefore solve the Halting Problem. And that can't be done.

But Turing machines were a very new invention at the time. Why didn't people try to rescue the decision problem by saying Turing machines weren't an objective for formalization? And why does nobody seem to feel obligated to show that the decision problem can't be solved regardless?

$\endgroup$
  • $\begingroup$ @reuns Not in full detail. But I gather that it can be done using Gödel's ideas. That's not a trivial line of argument though. So the question "why does nobody ever spell out these final steps?" still stands. $\endgroup$ – Sebastian Oberhoff Jan 27 at 18:39
  • $\begingroup$ Given a program $P$ written in java language, is it clear to you how to formalize "the program $P$ halts" into an arithmetic statement ? To forbid those kind of statement you can disallow infinite quantification, that is only $\forall n \le N$ is allowed, with $N$ fixed once for all. Your theory is then decidable, but it can't formalize arithmetic. To me the most down-to-earth approach is formalizing mathematical theories in the Turing/program/computability framework, so "$\exists n, f(n)$" becomes "does exists_n(f) halt". $\endgroup$ – reuns Jan 27 at 18:41
2
$\begingroup$

Even assuming we're okay drastically restricting the scope of mathematics to be decided - which flies in the face of the whole idea of the program - there's still a fundamnetal issue: the arithmetizability of computation. Basically, in order to rescue decidability you'd have to restrict all the way down to triviality.

This is a riff on Godel's incompleteness theorem. Just as with GIT we used arithmetic to talk about proofs, we can talk about Turing machines in the language of arithmetic. (I don't know when this was first explicitly stated, but it's pretty much immediate once Godel's ideas are understood - certainly Kleene's $T$-predicate, which appeared only seven years after Turing's paper, does the job.) The point is that from a computable solution to the Entscheidungsproblem we can construct a computable consistent completion of PA (just go through sentences one by one with a consistency-preserving greedy algorithm), but by the arithmetization of computation (plus Rosser's improvement of GIT as originally stated) Godel's incompleteness theorem applies to any computably axiomatizable consistent extension of PA.

Indeed, looking a bit closer we get that even the $\Sigma_1$ fragment of the consequences of PA is not computable. Since the $\Delta_0$ fragment (= bounded quantifiers only) is trivially computable, this says that incompleteness hits arithmetic as hard as it possibly could. And at this point there's really nothing left to do.

Combining all this with the fact that restricting the scope goes against the whole spirit of the program to begin with, I think that explains why the conclusion was (and is) pretty universal. Note that the study of decidable fragments of arithmetic is definitely alive and well, it's just recognized as a fundamentally different thing than Hilbert's program.

$\endgroup$
  • $\begingroup$ This argument still assumes that the formal system under consideration is sound, right? If one merely assumes consistency, then a decision procedure may decide that "Turing machine $T$ halts" is provable even though it doesn't halt ($\omega$-inconsistency). $\endgroup$ – Sebastian Oberhoff Jan 28 at 15:51
1
$\begingroup$

There were several proofs of undecidability and incompleteness using very different tools, from Church, Post, Godel and Turing. They are all equivalent.

Godel's proof is the probably the most direct, because it used nothing more abstract than ordinary arithmetic.

Turing's may be the most consequential, because it has been used to provide a definition of "computability", which is an incredibly rich subject on its own.

Both Godel and Turing's proof depended on the idea of self-reference, where a system as a whole is represented as an object of the system. With Turing, we are talking about what happens when a program takes a program as input. With Godel, we are looking at what happens when we encode a theorem of arithmetic as an integer. You can see the parallel here and have a sense of how they are equivalent.

With Godel's proof, there is no escaping the fact that arithmetic must be either undecidable or incomplete.

If you are new to the subject, I recommend Douglas Hofstadter's classic Godel, Escher, Bach, an entertaining book that can give you tools to visualize how these proofs work.

$\endgroup$
  • $\begingroup$ I'm an amateur veteran at these topics. I've read GEB several times. I don't see how your comment addresses the question. $\endgroup$ – Sebastian Oberhoff Jan 27 at 18:23
  • $\begingroup$ The point is that Turing's proof is just one of many. If Turing hadn't participated in the project, the other proofs would have been sufficient. You don't need Turing machines to prove undecidability, so throwing them out has no effect on Hilbert's program. $\endgroup$ – Charles Gillingham Feb 8 at 4:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.