Sujet : Re: 197 page execution trace of DDD correctly simulated by HHH
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theoryDate : 01. Jul 2024, 19:14:11
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v5urlj$16atu$2@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
User-Agent : Mozilla Thunderbird
Op 01.jul.2024 om 17:56 schreef olcott:
On 7/1/2024 10:52 AM, joes wrote:
Am Mon, 01 Jul 2024 09:35:54 -0500 schrieb olcott:
On 7/1/2024 9:27 AM, Fred. Zwarts wrote:
Op 01.jul.2024 om 14:57 schreef olcott:
On 7/1/2024 3:27 AM, Fred. Zwarts wrote:
Op 30.jun.2024 om 19:25 schreef olcott:
On 6/30/2024 3:42 AM, joes wrote:
>
Unless the outer HHH aborts its simulation after some fixed number of
correct emulations or none of the HHH ever aborts and HHH never stops
running.
But that does not make the result of the abort correct.
Not aborting will loop infinitely.
If simulating halt decider H correctly simulates its input D until
H correctly determines that its simulated D would never stop
running unless aborted
If. D does stop running though, because the H that it calls aborts the
recursive emulation in order to be a decider.
>
*In each of the following cases the abort criteria has been met*
Again a claim without evidence.
If true, the abort criteria are incorrect.
The last one does not need to be aborted, because it returns after N cycles of simulations, when the simulated HHH aborts and returns.
Only infinite simulations need to be aborted.
Is that too difficult to understand?
Your thinking is running in void circles:
Because HHH aborts you think it is an infinite recursion and because you think HHH is doing an infinite recursion you think it needs to be aborted.
But that is incorrect. The correct reasoning is:
Because HHH aborts, it is not an infinite recursion and because there is no infinite recursion no abort is needed.
The simulation of an aborting HHH does not need to be aborted. Only the simulation of a non-aborting HHH needs to be aborted.
This proves that neither an aborting HHH, not a non-aborting HHH is able to correctly simulate itself. (Although they might simulate each other.)
void Infinite_Loop()
{
HERE: goto HERE;
}
void Infinite_Recursion()
{
Infinite_Recursion();
}
void DDD()
{
HHH(DDD);
}
int main()
{
HHH(Infinite_Loop);
HHH(Infinite_Recursion);
HHH(DDD);
}
void Finite_Recursion (int N) {
if (N != 0) Finite_Recursion (N - 1);
}
This is equivalent to you HHH that simulates N cycles.
No abort needed.