Sujet : Re: DDD correctly emulated by HHH is correctly rejected as non-halting.
De : richard (at) *nospam* damon-family.org (Richard Damon)
Groupes : comp.theoryDate : 12. Jul 2024, 03:08:18
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <a653e9b36eb5f8f1d03e13b6a0c8408a984054e3@i2pn2.org>
References : 1 2 3
User-Agent : Mozilla Thunderbird
On 7/11/24 10:02 AM, olcott wrote:
On 7/11/2024 1:22 AM, Mikko wrote:
On 2024-07-10 15:03:46 +0000, olcott said:
>
typedef void (*ptr)();
int HHH(ptr P);
>
void DDD()
{
HHH(DDD);
}
>
int main()
{
HHH(DDD);
}
>
We stipulate that the only measure of a correct emulation
is the semantics of the x86 programming language. By this
measure when 1 to ∞ steps of DDD are correctly emulated by
each pure function x86 emulator HHH (of the infinite set
of every HHH that can possibly exist) then DDD cannot
possibly reach past its own machine address of 0000216b
and halt.
>
For every instruction that the C compiler generates the x86 language
specifies an unambiguous meaning, leaving no room for "can".
>
then DDD cannot possibly reach past its own machine
address of 0000216b and halt.
Sure it can, if the HHH aborts its simulation from any call to it, it will do it for ALL calls to it, even to the DDD that calls it.
then no DDD instance of each HHH/DDD pair reaches
past its own machine address of 0000216b and halts.
Sure it can, if HHH ever aborts its simulation and returns.
_DDD()
[00002163] 55 push ebp ; housekeeping
[00002164] 8bec mov ebp,esp ; housekeeping
[00002166] 6863210000 push 00002163 ; push DDD
[0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
(1) I am referring to an infinite set of HHH/DDD pairs each
HHH having different behavior.
And these divide into to classes, the class where HHH(DDD) returns, and the class where HHH(DDD) never returns.
(2) No DDD of this infinite set reaches past its
own machine address of 0000216b.
No, EVERY one of them does that had an HHH that returns from HHH(DDD).
You are just confusing the observation by HHH of the behavior of DDD<.which is only partial if it ever aborts, and the actual behavior of DDD, showing you don't unddrstand the difference between Truth and Knowledge.