Liste des Groupes | Revenir à theory |
On 01/06/2025 02:31, olcott wrote:DDD simulated by HHH1[0]On 5/31/2025 7:44 PM, Mike Terry wrote:Right. Below I'm going to use notation [n] on occasions to make clear which level of simulation is doing things. So e.g. HHH1[0] is HHH1 directly executed. HHH[1] is HHH simulated by HHH1 and so on.On 01/06/2025 01:18, olcott wrote:>On 5/31/2025 5:27 PM, Mike Terry wrote:>On 31/05/2025 20:26, dbush wrote:>On 5/31/2025 2:38 PM, olcott wrote:>On 5/31/2025 11:59 AM, dbush wrote:>On 5/31/2025 12:48 PM, olcott wrote:>On 5/31/2025 7:39 AM, dbush wrote:>On 5/31/2025 2:41 AM, olcott wrote:>On 5/30/2025 8:16 PM, Richard Damon wrote:>On 5/30/25 11:41 AM, olcott wrote:>On 5/30/2025 3:45 AM, Mikko wrote:>On 2025-05-29 18:10:39 +0000, olcott said:>
>On 5/29/2025 12:34 PM, Mr Flibble wrote:>>>
🧠 Simulation vs. Execution in the Halting Problem
>
In the classical framework of computation theory (Turing machines),
simulation is not equivalent to execution, though they can approximate one
another.
To the best of my knowledge a simulated input
always has the exact same behavior as the directly
executed input unless this simulated input calls
its own simulator.
The simulation of the behaviour should be equivalent to the real
behaviour.
That is the same as saying a function with infinite
recursion must have the same behavior as a function
without infinite recursion.
Nope. Where does it say that?
>
_DDD()
[00002192] 55 push ebp
[00002193] 8bec mov ebp,esp
[00002195] 6892210000 push 00002192
[0000219a] e833f4ffff call 000015d2 // call HHH
[0000219f] 83c404 add esp,+04
[000021a2] 5d pop ebp
[000021a3] c3 ret
Size in bytes:(0018) [000021a3]
>
DDD emulated by HHH must be aborted. // otherwise infinite recursion
DDD emulated by HHH1 need not be aborted.
>
>
And the simulation performed by each of these is the same up to the point that HHH aborts, as you have admitted on the record:
>
No moron they are not.
HHH performs one whole recursive emulation of DDD
than HHH1 ever does BEFORE HHH EVER ABORTS.
>
Nope, if that was true you would have previously identified the divergence but failed to do so.
>
The code has proved that it is true for three years.
False.
>
That you are unable to see that the side by side code traces are exactly the same up the the point that HHH aborts is not a rebuttal.
Right. I've presented such comparisons for PO on multiple occasions, but it's like he looks at the post, and simply can't see what it's saying - like there's a big hole in the post or something. It brings to mind the Oliver Sacks book "The Man Who Mistook His Wife for a Hat".
>
Mike.
>
>
We cannot do a separate side-by-side execution trace of
HHH(DDD) and HHH1(DDD) because the DDD simulated by HHH1
calls HHH(DDD) as a part of this same simulation.
Duh! The DDD simulated by HHH ALSO calls HHH(DDD) as a part of the same simulation.
>
They BOTH call HHH(DDD) as part of the simulation. Duuuuuh....
>
I've presented the two traces to you side by side on more than one occasion. Do you really have no recollection of that? Your explanation of why we supposedly can't put them side by side is literally gibberish!
>>>
From the trace shown below we can see that HHH simulates
DDD one whole execution trace more than HHH1 does.
Really? That's not at all what I see - but perhaps you can explain what you're saying.
>
Mark on the trace below where you think HHH1's simulation [i.e. the simulation /performed/ by HHH1] starts and ends. Also mark where you think HHH's simulation starts and ends.
>
Then to save me the trouble, try to put them side by side to see if they match up...
>
>
Mike.
>
I really appreciate your sincere honesty and the great
diligence that you have shown evaluating my work. No
one else on the planet has put nearly the same effort
as you in carefully evaluating the key details of my work.
>>>>
*It is only after this whole extra recursive emulation*
*divergence that HHH aborts its emulated DDD*
>
_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
[000021a4][0010382d][00000000] 8bec mov ebp,esp
[000021a6][00103829][00002183] 6883210000 push 00002183 ; push DDD
[000021ab][00103825][000021b0] e843f3ffff call 000014f3 ; call HHH1
New slave_stack at:1038d1
>
HHH1 begins its simulation of DDD.
No. This is DDD simulated by HHH[1]>Right. The following are part of both HHH1[0]'s and HHH[1]'s simulations...>Begin Local Halt Decider Simulation Execution Trace Stored at:1138d9
[00002183][001138c9][001138cd] 55 push ebp
[00002184][001138c9][001138cd] 8bec mov ebp,esp
[00002186][001138c5][00002183] 6883210000 push 00002183 ; push DDD
[0000218b][001138c1][00002190] e833f4ffff call 000015c3 ; call HHH
New slave_stack at:14e2f9
>
HHH begins its simulation of DDD
No this is DDD simulated by HHH[2]>Right. The following are part of HHH1[0]'s and HHH[1]'s and HHH[2]'s simulations...>Begin Local Halt Decider Simulation Execution Trace Stored at:15e301
[00002183][0015e2f1][0015e2f5] 55 push ebp
[00002184][0015e2f1][0015e2f5] 8bec mov ebp,esp
[00002186][0015e2ed][00002183] 6883210000 push 00002183 ; push DDD
[0000218b][0015e2e9][00002190] e833f4ffff call 000015c3 ; call HHH
HHH simulates itself simulating DDD
HHH[1] aborts its simulation of DDD. This aborted>>New slave_stack at:198d21
[00002183][001a8d19][001a8d1d] 55 push ebp
[00002184][001a8d19][001a8d1d] 8bec mov ebp,esp
[00002186][001a8d15][00002183] 6883210000 push 00002183 ; push DDD
[0000218b][001a8d11][00002190] e833f4ffff call 000015c3 ; call HHH
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
>
HHH aborts its simulation of DDD.
Right. HHH[1] has abandoned simulation [2] (and nested simulation [3]).No this is HHH1[0] finishing its one and only simulation of DDD.
This is the end of HHH[1]'s simulation, but HHH1[0]'s simulation continues...
HHH1 simulates the rest of its own DDD.You mean the rest of HHH[1]'s DDD. (HHH[1] is still being simulated)
No all that you need to see is that HHH simulates DDD twice>And this is where HHH1's simulation ends.>[00002190][001138c9][001138cd] 83c404 add esp,+04
[00002193][001138cd][000015a8] 5d pop ebp
[00002194][001138d1][0003a980] c3 ret
(Below is directly executed code...)
return to main()So now, you need to collect up the trace entries which are part of HHH1's simulation (and nested simulations), and HHH[1]'s simulation (and nested simulations). That's just looking at where the respective traces start and end above.>[000021b0][0010382d][00000000] 83c404 add esp,+04
[000021b3][0010382d][00000000] 33c0 xor eax,eax
[000021b5][00103831][00000018] 5d pop ebp
[000021b6][00103835][00000000] c3 ret
Number of Instructions Executed(352831) == 5266 Pages
>
>
Here, I can do that:*I am not going to look at them*
-------------- HHH1[0] simulation (+nested simulations) ----------------
machine stack stack machine assembly
address address data code language
======== ======== ======== ========== =============
[00002183][001138c9][001138cd] 55 push ebp
[00002184][001138c9][001138cd] 8bec mov ebp,esp
[00002186][001138c5][00002183] 6883210000 push 00002183 ; push DDD
[0000218b][001138c1][00002190] e833f4ffff call 000015c3 ; call HHH
[00002183][0015e2f1][0015e2f5] 55 push ebp
[00002184][0015e2f1][0015e2f5] 8bec mov ebp,esp
[00002186][0015e2ed][00002183] 6883210000 push 00002183 ; push DDD
[0000218b][0015e2e9][00002190] e833f4ffff call 000015c3 ; call HHH
### hint: this is where HHH aborts, but HHH1 continues the simulation! :)
[00002183][001a8d19][001a8d1d] 55 push ebp
[00002184][001a8d19][001a8d1d] 8bec mov ebp,esp
[00002186][001a8d15][00002183] 6883210000 push 00002183 ; push DDD
[0000218b][001a8d11][00002190] e833f4ffff call 000015c3 ; call HHH
[00002190][001138c9][001138cd] 83c404 add esp,+04
[00002193][001138cd][000015a8] 5d pop ebp
[00002194][001138d1][0003a980] c3 ret
[trace ended by DDD[1] returning normally]
-------------- HHH[1] simulation (+nested simulations) ----------------
machine stack stack machine assembly
address address data code language
======== ======== ======== ========== =============
[00002183][0015e2f1][0015e2f5] 55 push ebp
[00002184][0015e2f1][0015e2f5] 8bec mov ebp,esp
[00002186][0015e2ed][00002183] 6883210000 push 00002183 ; push DDD
[0000218b][0015e2e9][00002190] e833f4ffff call 000015c3 ; call HHH
[00002183][001a8d19][001a8d1d] 55 push ebp
[00002184][001a8d19][001a8d1d] 8bec mov ebp,esp
[00002186][001a8d15][00002183] 6883210000 push 00002183 ; push DDD
[0000218b][001a8d11][00002190] e833f4ffff call 000015c3 ; call HHH
[trace ended by HHH[1] aborting]
So do you agree that those are the right entries? (They are just the entries you identified above, between the beginning and ends of the respective simulations.)
Now you will be in a position to do the side-by-side comparison you said wasn't possible! You need to, um, put the two traces above side by side!--
OK, clearly we are not going to exactly match on stack addresses or stack data, but these are not unique attributes of the computation, as Allocate() will assign different storage addresses for each simulation. What we want is for machine addresses, machine code and assemply language to match or not UP TO THE POINT WHERE HHH[1] ABORTS.
Mike.
Les messages affichés proviennent d'usenet.