Path: ...!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: Richard Damon <richard@damon-family.org> Newsgroups: comp.theory,sci.logic Subject: Olcott can't tell the difference between a machine and an infinte set of machines Date: Fri, 10 May 2024 17:59:51 -0400 Organization: i2pn2 (i2pn.org) Message-ID: <v1m5co$lbo4$2@i2pn2.org> 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> <v1gid8$4ilc$1@dont-email.me> <v1h9eu$9faf$1@dont-email.me> <v1iqli$nsva$1@dont-email.me> <v1k0ts$iuna$1@i2pn2.org> <v1k381$14mbi$2@dont-email.me> <v1labh$kf53$1@i2pn2.org> <v1lfnq$1e7af$1@dont-email.me> <v1lh1g$kf52$4@i2pn2.org> <v1lmo1$1g1mj$1@dont-email.me> <v1luu1$lbo5$3@i2pn2.org> <v1lvuo$1i47i$1@dont-email.me> <v1m1bf$lbo5$4@i2pn2.org> <v1m2hc$1ijhr$1@dont-email.me> <v1m31m$lbo4$1@i2pn2.org> <v1m4et$1iv85$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 10 May 2024 21:59:52 -0000 (UTC) Injection-Info: i2pn2.org; logging-data="700164"; mail-complaints-to="usenet@i2pn2.org"; posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg"; User-Agent: Mozilla Thunderbird X-Spam-Checker-Version: SpamAssassin 4.0.0 Content-Language: en-US In-Reply-To: <v1m4et$1iv85$1@dont-email.me> Bytes: 16515 Lines: 343 On 5/10/24 5:43 PM, olcott wrote: > On 5/10/2024 4:19 PM, Richard Damon wrote: >> On 5/10/24 5:11 PM, olcott wrote: >>> On 5/10/2024 3:50 PM, Richard Damon wrote: >>>> On 5/10/24 4:27 PM, olcott wrote: >>>>> On 5/10/2024 3:09 PM, Richard Damon wrote: >>>>>> On 5/10/24 1:49 PM, olcott wrote: >>>>>>> On 5/10/2024 11:12 AM, Richard Damon wrote: >>>>>>>> On 5/10/24 11:50 AM, olcott wrote: >>>>>>>>> On 5/10/2024 9:18 AM, Richard Damon wrote: >>>>>>>>>> On 5/9/24 11:10 PM, olcott wrote: >>>>>>>>>>> On 5/9/2024 9:31 PM, Richard Damon wrote: >>>>>>>>>>>> On 5/9/24 11:38 AM, olcott wrote: >>>>>>>>>>>>> On 5/8/2024 8:38 PM, immibis wrote: >>>>>>>>>>>>>> On 8/05/24 21:05, olcott wrote: >>>>>>>>>>>>>>> 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! >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> ========== REMAINDER OF ARTICLE TRUNCATED ==========