Liste des Groupes | Revenir à cl c |
On 25/05/2024 08:32, Fred. Zwarts wrote:I read and reread what is said several times to make sure that IOp 23.mei.2024 om 18:52 schreef olcott:Correct - as far as this specific thread is concerned. But PO's H and P are intended to be part of a larger argument supposedly refuting the standard halting problem (HP) proof (that no TM is a halt decider), e.g. as covered in the Linz book. PO has created an extract of that proof as a PDF that he sometimes links to.typedef int (*ptr)(); // ptr is pointer to int function in C>
00 int H(ptr p, ptr i);
01 int D(ptr p)
02 {
03 int Halt_Status = H(p, p);
04 if (Halt_Status)
05 HERE: goto HERE;
06 return Halt_Status;
07 }
08
09 int main()
10 {
11 H(D,D);
12 return 0;
13 }
>
The above template refers to an infinite set of H/D pairs where D is
correctly simulated by pure function H. This was done because many
reviewers used the shell game ploy to endlessly switch which H/D was
being referred to.
>
*Correct Simulation Defined*
This is provided because every reviewer had a different notion of
correct simulation that diverges from this notion.
>
In the above case a simulator is an x86 emulator that correctly emulates
at least one of the x86 instructions of D in the order specified by the
x86 instructions of D.
>
This may include correctly emulating the x86 instructions of H in the
order specified by the x86 instructions of H thus calling H(D,D) in
recursive simulation.
>
*Execution Trace*
Line 11: main() invokes H(D,D); H(D,D) simulates lines 01, 02, and 03 of
D. This invokes H(D,D) again to repeat the process in endless recursive
simulation.
>
Olcott's own words are that the simulation of D never reaches past line 03. So the lines following line 03 do not play a role and, therefore, can be removed without changing the claim. This leads to:
>
typedef int (*ptr)(); // ptr is pointer to int function in C
00 int H(ptr p, ptr i);
01 int D(ptr p)
02 {
03 return H(p, p);
04 }
05
06 int main()
07 {
08 H(D,D);
09 return 0;
10 }
>
Also note that PO's claim (in this specific thread) is that the *simulation* of D never reaches past line 03. That is not saying that the *computation* D(D) never proceeds past line 3 or that D(D) never halts. (This is important in the wider HP proof context. PO is deeply confused on this point.)
Les messages affichés proviennent d'usenet.