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 connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <v2vcud$3dtct$2@dont-email.me>
Deutsch   English   Français   Italiano  
<v2vcud$3dtct$2@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: olcott <polcott333@gmail.com>
Newsgroups: comp.lang.c++,comp.lang.c
Subject: Re: Can you see that D correctly simulated by H remains stuck in
 recursive simulation?
Date: Sun, 26 May 2024 08:20:13 -0500
Organization: A noiseless patient Spider
Lines: 127
Message-ID: <v2vcud$3dtct$2@dont-email.me>
References: <v2ns85$1rd65$1@dont-email.me> <v2s46t$2pj9q$2@dont-email.me>
 <v2ud85$396ga$1@dont-email.me> <v2v4r7$3chkl$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 26 May 2024 15:20:14 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="b67ec24a85de95a55e6b4d0cc81926c3";
	logging-data="3601821"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+YybdM2RfoJRKFHD4dn6Kc"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:fhX2W5KmdU0E8VnLbKLsCrkYv+s=
Content-Language: en-US
In-Reply-To: <v2v4r7$3chkl$2@dont-email.me>
Bytes: 6300

On 5/26/2024 6:01 AM, Fred. Zwarts wrote:
> Op 26.mei.2024 om 06:19 schreef olcott:
>> On 5/25/2024 2:32 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.
>>>>
>>>
>>> Olcott's own words are that the simulation of D never reaches past 
>>> line 03. So the lines following line 03 do not play a role and, 
>>> therefore, can be removed without changing the claim. This leads to:
>>>
>>> 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         return H(p, p);
>>> 04       }
>>> 05
>>> 06       int main()
>>> 07       {
>>> 08         H(D,D);
>>> 09         return 0;
>>> 10       }
>>>
>>>
>>> What we see is that the only property of D that is used is that it is 
>>> a parameter duplicator. (Is that why it is called D?). H needs 2 
>>> parameters, but it can be given only one input parameter, so the 
>>> parameter duplicator is required to allow H to decide about itself.
>>>
>>>
>>>
>>> Of the infinite set of H that simulate at least one step, none of 
>>> them, when simulated by H, halts, because none of them reaches its 
>>> final state. Olcott's claim is equivalent to the claim of non-halting 
>>> behaviour of H.
>>> This means that a simulating halt-decider is a bad idea, because the 
>>> decider itself does not halt.
>>
>> Not at all.
>>     A simulator is an x86 emulator that correctly emulates 1 to N of the
>>     x86 instructions of D in the order specified by the x86 instructions
>>     of D. This may include M recursive emulations of H emulating itself
>>     emulating D.
>>
>>     This means that D cannot possibly reach its own line 06 and halt
>>     in any finite steps of correct simulation. H is free to halt at
>>     any time after these N finite steps of correct simulation.
>>
>>
> 
> D does not reach it own line 04 because the simulation of H does not 
> return to D. So, it shows that the simulation of H does not reach it 
> final state, which proves that H does not halt.

Your transformation would have been acceptable if you retained the
fact that H is a pure function that always halts and returns some value.

In retrospect I should not have assumed that people here knew what a
pure function is.

In computer programming, a pure function is a function that has the 
following properties:

(1) the function return values are identical for identical arguments
(no variation with local static variables, non-local variables, mutable
reference arguments or input streams), and

(2) the function has no side effects (no mutation of local static
variables, non-local variables, mutable reference arguments or
input/output streams). https://en.wikipedia.org/wiki/Pure_function

>  A clear indication that 
> a simulating decider is not a good idea, because it is required to halt, 
> but H itself finds that H does not reach its final state.

No matter how many steps of D correctly simulated by pure function H
are simulated D never reaches its final state at its own line 06 and
halts because D remains stuck in recursive simulation.

That H is a pure function means that H eventually halts and returns
some value. We can say H returns the meaningless value of 56.

*Thanks for your review*

-- 
Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius
hits a target no one else can see." Arthur Schopenhauer