Sujet : Re: DDD correctly emulated by HHH is Correctly rejected as non-halting V2
De : noreply (at) *nospam* example.org (joes)
Groupes : comp.theoryDate : 15. Jul 2024, 02:20:24
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <8a6e6d9ff49aabe2525ce5729a439c807de4768a@i2pn2.org>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
User-Agent : Pan/0.145 (Duplicitous mercenary valetism; d7e168a git.gnome.org/pan2)
Am Sun, 14 Jul 2024 09:00:55 -0500 schrieb olcott:
On 7/14/2024 3:29 AM, joes wrote:
Am Sat, 13 Jul 2024 18:33:53 -0500 schrieb olcott:
On 7/13/2024 6:26 PM, joes wrote:
Can you elaborate? All runtime instances share the same static code.
I am talking about the inner HHH which is called by the simulated
DDD. That one is, according to you, aborted. Which is wrong, because
by virtue of running the same code, the inner HHH aborts ITS
simulation of DDD calling another HHH.
What are the twins and what is their difference?
Do you disagree with my tracing?
The directly executed DDD is like the first call of infinite recursion.
The emulated DDD is just like the second call of infinite recursion.
When the second call of infinite recursion is aborted then the first
call halts.
Not really. Execution does not continue.
void Infinite_Recursion()
{
Infinite_Recursion();
}
The above *is* infinite recursion.
A program could emulate the above code and simply skip line 3 causing
Infinite_Recursion() to halt.
That would be incorrect.
When DDD calls HHH(DDD) HHH returns.
Therefore it does not need to be aborted.
When DDD correctly emulated by HHH the call never returns as is proven
below. The executed DDD() has HHH(DDD) skip this call.
I do not see this below.
HHH(DDD) must skip this call itself by terminating the whole DDD
process.
Because this HHH does not know its own machine address HHH only sees
that DDD calls a function that causes its first four steps to be
repeated. HHH does not know that this is recursive simulation. To HHH it
looks just like infinite recursion.
New slave_stack at:1038c4 -- create new process context for 1st DDD
Begin Local Halt Decider Simulation Execution Trace Stored at:1138cc
[0000217a][001138b4][0000217f] e853f4ffff call 000015d2 ; call HHH(DDD)
New slave_stack at:14e2ec -- create new process context for 2nd DDD
[0000217a][0015e2dc][0000217f] e853f4ffff call 000015d2 ; call HHH(DDD)
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
How is this detected? Is it also triggered when calling a function
in a loop?
According to the theory of computation the DDD that calls HHH(DDD) is
not in the domain of HHH. HHH is not allowed to report on the behavior
of the process that it is contained within. *That breaks the rules of
computation theory* HHH cannot even see the steps that were executed
before it was first invoked.
Yes it is. Everything that the simulatee calls is in the domain. It
can't break out of it.
On the other hand a simulated program has no idea about its environment.
-- Am Fri, 28 Jun 2024 16:52:17 -0500 schrieb olcott:Objectively I am a genius.