On 3/2/2025 2:40 PM, Andy Walker wrote:
http://www.cuboid.me.uk/anw/G12FCO/lect18.html
[start at the third paragraph], published in 1996, wherein is the proof
that a simulating halt decider can no more exist than any other halt
decider
[the third paragraph]
For these cases, we can turn to our second weapon -- emulation. We want
to know whether a program halts, so we try it. If it halts, then we know
the answer. If it doesn't halt, then `it must be in a loop', so we
monitor its state and `detect the loop'. Sadly, although this is in one
sense correct, it is a false dichotomy. At any given moment as the
emulation proceeds, we are in one of not two but three states: the
program has halted, or it is looping, or it is still running and has not
yet entered a loop. It's the third case that kills us -- we just have to
keep going, and wait for one of the other two things to happen. The
trouble is that it may be that neither of them ever happens -- which is
why `it must be in a loop' was in quotes above.
_DD()
[00002133] 55 push ebp ; housekeeping
[00002134] 8bec mov ebp,esp ; housekeeping
[00002136] 51 push ecx ; make space for local [00002137] 6833210000 push 00002133 ; push DD
[0000213c] e882f4ffff call 000015c3 ; call HHH(DD)
[00002141] 83c404 add esp,+04
[00002144] 8945fc mov [ebp-04],eax
[00002147] 837dfc00 cmp dword [ebp-04],+00
[0000214b] 7402 jz 0000214f
[0000214d] ebfe jmp 0000214d
[0000214f] 8b45fc mov eax,[ebp-04]
[00002152] 8be5 mov esp,ebp
[00002154] 5d pop ebp
[00002155] c3 ret
Size in bytes:(0035) [00002155]
That analysis is derived from an incorrect perspective.
DD emulated by HHH according to the behavior that DD
specifies cannot possibly reach its own "ret" instruction
and terminate normally.
This process computes the mapping from the actual input
(not any other damn thing) finite string to the non
terminating behavior that this finite specifies when
it calls its own emulator in recursive emulation.
Another different instance that does not call its own
emulator in recursive emulation is not the same damn thing.
On 3/2/2025 2:40 PM, Andy Walker wrote:
http://www.cuboid.me.uk/anw/G12FCO/lect18.html[the third paragraph]
[start at the third paragraph], [...]
_DD()[...]
[00002133] 55 push ebp ; housekeeping
On 3/2/2025 6:19 PM, Andy Walker wrote:
On 02/03/2025 21:11, olcott wrote:
On 3/2/2025 2:40 PM, Andy Walker wrote:
http://www.cuboid.me.uk/anw/G12FCO/lect18.html[the third paragraph]
[start at the third paragraph], [...]
[Note that I said "start at ...", not "look only at ...".]
_DD()[...]
[00002133] 55 push ebp ; housekeeping
Not interested; sorry. I was concerned only to point out that >> the idea of a "simulating halt decider", or any similar phrase, was not
new in 2004, but has been well-known for many [at least 60] years. If
you choose to waste your remaining time on this planet trying to do the
impossible, go ahead. I shan't be joining you, so this will be my last
contribution to the debate unless something interesting crops up. "DD"
and "HHH" and similar aren't in the least bit interesting to me; I'm
astonished that others are so fascinated, but that's up to them.
Lots of people rejected the idea of simulation as an
option so you made no actually relevant point at all.
int DD()
{
int Halt_Status = HHH(DD);
if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}
The new thing that I discovered is that DD emulated
by HHH cannot possibly reach the self-contradictory
portion thus cannot possibly thwart a correct termination
status decision.
On 3/3/2025 2:55 AM, Fred. Zwarts wrote:It should also see that there is an abort.
Op 03.mrt.2025 om 01:57 schreef olcott:
On 3/2/2025 6:19 PM, Andy Walker wrote:
On 02/03/2025 21:11, olcott wrote:
On 3/2/2025 2:40 PM, Andy Walker wrote:
Lots of people rejected the idea of simulation as an option so youhttp://www.cuboid.me.uk/anw/G12FCO/lect18.html
[start at the third paragraph], [...]
Not interested; sorry. I was concerned only to point out >>>> that
the idea of a "simulating halt decider", or any similar phrase, was
not new in 2004, but has been well-known for many [at least 60]
years. If you choose to waste your remaining time on this planet
trying to do the impossible, go ahead. I shan't be joining you, so
this will be my last contribution to the debate unless something
interesting crops up. "DD"
and "HHH" and similar aren't in the least bit interesting to me; I'm >>>> astonished that others are so fascinated, but that's up to them.
made no actually relevant point at all.
The new thing that I discovered is that DD emulated by HHH cannot
possibly reach the self-contradictory portion thus cannot possibly
thwart a correct termination status decision.
And Olcott thought it was a clever idea to use a simulator that gets
stuck in recursively simulating itself, so that it could not even reach
the self-contradictory part.
HHH has no idea that it is emulating itself emulating DD.
HHH does see that its emulation of DD does match the infinite recursion behavior pattern.
Olcott did (does) not realise that such an HHH can only report aboutHHH sees DD call the same function with the same params twice in
its own behaviour, not that of its input.
sequence and HHH also sees that there are no conditional branch
instructions between the invocation of DD and its call to HHH(DD).
On 3/3/2025 2:55 AM, Fred. Zwarts wrote:
Op 03.mrt.2025 om 01:57 schreef olcott:
On 3/2/2025 6:19 PM, Andy Walker wrote:
On 02/03/2025 21:11, olcott wrote:
On 3/2/2025 2:40 PM, Andy Walker wrote:
http://www.cuboid.me.uk/anw/G12FCO/lect18.html[the third paragraph]
[start at the third paragraph], [...]
[Note that I said "start at ...", not "look only at ...".]
_DD()[...]
[00002133] 55 push ebp ; housekeeping
Not interested; sorry. I was concerned only to point out that
the idea of a "simulating halt decider", or any similar phrase, was not >>>> new in 2004, but has been well-known for many [at least 60] years. If >>>> you choose to waste your remaining time on this planet trying to do the >>>> impossible, go ahead. I shan't be joining you, so this will be my last >>>> contribution to the debate unless something interesting crops up. "DD" >>>> and "HHH" and similar aren't in the least bit interesting to me; I'm >>>> astonished that others are so fascinated, but that's up to them.
Lots of people rejected the idea of simulation as an
option so you made no actually relevant point at all.
int DD()
{
int Halt_Status = HHH(DD);
if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}
The new thing that I discovered is that DD emulated
by HHH cannot possibly reach the self-contradictory
portion thus cannot possibly thwart a correct termination
status decision.
And Olcott thought it was a clever idea to use a simulator that gets
stuck in recursively simulating itself, so that it could not even
reach the self-contradictory part.
HHH has no idea that it is emulating itself emulating DD.
HHH does see that its emulation of DD does match the
infinite recursion behavior pattern.
But the programmer of HHH forgot to count the conditional branchOlcott did (does) not realise that such an HHH can only report about
its own behaviour, not that of its input.
HHH sees DD call the same function with the same params
twice in sequence and HHH also sees that there are no
conditional branch instructions between the invocation
of DD and its call to HHH(DD).
On 3/3/2025 2:55 AM, Fred. Zwarts wrote:
Op 03.mrt.2025 om 01:57 schreef olcott:
On 3/2/2025 6:19 PM, Andy Walker wrote:
On 02/03/2025 21:11, olcott wrote:
On 3/2/2025 2:40 PM, Andy Walker wrote:
http://www.cuboid.me.uk/anw/G12FCO/lect18.html[the third paragraph]
[start at the third paragraph], [...]
[Note that I said "start at ...", not "look only at ...".]
_DD()[...]
[00002133] 55 push ebp ; housekeeping
Not interested; sorry. I was concerned only to point out that
the idea of a "simulating halt decider", or any similar phrase, was not >>>> new in 2004, but has been well-known for many [at least 60] years. If >>>> you choose to waste your remaining time on this planet trying to do the >>>> impossible, go ahead. I shan't be joining you, so this will be my last >>>> contribution to the debate unless something interesting crops up. "DD" >>>> and "HHH" and similar aren't in the least bit interesting to me; I'm >>>> astonished that others are so fascinated, but that's up to them.
Lots of people rejected the idea of simulation as an
option so you made no actually relevant point at all.
int DD()
{
int Halt_Status = HHH(DD);
if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}
The new thing that I discovered is that DD emulated
by HHH cannot possibly reach the self-contradictory
portion thus cannot possibly thwart a correct termination
status decision.
And Olcott thought it was a clever idea to use a simulator that gets
stuck in recursively simulating itself, so that it could not even
reach the self-contradictory part.
HHH has no idea that it is emulating itself emulating DD.
HHH does see that its emulation of DD does match the
infinite recursion behavior pattern.
Olcott did (does) not realise that such an HHH can only report about
its own behaviour, not that of its input.
HHH sees DD call the same function with the same params
twice in sequence and HHH also sees that there are no
conditional branch instructions between the invocation
of DD and its call to HHH(DD).
This is all right in the code. https://github.com/plolcott/x86utm/blob/master/Halt7.c
u32 Needs_To_Be_Aborted_Trace_HH(Decoded_Line_Of_Code*
execution_trace,
Decoded_Line_Of_Code
*current)
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 498 |
Nodes: | 16 (0 / 16) |
Uptime: | 69:58:47 |
Calls: | 9,814 |
Calls today: | 2 |
Files: | 13,755 |
Messages: | 6,189,486 |