• Re: This function proves that only the outermost HHH examines the execu

    From joes@21:1/5 to All on Fri Jul 26 19:24:03 2024
    Am Fri, 26 Jul 2024 10:56:55 -0500 schrieb olcott:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.
    Fuck you too.

    Mike: It seems that HHH has been a pure function of its inputs and never
    has provided data downward to its slaves that corrupts their halt status decision. They don't even make a halt status decision thus cannot make a corrupted one.
    The indirectly called HHH's most certainly make a decision.

    I could change the code so that the slave instances can and do try to
    form a halt status decision on the basis of the execution trace that
    they do have.
    There is no sense in doing that because they can't possibly have enough
    data, they will always be one whole execution trace behind the next
    outer instance of HHH.
    That's kinda the point.

    u32 Decide_Halting_HH(u32** Aborted,
    u32** execution_trace,
    Decoded_Line_Of_Code** decoded,
    u32 code_end,
    u32 End_Of_Code, Registers**
    master_state, Registers**
    slave_state, u32** slave_stack,
    u32 Root)
    {
    u32 aborted_temp = 0; // 2024-06-05 u32
    Current_Length_Of_Execution_Trace = 0;
    while (aborted_temp == 0) // 2024-06-05 {

    if (Root) // Master UTM halt decider {
    There it is.
    Where is this passed from?

    if (aborted_temp == 1) // 2021-01-26 Must be aborted
    return 0;
    return 1; // 2021-01-26 Need not be aborted
    }

    --
    Am Sat, 20 Jul 2024 12:35:31 +0000 schrieb WM in sci.math:
    It is not guaranteed that n+1 exists for every n.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to olcott on Fri Jul 26 20:46:52 2024
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH effectively uses the static mutable data
    to pass flags to the inner HHH that modify its behaviour. The Root flag below is derived from the
    actual static data and causes inner HHH to totally skip its own abort logic!

    You seem to acknowledge this, but claim it does not matter for various reasons, because whatever
    mistakes you are making, what finally gets printed out is saying the right thing!

    The problem with this attitude is that when you describe your ideas and present the printed output,
    you say that HHH is "simulating" DDD, and people know what simulating means, and everyone has
    expectations of what that implies. You are happy to use those expectations when it goes along with
    what you want to claim, but try to conceal that those expectations are unjustified because what you
    are doing is not "proper simulation" as everybody would understand it.

    You can't have it both ways.

    The way to avoid all such concerns is to implement simulation correctly, like you claim to have
    done. Simulation is not /just/ the step by step simulation provided by libx86emu(sp?) - your entire
    computation environment needs to correctly work together so that the end-to-end effect is that
    simulated code exactly follows the behaviour of the original code, at least up to the point where
    the simulator aborts. Put differently, you also need to simulate the /correct/ instructions and data.

    The same applies to when you try to "copy" code, as in your H1 and HHH1: by definition of "copy"
    [as understood by everybody here] the behaviour of the copied code must exactly match that of the
    original code - otherwise it is simply not a proper "copy" by definition.

    As a joke alternative you could stop claiming to simulate or copy anything, and say instead you are
    misulating and pocying code! You could say "HHH misulates DDD and sees that DDD will never halt"
    but obviously people will just say "What's misulating, and why should misulating (whatever it is)
    allow HHH to see things about DDD?" You see - from your perspective that would be hopeless for your
    wider scope argument which attempts to invalidate the Linz/Sipser proofs. Similarly if you claim
    that you "pocyed" HHH to HHH1 and they have different results when given input DDD, people will just
    look blank - what's "pocying" and why would anyone expect a pocyed routine to give the same result
    as the original routine?

    No, none of that flies. It was a joke, but with a sensible aim - to convince you that for your
    wider scale arguments you need simulating (and copying) to have their correct meanings as everybody
    here will understand them. No good saying "they mean something else, but it doesn't matter because
    what my program finally writes out is TRUE".

    Of course none of that will convince you of anything and you'll just continue.


    I could change the code so that the slave instances can and do
    try to form a halt status decision on the basis of the execution
    trace that they do have.
    Your concept of master/slaves simulators is broken. There are outer/inner simulators but that is
    just a relative term, and all simulated code (at whatever level) needs to have the same behaviour as
    the unsimulated code.

    If your simulation was correctly designed/implemented this would just work. (Of course, HHH has to
    correctly use the DebugStep() (et al.) primitive ops to gather what it needs to make its decision,
    no cheating with globals etc..)

    I know you've said you don't have time to think about how to do this correctly. That's fair enough,
    but in the meantime you should not claim that your incorrect implementation proves your conclusions!
    To be fair, you shouldn't need x86utm.exe in your arguments - it is not the Appeal To Authority
    that you imagine it to be! All of your arguments could just be phrased in pseudo-code and there
    would not be any disagreement about how that would behave by posters here. Of course, your ideas
    expressed that way would still be Wrong, and nobody would agree with them, but that's the case
    anyway when you try to bring in x86utm!


    There is no sense in doing that because they can't possibly have
    enough data, they will always be one whole execution trace behind
    the next outer instance of HHH.

    Well it's your code so correct it or don't correct it...

    The sense in doing it would be:

    1) Pride in having implemented something without botching it
    2) Slight increase in the reliability of conclusions base on running x86utm simulations.
    [But in any case you won't be able to claim x86utm "proves" any of your claims.
    That's just not how proofs work...]
    3) Surely there must be a (3). Um, third time lucky?

    Regarding (2) I've found the answer to my recent question of what you had done wrong in the whole
    "DDD simulated by HHH has different behaviour to DDD simulated by 'copy' HHH1". It turns out HHH1
    wasn't a copy, it was a "pocy" [the word I coined above] :)

    So what was the coding error? To remind us, here's a comparison of the different behaviour:

    [VIEW WITH FIXED FONT!!]

    HHH1 (DDD) HHH (DDD)
    -----------------------------------------------------------------
    1 main () main ()
    2 HHH1 (DDD) HHH (DDD)
    4 Simulate (DDD) Simulate (DDD)
    5 | DDD() | DDD()
    6 | HHH (DDD) | HHH (DDD)
    7 | Simulate (DDD) | Simulate (DDD)
    8 | | DDD() | DDD()
    9 | | HHH (DDD) | HHH (DDD)
    10 | | Simulate (DDD) Abort
    11 | | DDD() ret 0
    12 | | HHH (DDD) ret 0
    13 | Abort
    14 | ret 0
    15 | ret
    16 ret 1
    17 ret 0

    The question you never managed to answer was why on the right does HHH [line 2] spot that HHH is
    called below [lines 6,9] in "infinite recursive simulation", while on the left HHH1 [line 2] does
    not make the same decision, despite being a "copy" of HHH on the right?

    The explantion is down to your misuse of mutable static variables in HHH/HHH1 to store their
    execution traces covering all sub-simulations. HHH and HHH1 each have /their own/ static execution
    trace table! So :

    - HHH [line 2, RHS] has its own trace table which is explicitly updated
    by (arbitrarily nested) sub-simulations, BUT ONLY BY SIMULATIONS OF
    HHH1!!! So it "sees" the calls to HHH [lines 6,9] and matches
    its [unsound] abort pattern.

    - HHH1 [line 2, LHS] has its own trace table which is explicitly updated
    by (arbitrarily nested) sub-simulations, BUT ONLY BY SIMULATIONS OF
    HHH1!!! Simulations of HHH will update the execution trace in HHH's
    static variable. So HHH1 completely fails to "see" the calls to HHH
    [lines 6,9] and so never matches its [unsound] abort pattern. Instead
    it continues simulating until DDD terminates, correctly deciding that
    DDD terminates.

    So... as suspected the reason HHH(DDD) and HHH1(DDD) see different behaviour is simply that HHH1 is
    not a proper copy of HHH - it's a "pocy"! And the coding error is the misuse of mutable static
    variables which you already know is wrong, although you are reluctant to correct.

    It is of course nothing to do with "pathelogical self reference" or any such nonsense - it's just
    WRONG CODING. Note that your HHH/HHH1 are trying to "push" data [inner simulation trace records] to
    the outer simulators, which is Wrong Design. Right Design is for the outer simulators to dig into
    the inner simulations to scrape what data they need. If HHH/HHH1 worked this way they would both
    have the same behaviour as common sense requires, and you wouldn't be able to use this example to
    back up your claims of different behaviour. In fact both HHH/HHH1 would then report DDD as
    non-halting, which is wrong due to the unsound abort pattern they both use - but at least it would
    be consistent, as required for a proper copy (rather than some kind of pocy).

    Regards,
    Mike.


    As they are the slaves perform their proper function of showing
    the actual behavior of DDD correctly emulated by HHH.

    u32 Decide_Halting_HH(u32** Aborted,
    u32** execution_trace,
    Decoded_Line_Of_Code** decoded,
    u32 code_end,
    u32 End_Of_Code,
    Registers** master_state,
    Registers** slave_state,
    u32** slave_stack,
    u32 Root)
    {
    u32 aborted_temp = 0; // 2024-06-05
    u32 Current_Length_Of_Execution_Trace = 0;
    while (aborted_temp == 0) // 2024-06-05
    {
    u32 EIP = (*slave_state)->EIP; // Save EIP of this instruction
    DebugStep(*master_state, *slave_state, *decoded); // Execute it
    if (EIP > Last_Address_Of_Operating_System()) // Ignore OS code
    {
    PushBack(**execution_trace, (u32)*decoded,
    sizeof(Decoded_Line_Of_Code));
    }

    if (EIP == code_end)
    return 1;

    if (Root) // Master UTM halt decider

    Root is derived from misused static data within HHH, and is 1 if this is the outer HHH, and zero if
    it is an inner instance, enabling inner simulations to behave differently to outer ones.
    This is Wrong Design.

    {
    u32* address = (u32*)**execution_trace;
    u32 size = (u32)*(address-1);
    // Detects slave appended an instruction to its execution_trace
    if (size > Current_Length_Of_Execution_Trace)
    {
    Current_Length_Of_Execution_Trace = size;
    aborted_temp = // 2024-06-05
    Needs_To_Be_Aborted_HH
    ((Decoded_Line_Of_Code*)**execution_trace);
    }
    }
    }
    if (aborted_temp == 1) // 2021-01-26 Must be aborted
    return 0;
    return 1; // 2021-01-26 Need not be aborted
    }


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to joes on Fri Jul 26 21:49:05 2024
    On 26/07/2024 20:24, joes wrote:
    Am Fri, 26 Jul 2024 10:56:55 -0500 schrieb olcott:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.
    Fuck you too.

    Mike: It seems that HHH has been a pure function of its inputs and never
    has provided data downward to its slaves that corrupts their halt status
    decision. They don't even make a halt status decision thus cannot make a
    corrupted one.
    The indirectly called HHH's most certainly make a decision.

    I could change the code so that the slave instances can and do try to
    form a halt status decision on the basis of the execution trace that
    they do have.
    There is no sense in doing that because they can't possibly have enough
    data, they will always be one whole execution trace behind the next
    outer instance of HHH.
    That's kinda the point.

    u32 Decide_Halting_HH(u32** Aborted,
    u32** execution_trace,
    Decoded_Line_Of_Code** decoded,
    u32 code_end,
    u32 End_Of_Code, Registers**
    master_state, Registers**
    slave_state, u32** slave_stack,
    u32 Root)
    {
    u32 aborted_temp = 0; // 2024-06-05 u32
    Current_Length_Of_Execution_Trace = 0;
    while (aborted_temp == 0) // 2024-06-05 {

    if (Root) // Master UTM halt decider {
    There it is.
    Where is this passed from?

    Indeed - it comes from HHH. It is 1 for first HHH invocation and 0 subsequently, as determined
    using static variables in HHH.

    I think this GitHub link has all the code: <https://github.com/plolcott/x86utm>

    PO has previously published a zip file with everything in, but I think it's the same content, with
    GitHub being a bit more recent.

    Mike.







    if (aborted_temp == 1) // 2021-01-26 Must be aborted
    return 0;
    return 1; // 2021-01-26 Need not be aborted
    }


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Fri Jul 26 22:17:23 2024
    The problem you keep on ignoring is that the behavior of a program is
    what it does when actually run, and not partially simulated and then
    aborted.

    That fundamental error in you definitions means none of you logic matters.

    The fact that DDD calls an HHH(DDD) that will, when called by main the
    same way, returns to main, means it will return to DDD and thus DDD halts.

    Your argument contrary to that just proves you don't understand that
    emulation is only a means to observe behavior, and doesn't actually
    define that behavior, especially when it is just a partial emulation.

    Fundamentally, you are just proving you are just incapable of understand
    the difference between the TRUTH of the behavior of DDD, which is
    established purely by the actual behavor of it code, which neds ALL the
    code (incuding that of HHH)

    That behavior is fully fixed and determined the moment that code is
    defined. We only know that behavior by running or emulating that code,
    FULLY.

    If HHH returns to main, and is an actual computation, then it returns to
    DDD and thus DDD WILL HALT. PERIOD.

    To claim anything else is to admit that you are a liar or your logic
    system is just inconsistant, or both.


    On 7/26/24 11:56 AM, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    I could change the code so that the slave instances can and do
    try to form a halt status decision on the basis of the execution
    trace that they do have.

    There is no sense in doing that because they can't possibly have
    enough data, they will always be one whole execution trace behind
    the next outer instance of HHH.

    As they are the slaves perform their proper function of showing
    the actual behavior of DDD correctly emulated by HHH.

    u32 Decide_Halting_HH(u32**                   Aborted,
                          u32**                   execution_trace,
                          Decoded_Line_Of_Code**  decoded,
                          u32                     code_end,
                          u32                     End_Of_Code,
                          Registers**             master_state,
                          Registers**             slave_state,
                          u32**                   slave_stack,
                          u32                     Root)
    {
      u32 aborted_temp = 0;  // 2024-06-05
      u32 Current_Length_Of_Execution_Trace = 0;
      while (aborted_temp == 0) // 2024-06-05
      {
        u32 EIP = (*slave_state)->EIP; // Save EIP of this instruction
        DebugStep(*master_state, *slave_state, *decoded); // Execute it
        if (EIP > Last_Address_Of_Operating_System())     // Ignore OS code
        {
          PushBack(**execution_trace, (u32)*decoded,
                   sizeof(Decoded_Line_Of_Code));
        }

        if (EIP == code_end)
          return 1;

        if (Root)  // Master UTM halt decider
        {
          u32* address = (u32*)**execution_trace;
          u32 size  = (u32)*(address-1);
          // Detects slave appended an instruction to its execution_trace
          if (size > Current_Length_Of_Execution_Trace)
          {
            Current_Length_Of_Execution_Trace = size;
            aborted_temp =     // 2024-06-05
            Needs_To_Be_Aborted_HH
            ((Decoded_Line_Of_Code*)**execution_trace);
          }
        }
      }
      if (aborted_temp == 1) // 2021-01-26 Must be aborted
        return 0;
      return 1;           // 2021-01-26 Need not be aborted
    }




    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Sat Jul 27 11:09:27 2024
    On 2024-07-26 20:14:07 +0000, olcott said:

    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH effectively
    uses the static mutable data to pass flags to the inner HHH that modify
    its behaviour.  The Root flag below is derived from the actual static
    data and causes inner HHH to totally skip its own abort logic!

    You seem to acknowledge this, but claim it does not matter for various
    reasons, because whatever mistakes you are making, what finally gets
    printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:

    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there.

    The problem with this attitude is that when you describe your ideas and
    present the printed output, you say that HHH is "simulating" DDD, and
    people know what simulating means, and everyone has expectations of
    what that implies.  You are happy to use those expectations when it
    goes along with what you want to claim, but try to conceal that those
    expectations are unjustified because what you are doing is not "proper
    simulation" as everybody would understand it.


    It does not have any effect on the simulation. It only gets
    the non-halting results that we can all see is correct in an
    impure way. Each instruction of DDD is emulated precisely
    according to the semantics that it specifies.

    You can't have it both ways.


    It may seem that way if you are not paying close enough attention
    or have insufficient skill with the semantics of the x86 language.

    The way to avoid all such concerns is to implement simulation
    correctly, like you claim to have done.  Simulation is not /just/ the
    step by step simulation provided by libx86emu(sp?) -

    Yes it is. That *is* what simulation is.
    The only thing that is added to this is termination analysis that
    can be verified as correct even if this correct result was not
    derived in a pure way.

    your entire computation environment needs to correctly work together so
    that the end-to-end effect is that simulated code exactly follows the
    behaviour of the original code, at least up to the point where the
    simulator aborts.

    It has done that for three years and you never bothered to pay
    enough attention to notice that it has done that for three years.

    Put differently, you also need to simulate the /correct/ instructions and data.


    The instructions *are* the data. A sequence of these instructions
    (execution trace) is all that the termination analyzer uses.

    The same applies to when you try to "copy" code,

    I don't try to copy code. libx86emu gets confused with
    copied code.

    as in your H1 and HHH1:  by definition of "copy" [as understood by
    everybody here] the behaviour of the copied code must exactly match
    that of the original code - otherwise it is simply not a proper "copy"
    by definition.


    There is no copy. It is always the exact same integer
    machine address of DDD.

    Why do you insist on saying the the emulation of DDD by HHH
    is incorrect when it is an easily verified fact that HHH
    emulates each instruction of DDD exactly according to the
    semantics specified by this instruction.

    Every time that anyone every said that the simulation was
    incorrect I dared them to point to the line of code that
    was simulated incorrectly and they responded with rhetoric,
    ad hominem, and double talk and never pointed out any
    instruction that was emulated incorrectly.

    These tactics may seem convincing to gullible fools yet are
    as obvious as a pie-in-the-face to those having enormously
    much more single-minded focus of attention.

    As a joke alternative you could stop claiming to simulate or copy
    anything, and say instead you are misulating and pocying code!  You
    could say "HHH misulates DDD and sees that DDD will never halt" but
    obviously people will just say "What's misulating, and why should
    misulating (whatever it is) allow HHH to see things about DDD?"  You
    see - from your perspective that would be hopeless for your wider scope
    argument which attempts to invalidate the Linz/Sipser proofs. 
    Similarly if you claim that you "pocyed" HHH to HHH1 and they have
    different results when given input DDD, people will just look blank -
    what's "pocying" and why would anyone expect a pocyed routine to give
    the same result as the original routine?

    No, none of that flies.  It was a joke, but with a sensible aim - to
    convince you that for your wider scale arguments you need simulating
    (and copying) to have their correct meanings as everybody here will
    understand them.  No good saying "they mean something else, but it
    doesn't matter because what my program finally writes out is TRUE".

    Of course none of that will convince you of anything and you'll just continue.


    I could change the code so that the slave instances can and do
    try to form a halt status decision on the basis of the execution
    trace that they do have.
    Your concept of master/slaves simulators is broken.  There are
    outer/inner simulators but that is just a relative term, and all
    simulated code (at whatever level) needs to have the same behaviour as
    the unsimulated code.

    If your simulation was correctly designed/implemented this would just
    work.  (Of course, HHH has to correctly use the DebugStep() (et al.)
    primitive ops to gather what it needs to make its decision, no cheating
    with globals etc..)


    That you disagree that the simulation is correct without being
    able to point out a single line-of-code of DDD that was simulated
    incorrectly seems to indicate that you are happy to directly
    contradict verified facts.

    I know you've said you don't have time to think about how to do this
    correctly.  That's fair enough, but in the meantime you should not
    claim that your incorrect implementation proves your conclusions!

    Anyone having sufficient knowledge of the x86 language can verify
    the only two relevant details:

    DDD is correctly emulated by HHH until it correctly determines
    that DDD specifies not halting behavior that must be aborted.


     To be fair, you shouldn't need x86utm.exe in your arguments - it is
    not the Appeal To Authority that you imagine it to be!  All of your
    arguments could just be phrased in pseudo-code and there would not be
    any disagreement about how that would behave by posters here.  Of
    course, your ideas expressed that way would still be Wrong, and nobody
    would agree with them, but that's the case anyway when you try to bring
    in x86utm!


    That you disagree that the simulation is correct without being
    able to point out a single line-of-code of DDD that was simulated
    incorrectly seems to indicate that you are happy to directly
    contradict verified facts.

    No, it is not. A virifiable fact is that you have not proven what you clain.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sat Jul 27 10:15:09 2024
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the inner
    HHH that modify its behaviour.  The Root flag below is derived from
    the actual static data and causes inner HHH to totally skip its own
    abort logic!

    You seem to acknowledge this, but claim it does not matter for various
    reasons, because whatever mistakes you are making, what finally gets
    printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way.

    But the problem is that it gets the incorrect answer.
    if (!Root)
    would be better, because then the simulator would indeed simulate an
    aborting and halting HHH and we would see that it gets the correct
    answer: halting.
    But better is still wrong, because HHH s passing information to its
    simulated HHH, therefore, effectively it is simulating another HHH than *itself*.
    You only prove that HHH cannot possibly simulate *itself* correctly.
    In your example HHH is simulating another HHH.

    You never proved that it is possible to get it in a pure way.
    If it would be possible to do this in a pure way, then it would also
    possible to make an HHH that runs five cycles as Root and two cycles
    when not root, which would also get the correct answer.
    In fact when such a construction is possible, it would be valid not only
    to skip a few lines when not Root, but also do completely different
    thing depending on root.
    This al shows that you are completely off the road.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sat Jul 27 10:36:19 2024
    Op 26.jul.2024 om 17:56 schreef olcott:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    I have pity with you, that you need such lame excuses to hide that you
    do not understand where you are talking about.
    But I see you can't help to react like this. If you would really
    understand the errors you make, you would realise how embarrassing it is
    for you. So, I understand that you try to hide it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sat Jul 27 16:23:48 2024
    Op 27.jul.2024 om 15:48 schreef olcott:
    On 7/27/2024 3:36 AM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 17:56 schreef olcott:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    I have pity with you,

    I am not the one that stupidly believes that a non-terminating
    input must be emulated to non-existent completion or the emulation
    is wrong.

    (That is something I never said, but it seems too difficult for you.)
    You are the one that believes that the simulation of a halting program
    must be aborted to prevent non-halting. Ha ha.


    That the first HHH to see the non-halting behavior pattern must
    abort or none of them abort is simply too difficult for you.

    That two recursions is not equal to an infinite recursion is already too difficult for you.
    You keep dreaming of an infinite recursion, when HHH is encoded to abort
    after two recursions. It is too difficult for you to understand that
    dreams do not play a role in logic.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sat Jul 27 16:17:40 2024
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the inner
    HHH that modify its behaviour.  The Root flag below is derived from
    the actual static data and causes inner HHH to totally skip its own
    abort logic!

    You seem to acknowledge this, but claim it does not matter for various
    reasons, because whatever mistakes you are making, what finally gets
    printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:

    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there.


    In a similar way we can create an HHH that is able to reach the return
    of DDD.
    if (Root) then
    simulate 10 levels of recursion before aborting;
    else
    simulate two levels before aborting

    In this way your claim that HHH cannot possibly reach the end of DDD is
    proven false.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alan Mackenzie@21:1/5 to olcott on Sat Jul 27 18:14:52 2024
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted.
    This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in for
    turing machines. A turing machine is either running or halted. There is
    no third state "aborted". An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing machine.

    So aborted programs are halted programs. If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.

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

    --
    Alan Mackenzie (Nuremberg, Germany).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sat Jul 27 20:50:21 2024
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the inner
    HHH that modify its behaviour.  The Root flag below is derived from
    the actual static data and causes inner HHH to totally skip its own
    abort logic!

    You seem to acknowledge this, but claim it does not matter for various
    reasons, because whatever mistakes you are making, what finally gets
    printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:

    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there.


    Mike Terry is right that a simulator has access to the internal state of
    the simulated machine, but he did not say that it is correct to *change
    in this way* the state of the simulated machine.
    Changing the state of the simulated machine is cheating. Of course a
    simulator can modify the input before of during the simulation. It can
    change instructions, it can change the value of variable (such as Root). However, it is clear that when it simulates a modified input, it is no
    longer simulating its input.
    This is what happens when the simulator changes the value of Root. It
    changes the (hidden) input of the simulated machine, so that the
    simulator does no longer simulate the input, but something else.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sat Jul 27 21:05:42 2024
    Op 27.jul.2024 om 16:29 schreef olcott:
    On 7/27/2024 9:17 AM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the inner
    HHH that modify its behaviour.  The Root flag below is derived from
    the actual static data and causes inner HHH to totally skip its own
    abort logic!

    You seem to acknowledge this, but claim it does not matter for
    various reasons, because whatever mistakes you are making, what
    finally gets printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:
    ;
    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there.


    In a similar way we can create an HHH that is able to reach the return
    of DDD.

    Any emulation of DDD by HHH such that DDD reaches its return
    instruction is an incorrect emulation.


    No, a simulation of a halting program that aborts before the simulation
    halted is an incorrect program.
    Since DDD does halt and we see that HHH aborts only one cycle before the simulated HHH would abort and halt, the simulation is incomplete and
    incorrect according to the semantics of the x86 language.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From joes@21:1/5 to All on Sat Jul 27 19:06:23 2024
    Am Sat, 27 Jul 2024 09:29:12 -0500 schrieb olcott:
    On 7/27/2024 9:17 AM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is stuck >>>>> in rebuttal mode makes any understanding that he may have utterly
    useless.

    Mike: It seems that HHH has been a pure function of its inputs and
    never has provided data downward to its slaves that corrupts their
    halt status decision. They don't even make a halt status decision
    thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the inner
    HHH that modify its behaviour.  The Root flag below is derived from
    the actual static data and causes inner HHH to totally skip its own
    abort logic!

    You seem to acknowledge this, but claim it does not matter for
    various reasons, because whatever mistakes you are making, what
    finally gets printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only counts
    that it gets it in an impure way if it is impossible to get in a pure
    way. This makes it possible for HHH to get this answer in a pure way:


    In a similar way we can create an HHH that is able to reach the return
    of DDD.
    Any emulation of DDD by HHH such that DDD reaches its return instruction
    is an incorrect emulation.
    That would mean the unemulated DDD doesn't return.

    --
    Am Sat, 20 Jul 2024 12:35:31 +0000 schrieb WM in sci.math:
    It is not guaranteed that n+1 exists for every n.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sat Jul 27 21:14:26 2024
    Op 27.jul.2024 om 16:34 schreef olcott:
    On 7/27/2024 9:23 AM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 15:48 schreef olcott:
    On 7/27/2024 3:36 AM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 17:56 schreef olcott:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    I have pity with you,

    I am not the one that stupidly believes that a non-terminating
    input must be emulated to non-existent completion or the emulation
    is wrong.

    (That is something I never said, but it seems too difficult for you.)
    You are the one that believes that the simulation of a halting program
    must be aborted to prevent non-halting. Ha ha.


    That the first HHH to see the non-halting behavior pattern must
    abort or none of them abort is simply too difficult for you.

    That two recursions is not equal to an infinite recursion is already
    too difficult for you.

    Two recursions with no conditional branch instructions
    inbetween *IS* the correct non-halt status criteria.

    Are you really so stupid to think that HHH has no branch instructions?

    HHH is a halting program. So, when DDD calls HHH, we know that DDD also
    halts. It is clear that DDD is a misleading and unneeded complication.
    It is easy to eliminate DDD:

    int main() {
    return HHH(main);
    }

    This has the same problem. This proves that the problem is not in DDD,
    but in HHH, which halts when it aborts the simulation, but it decides
    that the simulation of itself does not halt.
    It shows that HHH cannot possibly simulate itself correctly.

    HHH is simply unable to decide about comparable finite recursions.

    void Finite_Recursion (int N) {
    if (N > 0) Finite_Recursion (N - 1);
    }

    It decides after two recursions that there is an infinite recursion,
    which is incorrect.
    Two differs from infinite!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sat Jul 27 21:10:23 2024
    Op 27.jul.2024 om 16:27 schreef olcott:
    On 7/27/2024 3:09 AM, Mikko wrote:
    On 2024-07-26 20:14:07 +0000, olcott said:

    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the inner
    HHH that modify its behaviour.  The Root flag below is derived from
    the actual static data and causes inner HHH to totally skip its own
    abort logic!

    You seem to acknowledge this, but claim it does not matter for
    various reasons, because whatever mistakes you are making, what
    finally gets printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:
    ;
    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there.

    The problem with this attitude is that when you describe your ideas
    and present the printed output, you say that HHH is "simulating"
    DDD, and people know what simulating means, and everyone has
    expectations of what that implies.  You are happy to use those
    expectations when it goes along with what you want to claim, but try
    to conceal that those expectations are unjustified because what you
    are doing is not "proper simulation" as everybody would understand it. >>>>

    It does not have any effect on the simulation. It only gets
    the non-halting results that we can all see is correct in an
    impure way. Each instruction of DDD is emulated precisely
    according to the semantics that it specifies.

    You can't have it both ways.


    It may seem that way if you are not paying close enough attention
    or have insufficient skill with the semantics of the x86 language.

    The way to avoid all such concerns is to implement simulation
    correctly, like you claim to have done.  Simulation is not /just/
    the step by step simulation provided by libx86emu(sp?) -

    Yes it is. That *is* what simulation is.
    The only thing that is added to this is termination analysis that
    can be verified as correct even if this correct result was not
    derived in a pure way.

    your entire computation environment needs to correctly work together
    so that the end-to-end effect is that simulated code exactly follows
    the behaviour of the original code, at least up to the point where
    the simulator aborts.

    It has done that for three years and you never bothered to pay
    enough attention to notice that it has done that for three years.

    Put differently, you also need to simulate the /correct/
    instructions and data.


    The instructions *are* the data.  A sequence of these instructions
    (execution trace) is all that the termination analyzer uses.

    The same applies to when you try to "copy" code,

    I don't try to copy code. libx86emu gets confused with
    copied code.

    as in your H1 and HHH1:  by definition of "copy" [as understood by
    everybody here] the behaviour of the copied code must exactly match
    that of the original code - otherwise it is simply not a proper
    "copy" by definition.


    There is no copy. It is always the exact same integer
    machine address of DDD.

    Why do you insist on saying the the emulation of DDD by HHH
    is incorrect when it is an easily verified fact that HHH
    emulates each instruction of DDD exactly according to the
    semantics specified by this instruction.

    Every time that anyone every said that the simulation was
    incorrect I dared them to point to the line of code that
    was simulated incorrectly and they responded with rhetoric,
    ad hominem, and double talk and never pointed out any
    instruction that was emulated incorrectly.

    These tactics may seem convincing to gullible fools yet are
    as obvious as a pie-in-the-face to those having enormously
    much more single-minded focus of attention.

    As a joke alternative you could stop claiming to simulate or copy
    anything, and say instead you are misulating and pocying code!  You
    could say "HHH misulates DDD and sees that DDD will never halt" but
    obviously people will just say "What's misulating, and why should
    misulating (whatever it is) allow HHH to see things about DDD?"  You
    see - from your perspective that would be hopeless for your wider
    scope argument which attempts to invalidate the Linz/Sipser proofs.
    Similarly if you claim that you "pocyed" HHH to HHH1 and they have
    different results when given input DDD, people will just look blank
    - what's "pocying" and why would anyone expect a pocyed routine to
    give the same result as the original routine?

    No, none of that flies.  It was a joke, but with a sensible aim - to
    convince you that for your wider scale arguments you need simulating
    (and copying) to have their correct meanings as everybody here will
    understand them.  No good saying "they mean something else, but it
    doesn't matter because what my program finally writes out is TRUE".

    Of course none of that will convince you of anything and you'll just
    continue.


    I could change the code so that the slave instances can and do
    try to form a halt status decision on the basis of the execution
    trace that they do have.
    Your concept of master/slaves simulators is broken.  There are
    outer/inner simulators but that is just a relative term, and all
    simulated code (at whatever level) needs to have the same behaviour
    as the unsimulated code.

    If your simulation was correctly designed/implemented this would
    just work.  (Of course, HHH has to correctly use the DebugStep() (et
    al.) primitive ops to gather what it needs to make its decision, no
    cheating with globals etc..)


    That you disagree that the simulation is correct without being
    able to point out a single line-of-code of DDD that was simulated
    incorrectly seems to indicate that you are happy to directly
    contradict verified facts.

    I know you've said you don't have time to think about how to do this
    correctly.  That's fair enough, but in the meantime you should not
    claim that your incorrect implementation proves your conclusions!

    Anyone having sufficient knowledge of the x86 language can verify
    the only two relevant details:

    DDD is correctly emulated by HHH until it correctly determines
    that DDD specifies not halting behavior that must be aborted.


     To be fair, you shouldn't need x86utm.exe in your arguments - it is
    not the Appeal To Authority that you imagine it to be!  All of your
    arguments could just be phrased in pseudo-code and there would not
    be any disagreement about how that would behave by posters here.  Of
    course, your ideas expressed that way would still be Wrong, and
    nobody would agree with them, but that's the case anyway when you
    try to bring in x86utm!


    That you disagree that the simulation is correct without being
    able to point out a single line-of-code of DDD that was simulated
    incorrectly seems to indicate that you are happy to directly
    contradict verified facts.

    No, it is not. A virifiable fact is that you have not proven what you
    clain.


    I claim that DDD is correctly emulated by HHH and when people
    say it is emulated incorrectly they only can provide double-talk and misdirection when asked which instruction was emulated incorrectly.

    Only because you twist the meaning of the 'correct simulation'. A
    correct simulation of a halting program does not only simulate the first
    few instructions, but it completes the simulation up to the end.
    Your HHH aborts the simulation of *itself* only one cycle before the
    simulated HHH would abort and halt, which makes the simulation
    incomplete and incorrect.

    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
        If simulating halt decider H correctly simulates its input D
        until H correctly determines that its simulated D would never
        stop running unless aborted then

        H can abort its simulation of D and correctly report that D
        specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>

    Thinking that the simulation by a termination analyzer that is required
    to halt is incorrect when non-terminating inputs are not simulated to
    their non-existent end is even more stupid.

    Thinking that a halting program has a non-existent end, is even more stupid.

    No matter how much olcott wants it to be correct, or how many times
    olcott repeats that it is correct, it does not change the fact that such
    a simulation is incorrect, because it is unable to reach the end.
    Olcott's own claim that the simulated HHH does not reach its end
    confirms it. The trace he has shown also proves that HHH cannot reach
    the end of its own simulation. So, his own claims prove that it is true
    that HHH cannot possibly simulate itself up to the end, which makes the simulation incorrect.

    Sipser would agree that this incorrect simulation cannot be used to
    detect a non-halting behaviour.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sat Jul 27 21:55:51 2024
    Op 27.jul.2024 om 21:27 schreef olcott:
    On 7/27/2024 1:50 PM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the inner
    HHH that modify its behaviour.  The Root flag below is derived from
    the actual static data and causes inner HHH to totally skip its own
    abort logic!

    You seem to acknowledge this, but claim it does not matter for
    various reasons, because whatever mistakes you are making, what
    finally gets printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:
    ;
    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there.


    Mike Terry is right that a simulator has access to the internal state
    of the simulated machine, but he did not say that it is correct to
    *change in this way* the state of the simulated machine.
    Changing the state of the simulated machine is cheating.

    I know this and agree with him on this.

    Of course a simulator can modify the input before of during the
    simulation.

    No that is cheating too.

    That is exactly what you do when you change the value of the variable
    'Root'. 'Root' is a hidden input for HHH.


    It can change instructions, it can change the value of variable (such
    as Root).
    However, it is clear that when it simulates a modified input, it is no
    longer simulating its input.
    This is what happens when the simulator changes the value of Root. It
    changes the (hidden) input of the simulated machine, so that the
    simulator does no longer simulate the input, but something else.


    It is a verified fact that HHH get the correct halt
    status decision in that HHH exactly matched that same
    behavior pattern as this:

    void Infinite_Recursion()
    {
      Infinite_Recursion();
    }

    _Infinite_Recursion()
    [0000215a] 55         push ebp
    [0000215b] 8bec       mov ebp,esp
    [0000215d] e8f8ffffff call 0000215a ; recursive call
    [00002162] 5d         pop ebp
    [00002163] c3         ret
    Size in bytes:(0010) [00002163]

    Begin Local Halt Decider Simulation   Execution Trace Stored at:113934 Decide_Halting_HH:1
    [0000215a][00113924][00113928] 55         push ebp [0000215b][00113924][00113928] 8bec       mov ebp,esp [0000215d][00113920][00002162] e8f8ffffff call 0000215a [0000215a][0011391c][00113924] 55         push ebp [0000215b][0011391c][00113924] 8bec       mov ebp,esp [0000215d][00113918][00002162] e8f8ffffff call 0000215a
    Local Halt Decider: Infinite Recursion Detected Simulation Stopped


    Incorrect.
    It is a verified fact that HHH gets the incorrect halt status decision
    in that HHH is unable to simulate the behaviour pattern that is also
    seen in:

    void Finite_Recursion (int N) {
    if (N > 0) Finite_Recursion (N - 1);
    }

    It decides after N recursions that there is an infinite recursion, which
    is incorrect.

    Your dreams of an infinite recursion are no evidence and it contradicts
    that HHH halts after it aborts after two simulation cycles.

    The reason that HHH gets the incorrect halting status is related to the verified fact that
    HHH cannot possibly simulate *itself* correctly.
    When it aborts, the simulated HHH is only one cycle away from its own abort. Dreaming of a HHH that does not abort does not change the fact that we
    are considering a HHH that *does* abort and halt.

    Now you are making it even worse by showing that your HHH uses a
    variable 'Root' to cheat the simulation.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alan Mackenzie@21:1/5 to olcott on Sat Jul 27 20:20:03 2024
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted.
    This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in for
    turing machines. A turing machine is either running or halted. There is
    no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt decider.

    Where does the notion of "aborted", as being distinct from halted, come
    from?

    The key difference between a partial decider and a decider is that
    the former case only needs to get at least one input correctly.

    That doesn't seem to have anything to do with my point.

    An aborted C program certainly doesn't correspond with a running
    turing machine - so it must be a halted turing machine.


    If you take the view all all new ideas are inherently incorrect
    then you would be right within this false assumption.

    I don't take that view. What is "this false assumption" meant to mean?
    You haven't spelled it out explicitly.

    So aborted programs are halted programs. If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.

    You seem to have the above false assumption.

    Again, what is that? You haven't said.

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

    --
    Alan Mackenzie (Nuremberg, Germany).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alan Mackenzie@21:1/5 to olcott on Sat Jul 27 21:45:50 2024
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 4:16 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 3:20 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>>>>> This is not the same as reaching its ret instruction and terminating >>>>>>> normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in
    for turing machines. A turing machine is either running or
    halted. There is no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt decider.

    Where does the notion of "aborted", as being distinct from halted, come >>>> from?


    After all of these years and you don't get that?

    "Aborted" being distinct from halted is an incoherent notion. It isn't
    consistent with turing machines. I was hoping you could give a
    justification for it.

    A simulating partial halt decider can stop simulating
    its input when it detects a non-halting behavior pattern.
    This does not count as the input halting.

    Says who? Well, OK, it would be the machine halting, not the input, but
    that's a small point.


    void Infinite_Recursion()
    {
    Infinite_Recursion();
    }

    [ .... ]

    Do you understand that HHH(Infinite_Recursion) correctly
    implements this criteria for the above input?

    There's nothing wrong with my understanding, but I'm not sure what "implementing a criterion (not "criteria")" means, any more than
    "listening to the height of a wall". You don't make it clear which
    criterion you're talking about.

    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
    If simulating halt decider H correctly simulates its input D
    until H correctly determines that its simulated D would never
    stop running unless aborted then

    H can abort its simulation of D and correctly report that D
    specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>

    If you can't understand that Infinite_Recursion() doesn't
    halt then you don't know the subject matter nearly well enough.

    That appears to have nothing to do with my point, which is that "aborted"
    is the same turing machine state as "halted".

    I would be grateful if one of the group's experts would post here to
    clear up this point for me.

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

    --
    Alan Mackenzie (Nuremberg, Germany).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alan Mackenzie@21:1/5 to olcott on Sat Jul 27 21:16:09 2024
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 3:20 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>>> This is not the same as reaching its ret instruction and terminating >>>>> normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in for
    turing machines. A turing machine is either running or halted. There is >>>> no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt decider.

    Where does the notion of "aborted", as being distinct from halted, come
    from?


    After all of these years and you don't get that?

    "Aborted" being distinct from halted is an incoherent notion. It isn't consistent with turing machines. I was hoping you could give a
    justification for it.

    A simulating partial halt decider can stop simulating
    its input when it detects a non-halting behavior pattern.
    This does not count as the input halting.

    Says who? Well, OK, it would be the machine halting, not the input, but
    that's a small point.

    Why do you say that this cessation of simulation doesn't count as the
    machine halting? As the machine is no longer running, it must be in the
    halted state.

    Maybe one of the experts in the group might like to chime in here, and
    explain what, if anything, I've misunderstood here.

    The key difference between a partial decider and a decider is that
    the former case only needs to get at least one input correctly.

    That doesn't seem to have anything to do with my point.


    *This is indirectly related to your above question*
    A decider must be all knowing it is not allowed to get one
    input incorrectly. A partial halt decider is only required
    to get at least one input correctly.

    That doesn't seem to have anything to do with my point, either. :-(

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

    --
    Alan Mackenzie (Nuremberg, Germany).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Sat Jul 27 18:13:58 2024
    On 7/27/24 10:29 AM, olcott wrote:
    On 7/27/2024 9:17 AM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the inner
    HHH that modify its behaviour.  The Root flag below is derived from
    the actual static data and causes inner HHH to totally skip its own
    abort logic!

    You seem to acknowledge this, but claim it does not matter for
    various reasons, because whatever mistakes you are making, what
    finally gets printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:
    ;
    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there.


    In a similar way we can create an HHH that is able to reach the return
    of DDD.

    Any emulation of DDD by HHH such that DDD reaches its return
    instruction is an incorrect emulation.


    That just shows that HHH never does a correct emulation of its input.

    But an actual correct emulation of DDD, will call that HHH, it will
    emulate a copy of DDD, abort its emulation and return to DDD and DDD wil return, thus showing tha ta correct emulation of the input will halt,
    and thus HHH is incorrect in deciding that it needed to abort, even
    though it did anyway,

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alan Mackenzie@21:1/5 to olcott on Sat Jul 27 22:23:03 2024
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 4:45 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 4:16 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 3:20 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting. DDD emulated by >>>>>>>>> HHH stops running when its emulation has been aborted. This is >>>>>>>>> not the same as reaching its ret instruction and terminating >>>>>>>>> normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in >>>>>>>> for turing machines. A turing machine is either running or
    halted. There is no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt decider.

    Where does the notion of "aborted", as being distinct from halted, come >>>>>> from?


    After all of these years and you don't get that?

    "Aborted" being distinct from halted is an incoherent notion. It isn't >>>> consistent with turing machines. I was hoping you could give a
    justification for it.

    A simulating partial halt decider can stop simulating
    its input when it detects a non-halting behavior pattern.
    This does not count as the input halting.

    Says who? Well, OK, it would be the machine halting, not the input, but >>>> that's a small point.


    void Infinite_Recursion()
    {
    Infinite_Recursion();
    }

    [ .... ]

    Do you understand that HHH(Infinite_Recursion) correctly
    implements this criteria for the above input?

    There's nothing wrong with my understanding, but I'm not sure what
    "implementing a criterion (not "criteria")" means,

    [ .... ]

    HHH correctly simulates Infinite_Recursion until it correctly
    detects a the non-halting behavior pattern that every programmer
    can see.

    You dodged the question about whether you can see this
    non-halting behavior pattern on the basis of this x86 code:

    It was an incoherent question. What on Earth does "implementing a
    criterion" even mean? But I told you there's nothing amiss with my understanding.

    [ .... ]

    You've got nothing more to say on my point, that the "aborted" state is
    the same thing as the "halted" state?


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

    --
    Alan Mackenzie (Nuremberg, Germany).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Sat Jul 27 19:18:10 2024
    On 7/27/24 6:37 PM, olcott wrote:
    On 7/27/2024 5:23 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 4:45 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 4:16 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 3:20 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:
    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.  DDD emulated by >>>>>>>>>>> HHH stops running when its emulation has been aborted.  This is >>>>>>>>>>> not the same as reaching its ret instruction and terminating >>>>>>>>>>> normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in >>>>>>>>>> for turing machines.  A turing machine is either running or >>>>>>>>>> halted.  There is no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt >>>>>>>>> decider.

    Where does the notion of "aborted", as being distinct from
    halted, come
    from?


    After all of these years and you don't get that?

    "Aborted" being distinct from halted is an incoherent notion.  It >>>>>> isn't
    consistent with turing machines.  I was hoping you could give a
    justification for it.

    A simulating partial halt decider can stop simulating
    its input when it detects a non-halting behavior pattern.
    This does not count as the input halting.

    Says who?  Well, OK, it would be the machine halting, not the
    input, but
    that's a small point.


    void Infinite_Recursion()
    {
        Infinite_Recursion();
    }

    [ .... ]

    Do you understand that HHH(Infinite_Recursion) correctly
    implements this criteria for the above input?

    There's nothing wrong with my understanding, but I'm not sure what
    "implementing a criterion (not "criteria")" means,

    [ .... ]

    HHH correctly simulates Infinite_Recursion until it correctly
    detects a the non-halting behavior pattern that every programmer
    can see.

    You dodged the question about whether you can see this
    non-halting behavior pattern on the basis of this x86 code:

    It was an incoherent question.  What on Earth does "implementing a
    criterion" even mean?  But I told you there's nothing amiss with my
    understanding.


    *Implementing the Sipser approved criterion measure means*
     that HHH simulates Infinite_Recursion until it sees that
     Infinite_Recursion cannot possibly halt.

    *Implementing the Sipser approved criterion measure means*
     that HHH simulates Infinite_Recursion until it sees that
     Infinite_Recursion cannot possibly halt.

    *Implementing the Sipser approved criterion measure means*
     that HHH simulates Infinite_Recursion until it sees that
     Infinite_Recursion cannot possibly halt.

    *Then HHH stops simulating Infinite_Recursion*
     When HHH stops simulating Infinite_Recursion HHH has
     aborted its simulation of Infinite_Recursion.

    *Then HHH stops simulating Infinite_Recursion*
     When HHH stops simulating Infinite_Recursion HHH has
     aborted its simulation of Infinite_Recursion.

    *Then HHH stops simulating Infinite_Recursion*
     When HHH stops simulating Infinite_Recursion HHH has
     aborted its simulation of Infinite_Recursion.


    Right, so it needs to simulate DDD until it can see that DDD will never
    halt, even if HHH aborts, or that an actual correct simulition of DDD
    will nevef abort, even if HHH aborts before HHH is allowed to abort.

    The behavior of the simulation of Infinite_Recursion wasn't dependent on
    the behavior of HHH, so what it does didn't affect the logic.

    But, since the behavior of DDD depends on the behavior of HHH, to make
    the same determination, HHH either needs to be done based on the actual behavior that HHH will do, even though it doesn't know it yet from its simulation (perhaps from some meta-knowledge) or it needs to do the
    logic for all possible behaviors of HHH. Since HHH might abort its
    emulation and return (and by the meta, we know it does) it must include
    that as a possibility, and thus HHH returning to DDD is very much a
    possible behavior that HHH must allow for.

    Limitting what HHH can do to make the decision to just partial emulation
    and the observati0n of that means that HHH can NEVER prove that HHH
    will return or even what the behavior of DDD will be when it does, so
    your HHH is stuck not being able to make the decision, and fail to be a
    decider by not answering.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to Fred. Zwarts on Sun Jul 28 02:11:53 2024
    On 27/07/2024 20:14, Fred. Zwarts wrote:
    Op 27.jul.2024 om 16:34 schreef olcott:
    On 7/27/2024 9:23 AM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 15:48 schreef olcott:
    On 7/27/2024 3:36 AM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 17:56 schreef olcott:
    This is meant for Mike, Joes and Fred don't have the technical competence to understand it.

    I have pity with you,

    I am not the one that stupidly believes that a non-terminating
    input must be emulated to non-existent completion or the emulation
    is wrong.

    (That is something I never said, but it seems too difficult for you.)
    You are the one that believes that the simulation of a halting program must be aborted to prevent
    non-halting. Ha ha.


    That the first HHH to see the non-halting behavior pattern must
    abort or none of them abort is simply too difficult for you.

    That two recursions is not equal to an infinite recursion is already too difficult for you.

    Two recursions with no conditional branch instructions
    inbetween *IS* the correct non-halt status criteria.

    Are you really so stupid to think that HHH has no branch instructions?

    PO certainly knows HHH has conditional branch instuctions. He has specific filtering code in HHH
    that ignores trace entries from all simulated HHH code. Without the filtering his unsound "infinite
    recursive simulation" pattern would not match, which is no good for PO!

    The comment in his code say something like "ignore trace entries from OS [as opposed to user] code",
    i.e. at one point he reasoned that DDD was "user code" and HHH was "part of the operating system".
    That makes no sense whatsoever, but maybe is some kind of hangover from when he had what he called a
    "global halt decider", which really was in a sense part of the OS. I.e. it was implemented in
    x86utm rather than coded in halt7.c which has all the interpreted code.

    The only real logic I can see is that without that filtering his program fails spectacularly, so it
    must be correct! Another example of "the program rights out the correct answer as PO sees it, so is
    correct".

    Actually I'm not convinced the "no conditional branches" is sufficient to make his test sound /even
    if/ he were to turn off the filtering, but that would be a whole new topic...


    Mike.


    HHH is a halting program. So, when DDD calls HHH, we know that DDD also halts. It is clear that DDD
    is a misleading and unneeded complication. It is easy to eliminate DDD:

           int main() {
             return HHH(main);
           }

    This has the same problem. This proves that the problem is not in DDD, but in HHH, which halts when
    it aborts the simulation, but it decides that the simulation of itself does not halt.
    It shows that HHH cannot possibly simulate itself correctly.

    HHH is simply unable to decide about comparable finite recursions.

    void Finite_Recursion (int N) {
      if (N > 0) Finite_Recursion (N - 1);
    }

    It decides after two recursions that there is an infinite recursion, which is incorrect.
    Two differs from infinite!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to Mike Terry on Sat Jul 27 21:14:59 2024
    On 7/27/24 8:40 PM, Mike Terry wrote:
    On 27/07/2024 19:14, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted.
    This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in for
    turing machines.  A turing machine is either running or halted.  There is >> no third state "aborted".  An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing
    machine.

    So aborted programs are halted programs.  If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.


    Aborting is an action performed by a simulator, not the TM being simulated.

    If we want to count "aborted" as some kind of final status, it will have
    to be the status of a specific /PARTIAL SIMULATOR's/ simulation of a
    given computation.  That's not a property of the computation itself, as different partial simulators can simulate the same computation and
    terminate for different reasons.  Like HHH(DDD) aborts, while UTM(DDD) simulates to completion and so the final simulation status is halts.
    [Neither of those outcomes contradict the fact that the computation
    DDD() halts.]

    If some partial simulator halts when simulating a computation [as with UTM(DDD)] that implies the computation DDD() halts.  But if the
    simulator aborts, it doesn't say that much (in and of itself) about
    whether the /computation/ halts.  The halting problem statement is not concerned with simulations or how the simulations end.

    Every time anyone in these PO threads says "halts" it ought to be 100%
    clear to everyone whether the computation itself is being discussed, or whether some simulation final status is intended.  (But that's far from being the case!)  Since the halting problem is concerned with
    computations halting and not how partial simulations are ended, I
    suggest that PO explicitly make clear that he is referring to
    simulations, whenever that is the case.  It seems reasonable that
    readers seeing "halts" with no further clarification can interpret that
    as actual computation behaviour, as that is how the term is always used
    in the literature.  Same with other terms like "reach"...

    So when PO says "DDD simulated by HHH cannot reach its final ret
    instruction" is he talking about the computation DDD() [as defined mathematically], or its simulation by HHH?  He means the latter, but its
    far from clear, I'd say!  [I think most readers now have come around to reading it as a statement about simulations rather than the actual computation, which totally changes things...]


    Mike.


    I think the key point here is Olcott thinks when he says "DDD simulated
    by HHH cannot reach its final ret instruction" is that the computation
    DDD() as defined by the field, doesn't reach the final ret instruction,
    and wants us to think that, but his argument only supports that the
    PARTIAL simulation done by the decider can't reach that point.

    Fundamentally, his error is that he thinks the "behavior" of the input
    is determined by what the decider itself does with that input, not what
    the problem statement defines it as, because that definition means that
    things he can't stand must be true.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to Alan Mackenzie on Sun Jul 28 01:40:42 2024
    On 27/07/2024 19:14, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted.
    This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in for
    turing machines. A turing machine is either running or halted. There is
    no third state "aborted". An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing machine.

    So aborted programs are halted programs. If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.


    Aborting is an action performed by a simulator, not the TM being simulated.

    If we want to count "aborted" as some kind of final status, it will have to be the status of a
    specific /PARTIAL SIMULATOR's/ simulation of a given computation. That's not a property of the
    computation itself, as different partial simulators can simulate the same computation and terminate
    for different reasons. Like HHH(DDD) aborts, while UTM(DDD) simulates to completion and so the
    final simulation status is halts. [Neither of those outcomes contradict the fact that the
    computation DDD() halts.]

    If some partial simulator halts when simulating a computation [as with UTM(DDD)] that implies the
    computation DDD() halts. But if the simulator aborts, it doesn't say that much (in and of itself)
    about whether the /computation/ halts. The halting problem statement is not concerned with
    simulations or how the simulations end.

    Every time anyone in these PO threads says "halts" it ought to be 100% clear to everyone whether the
    computation itself is being discussed, or whether some simulation final status is intended. (But
    that's far from being the case!) Since the halting problem is concerned with computations halting
    and not how partial simulations are ended, I suggest that PO explicitly make clear that he is
    referring to simulations, whenever that is the case. It seems reasonable that readers seeing
    "halts" with no further clarification can interpret that as actual computation behaviour, as that is
    how the term is always used in the literature. Same with other terms like "reach"...

    So when PO says "DDD simulated by HHH cannot reach its final ret instruction" is he talking about
    the computation DDD() [as defined mathematically], or its simulation by HHH? He means the latter,
    but its far from clear, I'd say! [I think most readers now have come around to reading it as a
    statement about simulations rather than the actual computation, which totally changes things...]


    Mike.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Sat Jul 27 23:43:56 2024
    On 7/27/24 11:15 PM, olcott wrote:
    On 7/27/2024 7:40 PM, Mike Terry wrote:
    On 27/07/2024 19:14, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>> This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in for
    turing machines.  A turing machine is either running or halted.
    There is
    no third state "aborted".  An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing >>> machine.

    So aborted programs are halted programs.  If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.


    Aborting is an action performed by a simulator, not the TM being
    simulated.

    If we want to count "aborted" as some kind of final status, it will
    have to be the status of a specific /PARTIAL SIMULATOR's/ simulation
    of a given computation.  That's not a property of the computation
    itself, as different partial simulators can simulate the same
    computation and terminate for different reasons.  Like HHH(DDD)
    aborts, while UTM(DDD) simulates to completion and so the final
    simulation status is halts. [Neither of those outcomes contradict the
    fact that the computation DDD() halts.]

    If some partial simulator halts when simulating a computation [as with
    UTM(DDD)] that implies the computation DDD() halts.  But if the
    simulator aborts, it doesn't say that much (in and of itself) about
    whether the /computation/ halts.  The halting problem statement is not
    concerned with simulations or how the simulations end.

    Every time anyone in these PO threads says "halts" it ought to be 100%
    clear to everyone whether the computation itself is being discussed,
    or whether some simulation final status is intended.  (But that's far
    from being the case!)  Since the halting problem is concerned with
    computations halting and not how partial simulations are ended, I
    suggest that PO explicitly make clear that he is referring to
    simulations, whenever that is the case.  It seems reasonable that
    readers seeing "halts" with no further clarification can interpret
    that as actual computation behaviour, as that is how the term is
    always used in the literature.  Same with other terms like "reach"...

    So when PO says "DDD simulated by HHH cannot reach its final ret
    instruction" is he talking about the computation DDD() [as defined
    mathematically], or its simulation by HHH?  He means the latter, but
    its far from clear, I'd say!  [I think most readers now have come
    around to reading it as a statement about simulations rather than the
    actual computation, which totally changes things...]


    Mike.


    _DDD()
    [00002163] 55         push ebp      ; housekeeping
    [00002164] 8bec       mov ebp,esp   ; housekeeping
    [00002166] 6863210000 push 00002163 ; push DDD
    [0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
    [00002170] 83c404     add esp,+04
    [00002173] 5d         pop ebp
    [00002174] c3         ret
    Size in bytes:(0018) [00002174]

    It is a verified fact that DDD emulated by HHH 100% exactly
    and precisely according to the actual x86 semantics of
    the emulated code including the recursive call that causes
    HHH to emulate itself emulating DDD cannot possibly get
    past it own 0000216b machine address.

    No, it is a VERIFIED FACT that HHH does NOT 100% exactly and preciesly according to the actual x86 semantics of the emuilated code do anything
    is it doesn't meet that requirement. IT does NOT correct emulate the cll 000015c3 (call HHH(DDD) ) instruction, so you whole argument is based on
    a LIE.

    It doesn't even correctly emulate the code according to program
    equivalents, since HHH is a CONDITIONAL emulator, and HHH ignores that
    factd, and thus you LIES COMOPOND.


    *Anyone as much as hinting otherwise is not being truthful*
    If we remove all of the problematic code then this same
    trace still occurs until it crashes from OOM error.


    And, the fact that HHH can not possible emulate the input to the final
    state, becuase is has been programmed to abort its simulation without
    proper grouds just proves that its programmer (YOU) is an idiot.

    You are just proving you are totally ignorant of the field you are
    talking about and nothing you say should be given any consideration.

    YOu are PROVED this by making uncounted claims that you have NEVER been
    able to show one shread or reliable published papers that support your positions, and thus you have proven that you are nothibg but a pathetic ignorant pathological liar.

    You claim to be trying to combat various merchent of disinformation, but
    then you just use their own techniques, thereby valadating that they are acceptable to use.

    Sorry, you are a menace to society, and your lies exposed.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sun Jul 28 09:50:55 2024
    Op 27.jul.2024 om 22:05 schreef olcott:
    On 7/27/2024 2:55 PM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 21:27 schreef olcott:
    On 7/27/2024 1:50 PM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts >>>>>>> their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the
    inner HHH that modify its behaviour.  The Root flag below is
    derived from the actual static data and causes inner HHH to
    totally skip its own abort logic!

    You seem to acknowledge this, but claim it does not matter for
    various reasons, because whatever mistakes you are making, what
    finally gets printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:
    ;
    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there. >>>>>

    Mike Terry is right that a simulator has access to the internal
    state of the simulated machine, but he did not say that it is
    correct to *change in this way* the state of the simulated machine.
    Changing the state of the simulated machine is cheating.

    I know this and agree with him on this.

    Of course a simulator can modify the input before of during the
    simulation.

    No that is cheating too.

    That is exactly what you do when you change the value of the variable
    'Root'. 'Root' is a hidden input for HHH.

    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you understood only a little bit of x86, you would know that changing
    the value of a variable (like Root), will modify the behaviour of a
    program, making a cheating simulator.


    That you don't know this conclusively proves that you
    don't have sufficient understanding of the x86 language.

    Irrelevant nonsense ignored.


    All of the issues that Mike bought up have nothing to
    do with correct emulation. They only pertain to how
    the halt status decision is derived.

    So, why do you bring up x86?

    But you keep talking about a halt status. E.g. that the simulator must
    abort to halt a non-halting program.
    You are twisting the meaning of simulator often, as you think that
    aborting is part of a simulation.
    You seem to think that aborting is part of the semantics of the x86
    language.


    That the halt status decision is proven to be correct
    on the basis that its behavior pattern exactly matches
    this infinite recursion behavior pattern is proven.

    void Infinite_Recursion()
    {
      Infinite_Recursion();
    }

    _Infinite_Recursion()
    [0000215a] 55         push ebp
    [0000215b] 8bec       mov ebp,esp
    [0000215d] e8f8ffffff call 0000215a ; recursive call
    [00002162] 5d         pop ebp
    [00002163] c3         ret
    Size in bytes:(0010) [00002163]

    Begin Local Halt Decider Simulation   Execution Trace Stored at:113934 [0000215a][00113924][00113928] 55         push ebp [0000215b][00113924][00113928] 8bec       mov ebp,esp [0000215d][00113920][00002162] e8f8ffffff call 0000215a [0000215a][0011391c][00113924] 55         push ebp [0000215b][0011391c][00113924] 8bec       mov ebp,esp [0000215d][00113918][00002162] e8f8ffffff call 0000215a
    Local Halt Decider: Infinite Recursion Detected Simulation Stopped


    Proof by example fails.

    That the simulation is incorrect is because HHH (and apparently its
    programmer) think that a two level recursion is an infinite recursion.
    HHH is simply unable to decide about comparable finite recursions.

    void Finite_Recursion (int N) {
    if (N > 0) Finite_Recursion (N - 1);
    }

    It decides after N recursions that there is an infinite recursion, which
    is incorrect.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sun Jul 28 09:59:47 2024
    Op 28.jul.2024 om 05:15 schreef olcott:
    On 7/27/2024 7:40 PM, Mike Terry wrote:
    On 27/07/2024 19:14, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>> This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in for
    turing machines.  A turing machine is either running or halted.
    There is
    no third state "aborted".  An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing >>> machine.

    So aborted programs are halted programs.  If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.


    Aborting is an action performed by a simulator, not the TM being
    simulated.

    If we want to count "aborted" as some kind of final status, it will
    have to be the status of a specific /PARTIAL SIMULATOR's/ simulation
    of a given computation.  That's not a property of the computation
    itself, as different partial simulators can simulate the same
    computation and terminate for different reasons.  Like HHH(DDD)
    aborts, while UTM(DDD) simulates to completion and so the final
    simulation status is halts. [Neither of those outcomes contradict the
    fact that the computation DDD() halts.]

    If some partial simulator halts when simulating a computation [as with
    UTM(DDD)] that implies the computation DDD() halts.  But if the
    simulator aborts, it doesn't say that much (in and of itself) about
    whether the /computation/ halts.  The halting problem statement is not
    concerned with simulations or how the simulations end.

    Every time anyone in these PO threads says "halts" it ought to be 100%
    clear to everyone whether the computation itself is being discussed,
    or whether some simulation final status is intended.  (But that's far
    from being the case!)  Since the halting problem is concerned with
    computations halting and not how partial simulations are ended, I
    suggest that PO explicitly make clear that he is referring to
    simulations, whenever that is the case.  It seems reasonable that
    readers seeing "halts" with no further clarification can interpret
    that as actual computation behaviour, as that is how the term is
    always used in the literature.  Same with other terms like "reach"...

    So when PO says "DDD simulated by HHH cannot reach its final ret
    instruction" is he talking about the computation DDD() [as defined
    mathematically], or its simulation by HHH?  He means the latter, but
    its far from clear, I'd say!  [I think most readers now have come
    around to reading it as a statement about simulations rather than the
    actual computation, which totally changes things...]


    Mike.


    _DDD()
    [00002163] 55         push ebp      ; housekeeping
    [00002164] 8bec       mov ebp,esp   ; housekeeping
    [00002166] 6863210000 push 00002163 ; push DDD
    [0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
    [00002170] 83c404     add esp,+04
    [00002173] 5d         pop ebp
    [00002174] c3         ret
    Size in bytes:(0018) [00002174]

    It is a verified fact that DDD emulated by HHH 100% exactly
    and precisely according to the actual x86 semantics of
    the emulated code including the recursive call that causes
    HHH to emulate itself emulating DDD cannot possibly get
    past it own 0000216b machine address.

    *Anyone as much as hinting otherwise is not being truthful*
    If we remove all of the problematic code then this same
    trace still occurs until it crashes from OOM error.


    No matter how much olcott wants it to be correct, or how many times
    olcott repeats that it is correct, it does not change the fact that such
    a simulation is incorrect, because it is unable to reach the end.
    Olcott's own claim that the simulated HHH does not reach its end
    confirms it. The trace he has shown also proves that HHH cannot reach
    the end of its own simulation. So, his own claims prove that it is true
    that HHH cannot possibly simulate itself up to the end, which makes the simulation incomplete and, therefore, incorrect.
    It is against the semantics of the x86 language to skip instructions of
    a halting program and say it is non-halting.

    Sipser would agree that this incorrect simulation cannot be used to
    detect a non-halting behaviour.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Sun Jul 28 11:57:28 2024
    On 2024-07-27 19:27:16 +0000, olcott said:

    On 7/27/2024 1:50 PM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts
    their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH effectively >>>> uses the static mutable data to pass flags to the inner HHH that modify >>>> its behaviour.  The Root flag below is derived from the actual static >>>> data and causes inner HHH to totally skip its own abort logic!

    You seem to acknowledge this, but claim it does not matter for various >>>> reasons, because whatever mistakes you are making, what finally gets
    printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:
    ;
    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there.


    Mike Terry is right that a simulator has access to the internal state
    of the simulated machine, but he did not say that it is correct to
    *change in this way* the state of the simulated machine.
    Changing the state of the simulated machine is cheating.

    I know this and agree with him on this.

    Of course a simulator can modify the input before of during the simulation.

    No that is cheating too.

    It can change instructions, it can change the value of variable (such as Root).
    However, it is clear that when it simulates a modified input, it is no
    longer simulating its input.
    This is what happens when the simulator changes the value of Root. It
    changes the (hidden) input of the simulated machine, so that the
    simulator does no longer simulate the input, but something else.


    It is a verified fact that HHH get the correct halt
    status decision in that HHH exactly matched that same
    behavior pattern as this:

    No, it is not a verified fact. It is obvious from the code of DDD
    that DDD halts if HHH does, and otherwise HHH does not answer.
    Therefore, if HHH answers, the correct answer is "halts".

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Sun Jul 28 11:59:26 2024
    On 2024-07-27 20:05:31 +0000, olcott said:

    On 7/27/2024 2:55 PM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 21:27 schreef olcott:
    On 7/27/2024 1:50 PM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    Richard might be able to understand it yet the fact that he is
    stuck in rebuttal mode makes any understanding that he may have
    utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs
    and never has provided data downward to its slaves that corrupts >>>>>>> their halt status decision. They don't even make a halt status
    decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH effectively >>>>>> uses the static mutable data to pass flags to the inner HHH that modify >>>>>> its behaviour.  The Root flag below is derived from the actual static >>>>>> data and causes inner HHH to totally skip its own abort logic!

    You seem to acknowledge this, but claim it does not matter for various >>>>>> reasons, because whatever mistakes you are making, what finally gets >>>>>> printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:
    ;
    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there. >>>>>

    Mike Terry is right that a simulator has access to the internal state
    of the simulated machine, but he did not say that it is correct to
    *change in this way* the state of the simulated machine.
    Changing the state of the simulated machine is cheating.

    I know this and agree with him on this.

    Of course a simulator can modify the input before of during the simulation.

    No that is cheating too.

    That is exactly what you do when you change the value of the variable
    'Root'. 'Root' is a hidden input for HHH.

    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness
    you would know that DDD is incorrectly emnulated by HHH.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Sun Jul 28 12:23:13 2024
    On 2024-07-27 18:20:19 +0000, olcott said:

    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted.
    This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in for
    turing machines. A turing machine is either running or halted. There is
    no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt decider.

    You also need the conventional ideas of halting and halt decider.
    The latter is largely a combination of the conventional ideas of
    decider and halting but also involves the conventional of
    prediction, so you need that, too.

    Although the conventional idea of testing is not relevant to the construction of a simulating partial halt decider it is helpful to presentation of the result, especially if your target audience contains software engineers. If
    your target audience is mainly mathematicians the convnetional idea of proofs is more useful because in that case most of your presentation must be proofs.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to Alan Mackenzie on Sun Jul 28 12:10:14 2024
    On 2024-07-27 18:14:52 +0000, Alan Mackenzie said:

    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted.
    This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in for
    turing machines. A turing machine is either running or halted. There is
    no third state "aborted". An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing machine.

    So aborted programs are halted programs. If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.

    May I disagree? An "aborted" Turing machine is a runnung Turing machine.
    Its state and rules specify and action that should be performed. Whether
    it actually is performed does not affect the meaning.

    The qestion to be answerd is whether the computation specified by the
    input ever terminates if fully executed. Whether the computation is
    eve fully executed does not alter the meaning of the question but may
    help to find out whether any given answer is correct.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alan Mackenzie@21:1/5 to Mike Terry on Sun Jul 28 11:31:24 2024
    Mike Terry <news.dead.person.stones@darjeeling.plus.com> wrote:
    On 27/07/2024 19:14, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted.
    This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in for
    turing machines. A turing machine is either running or halted. There is
    no third state "aborted". An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing
    machine.

    So aborted programs are halted programs. If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.


    Aborting is an action performed by a simulator, not the TM being simulated.

    OK, so if a simulator aborts the program it's simulating, that program is
    still in state running, even though it's a suspended animation which will
    never get any further. The simulator, having aborted the program, then
    has no more work to do, so the simulator will be in state halted. Is
    that right?

    If we want to count "aborted" as some kind of final status, it will
    have to be the status of a specific /PARTIAL SIMULATOR's/ simulation of
    a given computation. That's not a property of the computation itself,
    as different partial simulators can simulate the same computation and terminate for different reasons. Like HHH(DDD) aborts, while UTM(DDD) simulates to completion and so the final simulation status is halts.
    [Neither of those outcomes contradict the fact that the computation
    DDD() halts.]

    If some partial simulator halts when simulating a computation [as with UTM(DDD)] that implies the computation DDD() halts. But if the
    simulator aborts, it doesn't say that much (in and of itself) about
    whether the /computation/ halts. The halting problem statement is not concerned with simulations or how the simulations end.

    Indeed not!

    Every time anyone in these PO threads says "halts" it ought to be 100%
    clear to everyone whether the computation itself is being discussed, or whether some simulation final status is intended. (But that's far from
    being the case!) Since the halting problem is concerned with
    computations halting and not how partial simulations are ended, I
    suggest that PO explicitly make clear that he is referring to
    simulations, whenever that is the case. It seems reasonable that
    readers seeing "halts" with no further clarification can interpret that
    as actual computation behaviour, as that is how the term is always used
    in the literature. Same with other terms like "reach"...

    So when PO says "DDD simulated by HHH cannot reach its final ret
    instruction" is he talking about the computation DDD() [as defined mathematically], or its simulation by HHH? He means the latter, but
    its far from clear, I'd say! [I think most readers now have come
    around to reading it as a statement about simulations rather than the
    actual computation, which totally changes things...]

    OK. Thanks for the explanations!

    Mike.

    --
    Alan Mackenzie (Nuremberg, Germany).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Sun Jul 28 12:58:28 2024
    On 7/28/24 10:11 AM, olcott wrote:
    On 7/28/2024 2:50 AM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 22:05 schreef olcott:
    On 7/27/2024 2:55 PM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 21:27 schreef olcott:
    On 7/27/2024 1:50 PM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical >>>>>>>>> competence to understand it.

    Richard might be able to understand it yet the fact that he is >>>>>>>>> stuck in rebuttal mode makes any understanding that he may have >>>>>>>>> utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs >>>>>>>>> and never has provided data downward to its slaves that corrupts >>>>>>>>> their halt status decision. They don't even make a halt status >>>>>>>>> decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the
    inner HHH that modify its behaviour.  The Root flag below is
    derived from the actual static data and causes inner HHH to
    totally skip its own abort logic!

    You seem to acknowledge this, but claim it does not matter for >>>>>>>> various reasons, because whatever mistakes you are making, what >>>>>>>> finally gets printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:
    ;
    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there. >>>>>>>

    Mike Terry is right that a simulator has access to the internal
    state of the simulated machine, but he did not say that it is
    correct to *change in this way* the state of the simulated machine. >>>>>> Changing the state of the simulated machine is cheating.

    I know this and agree with him on this.

    Of course a simulator can modify the input before of during the
    simulation.

    No that is cheating too.

    That is exactly what you do when you change the value of the
    variable 'Root'. 'Root' is a hidden input for HHH.

    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you understood only a little bit of x86, you would know that
    changing the value of a variable (like Root), will modify the
    behaviour of a program, making a cheating simulator.


    I have been programming in the x86 language since it was new.


    And thus you should know that a call instruction goes to the subroutine
    called, and the execution continues there, and unless you look at what
    that routine ACTUALLY does, you don't know what your code does.

    That subroutine HHH is PART of the program DDD, and thus DDDs behavior
    is a function of it, so you can't look at the behavior of one version of
    DDD that uses one version of HHH to figure out what a DIFFERENT version
    of DDD that uses a DIFFERENT version of HHH does.

    I commented the whole block of code out that does the abort
    so that HHH is just a simulator and not a termination analyzer
    and it just keeps on running until the instruction limited of
    50,000,000 instructions have been emulated. Every recursive
    emulation take about 100-fold more steps than the prior one.


    But that just shows that you ignore the fundamental property of
    programs, that you need to look at the code of the program you are
    deciding on, not something else.

    I seem to remember you calling people who looked at something that
    wasn't the ACTUAL input just damned liars.

    If the input describing DDD doesn'tr include HHH, then it isn't a
    program and you are just a liar that you are giving it a proper input.

    Since HHH seems to know something of the HHH that DDD calls, it must be
    part of the specification of the input, and thus it that HHH doesn't do
    exactly per that specification, you are just that damned liar you were
    talking about.

    And One HHH that never aborts and the other HHH that do abort can not
    BOTH be a correct implementation of a full specification of what HHH
    is/does, so that again makes you that damned liar.

    _DDD()
    [00002137] 55               push ebp
    [00002138] 8bec             mov ebp,esp
    [0000213a] 6837210000       push 00002137
    [0000213f] e853f4ffff       call 00001597
    [00002144] 83c404           add esp,+04
    [00002147] 5d               pop ebp
    [00002148] c3               ret
    Size in bytes:(0018) [00002148]

    _main()
    [00002157] 55               push ebp
    [00002158] 8bec             mov ebp,esp
    [0000215a] e8d8ffffff       call 00002137
    [0000215f] 33c0             xor eax,eax
    [00002161] 5d               pop ebp
    [00002162] c3               ret
    Size in bytes:(0012) [00002162]

     machine   stack     stack     machine    assembly
     address   address   data      code       language
     ========  ========  ========  =========  ============= [00002157][0010379f][00000000] 55               push ebp [00002158][0010379f][00000000] 8bec             mov ebp,esp [0000215a][0010379b][0000215f] e8d8ffffff       call 00002137 [00002137][00103797][0010379f] 55               push ebp [00002138][00103797][0010379f] 8bec             mov ebp,esp [0000213a][00103793][00002137] 6837210000       push 00002137 [0000213f][0010378f][00002144] e853f4ffff       call 00001597
    New slave_stack at:103843

    Begin Local Halt Decider Simulation   Execution Trace Stored at:11384b [00002137][0011383b][0011383f] 55               push ebp [00002138][0011383b][0011383f] 8bec             mov ebp,esp [0000213a][00113837][00002137] 6837210000       push 00002137 [0000213f][00113833][00002144] e853f4ffff       call 00001597
    New slave_stack at:14e26b
    [00002137][0015e263][0015e267] 55               push ebp [00002138][0015e263][0015e267] 8bec             mov ebp,esp [0000213a][0015e25f][00002137] 6837210000       push 00002137 [0000213f][0015e25b][00002144] e853f4ffff       call 00001597
    New slave_stack at:15e30b
    [00002137][0016e303][0016e307] 55               push ebp [00002138][0016e303][0016e307] 8bec             mov ebp,esp [0000213a][0016e2ff][00002137] 6837210000       push 00002137 [0000213f][0016e2fb][00002144] e853f4ffff       call 00001597
    New slave_stack at:16e3ab
    [00002137][0017e3a3][0017e3a7] 55               push ebp [00002138][0017e3a3][0017e3a7] 8bec             mov ebp,esp [0000213a][0017e39f][00002137] 6837210000       push 00002137 [0000213f][0017e39b][00002144] e853f4ffff       call 00001597
    New slave_stack at:17e44b
    [00002137][0018e443][0018e447] 55               push ebp
    Number of Instructions Executed(50000000) == 746269 Pages




    That you don't know this conclusively proves that you
    don't have sufficient understanding of the x86 language.

    Irrelevant nonsense ignored.


    All of the issues that Mike bought up have nothing to
    do with correct emulation. They only pertain to how
    the halt status decision is derived.

    So, why do you bring up x86?

    But you keep talking about a halt status. E.g. that the simulator must
    abort to halt a non-halting program.
    You are twisting the meaning of simulator often, as you think that
    aborting is part of a simulation.
    You seem to think that aborting is part of the semantics of the x86
    language.


    That the halt status decision is proven to be correct
    on the basis that its behavior pattern exactly matches
    this infinite recursion behavior pattern is proven.

    void Infinite_Recursion()
    {
       Infinite_Recursion();
    }

    _Infinite_Recursion()
    [0000215a] 55         push ebp
    [0000215b] 8bec       mov ebp,esp
    [0000215d] e8f8ffffff call 0000215a ; recursive call
    [00002162] 5d         pop ebp
    [00002163] c3         ret
    Size in bytes:(0010) [00002163]

    Begin Local Halt Decider Simulation   Execution Trace Stored at:113934 >>> [0000215a][00113924][00113928] 55         push ebp
    [0000215b][00113924][00113928] 8bec       mov ebp,esp
    [0000215d][00113920][00002162] e8f8ffffff call 0000215a
    [0000215a][0011391c][00113924] 55         push ebp
    [0000215b][0011391c][00113924] 8bec       mov ebp,esp
    [0000215d][00113918][00002162] e8f8ffffff call 0000215a
    Local Halt Decider: Infinite Recursion Detected Simulation Stopped


    Proof by example fails.

    That the simulation is incorrect is because HHH (and apparently its
    programmer) think that a two level recursion is an infinite recursion.
    HHH is simply unable to decide about comparable finite recursions.

    void Finite_Recursion (int N) {
       if (N > 0) Finite_Recursion (N - 1);
    }

    It decides after N recursions that there is an infinite recursion,
    which is incorrect.


    HHH(Infinite_Recursion) sees the non-halting pattern below.
    This *is* the exact same pattern that HHH(DDD) sees.

    Nope. because a call to Infinte_Recursion() is not the same as a call to HHH(DDD), since the later WILL abort its simulation and return, while
    the former is unable to do anything like it.

    So, You are just demonstrating that you are nothing but a pathetic
    ignorant pathological lying idiot that doesn't care about truth due t
    your reckless disregard for it.


    void Infinite_Recursion()
    {
      Infinite_Recursion();
    }

    _Infinite_Recursion()
    [0000215a] 55         push ebp      ; 1st line
    [0000215b] 8bec       mov ebp,esp   ; 2nd line
    [0000215d] e8f8ffffff call 0000215a ; 3rd line
    [00002162] 5d         pop ebp
    [00002163] c3         ret
    Size in bytes:(0010) [00002163]

    Begin Local Halt Decider Simulation   Execution Trace Stored at:113934 [0000215a][00113924][00113928] 55         push ebp      ; 1st line
    [0000215b][00113924][00113928] 8bec       mov ebp,esp   ; 2nd line [0000215d][00113920][00002162] e8f8ffffff call 0000215a ; 3rd line [0000215a][0011391c][00113924] 55         push ebp      ; 1st line
    [0000215b][0011391c][00113924] 8bec       mov ebp,esp   ; 2nd line [0000215d][00113918][00002162] e8f8ffffff call 0000215a ; 3rd line
    Local Halt Decider: Infinite Recursion Detected Simulation Stopped

    If you cannot see that the above x86 machine code proves that
    it will never halt then you can't possibly understand what I
    have been saying.

    The first three lines of _Infinite_Recursion() repeat and there
    are no conditional branch in that sequence that can possibly keep
    it from repeating forever.



    Right, but there *IS* in a correct emulation of a call HHH(DDD) either
    seeing it in the instructions of HHH, or in the definition of HHH as a
    DECIDER that may choose to abort it's emulation to return the answer of "non-halting".

    The fact that if it does so, it makes itself wrong, just shows why the
    problem in non-computable.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Sun Jul 28 21:09:33 2024
    Op 28.jul.2024 om 16:11 schreef olcott:
    On 7/28/2024 2:50 AM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 22:05 schreef olcott:
    On 7/27/2024 2:55 PM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 21:27 schreef olcott:
    On 7/27/2024 1:50 PM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    This is meant for Mike, Joes and Fred don't have the technical >>>>>>>>> competence to understand it.

    Richard might be able to understand it yet the fact that he is >>>>>>>>> stuck in rebuttal mode makes any understanding that he may have >>>>>>>>> utterly useless.

    Mike: It seems that HHH has been a pure function of its inputs >>>>>>>>> and never has provided data downward to its slaves that corrupts >>>>>>>>> their halt status decision. They don't even make a halt status >>>>>>>>> decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the
    inner HHH that modify its behaviour.  The Root flag below is
    derived from the actual static data and causes inner HHH to
    totally skip its own abort logic!

    You seem to acknowledge this, but claim it does not matter for >>>>>>>> various reasons, because whatever mistakes you are making, what >>>>>>>> finally gets printed out is saying the right thing!


    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible
    to get in a pure way. This makes it possible for HHH to get
    this answer in a pure way:

    Message-ID: <rLmcnQQ3-N_tvH_4nZ2dnZfqnPGdnZ2d@brightview.co.uk>
    On 3/1/2024 12:41 PM, Mike Terry wrote:
    ;
    Obviously a simulator has access to the internal state
    (tape contents etc.) of the simulated machine. No problem there. >>>>>>>

    Mike Terry is right that a simulator has access to the internal
    state of the simulated machine, but he did not say that it is
    correct to *change in this way* the state of the simulated machine. >>>>>> Changing the state of the simulated machine is cheating.

    I know this and agree with him on this.

    Of course a simulator can modify the input before of during the
    simulation.

    No that is cheating too.

    That is exactly what you do when you change the value of the
    variable 'Root'. 'Root' is a hidden input for HHH.

    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you understood only a little bit of x86, you would know that
    changing the value of a variable (like Root), will modify the
    behaviour of a program, making a cheating simulator.


    I have been programming in the x86 language since it was new.

    I commented the whole block of code out that does the abort
    so that HHH is just a simulator and not a termination analyzer
    and it just keeps on running until the instruction limited of
    50,000,000 instructions have been emulated. Every recursive
    emulation take about 100-fold more steps than the prior one.

    But by changing HHH, you also change the input to HHH. Of course, if a non-aborting HHH is simulating *itself*, it will never end.

    But that is very different from an aborting HHH that simulates *itself*.
    Then the input is an aborting HHH, which does not need to be aborted.

    Is it so difficult for you to understand that if you change HHH, then
    also the input for HHH is changed?

    HHH cannot possibly simulate itself correctly, whether or not it aborts.

    ...

    That the halt status decision is proven to be correct
    on the basis that its behavior pattern exactly matches
    this infinite recursion behavior pattern is proven.

    void Infinite_Recursion()
    {
       Infinite_Recursion();
    }

    _Infinite_Recursion()
    [0000215a] 55         push ebp
    [0000215b] 8bec       mov ebp,esp
    [0000215d] e8f8ffffff call 0000215a ; recursive call
    [00002162] 5d         pop ebp
    [00002163] c3         ret
    Size in bytes:(0010) [00002163]

    Begin Local Halt Decider Simulation   Execution Trace Stored at:113934 >>> [0000215a][00113924][00113928] 55         push ebp
    [0000215b][00113924][00113928] 8bec       mov ebp,esp
    [0000215d][00113920][00002162] e8f8ffffff call 0000215a
    [0000215a][0011391c][00113924] 55         push ebp
    [0000215b][0011391c][00113924] 8bec       mov ebp,esp
    [0000215d][00113918][00002162] e8f8ffffff call 0000215a
    Local Halt Decider: Infinite Recursion Detected Simulation Stopped


    Proof by example fails.

    That the simulation is incorrect is because HHH (and apparently its
    programmer) think that a two level recursion is an infinite recursion.
    HHH is simply unable to decide about comparable finite recursions.

    void Finite_Recursion (int N) {
       if (N > 0) Finite_Recursion (N - 1);
    }

    It decides after N recursions that there is an infinite recursion,
    which is incorrect.


    HHH(Infinite_Recursion) sees the non-halting pattern below.
    This *is* the exact same pattern that HHH(DDD) sees.

    void Infinite_Recursion()
    {
      Infinite_Recursion();
    }

    No, for the aborting HHH, which aborts and halts after N recursions, the pattern is more like:

    void Finite_Recursion (int N) {
    if (N > 0) Finite_Recursion (N - 1);
    }


    It is so difficult for you to understand that if HHH is simulating
    *itself* (an aborting and halting HHH),then there are conditional
    branches in each recursion, namely those in HHH?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From joes@21:1/5 to All on Sun Jul 28 20:08:42 2024
    Am Sun, 28 Jul 2024 09:11:25 -0500 schrieb olcott:
    On 7/28/2024 2:50 AM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 22:05 schreef olcott:
    On 7/27/2024 2:55 PM, Fred. Zwarts wrote:
    Op 27.jul.2024 om 21:27 schreef olcott:
    On 7/27/2024 1:50 PM, Fred. Zwarts wrote:
    Op 26.jul.2024 om 22:14 schreef olcott:
    On 7/26/2024 2:46 PM, Mike Terry wrote:
    On 26/07/2024 16:56, olcott wrote:
    Mike: It seems that HHH has been a pure function of its inputs >>>>>>>>> and never has provided data downward to its slaves that corrupts >>>>>>>>> their halt status decision. They don't even make a halt status >>>>>>>>> decision thus cannot make a corrupted one.

    Well, the first two claims are literally untrue - outer HHH
    effectively uses the static mutable data to pass flags to the
    inner HHH that modify its behaviour.  The Root flag below is
    derived from the actual static data and causes inner HHH to
    totally skip its own abort logic!
    You seem to acknowledge this, but claim it does not matter for >>>>>>>> various reasons, because whatever mistakes you are making, what >>>>>>>> finally gets printed out is saying the right thing!

    If HHH gets the correct answer in an impure way then it only
    counts that it gets it in an impure way if it is impossible to get >>>>>>> in a pure way. This makes it possible for HHH to get this answer >>>>>>> in a pure way:
    It doesn't even get the answer correct.
    Mike Terry is right that a simulator has access to the internal
    state of the simulated machine, but he did not say that it is
    correct to *change in this way* the state of the simulated machine. >>>>>> Changing the state of the simulated machine is cheating.
    I know this and agree with him on this.

    Of course a simulator can modify the input before of during the
    simulation.

    No that is cheating too.

    That is exactly what you do when you change the value of the variable
    'Root'. 'Root' is a hidden input for HHH.

    If you had sufficient understanding of the x86 language you would know
    that DDD is correctly emulated by HHH.

    If you understood only a little bit of x86, you would know that
    changing the value of a variable (like Root), will modify the behaviour
    of a program, making a cheating simulator.

    I commented the whole block of code out that does the abort so that HHH
    is just a simulator and not a termination analyzer and it just keeps on running until the instruction limited of 50,000,000 instructions have
    been emulated. Every recursive emulation take about 100-fold more steps
    than the prior one.
    Of course HHH can't abort its not-aborting simulation if you comment
    that out. If left in, it can abort its aborting simulation - but it
    doesn't need to.

    All of the issues that Mike bought up have nothing to do with correct
    emulation. They only pertain to how the halt status decision is
    derived.
    So, why do you bring up x86?
    But you keep talking about a halt status. E.g. that the simulator must
    abort to halt a non-halting program.
    You are twisting the meaning of simulator often, as you think that
    aborting is part of a simulation.
    You seem to think that aborting is part of the semantics of the x86
    language.

    That the halt status decision is proven to be correct on the basis
    that its behavior pattern exactly matches this infinite recursion
    behavior pattern is proven.
    Proof by example fails.
    That the simulation is incorrect is because HHH (and apparently its
    programmer) think that a two level recursion is an infinite recursion.
    HHH is simply unable to decide about comparable finite recursions.

    void Finite_Recursion (int N) {
      if (N > 0) Finite_Recursion (N - 1);
    }
    It decides after N recursions that there is an infinite recursion,
    which is incorrect.

    HHH(Infinite_Recursion) sees the non-halting pattern below.
    This *is* the exact same pattern that HHH(DDD) sees.
    No, it is not. HHH should see that HHH can abort.

    The first three lines of _Infinite_Recursion() repeat and there are no conditional branch in that sequence that can possibly keep it from
    repeating forever.
    Only your HHH does have an (incorrectly unreachable) branch:
    the one with if(Root).

    --
    Am Sat, 20 Jul 2024 12:35:31 +0000 schrieb WM in sci.math:
    It is not guaranteed that n+1 exists for every n.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Sun Jul 28 20:32:14 2024
    On 7/28/24 7:54 PM, olcott wrote:
    On 7/28/2024 4:23 AM, Mikko wrote:
    On 2024-07-27 18:20:19 +0000, olcott said:

    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>>> This is not the same as reaching its ret instruction and terminating >>>>> normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in for
    turing machines.  A turing machine is either running or halted.
    There is
    no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt decider.

    You also need the conventional ideas of halting and halt decider.
    The latter is largely a combination of the conventional ideas of
    decider and halting but also involves the conventional of
    prediction, so you need that, too.

    Although the conventional idea of testing is not relevant to the
    construction of a simulating partial halt decider it is helpful to
    presentation of the
    result, especially if your target audience contains software
    engineers. If your target audience is mainly mathematicians the
    convnetional idea of proofs is more useful because in that case most
    of your presentation must be proofs.


    My ideas must be anchored in fully specified running software
    otherwise the false assumptions made by computer science people
    remain hidden.

    And that software PROVES your ideas wrong.


    Even when I slap them in the face with proven facts they deny
    these proven facts on the basis of their indoctrination.

    Even Mike is trying to get away with saying that DDD correctly
    emulated by HHH according to the semantics specified by the
    machine code of DDD and the machine code of HHH when DDD calls
    HHH(DDD) in recursive emulation is incorrectly emulated.

    HHH(DDD) has the exact same pattern as Infinite_Recursion()
    where there are no conditional branch instructions that would
    prevent the first three instructions of Infinite_Recursion()
    from endlessly repeating.

    How do you say that?

    Infinite_Recursion calls itself and HHH can trace a full loop of the
    cycle to see no conditionals, allowing the inductive proof to be formed.

    DDD calls HHH(DDD), which, isn't the same as calling DDD.

    If HHH does an ACTUAL x86 emulation, it will emulate into HHH and NEVER
    see the actual path of execution get back to DDD, as HHH never actually
    "jumps" or "calls" DDD, but just emulates it, which is only a logical
    action at a different level of interpretation.

    If you relax your definitions, and allow HHH to be just a functional
    emulator, then it needs to know that HHH is a CONDITIONAL emulator (if
    it isn't then it can't ever abort to answer) and as such, that
    conditional gets inserted before EVERY instruction that HHH emulates,
    and that conditional breaks the inductive proof, unless you can show
    that it is never taken (which again breaks HHH as a decider0.

    So, all you have shown is that you are so stupid that you think that a condtional emulation is "EXACTLY" the same thing as a direct call, even
    after it has been clearly pointed out to you, showing that you are
    nothing but a pathetic ignorant patholgocial lying idiot with a total
    and reckless disregard for the truth.


    void Infinite_Recursion()
    {
      Infinite_Recursion();
    }

    _Infinite_Recursion()
    [0000215a] 55         push ebp      ; 1st line
    [0000215b] 8bec       mov ebp,esp   ; 2nd line
    [0000215d] e8f8ffffff call 0000215a ; 3rd line
    [00002162] 5d         pop ebp
    [00002163] c3         ret
    Size in bytes:(0010) [00002163]

    Begin Local Halt Decider Simulation   Execution Trace Stored at:113934 [0000215a][00113924][00113928] 55         push ebp      ; 1st line
    [0000215b][00113924][00113928] 8bec       mov ebp,esp   ; 2nd line [0000215d][00113920][00002162] e8f8ffffff call 0000215a ; 3rd line [0000215a][0011391c][00113924] 55         push ebp      ; 1st line
    [0000215b][0011391c][00113924] 8bec       mov ebp,esp   ; 2nd line [0000215d][00113918][00002162] e8f8ffffff call 0000215a ; 3rd line
    Local Halt Decider: Infinite Recursion Detected Simulation Stopped

    =====

    void DDD()
    {
      HHH(DDD);
    }

    _DDD()
    [00002177] 55               push ebp      ; 1st line [00002178] 8bec             mov ebp,esp   ; 2nd line
    [0000217a] 6877210000       push 00002177 ; push DDD
    [0000217f] e853f4ffff       call 000015d7 ; call HHH
    [00002184] 83c404           add esp,+04
    [00002187] 5d               pop ebp
    [00002188] c3               ret
    Size in bytes:(0018) [00002188]

    // executed HHH emulates 1st instance of DDD
    New slave_stack at:10388d
    Begin Local Halt Decider Simulation   Execution Trace Stored at:113895 [00002177][00113885][00113889] 55         push ebp      ; 1st line
    [00002178][00113885][00113889] 8bec       mov ebp,esp   ; 2nd line [0000217a][00113881][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0011387d][00002184] e853f4ffff call 000015d7 ; call HHH

    // emulated HHH emulates 2nd instance of DDD

    Which ISN'T a correct x86 simulation, and for a conditional emulaiton
    you need to add:

    New slave_stack at:14e2b5
    simulated HHH decides not to abort simulation yet.
    [00002177][0015e2ad][0015e2b1] 55         push ebp      ; 1st line
    aimulated HHH decides not to abort simulation yet.
    [00002178][0015e2ad][0015e2b1] 8bec       mov ebp,esp   ; 2nd line
    simulated HHH decides not to abort simulation yet.
    [0000217a][0015e2a9][00002177] 6877210000 push 00002177 ; push DDD
    simulatd HHH decides not to abort simulation yet.
    [0000217f][0015e2a5][00002184] e853f4ffff call 000015d7 ; call HHH

    Local Halt Decider: Infinite Recursion Detected Simulation Stopped


    But, since we have all those conditionals, that on later cycles of the
    loop might turn into decisions to abort, just like the outer one did,
    the conclusion is INCORRECT.

    Sorry, you are just proving you don't understand what you are talking about.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Mon Jul 29 10:27:45 2024
    On 2024-07-28 23:54:54 +0000, olcott said:

    On 7/28/2024 4:23 AM, Mikko wrote:
    On 2024-07-27 18:20:19 +0000, olcott said:

    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>>> This is not the same as reaching its ret instruction and terminating >>>>> normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in for
    turing machines.  A turing machine is either running or halted. There is >>>> no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt decider.

    You also need the conventional ideas of halting and halt decider.
    The latter is largely a combination of the conventional ideas of
    decider and halting but also involves the conventional of
    prediction, so you need that, too.

    Although the conventional idea of testing is not relevant to the
    construction of a simulating partial halt decider it is helpful to
    presentation of the
    result, especially if your target audience contains software engineers.
    If your target audience is mainly mathematicians the convnetional idea
    of proofs is more useful because in that case most of your presentation
    must be proofs.

    My ideas must be anchored in fully specified running software
    otherwise the false assumptions made by computer science people
    remain hidden.

    There is no "must" there. You may present your ideas whichever way you
    think is the best for your purposes.

    One good way to avoid false assumptions is to clearly state what is
    assumed instead. Sometimes it may be necessary to clearly state what
    is not assumed.

    Even when I slap them in the face with proven facts they deny
    these proven facts on the basis of their indoctrination.

    Facts are never proven. They are observed.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Mon Jul 29 21:29:52 2024
    Op 29.jul.2024 om 18:50 schreef olcott:
    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness
    you would know that DDD is incorrectly emnulated by HHH.


    This is only seems that way because every reviewer makes sure
    to ignore one aspect of the basis of another.

    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
        If simulating halt decider H correctly simulates its input D
        until H correctly determines that its simulated D would never
        stop running unless aborted then

        H can abort its simulation of D and correctly report that D
        specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>

    _DDD()
    [00002163] 55         push ebp      ; housekeeping
    [00002164] 8bec       mov ebp,esp   ; housekeeping
    [00002166] 6863210000 push 00002163 ; push DDD
    [0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
    [00002170] 83c404     add esp,+04
    [00002173] 5d         pop ebp
    [00002174] c3         ret
    Size in bytes:(0018) [00002174]

    DDD is correctly emulated by HHH until HHH correctly
    determines that

     *its simulated DDD would never stop running unless aborted*
     *its simulated DDD would never stop running unless aborted*
     *its simulated DDD would never stop running unless aborted*

    You should pay more attention to your own words: HHH *does* abort.

    And since the simulation *does* abort, DDD stops running.
    Dreams of a HHH that does not abort cannot be used as a substitute for
    logic.
    HHH does abort. It is not needed to abort the simulation of an aborting
    and halting HHH, not even when in your dreams there exists a HHH that
    does not abort.

    Sipser would agree that this simulation is incorrect.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Mon Jul 29 21:33:37 2024
    Op 29.jul.2024 om 14:59 schreef olcott:
    On 7/29/2024 2:27 AM, Mikko wrote:
    On 2024-07-28 23:54:54 +0000, olcott said:

    On 7/28/2024 4:23 AM, Mikko wrote:
    On 2024-07-27 18:20:19 +0000, olcott said:

    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been
    aborted.
    This is not the same as reaching its ret instruction and terminating >>>>>>> normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in for >>>>>> turing machines.  A turing machine is either running or halted.
    There is
    no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt decider. >>>>
    You also need the conventional ideas of halting and halt decider.
    The latter is largely a combination of the conventional ideas of
    decider and halting but also involves the conventional of
    prediction, so you need that, too.

    Although the conventional idea of testing is not relevant to the
    construction of a simulating partial halt decider it is helpful to
    presentation of the
    result, especially if your target audience contains software
    engineers. If your target audience is mainly mathematicians the
    convnetional idea of proofs is more useful because in that case most
    of your presentation must be proofs.

    My ideas must be anchored in fully specified running software
    otherwise the false assumptions made by computer science people
    remain hidden.

    There is no "must" there. You may present your ideas whichever way you
    think is the best for your purposes.


    Even when I make my ideas 100% concrete people still deny
    the verified facts.When I make them less than 100% concrete
    it is not as specific as verified facts.

    One good way to avoid false assumptions is to clearly state what is
    assumed instead. Sometimes it may be necessary to clearly state what
    is not assumed.

    Even when I slap them in the face with proven facts they deny
    these proven facts on the basis of their indoctrination.

    Facts are never proven. They are observed.


    You didn't even bother to look at how HHH examines the
    execution trace of Infinite_Recursion() to determine that Infinite_Recursion() specifies non-halting behavior.

    Because of this you cannot see that the execution trace
    of DDD correctly emulated by DDD is essentially this same
    trace and thus also specifies non-halting behavior.

    void Infinite_Recursion()
    {
      Infinite_Recursion();
    }

    _Infinite_Recursion()
    [0000215a] 55         push ebp      ; 1st line
    [0000215b] 8bec       mov ebp,esp   ; 2nd line
    [0000215d] e8f8ffffff call 0000215a ; 3rd line
    [00002162] 5d         pop ebp
    [00002163] c3         ret
    Size in bytes:(0010) [00002163]

    Begin Local Halt Decider Simulation   Execution Trace Stored at:113934 [0000215a][00113924][00113928] 55         push ebp      ; 1st line
    [0000215b][00113924][00113928] 8bec       mov ebp,esp   ; 2nd line [0000215d][00113920][00002162] e8f8ffffff call 0000215a ; 3rd line [0000215a][0011391c][00113924] 55         push ebp      ; 1st line
    [0000215b][0011391c][00113924] 8bec       mov ebp,esp   ; 2nd line [0000215d][00113918][00002162] e8f8ffffff call 0000215a ; 3rd line
    Local Halt Decider: Infinite Recursion Detected Simulation Stopped

    =====

    void DDD()
    {
      HHH(DDD);
    }

    _DDD()
    [00002177] 55               push ebp      ; 1st line [00002178] 8bec             mov ebp,esp   ; 2nd line
    [0000217a] 6877210000       push 00002177 ; push DDD
    [0000217f] e853f4ffff       call 000015d7 ; call HHH
    [00002184] 83c404           add esp,+04
    [00002187] 5d               pop ebp
    [00002188] c3               ret
    Size in bytes:(0018) [00002188]

    The input for the simulator is DDD and all functions called by it,
    including HHH, which has conditional branch instructions.
    So, it compares better with:

    void Finite_Recursion (int N) {
    if (N > 0) Finite_Recursion (N - 1);
    }


    // executed HHH emulates 1st instance of DDD
    New slave_stack at:10388d
    Begin Local Halt Decider Simulation   Execution Trace Stored at:113895 [00002177][00113885][00113889] 55         push ebp      ; 1st line
    [00002178][00113885][00113889] 8bec       mov ebp,esp   ; 2nd line [0000217a][00113881][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0011387d][00002184] e853f4ffff call 000015d7 ; call HHH

    Olcott is cheating. He hides that the call instruction should be
    followed by the instructions of HHH according to the semantics of the
    x86 language. HHH has conditional branch instructions.


    // emulated HHH emulates 2nd instance of DDD
    New slave_stack at:14e2b5
    [00002177][0015e2ad][0015e2b1] 55         push ebp      ; 1st line
    [00002178][0015e2ad][0015e2b1] 8bec       mov ebp,esp   ; 2nd line [0000217a][0015e2a9][00002177] 6877210000 push 00002177 ; push DDD [0000217f][0015e2a5][00002184] e853f4ffff call 000015d7 ; call HHH

    Olcott is cheating. He hides that the call instruction should be
    followed by the instructions of HHH according to the semantics of the
    x86 language. HHH has conditional branch instructions.

    Local Halt Decider: Infinite Recursion Detected Simulation Stopped


    Invalid decision. Only two recursions detected. Two is not infinite.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to Alan Mackenzie on Mon Jul 29 22:27:19 2024
    On 28/07/2024 12:31, Alan Mackenzie wrote:
    Mike Terry <news.dead.person.stones@darjeeling.plus.com> wrote:
    On 27/07/2024 19:14, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>> This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here. All your C programs are a stand in for
    turing machines. A turing machine is either running or halted. There is >>> no third state "aborted". An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing >>> machine.

    So aborted programs are halted programs. If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.


    Aborting is an action performed by a simulator, not the TM being simulated.

    OK, so if a simulator aborts the program it's simulating, that program is still in state running, even though it's a suspended animation which will never get any further. The simulator, having aborted the program, then
    has no more work to do, so the simulator will be in state halted. Is
    that right?


    The way simulators are discussed in these threads, the simulator is a /component/ within some other
    program such as some partial halt decider program. The role of the (partial) simulator is to
    calculate the computation steps of the computation represented by its input. Also it will need to
    give the main program the ability to interogate the status of its simulation as it progresses - e.g.
    to determine which state its simulated program has reached, and where it is positioned on its
    simulated tape and the simulated tape contents. The rest of the program /uses/ the component.
    Typically it might analyse the results from calling the simulator looking for patterns which
    indicate halting/non-halting behaviour of its simulated computation. We could call that the
    program's halt-analysis logic, which is logically separate from the simulation code.

    So we could say the status of the simulator after aborting is like the status of a component in a
    C++ program after the last call to the component - it is still there, I suppose, but just not being
    called. Like the status of the printf function after its final call in a program. I wouldn't say
    the simulator was halted, just like I wouldn't say the printf routine was halted. Such component
    code doesn't have its own halt status because it is part of some larger program.

    As to the program it was simulating - well that program was never "running" as such - it was just
    being simulated in a virtual machine. That is just a particular form of data manipulation performed
    by the main program. Is the virtual machine still there, if its owning code has abandoned it? I
    think the question doesn't make sense. Perhaps the simulator has "freed" all the resources that
    were used during the simulation, but there's no requirement for a TM to do that, and it really
    doesn't matter!

    Hope that makes sense,
    Mike.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Mon Jul 29 19:49:10 2024
    On 7/29/24 12:50 PM, olcott wrote:
    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness
    you would know that DDD is incorrectly emnulated by HHH.


    This is only seems that way because every reviewer makes sure
    to ignore one aspect of the basis of another.

    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
        If simulating halt decider H correctly simulates its input D
        until H correctly determines that its simulated D would never
        stop running unless aborted then

        H can abort its simulation of D and correctly report that D
        specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>

    But since the definition that Professor Sipser uses of a "Correct
    Simulation" is one that exactly reproduces the behavior of the machine described by the input, and thus can not "abort" it simulation, but can
    only stop when it reaches a final state, your decider HHH does not do
    such a simulation (orit wouldn't be a decider) so it can't use itself as
    a basis to abort, and it doesn't correctly determine that an ACTUAL
    correct simulation will not halt, as since your H DOES abort and return,
    the simulation by the real correct simulaiton will reach the end, thus
    your H was just incorrect to do the abort.

    Remember, the input DDD INCLUDES a copy of the HHH that you are using to
    claim to be right, and thus doesn't change when we hand the input to
    that actual correct simulator.


    _DDD()
    [00002163] 55         push ebp      ; housekeeping
    [00002164] 8bec       mov ebp,esp   ; housekeeping
    [00002166] 6863210000 push 00002163 ; push DDD
    [0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
    [00002170] 83c404     add esp,+04
    [00002173] 5d         pop ebp
    [00002174] c3         ret
    Size in bytes:(0018) [00002174]

    DDD is correctly emulated by HHH until HHH correctly
    determines that

     *its simulated DDD would never stop running unless aborted*
     *its simulated DDD would never stop running unless aborted*
     *its simulated DDD would never stop running unless aborted*


    Nope, the CORRECT simulation of DDD will halt BECAUSE your HHH aborts
    its simulation, and thus doesn't do a correct simulation of the input,
    and thus can't claim the second paragraph.


    You are just proving your stupidity, and the fact that you are nothing
    more than a pathetic ignorant pathological lying idiot that recklessly disregards the truth, even after having it pointed out to you many times.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Tue Jul 30 10:00:11 2024
    On 2024-07-29 16:50:53 +0000, olcott said:

    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness
    you would know that DDD is incorrectly emnulated by HHH.

    This is only seems that way because every reviewer makes sure
    to ignore one aspect of the basis of another.

    It is perfectly OK to ignore irrelevant details. A relevant detail
    is the meaning of the word "emulate" as that determines what is a
    correct emulation and what is not.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Tue Jul 30 10:15:12 2024
    On 2024-07-29 16:55:46 +0000, olcott said:

    On 7/28/2024 4:10 AM, Mikko wrote:
    On 2024-07-27 18:14:52 +0000, Alan Mackenzie said:

    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>> This is not the same as reaching its ret instruction and terminating
    normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in for
    turing machines.  A turing machine is either running or halted.  There is >>> no third state "aborted".  An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing >>> machine.

    So aborted programs are halted programs.  If you disagree, perhaps you
    could point out where in my arguments above I'm wrong.

    May I disagree? An "aborted" Turing machine is a runnung Turing machine.

    A Turing machine has no notion of being aborted.

    That's correct. But you have used the word anyway.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Tue Jul 30 10:11:35 2024
    On 2024-07-29 12:59:59 +0000, olcott said:

    On 7/29/2024 2:27 AM, Mikko wrote:
    On 2024-07-28 23:54:54 +0000, olcott said:

    On 7/28/2024 4:23 AM, Mikko wrote:
    On 2024-07-27 18:20:19 +0000, olcott said:

    On 7/27/2024 1:14 PM, Alan Mackenzie wrote:
    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>>>>> This is not the same as reaching its ret instruction and terminating >>>>>>> normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in for >>>>>> turing machines.  A turing machine is either running or halted. There is
    no third state "aborted".

    Until you take the conventional ideas of
    (a) UTM
    (b) TM Description
    (c) Decider
    and combine them together to become a simulating partial halt decider. >>>>
    You also need the conventional ideas of halting and halt decider.
    The latter is largely a combination of the conventional ideas of
    decider and halting but also involves the conventional of
    prediction, so you need that, too.

    Although the conventional idea of testing is not relevant to the
    construction of a simulating partial halt decider it is helpful to
    presentation of the
    result, especially if your target audience contains software engineers. >>>> If your target audience is mainly mathematicians the convnetional idea >>>> of proofs is more useful because in that case most of your presentation >>>> must be proofs.

    My ideas must be anchored in fully specified running software
    otherwise the false assumptions made by computer science people
    remain hidden.

    There is no "must" there. You may present your ideas whichever way you
    think is the best for your purposes.

    Even when I make my ideas 100% concrete people still deny
    the verified facts.

    Perhaps you should add a pointer to the verification report when you
    call smoething a "verified fact". Otherwise the lack of verification
    of the verification is sufficient suspect your "verified facts".

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Tue Jul 30 21:21:30 2024
    On 7/30/24 7:40 PM, olcott wrote:
    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:

    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness
    you would know that DDD is incorrectly emnulated by HHH.

    This is only seems that way because every reviewer makes sure
    to ignore one aspect of the basis of another.

    It is perfectly OK to ignore irrelevant details. A relevant detail
    is the meaning of the word "emulate" as that determines what is a
    correct emulation and what is not.


    *It is not OK to ignore*

    This algorithm is used by all the simulating termination analyzers:
    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
        If simulating halt decider *H correctly simulates its input D*
        *until H correctly determines that its simulated D would never*
        *stop running unless aborted* then

        H can abort its simulation of D and correctly report that D
        specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>

    for DDD correctly emulated by HHH until...


    But correctly emulated by HHH until... is not correctly emulated by HHH.

    If you stop doing something that you are supposed to continue doing, you haven't done it correctly.


    Note, Professor Sipser statement is that if the decide can prove that
    the input would not halt if given to a totally correct simulator. Note,
    That means *THIS* input, exactly as given to H, which if it calls that
    H, includes still calling *THAT* H, not something else.

    When we do that, and H does the abort and return, then the correct
    simulation sees the input call H which will then simulate for a while,
    abort and return and thus the correct simulation halts, and thus H could
    not have "correctly determined" that it didn't halt.

    THus, H was just incorrect in its behavior.

    You are just caught trying to play a shell game and LYING by changing
    the input.

    Sorry, you are just proving that you are nothing but a pathetic ignorant pathological lying idiot who recklessly disregards the truth that has
    been shown him, becuase you have brainwashed yourself to beleive your
    own lies.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Wed Jul 31 12:03:56 2024
    On 2024-07-30 23:27:24 +0000, olcott said:

    On 7/30/2024 2:15 AM, Mikko wrote:
    On 2024-07-29 16:55:46 +0000, olcott said:

    On 7/28/2024 4:10 AM, Mikko wrote:
    On 2024-07-27 18:14:52 +0000, Alan Mackenzie said:

    olcott <polcott333@gmail.com> wrote:

    Stopping running is not the same as halting.
    DDD emulated by HHH stops running when its emulation has been aborted. >>>>>> This is not the same as reaching its ret instruction and terminating >>>>>> normally (AKA halting).

    I think you're wrong, here.  All your C programs are a stand in for >>>>> turing machines.  A turing machine is either running or halted. There is
    no third state "aborted".  An aborted C program certainly doesn't
    correspond with a running turing machine - so it must be a halted turing >>>>> machine.

    So aborted programs are halted programs.  If you disagree, perhaps you >>>>> could point out where in my arguments above I'm wrong.

    May I disagree? An "aborted" Turing machine is a runnung Turing machine. >>>
    A Turing machine has no notion of being aborted.

    That's correct. But you have used the word anyway.

    It seems that either you have ADD or are becoming a liar.

    Do you mean that you have never used the word "abort"?

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Wed Jul 31 12:15:01 2024
    On 2024-07-30 23:40:21 +0000, olcott said:

    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:

    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness
    you would know that DDD is incorrectly emnulated by HHH.

    This is only seems that way because every reviewer makes sure
    to ignore one aspect of the basis of another.

    It is perfectly OK to ignore irrelevant details. A relevant detail
    is the meaning of the word "emulate" as that determines what is a
    correct emulation and what is not.

    *It is not OK to ignore*

    This algorithm is used by all the simulating termination analyzers:
    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
    If simulating halt decider *H correctly simulates its input D*
    *until H correctly determines that its simulated D would never*
    *stop running unless aborted* then

    H can abort its simulation of D and correctly report that D
    specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>

    for DDD correctly emulated by HHH until...

    It is as Sipser does not say whether DDD is correctly simulated by HHH
    or what would constitute a correct simulation.

    What is relevant is that the emolator program in HHH contains details
    that are not specified by the x86 language.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Thu Aug 1 10:52:39 2024
    On 2024-07-31 17:33:38 +0000, olcott said:

    On 7/31/2024 4:15 AM, Mikko wrote:
    On 2024-07-30 23:40:21 +0000, olcott said:

    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:

    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness
    you would know that DDD is incorrectly emnulated by HHH.

    This is only seems that way because every reviewer makes sure
    to ignore one aspect of the basis of another.

    It is perfectly OK to ignore irrelevant details. A relevant detail
    is the meaning of the word "emulate" as that determines what is a
    correct emulation and what is not.

    *It is not OK to ignore*

    This algorithm is used by all the simulating termination analyzers:
    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
         If simulating halt decider *H correctly simulates its input D*
         *until H correctly determines that its simulated D would never* >>>      *stop running unless aborted* then

         H can abort its simulation of D and correctly report that D
         specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>

    for DDD correctly emulated by HHH until...

    It is as Sipser does not say whether DDD is correctly simulated by HHH
    or what would constitute a correct simulation.


    This has already been fully established elsewhere.

    You have never shown any proof about either "correctly".

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Thu Aug 1 10:54:51 2024
    On 2024-07-31 17:37:49 +0000, olcott said:

    On 7/31/2024 4:15 AM, Mikko wrote:
    On 2024-07-30 23:40:21 +0000, olcott said:

    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:

    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness
    you would know that DDD is incorrectly emnulated by HHH.

    This is only seems that way because every reviewer makes sure
    to ignore one aspect of the basis of another.

    It is perfectly OK to ignore irrelevant details. A relevant detail
    is the meaning of the word "emulate" as that determines what is a
    correct emulation and what is not.

    *It is not OK to ignore*

    This algorithm is used by all the simulating termination analyzers:
    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
         If simulating halt decider *H correctly simulates its input D*
         *until H correctly determines that its simulated D would never* >>>      *stop running unless aborted* then

         H can abort its simulation of D and correctly report that D
         specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>

    for DDD correctly emulated by HHH until...

    It is as Sipser does not say whether DDD is correctly simulated by HHH
    or what would constitute a correct simulation.

    What is relevant is that the emolator program in HHH contains details
    that are not specified by the x86 language.


    It seems that every time I completely prove my point you
    change the subject to another point that I have already
    completely proven.

    Hard to tell as you never prove anything. Of course everthing is true about someting that never happens but that kind of thruth has no significance.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Thu Aug 1 14:52:36 2024
    Op 01.aug.2024 om 14:03 schreef olcott:
    On 8/1/2024 2:52 AM, Mikko wrote:
    On 2024-07-31 17:33:38 +0000, olcott said:

    On 7/31/2024 4:15 AM, Mikko wrote:
    On 2024-07-30 23:40:21 +0000, olcott said:

    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:

    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness >>>>>>>> you would know that DDD is incorrectly emnulated by HHH.

    This is only seems that way because every reviewer makes sure
    to ignore one aspect of the basis of another.

    It is perfectly OK to ignore irrelevant details. A relevant detail >>>>>> is the meaning of the word "emulate" as that determines what is a
    correct emulation and what is not.

    *It is not OK to ignore*

    This algorithm is used by all the simulating termination analyzers:
    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>>      If simulating halt decider *H correctly simulates its input D* >>>>>      *until H correctly determines that its simulated D would never* >>>>>      *stop running unless aborted* then

         H can abort its simulation of D and correctly report that D >>>>>      specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>>
    for DDD correctly emulated by HHH until...

    It is as Sipser does not say whether DDD is correctly simulated by HHH >>>> or what would constitute a correct simulation.


    This has already been fully established elsewhere.

    You have never shown any proof about either "correctly".


    When instructions are executed/emulated according to the
    semantics of the x86 language then they are executed/emulated
    correctly.


    But only those instructions. A halting program is simulated correctly if
    no instructions are skipped.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Thu Aug 1 16:06:27 2024
    Op 01.aug.2024 om 14:56 schreef olcott:
    On 8/1/2024 7:52 AM, Fred. Zwarts wrote:
    Op 01.aug.2024 om 14:03 schreef olcott:
    On 8/1/2024 2:52 AM, Mikko wrote:
    On 2024-07-31 17:33:38 +0000, olcott said:

    On 7/31/2024 4:15 AM, Mikko wrote:
    On 2024-07-30 23:40:21 +0000, olcott said:

    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:

    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness >>>>>>>>>> you would know that DDD is incorrectly emnulated by HHH.

    This is only seems that way because every reviewer makes sure >>>>>>>>> to ignore one aspect of the basis of another.

    It is perfectly OK to ignore irrelevant details. A relevant detail >>>>>>>> is the meaning of the word "emulate" as that determines what is a >>>>>>>> correct emulation and what is not.

    *It is not OK to ignore*

    This algorithm is used by all the simulating termination analyzers: >>>>>>> <MIT Professor Sipser agreed to ONLY these verbatim words
    10/13/2022>
         If simulating halt decider *H correctly simulates its input D* >>>>>>>      *until H correctly determines that its simulated D would never*
         *stop running unless aborted* then

         H can abort its simulation of D and correctly report that D >>>>>>>      specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words
    10/13/2022>

    for DDD correctly emulated by HHH until...

    It is as Sipser does not say whether DDD is correctly simulated by >>>>>> HHH
    or what would constitute a correct simulation.


    This has already been fully established elsewhere.

    You have never shown any proof about either "correctly".


    When instructions are executed/emulated according to the
    semantics of the x86 language then they are executed/emulated
    correctly.


    But only those instructions. A halting program is simulated correctly
    if no instructions are skipped.


    Correctly and correctly and completely are not the
    same damn thing you freaking moron.


    Correctly includes completely for a halting program. If the last few instructions of halting program are skipped, important behaviour of the program is hidden.
    That you have no arguments, except ad hominem attacks, tells a lot.
    The simulation of HHH by itself is incomplete and, therefore, incorrect.
    Nobody will believe you when you say the the simulation of only the
    first few instructions of a halting program shows the behaviour of that program.
    But you are a slow learner. You will probably repeat the same errors
    another thousand times.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From joes@21:1/5 to All on Thu Aug 1 15:46:02 2024
    Am Thu, 01 Aug 2024 07:56:27 -0500 schrieb olcott:
    On 8/1/2024 7:52 AM, Fred. Zwarts wrote:
    Op 01.aug.2024 om 14:03 schreef olcott:
    On 8/1/2024 2:52 AM, Mikko wrote:
    On 2024-07-31 17:33:38 +0000, olcott said:
    On 7/31/2024 4:15 AM, Mikko wrote:
    On 2024-07-30 23:40:21 +0000, olcott said:
    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:
    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:

    When instructions are executed/emulated according to the semantics of
    the x86 language then they are executed/emulated correctly.

    But only those instructions. A halting program is simulated correctly
    if no instructions are skipped.

    Correctly and completely are not the same damn thing you
    freaking moron.
    Yes, an incomplete simulation is also incorrect.

    --
    Am Sat, 20 Jul 2024 12:35:31 +0000 schrieb WM in sci.math:
    It is not guaranteed that n+1 exists for every n.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Thu Aug 1 21:26:51 2024
    Op 01.aug.2024 om 18:00 schreef olcott:
    On 8/1/2024 10:46 AM, joes wrote:
    Am Thu, 01 Aug 2024 07:56:27 -0500 schrieb olcott:
    On 8/1/2024 7:52 AM, Fred. Zwarts wrote:
    Op 01.aug.2024 om 14:03 schreef olcott:
    On 8/1/2024 2:52 AM, Mikko wrote:
    On 2024-07-31 17:33:38 +0000, olcott said:
    On 7/31/2024 4:15 AM, Mikko wrote:
    On 2024-07-30 23:40:21 +0000, olcott said:
    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:
    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:

    When instructions are executed/emulated according to the semantics of >>>>> the x86 language then they are executed/emulated correctly.

    But only those instructions. A halting program is simulated correctly
    if no instructions are skipped.

    Correctly and completely are not the same damn thing you
    freaking moron.
    Yes, an incomplete simulation is also incorrect.


    When N steps of DDD are emulated correctly one can only
    say that N steps were not emulated correctly when one
    is a liar.

    Nobody claims it. It is just your dream.
    When the last M steps of a halting DDD are skipped, one can only say
    that it is a correct simulation when one is a liar.
    This is the reality.


    When a correct and complete emulation is impossible
    because the computation has no end then it is pretty
    damn stupid to insist an a complete emulation.


    Nobody claims it. It is just your dream.
    When a correct and complete simulation of HHH by itself is not possible
    even when HHH halts, then it is pretty stupid to insist that a correct simulation of halting program shows that it does not halt.
    That is the reality.

    Dreams are no substitute for fact, not for logic.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From joes@21:1/5 to Good thing I only on Thu Aug 1 19:35:56 2024
    Am Thu, 01 Aug 2024 11:00:04 -0500 schrieb olcott:
    On 8/1/2024 10:46 AM, joes wrote:
    Am Thu, 01 Aug 2024 07:56:27 -0500 schrieb olcott:
    On 8/1/2024 7:52 AM, Fred. Zwarts wrote:
    Op 01.aug.2024 om 14:03 schreef olcott:
    On 8/1/2024 2:52 AM, Mikko wrote:
    On 2024-07-31 17:33:38 +0000, olcott said:
    On 7/31/2024 4:15 AM, Mikko wrote:
    On 2024-07-30 23:40:21 +0000, olcott said:
    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:
    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:

    When instructions are executed/emulated according to the semantics
    of the x86 language then they are executed/emulated correctly.
    But only those instructions. A halting program is simulated correctly
    if no instructions are skipped.
    Correctly and completely are not the same damn thing you freaking
    moron.
    Yes, an incomplete simulation is also incorrect.
    When N steps of DDD are emulated correctly one can only say that N steps
    were not emulated correctly when one is a liar.
    Good thing I only said this: not all steps were simulated.

    When a correct and complete emulation is impossible because the
    computation has no end then it is pretty damn stupid to insist an a
    complete emulation.
    It is possible. It just doesn't end. The simulated machine isn't required
    to halt either

    --
    Am Sat, 20 Jul 2024 12:35:31 +0000 schrieb WM in sci.math:
    It is not guaranteed that n+1 exists for every n.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Fri Aug 2 09:34:25 2024
    On 2024-08-01 12:03:17 +0000, olcott said:

    On 8/1/2024 2:52 AM, Mikko wrote:
    On 2024-07-31 17:33:38 +0000, olcott said:

    On 7/31/2024 4:15 AM, Mikko wrote:
    On 2024-07-30 23:40:21 +0000, olcott said:

    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:

    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:
    If you had sufficient understanding of the x86 language
    you would know that DDD is correctly emulated by HHH.

    If you had suffient understanding of x86 language and correctness >>>>>>>> you would know that DDD is incorrectly emnulated by HHH.

    This is only seems that way because every reviewer makes sure
    to ignore one aspect of the basis of another.

    It is perfectly OK to ignore irrelevant details. A relevant detail >>>>>> is the meaning of the word "emulate" as that determines what is a
    correct emulation and what is not.

    *It is not OK to ignore*

    This algorithm is used by all the simulating termination analyzers:
    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>>      If simulating halt decider *H correctly simulates its input D* >>>>>      *until H correctly determines that its simulated D would never* >>>>>      *stop running unless aborted* then

         H can abort its simulation of D and correctly report that D >>>>>      specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022> >>>>>
    for DDD correctly emulated by HHH until...

    It is as Sipser does not say whether DDD is correctly simulated by HHH >>>> or what would constitute a correct simulation.


    This has already been fully established elsewhere.

    You have never shown any proof about either "correctly".


    When instructions are executed/emulated according to the
    semantics of the x86 language then they are executed/emulated
    correctly.

    When the execution is discontinued at a point where x86 semantics
    require continuation the first unexecuted instruction is not
    executed correctly.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Fred. Zwarts@21:1/5 to All on Fri Aug 2 10:31:36 2024
    Op 01.aug.2024 om 23:00 schreef olcott:
    On 8/1/2024 2:26 PM, Fred. Zwarts wrote:
    Op 01.aug.2024 om 18:00 schreef olcott:
    On 8/1/2024 10:46 AM, joes wrote:
    Am Thu, 01 Aug 2024 07:56:27 -0500 schrieb olcott:
    On 8/1/2024 7:52 AM, Fred. Zwarts wrote:
    Op 01.aug.2024 om 14:03 schreef olcott:
    On 8/1/2024 2:52 AM, Mikko wrote:
    On 2024-07-31 17:33:38 +0000, olcott said:
    On 7/31/2024 4:15 AM, Mikko wrote:
    On 2024-07-30 23:40:21 +0000, olcott said:
    On 7/30/2024 2:00 AM, Mikko wrote:
    On 2024-07-29 16:50:53 +0000, olcott said:
    On 7/28/2024 3:59 AM, Mikko wrote:
    On 2024-07-27 20:05:31 +0000, olcott said:

    When instructions are executed/emulated according to the
    semantics of
    the x86 language then they are executed/emulated correctly.

    But only those instructions. A halting program is simulated correctly >>>>>> if no instructions are skipped.

    Correctly and completely are not the same damn thing you
    freaking moron.
    Yes, an incomplete simulation is also incorrect.


    When N steps of DDD are emulated correctly one can only
    say that N steps were not emulated correctly when one
    is a liar.

    Nobody claims it. It is just your dream.
    When the last M steps of a halting DDD are skipped, one can only say
    that it is a correct simulation when one is a liar.
    This is the reality.


    When a correct and complete emulation is impossible
    because the computation has no end then it is pretty
    damn stupid to insist an a complete emulation.


    Nobody claims it. It is just your dream.
    When a correct and complete simulation of HHH by itself is not
    possible even when HHH halts, then it is pretty stupid to insist that
    a correct simulation of halting program shows that it does not halt.
    That is the reality.

    Dreams are no substitute for fact, not for logic.


    There are no last steps of DDD correctly emulated by HHH.

    Yes, that is your dream. No evidence presented.

    There are N steps of DDD correctly emulated by HHH that
    prove there are no last steps of DDD correctly emulated
    by HHH. This is essentially mathematical induction.

    This is the real evidence:
    HHH is simulating *itself*. HHH is coded to abort after two cycles.
    When HHH aborts after two cycles, the simulated HHH has one cycle to go.
    After that last cycle HHH returns to DDD and DDD halts.
    So, there are last steps of DDD, when correctly simulated.
    This is shown by the correct simulation by HHH1.
    But olcott keeps dreaming.
    Dreams are no substitute for facts, not for logic.

    DDD is a misleading and unneeded complication. It is easy to eliminate DDD:

    int main() {
    return HHH(main);
    }

    This has the same problem. This proves that the problem is not in DDD,
    but in HHH, which halts when it aborts the simulation, but it decides
    that the simulation of itself does not halt.
    It shows that HHH cannot possibly simulate itself correctly.

    HHH is simply unable to decide about comparable finite recursions.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to olcott on Sat Aug 3 10:47:55 2024
    On 2024-07-26 15:56:55 +0000, olcott said:

    This is meant for Mike, Joes and Fred don't have the technical
    competence to understand it.

    You should not talk about abilities of other people. That is
    off-topic for the group and is not useful for any purpose.
    And you have already demostrated that you cannot evaluate
    abilities of other people.

    --
    Mikko

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