Deutsch English Français Italiano |
<vvv2m3$1npfk$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Mikko <mikko.levanto@iki.fi> Newsgroups: comp.theory Subject: Re: Try and prove that DDD correctly emulated by HHH reaches its final halt state Date: Tue, 13 May 2025 12:16:51 +0300 Organization: - Lines: 136 Message-ID: <vvv2m3$1npfk$1@dont-email.me> References: <vvma0u$34vcu$1@dont-email.me> <vvmvu6$3dt3n$1@dont-email.me> <vvnrkv$3in62$7@dont-email.me> <vvpq4q$446u$1@dont-email.me> <vvqiu1$gldn$8@dont-email.me> <vvs8k1$vr8s$1@dont-email.me> <vvt10i$14pca$3@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 13 May 2025 11:16:52 +0200 (CEST) Injection-Info: dont-email.me; posting-host="69576f0644f413b581cc430fda63c863"; logging-data="1828340"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18h5dAT+PXFiIO2DLvYTK4q" User-Agent: Unison/2.2 Cancel-Lock: sha1:I4B0GkJ+DdqSwrpqObCcOWaghLo= Bytes: 7204 On 2025-05-12 14:36:01 +0000, olcott said: > On 5/12/2025 2:39 AM, Mikko wrote: >> On 2025-05-11 16:23:29 +0000, olcott said: >> >>> On 5/11/2025 4:20 AM, Mikko wrote: >>>> On 2025-05-10 15:33:50 +0000, olcott said: >>>> >>>>> On 5/10/2025 2:40 AM, Mikko wrote: >>>>>> On 2025-05-10 01:26:54 +0000, olcott said: >>>>>> >>>>>>> void DDD() >>>>>>> { >>>>>>> HHH(DDD); >>>>>>> return; >>>>>>> } >>>>>>> >>>>>>> _DDD() >>>>>>> [00002172] 55 push ebp ; housekeeping >>>>>>> [00002173] 8bec mov ebp,esp ; housekeeping >>>>>>> [00002175] 6872210000 push 00002172 ; push DDD >>>>>>> [0000217a] e853f4ffff call 000015d2 ; call HHH(DDD) >>>>>>> [0000217f] 83c404 add esp,+04 >>>>>>> [00002182] 5d pop ebp >>>>>>> [00002183] c3 ret >>>>>>> Size in bytes:(0018) [00002183] >>>>>>> >>>>>>> Try to show how DDD emulated by HHH according to the >>>>>>> rules of the x86 language reaches its own "ret" >>>>>>> instruction final halt state. >>>>>> >>>>>> If you do the impossible then everything happens, including >>>>>> the reaching of the final "ret" instruction. In this case >>>>>> the impossible is a correct emulation of DDD by HHH according >>>>>> to the rules of the x86 language. >>>>>> >>>>> >>>>> It is not impossible for DDD to be emulated >>>>> by HHH according to the rules of the x86 language. >>>> >>>> You may call it possible or impossible but either way, HHH does >>>> not emulate the final "ret" isntruction. >>>> >>>>> Here it is actually doing this. >>>>> >>>>> _DDD() >>>>> [0000219e] 55 push ebp >>>>> [0000219f] 8bec mov ebp,esp >>>>> [000021a1] 689e210000 push 0000219e >>>>> [000021a6] e843f4ffff call 000015ee >>>>> [000021ab] 83c404 add esp,+04 >>>>> [000021ae] 5d pop ebp >>>>> [000021af] c3 ret >>>>> Size in bytes:(0018) [000021af] >>>>> >>>>> _main() >>>>> [000021be] 55 push ebp >>>>> [000021bf] 8bec mov ebp,esp >>>>> [000021c1] 689e210000 push 0000219e >>>>> [000021c6] e823f4ffff call 000015ee >>>>> [000021cb] 83c404 add esp,+04 >>>>> [000021ce] 50 push eax >>>>> [000021cf] 685f070000 push 0000075f >>>>> [000021d4] e8a5e5ffff call 0000077e >>>>> [000021d9] 83c408 add esp,+08 >>>>> [000021dc] 33c0 xor eax,eax >>>>> [000021de] 5d pop ebp >>>>> [000021df] c3 ret >>>>> Size in bytes:(0034) [000021df] >>>>> >>>>> machine stack stack machine assembly >>>>> address address data code language >>>>> ======== ======== ======== ============== ============= >>>>> [000021be][00103872][00000000] 55 push ebp >>>>> [000021bf][00103872][00000000] 8bec mov ebp,esp >>>>> [000021c1][0010386e][0000219e] 689e210000 push 0000219e // push DDD >>>>> [000021c6][0010386a][000021cb] e823f4ffff call 000015ee // call HHH >>>>> New slave_stack at:103916 >>>>> >>>>> Begin Local Halt Decider Simulation Execution Trace Stored at:11391e >>>>> [0000219e][0011390e][00113912] 55 push ebp >>>>> [0000219f][0011390e][00113912] 8bec mov ebp,esp >>>>> [000021a1][0011390a][0000219e] 689e210000 push 0000219e // push DDD >>>>> [000021a6][00113906][000021ab] e843f4ffff call 000015ee // call HHH >>>>> >>>>> The following shows the result of HHH emulating >>>>> itself emulating DDD. x86utm is a cooperative >>>>> multi-tasking operating system. >>>>> >>>>> New slave_stack at:14e33e >>>>> [0000219e][0015e336][0015e33a] 55 push ebp >>>>> [0000219f][0015e336][0015e33a] 8bec mov ebp,esp >>>>> [000021a1][0015e332][0000219e] 689e210000 push 0000219e // push DDD >>>>> [000021a6][0015e32e][000021ab] e843f4ffff call 000015ee // call HHH >>>>> Local Halt Decider: Infinite Recursion Detected Simulation Stopped >>>>> >>>>> [000021cb][00103872][00000000] 83c404 add esp,+04 >>>>> [000021ce][0010386e][00000000] 50 push eax >>>>> [000021cf][0010386a][0000075f] 685f070000 push 0000075f >>>>> [000021d4][0010386a][0000075f] e8a5e5ffff call 0000077e >>>>> Input_Halts = 0 >>>>> [000021d9][00103872][00000000] 83c408 add esp,+08 >>>>> [000021dc][00103872][00000000] 33c0 xor eax,eax >>>>> [000021de][00103876][00000018] 5d pop ebp >>>>> [000021df][0010387a][00000000] c3 ret >>>>> Number of Instructions Executed(10069) == 150 Pages >>>> >>>> Apparently you said that the last "ret" is not acutally emulated but >>>> only its emulation is emulated. >>>> >>>> Your trace lacks the indication of which lines are actually trace lines >>>> and which are output lines from the emulated program that only look like >>>> trace lines. >>> >>> You must use the machine addresses to see what code >>> is being emulated. New slave_stack indicate that >>> a new process context has been created. Code following >>> that is being emulated. >> >> Nowhere is said that a slave stack is disposed. Apparently no emulation >> is ever completed. But your output is too defective to be sure. >> >>> New slave_stack at:14e33e indicates that HHH is >>> about to emulate itself emulating DDD. >> >> But not to the completion of the emulated emulation. > > When what is essentially infinite is specified > there is no transition to a final halt state. True but not applicable to DDD, which is essentially finite if HHH is a decider and uninteresting if HHH is not a decider. -- Mikko