|
assuming unbounded time and memory. not being pedantic. you can exhaustively enumerate all inputs for a program. tautologically self-references aside, axiomatically, yes, we can determine if a program will halt, if it has a finite amount of time, or memory. if it doesn't [have unbounded range], then it must [terminate], but it is very, very, very hard to determine if that is the case. but not impossible. and this nuance being lost seems so pedantic, but so integral to the claim, that I can't help but think those who repeat this sans the disclaimer, do not _truly_ understand the paradox |
The very problem is that there is no algorithm that can output whether an arbitrary algorithm on a given input needs unbounded time to begin with.
>if it doesn't [have unbounded range], then it must [terminate], but it is very, very, very hard to determine if that is the case.
This is also false. You can limit the scope of the halting problem to algorithms that have a range of one single input and the halting problem is still undecidable. Heck, you can limit the halting problem to algorithms that don't even take any input whatsoever, they just have a start button and either they halt or do not halt, and that problem is still undecidable. The range has nothing to do with it.