• Concise refutation of halting problem proofs V2 [ H(P,P)==0 is correct

    From olcott@21:1/5 to All on Sat Nov 6 12:30:20 2021
    XPost: comp.theory, sci.logic, sci.math

    // Simplified Linz Ĥ (Linz:1990:319)
    // Strachey(1965) CPL translated to C
    void P(u32 x)
    {
    if (H(x, x))
    HERE: goto HERE;
    }

    This is the assembly language of the above function after it has been translated by the Microsoft C compiler.

    _P()
    [00000c36](01) 55 push ebp
    [00000c37](02) 8bec mov ebp,esp
    [00000c39](03) 8b4508 mov eax,[ebp+08] // 2nd Param
    [00000c3c](01) 50 push eax
    [00000c3d](03) 8b4d08 mov ecx,[ebp+08] // 1st Param
    [00000c40](01) 51 push ecx
    [00000c41](05) e820fdffff call 00000966 // call H
    [00000c46](03) 83c408 add esp,+08
    [00000c49](02) 85c0 test eax,eax
    [00000c4b](02) 7402 jz 00000c4f
    [00000c4d](02) ebfe jmp 00000c4d
    [00000c4f](01) 5d pop ebp
    [00000c50](01) c3 ret
    Size in bytes:(0027) [00000c50]

    Begin Local Halt Decider Simulation at Machine Address:c36

    machine stack stack machine assembly
    address address data code language
    ======== ======== ======== ========= =============
    [00000c36][002117ca][002117ce] 55 push ebp
    [00000c37][002117ca][002117ce] 8bec mov ebp,esp
    [00000c39][002117ca][002117ce] 8b4508 mov eax,[ebp+08]
    [00000c3c][002117c6][00000c36] 50 push eax // push P
    [00000c3d][002117c6][00000c36] 8b4d08 mov ecx,[ebp+08]
    [00000c40][002117c2][00000c36] 51 push ecx // push P
    [00000c41][002117be][00000c46] e820fdffff call 00000966 // call H(P,P)

    [00000c36][0025c1f2][0025c1f6] 55 push ebp
    [00000c37][0025c1f2][0025c1f6] 8bec mov ebp,esp
    [00000c39][0025c1f2][0025c1f6] 8b4508 mov eax,[ebp+08]
    [00000c3c][0025c1ee][00000c36] 50 push eax // push P
    [00000c3d][0025c1ee][00000c36] 8b4d08 mov ecx,[ebp+08]
    [00000c40][0025c1ea][00000c36] 51 push ecx // push P
    [00000c41][0025c1e6][00000c46] e820fdffff call 00000966 // call H(P,P)

    The above conclusively proves that the pure simulation of the input to
    H(P,P) never reaches its final state.

    We don't even have to see that the first seven x86 instructions of P
    actually repeat. We can know by logical necessity that a pure simulation
    of the input to H(P,P) by H never reaches any final state of P on the
    basis of the x86 source code of P and the fact that the seventh
    instruction of P calls H.

    This conclusively proves that H(P,P)==0 is the correct return value for
    its input even if H never returns.

    If there is no simulating halt decider H in the universe that correctly
    decides that its input (P,P) never reaches its final state then the
    input (P,P) remains undecidable, none-the-less H(P,P)==0 is still correct.




    Strachey, C 1965. An impossible program The Computer Journal, Volume 7,
    Issue 4, January 1965, Page 313, https://doi.org/10.1093/comjnl/7.4.313

    Linz, Peter 1990. An Introduction to Formal Languages and Automata. Lexington/Toronto: D. C. Heath and Company. (318-320)

    Halting problem undecidability and infinitely nested simulation
    May 2021 PL Olcott

    https://www.researchgate.net/publication/351947980_Halting_problem_undecidability_and_infinitely_nested_simulation




    --
    Copyright 2021 Pete Olcott

    "Great spirits have always encountered violent opposition from mediocre
    minds." Einstein

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)