Deutsch English Français Italiano |
<v4qpvo$10qh6$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!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,sci.logic Subject: Re: Simulating termination analyzers for dummies Date: Mon, 17 Jun 2024 21:04:40 -0500 Organization: A noiseless patient Spider Lines: 109 Message-ID: <v4qpvo$10qh6$2@dont-email.me> References: <v4oaqu$f9p5$1@dont-email.me> <v4os9e$i70m$1@dont-email.me> <v4p9mb$lavj$1@dont-email.me> <v4qe53$a0nm$1@i2pn2.org> <v4qn65$10qh6$1@dont-email.me> <v4qnkf$a0nm$5@i2pn2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 18 Jun 2024 04:04:44 +0200 (CEST) Injection-Info: dont-email.me; posting-host="817dd47f58e869d78494e0bf13c00909"; logging-data="1075750"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/lqBshtoCk8/ktTXfge4CL" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:pSjULozVG6V/Tl7PtxIvSZ8ZzbI= In-Reply-To: <v4qnkf$a0nm$5@i2pn2.org> Content-Language: en-US Bytes: 4874 On 6/17/2024 8:24 PM, Richard Damon wrote: > On 6/17/24 9:16 PM, olcott wrote: >> On 6/17/2024 5:42 PM, Richard Damon wrote: >>> On 6/17/24 8:20 AM, olcott wrote: >>>> On 6/17/2024 3:31 AM, Fred. Zwarts wrote: >>>>> Op 17.jun.2024 om 05:33 schreef olcott: >>>>>> To understand this analysis requires a sufficient knowledge of >>>>>> the C programming language and what an x86 emulator does. >>>>>> >>>>>> Unless every single detail is made 100% explicit false assumptions >>>>>> always slip though the cracks. This is why it must be examined at >>>>>> the C level before it is examined at the Turing Machine level. >>>>>> >>>>>> typedef void (*ptr)(); >>>>>> int H0(ptr P); >>>>>> >>>>>> void Infinite_Loop() >>>>>> { >>>>>> HERE: goto HERE; >>>>>> } >>>>>> >>>>>> void Infinite_Recursion() >>>>>> { >>>>>> Infinite_Recursion(); >>>>>> } >>>>>> >>>>>> void DDD() >>>>>> { >>>>>> H0(DDD); >>>>>> return; >>>>>> } >>>>>> >>>>>> int main() >>>>>> { >>>>>> H0(Infinite_Loop); >>>>>> H0(Infinite_Recursion); >>>>>> H0(DDD); >>>>>> } >>>>>> >>>>>> Every C programmer that knows what an x86 emulator is knows that >>>>>> when H0 >>>>>> emulates the machine language of Infinite_Loop, >>>>>> Infinite_Recursion, and >>>>>> DDD that it must abort these emulations so that itself can terminate >>>>>> normally. >>>>>> >>>>>> When this is construed as non-halting criteria then simulating >>>>>> termination analyzer H0 is correct to reject these inputs as non- >>>>>> halting. >>>>>> >>>>> >>>>> For Infinite_Loop and Infinite_Recursion that might be true, >>>>> because there the simulator processes the whole input. >>>>> >>>>> The H0 case is very different. For H0 there is indeed a false >>>>> assumption, as you mentioned. Here H0 needs to simulate itself, but >>>>> the simulation is never able to reach the final state of the >>>>> simulated self. The abort is always one cycle too early, so that >>>>> the simulating H0 misses the abort. Therefore this results in a >>>>> false negative. >>>>> (Note that H0 should process its input, which includes the H0 that >>>>> aborts, not a non-input with an H that does not abort.) >>>>> >>>>> This results in a impossible dilemma for the programmer. It he >>>>> creates a H that does not abort, it will not terminate. >>>> >>>> *Therefore what I said is correct* >>>> When every input that must be aborted is construed as non-halting >>>> then the input to H0(DDD) is correctly construed as non-halting. >>> >>> In other words, if you allow yourself to LIE, you can claim the wrong >>> answer is right. >>> >>> Since your "Needing to abort" is NOT the same as halting, all you are >>> doing is admitting that your whole logic system is based on the >>> principle that LIES ARE OK. >>> >> >> "Needing to abort" <is> the same as a NOT halting input. >> You are simply too ignorant to understand this. >> > > Nope, not if you are comparing DIFFERENT version of the input. > It is ALWAYS the exact same sequence of bytes. > >> When I explain this in terms of of mathematical mappings >> from finite strings to behaviors this simply leaps over >> everyone's head. >> > > As has been shown, you can apply the input to H0 (when you don't change > it, so the call to H0 still goes to this H0), to a UTM and it will reach > the final end, so *THIS* H0 did not "Need" to abort its input, but did > because it was programmend to. > Not so much. void DDD() { UTM(DDD); } -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer