• Re: Olcott's H(P,P)==0 is correct

    From olcott@21:1/5 to Andy Walker on Wed Jun 8 09:28:33 2022
    XPost: comp.theory, sci.logic, sci.math

    On 6/8/2022 9:08 AM, Andy Walker wrote:
    On 08/06/2022 14:31, olcott wrote:
    On 6/8/2022 8:27 AM, Malcolm McLean wrote:
    You're drawing a distinction between "P(P)" and "the input P,P". I don't >>> understand it and I suspect you don't either.
    It is an easily verified fact that the correctly simulated input to
    H(P,P) never halts and P(P) does halt.

        That seems to be as succinct a statement as you have achieved over these many years and thousands of articles, showing that your "H" is not in fact a correct simulator.

        I suggest you correct "H" before continuing your quest.


    Yet the actual fact of the actual execution traces conclusively proves
    that the simulation is correct. Everyone here seems to think that their incorrect opinion supersedes the actual facts. How nuts is that?



    --
    Copyright 2022 Pete Olcott

    "Talent hits a target no one else can hit;
    Genius hits a target no one else can see."
    Arthur Schopenhauer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From olcott@21:1/5 to Andy Walker on Wed Jun 8 10:31:52 2022
    XPost: comp.theory, sci.logic, sci.math

    On 6/8/2022 9:08 AM, Andy Walker wrote:
    On 08/06/2022 14:31, olcott wrote:
    On 6/8/2022 8:27 AM, Malcolm McLean wrote:
    You're drawing a distinction between "P(P)" and "the input P,P". I don't >>> understand it and I suspect you don't either.
    It is an easily verified fact that the correctly simulated input to
    H(P,P) never halts and P(P) does halt.

        That seems to be as succinct a statement as you have achieved over these many years and thousands of articles, showing that your "H" is not in fact a correct simulator.

        I suggest you correct "H" before continuing your quest.


    Everyone here seems to believe that the x86 language itself is incorrect
    and that P should magically jump to its "ret" instruction even though
    that is not what is specified by the x86 source-code of P.

    This leads me to believe that these people are simply despicable lying
    bastards because no one would be stupid enough to actually disagree with
    the x86 language.

    void P(u32 x)
    {
    if (H(x, x))
    HERE: goto HERE;
    return;
    }

    int main()
    {
    P(P);
    }

    _P()
    [000012e7](01) 55 push ebp
    [000012e8](02) 8bec mov ebp,esp
    [000012ea](03) 8b4508 mov eax,[ebp+08]
    [000012ed](01) 50 push eax
    [000012ee](03) 8b4d08 mov ecx,[ebp+08]
    [000012f1](01) 51 push ecx
    [000012f2](05) e880feffff call 00001177
    [000012f7](03) 83c408 add esp,+08
    [000012fa](02) 85c0 test eax,eax
    [000012fc](02) 7402 jz 00001300
    [000012fe](02) ebfe jmp 000012fe
    [00001300](01) 5d pop ebp
    [00001301](01) c3 ret
    Size in bytes:(0027) [00001301]

    It is completely obvious that when H(P,P) correctly emulates its input
    that it must emulate the first seven instructions of P. Because the
    seventh instruction of P repeats this process we can know with complete certainty that the emulated P never reaches its final “ret” instruction, thus never halts.


    --
    Copyright 2022 Pete Olcott

    "Talent hits a target no one else can hit;
    Genius hits a target no one else can see."
    Arthur Schopenhauer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From olcott@21:1/5 to wij on Wed Jun 8 10:53:14 2022
    XPost: comp.theory, sci.logic, sci.math

    On 6/8/2022 10:37 AM, wij wrote:
    On Wednesday, 8 June 2022 at 08:43:00 UTC+8, Mr Flibble wrote:
    Hi,

    From discussion with Olcott in comp.lang.c++ I have determined that
    his so called refutation of the HP proofs is based around the
    behaviour of his simulation-based decider, H:

    void Q(u32 x)
    {
    if (H(x, x))
    FUBAR();
    return;
    }

    int main()
    {
    Output("Input_Halts = ", H((u32)Q, (u32)Q));
    }

    He asserts H(Q,Q)=0 based on a nested simulation being detected (i.e. Q
    invoking H) irregardless of whether FUBAR halts or not.

    If FUBAR halts H gives the wrong answer.

    He claims H(Q,Q)=0 as it gets stuck in a recursive (nested) simulation
    however that wouldn't be the case for non-simulating decider for which
    there would be no such recursion.

    Can we finally put this to bed and change the fucking topic?

    /Flibble

    +-----------------------------------------------------------------+
    | The HP proof has nothing to do with how the 'H' is constructed. | +-----------------------------------------------------------------+
    Many such liar's-paradox-like examples are for easy comprehension (for educational purpose).
    The real 'H' inside P is an algorithm computationally equivalent to 'H' (so, no
    any 'call' is there, and the pattern matching tech. is very difficult, by now to say.
    And, this 'H' is also allowed given by some super intelligent god.... whatever).


    It is the pathological self reference(Olcott 2004) relationship between
    H and P that has previously been considered to make P undecidable for H.

    For any program H that might determine if programs halt, a
    "pathological"
    program P, called with some input, can pass its own source and its
    input to
    H and then specifically do the opposite of what H predicts P will
    do. No H
    can exist that handles this case. https://en.wikipedia.org/wiki/Halting_problem

    +------------------------------------------------+
    | olcott's brain is incapable of logic function. |
    | (other kind of functions seem quite excellent) | +------------------------------------------------+
    It should be safe to say any concept involves logical operation, olcott cannot
    make it formally correct (he relies on his "language's logic").
    For example, I doubt he can handle several lines of inter-connected codes. ...
    All should be fine... except olcott now insists "H(P,P)==0" is correct while there is no definition of H shown.

    I am not claiming that H(P,P) correctly determines the halt status of
    its input. I am claiming that non-halting is the correct halt status of
    its input.

    If you have to reread this 10,000 times to notice what the difference is
    then do that.

    To determine the correct halt status for the input to H(P,P) we don't
    need to know anything about H besides that fact H uses an x86 emulator
    to emulate its input.

    void P(u32 x)
    {
    if (H(x, x))
    HERE: goto HERE;
    return;
    }

    int main()
    {
    P(P);
    }

    _P()
    [000012e7](01) 55 push ebp
    [000012e8](02) 8bec mov ebp,esp
    [000012ea](03) 8b4508 mov eax,[ebp+08]
    [000012ed](01) 50 push eax
    [000012ee](03) 8b4d08 mov ecx,[ebp+08]
    [000012f1](01) 51 push ecx
    [000012f2](05) e880feffff call 00001177
    [000012f7](03) 83c408 add esp,+08
    [000012fa](02) 85c0 test eax,eax
    [000012fc](02) 7402 jz 00001300
    [000012fe](02) ebfe jmp 000012fe
    [00001300](01) 5d pop ebp
    [00001301](01) c3 ret
    Size in bytes:(0027) [00001301]

    It is completely obvious that when H(P,P) correctly emulates its input
    that it must emulate the first seven instructions of P. Because the
    seventh instruction of P repeats this process we can know with complete certainty that the emulated P never reaches its final “ret” instruction, thus never halts.




    --
    Copyright 2022 Pete Olcott

    "Talent hits a target no one else can hit;
    Genius hits a target no one else can see."
    Arthur Schopenhauer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Wed Jun 8 19:34:06 2022
    XPost: comp.theory, sci.logic, sci.math

    On 6/8/22 11:31 AM, olcott wrote:
    On 6/8/2022 9:08 AM, Andy Walker wrote:
    On 08/06/2022 14:31, olcott wrote:
    On 6/8/2022 8:27 AM, Malcolm McLean wrote:
    You're drawing a distinction between "P(P)" and "the input P,P". I
    don't
    understand it and I suspect you don't either.
    It is an easily verified fact that the correctly simulated input to
    H(P,P) never halts and P(P) does halt.

         That seems to be as succinct a statement as you have achieved over >> these many years and thousands of articles, showing that your "H" is
    not in
    fact a correct simulator.

         I suggest you correct "H" before continuing your quest.


    Everyone here seems to believe that the x86 language itself is incorrect
    and that P should magically jump to its "ret" instruction even though
    that is not what is specified by the x86 source-code of P.

    No, the x86 language says that a call H instrucion will run the code at
    the begining of the subroutine H.


    This leads me to believe that these people are simply despicable lying bastards because no one would be stupid enough to actually disagree with
    the x86 language.

    No, YOU are the lying bastard as YOU are making the incorrect claim.


    void P(u32 x)
    {
      if (H(x, x))
        HERE: goto HERE;
      return;
    }

    int main()
    {
      P(P);
    }

    _P()
    [000012e7](01)  55              push ebp
    [000012e8](02)  8bec            mov ebp,esp
    [000012ea](03)  8b4508          mov eax,[ebp+08]
    [000012ed](01)  50              push eax
    [000012ee](03)  8b4d08          mov ecx,[ebp+08]
    [000012f1](01)  51              push ecx
    [000012f2](05)  e880feffff      call 00001177
    [000012f7](03)  83c408          add esp,+08
    [000012fa](02)  85c0            test eax,eax
    [000012fc](02)  7402            jz 00001300
    [000012fe](02)  ebfe            jmp 000012fe
    [00001300](01)  5d              pop ebp
    [00001301](01)  c3              ret
    Size in bytes:(0027) [00001301]

    It is completely obvious that when H(P,P) correctly emulates its input
    that it must emulate the first seven instructions of P. Because the
    seventh instruction of P repeats this process we can know with complete certainty that the emulated P never reaches its final “ret” instruction, thus never halts.


    Just as it is competely obvious that when you call your dog a cat you
    can show that cats bark.

    H can NOT completely and correctly emulate the input to H(P,P) and at
    the same time return 0.

    Thus, your premise is dependent on Fairy Dust Powered Unicorn Magic to
    achive its goal.

    False Premise -> UNSOUND LOGIC.

    FAIL.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Wed Jun 8 19:37:28 2022
    XPost: comp.theory, sci.logic, sci.math

    On 6/8/22 11:53 AM, olcott wrote:
    On 6/8/2022 10:37 AM, wij wrote:
    On Wednesday, 8 June 2022 at 08:43:00 UTC+8, Mr Flibble wrote:
    Hi,

     From discussion with Olcott in comp.lang.c++ I have determined that
    his so called refutation of the HP proofs is based around the
    behaviour of his simulation-based decider, H:

    void Q(u32 x)
    {
    if (H(x, x))
    FUBAR();
    return;
    }

    int main()
    {
    Output("Input_Halts = ", H((u32)Q, (u32)Q));
    }

    He asserts H(Q,Q)=0 based on a nested simulation being detected (i.e. Q
    invoking H) irregardless of whether FUBAR halts or not.

    If FUBAR halts H gives the wrong answer.

    He claims H(Q,Q)=0 as it gets stuck in a recursive (nested) simulation
    however that wouldn't be the case for non-simulating decider for which
    there would be no such recursion.

    Can we finally put this to bed and change the fucking topic?

    /Flibble

    +-----------------------------------------------------------------+
    | The HP proof has nothing to do with how the 'H' is constructed. |
    +-----------------------------------------------------------------+
    Many such liar's-paradox-like examples are for easy comprehension (for
    educational purpose).
    The real 'H' inside P is an algorithm computationally equivalent to
    'H' (so, no
    any 'call' is there, and the pattern matching tech. is very difficult,
    by now to say.
    And, this 'H' is also allowed given by some super intelligent god....
    whatever).


    It is the pathological self reference(Olcott 2004) relationship between
    H and P that has previously been considered to make P undecidable for H.

         For any program H that might determine if programs halt, a "pathological"
         program P, called with some input, can pass its own source and its input to
         H and then specifically do the opposite of what H predicts P will do. No H
         can exist that handles this case. https://en.wikipedia.org/wiki/Halting_problem

    +------------------------------------------------+
    | olcott's brain is incapable of logic function. |
    | (other kind of functions seem quite excellent) |
    +------------------------------------------------+
    It should be safe to say any concept involves logical operation,
    olcott cannot
    make it formally correct (he relies on his "language's logic").
    For example, I doubt he can handle several lines of inter-connected
    codes.
    ...
    All should be fine... except olcott now insists "H(P,P)==0" is correct
    while
    there is no definition of H shown.

    I am not claiming that H(P,P) correctly determines the halt status of
    its input. I am claiming that non-halting is the correct halt status of
    its input.


    Ok, so if you are JUST claiming that Non-Halting is the right answer,
    but H doesn't actually return that answer, you can be correct on that.

    P(P) only halts if H(P,P) return 0, so if H(P,P) doesn't return 0 then
    P(P) is non-halting, but H is NOT then the counter example you claim it is.

    If you have to reread this 10,000 times to notice what the difference is
    then do that.

    To determine the correct halt status for the input to H(P,P) we don't
    need to know anything about H besides that fact H uses an x86 emulator
    to emulate its input.

    void P(u32 x)
    {
      if (H(x, x))
        HERE: goto HERE;
      return;
    }

    int main()
    {
      P(P);
    }

    _P()
    [000012e7](01)  55              push ebp
    [000012e8](02)  8bec            mov ebp,esp
    [000012ea](03)  8b4508          mov eax,[ebp+08]
    [000012ed](01)  50              push eax
    [000012ee](03)  8b4d08          mov ecx,[ebp+08]
    [000012f1](01)  51              push ecx
    [000012f2](05)  e880feffff      call 00001177
    [000012f7](03)  83c408          add esp,+08
    [000012fa](02)  85c0            test eax,eax
    [000012fc](02)  7402            jz 00001300
    [000012fe](02)  ebfe            jmp 000012fe
    [00001300](01)  5d              pop ebp
    [00001301](01)  c3              ret
    Size in bytes:(0027) [00001301]

    It is completely obvious that when H(P,P) correctly emulates its input
    that it must emulate the first seven instructions of P. Because the
    seventh instruction of P repeats this process we can know with complete certainty that the emulated P never reaches its final “ret” instruction, thus never halts.


    Again, if you claim is just that P(P) can be non-halting, that can be
    shown, but ONLY of H(P,P) does NOT return 0.

    But then, H isn't the needed counter example for that Halting Problem.

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