On 10/14/2022 7:44 PM, Ben Bacarisse wrote:Why did you dig up a 2 year old post that doesn't even agree with you?
Python <python@invalid.org> writes:
I don't think that is the shell game. PO really /has/ an H (it's
trivial to do for this one case) that correctly determines that P(P)
*would* never stop running *unless* aborted. He knows and accepts that
P(P) actually does stop. The wrong answer is justified by what would
happen if H (and hence a different P) where not what they actually are.
In other words: "if the simulation were right the answer would beI don't think that's the right paraphrase. He is saying if P were
right".
different (built from a non-aborting H) H's answer would be the right
one.
But the simulation is not right. D actually halts.But H determines (correctly) that D would not halt if it were not
halted. That much is a truism.
It is also a truism that any input that must be aborted to prevent the non-termination of the simulating termination analyzer does specify non-terminating behavior or it would never need to aborted.Changing HHH to abort changes the behaviour of DDD, which calls it.
Same input, same output.What's wrong is to pronounce that answer as being correct for the D
that does, in fact, stop.
It's certainly dishonest to claim support from an expert who clearlyYou are conflating two different process instances that have different process states. The D correctly simulated by H is an entirely different process than D(D) directly executed in main().
does not agree with the conclusions. Pestering, and then tricking,
someone into agreeing to some vague hypothetical is not how academic
research is done. Had PO come clean and ended his magic paragraph with
"and therefore 'does not 'halt' is the correct answer even though D
halts" he would have got a more useful reply.
D correctly emulated by H specifies recursive emulation that must beEh, it does. Simulation doesn't make a difference.
aborted. D(D) directly executed in main() does not specify recursive emulation that must be aborted.
--Let's keep in mind this is exactly what he's saying:
"Yes [H(P,P) == false] is the correct answer even though P(P)
halts."
Why? Because:
"we can prove that Halts() did make the correct halting decision
when we comment out the part of Halts() that makes this decision and
H_Hat() remains in infinite recursion"
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 02:17:17 |
Calls: | 10,385 |
Calls today: | 2 |
Files: | 14,057 |
Messages: | 6,416,581 |