Deutsch English Français Italiano |
<v1gid8$4ilc$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.nobody.at!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: Every D(D) simulated by H presents non-halting behavior to H ### Date: Wed, 8 May 2024 14:05:11 -0500 Organization: A noiseless patient Spider Lines: 201 Message-ID: <v1gid8$4ilc$1@dont-email.me> References: <v18e32$1vbql$1@dont-email.me> <v1avuv$2lks2$1@dont-email.me> <v1b7gl$2ndka$1@dont-email.me> <v1cla9$34iis$1@dont-email.me> <v1d2mi$9f72$11@i2pn2.org> <v1di1h$3b2m5$1@dont-email.me> <v1dtdv$3dqg4$1@dont-email.me> <v1du2i$3dt7u$1@dont-email.me> <v1fetd$3s7jo$1@dont-email.me> <v1ft42$3vdau$2@dont-email.me> <-5Gdnf-nQvstC6b7nZ2dnZfqnPadnZ2d@brightview.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 08 May 2024 21:05:13 +0200 (CEST) Injection-Info: dont-email.me; posting-host="883a48edd812fc46b7908dfbe69f1e37"; logging-data="150188"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/a/m3uFvl8M4khozo0vzDm" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:mpj/eFnSB/4fm+9EvhljQzRNAG0= Content-Language: en-US In-Reply-To: <-5Gdnf-nQvstC6b7nZ2dnZfqnPadnZ2d@brightview.co.uk> Bytes: 8918 On 5/8/2024 10:13 AM, Mike Terry wrote: > On 08/05/2024 14:01, olcott wrote: >> On 5/8/2024 3:59 AM, Mikko wrote: >>> On 2024-05-07 19:05:54 +0000, olcott said: >>> >>>> On 5/7/2024 1:54 PM, Fred. Zwarts wrote: >>>>> Op 07.mei.2024 om 17:40 schreef olcott: >>>>>> On 5/7/2024 6:18 AM, Richard Damon wrote: >>>>>>> On 5/7/24 3:30 AM, Mikko wrote: >>>>>>>> On 2024-05-06 18:28:37 +0000, olcott said: >>>>>>>> >>>>>>>>> On 5/6/2024 11:19 AM, Mikko wrote: >>>>>>>>>> On 2024-05-05 17:02:25 +0000, olcott said: >>>>>>>>>> >>>>>>>>>>> The x86utm operating system: >>>>>>>>>>> https://github.com/plolcott/x86utm enables >>>>>>>>>>> one C function to execute another C function in debug step mode. >>>>>>>>>>> Simulating Termination analyzer H simulates the x86 machine >>>>>>>>>>> code of its >>>>>>>>>>> input (using libx86emu) in debug step mode until it correctly >>>>>>>>>>> matches a >>>>>>>>>>> correct non-halting behavior pattern proving that its input >>>>>>>>>>> will never >>>>>>>>>>> stop running unless aborted. >>>>>>>>>>> >>>>>>>>>>> Can D correctly simulated by H terminate normally? >>>>>>>>>>> 00 int H(ptr x, ptr x) // ptr is pointer to int function >>>>>>>>>>> 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 } >>>>>>>>>>> >>>>>>>>>>> *Execution Trace* >>>>>>>>>>> Line 11: main() invokes H(D,D); >>>>>>>>>>> >>>>>>>>>>> *keeps repeating* (unless aborted) >>>>>>>>>>> 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 above execution trace proves that (for every H/D pair of the >>>>>>>>>>> infinite set of H/D pairs) each D(D) simulated by the H that >>>>>>>>>>> this D(D) >>>>>>>>>>> calls cannot possibly reach past its own line 03. >>>>>>>>>> >>>>>>>>>> When you say "every H/D pair" you should specify which set of >>>>>>>>>> pairs >>>>>>>>>> you are talking about. As you don't, your words don't mean >>>>>>>>>> anything. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Every H/D pair in the universe where D(D) is simulated by the >>>>>>>>> same H(D,D) that D(D) calls. This involves 1 to ∞ steps of D >>>>>>>>> and also includes zero to ∞ recursive simulations where H >>>>>>>>> H simulates itself simulating D(D). >>>>>>>> >>>>>>>> "In the universe" is not a set. In typical set theories like ZFC >>>>>>>> there >>>>>>>> is no universal set. >>>>>>> >>>>>> >>>>>> This template defines an infinite set of finite string H/D pairs >>>>>> where each D(D) that is simulated by H(D,D) also calls this same >>>>>> H(D,D). >>>>>> >>>>>> These H/D pairs can be enumerated by the one to ∞ simulated steps >>>>>> of D and involve zero to ∞ recursive simulations of H simulating >>>>>> itself simulating D(D). Every time Lines 1,2,3 are simulated again >>>>>> defines >>>>>> one more level of recursive simulation. >>>>>> >>>>>> 1st element of H/D pairs 1 step of D is simulated by H >>>>>> 2nd element of H/D pairs 2 steps of D are simulated by H >>>>>> 3rd element of H/D pairs 3 steps of D are simulated by H >>>>>> >>>>>> 4th element of H/D pairs 4 steps of D are simulated by H >>>>>> this begins the first recursive simulation at line 01 >>>>>> >>>>>> 5th element of H/D pairs 5 steps of D are simulated by >>>>>> next step of the first recursive simulation at line 02 >>>>>> >>>>>> 6th element of H/D pairs 6 steps of D are simulated by >>>>>> last step of the first recursive simulation at line 03 >>>>>> >>>>>> 7th element of H/D pairs 7 steps of D are simulated by H >>>>>> this begins the second recursive simulation at line 01 >>>>> >>>>> Is this the definition of the infinite set of H? We can think of >>>>> many more simulations that only these. >>>> >>>> This template defines an infinite set of finite string H/D pairs where >>>> each D(D) that is simulated by H(D,D) also calls this same H(D,D). >>>> >>>> No-one can possibly show one element of this set where D(D) reaches >>>> past its own line 03. >>> >>> If H is a decider of any kind then the D build from it reaches its line >>> 4 as numberd above. Whether the simulation of D by H reaches that line >>> is another question. >>> >> >> *My fully operational code proves otherwise* >> >> I seems like you guys don't have a clue about how infinite >> recursion works. You can run the code and see that I am correct. >> >> I have one concrete instance as fully operational code. >> https://github.com/plolcott/x86utm/blob/master/Halt7.c >> line 555 u32 HH(ptr P, ptr I) its input in on >> line 932 int DD(int (*x)()) > > HH is completely broken - it uses a global variable which is allows HH > to detect whether it is the outer HH or a nested (simulated) HH. As a > result, the nested HH behaves completely differently to the outer HH - I > mean /completely/ differently: it goes through a totally separate "I am > called in nested mode" code path! > The encoding of HH is not the pure function that it needs to be to be a computable function. *Maybe you can settle this* The disagreement is entirely over an enormously much simpler thing. The disagreement is that Richard says that a D simulated by H could reach past its own line 03 and halt. *He used this example to prove that* On 5/1/2024 7:28 PM, Richard Damon wrote: > int H(ptr m, ptr d) { > return 0; > } *Any "simulator" that never simulates is not a simulator at all* *Any "simulator" that never simulates is not a simulator at all* *Any "simulator" that never simulates is not a simulator at all* *Any "simulator" that never simulates is not a simulator at all* 00 int H(ptr x, ptr x) // ptr is pointer to int function 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 } Any H/D pair matching the above template where D(D) is simulated by the same H(D,D) that it calls cannot possibly reach past it own line 03. Simple software engineering verified fact. Richard keeps saying that he posted proof otherwise and absolutely will not provide this "proof". > You agreed this a few weeks ago. Or have you fixed this code now? I > bet you haven't. > ========== REMAINDER OF ARTICLE TRUNCATED ==========