0

The proof of the halting problem gives us a way to create, for any halting algorithm, a program that the halting algorithm does not decide.

One possible halting algorithm would be enumerating all theorems of ZFC, and checking if that theorem either states that the input program halts or doesn't. So we can make a program that this algorithm won't decide, meaning that the statement that that program halts is independent of ZFC.

Is this correct? Has this been done yet?

1 Answers1

0

Yes, this works (and is useful and well-known). There is, however, a bit of a subtlety.


First, recapping your initial observation in a bit more detail:

Let $(\varphi_e)_{e\in\mathbb{N}}$ be the usual enumeration of the partial computable functions. There is some total computable $f$ (= $\varphi_c$ for some $c$) such that for every $e$, if $\varphi_e$ is total then $$\varphi_{f(e)}(0)\downarrow\iff\varphi_e(f(e))\downarrow=0,$$ where "$\psi(a)\downarrow=b$" means "$\psi(a)$ is defined and equals $b$." (Here we're interpreting "$\varphi_e(n)\downarrow=0$" as "$\varphi_e$ says $\varphi_n(0)$ doesn't halt;" what the above is telling us is that $f$ finds some index whose halting-ness $\varphi_e$ doesn't guess correctly).


Now you're suggesting an argument for the incompleteness of (say) ZFC as follows:

  • Suppose ZFC was complete.

  • Then let $\varphi_e$ be the program which, on input $n$, searches for a ZFC-proof that $\varphi_n(0)\downarrow$ or a ZFC-proof that $\varphi_n(0)\uparrow$. If it finds the former, it halts and outputs $1$; if it finds the latter, it halts and outputs $0$.

  • By the assumption that ZFC is complete, we know that $\varphi_e$ is total, so we get $$\varphi_{f(e)}(0)\downarrow\iff\mbox{ ZFC proves that $\varphi_{f(e)}(0)\uparrow$}.$$ This is $\color{red}{\mbox{obviously}}$ a contradiction.


Now let's think about that argument for a second. It should be immediately clear that we've at the very least proved something like "If ZFC is 'true' then it's not complete." However, words like 'true' make my feet itch. I'm much happier if I can replace a condition like that with something more concrete and combinatorial, like consistency. So we want to ask now:

Does the above argument show outright that if ZFC is consistent, then ZFC is incomplete?

The answer, sadly, is "not quite." The issue is the redded "obviously" above. We're relying on the assumption that ZFC doesn't prove any false statements (about machines halting, at least) here. This is a "soundness" assumption, and is strictly stronger than the mere consistency of ZFC: it's possible in principle that ZFC could be consistent and yet could prove that a certain computation, which in reality goes on forever, eventually halts. This same obstacle was faced by Godel: the GIT as stated by Godel is a somewhat weaker statement than we're used to. Rosser fixed things up nicely. And, unsurprisingly, we can indeed whip up a machine analogue of Rosser's trick for the type of argument above.

Incidentally, the possibility of ZFC being "consistent-but-wrong" is actually quite important. It can in principle occur, and this is a consequence of Godel's (second) incompleteness theorem! Assume that ZFC is in fact consistent, and consider the theory $T$ = ZFC + "ZFC is inconsistent." Taking $\psi$ to be a machine which searches for a proof of a contradiction in ZFC and halts iff it finds one, it's clear that $T$ proves that $\psi$ halts even though $\psi$ doesn't. However, by the second incompleteness theorem, $T$ must be consistent if ZFC is. So this is a real issue (and has been touched on at various moments in MSE; see e.g. here).


It's also worth noting that we can do the opposite: rather than using computability-theoretic concerns to demonstrate incompleteness, we can look for explicit examples of Turing machines whose halting is independent of (say) ZFC (under reasonable assumptions). While it's obvious how to produce such an example, it's a bit more interesting to produce a simple (in particular, not just brute-force-proof-search-y) example, and for work in this direction see this paper by Yedidia and Aaronson

Noah Schweber
  • 245,398