Deutsch   English   Français   Italiano  
<064dcecb606982600760f65ae736db8daaaa4531@i2pn2.org>

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

Path: ...!weretis.net!feeder9.news.weretis.net!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail
From: Richard Damon <richard@damon-family.org>
Newsgroups: comp.theory
Subject: Re: Every sufficiently competent C programmer knows
Date: Tue, 11 Mar 2025 18:46:56 -0400
Organization: i2pn2 (i2pn.org)
Message-ID: <064dcecb606982600760f65ae736db8daaaa4531@i2pn2.org>
References: <vqntaq$1jut5$1@dont-email.me>
 <473a9a152c792a48c83eea569551035994c9d04f@i2pn2.org>
 <vqo72u$1l6i0$2@dont-email.me> <vqp3d2$1u13r$1@dont-email.me>
 <vqpe5a$202b2$3@dont-email.me> <vqpfil$20lng$1@dont-email.me>
 <vqq0ss$24anh$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 11 Mar 2025 22:46:56 -0000 (UTC)
Injection-Info: i2pn2.org;
	logging-data="3945448"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg";
User-Agent: Mozilla Thunderbird
In-Reply-To: <vqq0ss$24anh$1@dont-email.me>
X-Spam-Checker-Version: SpamAssassin 4.0.0
Content-Language: en-US
Bytes: 4174
Lines: 88

On 3/11/25 2:54 PM, olcott wrote:
> On 3/11/2025 8:58 AM, Mikko wrote:
>> On 2025-03-11 13:34:34 +0000, olcott said:
>>
>>> On 3/11/2025 5:30 AM, Mikko wrote:
>>>> On 2025-03-11 02:27:42 +0000, olcott said:
>>>>
>>>>> On 3/10/2025 9:21 PM, Richard Damon wrote:
>>>>>> On 3/10/25 7:41 PM, olcott wrote:
>>>>>>> typedef void (*ptr)();
>>>>>>> int HHH(ptr P);
>>>>>>>
>>>>>>> void Infinite_Loop()
>>>>>>> {
>>>>>>>    HERE: goto HERE;
>>>>>>>    return;
>>>>>>> }
>>>>>>>
>>>>>>> void Infinite_Recursion()
>>>>>>> {
>>>>>>>    Infinite_Recursion();
>>>>>>>    return;
>>>>>>> }
>>>>>>>
>>>>>>> void DDD()
>>>>>>> {
>>>>>>>    HHH(DDD);
>>>>>>>    return;
>>>>>>> }
>>>>>>>
>>>>>>> int DD()
>>>>>>> {
>>>>>>>    int Halt_Status = HHH(DD);
>>>>>>>    if (Halt_Status)
>>>>>>>      HERE: goto HERE;
>>>>>>>    return Halt_Status;
>>>>>>> }
>>>>>>>
>>>>>>> That when HHH correctly emulates N steps of the
>>>>>>> above functions that none of these functions can
>>>>>>> possibly reach their own "return" instruction
>>>>>>> and terminate normally.
>>>>>>>
>>>>>>> Since HHH does see that same pattern that competent
>>>>>>> C programmers see it correctly aborts its emulation
>>>>>>> and rejects these inputs as non terminating.
>>>>>>>
>>>>>>
>>>>>> Problem: DD Isn't a program, and if you try to compile it, you 
>>>>>> will get an undiefined symbol HHH.
>>>>>
>>>>> HHH need not be a program for this correct thought experiment.
>>>>> The only detail required to know about HHH is that it correctly
>>>>> emulates N steps of DD.
>>>>
>>>> Wrong. One nneds also to know how a call to HHH is interpreted, in 
>>>> particular
>>>> if HHH is not a program.
>>>
>>> You are trying to get away with saying that
>>> one C function cannot call another C function
>>> according to the semantics of the C language?
>>
>> You are trying to get away with a distraction by lying?
>>
>> Calling is possible if the functions are in the same file or if they
>> are linked together and the called function is global.
>>
>> What is not possible is to determine the consequnces of such call
>> without knowing enough about the called function. As you would
>> know if you knew anything about programming.
>>
> 
> I specified that the functions are correctly emulated
> by HHH (by whatever means) and added that for HHH(DD)
> and HHH(DDD) HHH does emulate itself emulating these
> inputs to an arbitrary recursive depth.
> 

Which isn't a full definition, and is infact self-contradictory, and 
thus your "logic" is just a fraud.

You aren't allowed to just assume that something can happen, like HHH 
does correctly emulate itself and also returns an answer.

If HHH meets your requirements, it does not answer and thus fails to be 
a decider, and YES, it IS reasonable to require a correct simulator 
(even if it is trying to be a decider) to get stuck in that infinite 
loop, as that is part of the requirements to be a correct emulator.