In the general case, we can't of course, as Turing proved. How we untangle special cases and categories of algorithms around this is part of the wonder of mathematics for me.
>In the general case, we can't of course, as Turing proved.
Not quite. Turing proved that no single algorithm cannot solve the halting problem for all machines; it has always been trivial to show that we can answer the halting question for many machines we care about, often because they are specifically designed to always halt.
Chaitin elaborated this into a detailed theory of quantified incomputability, showing (roughly) that any N-bit axiomatic system could decide the halting problem only for machines composed of strictly less than N bits of information (Kolmogorov complexity).
So the question is either, depending on your philosophy of mathematics, how we locate ontologically special cases where halting proofs are possible, or how we obtain the information we put into our axioms that allows us to write halting proofs for increasingly complex programs.
I'm sorry that my understanding of set and computation theory is lacking. Please excuse my ignorance while I study up on the topic further.
But, I do believe the original commenter misunderstood my question. Why is it that we humans, when armed with how a computer works, can identify halting problems? Why do we not get stuck in a loop when studying a potential halting problem?
What allows us to make the intuitive leap past that? And to follow up, what are the implications about "brains are 10^10 200Hz computers in parallel" hypothesis?
>But, I do believe the original commenter misunderstood my question. Why is it that we humans, when armed with how a computer works, can identify halting problems? Why do we not get stuck in a loop when studying a potential halting problem?
Well, given my current understanding, I'd say it's because human beings reason inductively. We pick up new axioms by observing our environment, which includes things like equations and programs. Since we reason inductively, we're only bound by incompleteness theorems for phenomena too random/complex for our current understanding. We "catch up" eventually to be able to solve computability problems, at least to some degree.
How do we humans identify and solve the halting problem?