Path: ...!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Fred. Zwarts" Newsgroups: comp.theory,sci.logic Subject: Re: Proof that DD correctly simulated by HH provides the correct halt status criteria Date: Sat, 8 Jun 2024 10:46:59 +0200 Organization: A noiseless patient Spider Lines: 103 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sat, 08 Jun 2024 10:47:00 +0200 (CEST) Injection-Info: dont-email.me; posting-host="a60a3fdf2900cc4aace1b0bbb7182eaa"; logging-data="2667669"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19NB66zrZLs020xLjiH1H2s" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:ktQJYZtiPy6+69wFh5lBEJnFCZo= Content-Language: en-GB In-Reply-To: Bytes: 5518 Op 07.jun.2024 om 23:48 schreef olcott: > *That no counter-example to the following exists proves that it is true* > *That no counter-example to the following exists proves that it is true* > *That no counter-example to the following exists proves that it is true* > > Try to show how this DD correctly simulated by any HH ever > stops running without having its simulation aborted by HH. > > _DD() > [00001e12] 55         push ebp > [00001e13] 8bec       mov  ebp,esp > [00001e15] 51         push ecx > [00001e16] 8b4508     mov  eax,[ebp+08] > [00001e19] 50         push eax      ; push DD > [00001e1a] 8b4d08     mov  ecx,[ebp+08] > [00001e1d] 51         push ecx      ; push DD > [00001e1e] e85ff5ffff call 00001382 ; call HH > > A {correct simulation} means that each instruction of the > above x86 machine language of DD is correctly simulated > by HH and simulated in the correct order. > > Anyone claiming that HH should report on the behavior > of the directly executed DD(DD) is requiring a violation > of the above definition of correct simulation. > > Halt deciders are required to compute the mapping from their > input to their own accept or reject state based on the behavior > that this input specifies. > > Simulating halt deciders are not allowed to simulate non-halting > inputs for more than a finite number of steps because all deciders > must halt. > > The basic strategy of a simulating halt decider is to simulate > an input until (a) The input halts or (b) it correctly determines > that the correctly simulated input cannot possibly stop running > unless its simulation has been aborted. > > >   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 is the best selling author of this textbook* > Introduction to the Theory of Computation, by Michael Sipser > https://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/113318779X/ > > Here is the earliest version of the proof (that everyone > has simply ignored for three solid years) > > Subject: [Would the simulation of D be infinitely nested unless > simulating partial halt decider H terminated its simulation of D?] > On 5/29/2021 2:26 PM, olcott wrote: > Message-ID: > http://al.howardknight.net/?STYPE=msgid&MSGI=%3CYJKdnZg9v__rCC_9nZ2dnUU7-QXNnZ2d%40giganews.com%3E > > The fact that the execution trace of D derived by the executed > H and the simulated H exactly matches the machine code of D > proves that each instruction of D was simulated correctly and > in the correct order this conclusively proves that D is correctly > simulated by both of these instances of H. > > I explained these details hundreds of times in the last three > years and no one paid any attention to the fact that I proved > that I am correct. Because of this I provided the above dumbed > down version. > Olcott proved on 0.5.jun.2024 at 15:59 (CET) in very much detail that in the following example: typedef int (*ptr)(); // ptr is pointer to int function in C int H(ptr p, ptr i); int main() { return H(main, 0); } his H, when used as a decider for the halting of main, produces a false negative. His own conclusion was that main halts, but that H reports non-halting. So, the way out for him is that his H does not report about the reality (direct execution) but about H's decision procedure (the simulation). So the report of H is no longer a) main does not halt, but b) H decides that main does not halt. The latter, of course, can be true even if the former is false. We see this shift of the halting definition above, where he says that H is not deciding on the direct execution. Of course, such reports are very uninteresting. The interest is for the halting of the direct execution. Almost nobody is interested in whether olcott's decider's simulation halts.