Liste des Groupes | Revenir à c theory |
Op 30.jun.2024 om 19:18 schreef olcott:HHH does emulated itself emulating DDD.On 6/30/2024 3:42 AM, Mikko wrote: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.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.
>
Les messages affichés proviennent d'usenet.