When the halting problem is discussed, often the counterproof consists of some unsolved mathematical problem or a self-reference.
Is the halting problem decidable for pure programs on an ideal computer?
Is this of any relevance for most programms not even remotely dealing with complex math ? I often hear that performing static analysis on any program is useless, because "Halting-problem". I find this argument weak, to make a statement from a few theoretical counter examples to say that static analysis on any programm is useless.
And what about a modified version of the halting problem?
What about outputting those 3 possibilities:
Halts. Does not halt. Unknown.
Doesn't this simplify the halting problem enough to make a statement about any program in finite time ?