Deutsch English Français Italiano |
<v3l002$5d3$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!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: Why does Olcott care about simulation, anyway? --- Mikes Review Date: Mon, 3 Jun 2024 12:54:10 -0500 Organization: A noiseless patient Spider Lines: 182 Message-ID: <v3l002$5d3$1@dont-email.me> References: <v3j20v$3gm10$2@dont-email.me> <J_CdnTaA96jxpcD7nZ2dnZfqnPudnZ2d@brightview.co.uk> <v3jei1$3o3a7$1@dont-email.me> <0xqdnd8ktrnsc8D7nZ2dnZfqnPqdnZ2d@brightview.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 03 Jun 2024 19:54:10 +0200 (CEST) Injection-Info: dont-email.me; posting-host="f629d257ac302b24ac32e99a4ff4b1b3"; logging-data="5539"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/q2fGkByrGfT8DJwNP2iGJ" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:OrJOxH55AFi7/Urk3CmsjeC9mOc= In-Reply-To: <0xqdnd8ktrnsc8D7nZ2dnZfqnPqdnZ2d@brightview.co.uk> Content-Language: en-US Bytes: 9492 On 6/3/2024 11:25 AM, Mike Terry wrote: > On 03/06/2024 04:50, olcott wrote: >> On 6/2/2024 10:28 PM, Mike Terry wrote: >>> On 03/06/2024 01:16, immibis wrote: >>>> The halting problem says you can't find a Turing machine that tells >>>> whether executing each other Turing machine will halt. Simulation >>>> has nothing to do with the question. >>> >>> Background: >>> >>> PO claims to have refuted the common HP proof, e.g. as covered in the >>> Linz book "An Introduction to Formal Languages and Automata". PO >>> occasionally posts a link to a PDF containing an extract of the 5 or >>> so pages of the book containing the proof, but I expect you have >>> access to this or equivalent. >>> >>> In a nutshell, the proof goes: >>> - Suppose H is a TM Halt decider that decides for any input <P><I> >>> whether >>> TM P run with input I on its input tape halts. >>> [<P> is the string representation of the actual TM P, and >>> <I> is the string representation of input tape I] >>> - Construct from H a new TM H^ using the mechanical process >>> described in the proof. >>> If H exists, then its corresponding H^ also exists. >>> - Show that the construction of H^ ensures that: >>> - if H decides input <H^><H^> (representing H^ running with >>> input <H^>) halts, >>> then that implies that H^ running with input <H^> never halts >>> - if H decides input <H^><H^> never halts, >>> then that implies H^ running with input <H^> halts >>> I.e. either way, H decides the specific input <H^><H^> >>> incorrectly, contradicting >>> the initial assumption that H is a halt decider. >>> - So no halt decider exists. (Every proposed halt decider decides >>> at least one input case >>> incorrectly, viz input <H^><H^>.) >>> >>> PO basically claimed he had a fully coded TM H, which CORRECTLY >>> decides its "nemesis" input <H^><H^>, contradicting the logic of the >>> Linz proof [without pointing out any actual mistake in the Linz >>> proof]. Given most people here understand the Linz proof well enough >>> to see it is basically sound, people were sceptical! >>> >>> It turned out PO was lying about the fully coded TM, and in fact what >>> he actually had was the idea behind a C program which would "prove" >>> his idea. A couple of years(?) later he actually completed his C >>> program and his x86utm.exe which would simulate the x86 code of his H >>> and H^ to "prove" his claim. His equivalent of Linz H is his C >>> function H or HH, and his equivalent of Linz H^ is his D or DD >>> respectively. (They run under x86utm.exe and are not Windows/Unix >>> executables.) >>> >>> H/HH use PARTIAL simulation of their input to decide >>> halting/non-halting, returning >>> 0 or 1 to communicate their decision. As you correctly point out, to >>> the HP proof simulation is quite irrelevant, being just one kind of >>> data manipulation that H may perform on its input string <P><I> >>> before it decides the halting status. So the Linz HP proof covers >>> such H, no problem. >>> [I put PARTIAL in caps, just because there seems to be some confusion >>> in recent threads as to what PO means by "simulation". He doesn't >>> say it explicitly, despite suggestions to this effect, but he always >>> means what might be called /partial/ simulation.] >>> >>> PO believes that by (partially) simulating the computation >>> corresponding to the input <P><I> [i.e. calculating the successive >>> x86 instruction steps of the computation P(I)] and monitoring the >>> progress of virtual x86 state changes (like instruction address and >>> op-code and so on) H could spot some pattern that reveals whether >>> computation P(I) halts or not. At this point in the partial >>> simulation, his H would stop simulating (aka "abort" the simulation) >>> and return the appropriate halt status for input <P><I>. >>> >>> Nothing remarkable so far! Clearly a tight-loop in P /can/ be >>> detected in this fashion, so /some/ <P><I> inputs /can/ be correctly >>> determined like this. The PO claim however is that the specific >>> input <H^><H^> is correctly decided by his H. In C terms those >>> correspond to H(D,D) correctly returning the halt status of >>> computation D(D). [PO would probably dispute this, because he >>> doesn't properly understand halting or the HP generally, or in fact >>> pretty much /any abstract concept/ ] >>> >> >> Introduction to the Theory of Computation, by Michael Sipser >> https://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/113318779X/ >> >> On 10/13/2022 11:29:23 AM >> MIT Professor Michael Sipser agreed this verbatim paragraph is correct >> (He has neither reviewed nor agreed to anything else in this paper) >> >> <Professor Sipser agreed> >> If simulating halt decider H correctly simulates its input D until H >> correctly determines that its simulated D would never stop running >> unless aborted then >> >> H can abort its simulation of D and correctly report that D specifies a >> non-halting sequence of configurations. >> </Professor Sipser agreed> >> >> I have started working on what seem to be some computability issues >> that you pointed out with my HH. I found that they are isolated to >> one single element of HH. Essentially the details of how the master >> UTM directly executed HH passes a portion of its tape to its slaves. >> >> Nothing else seems to have any computability issues by the measure >> that I am using. >> >> Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk> >> On 3/1/2024 12:41 PM, Mike Terry wrote: >> > >> > Obviously a simulator has access to the internal state >> > (tape contents etc.) of the simulated machine. No problem there. >> >> Because of your above comment it seems that correcting this >> tiny computability issue with HH is my best path forward. >> >> >> >> >> You have given the following a blatantly false review when I >> said the same thing another way: > > I have no idea what you're talking about. I did not write any of what > follows below. > > Also I don't believe I said anything "blatantly false". You're > incapable of judging what other people say or are thinking - you're > often telling people that they'er lying to you and denying > "previously verified facts" etc. but its all rubbish - you're in no > position to make such judgements. > > > Mike. > You said that the execution trace that I proved is correct is incorrect because you didn't like the way that HH was written. You said this without looking at my proof as you are doing here again. > >> >> *We can see that the following DD cannot possibly halt when* >> *correctly simulated by every HH that can possibly exist* >> >> typedef int (*ptr)(); // ptr is pointer to int function in C >> 00 int HH(ptr p, ptr i); >> 01 int DD(ptr p) >> 02 { >> 03 int Halt_Status = HH(p, p); >> 04 if (Halt_Status) >> 05 HERE: goto HERE; >> 06 return Halt_Status; >> 07 } >> >> _DD() >> [00001c22] 55 push ebp >> [00001c23] 8bec mov ebp,esp >> [00001c25] 51 push ecx >> [00001c26] 8b4508 mov eax,[ebp+08] >> [00001c29] 50 push eax ; push DD 1c22 >> [00001c2a] 8b4d08 mov ecx,[ebp+08] >> [00001c2d] 51 push ecx ; push DD 1c22 >> [00001c2e] e80ff7ffff call 00001342 ; call HH >> [00001c33] 83c408 add esp,+08 >> [00001c36] 8945fc mov [ebp-04],eax >> [00001c39] 837dfc00 cmp dword [ebp-04],+00 >> [00001c3d] 7402 jz 00001c41 >> [00001c3f] ebfe jmp 00001c3f >> [00001c41] 8b45fc mov eax,[ebp-04] >> [00001c44] 8be5 mov esp,ebp >> [00001c46] 5d pop ebp >> [00001c47] c3 ret >> Size in bytes:(0038) [00001c47] >> ========== REMAINDER OF ARTICLE TRUNCATED ==========