Deutsch English Français Italiano |
<v6ulg0$3nmaa$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!npeer.as286.net!npeer-ng0.as286.net!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.theory Subject: Re: What is the correct halt status for HHH(DDD) ? --- Tautology Date: Sat, 13 Jul 2024 14:45:03 -0500 Organization: A noiseless patient Spider Lines: 129 Message-ID: <v6ulg0$3nmaa$1@dont-email.me> References: <v6ub4i$3luop$1@dont-email.me> <ad93b25297ec232cc5605c0979e3b3fe3c9283f2@i2pn2.org> <v6ug87$3mpsd$1@dont-email.me> <29624b83c2e7ab328d56a2bcbebde2a00b1f7790@i2pn2.org> <v6uifl$3n55j$2@dont-email.me> <0e5183b652b6c4f856314d6d9ba950d06499e24f@i2pn2.org> <v6uk7h$3nd6t$1@dont-email.me> <4f2d7319ae484c2cef8c878697426f974e3e83e8@i2pn2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sat, 13 Jul 2024 21:45:04 +0200 (CEST) Injection-Info: dont-email.me; posting-host="52398669a80ff5113c36343403a598c9"; logging-data="3922250"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+yLvXDBSPTnsaWzBVk0m8I" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:t6vErkO1vUTQLTn9LWEBH9KSWM4= Content-Language: en-US In-Reply-To: <4f2d7319ae484c2cef8c878697426f974e3e83e8@i2pn2.org> Bytes: 5969 On 7/13/2024 2:40 PM, Richard Damon wrote: > On 7/13/24 3:23 PM, olcott wrote: >> On 7/13/2024 2:10 PM, Richard Damon wrote: >>> On 7/13/24 2:53 PM, olcott wrote: >>>> On 7/13/2024 1:33 PM, Richard Damon wrote: >>>>> On 7/13/24 2:15 PM, olcott wrote: >>>>>> On 7/13/2024 12:25 PM, Richard Damon wrote: >>>>>>> On 7/13/24 12:48 PM, olcott wrote: >>>>>>>> What is the correct halt status for an input to >>>>>>>> a simulating termination analyzer that calls its >>>>>>>> own termination analyzer? >>>>>>>> >>>>>>>> typedef void (*ptr)(); >>>>>>>> int HHH(ptr P); >>>>>>>> >>>>>>>> void DDD() >>>>>>>> { >>>>>>>> HHH(DDD); >>>>>>>> } >>>>>>>> >>>>>>>> int main() >>>>>>>> { >>>>>>>> HHH(DDD); >>>>>>>> } >>>>>>>> >>>>>>> >>>>>>> Halting. >>>>>>> >>>>>>> Since HHH defined to be a termination analyzer, by that >>>>>>> definition it must return to its caller. >>>>>>> >>>>>>> Since DDD has no inputs, its behavior isn't affected by any >>>>>>> inputs, and thus DDD will halt for ALL input conditions, so >>>>>> >>>>>> You are stupidly saying that Infinite_Loop() will halt because >>>>>> it has no inputs. >>>>>> >>>>> >>>>> Where did I say no input means halting? >>>>> >>>>> I said that since DDD has no inputs, a Termination analyizer >>>>> doesn't need to look over all inputs, as there are no inputs to >>>>> affect it. >>>>> >>>>> Maybe you forget that a Termination Analyzer is not the same thing >>>>> as a Halt Decider. >>>>> >>>>> A Halt Decider determines if the given program will halt for the >>>>> given input, and needs to be given both (if the program takes an >>>>> input). >>>>> >>>>> A Termination Analyzer determines if a given program will halt for >>>>> every possible input, and thus is only given the program, and not >>>>> the input to test. >>>>> >>>>> >>>>> Note, for Infinite_Loop below, it IS possible for a simulator to >>>>> detect a condition in a finite amount of time that an unbounded >>>>> emulation would never halt, so can answer correctly non-halting. >>>>> >>>>> The problem with trying to apply that to DDD is it isn't true, give >>>>> the DDD that uses the HHH that tries to think it has determined it >>>>> to never halt to a actual pure emulator (and thus DDD still calls >>>>> that HHH that thinks it has determined that DDD will not halt and >>>>> aborts its emulation and returns) then the pure emulatior will see >>>>> that HHH make that decisioin and return to DDD which will return. >>>>> >>>>> Thus HHH can never actually make that same conclusion. You logic is >>>>> incorrrect as you presume the input changes with the emulator, but >>>>> it actually doesn't, it changes with the emulator you have stated >>>>> is the one that gives the correct answer, which you can't change in >>>>> the middle of the problem. >>>>> >>>>>> void Infinite_Loop() >>>>>> { >>>>>> HERE: goto HERE; >>>>>> } >>>>>> >>>>>>> for HHH to be a correct termination analysizer it needs to return >>>>>>> the value to indicate Halting. >>>>>>> >>>>>> Yes >>>>> >>>>> And thus, it WILL return that value to the DDD that calls it, and >>>>> that DDD will halt. >>>>> >>>>>> >>>>>>> Your version >>>>>> >>>>>> I am asking What is the correct halt status for HHH(DDD) >>>>>> that at least one element of every possible pure function >>>>>> HHH can provide. >>>>>> >>>>> >>>>> The only correct answer it is able to give is Halt. >>>>> >>>> >>>> Yet any input that must be aborted to prevent the non >>>> termination of HHH necessarily specifies non-halting >>>> behavior or it would never need to be aborted. >>> >>> But the DDD that this HHH is given doesn't need to be aborted. >>> >>> That is proven by HHH1(DDD). >>> >> >> That is not the same DDD instance and you know it. >> That is the DDD after HHH has aborted its DDD. >> >> My code shows HHH1 creating a process context and >> HHH creating two more different contexts. >> >> HHH1 depends on HHH aborting its own different DDD >> for the DDD of HHH1 to halt. >> > > And you ignore the fundamental fact that ALL DDDs built on the same code > in HHH will behave the same. > *You are just going to lie about this into perpetuity* Any input that must be aborted to prevent the non termination of HHH necessarily specifies non-halting behavior or it would never need to be aborted. -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer