*This has been corrected so that it can be verified that*
*the execution trace matches the x86 source-code of DD*
(two versions of my text files were out-of-sync)
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines
that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
_DD()
[00001c22] 55 push ebp
[00001c23] 8bec mov ebp,esp
[00001c25] 51 push ecx
[00001c26] 8b4508 mov eax,[ebp+08]
[00001c29] 50 push eax ; push DD 1c22
[00001c2a] 8b4d08 mov ecx,[ebp+08]
[00001c2d] 51 push ecx ; push DD 1c22
[00001c2e] e80ff7ffff call 00001342 ; call HH
A {correct simulation} means that each instruction of the
above x86 machine language of DD is correctly simulated
by HH and simulated in the correct order.
In other words the first seven steps of DD correctly simulated
by HH call HH(DD,DD) to repeat these first seven steps. HH then
simulates itself simulating DD until this second instance of DD
calls another HH(DD,DD) to repeat these first seven steps again.
New slave_stack at:10306d
Begin Local Halt Decider Simulation Execution Trace Stored at:113075
machine stack stack machine assembly
address address data code language
======== ======== ======== ========= ============= [00001c22][00113061][00113065] 55 push ebp ; begin DD
[00001c23][00113061][00113065] 8bec mov ebp,esp [00001c25][0011305d][00103031] 51 push ecx [00001c26][0011305d][00103031] 8b4508 mov eax,[ebp+08] [00001c29][00113059][00001c22] 50 push eax ; push DD
[00001c2a][00113059][00001c22] 8b4d08 mov ecx,[ebp+08] [00001c2d][00113055][00001c22] 51 push ecx ; push DD
[00001c2e][00113051][00001c33] e80ff7ffff call 00001342 ; call HH
New slave_stack at:14da95
[00001c22][0015da89][0015da8d] 55 push ebp ; begin DD
[00001c23][0015da89][0015da8d] 8bec mov ebp,esp [00001c25][0015da85][0014da59] 51 push ecx [00001c26][0015da85][0014da59] 8b4508 mov eax,[ebp+08] [00001c29][0015da81][00001c22] 50 push eax ; push DD
[00001c2a][0015da81][00001c22] 8b4d08 mov ecx,[ebp+08] [00001c2d][0015da7d][00001c22] 51 push ecx ; push DD
[00001c2e][0015da79][00001c33] e80ff7ffff call 00001342 ; call HH
Local Halt Decider: Recursive Simulation Detected Simulation Stopped
The above is the complete proof that DD correctly simulated
by any HH that can possibly exist never stops running without
having its simulation aborted by HH (or crashing for OOM error).
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines
that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines
that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are asking
a question that contradicts itself.
In other words the best selling author of theory of
computation textbooks doesn't have a clue?
A correct simulation of HH that aborts itself,
should simulate up to the point where the simulated HH aborts.
The outer HH always sees a longer execution trace than
the inner ones. Unless the outer one aborts none of them
abort.
That is logically impossible. So, either it is a correct simulation
and then we see that the simulated HH aborts and returns, or the
simulation is incorrect, because it assumes incorrectly that things
that happen (abort) do not happen.
A premature conclusion.
_DD()
[00001e32] 55 push ebp ; Begin DD [00001e33] 8bec mov ebp,esp
[00001e35] 51 push ecx
[00001e36] 8b4508 mov eax,[ebp+08]
[00001e39] 50 push eax ; push DD [00001e3a] 8b4d08 mov ecx,[ebp+08]
[00001e3d] 51 push ecx ; push DD [00001e3e] e83ff5ffff call 00001382 ; call DD
If you can't see this then you seem to just not have
enough technical skill:
The first seven steps of DD correctly simulated by HH call
HH(DD,DD) to repeat these first seven steps.
HH then simulates itself simulating DD until this second
instance of DD calls another HH(DD,DD) to repeat these first
seven steps again.
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines
that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are asking
a question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically impossible.
So, either it is a correct simulation and then we see that the
simulated HH aborts and returns, or the simulation is incorrect,
because it assumes incorrectly that things that happen (abort) do not
happen.
A premature conclusion.
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
On 5/29/2021 2:26 PM, olcott wrote: https://groups.google.com/g/comp.theory/c/dTvIY5NX6b4/m/cHR2ZPgPBAAJ
THE ONLY POSSIBLE WAY for D simulated by H to have the same
behavior as the directly executed D(D) is for the instructions
of D to be incorrectly simulated by H (details provided below).
_D()
[00000cfc](01) 55 push ebp [00000cfd](02) 8bec mov ebp,esp [00000cff](03) 8b4508 mov eax,[ebp+08] [00000d02](01) 50 push eax ; push D
[00000d03](03) 8b4d08 mov ecx,[ebp+08] [00000d06](01) 51 push ecx ; push D
[00000d07](05) e800feffff call 00000b0c ; call H
[00000d0c](03) 83c408 add esp,+08 [00000d0f](02) 85c0 test eax,eax [00000d11](02) 7404 jz 00000d17 [00000d13](02) 33c0 xor eax,eax [00000d15](02) eb05 jmp 00000d1c [00000d17](05) b801000000 mov eax,00000001 [00000d1c](01) 5d pop ebp [00000d1d](01) c3 ret
Size in bytes:(0034) [00000d1d]
In order for D simulated by H to have the same behavior as the
directly executed D(D) H must ignore the instruction at machine
address [00000d07]. *That is an incorrect simulation of D*
H does not ignore that instruction and simulates itself simulating D.
The simulated H outputs its own execution trace of D.
int main()
{
Output("Input_Halts = ", HH(main,(ptr)0));
}
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines
that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are asking a
question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically impossible.
So, either it is a correct simulation and then we see that the
simulated HH aborts and returns, or the simulation is incorrect,
because it assumes incorrectly that things that happen (abort) do not
happen.
A premature conclusion.
I have a clearer explanation now that I have gone through
all of Mikko's posts: (you must know C to understand this)
typedef void (*ptr)(); // pointer to void function
void HHH(ptr P, ptr I)
{
P(I);
return;
}
void DDD(int (*x)())
{
HHH(x, x);
return;
}
int main()
{
HHH(DDD,DDD);
}
In the above Neither DDD nor HHH ever reach their own return
statement thus never halt.
When HHH is a simulating halt decider then HHH sees that
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines
that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are asking
a question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically impossible.
So, either it is a correct simulation and then we see that the
simulated HH aborts and returns, or the simulation is incorrect,
because it assumes incorrectly that things that happen (abort) do not
happen.
A premature conclusion.
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
On 5/29/2021 2:26 PM, olcott wrote: https://groups.google.com/g/comp.theory/c/dTvIY5NX6b4/m/cHR2ZPgPBAAJ
THE ONLY POSSIBLE WAY for D simulated by H to have the same
behavior as the directly executed D(D) is for the instructions
of D to be incorrectly simulated by H (details provided below).
_D()
[00000cfc](01) 55 push ebp [00000cfd](02) 8bec mov ebp,esp [00000cff](03) 8b4508 mov eax,[ebp+08] [00000d02](01) 50 push eax ; push D
[00000d03](03) 8b4d08 mov ecx,[ebp+08] [00000d06](01) 51 push ecx ; push D
[00000d07](05) e800feffff call 00000b0c ; call H
[00000d0c](03) 83c408 add esp,+08 [00000d0f](02) 85c0 test eax,eax [00000d11](02) 7404 jz 00000d17 [00000d13](02) 33c0 xor eax,eax [00000d15](02) eb05 jmp 00000d1c [00000d17](05) b801000000 mov eax,00000001 [00000d1c](01) 5d pop ebp [00000d1d](01) c3 ret
Size in bytes:(0034) [00000d1d]
In order for D simulated by H to have the same behavior as the
directly executed D(D) H must ignore the instruction at machine
address [00000d07]. *That is an incorrect simulation of D*
H does not ignore that instruction and simulates itself simulating D.
The simulated H outputs its own execution trace of D.
On 6/10/2024 2:09 AM, Fred. Zwarts wrote:A simulation must have the same behaviour.
Op 10.jun.2024 om 07:17 schreef olcott:I just proved that D simulated by H has different behavior
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:On 05.jun.2024 at 15:59 (CET) olcott proved that in the example
Op 08.jun.2024 om 20:47 schreef olcott:
int main()main halts and HH reported a non-halting behaviour. This means that
{
Output("Input_Halts = ", HH(main,(ptr)0));
}
when HH is used as a test for halting, it produces a false negative.
than the directly executed D(D) and you ignored it.
On 6/10/2024 6:16 AM, Richard Damon wrote:Why does it need to abort, when its recursive simulation does the same
On 6/10/24 1:17 AM, olcott wrote:
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:
Op 08.jun.2024 om 20:47 schreef olcott:
Try to show how this DD correctly simulated by any HH ever stops
running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are asking
a question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically
impossible. So, either it is a correct simulation and then we see
that the simulated HH aborts and returns, or the simulation is
incorrect, because it assumes incorrectly that things that happen
(abort) do not happen.
Are you saying that the simulation can be different from the directSo, I guess you are admitting that this means that "D correctly
simulated by H" is NOT a possible equivalent statement for the behavior
of the direct execution of the input as required by the Halting
Problem,
so you admit you have been LYING every time you imply that it is.
The only way for D simulated by H to have the same behavior as theDoes D(D) skip over this call?
directly executed D(D) is for D simulated by H to skip over this call.
Your problem is that it turns out that the only way that a correct[no answer]
simulation by H to be an actual correct simulation that shows halting
behavior, it can't answer and be a decider.
But your H DOES ignore the CORRECT behavior of that instruction, as aThere is no need to look at the trace of H correctly simulated by H when
correct simulation of that instruction (by what ever type of simulation
you want to do) must either continue it trace into the function H
(which none of your published traces of the results of the simulation H
does do) if the simulation instruction level, or it must show the
effective behavior of the actual function H, which is to return 0
(since you claim you H is correct, and correct to return 0).
Neither of these is what your "correct simulation" of the input does,
so it can not be a correct simulation of the input. Your H just doesn't
"correctly simulate" that call instruction, but does invalid logic to
conclude the wrong answer.
It seems impossible for you claim that you have looked at the trace of
H acually doing the x86 instruction trace of H to show that it was
correctly determining what you claim, as your "250 page" trace turns
out not to be that trace, and you admit you didn't look at it closely,
and you JUST think you figured out how to get such a trace out.
the trace of D correctly simulated by simulated H is proven to be
correct.
On 6/10/2024 2:09 AM, Fred. Zwarts wrote:
Op 10.jun.2024 om 07:17 schreef olcott:
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:On 05.jun.2024 at 15:59 (CET) olcott proved that in the example
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>> If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022> >>>>>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines >>>>> > that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are
asking a question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically
impossible. So, either it is a correct simulation and then we see
that the simulated HH aborts and returns, or the simulation is
incorrect, because it assumes incorrectly that things that happen
(abort) do not happen.
A premature conclusion.
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
On 5/29/2021 2:26 PM, olcott wrote:
https://groups.google.com/g/comp.theory/c/dTvIY5NX6b4/m/cHR2ZPgPBAAJ
THE ONLY POSSIBLE WAY for D simulated by H to have the same
behavior as the directly executed D(D) is for the instructions
of D to be incorrectly simulated by H (details provided below).
_D()
[00000cfc](01) 55 push ebp
[00000cfd](02) 8bec mov ebp,esp
[00000cff](03) 8b4508 mov eax,[ebp+08] >>> [00000d02](01) 50 push eax ; push D
[00000d03](03) 8b4d08 mov ecx,[ebp+08] >>> [00000d06](01) 51 push ecx ; push D
[00000d07](05) e800feffff call 00000b0c ; call H
[00000d0c](03) 83c408 add esp,+08
[00000d0f](02) 85c0 test eax,eax >>> [00000d11](02) 7404 jz 00000d17
[00000d13](02) 33c0 xor eax,eax
[00000d15](02) eb05 jmp 00000d1c >>> [00000d17](05) b801000000 mov eax,00000001
[00000d1c](01) 5d pop ebp
[00000d1d](01) c3 ret
Size in bytes:(0034) [00000d1d]
In order for D simulated by H to have the same behavior as the
directly executed D(D) H must ignore the instruction at machine
address [00000d07]. *That is an incorrect simulation of D*
H does not ignore that instruction and simulates itself simulating D.
The simulated H outputs its own execution trace of D.
int main()
{
; Output("Input_Halts = ", HH(main,(ptr)0));
}
main halts and HH reported a non-halting behaviour.
I cannot and will not tolerate the strawman deception
change-the-subject fake rebuttal.
On 6/10/2024 2:09 AM, Fred. Zwarts wrote:
Op 10.jun.2024 om 07:17 schreef olcott:
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:On 05.jun.2024 at 15:59 (CET) olcott proved that in the example
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>> If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022> >>>>>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines >>>>> > that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are
asking a question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically
impossible. So, either it is a correct simulation and then we see
that the simulated HH aborts and returns, or the simulation is
incorrect, because it assumes incorrectly that things that happen
(abort) do not happen.
A premature conclusion.
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
On 5/29/2021 2:26 PM, olcott wrote:
https://groups.google.com/g/comp.theory/c/dTvIY5NX6b4/m/cHR2ZPgPBAAJ
THE ONLY POSSIBLE WAY for D simulated by H to have the same
behavior as the directly executed D(D) is for the instructions
of D to be incorrectly simulated by H (details provided below).
_D()
[00000cfc](01) 55 push ebp
[00000cfd](02) 8bec mov ebp,esp
[00000cff](03) 8b4508 mov eax,[ebp+08] >>> [00000d02](01) 50 push eax ; push D
[00000d03](03) 8b4d08 mov ecx,[ebp+08] >>> [00000d06](01) 51 push ecx ; push D
[00000d07](05) e800feffff call 00000b0c ; call H
[00000d0c](03) 83c408 add esp,+08
[00000d0f](02) 85c0 test eax,eax >>> [00000d11](02) 7404 jz 00000d17
[00000d13](02) 33c0 xor eax,eax
[00000d15](02) eb05 jmp 00000d1c >>> [00000d17](05) b801000000 mov eax,00000001
[00000d1c](01) 5d pop ebp
[00000d1d](01) c3 ret
Size in bytes:(0034) [00000d1d]
In order for D simulated by H to have the same behavior as the
directly executed D(D) H must ignore the instruction at machine
address [00000d07]. *That is an incorrect simulation of D*
H does not ignore that instruction and simulates itself simulating D.
The simulated H outputs its own execution trace of D.
int main()
{
; Output("Input_Halts = ", HH(main,(ptr)0));
}
main halts and HH reported a non-halting behaviour. This means that
when HH is used as a test for halting, it produces a false negative.
I just proved that D correctly simulated by H has different
behavior than the directly executed D(D) and you ignored it.
On 6/10/2024 2:48 AM, Mikko wrote:
On 2024-06-09 14:13:23 +0000, olcott said:
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>> If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022> >>>>>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines >>>>> > that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are
asking a question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically
impossible. So, either it is a correct simulation and then we see
that the simulated HH aborts and returns, or the simulation is
incorrect, because it assumes incorrectly that things that happen
(abort) do not happen.
A premature conclusion.
I have a clearer explanation now that I have gone through
all of Mikko's posts: (you must know C to understand this)
typedef void (*ptr)(); // pointer to void function
void HHH(ptr P, ptr I)
{
P(I);
return;
}
void DDD(int (*x)())
{
HHH(x, x);
return;
}
int main()
{
HHH(DDD,DDD);
}
In the above Neither DDD nor HHH ever reach their own return
statement thus never halt.
When HHH is a simulating halt decider then HHH sees that
As the code above shows, HHH is not a simulating halt decider:
(a) HHH does not simulate, (b) HHH does not decide.
Consequently, you are talking about nothing.
Yes that is correct. I begin with ordinary infinite recursion.
If my reviewer does not understand that then they lack sufficient
technical competence to review my work.
After they first understand infinite recursion then I show how
infinite recursion is isomorphic to nested simulation.
On 6/10/2024 2:41 PM, Fred. Zwarts wrote:
That is the easiest way to ignore that it is just a proven false
negative: Remove the proof and claim that it is a change of subject.
*You did not prove that this is false you only ignored it*
*You did not prove that this is false you only ignored it*
*You did not prove that this is false you only ignored it*
D correctly simulated by H proved for THREE YEARS ---
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
On 5/29/2021 2:26 PM, olcott wrote: https://groups.google.com/g/comp.theory/c/dTvIY5NX6b4/m/cHR2ZPgPBAAJ
THE ONLY POSSIBLE WAY for D simulated by H to have the same
behavior as the directly executed D(D) is for the instructions
of D to be incorrectly simulated by H (details provided below).
_D()
[00000cfc](01) 55 push ebp
[00000cfd](02) 8bec mov ebp,esp
[00000cff](03) 8b4508 mov eax,[ebp+08]
[00000d02](01) 50 push eax ; push D [00000d03](03) 8b4d08 mov ecx,[ebp+08]
[00000d06](01) 51 push ecx ; push D [00000d07](05) e800feffff call 00000b0c ; call H
[00000d0c](03) 83c408 add esp,+08
[00000d0f](02) 85c0 test eax,eax
[00000d11](02) 7404 jz 00000d17
[00000d13](02) 33c0 xor eax,eax
[00000d15](02) eb05 jmp 00000d1c
[00000d17](05) b801000000 mov eax,00000001
[00000d1c](01) 5d pop ebp
[00000d1d](01) c3 ret
Size in bytes:(0034) [00000d1d]
On 6/10/2024 2:48 AM, Mikko wrote:
On 2024-06-09 14:13:23 +0000, olcott said:
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>> If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022> >>>>>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines >>>>> > that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are asking a >>>> question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically impossible. >>>> So, either it is a correct simulation and then we see that the
simulated HH aborts and returns, or the simulation is incorrect,
because it assumes incorrectly that things that happen (abort) do not
happen.
A premature conclusion.
I have a clearer explanation now that I have gone through
all of Mikko's posts: (you must know C to understand this)
typedef void (*ptr)(); // pointer to void function
void HHH(ptr P, ptr I)
{
P(I);
return;
}
void DDD(int (*x)())
{
HHH(x, x);
return;
}
int main()
{
HHH(DDD,DDD);
}
In the above Neither DDD nor HHH ever reach their own return
statement thus never halt.
When HHH is a simulating halt decider then HHH sees that
As the code above shows, HHH is not a simulating halt decider:
(a) HHH does not simulate, (b) HHH does not decide.
Consequently, you are talking about nothing.
Yes that is correct. I begin with ordinary infinite recursion.
If my reviewer does not understand that then they lack sufficient
technical competence to review my work.
After they first understand infinite recursion then I show how
infinite recursion is isomorphic to nested simulation.
On 6/10/2024 2:09 AM, Fred. Zwarts wrote:
Op 10.jun.2024 om 07:17 schreef olcott:
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:On 05.jun.2024 at 15:59 (CET) olcott proved that in the example
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>> If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022> >>>>>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines >>>>> > that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are
asking a question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically
impossible. So, either it is a correct simulation and then we see
that the simulated HH aborts and returns, or the simulation is
incorrect, because it assumes incorrectly that things that happen
(abort) do not happen.
A premature conclusion.
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
*No one has verified the actual facts of this for THREE YEARS*
On 5/29/2021 2:26 PM, olcott wrote:
https://groups.google.com/g/comp.theory/c/dTvIY5NX6b4/m/cHR2ZPgPBAAJ
THE ONLY POSSIBLE WAY for D simulated by H to have the same
behavior as the directly executed D(D) is for the instructions
of D to be incorrectly simulated by H (details provided below).
_D()
[00000cfc](01) 55 push ebp
[00000cfd](02) 8bec mov ebp,esp
[00000cff](03) 8b4508 mov eax,[ebp+08] >>> [00000d02](01) 50 push eax ; push D
[00000d03](03) 8b4d08 mov ecx,[ebp+08] >>> [00000d06](01) 51 push ecx ; push D
[00000d07](05) e800feffff call 00000b0c ; call H
[00000d0c](03) 83c408 add esp,+08
[00000d0f](02) 85c0 test eax,eax >>> [00000d11](02) 7404 jz 00000d17
[00000d13](02) 33c0 xor eax,eax
[00000d15](02) eb05 jmp 00000d1c >>> [00000d17](05) b801000000 mov eax,00000001
[00000d1c](01) 5d pop ebp
[00000d1d](01) c3 ret
Size in bytes:(0034) [00000d1d]
In order for D simulated by H to have the same behavior as the
directly executed D(D) H must ignore the instruction at machine
address [00000d07]. *That is an incorrect simulation of D*
H does not ignore that instruction and simulates itself simulating D.
The simulated H outputs its own execution trace of D.
int main()
{
; Output("Input_Halts = ", HH(main,(ptr)0));
}
main halts and HH reported a non-halting behaviour. This means that
when HH is used as a test for halting, it produces a false negative.
I just proved that D correctly simulated by H has different
behavior than the directly executed D(D) and you ignored it.
I cannot and will not tolerate the strawman deception
change-the-subject fake rebuttal.
*I just proved that D correctly simulated by H has different*
*behavior than the directly executed D(D) and you ignored it*
On 6/10/2024 2:48 AM, Mikko wrote:
On 2024-06-09 14:13:23 +0000, olcott said:
On 6/9/2024 1:33 AM, Fred. Zwarts wrote:
Op 08.jun.2024 om 20:47 schreef olcott:
Before we can get to the behavior of the directly executed
DD(DD) we must first see that the Sipser approved criteria
have been met:
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>> If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words10/13/2022> >>>>>
On 10/14/2022 7:44 PM, Ben Bacarisse wrote:
I don't think that is the shell game. PO really /has/ an H
(it's trivial to do for this one case) that correctly determines >>>>> > that P(P) *would* never stop running *unless* aborted.
Try to show how this DD correctly simulated by any HH ever
stops running without having its simulation aborted by HH.
Stopping at your first error. So, we can focus on it. Your are asking a >>>> question that contradicts itself.
A correct simulation of HH that aborts itself, should simulate up to
the point where the simulated HH aborts. That is logically impossible. >>>> So, either it is a correct simulation and then we see that the
simulated HH aborts and returns, or the simulation is incorrect,
because it assumes incorrectly that things that happen (abort) do not
happen.
A premature conclusion.
I have a clearer explanation now that I have gone through
all of Mikko's posts: (you must know C to understand this)
typedef void (*ptr)(); // pointer to void function
void HHH(ptr P, ptr I)
{
P(I);
return;
}
void DDD(int (*x)())
{
HHH(x, x);
return;
}
int main()
{
HHH(DDD,DDD);
}
In the above Neither DDD nor HHH ever reach their own return
statement thus never halt.
When HHH is a simulating halt decider then HHH sees that
As the code above shows, HHH is not a simulating halt decider:
(a) HHH does not simulate, (b) HHH does not decide.
Consequently, you are talking about nothing.
Yes that is correct.
I begin with ordinary infinite recursion.
If my reviewer does not understand that then they lack sufficient
technical competence to review my work.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 498 |
Nodes: | 16 (2 / 14) |
Uptime: | 49:35:02 |
Calls: | 9,808 |
Calls today: | 10 |
Files: | 13,754 |
Messages: | 6,190,259 |