I still don't understand the halting problem
Pretty much every presentation of the halting problem I've ever read or heard pretty much represents the idea of halt-opposite as if it can take itself as an input and the whole proof is that if it does do that it cannot compute whether it will halt or not because if it halts it won't and vice versa
But like, halt-opposite takes in an input, and its output depends on that input.
We can describe the output of a machine (whether it halts or not) as depending on the input, meaning that the output cannot be computed independently, obviously. This linear dependency of input -> output means that halt can never just take in the code, it needs some sort of input for the inner machine to run. So our halt machine takes in n+1 arguments, n is the amount of arguments the inner machine takes and the 1 is the actual inner machine.
If we try to pass halt-opposite into itself, it means that the upper halt needs to take in 2 arguments, "inner halt-opposite" and inner halt-opposite's argument. Halt-opposite's output depends on inner halt-opposite's output which depends on inner halt-opposite's input.
We can never try to run halt-opposite in itself simply because it will always depend on something else, is what I'm trying to say.
And I think that's a more elegant proof than just pretending that halt-opposite can evaluate itself? I think this demonstrates that the halting problem is not an impossible problem because it's self-referential in some way but because it simply cannot possibly be modeled. It's not even a problem, our little dependency chain shows that the idea of a "machine that can compute if any machine will halt and do the opposite" is not actually defined, since the halting of a machine depends on more that the machine itself.
I'm pretty sure I'm missing something significant, which is why I'm posting my thoughts, it's just that this is a thought that no amount of independently reading about this problem has resolved. Maybe it's worth actually trying to find the original paper on this, I'm suspecting that vulgarization of the problem is what led to this chain of thought
Have you read the "Sketch of rigorous proof" section of the Wikipedia article? It explains how to avoid these issues pretty well imo.






