Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: olcott Newsgroups: comp.lang.c,comp.lang.c++ Subject: Re: Can someone please verify the execution trace of this? Date: Mon, 20 May 2024 14:40:32 -0500 Organization: A noiseless patient Spider Lines: 113 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 20 May 2024 21:40:33 +0200 (CEST) Injection-Info: dont-email.me; posting-host="629f9cefad5d4023792ce8f8ed8d9594"; logging-data="169004"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+MVinVCN4uWmqgctQ6ZBbm" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:wzNMQAhWFBZlmoZOgynMACJqq6o= Content-Language: en-US In-Reply-To: Bytes: 5688 On 5/20/2024 2:38 PM, Chris M. Thomasson wrote: > On 5/20/2024 12:34 PM, olcott wrote: >> On 5/20/2024 2:30 PM, Chris M. Thomasson wrote: >>> On 5/20/2024 12:28 PM, olcott wrote: >>>> On 5/20/2024 2:23 PM, Chris M. Thomasson wrote: >>>>> On 5/20/2024 12:15 PM, olcott wrote: >>>>>> On 5/20/2024 1:35 PM, Chris M. Thomasson wrote: >>>>>>> On 5/20/2024 10:20 AM, olcott wrote: >>>>>>>> On 5/20/2024 12:15 PM, Bonita Montero wrote: >>>>>>>>> Am 20.05.2024 um 18:01 schrieb olcott: >>>>>>>>>> On 5/20/2024 10:16 AM, Bonita Montero wrote: >>>>>>>>>>> Am 20.05.2024 um 16:47 schrieb olcott: >>>>>>>>>>> >>>>>>>>>>>> It is a simple question about the behavior of C functions. >>>>>>>>>>>> This group's purpose is the C/C++ language. >>>>>>>>>>> >>>>>>>>>>> Your question is generic to most languages and you're >>>>>>>>>>> not asking how to do that in C or how to improve that. >>>>>>>>>>> And you're asking the same thing for years. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Yes I am very persistent. I keep asking until >>>>>>>>>> I get an answer. >>>>>>>>>> >>>>>>>>> >>>>>>>>> After some time you should recognize you're doing circles. >>>>>>>>> >>>>>>>> >>>>>>>> I am asking a straight forward question that people >>>>>>>> keep ignoring it has nothing to do will my circles: >>>>>>>> Ask until answered stops when answered. >>>>>>>> >>>>>>> >>>>>>> Think of your halt decider running a black box program. >>>>>> >>>>>> *It is not even a halt decider in this post it is merely a simulator* >>>>> [...] >>>>> >>>>> Humm... So, what is your main point? You cannot decide if a program >>>>> will halt, _unless_ you code the test program? >>>>> >>>> >>>> My ONLY point has been to put the people that have continued to >>>> lie about the behavior of D correctly simulated by H in their place. >>>> Several people have consistently lied about this for two years. >>>> >>> >>> My only point is that one cannot 100% totally decide if a black box >>> program will halt, or not. >> >> I am not asking about any black box program. >> D is fully specified and the only relevant detail about H is that >> >> it correctly simulates 1 to ∞ steps of D thus including 0 to ∞ >> recursive simulations of H simulating itself simulating D. >> >> *From this we can conclude* >> *D correctly simulated by H never reaches its own line 06 and halts* >> >> >> > > So, your thing will tell me if a program XYZ will halt or not only > _after_ it simulates to infinity? What am I missing here? *The 100% totally complete every single detail scope of my post* *The 100% totally complete every single detail scope of my post* *The 100% totally complete every single detail scope of my post* typedef int (*ptr)(); // ptr is pointer to int function 00 int H(ptr p, ptr i); 01 int D(ptr p) 02 { 03 int Halt_Status = H(p, p); 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. For every H/D pair of the above template D correctly simulated by pure function (thus computable function) H cannot possibly reach its own final state at line 06 and halt. -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer