• Re: H(P,P)==0 is correct for every simulating halt decider H --- V2 [ i

    From olcott@21:1/5 to Ben Bacarisse on Tue Nov 2 10:57:06 2021
    XPost: comp.theory, sci.logic, sci.math

    On 11/2/2021 10:10 AM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    On 11/2/2021 8:19 AM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    On 11/1/2021 5:38 PM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    || Here's the key question: do you still assert that H(P,P) == false is >>>>>>> || the "correct" answer even though P(P) halts?
    To which you replied (but have for some reason cut from this post)

    | Yes that is the correct answer even though P(P) halts.

    H(P,P) reports that its input never halts.
    H(P,P) should report on whether P(P) halts. Stating that the wrong
    answer is the right one is not how mathematics is done.

    H1(P,P) is computationally equivalent to P(P).
    H(P,P) is not computationally equivalent to P(P).
    H(P,P) == false is wrong if P(P) halts.

    The input to H(P,P) really does never halt this has been conclusively
    proven.

    P(P) halts. H(P,P) == false is the wrong answer if P(P) halts.

    That you keep ignoring the verified fact that the input to H(P,P) has
    been totally proven to never reaches its final state sure seems to be
    an irrational break from reality to me.

    You want me to get sucked into discussing your other errors, but really
    only one counts: H(P,P) == false is the wrong answer if P(P) halts.


    As long as H(P,P)==0 is correct none of my other "errors" are of any consequence what-so-ever. I have conclusively proved that the input to
    H(P,P) cannot possibly ever reach its final state for every possible
    encoding of simulating halt decider H.


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

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

    _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]

    machine stack stack machine assembly
    address address data code language
    ======== ======== ======== ========= =============
    Begin Local Halt Decider Simulation at Machine Address:c36 [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)

    There are only two possible behaviors for every possible encoding of
    simulating halt decider H and only one of these behaviors is correct:

    (1) Continue to act as a pure simulator that never aborts the simulation
    of its input. This causes the first seven instructions of P to
    infinitely repeat. (You might not know the x86 language well enough to
    see this).

    (2) Abort the simulation of P at one of the machine addresses of P
    between 0xc36 to 0xc41 at some point in the simulation of P.

    Those are the only two possibilities for every possible encoding of
    simulating halt decider H.

    Because we applied categorically exhaustive reasoning to H(P,P) we know
    that there are no gaps in this reasoning. Every possible encoding of
    simulating halt decider H either aborts its simulation of its input or
    fails to abort the simulation of its input. There is no third option.

    Since for every possible encoding of simulating halt decider H for every possible abort versus not abort behavior of H(P,P) the input never
    reaches its final state we know know with logically justified complete certainty that the input to H(P,P) never halts thus H(P,P)==0 is correct.

    The fact that correct logic contradicts your intuition merely proves
    that your intuition is incorrect.


    --
    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)
  • From =?UTF-8?B?QW5kcsOpIEcuIElzYWFr?=@21:1/5 to olcott on Tue Nov 2 14:38:52 2021
    XPost: comp.theory, sci.logic, sci.math

    On 2021-11-02 14:24, olcott wrote:
    On 11/2/2021 3:04 PM, André G. Isaak wrote:
    On 2021-11-02 11:32, olcott wrote:
    On 11/2/2021 12:25 PM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    On 11/2/2021 11:15 AM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    As long as H(P,P)==0 is correct none of my other "errors" are of any >>>>>>> consequence what-so-ever.

    That's why I said one error really count: H(P,P)==0 is not correct >>>>>> because P(P) halts.  How is it that you can keep ignoring this?

    It is a verified fact that for every possible (abort / do not abort) >>>>> behavior of every possible encoding of simulating halt decider H that >>>>> the input to H(P,P) never reaches its final state.

    H(P,P)==0 is wrong because P(P) halts.  You keep trying to explain some >>>> other decision problem that you think H is getting right.  For the
    halting problem -- the one you've been "studying" for more than 14
    years
    -- H(P,P)==0 is only correct if P(P) does not halt and you've told us
    that is does.

    It is like I am telling there are no integers between 1 and 2 and you >>>>> just don't believe it.

    No, its like you are tell me that H(P,P)==false is the right answer
    from
    a halt decider when P(P) is a halting computation.  In fact it's very >>>> much like that.  Almost exactly like that in fact.

    It seems to be intuitively true that H(P,P) should report that its
    input halts because P(P) halts.

    No.  I have no intuition about what you even mean because inputs don't >>>> do anything.  What is true by definition (no intuition required) is
    that
    H(P,P) should be false only if P(P) does not halt.

    This intuition

    I don't have that intuition.  What "the input" does is meaningless.

    Every halt decider is ONLY tasked with determining the behavior of
    its input. That you say otherwise is very stupid.

    Why don't you go back and reread definition of Halt Decider given in
    12.1 in Linz.

    Let w_M be a string that describes a Turing machine M, and let w be a
    string in M’s alphabet. A solution of the halting problem is a Turing
    machine H, which for any w_M and w performs the computation:

    q_0 w_M w ⊢* x_1 q_y x_2 if M applied to w halts, and
    q_0 w_M w ⊢* x_1 q_n x_2 if M applied to w does not halt

    The input to this machine is w_M plus the input string w. The
    conditions specified to the two final states make no mention
    whatsoever of w_M. They talk about *M* applied to w.


    By saying it that way people can be confused (the same way that Linz

    Saying it that way is how halt decider is *defined*. Not just by Linz,
    but by *everyone* who has ever discussed this problem.

    If you want to discuss the halting problem, this is the definition you
    must use.

    himself was confused) into believing that the question is about whether
    or not the halt decider itself at Ĥ.qx halts.

    (A) There is no halt decider at Ĥ.qx
    (B) There is nothing to get confused about. The input to the submachine
    at Ĥ.qx is the string ⟨Ĥ⟩ ⟨Ĥ⟩. Any decision made by Ĥ.qx (which is not a
    halting decision) makes a decision about Ĥ applied to ⟨Ĥ⟩.

    Ĥ, Ĥ.qx, and w_Ĥ (or ⟨Ĥ⟩ to use your notion) are three different things.
    Why would anyone confuse w_Ĥ with Ĥ.qx?

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.qx ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qy ∞
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.qx ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn

    The behavior of the input to the halt decider after Ĥ.qx ⟨Ĥ⟩ ⟨Ĥ⟩ has nothing to do with whether or not the halt decider itself halts.

    Nor does the definition given above claim that it does. Any comfusion
    here is purely confusion on your part.

    André


    --
    To email remove 'invalid' & replace 'gm' with well known Google mail
    service.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From olcott@21:1/5 to All on Tue Nov 2 15:43:40 2021
    XPost: comp.theory, sci.logic, sci.math

    On 11/2/2021 3:38 PM, André G. Isaak wrote:
    On 2021-11-02 14:24, olcott wrote:
    On 11/2/2021 3:04 PM, André G. Isaak wrote:
    On 2021-11-02 11:32, olcott wrote:
    On 11/2/2021 12:25 PM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    On 11/2/2021 11:15 AM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    As long as H(P,P)==0 is correct none of my other "errors" are of >>>>>>>> any
    consequence what-so-ever.

    That's why I said one error really count: H(P,P)==0 is not correct >>>>>>> because P(P) halts.  How is it that you can keep ignoring this?

    It is a verified fact that for every possible (abort / do not abort) >>>>>> behavior of every possible encoding of simulating halt decider H that >>>>>> the input to H(P,P) never reaches its final state.

    H(P,P)==0 is wrong because P(P) halts.  You keep trying to explain
    some
    other decision problem that you think H is getting right.  For the
    halting problem -- the one you've been "studying" for more than 14
    years
    -- H(P,P)==0 is only correct if P(P) does not halt and you've told us >>>>> that is does.

    It is like I am telling there are no integers between 1 and 2 and you >>>>>> just don't believe it.

    No, its like you are tell me that H(P,P)==false is the right answer
    from
    a halt decider when P(P) is a halting computation.  In fact it's very >>>>> much like that.  Almost exactly like that in fact.

    It seems to be intuitively true that H(P,P) should report that its >>>>>> input halts because P(P) halts.

    No.  I have no intuition about what you even mean because inputs don't >>>>> do anything.  What is true by definition (no intuition required) is >>>>> that
    H(P,P) should be false only if P(P) does not halt.

    This intuition

    I don't have that intuition.  What "the input" does is meaningless.

    Every halt decider is ONLY tasked with determining the behavior of
    its input. That you say otherwise is very stupid.

    Why don't you go back and reread definition of Halt Decider given in
    12.1 in Linz.

    Let w_M be a string that describes a Turing machine M, and let w be a
    string in M’s alphabet. A solution of the halting problem is a Turing
    machine H, which for any w_M and w performs the computation:

    q_0 w_M w ⊢* x_1 q_y x_2 if M applied to w halts, and
    q_0 w_M w ⊢* x_1 q_n x_2 if M applied to w does not halt

    The input to this machine is w_M plus the input string w. The
    conditions specified to the two final states make no mention
    whatsoever of w_M. They talk about *M* applied to w.


    By saying it that way people can be confused (the same way that Linz

    Saying it that way is how halt decider is *defined*. Not just by Linz,
    but by *everyone* who has ever discussed this problem.

    If you want to discuss the halting problem, this is the definition you
    must use.


    If everyone "defines" that the halt decider is wrong when it correctly
    reports what the actual behavior of its actual input would be then
    everyone (besides me) is wrong.



    --
    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)
  • From olcott@21:1/5 to All on Tue Nov 2 15:24:17 2021
    XPost: comp.theory, sci.logic, sci.math

    On 11/2/2021 3:04 PM, André G. Isaak wrote:
    On 2021-11-02 11:32, olcott wrote:
    On 11/2/2021 12:25 PM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    On 11/2/2021 11:15 AM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    As long as H(P,P)==0 is correct none of my other "errors" are of any >>>>>> consequence what-so-ever.

    That's why I said one error really count: H(P,P)==0 is not correct
    because P(P) halts.  How is it that you can keep ignoring this?

    It is a verified fact that for every possible (abort / do not abort)
    behavior of every possible encoding of simulating halt decider H that
    the input to H(P,P) never reaches its final state.

    H(P,P)==0 is wrong because P(P) halts.  You keep trying to explain some >>> other decision problem that you think H is getting right.  For the
    halting problem -- the one you've been "studying" for more than 14 years >>> -- H(P,P)==0 is only correct if P(P) does not halt and you've told us
    that is does.

    It is like I am telling there are no integers between 1 and 2 and you
    just don't believe it.

    No, its like you are tell me that H(P,P)==false is the right answer from >>> a halt decider when P(P) is a halting computation.  In fact it's very
    much like that.  Almost exactly like that in fact.

    It seems to be intuitively true that H(P,P) should report that its
    input halts because P(P) halts.

    No.  I have no intuition about what you even mean because inputs don't
    do anything.  What is true by definition (no intuition required) is that >>> H(P,P) should be false only if P(P) does not halt.

    This intuition

    I don't have that intuition.  What "the input" does is meaningless.

    Every halt decider is ONLY tasked with determining the behavior of its
    input. That you say otherwise is very stupid.

    Why don't you go back and reread definition of Halt Decider given in
    12.1 in Linz.

    Let w_M be a string that describes a Turing machine M, and let w be a
    string in M’s alphabet. A solution of the halting problem is a Turing machine H, which for any w_M and w performs the computation:

    q_0 w_M w ⊢* x_1 q_y x_2 if M applied to w halts, and
    q_0 w_M w ⊢* x_1 q_n x_2 if M applied to w does not halt

    The input to this machine is w_M plus the input string w. The conditions specified to the two final states make no mention whatsoever of w_M.
    They talk about *M* applied to w.


    By saying it that way people can be confused (the same way that Linz
    himself was confused) into believing that the question is about whether
    or not the halt decider itself at Ĥ.qx halts.

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.qx ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qy ∞
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.qx ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn

    The behavior of the input to the halt decider after Ĥ.qx ⟨Ĥ⟩ ⟨Ĥ⟩
    has nothing to do with whether or not the halt decider itself halts.

    The fact that the input to H(P,P) never reaches its final state under
    both aborting and not aborting behaviors for every possible encoding of simulating halt decider H conclusively proves that the input to H(P,P)
    never halts and H(P,P)==0 is correct.

    Shown on pages 4 and 5 of this paper:
    Halting problem undecidability and infinitely nested simulation
    May 2021 PL Olcott

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


    The key part to pay attention to it the execution trace of the first
    seven lines of the x86 code for P:

    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)


    --
    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)
  • From olcott@21:1/5 to All on Tue Nov 2 16:41:01 2021
    XPost: comp.theory, sci.logic, sci.math

    On 11/2/2021 4:05 PM, André G. Isaak wrote:
    On 2021-11-02 14:43, olcott wrote:

    If everyone "defines" that the halt decider is wrong when it correctly
    reports what the actual behavior of its actual input would be then
    everyone (besides me) is wrong.

    The definition tells you what a halt decider *is*. It doesn't define it
    as 'wrong'. It defines what question it is supposed to answer.

    The input to a halt decider is a string. Strings don't *have* halting behaviour so your position above is entirely incoherent.


    In computability theory, the halting problem is the problem of
    determining, from a description of an arbitrary computer program and an
    input, whether the program will finish running, or continue to run
    forever. https://en.wikipedia.org/wiki/Halting_problem

    A halt decider only need answer whether or not the correct simulation of
    its input would ever reach a final state of this input by a simulating
    halt decider.

    In every case where the answer is "no" every encoding of any simulating
    halt decider would correctly decide the halt status of this input as
    "not halting".


    The string w_Ĥ w_Ĥ describes the computation where the Turing Machine Ĥ
    is applied to the string w_Ĥ. That computation halts. And it is the behaviour of that computation that a halting decider must report when
    given w_Ĥ w_Ĥ as an input BECAUSE THAT'S WHAT A HALT DECIDER IS DEFINED
    TO DO.

    Your claim that the "input" doesn't halt even though the actual machine
    does simply illustrates that you are clueless about what the actual
    halting problem is.

    André



    --
    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)
  • From olcott@21:1/5 to All on Tue Nov 2 17:51:51 2021
    XPost: comp.theory, sci.logic, sci.math

    On 11/2/2021 4:49 PM, André G. Isaak wrote:
    On 2021-11-02 15:41, olcott wrote:
    On 11/2/2021 4:05 PM, André G. Isaak wrote:
    On 2021-11-02 14:43, olcott wrote:

    If everyone "defines" that the halt decider is wrong when it
    correctly reports what the actual behavior of its actual input would
    be then everyone (besides me) is wrong.

    The definition tells you what a halt decider *is*. It doesn't define
    it as 'wrong'. It defines what question it is supposed to answer.

    The input to a halt decider is a string. Strings don't *have* halting
    behaviour so your position above is entirely incoherent.


    In computability theory, the halting problem is the problem of
    determining, from a description of an arbitrary computer program and
    an input, whether the program will finish running, or continue to run
    forever. https://en.wikipedia.org/wiki/Halting_problem

    The definition of 'halting problem' is what it is.

    Note that the above definition doesn't make any mentions of
    'simulations' just as the more formal definition used by Linz's does not.

    A halt decider only need answer whether or not the correct simulation
    of its input would ever reach a final state of this input by a
    simulating halt decider.

    A 'correct simulation', presumably, would be one that acts identically
    to the actual TM being simulated. That means that if the actual TM halts
    the simulation also must halt. Which means that your simulation is not a 'correct simulation'.


    There are no freaking presumptions about it. As long as the simulation
    of P(P) matches its x86 source code then the simulation is correct.

    If you don't agree with this then you are either:
    (a) A liar
    (b) Stupid
    (c) Clueless

    _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]

    A correct simulation of P on input P can be empirically validated by the simulation of the first seven x86 instruction of P.

    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)

    Because the simulation of P(P) matches its x86 source-code it is
    necessarily correct and impossibly incorrect.


    The only possibility for every encoding of simulating halt decider H is:

    (a) H fails to abort its simulation (and thus fails to be a decider) and
    the first seven instructions of P infinitely repeat in which case P
    never reaches its final state of 0xc50.

    (b) H aborts its simulation of P at some address of P between 0xc36 and
    0xc41 in which case the input P fails to every reach its final state of
    0xc50.

    One the basis of the correct simulation of the x86 source-code of P(P)
    we can see that it is utterly impossible for P to ever reach its final
    state of 0xc50.

    If a simulation can have a different behaviour then the actual program,
    then that simulation can't be used to answer the question which a halt decider is supposed to answer.

    You really ought to consider a different line of 'work'. Have you
    thought of maybe inventing a perpetual motion machine or of squaring the circle? Maybe you'd have more luck with those.

    André



    --
    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)
  • From olcott@21:1/5 to All on Tue Nov 2 20:32:56 2021
    XPost: comp.theory, sci.logic

    On 11/2/2021 8:07 PM, André G. Isaak wrote:
    On 2021-11-02 18:49, olcott wrote:
    On 11/2/2021 6:31 PM, André G. Isaak wrote:
    On 2021-11-02 16:51, olcott wrote:
    On 11/2/2021 4:49 PM, André G. Isaak wrote:
    On 2021-11-02 15:41, olcott wrote:
    On 11/2/2021 4:05 PM, André G. Isaak wrote:
    On 2021-11-02 14:43, olcott wrote:

    If everyone "defines" that the halt decider is wrong when it
    correctly reports what the actual behavior of its actual input >>>>>>>> would be then everyone (besides me) is wrong.

    The definition tells you what a halt decider *is*. It doesn't
    define it as 'wrong'. It defines what question it is supposed to >>>>>>> answer.

    The input to a halt decider is a string. Strings don't *have*
    halting behaviour so your position above is entirely incoherent. >>>>>>>

    In computability theory, the halting problem is the problem of
    determining, from a description of an arbitrary computer program
    and an input, whether the program will finish running, or continue >>>>>> to run forever. https://en.wikipedia.org/wiki/Halting_problem

    The definition of 'halting problem' is what it is.

    Note that the above definition doesn't make any mentions of
    'simulations' just as the more formal definition used by Linz's
    does not.

    A halt decider only need answer whether or not the correct
    simulation of its input would ever reach a final state of this
    input by a simulating halt decider.

    A 'correct simulation', presumably, would be one that acts
    identically to the actual TM being simulated. That means that if
    the actual TM halts the simulation also must halt. Which means that
    your simulation is not a 'correct simulation'.


    There are no freaking presumptions about it. As long as the
    simulation of P(P) matches its x86 source code then the simulation
    is correct.

    I have no idea what it means for a simulation of P(P) to "match its
    x86 source code".


    When the simulator executes the instructions at
    0xc36, 0xc37, 0xc39, 0xc3c, 0xc3d, 0xc40, 0xc41
    of the x86 source code of P, then the simulator
    correctly simulated P(P).

    No. A simulator only 'correctly simulates' a machine when it accurately duplicates *all* of the behaviour of that machine. Part of the behaviour
    of P(P) is that it halts.


    That is a stupid thing to say. The x86 emulator correctly emulates the
    x86 instructions of P iff it emulates the actual x86 intructions of P
    saying anything else is both pure bullshit and quite nutty.

    _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]

    A correct simulation of P on input P can be empirically validated by
    the simulation of the first seven x86 instruction of P.

    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)

    Because the simulation of P(P) matches its x86 source-code it is
    necessarily correct and impossibly incorrect.


    The only possibility for every encoding of simulating halt decider H
    is:

    (a) H fails to abort its simulation (and thus fails to be a decider)
    and the first seven instructions of P infinitely repeat in which
    case P never reaches its final state of 0xc50.

    (b) H aborts its simulation of P at some address of P between 0xc36
    and 0xc41 in which case the input P fails to every reach its final
    state of 0xc50.

    One the basis of the correct simulation of the x86 source-code of
    P(P) we can see that it is utterly impossible for P to ever reach
    its final state of 0xc50.

    Even if your argument above were sound, it is also *irrelevant* since
    the criterion which defines a 'halt decider' makes no mention about
    simulations, simulators or aborted simulations.

    Because the criteria does say by what-so-ever means, it includes
    simulation.

    I never claimed otherwise.

    You implied otherwise.



    If P(P) halts, then the correct answer to the question 'Does P(P)
    halt?' is 'yes'. And that's the question *by definition* which a halt
    decider must answer.

    André


    A halt decider only need answer whether or not the correct simulation
    of its input would ever reach a final state of this input by a
    simulating halt decider.


    No. A halt decider needs to answer the question which a halt decider is required to answer.

    And a black cat <is> both black and a cat.

    A halt decider which takes w_M and w as its inputs
    must answer the question 'Does M halt on input w?' since that is how a
    halt decider is *defined*.


    You keep screwing around with the point in the execution trace that counts.

    It doesn't matter whether you reach the answer by simulating or not. The question and the answer remain the same. P(P) halts,

    You have to have the correct computation.
    If we want to know if Bill robbed the liquor store and Bill Jones did
    rob the liquor store it is not OK to put Bill Smith in jail on the basis
    that it is true that Bill robbed the liquor store.

    The input to H1(P,P) is computationally equivalent to P(P).
    The input to H(P,P) is not computationally equivalent to P(P).

    so the answer to
    'Does P(P) halt?', which is what a halt-decider is defined to answer, is 'yes'.

    Any halt-decider which answers otherwise is simply wrong.

    André



    --
    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)
  • From olcott@21:1/5 to All on Tue Nov 2 22:14:24 2021
    XPost: comp.theory, sci.logic

    On 11/2/2021 9:26 PM, André G. Isaak wrote:
    On 2021-11-02 19:32, olcott wrote:
    On 11/2/2021 8:07 PM, André G. Isaak wrote:
    On 2021-11-02 18:49, olcott wrote:
    On 11/2/2021 6:31 PM, André G. Isaak wrote:
    On 2021-11-02 16:51, olcott wrote:
    On 11/2/2021 4:49 PM, André G. Isaak wrote:
    On 2021-11-02 15:41, olcott wrote:
    On 11/2/2021 4:05 PM, André G. Isaak wrote:
    On 2021-11-02 14:43, olcott wrote:

    If everyone "defines" that the halt decider is wrong when it >>>>>>>>>> correctly reports what the actual behavior of its actual input >>>>>>>>>> would be then everyone (besides me) is wrong.

    The definition tells you what a halt decider *is*. It doesn't >>>>>>>>> define it as 'wrong'. It defines what question it is supposed >>>>>>>>> to answer.

    The input to a halt decider is a string. Strings don't *have* >>>>>>>>> halting behaviour so your position above is entirely incoherent. >>>>>>>>>

    In computability theory, the halting problem is the problem of >>>>>>>> determining, from a description of an arbitrary computer program >>>>>>>> and an input, whether the program will finish running, or
    continue to run forever.
    https://en.wikipedia.org/wiki/Halting_problem

    The definition of 'halting problem' is what it is.

    Note that the above definition doesn't make any mentions of
    'simulations' just as the more formal definition used by Linz's
    does not.

    A halt decider only need answer whether or not the correct
    simulation of its input would ever reach a final state of this >>>>>>>> input by a simulating halt decider.

    A 'correct simulation', presumably, would be one that acts
    identically to the actual TM being simulated. That means that if >>>>>>> the actual TM halts the simulation also must halt. Which means
    that your simulation is not a 'correct simulation'.


    There are no freaking presumptions about it. As long as the
    simulation of P(P) matches its x86 source code then the simulation >>>>>> is correct.

    I have no idea what it means for a simulation of P(P) to "match its
    x86 source code".


    When the simulator executes the instructions at
    0xc36, 0xc37, 0xc39, 0xc3c, 0xc3d, 0xc40, 0xc41
    of the x86 source code of P, then the simulator
    correctly simulated P(P).

    No. A simulator only 'correctly simulates' a machine when it
    accurately duplicates *all* of the behaviour of that machine. Part of
    the behaviour of P(P) is that it halts.


    That is a stupid thing to say. The x86 emulator correctly emulates the
    x86 instructions of P iff it emulates the actual x86 intructions of P
    saying anything else is both pure bullshit and quite nutty.

    That's a nonsensical claim. If it correctly emulates all the
    instructions then it should have identical behaviour. That includes
    whether it halts or not.

    Maybe you don't understand the x86 language well enough to ever
    understand what I am saying.

    While H continues to simulate P these first seven instructions of P
    continue to repeat. Do you understand that?

    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)


    --
    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)
  • From olcott@21:1/5 to Mike Terry on Wed Nov 3 10:34:00 2021
    XPost: comp.theory, sci.logic

    On 11/3/2021 9:54 AM, Mike Terry wrote:
    On 03/11/2021 04:09, Mike Terry wrote:
    On 03/11/2021 03:30, André G. Isaak wrote:
    On 2021-11-02 21:14, olcott wrote:
    On 11/2/2021 9:26 PM, André G. Isaak wrote:
    On 2021-11-02 19:32, olcott wrote:
    On 11/2/2021 8:07 PM, André G. Isaak wrote:
    On 2021-11-02 18:49, olcott wrote:
    On 11/2/2021 6:31 PM, André G. Isaak wrote:
    On 2021-11-02 16:51, olcott wrote:
    On 11/2/2021 4:49 PM, André G. Isaak wrote:
    On 2021-11-02 15:41, olcott wrote:
    On 11/2/2021 4:05 PM, André G. Isaak wrote:
    On 2021-11-02 14:43, olcott wrote:

    If everyone "defines" that the halt decider is wrong when >>>>>>>>>>>>>> it correctly reports what the actual behavior of its >>>>>>>>>>>>>> actual input would be then everyone (besides me) is wrong. >>>>>>>>>>>>>
    The definition tells you what a halt decider *is*. It >>>>>>>>>>>>> doesn't define it as 'wrong'. It defines what question it >>>>>>>>>>>>> is supposed to answer.

    The input to a halt decider is a string. Strings don't >>>>>>>>>>>>> *have* halting behaviour so your position above is entirely >>>>>>>>>>>>> incoherent.


    In computability theory, the halting problem is the problem >>>>>>>>>>>> of determining, from a description of an arbitrary computer >>>>>>>>>>>> program and an input, whether the program will finish
    running, or continue to run forever.
    https://en.wikipedia.org/wiki/Halting_problem

    The definition of 'halting problem' is what it is.

    Note that the above definition doesn't make any mentions of >>>>>>>>>>> 'simulations' just as the more formal definition used by >>>>>>>>>>> Linz's does not.

    A halt decider only need answer whether or not the correct >>>>>>>>>>>> simulation of its input would ever reach a final state of >>>>>>>>>>>> this input by a simulating halt decider.

    A 'correct simulation', presumably, would be one that acts >>>>>>>>>>> identically to the actual TM being simulated. That means that >>>>>>>>>>> if the actual TM halts the simulation also must halt. Which >>>>>>>>>>> means that your simulation is not a 'correct simulation'. >>>>>>>>>>>

    There are no freaking presumptions about it. As long as the >>>>>>>>>> simulation of P(P) matches its x86 source code then the
    simulation is correct.

    I have no idea what it means for a simulation of P(P) to "match >>>>>>>>> its x86 source code".


    When the simulator executes the instructions at
    0xc36, 0xc37, 0xc39, 0xc3c, 0xc3d, 0xc40, 0xc41
    of the x86 source code of P, then the simulator
    correctly simulated P(P).

    No. A simulator only 'correctly simulates' a machine when it
    accurately duplicates *all* of the behaviour of that machine.
    Part of the behaviour of P(P) is that it halts.


    That is a stupid thing to say. The x86 emulator correctly emulates >>>>>> the x86 instructions of P iff it emulates the actual x86
    intructions of P saying anything else is both pure bullshit and
    quite nutty.

    That's a nonsensical claim. If it correctly emulates all the
    instructions then it should have identical behaviour. That includes
    whether it halts or not.

    Maybe you don't understand the x86 language well enough to ever
    understand what I am saying.

    While H continues to simulate P these first seven instructions of P
    continue to repeat. Do you understand that?

    Which is irrelevant to the halting problem which asks whether P(P)
    halts? Does it? Yes. Ergo the only correct for H(P, P) to give is
    'true'. *Nothing* apart from the actual behaviour of P(P) is relevant
    to determining what the correct answer to this question is, so
    there's not even any point in providing all your meaningless traces.

    The correct answer to H(P, P) is determined by the actual behaviour
    of P(P). We know the actual behaviour of P(P). So there's absolutely
    no reason to consider anything else.

    And you conveniently ignored all the questions which I asked.

    What does the input to H(P, P) represent if not P(P)?

    How can the inputs to H1(P, P) and H(P, P) represent different things
    given that they are the *same* input?

    My suspicion (difficult to confirm) is still that in both those cases,
    PO is looking at the same computation.  It's simply that H and H1, in
    examining the identical execution traces, behave differently because
    they take their own machine code address and use that in interpreting
    the instruction trace.

    So e.g. H uses its address to exclude certain parts of the trace it
    examines, and consequently INCORRECTLY decides it is seeing infinite
    recursion.  H1 excludes a different address range, so it doesn't see
    infinite recursion and so the simulation continues FURTHER than H
    continues it, and in fact with H1 the simulation proceeds right up to
    the point where it reaches its halt state, so H1 give the correct
    answer.  [I'd guess H1 works because it is seeing the conditional
    branch instructions that H deliberately ignores, and so his unsound
    recursion test does not match.]

    I bet if we looked at the actual traces that H and H1 are producing,

    Correction - what I meant to say here is "actual traces that H and H1
    are EXAMINING".

    Obviously the traces of H(P,P) and H1(P,P) [including the traces of the
    outer emulations of H, H1 themselves] will be different, because H and
    H1 addresses will be different if nothing else.

    That's a trivial point, but seems to be a constant point of
    miscomunication between PO and others.  I reckon that when PO says "computations H(P,P) and H1(P,P)" he is intending to say "the traces of
    the SIMULATIONS of P(P) within H and H1", or similar.  [And if I'm right above, those are NOT different, other than that H1 simulates FURTHER
    than H, and so gets to observe the simulation halting.  Nothing to do
    with the presence of mysterious PSR!.]

    Mike.


    _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)
    Local Halt Decider: Infinite Recursion Detected Simulation Stopped

    I am not going to explain the difference between H1 and H at this point
    because you would be overwhelmed. You first must understand that while H
    is a pure simulator the above seven lines of P continue to repeat.



    they would be exactly the same UP TO THE POINT WHERE H MAKES ITS
    MISTAKE AND SAYS "INFINITE RECURSION DETECTED".  I.e. H just makes the
    wrong decision and terminates the simulation too early, like everyone
    has been saying for over a year...  :)

    Mike.



    --
    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)
  • From olcott@21:1/5 to Ben Bacarisse on Wed Nov 3 10:50:59 2021
    XPost: comp.theory, sci.logic

    On 11/2/2021 10:20 PM, Ben Bacarisse wrote:
    olcott <polcott2@gmail.com> writes:

    On 11/2/2021 12:13 PM, Ben Bacarisse wrote:
    olcott <polcott2@gmail.com> writes:

    On 11/2/2021 10:10 AM, Ben Bacarisse wrote:

    You want me to get sucked into discussing your other errors, but really >>>>> only one counts: H(P,P) == false is the wrong answer if P(P) halts.

    As long as H(P,P)==0 is correct none of my other "errors" are of any
    consequence what-so-ever.
    Only one error really matters, and that's the fact that H(P,P)==0 is not >>> correct if P(P) halts,

    As long as the input to H(P,P) cannot possibly halt for every possible
    encoding of simulating halt decider H then H(P,P)==0 can't possibly be
    incorrect NO MATTER WHAT.

    Whether H(P,P)==0 is correct is determined by what P(P) does, and since
    P(P) halts, H(P,P)==0 is wrong.



    THE IS THE MOST RECENT UPDATE TO THE CRITERION MEASURE
    A halt decider only need answer whether or not the correct pure
    simulation of its input would ever reach a final state of this input by
    a simulating halt decider.

    This addresses two issues, it focuses analysis on the correct point in
    the execution trace.

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.qx ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn
    It does not matter whether or not the halt decider at Ĥ.qx halts or not
    the only thing that matters is whether or not the simulation of the
    input to Ĥ.qx ⟨Ĥ⟩ ⟨Ĥ⟩ ever reaches a final state.

    It acknowledges that inputs themselves only have behavior while they are simulated.

    It does not matter what P(P) does it matters what the simulated input to
    H(P,P) does.

    H1(P,P) is computationally equivalent to P(P).
    H(P,P) is not computationally equivalent to H1(P,P) or P(P).


    If we have a black cat then it is utterly impossible that we do not
    have a cat.

    We have a hating computation, P(P), and an H that is wrong about it. I
    don't know what all this nonsense about cats is intended to show.



    --
    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)
  • From olcott@21:1/5 to Ben Bacarisse on Wed Nov 3 11:26:39 2021
    XPost: comp.theory, sci.logic

    On 11/3/2021 11:18 AM, Ben Bacarisse wrote:
    olcott <NoOne@NoWhere.com> writes:

    On 11/2/2021 10:20 PM, Ben Bacarisse wrote:
    olcott <polcott2@gmail.com> writes:

    On 11/2/2021 12:13 PM, Ben Bacarisse wrote:
    olcott <polcott2@gmail.com> writes:

    On 11/2/2021 10:10 AM, Ben Bacarisse wrote:

    You want me to get sucked into discussing your other errors, but really >>>>>>> only one counts: H(P,P) == false is the wrong answer if P(P) halts. >>>>>>>
    As long as H(P,P)==0 is correct none of my other "errors" are of any >>>>>> consequence what-so-ever.
    Only one error really matters, and that's the fact that H(P,P)==0 is not >>>>> correct if P(P) halts,

    As long as the input to H(P,P) cannot possibly halt for every possible >>>> encoding of simulating halt decider H then H(P,P)==0 can't possibly be >>>> incorrect NO MATTER WHAT.
    Whether H(P,P)==0 is correct is determined by what P(P) does, and since
    P(P) halts, H(P,P)==0 is wrong.

    THE IS THE MOST RECENT UPDATE TO THE CRITERION MEASURE
    A halt decider only need answer whether or not the correct pure
    simulation of its input would ever reach a final state of this input
    by a simulating halt decider.

    We could problem just have one sub-thread about this. What I said both
    above and in my other reply still applied no matter how many times you re-write your criterion.


    So in other words when H correctly determines that its input never
    reaches its final state the fact that some other entirely different
    computation does reach its final state proves that H is wrong?

    H1(P,P) is computationally equivalent to P(P)
    H(P,P) is NOT computationally equivalent to either P(P) or H1(P,P).



    --
    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)
  • From olcott@21:1/5 to All on Wed Nov 3 11:20:36 2021
    XPost: comp.theory, sci.logic

    On 11/3/2021 11:06 AM, André G. Isaak wrote:
    On 2021-11-03 09:53, olcott wrote:
    On 11/3/2021 10:36 AM, André G. Isaak wrote:
    On 2021-11-03 08:48, olcott wrote:
    On 11/2/2021 10:30 PM, André G. Isaak wrote:
    On 2021-11-02 21:14, olcott wrote:
    On 11/2/2021 9:26 PM, André G. Isaak wrote:
    On 2021-11-02 19:32, olcott wrote:
    On 11/2/2021 8:07 PM, André G. Isaak wrote:
    On 2021-11-02 18:49, olcott wrote:
    On 11/2/2021 6:31 PM, André G. Isaak wrote:
    On 2021-11-02 16:51, olcott wrote:
    On 11/2/2021 4:49 PM, André G. Isaak wrote:
    On 2021-11-02 15:41, olcott wrote:
    On 11/2/2021 4:05 PM, André G. Isaak wrote:
    On 2021-11-02 14:43, olcott wrote:

    If everyone "defines" that the halt decider is wrong >>>>>>>>>>>>>>>> when it correctly reports what the actual behavior of >>>>>>>>>>>>>>>> its actual input would be then everyone (besides me) is >>>>>>>>>>>>>>>> wrong.

    The definition tells you what a halt decider *is*. It >>>>>>>>>>>>>>> doesn't define it as 'wrong'. It defines what question it >>>>>>>>>>>>>>> is supposed to answer.

    The input to a halt decider is a string. Strings don't >>>>>>>>>>>>>>> *have* halting behaviour so your position above is >>>>>>>>>>>>>>> entirely incoherent.


    In computability theory, the halting problem is the >>>>>>>>>>>>>> problem of determining, from a description of an arbitrary >>>>>>>>>>>>>> computer program and an input, whether the program will >>>>>>>>>>>>>> finish running, or continue to run forever.
    https://en.wikipedia.org/wiki/Halting_problem

    The definition of 'halting problem' is what it is.

    Note that the above definition doesn't make any mentions of >>>>>>>>>>>>> 'simulations' just as the more formal definition used by >>>>>>>>>>>>> Linz's does not.

    A halt decider only need answer whether or not the correct >>>>>>>>>>>>>> simulation of its input would ever reach a final state of >>>>>>>>>>>>>> this input by a simulating halt decider.

    A 'correct simulation', presumably, would be one that acts >>>>>>>>>>>>> identically to the actual TM being simulated. That means >>>>>>>>>>>>> that if the actual TM halts the simulation also must halt. >>>>>>>>>>>>> Which means that your simulation is not a 'correct
    simulation'.


    There are no freaking presumptions about it. As long as the >>>>>>>>>>>> simulation of P(P) matches its x86 source code then the >>>>>>>>>>>> simulation is correct.

    I have no idea what it means for a simulation of P(P) to >>>>>>>>>>> "match its x86 source code".


    When the simulator executes the instructions at
    0xc36, 0xc37, 0xc39, 0xc3c, 0xc3d, 0xc40, 0xc41
    of the x86 source code of P, then the simulator
    correctly simulated P(P).

    No. A simulator only 'correctly simulates' a machine when it >>>>>>>>> accurately duplicates *all* of the behaviour of that machine. >>>>>>>>> Part of the behaviour of P(P) is that it halts.


    That is a stupid thing to say. The x86 emulator correctly
    emulates the x86 instructions of P iff it emulates the actual
    x86 intructions of P saying anything else is both pure bullshit >>>>>>>> and quite nutty.

    That's a nonsensical claim. If it correctly emulates all the
    instructions then it should have identical behaviour. That
    includes whether it halts or not.

    Maybe you don't understand the x86 language well enough to ever
    understand what I am saying.

    While H continues to simulate P these first seven instructions of
    P continue to repeat. Do you understand that?

    Which is irrelevant to the halting problem

    I will not speak with you until you answer.

    Whether it does or does not repeat cannot be determined from this
    trace because you omit the instructions from the subroutine from your
    trace.


    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) >>
    When it is given that H is a pure simulator of its input can you
    comprhend that the above seven lines infinitely repeat?

    Nothing in the above seven lines indicates that they would repeat since
    there is no instruction there which branches back to c36.


    If you look in the stack data column in the // push P rows
    you will see that H is being called with 0xc36

    Because I already told you to assume the line c41 of P calls
    H as a pure simulator. It already says on lines c3c and c40
    that P is being pushed onto the stack.

    When P calls H with itself as input on c41 and H is only a pure
    simulator of its input can you see that these first seven lines would infinitely repeat?

    _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]


    But, again, all of this is besides the point. A halt decider is supposed
    to determine whether the machine described by its input halts on a given input. You acknowledge that P(P) halts. Therefore H(P, P) == 0 is
    incorrect. We don't need to look at a trace to know that the answer is
    wrong. We just need to compare the result which H(P, P) returns with the correct answer.

    André



    --
    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)