Deutsch English Français Italiano |
<v77q94$1nkgt$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: "Fred. Zwarts" <F.Zwarts@HetNet.nl> Newsgroups: comp.theory Subject: Re: DDD correctly emulated by HHH is correctly rejected as non-halting V2 Date: Wed, 17 Jul 2024 09:01:56 +0200 Organization: A noiseless patient Spider Lines: 79 Message-ID: <v77q94$1nkgt$1@dont-email.me> References: <v6rg65$32o1o$3@dont-email.me> <v7085g$3j1h$1@dont-email.me> <v70ok7$61d8$10@dont-email.me> <v72lvl$k9t3$1@dont-email.me> <v73926$mjis$17@dont-email.me> <v75950$166e9$1@dont-email.me> <v76dgv$1cf96$2@dont-email.me> <2c08ddce8399b93b0e1945cb28c6b8e4afc11d5f@i2pn2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 17 Jul 2024 09:01:57 +0200 (CEST) Injection-Info: dont-email.me; posting-host="1fdd4e182586bca308b558ff6626f471"; logging-data="1823261"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18LD86J66VDtg10vJ40c0DB" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:3fi4WlNCHXiym8yy6XL5uecy+Bo= In-Reply-To: <2c08ddce8399b93b0e1945cb28c6b8e4afc11d5f@i2pn2.org> Content-Language: en-GB Bytes: 4801 Op 16.jul.2024 om 22:43 schreef joes: > Am Tue, 16 Jul 2024 13:18:07 -0500 schrieb olcott: >> On 7/16/2024 2:57 AM, Mikko wrote: >>> On 2024-07-15 13:43:34 +0000, olcott said: >>>> On 7/15/2024 3:17 AM, Mikko wrote: >>>>> On 2024-07-14 14:50:47 +0000, olcott said: >>>>>> On 7/14/2024 5:09 AM, Mikko wrote: >>>>>>> On 2024-07-12 14:56:05 +0000, olcott said: >>>>>>> >>>>>>>> We stipulate that the only measure of a correct emulation is the >>>>>>>> semantics of the x86 programming language. >>>>>>>> When N steps of DDD are emulated by HHH according to the semantics >>>>>>>> of the x86 language then N steps are emulated correctly. >>>>>>>> When we examine the infinite set of every HHH/DDD pair such that: >>>>>>>> HHH₁ one step of DDD is correctly emulated by HHH. >>>>>>>> HHH₂ two steps of DDD are correctly emulated by HHH. >>>>>>>> ... >>>>>>>> HHH∞ The emulation of DDD by HHH never stops running. >>>>>>>> The above specifies the infinite set of every HHH/DDD pair where 1 >>>>>>>> to infinity steps of DDD are correctly emulated by HHH. >>>>>>> >>>>>>> You should use the indices here, too, e.g., "where 1 to infinity >>>>>>> steps of DDD₁ are correctly emulated by HHH₃" or whatever you mean. >>>>>>> >>>>>> DDD is the exact same fixed constant finite string that always calls >>>>>> HHH at the same fixed constant machine address. >>>>> If the function called by DDD is not part of the input then the input >>>>> does not specify a behaviour and the question whether DDD halts is >>>>> ill-posed. >>>> We don't care about whether HHH halts. We know that HHH halts or fails >>>> to meet its design spec. >>>> We are only seeing if DDD correctly emulated by HHH can can possibly >>>> reach its own final state. >>> HHH does not see even that. It only sees whther that it does not >>> emulate DDD to its final state. >> No. HHH is not judging whether or not itself is a correct emulator. The >> semantics of the x86 instructions that emulates prove that its emulation >> is correct. > You have been saying for a while that HHH returns what it would report > on its input DDD. Glad to see you come around. > >> Only because DDD calls HHH(DDD) in recursive emulation it is impossible >> for DDD correctly emulated by HHH to reach past its own machine address >> of 0000216b. > It is not impossible. The simulated HHH aborts just the same and returns > to DDD. > >>> But we can see more, in particuar that DDD() halts if HHH(DDD) does. >> It is still a fact that HHH(DDD) was required to abort its emulation. > Just no. > >>> Anyway, if the function DDD calls is not a part of the input then the >>> question whether DDD halts is not well-posed and can only be ansered >>> with a conditional. >> We are analyzing whether or not DDD halts. >> We are NOT analyzing whether or not HHH halts. > Whether DDD halts depends entirely on HHH, because DDD does nothing > else but call it. > Indeed, DDD has nothing to do with it. It is easy to eliminate DDD: int main() { return HHH(main); } This has the same problem. This proves that the problem is not in DDD, but in HHH, which halts when it aborts the simulation, but it decides that the simulation of itself does not halt. HHH is simply unable to decide about finite recursions. void Finite_Recursion (int N) { if (N > 0) Finite_Recursion (N - 1); } It decides after N recursions that there is an infinite recursion, which is incorrect.