On 7/26/2024 1:53 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 03:49 schreef olcott:
If you understand the x86 language and can't tell how DDD
emulated by HHH differs from DDD emulated by HHH1 by the
following then you are probably lying about understanding
the x86 language.
We understand it perfectly. HHH cannot possibly simulate itself
correctly.
You are too stupid to know that a non-halting computation
cannot be emulated to completion because completion does
not exist.
On this stupid basis you say that because HHH does not simulate
DDD to a completion that does not exist that DDD is simulated
incorrectly. Unlike pure ad hominem rebuttals I point out how
and why what you say is stupidly incorrect.
HH1 does a correct simulation, but HHH does an incomplete and
therefore incorrect simulation. The incomplete simulation does not
show the full behaviour of DDD.
Since skipping x86 code is against the semantics of the x86 language,
it is clear where the error is.
*I did annotate it a little better this time*
typedef void (*ptr)();
int HHH(ptr P);
int HHH1(ptr P);
void DDD()
{
HHH(DDD);
}
int main()
{
HHH1(DDD);
}
*You really don't need to know one damn thing else besides this*
*You really don't need to know one damn thing else besides this*
*You really don't need to know one damn thing else besides this*
All that you have to know is that HHH and HHH1 are x86 emulators
and that HHH sees that same repeated state (first four lines of DDD)
that anyone knowing the x86 language can see.
_DDD()
[00002177] 55 push ebp
[00002178] 8bec mov ebp,esp
[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]
_main()
[00002197] 55 push ebp
[00002198] 8bec mov ebp,esp
[0000219a] 6877210000 push 00002177 ' push DDD
[0000219f] e863f3ffff call 00001507 ; call HH1
[000021a4] 83c404 add esp,+04
[000021a7] 33c0 xor eax,eax
[000021a9] 5d pop ebp
[000021aa] c3 ret
Size in bytes:(0020) [000021aa]
machine stack stack machine assembly
address address data code language
======== ======== ======== ========= =============
[00002197][001037fb][00000000] 55 push ebp
[00002198][001037fb][00000000] 8bec mov ebp,esp
[0000219a][001037f7][00002177] 6877210000 push 00002177 ; push DDD
[0000219f][001037f3][000021a4] e863f3ffff call 00001507 ; call HHH1
New slave_stack at:10389f
// emulates 1st instance of DDD that calls HHH(DDD)
Begin Local Halt Decider Simulation Execution Trace Stored at:1138a7 >>> [00002177][00113897][0011389b] 55 push ebp
[00002178][00113897][0011389b] 8bec mov ebp,esp
[0000217a][00113893][00002177] 6877210000 push 00002177 ; push DDD
[0000217f][0011388f][00002184] e853f4ffff call 000015d7 ; call HHH
New slave_stack at:14e2c7
// emulates 2nd instance of DDD that calls HHH(DDD)
Begin Local Halt Decider Simulation Execution Trace Stored at:15e2cf >>> [00002177][0015e2bf][0015e2c3] 55 push ebp
[00002178][0015e2bf][0015e2c3] 8bec mov ebp,esp
[0000217a][0015e2bb][00002177] 6877210000 push 00002177 ; push DDD
[0000217f][0015e2b7][00002184] e853f4ffff call 000015d7 ; call HHH
New slave_stack at:198cef
// emulates 3rd instance of DDD that calls HHH(DDD)
[00002177][001a8ce7][001a8ceb] 55 push ebp
[00002178][001a8ce7][001a8ceb] 8bec mov ebp,esp
[0000217a][001a8ce3][00002177] 6877210000 push 00002177 ; push DDD
[0000217f][001a8cdf][00002184] e853f4ffff call 000015d7 ; call HHH
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
This is the error in HHH. HHH is programmed to print after two cycles
that there is an infinite recursion, which is not true, after which it
aborts and halts, making the simulation incorrect.
HHH is simply unable to decide about finite recursions.
void Finite_Recursion (int N) {
if (N > 0) Finite_Recursion (N - 1);
}
It decides after N recursions that there is an infinite recursion,
which is incorrect. It does not see the difference between an finite
and an infinite recursion.
Olcott's psychology is intriguing. At the one hand he is crying for
// returns to 1st instance of DDD emulated by HHH1
[00002184][00113897][0011389b] 83c404 add esp,+04
[00002187][0011389b][000015bc] 5d pop ebp
[00002188][0011389f][0003a980] c3 ret
// return to main
[000021a4][001037fb][00000000] 83c404 add esp,+04
[000021a7][001037fb][00000000] 33c0 xor eax,eax
[000021a9][001037ff][00000018] 5d pop ebp
[000021aa][00103803][00000000] c3 ret
Number of Instructions Executed(352831) == 5266 Pages
help. He has some ideas which he cannot prove. Therefore he is begging
the exports to help him with a proof.
When the experts prove that there are errors in his idea and show him
a way to improve his idea, he does not have the mental intelligence to
even consider the possibility that there is something incorrect in his
ideas. He cannot show any error in their proofs, but he does not want
to accept it.
Therefore he uses the excuse that the experts must be lying in order
to be able to ignore the proofs that his ideas are wrong.
Then he keeps repeating his proven incorrect ideas, without any
evidence, probably hoping that if it is repeated often enough, it will
become true.
That is not how logic works.
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
these ideas are incorrect.
On 7/26/2024 8:53 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 15:22 schreef olcott:
On 7/26/2024 1:53 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 03:49 schreef olcott:
If you understand the x86 language and can't tell how DDD
emulated by HHH differs from DDD emulated by HHH1 by the
following then you are probably lying about understanding
the x86 language.
We understand it perfectly. HHH cannot possibly simulate itself
correctly.
You are too stupid to know that a non-halting computation
cannot be emulated to completion because completion does
not exist.
The non-halting behaviour is only in your dreams. It is irrelevant,
because HHH halts when it aborts. Remember, HHH is simulating
*itself*, a halting program, not another non-halting simulator that
does not abort and does not halt.
typedef void (*ptr)();
int HHH(ptr P);
void DDD()
{
HHH(DDD);
}
int main()
{
DDD(DDD);
}
When we understand that HHH is accountable for the behavior of
its input and not accountable for the behavior of the computation
that itself is contained within then we understand that HHH(DDD)
is necessarily correct to reject DDD as non-halting.
On 7/26/2024 10:30 AM, Fred. Zwarts wrote:And those happen to be the same.
Op 26.jul.2024 om 16:16 schreef olcott:
On 7/26/2024 8:53 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 15:22 schreef olcott:
On 7/26/2024 1:53 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 03:49 schreef olcott:
We understand it perfectly. HHH cannot possibly simulate itself
correctly.
The non-halting behaviour is only in your dreams. It is irrelevant,
because HHH halts when it aborts. Remember, HHH is simulating
*itself*, a halting program, not another non-halting simulator that
does not abort and does not halt.
We see that the only thing DDD does is calling HHH. So, HHH is fully
accountable for the behaviour of DDD and its code is included in the
program that must be simulated, otherwise the call from DDD to HHH
would result in an error.
No decider is ever accountable for the behavior of the computation that itself is contained within.
HHH(DDD) is accountable for the behavior of its input and is not
accountable for the behavior of the computation that itself is contained within: the directly executed DDD();
On 7/26/2024 10:30 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 16:16 schreef olcott:
On 7/26/2024 8:53 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 15:22 schreef olcott:
On 7/26/2024 1:53 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 03:49 schreef olcott:
If you understand the x86 language and can't tell how DDD
emulated by HHH differs from DDD emulated by HHH1 by the
following then you are probably lying about understanding
the x86 language.
We understand it perfectly. HHH cannot possibly simulate itself
correctly.
You are too stupid to know that a non-halting computation
cannot be emulated to completion because completion does
not exist.
The non-halting behaviour is only in your dreams. It is irrelevant,
because HHH halts when it aborts. Remember, HHH is simulating
*itself*, a halting program, not another non-halting simulator that
does not abort and does not halt.
typedef void (*ptr)();
int HHH(ptr P);
void DDD()
{
HHH(DDD);
}
int main()
{
DDD(DDD);
}
When we understand that HHH is accountable for the behavior of
its input and not accountable for the behavior of the computation
that itself is contained within then we understand that HHH(DDD)
is necessarily correct to reject DDD as non-halting.
We see that the only thing DDD does is calling HHH. So, HHH is fully
accountable for the behaviour of DDD and its code is included in the
program that must be simulated, otherwise the call from DDD to HHH
would result in an error.
No decider is ever accountable for the behavior of the computation
that itself is contained within.
typedef void (*ptr)();
int HHH(ptr P);
void DDD()
{
HHH(DDD);
}
int main()
{
DDD(DDD);
}
HHH(DDD) is accountable for the behavior of its input and is
not accountable for the behavior of the computation that itself
is contained within: the directly executed DDD();
On 7/26/2024 2:16 PM, joes wrote:
Am Fri, 26 Jul 2024 11:02:45 -0500 schrieb olcott:
On 7/26/2024 10:30 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 16:16 schreef olcott:
On 7/26/2024 8:53 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 15:22 schreef olcott:
On 7/26/2024 1:53 AM, Fred. Zwarts wrote:
Op 26.jul.2024 om 03:49 schreef olcott:
We understand it perfectly. HHH cannot possibly simulate itself >>>>>>>> correctly.
The non-halting behaviour is only in your dreams. It is irrelevant, >>>>>> because HHH halts when it aborts. Remember, HHH is simulating
*itself*, a halting program, not another non-halting simulator that >>>>>> does not abort and does not halt.
We see that the only thing DDD does is calling HHH. So, HHH is fully
accountable for the behaviour of DDD and its code is included in the
program that must be simulated, otherwise the call from DDD to HHH
would result in an error.
No decider is ever accountable for the behavior of the computation that
itself is contained within.
HHH(DDD) is accountable for the behavior of its input and is not
accountable for the behavior of the computation that itself is contained >>> within: the directly executed DDD();
And those happen to be the same.
This all goes back to you refusing to acknowledge
that you understand what infinite recursion is,
thus failing to recognize the infinite recursion
behavior pattern.
_Infinite_Recursion()
[0000215a] 55 push ebp
[0000215b] 8bec mov ebp,esp
[0000215d] e8f8ffffff call 0000215a ; recursive call
[00002162] 5d pop ebp
[00002163] c3 ret
Size in bytes:(0010) [00002163]
Begin Local Halt Decider Simulation Execution Trace Stored at:113934 Decide_Halting_HH:1
[0000215a][00113924][00113928] 55 push ebp [0000215b][00113924][00113928] 8bec mov ebp,esp [0000215d][00113920][00002162] e8f8ffffff call 0000215a [0000215a][0011391c][00113924] 55 push ebp [0000215b][0011391c][00113924] 8bec mov ebp,esp [0000215d][00113918][00002162] e8f8ffffff call 0000215a
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
*That also occurs below*
typedef void (*ptr)();
int HHH(ptr P);
void DDD()
{
HHH(DDD);
}
int main()
{
DDD();
}
HHH(DDD) is accountable for the behavior of its input and is
not accountable for the behavior of the computation that itself
is contained within: the directly executed DDD();
_DDD()
[00002177] 55 push ebp
[00002178] 8bec mov ebp,esp
[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]
_main()
[00002197] 55 push ebp
[00002198] 8bec mov ebp,esp
[0000219a] e8d8ffffff call 00002177 ; call DDD
[0000219f] 33c0 xor eax,eax
[000021a1] 5d pop ebp
[000021a2] c3 ret
Size in bytes:(0012) [000021a2]
machine stack stack machine assembly
address address data code language
======== ======== ======== ========= ============= [00002197][001037e9][00000000] 55 push ebp [00002198][001037e9][00000000] 8bec mov ebp,esp [0000219a][001037e5][0000219f] e8d8ffffff call 00002177 ; call DDD [00002177][001037e1][001037e9] 55 push ebp [00002178][001037e1][001037e9] 8bec mov ebp,esp [0000217a][001037dd][00002177] 6877210000 push 00002177 ; push DDD [0000217f][001037d9][00002184] e853f4ffff call 000015d7 ; call HHH
// 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 [00002178][00113885][00113889] 8bec mov ebp,esp [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 [00002178][0015e2ad][0015e2b1] 8bec mov ebp,esp [0000217a][0015e2a9][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0015e2a5][00002184] e853f4ffff call 000015d7 ; call HHH
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
[00002184][001037e1][001037e9] 83c404 add esp,+04 [00002187][001037e5][0000219f] 5d pop ebp [00002188][001037e9][00000000] c3 ret [0000219f][001037e9][00000000] 33c0 xor eax,eax [000021a1][001037ed][00000018] 5d pop ebp [000021a2][001037f1][00000000] c3 ret
Number of Instructions Executed(10071) == 150 Pages
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (0 / 16) |
Uptime: | 168:56:03 |
Calls: | 10,385 |
Calls today: | 2 |
Files: | 14,057 |
Messages: | 6,416,551 |