Liste des Groupes | Revenir à c theory |
On 5/8/2024 3:46 AM, Mikko wrote:But that isn't the LINZ template that you claim to be following.On 2024-05-07 15:40:32 +0000, olcott said:The template specifies that D(D) is calling the same H(D,D)
>On 5/7/2024 6:18 AM, Richard Damon wrote:>On 5/7/24 3:30 AM, Mikko wrote:>On 2024-05-06 18:28:37 +0000, olcott said:>
>On 5/6/2024 11:19 AM, Mikko wrote:>On 2024-05-05 17:02:25 +0000, olcott said:>
>The x86utm operating system: https://github.com/plolcott/x86utm enables>
one C function to execute another C function in debug step mode.
Simulating Termination analyzer H simulates the x86 machine code of its
input (using libx86emu) in debug step mode until it correctly matches a
correct non-halting behavior pattern proving that its input will never
stop running unless aborted.
>
Can D correctly simulated by H terminate normally?
00 int H(ptr x, ptr x) // ptr is pointer to int function
01 int D(ptr x)
02 {
03 int Halt_Status = H(x, x);
04 if (Halt_Status)
05 HERE: goto HERE;
06 return Halt_Status;
07 }
08
09 int main()
10 {
11 H(D,D);
12 }
>
*Execution Trace*
Line 11: main() invokes H(D,D);
>
*keeps repeating* (unless aborted)
Line 03: 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 03.
>
The above execution trace proves that (for every H/D pair of the
infinite set of H/D pairs) each D(D) simulated by the H that this D(D)
calls cannot possibly reach past its own line 03.
When you say "every H/D pair" you should specify which set of pairs
you are talking about. As you don't, your words don't mean anything.
>
Every H/D pair in the universe where D(D) is simulated by the
same H(D,D) that D(D) calls. This involves 1 to ∞ steps of D
and also includes zero to ∞ recursive simulations where H
H simulates itself simulating D(D).
"In the universe" is not a set. In typical set theories like ZFC there
is no universal set.
This template defines an infinite set of finite string H/D pairs where each D(D) that is simulated by H(D,D) also calls this same H(D,D).
No, it does not. D does not know which H simulates it or even whther is
simulated at all. D calls the one whose name is H. The association of D
with the H of the same pair, if desired, must be done outside of D.
>
that invokes it. All instances conform to the template.
I have one concrete instance as fully operational code.
https://github.com/plolcott/x86utm/blob/master/Halt7.c
line 555 u32 HH(ptr P, ptr I) its input in on
line 932 int DD(int (*x)())
00 int H(ptr x, ptr x) // ptr is pointer to int function
01 int D(ptr x)
02 {
03 int Halt_Status = H(x, x);
04 if (Halt_Status)
05 HERE: goto HERE;
06 return Halt_Status;
07 }
08
09 int main()
10 {
11 H(D,D);
12 }
The above template specifies an infinite set of finite string H/D pairs
where each D(D) that is simulated by H(D,D) also calls this same H(D,D).
I have one concrete fully operational instance of H/D pairs so
we know that more than zero of them exist.
I can adapt this one concrete instance to be the 7 shown below and
we can extrapolate the trend from there:
1st element of H/D pairs 1 step of D is simulated by H
2nd element of H/D pairs 2 steps of D are simulated by H
3rd element of H/D pairs 3 steps of D are simulated by H
4th element of H/D pairs 4 steps of D are simulated by H
this begins the first recursive simulation at line 01
5th element of H/D pairs 5 steps of D are simulated by
next step of the first recursive simulation at line 02
6th element of H/D pairs 6 steps of D are simulated by
last step of the first recursive simulation at line 03
7th element of H/D pairs 7 steps of D are simulated by H
this begins the second recursive simulation at line 01
8th element of H/D pairs 8 steps of D are simulated by H
next step of the second recursive simulation at line 02
9th element of H/D pairs 9 steps of D are simulated by H
this ends the second recursive simulation before line 03
Les messages affichés proviennent d'usenet.