04 int D(ptr x)
05 {
06 int Halt_Status = H(x, x);
07 if (Halt_Status)
08 HERE: goto HERE;
09 return Halt_Status;
10 }
11
12 void main()
13 {
14 H(D,D);
15 }
*Execution Trace*
Line 14: main() invokes H(D,D);
*keeps repeating* (unless aborted)
Line 06: simulated D(D) invokes simulated H(D,D) that simulates D(D)
*Simulation invariant*
*D correctly simulated by H cannot possibly reach past its own line 06*
On 1/12/2024 2:22 AM, Mikko wrote:
On 2024-01-11 14:22:34 +0000, olcott said about
"Try and show how D correctly simulated by H reaches its own line 09":
04 int D(ptr x)
05 {
06 int Halt_Status = H(x, x);
07 if (Halt_Status)
08 HERE: goto HERE;
09 return Halt_Status;
10 }
11
12 void main()
13 {
14 H(D,D);
15 }
*Execution Trace*
Line 14: main() invokes H(D,D);
*keeps repeating* (unless aborted)
Line 06: simulated D(D) invokes simulated H(D,D) that simulates D(D)
*Simulation invariant*
*D correctly simulated by H cannot possibly reach past its own line 06*
What the correct simulation trace is, and in particular whether it
reaches the line 09, depends on what H does.
Mike Terry has confirmed that H does correctly simulate N steps of D.
There is no possible way that any correct simulation of D by any H
that can possibly exist ever reaches line 06 of D.
*This can be confirmed by the source code of D posted above*
On 1/13/2024 2:36 AM, Mikko wrote:
On 2024-01-12 16:26:52 +0000, olcott said:
On 1/12/2024 2:22 AM, Mikko wrote:
On 2024-01-11 14:22:34 +0000, olcott said about
"Try and show how D correctly simulated by H reaches its own line 09": >>>>
04 int D(ptr x)What the correct simulation trace is, and in particular whether it
05 {
06�� int Halt_Status = H(x, x);
07�� if (Halt_Status)
08���� HERE: goto HERE;
09�� return Halt_Status;
10 }
11
12 void main()
13 {
14�� H(D,D);
15 }
*Execution Trace*
Line 14: main() invokes H(D,D);
*keeps repeating* (unless aborted)
Line 06: simulated D(D) invokes simulated H(D,D) that simulates D(D) >>>>>
*Simulation invariant*
*D correctly simulated by H cannot possibly reach past its own line 06* >>>>
reaches the line 09, depends on what H does.
Mike Terry has confirmed that H does correctly simulate N steps of D.
There is no possible way that any correct simulation of D by any H
that can possibly exist ever reaches line 06 of D.
*This can be confirmed by the source code of D posted above*
Apparently Mike Terry had a different interpretation of "any H that
can possibly exist". What I said is true about some H that is consitent
with the question of OP.
Mikko
Mike Terry was carefully reporting on the actual behavior
of D correctly simulated by H at the x86 machine code level.
He confirmed that N instructions of D were correctly simulated by H.
After N instructions of D are correctly simulated by H or HH
then H and HH correctly detect a non-halting behavior pattern
and abort their simulation. HH does this after it has simulated
itself simulating D.
On 2024-01-12 16:26:52 +0000, olcott said:
On 1/12/2024 2:22 AM, Mikko wrote:
On 2024-01-11 14:22:34 +0000, olcott said about
"Try and show how D correctly simulated by H reaches its own line 09":
04 int D(ptr x)What the correct simulation trace is, and in particular whether it
05 {
06�� int Halt_Status = H(x, x);
07�� if (Halt_Status)
08���� HERE: goto HERE;
09�� return Halt_Status;
10 }
11
12 void main()
13 {
14�� H(D,D);
15 }
*Execution Trace*
Line 14: main() invokes H(D,D);
*keeps repeating* (unless aborted)
Line 06: simulated D(D) invokes simulated H(D,D) that simulates D(D)
*Simulation invariant*
*D correctly simulated by H cannot possibly reach past its own line 06* >>>
reaches the line 09, depends on what H does.
Mike Terry has confirmed that H does correctly simulate N steps of D.
There is no possible way that any correct simulation of D by any H
that can possibly exist ever reaches line 06 of D.
*This can be confirmed by the source code of D posted above*
Apparently Mike Terry had a different interpretation of "any H that
can possibly exist". What I said is true about some H that is consitent
with the question of OP.
On 1/13/2024 12:25 PM, Mike Terry wrote:
On 13/01/2024 08:36, Mikko wrote:
On 2024-01-12 16:26:52 +0000, olcott said:
On 1/12/2024 2:22 AM, Mikko wrote:
On 2024-01-11 14:22:34 +0000, olcott said about
"Try and show how D correctly simulated by H reaches its own line 09": >>>>>
04 int D(ptr x)
05 {
06 int Halt_Status = H(x, x);
07 if (Halt_Status)
08 HERE: goto HERE;
09 return Halt_Status;
10 }
11
12 void main()
13 {
14 H(D,D);
15 }
*Execution Trace*
Line 14: main() invokes H(D,D);
*keeps repeating* (unless aborted)
Line 06: simulated D(D) invokes simulated H(D,D) that simulates D(D) >>>>>>
*Simulation invariant*
*D correctly simulated by H cannot possibly reach past its own
line 06*
What the correct simulation trace is, and in particular whether it
reaches the line 09, depends on what H does.
Mike Terry has confirmed that H does correctly simulate N steps of D.
There is no possible way that any correct simulation of D by any H
that can possibly exist ever reaches line 06 of D.
*This can be confirmed by the source code of D posted above*
Apparently Mike Terry had a different interpretation of "any H that
can possibly exist". What I said is true about some H that is consitent
with the question of OP.
I don't recall ever commenting on the phrase "any H that can possibly
exist". It's one of those "duffer" phrases that I wouldn't even
bother trying to pin down with PO. Like his "What is the /correct
simulation trace/ of D(D) /by H/ ?"
PO loves to grab little quotations from people, and then present them
without the surrounding context so that he can make out that people
are supporting his position when they are not. It's one of his ways
of trying to swat away legitimate criticisms of his arguments without
addressing them.
Anyway, FTR what I said was that AFAICT the x86utm simulation code
does indeed correctly simulate individual x86 instructions. For
example if it simulates a "push eax" instruction, the current
(virtual) eax register gets stored in virtual memory at the correct
location on the stack, and (virtual) esp register is correctly
decremented, and (virtual) eip is correctly incremented etc. etc..
That functionality was not written by PO, and while it is tedious it
is not "difficult" code, and is all within . Also AFAICT PO's own
x86utm "step simulation" primitive appears to be correctly simulated
and to nest correctly. So if H simulates (say) 427 steps of D(D),
AFAICT those 427 steps are simulated correctly.
I also made it clear that if after those 427 steps, H decides it's
seen enough, and stops simulating and returns "non-halting" then since
D(D) does in fact halt,
01 int D(ptr x) // pointer to int function
02 {
03 int Halt_Status = H(x, x);
04 if (Halt_Status)
05 HERE: goto HERE;
06 return Halt_Status;
07 }
That means that you are using the strawman deception and changing the
subject away from D correctly simulated by H that cannot possibly reach
its own line 06 and terminate normally in 1 to infinity steps of correct simulation.
Do you understand that int sum(int y, int x){return x + y;}
cannot correctly return 7 for sum(3,2) ???
A decider must report on its actual input and is not allowed
to report on anything else. The directly executed
*D(D) IS NOT A FREAKING INPUT TO H*
On 1/13/2024 12:25 PM, Mike Terry wrote:
On 13/01/2024 08:36, Mikko wrote:
On 2024-01-12 16:26:52 +0000, olcott said:
On 1/12/2024 2:22 AM, Mikko wrote:
On 2024-01-11 14:22:34 +0000, olcott said about
"Try and show how D correctly simulated by H reaches its own line 09": >>>>>
04 int D(ptr x)What the correct simulation trace is, and in particular whether it
05 {
06 int Halt_Status = H(x, x);
07 if (Halt_Status)
08 HERE: goto HERE;
09 return Halt_Status;
10 }
11
12 void main()
13 {
14 H(D,D);
15 }
*Execution Trace*
Line 14: main() invokes H(D,D);
*keeps repeating* (unless aborted)
Line 06: simulated D(D) invokes simulated H(D,D) that simulates D(D) >>>>>>
*Simulation invariant*
*D correctly simulated by H cannot possibly reach past its own line 06* >>>>>
reaches the line 09, depends on what H does.
Mike Terry has confirmed that H does correctly simulate N steps of D.
There is no possible way that any correct simulation of D by any H
that can possibly exist ever reaches line 06 of D.
*This can be confirmed by the source code of D posted above*
Apparently Mike Terry had a different interpretation of "any H that
can possibly exist". What I said is true about some H that is consitent
with the question of OP.
I don't recall ever commenting on the phrase "any H that can possibly
exist". It's one of those "duffer" phrases that I wouldn't even bother
trying to pin down with PO. Like his "What is the /correct simulation
trace/ of D(D) /by H/ ?"
PO loves to grab little quotations from people, and then present them
without the surrounding context so that he can make out that people are
supporting his position when they are not. It's one of his ways of
trying to swat away legitimate criticisms of his arguments without
addressing them.
Anyway, FTR what I said was that AFAICT the x86utm simulation code does
indeed correctly simulate individual x86 instructions. For example if
it simulates a "push eax" instruction, the current (virtual) eax
register gets stored in virtual memory at the correct location on the
stack, and (virtual) esp register is correctly decremented, and
(virtual) eip is correctly incremented etc. etc.. That functionality
was not written by PO, and while it is tedious it is not "difficult"
code, and is all within . Also AFAICT PO's own x86utm "step
simulation" primitive appears to be correctly simulated and to nest
correctly. So if H simulates (say) 427 steps of D(D), AFAICT those 427
steps are simulated correctly.
I also made it clear that if after those 427 steps, H decides it's seen
enough, and stops simulating and returns "non-halting" then since D(D)
does in fact halt,
01 int D(ptr x) // pointer to int function
02 {
03 int Halt_Status = H(x, x);
04 if (Halt_Status)
05 HERE: goto HERE;
06 return Halt_Status;
07 }
That means that you are using the strawman deception and changing the
subject away from D correctly simulated by H that cannot possibly reach
its own line 06 and terminate normally in 1 to infinity steps of correct simulation.
Do you understand that int sum(int y, int x){return x + y;}
cannot correctly return 7 for sum(3,2) ???
A decider must report on its actual input and is not allowed
to report on anything else. The directly executed
*D(D) IS NOT A FREAKING INPUT TO H*
| Sysop: | Keyop |
|---|---|
| Location: | Huddersfield, West Yorkshire, UK |
| Users: | 715 |
| Nodes: | 16 (2 / 14) |
| Uptime: | 20:48:12 |
| Calls: | 12,104 |
| Calls today: | 4 |
| Files: | 15,004 |
| Messages: | 6,518,104 |