Good news. Turing defined a nonterminating Turing Machine in his paper so we don't need to worry about some weird nonstandard definition of nontermination.
"Oh, computers have finite memory so actually they are finite state machines" is just needless pedantry that is not useful for the actual mathematical relevance of Turing's proof and its consequences. Yes, the field of static analysis makes practical (though not flawless) solutions to undecidable problems every day. This is not relevant here.
The great thing about undecidable problems is, that you can put an arbitrary amount of research in and you'll probably find another subclass of instances for which the problem is indeed decidable.
Only an infinite number of subclasses of instances to go.
That's proven job safety for computer science researchers.
> Only an infinite number of subclasses of instances to go.
There's only one subclass of instances for which the problem is undecidable: those where the program being analyzed is allowed to consume infinite memory.
Which is not the same thing as saying that the program is implemented in a Turing-complete language.
Because you can write a program in a Turing-complete language and yet, run it on a machine with finite memory (i.e. a computer).
nope, nothing to do with finite memory or accuracy. Thats just an easy/practical way to define it if you have a halting problem to solve.
Everything to do with
https://en.m.wikipedia.org/wiki/1/2_%2B_1/4_%2B_1/8_%2B_1/16...
halting exactly at infinity (and knowing it without summing infinitely).
If one is willing to be that vague in drawing connections, one can reduce nearly every problem to any other one. But Turing was a mathematician, and very precise with his definitions (albeit not quite as pedantic as some successors such as Aho/Ullman decades later).
The interesting bit about Turing's result is that it can be adapted to a wide class of mathematical and real objects. Physical systems? Yep. Time and/or space bounded machines? You bet. Actually, at its core Turing's result is itself an adaptation of Gödel's, who more broadly talks about the context of first-order mathematical theories.
If one want to bring these concepts to practice (where by practice I mean the realm of proving results in theoretical cs), it's a lot more effort than comparing claims to a simple sequence with an easy to derive limit. For an introductory example of the subtlety involved, while the two series (1/2 + 1/4 + 1/8 + ...) and (2 - 1/2 - 1/4 - 1/8 - ...) both approach 1 in opposite directions, most uncomputable numbers cannot be approached from both sides simultaneously (by a computably enumerable process, anyway). For example, while Chaitin's number is a definite number, you cannot write down any program whose sequence of outputs converges to it from above. They're all wrong. Comparing that to probably the most basic convergent infinite series in mathematics (that doesn't end in all zeros) is quite a disservice to the complexity and beauty of the field.
Or, completely ignoring Zeno's paradox leaves you to believe halting problems are all impossible to solve when in practice they are generally trivial.
But nice deflect, no idea why this particular topic is so rife with fud, but you keep sticking with your deadlocking programs, and I'll stick with instant reports that my code will not halt and we can both go our separate ways. thnx.
Again, if you just wildly make up terminology that nobody else uses you'll come to different conclusions than other people - but you won't be talking about the same thing.
"Oh, computers have finite memory so actually they are finite state machines" is just needless pedantry that is not useful for the actual mathematical relevance of Turing's proof and its consequences. Yes, the field of static analysis makes practical (though not flawless) solutions to undecidable problems every day. This is not relevant here.