Sujet : Re: People are still trying to get away with disagreeing with the semantics of the x86 language
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theoryDate : 01. Jul 2024, 08:05:39
Autres entêtes
Organisation : -
Message-ID : <v5tgvj$utcb$1@dont-email.me>
References : 1 2 3
User-Agent : Unison/2.2
On 2024-06-30 17:18:09 +0000, olcott said:
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.
It is your HHH so you should know whether it returns. Others may
have wrong impression about it if they have trusted your lies.
-- Mikko