Deutsch English Français Italiano |
<vpklrk$21jn9$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Mikko <mikko.levanto@iki.fi> Newsgroups: comp.theory Subject: Re: Anyone with sufficient knowledge of C knows that DD specifies non-terminating behavior to HHH Date: Tue, 25 Feb 2025 16:59:00 +0200 Organization: - Lines: 184 Message-ID: <vpklrk$21jn9$1@dont-email.me> References: <vo6420$3mpmf$1@dont-email.me> <vojs0e$2oikq$4@dont-email.me> <vokdha$2rcqi$1@dont-email.me> <vom1fr$34osr$1@dont-email.me> <von0iq$3d619$1@dont-email.me> <vondj5$3ffar$1@dont-email.me> <vopke4$3v10c$1@dont-email.me> <vosn00$jd5m$1@dont-email.me> <f9a0a18d52ac35171173e0c60c9062e03343ad68@i2pn2.org> <vote0u$nf28$1@dont-email.me> <3b8a5f4be53047b2a6c03f9678d0253e137d3c40@i2pn2.org> <votn1l$pb7c$1@dont-email.me> <5cd9bc55c484f10efd7818ecadf169a11fcc58e1@i2pn2.org> <votq5o$ppgs$1@dont-email.me> <vouu57$12hqt$3@dont-email.me> <vp1jkg$1kstl$1@dont-email.me> <vp1qp1$1m05h$2@dont-email.me> <vp46l6$26r1n$1@dont-email.me> <vp5t55$2gt2s$1@dont-email.me> <vp6pmb$2opvi$1@dont-email.me> <vp8700$30tdq$1@dont-email.me> <vp9ct8$3af6t$1@dont-email.me> <vpav34$3jct4$1@dont-email.me> <vpc3u9$3skb7$1@dont-email.me> <vpcsvk$irt$2@dont-email.me> <vpev2e$fgop$1@dont-email.me> <vpfmpp$j7qb$6@dont-email.me> <vphbnb$10gus$1@dont-email.me> <vpivp4$1fvqe$6@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 25 Feb 2025 15:59:00 +0100 (CET) Injection-Info: dont-email.me; posting-host="48c5b33a3ab8096369972397d341e038"; logging-data="2150121"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18FzQDym1XiMynxBaibIxpM" User-Agent: Unison/2.2 Cancel-Lock: sha1:MMn/8nGWu0I5yaE91vulYOqWfY4= Bytes: 10258 On 2025-02-24 23:36:04 +0000, olcott said: > On 2/24/2025 2:47 AM, Mikko wrote: >> On 2025-02-23 17:44:25 +0000, olcott said: >> >>> On 2/23/2025 4:59 AM, Mikko wrote: >>>> On 2025-02-22 16:11:31 +0000, olcott said: >>>> >>>>> On 2/22/2025 3:04 AM, Mikko wrote: >>>>>> On 2025-02-21 22:35:16 +0000, olcott said: >>>>>> >>>>>>> On 2/21/2025 2:18 AM, Mikko wrote: >>>>>>>> On 2025-02-20 21:31:44 +0000, olcott said: >>>>>>>> >>>>>>>>> On 2/20/2025 2:38 AM, Mikko wrote: >>>>>>>>>> On 2025-02-20 00:31:33 +0000, olcott said: >>>>>>>>>> >>>>>>>>>>> On 2/19/2025 3:01 AM, Mikko wrote: >>>>>>>>>>>> On 2025-02-18 11:26:25 +0000, olcott said: >>>>>>>>>>>> >>>>>>>>>>>>> On 2/18/2025 3:24 AM, Mikko wrote: >>>>>>>>>>>>>> On 2025-02-17 09:05:42 +0000, Fred. Zwarts said: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Op 16.feb.2025 om 23:51 schreef olcott: >>>>>>>>>>>>>>>> On 2/16/2025 4:30 PM, joes wrote: >>>>>>>>>>>>>>>>> Am Sun, 16 Feb 2025 15:58:14 -0600 schrieb olcott: >>>>>>>>>>>>>>>>>> On 2/16/2025 2:02 PM, joes wrote: >>>>>>>>>>>>>>>>>>> Am Sun, 16 Feb 2025 13:24:14 -0600 schrieb olcott: >>>>>>>>>>>>>>>>>>>> On 2/16/2025 10:35 AM, joes wrote: >>>>>>>>>>>>>>>>>>>>> Am Sun, 16 Feb 2025 06:51:12 -0600 schrieb olcott: >>>>>>>>>>>>>>>>>>>>>> On 2/15/2025 2:49 AM, Mikko wrote: >>>>>>>>>>>>>>>>>>>>>>> On 2025-02-14 12:40:04 +0000, olcott said: >>>>>>>>>>>>>>>>>>>>>>>> On 2/14/2025 2:58 AM, Mikko wrote: >>>>>>>>>>>>>>>>>>>>>>>>> On 2025-02-14 00:07:23 +0000, olcott said: >>>>>>>>>>>>>>>>>>>>>>>>>> On 2/13/2025 3:20 AM, Mikko wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>> On 2025-02-13 04:21:34 +0000, olcott said: >>>>>>>>>>>>>>>>>>>>>>>>>>>> On 2/12/2025 4:04 AM, Mikko wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 2025-02-11 14:41:38 +0000, olcott said: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> DD correctly simulated by HHH cannot possibly terminate normally. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> That claim has already shown to be false. Nothing above shows that >>>>>>>>>>>>>>>>>>>>>>> HHH does not return 0. If it does DD also returns 0. >>>>>>>>>>>>>>>>>>>>>> When we are referring to the above DD simulated by HHH and not >>>>>>>>>>>>>>>>>>>>>> trying to get away with changing the subject to some other DD >>>>>>>>>>>>>>>>>>>>>> somewhere else >>>>>>>>>>>>>>>>>>>>> such as one that calls a non-aborting version of HHH >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> then anyone with sufficient knowledge of C programming knows that no >>>>>>>>>>>>>>>>>>>>>> instance of DD shown above simulated by any corresponding instance >>>>>>>>>>>>>>>>>>>>>> of HHH can possibly terminate normally. >>>>>>>>>>>>>>>>>>>>> Well, then that corresponding (by what?) HHH isn’t a decider. >>>>>>>>>>>>>>>>>>>> I am focusing on the isomorphic notion of a termination analyzer. >>>>>>>>>>>>>>>>>>> (There are other deciders that are not termination analysers.) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> A simulating termination analyzer correctly rejects any input that >>>>>>>>>>>>>>>>>>>> must be aborted to prevent its own non-termination. >>>>>>>>>>>>>>>>>>> Yes, in particular itself is not such an input, because we *know* that >>>>>>>>>>>>>>>>>>> it halts, because it is a decider. You can’t have your cake and eat it >>>>>>>>>>>>>>>>>>> too. >>>>>>>>>>>>>>>>>> I am not even using the confusing term "halts". >>>>>>>>>>>>>>>>>> Instead I am using in its place "terminates normally". >>>>>>>>>>>>>>>>>> DD correctly simulated by HHH cannot possibly terminate normally. >>>>>>>>>>>>>>>>> What’s confusing about „halts”? I find it clearer as it does not imply >>>>>>>>>>>>>>>>> an ambiguous „abnormal termination”. How does HHH simulate DD >>>>>>>>>>>>>>>>> terminating abnormally, then? Why doesn’t it terminate abnormally >>>>>>>>>>>>>>>>> itself? >>>>>>>>>>>>>>>>> You can substitute the term: the input DD to HHH does not need to be >>>>>>>>>>>>>>>>> aborted, because the simulated decider terminates. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> typedef void (*ptr)(); >>>>>>>>>>>>>>>> int HHH(ptr P); >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> int DD() >>>>>>>>>>>>>>>> { >>>>>>>>>>>>>>>> int Halt_Status = HHH(DD); >>>>>>>>>>>>>>>> if (Halt_Status) >>>>>>>>>>>>>>>> HERE: goto HERE; >>>>>>>>>>>>>>>> return Halt_Status; >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> int main() >>>>>>>>>>>>>>>> { >>>>>>>>>>>>>>>> HHH(DD); >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Every simulated input that must be aborted to >>>>>>>>>>>>>>>> prevent the non-termination of HHH is stipulated >>>>>>>>>>>>>>>> to be correctly rejected by HHH as non-terminating. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> A very strange and invalid stipulation. >>>>>>>>>>>>>> >>>>>>>>>>>>>> It merely means that the words do not have their ordinary meaning. >>>>>>>>>> >>>>>>>>>> Those two comments are not discussed below. >>>>>>>>>> >>>>>>>>>>>>> Unless HHH(DD) aborts its simulation of DD itself cannot possibly >>>>>>>>>>>>> terminate normally. >>>>>>>>>>>> >>>>>>>>>>>> That cannot be determined without examination of HHH, which is not in the >>>>>>>>>>>> scope of OP. >>>>>>>>>>> >>>>>>>>>>> I have given everyone here all of the complete source >>>>>>>>>>> code for a few years >>>>>>>>>> >>>>>>>>>> True but irrelevant. OP did not specify that HHH means that particular >>>>>>>>>> code. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Every post that I have been talking about for two or >>>>>>>>> more years has referred to variations of that same code. >>>>>>>> >>>>>>>> OP had a pointer of that code but didn's state that that code is a part >>>>>>>> of the problem. OP did not spacify any range for variation. >>>>>>>> >>>>>>> >>>>>>> I have only been talking about variations of the same code >>>>>>> as HHH(DD) for two years. Do you understand that one sentence? >>>>>> >>>>>> I understnd the sentence except the word "variations". What is the >>>>>> range of "variations"? >>>>>> >>>>> >>>>> Good you are being completely reasonable. >>>>> There are at least two algorithms the current >>>>> one that was also the original one is easiest to >>>>> understand. This algorithm essentially spots the >>>>> equivalent of infinite recursion. The code provides >>>>> all of the details. >>>>> >>>>>> Anyway OP did not specify that HHH is restricted to those "variations". >>>>>> Another undefined word of OP is "cannot". About a person it may mean >>>>>> that one does not do what one wants to do but a program does not want. >>>>>> >>>>> >>>>> HHH is exactly as specified. Assuming otherwise is silly. >>>> >>>> The words "as specified" when nothing is specified are not a good use >>>> of the language. >>>> >>> >>> _DD() >>> [00002133] 55 push ebp ; housekeeping >>> [00002134] 8bec mov ebp,esp ; housekeeping >>> [00002136] 51 push ecx ; make space for local >>> [00002137] 6833210000 push 00002133 ; push DD >>> [0000213c] e882f4ffff call 000015c3 ; call HHH(DD) >>> [00002141] 83c404 add esp,+04 >>> [00002144] 8945fc mov [ebp-04],eax >>> [00002147] 837dfc00 cmp dword [ebp-04],+00 >>> [0000214b] 7402 jz 0000214f >>> [0000214d] ebfe jmp 0000214d >>> [0000214f] 8b45fc mov eax,[ebp-04] >>> [00002152] 8be5 mov esp,ebp >>> [00002154] 5d pop ebp >>> [00002155] c3 ret >>> Size in bytes:(0035) [00002155] >>> >>> When DD is correctly simulated by HHH according to the behavior >>> that the above machine code specifies then the call from DD >>> to HHH(DD) cannot possibly return making it impossible for DD >>> emulated by HHH to terminate normally. >> >> That code does not specify whether HHH ever returns or what value >> HHH returns if it does. >> > > When HHH is known to emulate the above code with an x86 > emulator THEN Although OP says that HHH simulates it does not specify what is simulated. > the above machine code specifies then the call from DD > to HHH(DD) cannot possibly return making it impossible for DD > emulated by HHH to terminate normally. That cannot be inferred from anything OP shows. Anyway, it does not matter what HHH should return if it does not return it. ========== REMAINDER OF ARTICLE TRUNCATED ==========