Path: ...!eternal-september.org!feeder3.eternal-september.org!news.szaf.org!news.karotte.org!news.space.net!news.muc.de!.POSTED.news.muc.de!not-for-mail From: Alan Mackenzie Newsgroups: comp.theory,sci.logic Subject: Re: D correctly simulated by pure function H cannot possibly reach its, own line 06 Followup-To: comp.theory Date: Sat, 25 May 2024 21:09:27 -0000 (UTC) Organization: muc.de e.V. Message-ID: References: Injection-Date: Sat, 25 May 2024 21:09:27 -0000 (UTC) Injection-Info: news.muc.de; posting-host="news.muc.de:2001:608:1000::2"; logging-data="14301"; mail-complaints-to="news-admin@muc.de" User-Agent: tin/2.6.3-20231224 ("Banff") (FreeBSD/14.0-RELEASE-p5 (amd64)) Bytes: 3458 Lines: 62 [ Followup-To: set ] In comp.theory olcott wrote: [ .... ] > Not at all. I simply utterly reject the dishonest dodge > of the strawman deception change-the-subject rebuttal. > typedef int (*ptr)(); // ptr is pointer to int function in C > 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 } > The above template refers to an infinite set of H/D pairs where D is > correctly simulated by pure function H. This was done because many > reviewers used the shell game ploy to endlessly switch which H/D pair > was being referred to. > *Correct Simulation Defined* > This is provided because many reviewers had a different notion of > correct simulation that diverges from this notion. > 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. Having simulated at least one x86 instruction, what does a correct simulator then do? This isn't made clear. I'm assuming it must return an integer, as its C specification says. > 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); H(D,D) simulates lines 01, 02, and 03 of > D. This invokes H(D,D) again to repeat the process in endless recursive > simulation. Not if the simulation is "correct"; suppose the simulation emulates just one instruction of D. Supposing it then returns 0 (somewhat extending your definition of a "correct simulator"). The execution trace will then be somewhat different from what you've outlined above. > -- > Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius > hits a target no one else can see." Arthur Schopenhauer -- Alan Mackenzie (Nuremberg, Germany).