Sujet : Re: Every D(D) simulated by H presents non-halting behavior to H ...
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theoryDate : 08. May 2024, 18:11:33
Autres entêtes
Organisation : -
Message-ID : <v1g87l$256m$1@dont-email.me>
References : 1 2 3 4 5 6 7 8
User-Agent : Unison/2.2
On 2024-05-08 12:57:07 +0000, olcott said:
On 5/8/2024 3:46 AM, Mikko wrote:
On 2024-05-07 15:40:32 +0000, olcott said:
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.
The template specifies that D(D) is calling the same H(D,D)
that invokes it. All instances conform to the template.
No, it does not. The "H" in the template is a fixed "H" that does
not chage to "main" when
int main(void) {
D(D);
return 0;
}
is executed.
-- Mikko