Deutsch   English   Français   Italiano  
<c55d63283e16122b6e7c0a1db079b723f8174c72@i2pn2.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!news.quux.org!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail
From: Richard Damon <richard@damon-family.org>
Newsgroups: comp.theory
Subject: Re: DDD emulated by HHH diverges from DDD emulated by HHH1
Date: Thu, 5 Jun 2025 07:42:00 -0400
Organization: i2pn2 (i2pn.org)
Message-ID: <c55d63283e16122b6e7c0a1db079b723f8174c72@i2pn2.org>
References: <101khcl$3bfvj$6@dont-email.me> <101mbnh$3sodg$1@dont-email.me>
 <101njgb$7qau$3@dont-email.me>
 <4113b5c3cb0e33212819ef36a4de858e40e70cba@i2pn2.org>
 <101noka$8rb8$4@dont-email.me> <101o96g$db96$3@dont-email.me>
 <101ob1t$hd6o$3@dont-email.me> <101obrf$hlr6$1@dont-email.me>
 <101ocan$hd6o$6@dont-email.me>
 <814d8b767f6a7abc0f5e6b45e940f4c628b47fc1@i2pn2.org>
 <101ppd7$ta6v$3@dont-email.me>
 <f3609e2dffa380f745312c5cd2d845c2a4b6b28f@i2pn2.org>
 <101r02l$15bg8$6@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 5 Jun 2025 11:42:27 -0000 (UTC)
Injection-Info: i2pn2.org;
	logging-data="3388420"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg";
User-Agent: Mozilla Thunderbird
Content-Language: en-US
X-Spam-Checker-Version: SpamAssassin 4.0.0
In-Reply-To: <101r02l$15bg8$6@dont-email.me>

On 6/4/25 10:40 PM, olcott wrote:
> On 6/4/2025 8:53 PM, Richard Damon wrote:
>> On 6/4/25 11:40 AM, olcott wrote:
>>> On 6/4/2025 6:22 AM, Richard Damon wrote:
>>>> On 6/3/25 10:51 PM, olcott wrote:
>>>>> On 6/3/2025 9:42 PM, dbush wrote:
>>>>>> On 6/3/2025 10:29 PM, olcott wrote:
>>>>>>> On 6/3/2025 8:57 PM, dbush wrote:
>>>>>>>> On 6/3/2025 5:14 PM, olcott wrote:
>>>>>>>>> On 6/3/2025 3:48 PM, joes wrote:
>>>>>>>>>> Am Tue, 03 Jun 2025 14:47:23 -0500 schrieb olcott:
>>>>>>>>>>> On 6/3/2025 3:28 AM, Fred. Zwarts wrote:
>>>>>>>>>>>> Op 02.jun.2025 om 17:52 schreef olcott:
>>>>>>>>>>
>>>>>>>>>>>>> DDD correctly emulated by HHH diverges from DDD correctly 
>>>>>>>>>>>>> emulated by
>>>>>>>>>>>>> HHH1 as soon as HHH begins emulating itself emulating DDD, 
>>>>>>>>>>>>> marked
>>>>>>>>>>>>> below.
>>>>>>>>>>>>> *HHH1 never emulates itself emulating DDD*
>>>>>>>>>>
>>>>>>>>>>>>> *This is the beginning of the divergence of the behavior*
>>>>>>>>>>>>> *of DDD emulated by HHH versus DDD emulated by HHH1*
>>>>>>>>>>
>>>>>>>>>>>> Misleading words when you change the meaning of diverging.
>>>>>>>>>>>> Mike showed the traces side by side. Even after many 
>>>>>>>>>>>> requests, you
>>>>>>>>>>>> still cannot show the first instruction that is interpreted 
>>>>>>>>>>>> differently
>>>>>>>>>>>> by HHH and HHH1. The only difference is that HHH gives up the
>>>>>>>>>>>> simulation too early.
>>>>>>>>>>>
>>>>>>>>>>> As soon as HHH begins emulating itself and HHH1 NEVER begins 
>>>>>>>>>>> emulating
>>>>>>>>>>> itself THIS IS THE DIVERGENCE.
>>>>>>>>>> Yes, that is exactly the point where HHH aborts. 
>>>>>>>>>
>>>>>>>>> Both the divergence and the abort are shown below.
>>>>>>>>>
>>>>>>>>> _DDD()
>>>>>>>>> [00002183] 55             push ebp
>>>>>>>>> [00002184] 8bec           mov ebp,esp
>>>>>>>>> [00002186] 6883210000     push 00002183 ; push DDD
>>>>>>>>> [0000218b] e833f4ffff     call 000015c3 ; call HHH
>>>>>>>>> [00002190] 83c404         add esp,+04
>>>>>>>>> [00002193] 5d             pop ebp
>>>>>>>>> [00002194] c3             ret
>>>>>>>>> Size in bytes:(0018) [00002194]
>>>>>>>>>
>>>>>>>>> _main()
>>>>>>>>> [000021a3] 55             push ebp
>>>>>>>>> [000021a4] 8bec           mov ebp,esp
>>>>>>>>> [000021a6] 6883210000     push 00002183 ; push DDD
>>>>>>>>> [000021ab] e843f3ffff     call 000014f3 ; call HHH1
>>>>>>>>> [000021b0] 83c404         add esp,+04
>>>>>>>>> [000021b3] 33c0           xor eax,eax
>>>>>>>>> [000021b5] 5d             pop ebp
>>>>>>>>> [000021b6] c3             ret
>>>>>>>>> Size in bytes:(0020) [000021b6]
>>>>>>>>>
>>>>>>>>>   machine   stack     stack     machine    assembly
>>>>>>>>>   address   address   data      code       language
>>>>>>>>>   ========  ========  ========  ========== =============
>>>>>>>>> [000021a3][0010382d][00000000] 55         push ebp      ; main()
>>>>>>>>> [000021a4][0010382d][00000000] 8bec       mov ebp,esp   ; main()
>>>>>>>>> [000021a6][00103829][00002183] 6883210000 push 00002183 ; push DDD
>>>>>>>>> [000021ab][00103825][000021b0] e843f3ffff call 000014f3 ; call 
>>>>>>>>> HHH1
>>>>>>>>> New slave_stack at:1038d1
>>>>>>>>>
>>>>>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored 
>>>>>>>>> at:1138d9
>>>>>>>>> [00002183][001138c9][001138cd] 55         push ebp      ; DDD 
>>>>>>>>> of HHH1
>>>>>>>>> [00002184][001138c9][001138cd] 8bec       mov ebp,esp   ; DDD 
>>>>>>>>> of HHH1
>>>>>>>>> [00002186][001138c5][00002183] 6883210000 push 00002183 ; push DDD
>>>>>>>>> [0000218b][001138c1][00002190] e833f4ffff call 000015c3 ; call HHH
>>>>>>>>> New slave_stack at:14e2f9
>>>>>>>>>
>>>>>>>>> Begin Local Halt Decider Simulation   Execution Trace Stored 
>>>>>>>>> at:15e301
>>>>>>>>> [00002183][0015e2f1][0015e2f5] 55         push ebp      ; DDD 
>>>>>>>>> of HHH[0]
>>>>>>>>> [00002184][0015e2f1][0015e2f5] 8bec       mov ebp,esp   ; DDD 
>>>>>>>>> of HHH[0]
>>>>>>>>> [00002186][0015e2ed][00002183] 6883210000 push 00002183 ; push DDD
>>>>>>>>> [0000218b][0015e2e9][00002190] e833f4ffff call 000015c3 ; call HHH
>>>>>>>>> New slave_stack at:198d21
>>>>>>>>>
>>>>>>>>> THIS IS WHERE THE DIVERGENCE OF DDD EMULATED BY HHH
>>>>>>>>> AND DDD EMULATED BY HHH1 BEGINS
>>>>>>>>
>>>>>>>> So how exactly do HHH and HHH1 emulate the first instruction of 
>>>>>>>> HHH differently?
>>>>>>>>
>>>>>>>
>>>>>>> The question is incorrect.
>>>>>>> HHH emulates DDD two times and HHH1 emulates DDD one time
>>>>>>> the whole second time is the divergence.
>>>>>>
>>>>>> There is no divergence if the instructions are emulated exactly 
>>>>>> the same in both cases. 
>>>>>
>>>>> HHH1(DDD) emulates DDD exactly one time.
>>>>> HHH(DDD) emulates DDD exactly two times.
>>>>>
>>>>> The whole second time that HHH emulates DDD is
>>>>> divergence.
>>>>>
>>>>
>>>> You mean it INCORRECT imagining of what it THINKS HHH should do 
>>>> because it thinks that HHH is just a correct simulator?
>>>>
>>>
>>> The question is:
>>> At exactly what point does DDD simulated by HHH
>>> diverge from DDD simulated by HHH1?
>>
>> Right, which x86 instruction, correctly simulated, had differing results.
>>
>>>
>>> As soon as HHH simulates itself simulating DDD it is
>>> simulating DDD one more time than DDD simulated by
>>> HHH1 ever gets to.
>>>
>>
>> In other words, your idea of "simulation per the language of the x86 
>> language" isn't actually based on actually emulating the actual x86 
>> instrucitons, but instead presuming that HHH is just a pure simulator 
>> that never aborts, and then you let it abort.
>>
> 
> Counter-factual.
> HHH simulates DDD exactly twice
> HHH1 simulates DDD exactly once
> 
> Dennis Bush does not seem to understand that 1 != 2
> 

No, your traces show exactly the opposite.

HHH simuated DDD once, and when it sees DDD calling HHH(DDD) again, it 
presumes this will not halt, and aborts and returns.

HHH1 when it simulates, first simulates DDD, sees it calling HHH(DDD), 
and then HHH1 simulates HHH simulating DDD until that simulated HHH sees 
its simulated DDD calling HHH(DDD), and then aborts its simulated 
simulation and return to the simulated DDD which then halts.

Your "Second time HHH simulated DDD" isn't part of HHH's simulation, but 
part of HHH1s simulation.

You just don't understand how programs work.

Of course, since all your simulations violate the definiton of a correct 
simulation, you are just componding lies on top of lies, showing that 
you just don't know what you are talking about.