Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connectionsPath: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Richard Harnden
Newsgroups: comp.lang.c++,comp.lang.c
Subject: Re: Can you see that D correctly simulated by H remains stuck in
recursive simulation?
Date: Fri, 24 May 2024 13:10:52 +0100
Organization: A noiseless patient Spider
Lines: 50
Message-ID:
References:
Reply-To: richard.harnden@invalid.com
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 24 May 2024 14:10:55 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="f335a46ed73574a2f2b8200627a25bff";
logging-data="2448336"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/xH7Xlfvy9hchRZ0IbVP2U87+qhAPfrPs="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:gxS5VGFifEzXWHEG7eY+CeHMVLk=
Content-Language: en-GB
In-Reply-To:
Bytes: 2783
On 23/05/2024 17:52, olcott wrote:
> typedef int (*ptr)(); // ptr is pointer to int function in C
> 00 int H(ptr p, ptr i);
> 01 int D(ptr p)
> 02 {
> 03 int Halt_Status = H(p, p);
> 04 if (Halt_Status)
> 05 HERE: goto HERE;
> 06 return Halt_Status;
> 07 }
> 08
> 09 int main()
> 10 {
> 11 H(D,D);
> 12 return 0;
> 13 }
>
> The above template refers to an infinite set of H/D pairs where D is
> correctly simulated by pure function H. This was done because many
> reviewers used the shell game ploy to endlessly switch which H/D was
> being referred to.
>
> *Correct Simulation Defined*
> This is provided because every reviewer had a different notion of
> correct simulation that diverges from this notion.
>
> In the above case a simulator is an x86 emulator that correctly emulates
> at least one of the x86 instructions of D in the order specified by the
> x86 instructions of D.
>
> This may include correctly emulating the x86 instructions of H in the
> order specified by the x86 instructions of H thus calling H(D,D) in
> recursive simulation.
>
> *Execution Trace*
> Line 11: main() invokes H(D,D); H(D,D) simulates lines 01, 02, and 03 of
> D. This invokes H(D,D) again to repeat the process in endless recursive
> simulation.
So, you have: main -> H -> D -> H -> D -> ... -> H -> D until you run
out of stack?
No return statement is ever reached.
Line 3 never completes.
Halt_Status at line 3 never gets a value.