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: Mikko
Newsgroups: comp.lang.c
Subject: Re: Can you see that D correctly simulated by H remains stuck in recursive simulation?
Date: Sat, 25 May 2024 12:59:26 +0300
Organization: -
Lines: 65
Message-ID:
References:
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 25 May 2024 11:59:27 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="2255febcc889d96077f9b5d241cc408d";
logging-data="2980642"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19c2+xCn24qEUdC8Rsiowwo"
User-Agent: Unison/2.2
Cancel-Lock: sha1:Jdor8RdM/xD7xXvGhpR7kQxsf54=
Bytes: 3252
On 2024-05-24 16:57:36 +0000, olcott said:
> On 5/24/2024 10:01 AM, Fred. Zwarts wrote:
>> Op 23.mei.2024 om 18:52 schreef olcott:
>>> 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.
>>
>> The case can be simplified even more (D is not needed):
>>
>
> We are ONLY asking about whether D correctly simulated by pure function
> H can possibly reach its own final state at line 06 and halt.
>
> Because H is a pure function we know that H halts.
We don't know that H halts. The OP said the opposite:
On 2024-05-23 16:52:21 +0000, olcott said:
> *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.
To repeat in endless recursve simulation makes halting impossible.
Apparently OP's interpretation of "pure function" does not imply
halting.
--
Mikko