Sujet : Re: 195 page execution trace of DDD correctly simulated by HH0
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theory sci.logicDate : 28. Jun 2024, 10:06:44
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v5lqul$386u3$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
User-Agent : Mozilla Thunderbird
Op 27.jun.2024 om 19:21 schreef olcott:
On 6/27/2024 4:38 AM, Fred. Zwarts wrote:
Op 26.jun.2024 om 15:07 schreef olcott:
On 6/26/2024 3:01 AM, Fred. Zwarts wrote:
Op 25.jun.2024 om 21:30 schreef olcott:
On 6/25/2024 2:17 PM, Fred. Zwarts wrote:
>
It might be true, but it is irrelevant, because the simulated H0 is aborted prematurely. The simulating H0 aborts after two cycles,
>
*I am not even talking about a simulating halt decider yet dumbo*
>
Neither am I. Why do you mention a simulating halt decider? (Who is the dumbo?)
>
If you can't begin to comprehend x86 emulators then our conversation
is dead right here.
>
Fortunately, I am very well able to do so.
But it seems that you have to learn a few basic facts about simulation.
>
>
For every x86 emulator Ho that can possibly exist
at machine address 0000217a...
>
_DDD()
[00002172] 55 push ebp ; housekeeping
[00002173] 8bec mov ebp,esp ; housekeeping
[00002175] 6872210000 push 00002172 ; push DDD
[0000217a] e853f4ffff call 000015d2 ; call H0(DDD)
[0000217f] 83c404 add esp,+04
[00002182] 5d pop ebp
[00002183] c3 ret
Size in bytes:(0018) [00002183]
>
The call from DDD to H0(DDD) when DDD is correctly emulated
by H0 cannot possibly return.
>
So, you repeat your claim without showing any error in my reasoning.
Therefore, I repeat again:
>
It might be true hat H0 cannot return,
>
As soon as you say that you are certain that it is true
we can move on to its relevance. That it is true is as
simple as arithmetic. Why it is relevant is much more
difficult.
>
>
I cannot be certain, because you keep changing your definitions and there are no clear specifications for H0.
You have to fix your own ignorance of the C programming
language and the x86 programming language.
Irrelevant nonsense ignored.
typedef void (*ptr)();
int H0(ptr P);
void DDD()
{
H0(DDD);
}
int main()
{
H0(DDD);
}
_DDD()
[00002172] 55 push ebp ; housekeeping
[00002173] 8bec mov ebp,esp ; housekeeping
[00002175] 6872210000 push 00002172 ; push DDD
[0000217a] e853f4ffff call 000015d2 ; call H0(DDD)
[0000217f] 83c404 add esp,+04
[00002182] 5d pop ebp
[00002183] c3 ret
Size in bytes:(0018) [00002183]
The call from DDD to H0(DDD) when DDD is correctly emulated
by x86 emulator H0 cannot possibly return.
Repeating your claim does not show any error in my reasoning.
Your claim is a contradictio in terminus.
1) It is impossible for a simulator to simulate itself correctly. Therefore the word 'correctly' tells us already that such an H0 does not exist.
2) When H0 aborts the simulation of itself, it makes it impossible for the simulated H0 to return. Therefore, the fact that the simulated call does not return is an error of the simulator.
3) When H0 aborts, it fails to emulate the few remaining instructions up to the return of the simulated H0.
A correct simulation of two cycles of recursion is a simulation of both these two cycles, up to the return.
You will probably be tempted to show your infinite_recursion example again, but that does not apply here, because here are only two cycles of recursion.
This has been pointed out to you so many times. You could never point to an error, but only repeat this verified false claims.