# Do proofs of $HALT$'s undecidability make it clear that it's practically relevant?

The proof of $$HALT$$'s undecidability usually goes like this: we assume the existence of a halting decider and incorporate it into a machine $$D$$ that takes a TM as input, runs it on its own encoding and does the "opposite" action. We then notice $$D(D)$$ has a contradicting behavior and conclude a halting decider cannot exist.

This is a rigorous, formal proof; there's no doubt about what it states: "given a Turing machine $$M$$ and a word $$w$$, we can't decide whether $$M(w)$$ halts".

But consider the following statement: "given a Turing machine $$M$$ with less than $$2^{2^{100}}$$ and a word $$w$$ with less than $$2^{2^{100}}$$ symbols, we can decide whether $$M(w)$$ halts".

This statement doesn't contradict the one above it, but it effectively makes $$HALT$$'s undecidability seem just a quirky theoretical fact, without any practical relevance.

My question is: how "obvious" is it that the second statement is false? It seems to me like neither Turing's 1936 paper, nor usual textbooks on computability address it explicitly. Am I missing something?

• What is the algorithm for deciding your alternate problem? Commented Oct 15, 2023 at 17:45
• Some practical problems (such as deciding whether a certain type of mathematical proposition is true — very useful for mathematicians!) can reduce the halting problem to them. Does that count as "practically relevant"? Commented Oct 23, 2023 at 5:54

The second statement (limited to size $$\le 2^{2^{100}}$$) is true. That problem is decidable: there exists an algorithm to decide it. There are only $$2^{2^{101}}$$ different problem instances, which is finite, so there exists an algorithm that has all answers for each problem instance hard-coded into it. I couldn't write down such an algorithm, but it doesn't matter. We know one exists, hence the problem is decidable. See also How can it be decidable whether $\pi$ has some sequence of digits?.

You ask about whether the Halting problem is "just" a quirky theoretical fact.

Well, from one perspective it is just a theoretical result. That theorem does not completely rule out of the possibility of an algorithm that is "good enough" at solving the problem, e.g., it solves most problem instances that we are likely to run into in a reasonable amount of time. It does not rule out the possibility of always-correct algorithms that output either "Yes, I'm sure, it halts", "No, I'm sure it doesn't halt", or "I'm not sure".

From another perspective, it is not just a theoretical result. It does help provide some understanding about why certain problems seem very hard to solve in a fully satisfactory way, and helps us avoid wasting our time trying to achieve the impossible.

• Thank you very much for the reply! I realize that I left implicit an important part of my question, which would have made it more pertinent. I meant to "contain" that set of $2^{2^{100}}$ machines and mention at the end: "[...] we can decide whether $M(w)$ halts using a TM with less than $2^{2^{100}}$ states." (this makes the hardcoding approach impossible). How does this change the situation? Commented Oct 16, 2023 at 6:59
• @CuriosityScream, It's a new question now. Generally it is frowned-upon to change a question after receiving an answer in a way that invalidates an existing answer (might be better to ask a new question). Regarding the interpretation and whether it is "just a theoretical result", I think all of the discussion in my answer above still applies.
– D.W.
Commented Oct 16, 2023 at 7:27
• I see your point; I rolled back the edit and will post a new question. Commented Oct 16, 2023 at 11:01