• Re: DD simulated by HHH cannot possibly halt (Halting Problem)

    From Richard Heathfield@21:1/5 to olcott on Sat Apr 5 08:42:41 2025
    On 05/04/2025 07:14, olcott wrote:
    On 4/4/2025 10:49 PM, Richard Heathfield wrote:
    On 05/04/2025 00:41, olcott wrote:
    *Simulating termination analyzer Principle*
    It is always correct for any simulating termination
    analyzer to stop simulating and reject any input that
    would otherwise prevent its own termination. The
    only rebuttal to this is rejecting the notion that
    deciders must always halt.


    typedef void (*ptr)();
    int HHH(ptr P);

    int DD()
    {
      int Halt_Status = HHH(DD);
      if (Halt_Status)
        HERE: goto HERE;
      return Halt_Status;
    }

    int main()
    {
      HHH(DD);
    }

    In other words, you operate on the principle that deciders
    don't have to (and indeed can't) always make a correct decision
    on whether an input program halts.


    The termination analyzer HHH would be correct
    to determine that it must stop simulating DD to
    prevent its own non-termination

    Fine, but then it fails to do its job. What you are learning
    (albeit slowly) is that the termination analyser HHH can't
    analyse whether DD terminates. It is therefore not a general
    purpose termination analyser.

    Your reasoning is that it has a good excuse and can be forgiven
    for failing. Fine, but it still fails. Calling an abort 'correct'
    doesn't stop it being an abort.

    --
    Richard Heathfield
    Email: rjh at cpax dot org dot uk
    "Usenet is a strange place" - dmr 29 July 1999
    Sig line 4 vacant - apply within

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sat Apr 5 19:45:52 2025
    On 05/04/2025 19:11, olcott wrote:
    On 4/5/2025 11:25 AM, dbush wrote:
    On 4/5/2025 11:59 AM, olcott wrote:
    On 4/5/2025 2:42 AM, Richard Heathfield wrote:
    On 05/04/2025 07:14, olcott wrote:
    On 4/4/2025 10:49 PM, Richard Heathfield wrote:
    On 05/04/2025 00:41, olcott wrote:
    *Simulating termination analyzer Principle*
    It is always correct for any simulating termination
    analyzer to stop simulating and reject any input that
    would otherwise prevent its own termination. The
    only rebuttal to this is rejecting the notion that
    deciders must always halt.


    typedef void (*ptr)();
    int HHH(ptr P);

    int DD()
    {
       int Halt_Status = HHH(DD);
       if (Halt_Status)
         HERE: goto HERE;
       return Halt_Status;
    }

    int main()
    {
       HHH(DD);
    }

    In other words, you operate on the principle that deciders
    don't have to (and indeed can't) always make a correct
    decision on whether an input program halts.


    The termination analyzer HHH would be correct
    to determine that it must stop simulating DD to
    prevent its own non-termination

    Fine, but then it fails to do its job. What you are learning
    (albeit slowly) is that the termination analyser HHH can't
    analyse whether DD terminates. It is therefore not a general
    purpose termination analyser.


    Introduction to the Theory of Computation 3rd Edition
    by Michael Sipser (Author) (best selling textbook)

    <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 not what you think he agreed to:



    You have to show that by showing the details of how
    what he agreed to is not accurately paraphrased by
    *Simulating termination analyzer Principle*

    No, you have to show firstly that your H determines anything at
    all about D's behaviour. Then you have to show that its
    determination is correct. And then you have to show that it can
    do this for any input.

    Alternatively, you could stop arguing with all these naysayers
    and simply submit a paper to the Journal of the ACM.

    --
    Richard Heathfield
    Email: rjh at cpax dot org dot uk
    "Usenet is a strange place" - dmr 29 July 1999
    Sig line 4 vacant - apply within

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sat Apr 5 19:27:17 2025
    On 05/04/2025 16:59, olcott wrote:

    <snip>


    *Simulating termination analyzer Principle*
    It is always correct for any simulating termination
    analyzer to stop simulating and reject any input that
    would otherwise prevent its own termination.

    Translating that into English, then:

    It is always correct for the termination analyser to bail out
    early and thus fail to determine whether the input would halt of
    its own accord. That is, the termination analyser is allowed to
    guess, and its guess is blessed by Mr Olcott. Well, that's all
    right then.

    You twist and turn like a twisty-turny thing, but every wriggle
    takes you further away from The Halting Problem and closer and
    closer to the far less interesting Olcott Halting Problem.

    --
    Richard Heathfield
    Email: rjh at cpax dot org dot uk
    "Usenet is a strange place" - dmr 29 July 1999
    Sig line 4 vacant - apply within

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sat Apr 5 20:12:24 2025
    On 05/04/2025 20:01, olcott wrote:
    As any C programmer can see DDD simulated by HHH would cause
    any correct simulator to get stuck in recursive simulation

    As any C programmer can see, any C compiler is free to reject
    your code, which makes no attempt whatsoever to analyse the
    behaviour of the input program.

    That, of course, is not surprising. What /is/ surprising is that
    you have managed to drag this joke out for so long.

    --
    Richard Heathfield
    Email: rjh at cpax dot org dot uk
    "Usenet is a strange place" - dmr 29 July 1999
    Sig line 4 vacant - apply within

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sat Apr 5 21:30:04 2025
    On 05/04/2025 20:21, olcott wrote:
    On 4/5/2025 2:12 PM, Richard Heathfield wrote:
    On 05/04/2025 20:01, olcott wrote:
    As any C programmer can see DDD simulated by HHH would cause
    any correct simulator to get stuck in recursive simulation

    As any C programmer can see, any C compiler is free to reject
    your code,

    typedef void (*ptr)();
    int HHH(ptr P);

    void DDD()
    {
      HHH(DDD);
      return;
    }

    The above code is correct to the extent that some
    HHH is defined somewhere, so it seems that you are
    wrong

    No, you just don't know what I'm talking about. That doesn't
    surprise me, of course.

    I'm talking about your HHH code. Any conforming compiler can
    reject your assembly language inserts.

    and trying to change the subject.

    Variety is the spice of life.

    --
    Richard Heathfield
    Email: rjh at cpax dot org dot uk
    "Usenet is a strange place" - dmr 29 July 1999
    Sig line 4 vacant - apply within

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Janis Papanagnou@21:1/5 to Richard Heathfield on Sun Apr 6 00:12:58 2025
    On 05.04.2025 21:12, Richard Heathfield wrote:
    On 05/04/2025 20:01, olcott wrote:
    [...]

    [...] What /is/ surprising is that you
    have managed to drag this joke out for so long.

    It's not surprising as long as there are posters that (seriously)
    try to respond (in hope of convincing him or by other motivations).

    It appears regularly here in tape-worm threads, eventually stops,
    gets revived again by that poster, with the same contents and the
    same responses, etc. etc., rinse repeat.

    Thanks to killfiles I don't see that posters posts any more, but I
    see his threads if someone thinks he must response to this stuff.

    Janis

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sat Apr 5 23:14:23 2025
    On 05/04/2025 22:20, olcott wrote:
    On 4/5/2025 3:30 PM, Richard Heathfield wrote:
    On 05/04/2025 20:21, olcott wrote:
    On 4/5/2025 2:12 PM, Richard Heathfield wrote:
    On 05/04/2025 20:01, olcott wrote:
    As any C programmer can see DDD simulated by HHH would cause
    any correct simulator to get stuck in recursive simulation

    As any C programmer can see, any C compiler is free to reject
    your code,

    typedef void (*ptr)();
    int HHH(ptr P);

    void DDD()
    {
       HHH(DDD);
       return;
    }

    The above code is correct to the extent that some
    HHH is defined somewhere, so it seems that you are
    wrong

    No, you just don't know what I'm talking about. That doesn't
    surprise me, of course.

    I'm talking about your HHH code. Any conforming compiler can
    reject your assembly language inserts.


    I am not taking about that code.

    Yes, you are. And I quote: "As any C programmer can see DDD
    simulated by HHH"

    This post has only been about a hypothetical
    HHH that simulates its input.

    If you don't wish to be misunderstood, it would be a good idea
    for you to learn to express yourself more clearly. For example,
    you could choose better names for your hypothetical functions to
    avoid confusion between them and functions for which you've
    published the code on github.

    --
    Richard Heathfield
    Email: rjh at cpax dot org dot uk
    "Usenet is a strange place" - dmr 29 July 1999
    Sig line 4 vacant - apply within

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Janis Papanagnou@21:1/5 to Richard Heathfield on Sun Apr 6 00:15:44 2025
    On 05.04.2025 20:27, Richard Heathfield wrote:

    You twist and turn like a twisty-turny thing, but every wriggle takes
    you further away from The Halting Problem and closer and closer to the
    far less interesting Olcott Halting Problem.

    Nicely said. :-)

    Janis

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sun Apr 6 00:35:34 2025
    On 06/04/2025 00:16, olcott wrote:
    I am trying to explain how the actual HHH works
    one step at a time.

    But it doesn't, so you're wasting your time. The best you'll
    manage is to determine the termination status of /some/ programs.
    That's not in dispute. But all programs? Can't be done, as has
    been explained to you ad nauseam.

    --
    Richard Heathfield
    Email: rjh at cpax dot org dot uk
    "Usenet is a strange place" - dmr 29 July 1999
    Sig line 4 vacant - apply within

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From bart@21:1/5 to Richard Heathfield on Sun Apr 6 01:33:27 2025
    On 05/04/2025 20:12, Richard Heathfield wrote:
    On 05/04/2025 20:01, olcott wrote:
    As any C programmer can see DDD simulated by HHH would cause
    any correct simulator to get stuck in recursive simulation

    As any C programmer can see, any C compiler is free to reject your code, which makes no attempt whatsoever to analyse the behaviour of the input program.

    That, of course, is not surprising. What /is/ surprising is that you
    have managed to drag this joke out for so long.


    You're not helping.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sun Apr 6 02:08:15 2025
    On 06/04/2025 01:40, olcott wrote:
    On 4/5/2025 6:35 PM, Richard Heathfield wrote:
    On 06/04/2025 00:16, olcott wrote:
    I am trying to explain how the actual HHH works
    one step at a time.

    But it doesn't, so you're wasting your time. The best you'll
    manage is to determine the termination status of /some/
    programs. That's not in dispute. But all programs? Can't be
    done, as has been explained to you ad nauseam.


    int DD()
    {
      int Halt_Status = HHH(DD);
      if (Halt_Status)
        HERE: goto HERE;
      return Halt_Status;
    }

    As long as HHH determines the correct halt status
    of DD it has refuted ALL of the conventional HP proofs.

    No, it hasn't. Only if it can determine the correct halt status
    for /any and every/ program will it do that... and it can't, for
    reasons already explained many times in some depth.

    --
    Richard Heathfield
    Email: rjh at cpax dot org dot uk
    "Usenet is a strange place" - dmr 29 July 1999
    Sig line 4 vacant - apply within

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to Keith Thompson on Sun Apr 6 02:38:40 2025
    On 06/04/2025 02:23, Keith Thompson wrote:
    Richard Heathfield <rjh@cpax.org.uk> writes:
    [...]
    No, it hasn't. Only if it can determine the correct halt status for
    /any and every/ program will it do that... and it can't, for reasons
    already explained many times in some depth.

    olcott has largely taken over comp.theory, and his posts have dominated
    that newsgroup for years.

    Please stop helping him do the same to comp.lang.c.

    Fair point. Sorry.

    --
    Richard Heathfield
    Email: rjh at cpax dot org dot uk
    "Usenet is a strange place" - dmr 29 July 1999
    Sig line 4 vacant - apply within

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