• Re: Proving the: Simulating termination analyzer Principle

    From Richard Heathfield@21:1/5 to olcott on Sat Apr 5 22:58:02 2025
    On 05/04/2025 21:52, 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.

    *Halting Problem Principle*
    Let us call the function that will
    determine whether the program terminates
    "terminates (f, x)," and let us further sup-
    pose that it gives the answer true if the com-
    putation f(x) will eventually (in theory)
    terminate, and the answer false if it will
    never terminate. Of course, the function
    "terminates" itself should be designed
    always to terminate; otherwise its general
    usefulness would be seriously impaired.
    CAR Hoare AND DCS Allison, "Incomputability", 1972.

    So a "termination analyzer" (as you call it) is /required/ to
    terminate (with the correct answer).

    Because it must terminate, it cannot be allowed to depend on
    running programs to completion to see if they terminate, lest
    they don't. They must be cleverer than that.

    Fortunately we don't need to be too clever just to reason about
    terminates(). We can use pseudo-code to show how to call it and
    wave our way past its guts.

    We will assume that terminates() correctly echoes either "Does
    halt" or "Never halts" to the output device, ))))however((((( it
    arrives at the result, because whether it determines the answer
    by simulation or by parsing the source is /irrelevant/ as long as
    it gets the answer right.

    hp(arg candidate, arg testdata)
    {
    if(terminates(candidate(testdata)))
    {
    while(forever);
    }
    else
    {
    halt;
    }
    }

    We then invoke the program:

    hp(hp, hp)

    and try to predict what terminates() will report, and of course
    the answer is that we don't know, because neither does
    terminates(). The function cannot be written.

    --
    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 dbush on Sat Apr 5 23:18:01 2025
    On 05/04/2025 22:31, dbush wrote:
    On 4/5/2025 5:29 PM, olcott wrote:
    On 4/5/2025 4:15 PM, dbush wrote:
    On 4/5/2025 4:52 PM, 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.

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

    Except when doing so would change the input, as is the case
    with HHH and DDD.

    Changing the input is not allowed.

    You may disagree that the above definition
    of simulating termination analyzer is correct.

    It is self-evident that HHH must stop simulating
    DDD to prevent its own non-termination.


    Changing the input is not allowed.

    You're right, but it doesn't matter very much as long as
    terminates() *always* gets the answer right for any arbitrary
    program tape and any data tape. Mr Olcott's fails to do that.

    --
    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 23:31:16 2025
    On 05/04/2025 23:20, olcott wrote:
    On 4/5/2025 4:58 PM, Richard Heathfield wrote:

    <snip>

    hp(arg candidate, arg testdata)
    {
       if(terminates(candidate(testdata)))
       {
         while(forever);
       }
       else
       {
         halt;
       }
    }

    We then invoke the program:

    hp(hp, hp)

    and try to predict what terminates() will report, and of course
    the answer is that we don't know, because neither does
    terminates(). The function cannot be written.


    Understanding my simpler example was a mandatory
    prerequisite

    No, it wasn't.

    Understanding my example isn't mandatory either, which is just as
    well where you're concerned.

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

    That's fine, but it does beg the HHH() question. You are
    handwaving it for the same reason I am, which is that it can't be
    written. The difference between us is that I know it and you don't.

    --
    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 Kaz Kylheku@21:1/5 to Richard Heathfield on Sat Apr 5 22:42:08 2025
    On 2025-04-05, Richard Heathfield <[email protected]> wrote:
    On 05/04/2025 23:20, olcott wrote:
    ...
    The difference between us is that I know it and you don't.

    Olcott resides in a fortress he built out of bricks that were
    specially ordered from Dunning and Kruger's website.
    You're not getting through.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @[email protected]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to Kaz Kylheku on Sun Apr 6 00:25:47 2025
    On 05/04/2025 23:42, Kaz Kylheku wrote:
    On 2025-04-05, Richard Heathfield <[email protected]> wrote:
    On 05/04/2025 23:20, olcott wrote:
    ...
    The difference between us is that I know it and you don't.

    Olcott resides in a fortress he built out of bricks that were
    specially ordered from Dunning and Kruger's website.
    You're not getting through.

    Well, no. On the other hand, the discussion has in places driven
    me to the literature and has thus in its own way been
    educational. For example, I was surprised to discover that
    although Turing's 1936 paper does deal with the Halting Problem,
    he doesn't actually use that term, which didn't surface until
    1952. I also stumbled on a 1972 paper on incomputability by Tony
    Hoare and Donald Allison - well worth the read, and I was amused
    by its somewhat prescient opening paragraph: "[...] programmers
    have been known to attempt solutions to problems which are
    probably unsolvable; the existence of such problems should be of
    interest to all programmers." Clearly, 53 years ago, they already
    had Olcott nailed.

    --
    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 Sun Apr 6 00:45:06 2025
    On 06/04/2025 00:18, olcott wrote:
    On 4/5/2025 5:18 PM, Richard Heathfield wrote:
    On 05/04/2025 22:31, dbush wrote:
    <snip>

    Changing the input is not allowed.

    You're right, but it doesn't matter very much as long as
    terminates() *always* gets the answer right for any arbitrary
    program tape and any data tape. Mr Olcott's fails to do that.


    Termination analyzers are not required to be infallible.

    Then why all the fuss? Writing a program that doesn't have to
    work is not exactly difficult.

    int terminates(void (*prg)(), void *data)
    {
    return 1; /* job done */
    }

    "Termination analyzers are not required to be infallible." -
    Peter Olcott

    --
    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 Sun Apr 6 01:52:56 2025
    On 06/04/2025 01:30, olcott wrote:

    <snip>

    Everyone else seems to think that the correct way
    to handle a pathological relationship between an
    input and a termination analyzer is to simply ignore
    the differences that this makes. THAT CAN'T BE RIGHT !!!

    Everyone else (i.e. not you) knows that you are attempting to
    square the circle, trisect the angle, and find the exact value of
    pi. You're ignoring Post, Gödel, Church, Turing, Kleene, Hoare,
    and a zillion other computer scientists, and you're trying to
    write a program that can't be written. The fact that you've
    written a program is neither here nor there if it doesn't do
    what's required... which it doesn't.

    --
    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 James Kuyper@21:1/5 to olcott on Sat Apr 5 20:54:54 2025
    On 06/04/2025 00:18, olcott wrote:
    ...
    Termination analyzers are not required to be infallible.

    The Halting Problem refers to the impossibility of an infallible
    termination analyzer. Fallible termination analyzers are trivially
    possible - the question's not worth thinking about.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sun Apr 6 02:03:42 2025
    On 06/04/2025 01:36, olcott wrote:
    On 4/5/2025 6:20 PM, dbush wrote:
    On 4/5/2025 7:18 PM, olcott wrote:
    On 4/5/2025 5:18 PM, Richard Heathfield wrote:
    On 05/04/2025 22:31, dbush wrote:
    On 4/5/2025 5:29 PM, olcott wrote:
    On 4/5/2025 4:15 PM, dbush wrote:
    On 4/5/2025 4:52 PM, 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.

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

    Except when doing so would change the input, as is the
    case with HHH and DDD.

    Changing the input is not allowed.

    You may disagree that the above definition
    of simulating termination analyzer is correct.

    It is self-evident that HHH must stop simulating
    DDD to prevent its own non-termination.


    Changing the input is not allowed.

    You're right, but it doesn't matter very much as long as
    terminates() *always* gets the answer right for any arbitrary
    program tape and any data tape. Mr Olcott's fails to do that.


    Termination analyzers are not required to be infallible.



    But they must still generate the required mapping for the input
    they claim to answer correctly:


    Given any algorithm (i.e. a fixed immutable sequence of
    instructions) X described as <X> with input Y:

    A solution to the halting problem is an algorithm H that
    computes the following mapping:

    (<X>,Y) maps to 1 if and only if X(Y) halts when executed directly
    (<X>,Y) maps to 0 if and only if X(Y) does not halt when
    executed directly


    Exactly the opposite, they are only allowed to report
    on what they see.

    A solution is required to take into account all parts of the
    program that affect its termination status. It is not allowed to
    guess.

    --
    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 Sun Apr 6 01:59:39 2025
    On 06/04/2025 01:35, olcott wrote:
    On 4/5/2025 5:31 PM, Richard Heathfield wrote:
    On 05/04/2025 23:20, olcott wrote:
    On 4/5/2025 4:58 PM, Richard Heathfield wrote:

    <snip>

    hp(arg candidate, arg testdata)
    {
       if(terminates(candidate(testdata)))
       {
         while(forever);
       }
       else
       {
         halt;
       }
    }

    We then invoke the program:

    hp(hp, hp)

    and try to predict what terminates() will report, and of
    course the answer is that we don't know, because neither does
    terminates(). The function cannot be written.


    Understanding my simpler example was a mandatory
    prerequisite

    No, it wasn't.

    Understanding my example isn't mandatory either, which is just
    as well where you're concerned.

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

    That's fine, but it does beg the HHH() question. You are
    handwaving it for the same reason I am, which is that it can't
    be written. The difference between us is that I know it and you
    don't.


    HHH(DDD) is isomorphic to HHH(DD),

    Irrelevant.

    yet failing
    to understand that HHH(DDD) meets the
    *Simulating termination analyzer Principle*
    prevents the significance of this from being seen.

    It has no significance.

    There are only two possibilities: either it always gives the
    right answer or it doesn't. If it gives the wrong answer, it's of
    no interest.

    If it is claimed always to give the right answer, it becomes
    possible (as shown above in the chevrons) to write a program for
    which it will not be able to work out the right answer - reductio
    ad absurdum.

    Your 'principle' doesn't matter a jot.

    --
    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 Sun Apr 6 02:21:17 2025
    On 06/04/2025 01:43, olcott wrote:
    On 4/5/2025 7:34 PM, dbush wrote:
    On 4/5/2025 8:30 PM, olcott wrote:
    On 4/5/2025 5:27 PM, dbush wrote:
    On 4/5/2025 6:18 PM, Richard Heathfield wrote:
    On 05/04/2025 22:31, dbush wrote:
    On 4/5/2025 5:29 PM, olcott wrote:
    On 4/5/2025 4:15 PM, dbush wrote:
    On 4/5/2025 4:52 PM, 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.

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

    Except when doing so would change the input, as is the
    case with HHH and DDD.

    Changing the input is not allowed.

    You may disagree that the above definition
    of simulating termination analyzer is correct.

    It is self-evident that HHH must stop simulating
    DDD to prevent its own non-termination.


    Changing the input is not allowed.

    You're right, but it doesn't matter very much as long as
    terminates() *always* gets the answer right for any
    arbitrary program tape and any data tape. Mr Olcott's fails
    to do that.


    Of course you're correct. His criteria is basically what
    happens if you replace the code of X with a pure simulator
    and run X(Y) for some Y.


    Everyone else seems to think that the correct way
    to handle a pathological relationship between an
    input and a termination analyzer is to simply ignore
    the differences that this makes. THAT CAN'T BE RIGHT !!!


    Ignoring the relationship is exactly what you do when you
    change the code of HHH, thereby changing the input.

    Changing the input is not allowed.

    Ignoring the fact that the pathological
    relationship between the input and the
    termination analyzer changes the behavior
    of the input is certainly incorrect.

    The analyser is supposed to report on the behaviour of the input
    program as is, not a mutated version.

    Giving up and saying nothing can be done
    also seems incorrect.

    And yet giving up and accepting that Turing etc were right after
    all is /exactly/ the right thing to do.

    What else is left?

    Spending the time more productively instead of wasting your life
    on circle-squaring. Your argument is nothing but fluff; drop it
    and move on.

    --
    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 Sun Apr 6 02:31:44 2025
    On 06/04/2025 02:09, olcott wrote:
    On 4/5/2025 7:54 PM, James Kuyper wrote:
    On 06/04/2025 00:18, olcott wrote:
    ...
    Termination analyzers are not required to be infallible.

    The Halting Problem refers to the impossibility of an infallible
    termination analyzer. Fallible termination analyzers are trivially
    possible - the question's not worth thinking about.

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

    They are not trivially possible for the above input.


    Sure they are.

    unsigned hhh(ptr P)
    {
    unsigned r = rand();
    return r * (unsigned)P;
    }

    Getting it wrong is a walk in the park. Nobody disputes your
    claim that you can write broken code.

    --
    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 Sun Apr 6 02:37:43 2025
    On 06/04/2025 02:22, olcott wrote:

    <snip>

    The last step is validating that this principle is correct.

    Whether or not your "principle" is correct is neither here nor
    there. It's relevant only to the Olcott Problem, which clearly
    isn't the 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 Tim Rentsch@21:1/5 to Richard Heathfield on Sun Apr 6 03:25:46 2025
    Richard Heathfield <[email protected]> writes:

    On 05/04/2025 23:42, Kaz Kylheku wrote:

    On 2025-04-05, Richard Heathfield <[email protected]> wrote:

    On 05/04/2025 23:20, olcott wrote:

    ...

    The difference between us is that I know it and you don't.

    Olcott resides in a fortress he built out of bricks that were
    specially ordered from Dunning and Kruger's website.
    You're not getting through.

    Well, no. On the other hand, the discussion has in places driven
    me to the literature and has thus in its own way been
    educational. For example, I was surprised to discover that
    although Turing's 1936 paper does deal with the Halting Problem,
    he doesn't actually use that term, which didn't surface until
    1952. I also stumbled on a 1972 paper on incomputability by Tony
    Hoare and Donald Allison - well worth the read, and I was amused
    by its somewhat prescient opening paragraph: "[...] programmers
    have been known to attempt solutions to problems which are
    probably unsolvable; the existence of such problems should be of
    interest to all programmers." Clearly, 53 years ago, they already
    had Olcott nailed.

    I agree these discoveries are interesting, but the subject still
    isn't one that is suitable for comp.lang.c. A good way to avoid
    these long pointless discussions is not to respond to postings
    that are not suitable to comp.lang.c, except to point out that
    they are not suitable to comp.lang.c. And for any given poster,
    don't respond to unsuitable postings more often than once a month.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to Tim Rentsch on Sun Apr 6 11:34:46 2025
    On 06/04/2025 11:25, Tim Rentsch wrote:
    Richard Heathfield <[email protected]> writes:

    On 05/04/2025 23:42, Kaz Kylheku wrote:

    On 2025-04-05, Richard Heathfield <[email protected]> wrote:

    On 05/04/2025 23:20, olcott wrote:

    ...

    The difference between us is that I know it and you don't.

    Olcott resides in a fortress he built out of bricks that were
    specially ordered from Dunning and Kruger's website.
    You're not getting through.

    Well, no. On the other hand, the discussion has in places driven
    me to the literature and has thus in its own way been
    educational. For example, I was surprised to discover that
    although Turing's 1936 paper does deal with the Halting Problem,
    he doesn't actually use that term, which didn't surface until
    1952. I also stumbled on a 1972 paper on incomputability by Tony
    Hoare and Donald Allison - well worth the read, and I was amused
    by its somewhat prescient opening paragraph: "[...] programmers
    have been known to attempt solutions to problems which are
    probably unsolvable; the existence of such problems should be of
    interest to all programmers." Clearly, 53 years ago, they already
    had Olcott nailed.

    I agree these discoveries are interesting, but the subject still
    isn't one that is suitable for comp.lang.c.

    Agreed. (On re-reading my Hoare quote, I can see that it might be
    interpreted as an attempt to establish topicality! That was most
    certainly not my intent.)

    --
    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 Tim Rentsch@21:1/5 to olcott on Sun Apr 6 19:37:38 2025
    olcott <[email protected]> writes:

    On 4/6/2025 5:25 AM, Tim Rentsch wrote:

    Richard Heathfield <[email protected]> writes:

    On 05/04/2025 23:42, Kaz Kylheku wrote:

    On 2025-04-05, Richard Heathfield <[email protected]> wrote:

    On 05/04/2025 23:20, olcott wrote:

    ...

    The difference between us is that I know it and you don't.

    Olcott resides in a fortress he built out of bricks that were
    specially ordered from Dunning and Kruger's website.
    You're not getting through.

    Well, no. On the other hand, the discussion has in places driven
    me to the literature and has thus in its own way been
    educational. For example, I was surprised to discover that
    although Turing's 1936 paper does deal with the Halting Problem,
    he doesn't actually use that term, which didn't surface until
    1952. I also stumbled on a 1972 paper on incomputability by Tony
    Hoare and Donald Allison - well worth the read, and I was amused
    by its somewhat prescient opening paragraph: "[...] programmers
    have been known to attempt solutions to problems which are
    probably unsolvable; the existence of such problems should be of
    interest to all programmers." Clearly, 53 years ago, they already
    had Olcott nailed.

    I agree these discoveries are interesting, but the subject still
    isn't one that is suitable for comp.lang.c. A good way to avoid
    these long pointless discussions is not to respond to postings
    that are not suitable to comp.lang.c, except to point out that
    they are not suitable to comp.lang.c. And for any given poster,
    don't respond to unsuitable postings more often than once a month.

    My intent was to focus on the semantics of a pair of C functions.
    Digression into computer science seems inappropriate and never
    was my intent. The comp.theory people refused to consider the
    semantics of C aspects of these functions.

    It seems the people who are responding to you have the impression
    that you are convinced you have a solution to the halting problem,
    and that your questions about code are in effect asking people to
    convince you that you don't (or alternatively that you are offering
    an argument that you have solved the halting problem).

    If indeed your interest is only about how C defines the semantics of
    some particular functions written in C, and having nothing to do
    with solving the halting problem, then the burden is on you to
    express that question well enough so that other people realize that.
    So far it appears that you haven't succeeded with anyone who has
    responded to your postings.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tim Rentsch@21:1/5 to olcott on Mon Apr 7 05:46:31 2025
    olcott <[email protected]> writes:

    On 4/6/2025 9:37 PM, Tim Rentsch wrote:

    olcott <[email protected]> writes:

    On 4/6/2025 5:25 AM, Tim Rentsch wrote:

    Richard Heathfield <[email protected]> writes:

    On 05/04/2025 23:42, Kaz Kylheku wrote:

    On 2025-04-05, Richard Heathfield <[email protected]> wrote:

    On 05/04/2025 23:20, olcott wrote:

    ...

    The difference between us is that I know it and you don't.

    Olcott resides in a fortress he built out of bricks that were
    specially ordered from Dunning and Kruger's website.
    You're not getting through.

    Well, no. On the other hand, the discussion has in places driven
    me to the literature and has thus in its own way been
    educational. For example, I was surprised to discover that
    although Turing's 1936 paper does deal with the Halting Problem,
    he doesn't actually use that term, which didn't surface until
    1952. I also stumbled on a 1972 paper on incomputability by Tony
    Hoare and Donald Allison - well worth the read, and I was amused
    by its somewhat prescient opening paragraph: "[...] programmers
    have been known to attempt solutions to problems which are
    probably unsolvable; the existence of such problems should be of
    interest to all programmers." Clearly, 53 years ago, they already
    had Olcott nailed.

    I agree these discoveries are interesting, but the subject still
    isn't one that is suitable for comp.lang.c. A good way to avoid
    these long pointless discussions is not to respond to postings
    that are not suitable to comp.lang.c, except to point out that
    they are not suitable to comp.lang.c. And for any given poster,
    don't respond to unsuitable postings more often than once a month.

    My intent was to focus on the semantics of a pair of C functions.
    Digression into computer science seems inappropriate and never
    was my intent. The comp.theory people refused to consider the
    semantics of C aspects of these functions.

    It seems the people who are responding to you have the impression
    that you are convinced you have a solution to the halting problem,
    and that your questions about code are in effect asking people to
    convince you that you don't (or alternatively that you are offering
    an argument that you have solved the halting problem).

    If indeed your interest is only about how C defines the semantics of
    some particular functions written in C, and having nothing to do
    with solving the halting problem, then the burden is on you to
    express that question well enough so that other people realize that.
    So far it appears that you haven't succeeded with anyone who has
    responded to your postings.

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

    The people responding to my posts have consistently
    stonewalled my every attempt to:
    (a) Show that DD correctly simulated by HHH could
    never reach its own "return" instruction.

    (b) We never got to (b) because of endless stonewalling.

    The end goal (in this forum) that is empirically proven
    by this fully operational code:

    https://github.com/plolcott/x86utm/blob/master/Halt7.c

    is to show that HHH is a correct termination analyzer for DD.

    I'm sorry my comments weren't more helpful for you.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tim Rentsch@21:1/5 to Keith Thompson on Tue Apr 8 10:52:52 2025
    Keith Thompson <[email protected]> writes:

    Tim Rentsch <[email protected]> writes:

    olcott <[email protected]> writes:

    [82 lines deleted]

    I'm sorry my comments weren't more helpful for you.

    Tim, *please* trim quoted text that isn't relevant to your followup.

    I routinely remove or summarize prior text that I feel is not
    relevant to what I have to say.

    Please allow me the courtesy of determining for myself which
    prior material is or is not relevant, and which prior material
    should be removed, and which prior material should be summarized.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to Chris M. Thomasson on Fri Apr 11 21:57:42 2025
    On 11/04/2025 21:00, Chris M. Thomasson wrote:

    <snip>

    Does your halt decider work or not?

    Obviously not. If we had a working decision procedure we could
    use it to prove it doesn't work.

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