On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
Python <python@invalid.org> writes:
Olcott (annotated):
If simulating halt decider H correctly simulates its input D until H >>> correctly determines that its simulated D would never stop running
[comment: as D halts, the simulation is faulty, Pr. Sipser has been >>> fooled by Olcott shell game confusion "pretending to simulate" and >>> "correctly simulate"]
unless aborted then H can abort its simulation of D and correctly
report that D specifies a non-halting sequence of configurations.
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.
(I've gone back to his previous names what P is Linz's H^.)
In other words: "if the simulation were right the answer would be
right".
I don't think that's the right paraphrase. He is saying if P were
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.
We compute the mapping from the finite string machine code
of D to the behavior that this finite string of x86 machine
code specifies on the basis of D correctly emulated by H
according to the semantics of this x86 machine code.
What's wrong is to pronounce that
answer as being correct for the D that does, in fact, stop.
And Peter Olcott is a [*beep*]
It's certainly dishonest to claim support from an expert who clearly
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.
You 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().
D correctly emulated by H specifies recursive emulation
that must be aborted. D(D) directly executed in main()
does not specify recursive emulation that must be aborted.
The D correctly simulated by H must be aborted in the same
way that when you are hungry you must eat.
The D(D) directly executed in main() need not be aborted
in the same way that you are no longer hungry after you
have eaten.
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: | 365 |
Nodes: | 16 (0 / 16) |
Uptime: | 10:04:11 |
Calls: | 7,758 |
Calls today: | 1 |
Files: | 12,897 |
Messages: | 5,744,449 |