Deutsch English Français Italiano |
<v85kdi$3v9fb$2@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 Subject: HHH(DDD) sees the exact same behavior pattern as HHH(Infinite_Recursion) Date: Sun, 28 Jul 2024 09:25:53 -0500 Organization: A noiseless patient Spider Lines: 164 Message-ID: <v85kdi$3v9fb$2@dont-email.me> References: <v80h07$2su8m$3@dont-email.me> <v82bi4$39v6n$4@dont-email.me> <v82tr5$3dftr$2@dont-email.me> <v82vtl$3dq41$2@dont-email.me> <v830hg$3dftr$9@dont-email.me> <v83des$2nhr$1@news.muc.de> <KUidnalBUcYWDjj7nZ2dnZfqn_ednZ2d@brightview.co.uk> <v84d5a$3p1o0$1@dont-email.me> <v84tpk$3rc90$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sun, 28 Jul 2024 16:25:54 +0200 (CEST) Injection-Info: dont-email.me; posting-host="e780778616be4582a0134c2484eeadc2"; logging-data="4171243"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+sEj6g34ZJiUzB2JmOmjrT" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:nL8Mixv7cpWkhvxN/Fwg52KKstQ= In-Reply-To: <v84tpk$3rc90$2@dont-email.me> Content-Language: en-US Bytes: 8464 On 7/28/2024 2:59 AM, Fred. Zwarts wrote: > Op 28.jul.2024 om 05:15 schreef olcott: >> On 7/27/2024 7:40 PM, Mike Terry wrote: >>> On 27/07/2024 19:14, Alan Mackenzie wrote: >>>> olcott <polcott333@gmail.com> wrote: >>>> >>>>> Stopping running is not the same as halting. >>>>> DDD emulated by HHH stops running when its emulation has been aborted. >>>>> This is not the same as reaching its ret instruction and terminating >>>>> normally (AKA halting). >>>> >>>> I think you're wrong, here. All your C programs are a stand in for >>>> turing machines. A turing machine is either running or halted. >>>> There is >>>> no third state "aborted". An aborted C program certainly doesn't >>>> correspond with a running turing machine - so it must be a halted >>>> turing >>>> machine. >>>> >>>> So aborted programs are halted programs. If you disagree, perhaps you >>>> could point out where in my arguments above I'm wrong. >>>> >>> >>> Aborting is an action performed by a simulator, not the TM being >>> simulated. >>> >>> If we want to count "aborted" as some kind of final status, it will >>> have to be the status of a specific /PARTIAL SIMULATOR's/ simulation >>> of a given computation. That's not a property of the computation >>> itself, as different partial simulators can simulate the same >>> computation and terminate for different reasons. Like HHH(DDD) >>> aborts, while UTM(DDD) simulates to completion and so the final >>> simulation status is halts. [Neither of those outcomes contradict the >>> fact that the computation DDD() halts.] >>> >>> If some partial simulator halts when simulating a computation [as >>> with UTM(DDD)] that implies the computation DDD() halts. But if the >>> simulator aborts, it doesn't say that much (in and of itself) about >>> whether the /computation/ halts. The halting problem statement is >>> not concerned with simulations or how the simulations end. >>> >>> Every time anyone in these PO threads says "halts" it ought to be >>> 100% clear to everyone whether the computation itself is being >>> discussed, or whether some simulation final status is intended. (But >>> that's far from being the case!) Since the halting problem is >>> concerned with computations halting and not how partial simulations >>> are ended, I suggest that PO explicitly make clear that he is >>> referring to simulations, whenever that is the case. It seems >>> reasonable that readers seeing "halts" with no further clarification >>> can interpret that as actual computation behaviour, as that is how >>> the term is always used in the literature. Same with other terms >>> like "reach"... >>> >>> So when PO says "DDD simulated by HHH cannot reach its final ret >>> instruction" is he talking about the computation DDD() [as defined >>> mathematically], or its simulation by HHH? He means the latter, but >>> its far from clear, I'd say! [I think most readers now have come >>> around to reading it as a statement about simulations rather than the >>> actual computation, which totally changes things...] >>> >>> >>> Mike. >>> >> >> _DDD() >> [00002163] 55 push ebp ; housekeeping >> [00002164] 8bec mov ebp,esp ; housekeeping >> [00002166] 6863210000 push 00002163 ; push DDD >> [0000216b] e853f4ffff call 000015c3 ; call HHH(DDD) >> [00002170] 83c404 add esp,+04 >> [00002173] 5d pop ebp >> [00002174] c3 ret >> Size in bytes:(0018) [00002174] >> >> It is a verified fact that DDD emulated by HHH 100% exactly >> and precisely according to the actual x86 semantics of >> the emulated code including the recursive call that causes >> HHH to emulate itself emulating DDD cannot possibly get >> past it own 0000216b machine address. >> >> *Anyone as much as hinting otherwise is not being truthful* >> If we remove all of the problematic code then this same >> trace still occurs until it crashes from OOM error. >> > > No matter how much olcott wants it to be correct, or how many times > olcott repeats that it is correct, it does not change the fact that such > a simulation is incorrect, because it is unable to reach the end. It is ridiculously stupid to expect the correct emulation of a non-halting input to end. This is the exact same pattern with Infinite_Recursion() where there are no conditional branch instructions that would prevent the first three instructions of Infinite_Recursion() from endlessly repeating. void Infinite_Recursion() { Infinite_Recursion(); } _Infinite_Recursion() [0000215a] 55 push ebp ; 1st line [0000215b] 8bec mov ebp,esp ; 2nd line [0000215d] e8f8ffffff call 0000215a ; 3rd line [00002162] 5d pop ebp [00002163] c3 ret Size in bytes:(0010) [00002163] Begin Local Halt Decider Simulation Execution Trace Stored at:113934 [0000215a][00113924][00113928] 55 push ebp ; 1st line [0000215b][00113924][00113928] 8bec mov ebp,esp ; 2nd line [0000215d][00113920][00002162] e8f8ffffff call 0000215a ; 3rd line [0000215a][0011391c][00113924] 55 push ebp ; 1st line [0000215b][0011391c][00113924] 8bec mov ebp,esp ; 2nd line [0000215d][00113918][00002162] e8f8ffffff call 0000215a ; 3rd line Local Halt Decider: Infinite Recursion Detected Simulation Stopped If you cannot see that the above x86 machine code proves that it will never halt then you can't possibly understand what I have been saying. The first three lines of _Infinite_Recursion() repeat and there are no conditional branch in that sequence that can possibly keep it from repeating forever. This exact same pattern is shown below. ===== HHH(DDD) _DDD() [00002177] 55 push ebp ; 1st line [00002178] 8bec mov ebp,esp ; 2nd line [0000217a] 6877210000 push 00002177 ; push DDD [0000217f] e853f4ffff call 000015d7 ; call HHH [00002184] 83c404 add esp,+04 [00002187] 5d pop ebp [00002188] c3 ret Size in bytes:(0018) [00002188] // executed HHH emulates 1st instance of DDD New slave_stack at:10388d Begin Local Halt Decider Simulation Execution Trace Stored at:113895 [00002177][00113885][00113889] 55 push ebp ; 1st line [00002178][00113885][00113889] 8bec mov ebp,esp ; 2nd line [0000217a][00113881][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0011387d][00002184] e853f4ffff call 000015d7 ; call HHH // emulated HHH emulates 2nd instance of DDD New slave_stack at:14e2b5 [00002177][0015e2ad][0015e2b1] 55 push ebp ; 1st line [00002178][0015e2ad][0015e2b1] 8bec mov ebp,esp ; 2nd line [0000217a][0015e2a9][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0015e2a5][00002184] e853f4ffff call 000015d7 ; call HHH Local Halt Decider: Infinite Recursion Detected Simulation Stopped -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer