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.
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
It is the case that H must abort its simulation of P to prevent
its own non-termination. The directly executed P(P) benefits
from H already having aborted its simulation of P. P correctly
simulated H cannot reap this benefit proving that it is a different
sequence of configurations than the directly executed P(P).
(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.
Thus H(D,D) must abort the simulation of its input to prevent
its own non-termination.
What's wrong is to pronounce that
answer as being correct for the D that does, in fact, stop.
That is a different D that is being simulated in a
different memory process. The executed D(D) only halts
because D correctly simulated by H was aborted.
They are not the same instance of D.
void DDD()
{
HHH(DDD); // creates new process context
} // thus not the same DDD as the
// one that is directly executed.
int main()
{
DDD(DDD);
}
_DDD()
[00002163] 55 push ebp
[00002164] 8bec mov ebp,esp
[00002166] 6863210000 push 00002163
[0000216b] e853f4ffff call 000015c3
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
_main()
[00002183] 55 push ebp
[00002184] 8bec mov ebp,esp
[00002186] 6863210000 push 00002163 ; push DDD
[0000218b] e8d3ffffff call 00002163 ; call DDD(DDD)
[00002190] 83c404 add esp,+04
[00002193] 33c0 xor eax,eax
[00002195] 5d pop ebp
[00002196] c3 ret
Size in bytes:(0020) [00002196]
machine stack stack machine assembly
address address data code language
======== ======== ======== ========= =============
[00002183][001037dd][00000000] 55 push ebp ; housekeeping
[00002184][001037dd][00000000] 8bec mov ebp,esp ; housekeeping
[00002186][001037d9][00002163] 6863210000 push 00002163 ; push DDD
[0000218b][001037d5][00002190] e8d3ffffff call 00002163 ; call HHH(DDD)
[00002163][001037d1][001037dd] 55 push ebp ; housekeeping
[00002164][001037d1][001037dd] 8bec mov ebp,esp ; housekeeping
[00002166][001037cd][00002163] 6863210000 push 00002163 ; push DDD
[0000216b][001037c9][00002170] e853f4ffff call 000015c3 ; call HHH(DDD)
New slave_stack at:103881 ; Create new process context
Begin Local Halt Decider Simulation Execution Trace Stored at:113889
[00002163][00113879][0011387d] 55 push ebp ; housekeeping
[00002164][00113879][0011387d] 8bec mov ebp,esp ; housekeeping
[00002166][00113875][00002163] 6863210000 push 00002163 ; push DDD
[0000216b][00113871][00002170] e853f4ffff call 000015c3 ; call HHH(DDD)
New slave_stack at:14e2a9 ; Create new process context
[00002163][0015e2a1][0015e2a5] 55 push ebp ; housekeeping
[00002164][0015e2a1][0015e2a5] 8bec mov ebp,esp ; housekeeping
[00002166][0015e29d][00002163] 6863210000 push 00002163 ; push DDD
[0000216b][0015e299][00002170] e853f4ffff call 000015c3 ; call HHH(DDD)
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
[00002170][001037d1][001037dd] 83c404 add esp,+04; executed DDD(DDD)
[00002173][001037d5][00002190] 5d pop ebp ; executed DDD(DDD)
[00002174][001037d9][00002163] c3 ret ; executed DDD(DDD)
[00002190][001037dd][00000000] 83c404 add esp,+04
[00002193][001037dd][00000000] 33c0 xor eax,eax
[00002195][001037e1][00000018] 5d pop ebp
[00002196][001037e5][00000000] c3 ret
Number of Instructions Executed(10073) == 150 Pages
-- Copyright 2024 Olcott "Talent hits a target no one else can hit; Geniushits a target no one else can see." Arthur Schopenhauer