Path: nntp.eternal-september.org!news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: Richard Damon Newsgroups: comp.theory Subject: Re: HHH(DDD)==0 is correct Date: Thu, 3 Jul 2025 10:24:04 -0400 Organization: i2pn2 (i2pn.org) Message-ID: References: <103jmr5$3h0jc$1@dont-email.me> <103k0sc$2q38$1@news.muc.de> <103k1mc$3j4ha$1@dont-email.me> <103lfn1$ml0$1@dont-email.me> <103m813$6dce$1@dont-email.me> <103ol2u$raq9$1@dont-email.me> <103onmp$rq7e$1@dont-email.me> <103r0ce$1esb9$1@dont-email.me> <103rhf6$1hc53$8@dont-email.me> <0c50a8ee4efb36cef4271674792a090125187f9d@i2pn2.org> <5e7f84c84b4ed51e195dd33afd9ed7eca89be454@i2pn2.org> <1044r60$3v2k1$1@dont-email.me> <1045gll$37j5$1@dont-email.me> <1045uma$5p40$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 3 Jul 2025 14:24:17 -0000 (UTC) Injection-Info: i2pn2.org; logging-data="3193447"; mail-complaints-to="usenet@i2pn2.org"; posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg"; User-Agent: Mozilla Thunderbird Content-Language: en-US X-Spam-Checker-Version: SpamAssassin 4.0.0 In-Reply-To: <1045uma$5p40$1@dont-email.me> On 7/3/25 8:56 AM, olcott wrote: > On 7/3/2025 3:57 AM, Mikko wrote: >> On 2025-07-03 02:50:40 +0000, olcott said: >> >>> On 7/1/2025 11:37 AM, Mr Flibble wrote: >>>> On Mon, 30 Jun 2025 21:12:48 -0400, Richard Damon wrote: >>>> >>>>> On 6/30/25 2:30 PM, Mr Flibble wrote: >>>>> >>>>> PO just works off the lie that a correct simulation of the input is >>>>> different than the direct execution, even though he can't show the >>>>> instruction actually correctly simulated where they differ, and thus >>>>> proves he is lying. >>>>> >>>>> The closest he comes is claiming that the simulation of the "Call HHH" >>>>> must be different when simulated then when executed, as for "some >>>>> reason" it must be just because otherwise HHH can't do the simulation. >>>>> >>>>> Sorry, not being able to do something doesn't mean you get to redefine >>>>> it, >>>>> >>>>> You ar4e just showing you are as stupid as he is. >>>> >>>> No. A simulator does not have to run a simulation to completion if >>>> it can >>>> determine that the input, A PROGRAM, never halts. >>>> >>>> /Flibble >>> >>> The most direct way to analyze this is that >>> HHH(DDD)==0 and HHH1(DDD)==1 are both correct >>> because DDD calls HHH(DDD) in recursive simulation and >>> DDD does not call HHH1(DDD) in recursive simulation. >> >> Either "no" (encoded as 0) or "yes" (encoded as any other number) is the >> wrong asnwer to the quesstion "does DDD specify a halting computation?". > > That is *not* the actual question. > HHH(DDD) is asked: Does your input specify a computation that halts? > DDD correctly simulated by HHH cannot possibly reach its own "return" > statement final halt state, so NO. But the input isn't a computation, as it isn't complete. Unless you want to consider that the above implicitly includes the ONE verion of HHH that is defined in Halt7.c, at which point, your "arguement" used to say HHH is correct fails. as "changing" HHH is prohibited from changing the input. so the new HHH needs to go elsewhere (and be like HHH1) and, as HHH1 shows, an diffferent HHH, put into a different address so DDD isn't changed, WILL be able to simulate the input to the end, so it is halting. > > HHH1(DDD) is asked: Does your input specify a computation that halts? > DDD correctly simulated by HHH1 reaches its own "return" statement final > halt state, so YES. But the only way for the input to be correctly simulated is to include the code for HHH in the input. HHH1 can't even see it as referencing "itself" as a lie. Thus, since you say HHH1 correctly simulates the inpjut, that ADMITS that "the input" must actually include THE code for HHH (and thus a SPECIFIC verision, and thus there is only one version of code that is HHH), which again, makes your argument for HHH just a lie. And thus, HHH1(DDD) is actually correct (if we fix the input to be able to ask the question) and HHH(DDD) is just incorrect. > > >> HHH says "no" and HHH1 says "yes" so one of them gives the wrong answer. >> >>> *I can't imagine how Mike does not get this* >>> >>> *Context of above dialogue* >>> *Context of above dialogue* >>> *Context of above dialogue* >>> >>> typedef void (*ptr)(); >>> int HHH(ptr P); >>> >>> void DDD() >>> { >>>    HHH(DDD); >>>    return; >>> } >>> >>> int main() >>> { >>>    HHH(DDD); >>> } >>> >>> Termination Analyzer HHH simulates its input until >>> it detects a non-terminating behavior pattern. When >>> HHH detects such a pattern it aborts its simulation >>> and returns 0. (HHH1 has identical code) >> >> That the HHH and HHH1 give different reusults for the same input >> means that their codes are not functionally equvalent and this >> meas that they are not identical. >> >> The subject line does not make sense as the message does not mean what >> "correct" means in this context. What is correct and what is not depends >> on what requirements are specified, and that message specifies none. >> For example, to drive a car on the right side of a road is incorrect in >> some situations and correct in others, depending on laws applicable to >> the road and and on the facts the laws specify as relevant. >> > >