Deutsch English Français Italiano |
<v2eluk$3r1qu$1@raubtier-asyl.eternal-september.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!raubtier-asyl.eternal-september.org!.POSTED!not-for-mail From: Bonita Montero <Bonita.Montero@gmail.com> Newsgroups: comp.lang.c,comp.lang.c++ Subject: Re: Can someone please verify the execution trace of this? Date: Mon, 20 May 2024 07:09:44 +0200 Organization: A noiseless patient Spider Lines: 80 Message-ID: <v2eluk$3r1qu$1@raubtier-asyl.eternal-september.org> References: <v2b78t$2vima$1@dont-email.me> <v2df79$3ghfd$1@raubtier-asyl.eternal-september.org> <v2di7v$3gujt$1@dont-email.me> <v2eada$3p6sk$1@raubtier-asyl.eternal-september.org> <v2edbr$3pl2i$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 20 May 2024 07:09:40 +0200 (CEST) Injection-Info: raubtier-asyl.eternal-september.org; posting-host="1c7a77ed2cd6eb3214bbe78a144e9bc5"; logging-data="4032350"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19LiG0SsOo1MB2+wntjioBBNLrmlux7vv4=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:wq4VhGb2cPef5Qcd7WRAn7Y9hBs= In-Reply-To: <v2edbr$3pl2i$1@dont-email.me> Content-Language: de-DE Bytes: 4106 Am 20.05.2024 um 04:43 schrieb olcott: > On 5/19/2024 8:52 PM, Bonita Montero wrote: >> Am 19.05.2024 um 21:00 schrieb olcott: >>> On 5/19/2024 1:08 PM, Bonita Montero wrote: >>>> Am 18.05.2024 um 23:40 schrieb olcott: >>>>> People are saying that they have no idea what this code does >>>>> because they do not believe it conforms to c11 or c17. >>>>> >>>>> typedef int (*ptr)(); // ptr is pointer to int function >>>>> 00 int H(ptr x, ptr y); >>>>> 01 int D(ptr x) >>>>> 02 { >>>>> 03 int Halt_Status = H(x, x); >>>>> 04 if (Halt_Status) >>>>> 05 HERE: goto HERE; >>>>> 06 return Halt_Status; >>>>> 07 } >>>>> 08 >>>>> 09 int main() >>>>> 10 { >>>>> 11 H(D,D); >>>>> 12 return 0; >>>>> 13 } >>>>> >>>>> In the above case a simulator is an x86 emulator that correctly >>>>> emulates >>>>> at least one of the x86 instructions of D in the order specified by >>>>> the >>>>> x86 instructions of D. >>>>> >>>>> This may include correctly emulating the x86 instructions of H in the >>>>> order specified by the x86 instructions of H thus calling H(D,D) in >>>>> recursive simulation. >>>>> >>>>> *Execution Trace* >>>>> Line 11: main() invokes H(D,D); >>>>> >>>>> *keeps repeating* (unless aborted) >>>>> Line 01: >>>>> Line 02: >>>>> Line 03: simulated D(D) invokes simulated H(D,D) that simulates D(D) >>>>> >>>>> *Simulation invariant* >>>>> D correctly simulated by H cannot possibly reach past its own line 03. >>>>> >>>>> The key thing to note is that no D correctly simulated by any H of >>>>> every >>>>> H/D pair specified by the above template ever reaches its own line 06 >>>>> and halts. >>>>> >>>> >>>> Other people think 30s about this, you think years about that. >>>> >>> >>> It is the basis for my two decades long primary research into >>> termination analysis. People on another forum have written >>> hundreds of posts claiming that D correctly simulated by H >>> reaches its own line 06 and halts. >>> >>> *I have only gotten truthful answers on this forum* >>> >> >> That's not research, that's nonsense. >> > > This is not the forum to show that it is not nonsense this is > a simple C question that I should not even have to ask except > for a few people in another forum that consistently lie about > the answer. > > I have been a professional C++ developer since Y2K. So I already > know the answer, I just need some competent people in this forum > to attest to this answer. I met Bjarne Stroustrup back when he > was going around the country promoting his new language. > You ask the same questions over and over again for years. It's like circling your thoughts before you fall asleep - you don't think about whether it really makes sense.