RichardKennaway comments on Open Thread - Aug 24 - Aug 30 - Less Wrong Discussion
You are viewing a comment permalink. View the original post to see all comments and the full post content.
You are viewing a comment permalink. View the original post to see all comments and the full post content.
Comments (318)
I'm very confused about something related to the Halting Problem. I discussed this on the IRC with some people, but I couldn't get across what I meant very well. So I wrote up something a bit longer and a bit more formal.
The gist of it is, the halting problem lets us prove that, for a specific counter example, there can not exist any proof that it halts or not. A proof that it does or does not halt, causes a paradox.
But if it's true that there doesn't exist a proof that it halts, then it will run forever searching for one. Therefore I've proved that the program will not halt. Therefore a proof that it doesn't halt does exist (this one), and it will eventually find it. Creating a paradox.
Just calling the problem undecidable doesn't actually solve anything. If you can prove it's undecidable, it creates the same paradox. If no Turing machine can know whether or not a program halts, and we are also Turing machines, then we can't know either.
Gödel's incompleteness bites here. What theory is your halt-testing machine H searching for a proof within? H can only find termination proofs that are derivable from the axioms of that theory. What theory is your proof that H(FL,FL) does not terminate expressed in? I believe it will necessarily not be the same one.
To expand on this -
check_if_proof_proves_x_haltswill be working using a certain set of axioms and derivation rules. When you prove thatH(FL, FL)doesn't halt, you also use the assumption thatcheck_if_proof_proves_x_haltswill definitely return the true answer, which is an assumption thatcheck_if_proof_proves_x_haltsdoesn't have as an axiom and can't prove. (And the same for..._x_doesnt_halt.) SoHcan't use your proof. When it callscheck_if_proof_proves_x_doesnt_halton your proof, that function returns "false" because your proof uses an axiom that that function doesn't believe in.I'm not super confident about this stuff, but I think this is broadly what's going on.