| Deutsch English Français Italiano |
|
<v2vmiq$3fg58$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!feeds.phibee-telecom.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Mikko <mikko.levanto@iki.fi>
Newsgroups: comp.lang.c
Subject: Re: D correctly simulated by pure function H cannot possibly reach its, own line 06
Date: Sun, 26 May 2024 19:04:42 +0300
Organization: -
Lines: 98
Message-ID: <v2vmiq$3fg58$1@dont-email.me>
References: <v2ns85$1rd65$1@dont-email.me> <v2qa4r$2ch5g$2@dont-email.me> <v2qgu1$2dpfr$1@dont-email.me> <v2scpu$2qup2$1@dont-email.me> <v2sis5$2s0md$1@dont-email.me> <v2uqgr$3b5l1$1@dont-email.me> <v2vcf9$3dtct$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 26 May 2024 18:04:42 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="7a4a1647fbc92e75ac4f6b183a76dc9b";
logging-data="3653800"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19iblgYUAZkupMsPG0VcmnY"
User-Agent: Unison/2.2
Cancel-Lock: sha1:u/LJmA0W7fEMD//49LnFe8KXT3A=
Bytes: 4766
On 2024-05-26 13:12:08 +0000, olcott said:
> On 5/26/2024 3:05 AM, Mikko wrote:
>> On 2024-05-25 11:42:59 +0000, olcott said:
>>
>>> On 5/25/2024 4:59 AM, Mikko wrote:
>>>> 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:
>>>>
>>>
>>> The above references *pure function* H thus we do know
>>> that the spec *requires* H to halt.
>>> https://en.wikipedia.org/wiki/Pure_function
>>
>> In that case the spec requires halting, though OP was not clar about that.
>>
>>>> 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.
>>
>> Here OP is clear: H does not halt when both arguments are D.
>>
>> Therefore H does not conform to the spec.
>>
>>>> To repeat in endless recursve simulation makes halting impossible.
>>>> Apparently OP's interpretation of "pure function" does not imply
>>>> halting.
>>>>
>>>
>>> Every H is required to halt and return a value.
>>> To make things simple every H returns the meaningless 56.
>>> It is endless recursive simulation until H halts.
>>
>> No, it isn't. "endless recursive simulation" means that H does not halt.
>> Thereis no "unless" in the OP.
>>
>
> I had to make the subject line of the thread a little less accurate
> so that people could get the gist of what I was saying. Now I have
> made it precise.
Subject lines typically are as they are limited to one line. That's
not a problem.
--
Mikko