Sujet : Re: Every D(D) simulated by H presents non-halting behavior to H
De : richard (at) *nospam* damon-family.org (Richard Damon)
Groupes : comp.theory sci.logicDate : 05. May 2024, 19:22:54
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <v18f9e$5asq$4@i2pn2.org>
References : 1
User-Agent : Mozilla Thunderbird
On 5/5/24 1:02 PM, olcott wrote:
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.
Except that the pattern it uses is incorrect, since H(D,D) using this "pattern" says that D(D) will not halt, where, when main calls D(D), it does return/halt, so H is just incorrect.
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.
Nope, PROVEN WRONG AND THE PROOF IGNORED, PO have even claimed that it would be trivial to show the error in the proof, but hasn't done it, showing that he doesn't actually have an answer to the refutation, and thus by just repeating a statment that is know to at least potentially have a problem as if it was just clearly true is just a pathological lie.
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.
Except that the proof shows that you are not smart enough to think of some of the ways arround the problem (even though those methods were discussed a long time back)
*Shown by ordinary software engineering* When the directly executed
H(D,D) aborts simulating its input then all of the nested simulations
(if any) immediately totally stop running and no simulated H ever
returns any value to any simulated D.
Right, but that doesn't change the behavor of the correctly and completely simulated input or the direct execution of the program descirbed.
From this we can definitely know that every D(D) of the infinite set
of H/D pairs where this D(D) is simulated by the H that this D(D) calls
that this D(D) presents non-halting behavior to this H.
Nope. And the conclusion doesn't even follow from the incorrect premise.
*Termination Analyzer H is Not Fooled by Pathological Input D*
https://www.researchgate.net/publication/369971402_Termination_Analyzer_H_is_Not_Fooled_by_Pathological_Input_D
Just LIES.