Path: ...!news.misty.com!weretis.net!feeder9.news.weretis.net!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail From: Richard Damon Newsgroups: comp.theory Subject: Re: Every sufficiently competent C programmer knows Date: Tue, 11 Mar 2025 18:46:54 -0400 Organization: i2pn2 (i2pn.org) Message-ID: <0ac4f350875240abaedd5e454e96d1ca4fb0e356@i2pn2.org> References: <473a9a152c792a48c83eea569551035994c9d04f@i2pn2.org> 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:54 -0000 (UTC) Injection-Info: i2pn2.org; logging-data="3945448"; mail-complaints-to="usenet@i2pn2.org"; posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg"; User-Agent: Mozilla Thunderbird Content-Language: en-US In-Reply-To: X-Spam-Checker-Version: SpamAssassin 4.0.0 Bytes: 3497 Lines: 76 On 3/11/25 9:34 AM, olcott wrote: > 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? > A C Function can't call another C function that hasn't been given, or fully defined. Note, since you currect definition of HHH is that it will emulated just N steps of its input and then (presumably) return, that means the definiton of DD calling HHH(DD) properly emulated is just HHH(DD) returning the value it will return, which must be 0 since that is what you claim is the correct answer, Since you haven't fully specified how it does that emulation, we can't try to emulate that undefined procedure Youe problem is that you just don't know what the meaning of the terms you are using actually mean, so you assume wrong definitions, and that make you into just an ignorant liar.