Liste des Groupes | Revenir à theory |
On 7/1/2024 3:32 AM, Fred. Zwarts wrote:I understand it, but that does not contradict that the abort is one cycle too soon, which makes it incorrect.Op 30.jun.2024 om 19:18 schreef olcott:HHH does emulated itself emulating DDD.On 6/30/2024 3:42 AM, Mikko wrote:>On 2024-06-29 16:09:19 +0000, olcott said:>
>People are still trying to get away with disagreeing with>
the semantics of the x86 language. That is isomorphic to
trying to get away with disagreeing with arithmetic.
>
typedef void (*ptr)();
int H0(ptr P);
>
void Infinite_Loop()
{
HERE: goto HERE;
}
>
void Infinite_Recursion()
{
Infinite_Recursion();
}
>
void DDD()
{
H0(DDD);
}
>
int main()
{
H0(Infinite_Loop);
H0(Infinite_Recursion);
H0(DDD);
}
>
Every C programmer that knows what an x86 emulator is knows
that when H0 emulates the machine language of Infinite_Loop,
Infinite_Recursion, and DDD that it must abort these emulations
so that itself can terminate normally.
>
When this is construed as non-halting criteria then simulating
termination analyzer H0 is correct to reject these inputs as
non-halting by returning 0 to its caller.
>
Simulating termination analyzers must report on the behavior
that their finite string input specifies thus H0 must report
that DDD correctly emulated by H0 remains stuck in recursive
simulation.
>
<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>
>
People are trying to get away with disagreeing with the semantics
of the x86 language by disagreeing that
>
The call from DDD to HHH(DDD) when N steps of DDD are correctly
emulated by any pure function x86 emulator HHH cannot possibly
return.
>
_DDD()
[00002172] 55 push ebp ; housekeeping
[00002173] 8bec mov ebp,esp ; housekeeping
[00002175] 6872210000 push 00002172 ; push DDD
[0000217a] e853f4ffff call 000015d2 ; call HHH(DDD)
[0000217f] 83c404 add esp,+04
[00002182] 5d pop ebp
[00002183] c3 ret
Size in bytes:(0018) [00002183]
>
>
*A 100% complete and total rewrite of the prior paper*
https://www.researchgate.net/publication/381636432_Termination_Analyzer_H_is_Not_Fooled_by_Pathological_Input_P
Nothing above is or points to any evdence about the alleged disagreement.
>
Of course not. I only said the actual truth.
>
Richard just said that he affirms that when DDD correctly
simulated by HHH calls HHH(DDD) that this call returns even
though the semantics of the x86 language disagrees.
>
On 6/30/2024 7:34 AM, Richard Damon wrote:
> It is still true that the xemantics of the x86
> language define the behavior of a set of bytes,
> as the behavior when you ACTUALLY RUN THEM,
> and nothing else.
>
_DDD()
[00002172] 55 push ebp ; housekeeping
[00002173] 8bec mov ebp,esp ; housekeeping
[00002175] 6872210000 push 00002172 ; push DDD
[0000217a] e853f4ffff call 000015d2 ; call HHH(DDD)
[0000217f] 83c404 add esp,+04
[00002182] 5d pop ebp
[00002183] c3 ret
Size in bytes:(0018) [00002183]
>
Richard thinks that he can get away with disagreeing with this
verified fact:
>
The call from DDD to HHH(DDD) when N steps of DDD are correctly
emulated by any pure function x86 emulator HHH cannot possibly
return.
>
A HHH aborting after N cycles of recursive simulation, needs to be simulated by a simulator that allows at least N+1 cycles of recursion. Otherwise the simulation is incomplete. This shows that such a HHH is unable to correctly simulate itself.
_DDD()
[00002172] 55 push ebp ; housekeeping
[00002173] 8bec mov ebp,esp ; housekeeping
[00002175] 6872210000 push 00002172 ; push DDD
[0000217a] e853f4ffff call 000015d2 ; call HHH(DDD)
[0000217f] 83c404 add esp,+04
[00002182] 5d pop ebp
[00002183] c3 ret
Size in bytes:(0018) [00002183]
DDD is correctly emulated by HHH which calls an
emulated HHH(DDD) to repeat the process until aborted.
Once aborted the DDD emulated by HHH immediately stops.
At no point in this emulation does the call from DDD
correctly emulated by HHH to HHH(DDD) ever return.
You can understand this or fail to understand this
disagreement is flat out incorrect.
Les messages affichés proviennent d'usenet.