• Re: Efficient way to communicate with olcott

    From Richard Heathfield@21:1/5 to wij on Fri Aug 15 20:37:32 2025
    On 15/08/2025 20:29, wij wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many.

    Nor does he understand that, with this one sentence:

    "Whatever the Hell DD() does makes no difference at all"

    he has destroyed his entire case.

    --
    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 Damon@21:1/5 to wij on Fri Aug 15 17:52:20 2025
    On 8/15/25 5:40 PM, wij wrote:
    On Sat, 2025-08-16 at 03:29 +0800, wij wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many.
    Often, olcott cannot answer what other people says, people used to think olcott
    has read and know (somewhat) what other people says. But not, olcott doesn't >> understand (probably did not read, neither) and continue to rely, he just repeat
    what he want to say, even though inconsistency (he does not understand
    contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms, knowledge are
    fabrication in his brain.

    So, my solution is insist your unanswered question untill answered.
    olcott is good at switching subject, otherwise discussion diverges to nothing.

    This is another point. One hour ago, I asked olcott a simple test question:

    Q: Can you rephrase the wiki definition of halting problem?

    olcott's basic method of rebuttal is no reply or erasing reply, pretending it is
    not there (so, no rebuttal to him). So, what does the HP definition mean to him?
    What does the no reply suggest? He cannot even rephrase the wiki definition of
    the halting problem. He knows something.


    Basically, liars need to keep you on their turf, and off the solid
    grounds of facts.

    He always just refuses by ignoring any question that is so rooted in
    basic definitions that he can't come up with a lie to provide smoke cover.

    He can't show the first difference in the simulation that shows that the
    two are different, because there is none. His difference comes from not simulating at the level he says, but at another layer with a bad
    definition of HHH is.

    He can't state the halting problem in its base form, as his logic says
    it can't be expressed right, but the base form of the problem
    fundamentally asks what he says can't be asked.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Fri Aug 15 18:04:23 2025
    On 8/15/25 5:51 PM, olcott wrote:
    On 8/15/2025 4:40 PM, wij wrote:
    On Sat, 2025-08-16 at 03:29 +0800, wij wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many.
    Often, olcott cannot answer what other people says, people used to
    think olcott
    has read and know (somewhat) what other people says. But not, olcott
    doesn't
    understand (probably did not read, neither) and continue to rely, he
    just repeat
    what he want to say, even though inconsistency (he does not understand
    contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms, knowledge
    are
    fabrication in his brain.

    So, my solution is insist your unanswered question untill answered.
    olcott is good at switching subject, otherwise discussion diverges to
    nothing.

    This is another point. One hour ago, I asked olcott a simple test
    question:

    Q: Can you rephrase the wiki definition of halting problem?

    olcott's basic method of rebuttal is no reply or erasing reply,
    pretending it is
    not there (so, no rebuttal to him). So, what does the HP definition
    mean to him?
    What does the no reply suggest? He cannot even rephrase the wiki
    definition of
    the halting problem. He knows something.


    *Correcting the error of the halting problem spec*

    You mean lying about doing the Halting Problem

    Is it possible to create a halt decider H that consistently
    reports the halt status of the behavior specified by its
    input finite string Turing machine description P on the
    basis of P correctly simulated by H?

    WHich is just admitting you aren't doing the halting problemm, and don't understand the meaning of "Correct Simulation", as it is IMPOSSIBLE to
    both "correctly simulate" the input, and correctly report it as non-halitng.

    IF you are admitting that you are redefininng "correct simulation" to
    include partial simulations, then any input can be just declaired to be non-halting as you just abort to begin (why can't you?) and say you
    didn't there.

    You also show you don't understand the meaning of a program, as you
    think your can make a program that doesn't include all its code so it
    refers to whatever decider is working on it, which is just a violation
    of the basic definition of a program.


    *Existing counter-example inputs do not work on this*


    Because your problem is just POOP im POOPS and you are shown to be a pathological liar that doesn't understand that you aren't allowed to
    change eefinitions.

    Sorry, you are just showing that you are inept with logic and break its fundamental rules, and think it is just ok to change the meaning of terms.

    I guess we can call you a genius, but with the definition of genius
    redefined to be a total idiot that lies about everything.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Fri Aug 15 18:47:01 2025
    On 8/15/25 6:42 PM, olcott wrote:
    On 8/15/2025 4:51 PM, olcott wrote:
    On 8/15/2025 4:40 PM, wij wrote:
    On Sat, 2025-08-16 at 03:29 +0800, wij wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many.
    Often, olcott cannot answer what other people says, people used to
    think olcott
    has read and know (somewhat) what other people says. But not, olcott
    doesn't
    understand (probably did not read, neither) and continue to rely, he
    just repeat
    what he want to say, even though inconsistency (he does not understand >>>> contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms,
    knowledge are
    fabrication in his brain.

    So, my solution is insist your unanswered question untill answered.
    olcott is good at switching subject, otherwise discussion diverges
    to nothing.

    This is another point. One hour ago, I asked olcott a simple test
    question:

    Q: Can you rephrase the wiki definition of halting problem?

    olcott's basic method of rebuttal is no reply or erasing reply,
    pretending it is
    not there (so, no rebuttal to him). So, what does the HP definition
    mean to him?
    What does the no reply suggest? He cannot even rephrase the wiki
    definition of
    the halting problem. He knows something.


    *Correcting the error of the halting problem spec*
    Is it possible to create a halt decider H that consistently
    reports the halt status of the behavior specified by its
    input finite string Turing machine description P on the
    basis of P correctly simulated by H?

    *Existing counter-example inputs do not work on this*


    The above has the exact same result as the original
    halting problem definition except that it doesn't
    get stuck on inputs with pathological self-reference
    to their own halt decider.


    Which means it is not the exact same results. "The same, but ..." isn't
    the same, just like "Correct until ..." isn't correct.

    And, the "pathological input" isn't the only thing that causes the
    Halting Problem to be non-computable.

    You are just admitting that you have been lying, because your thought it
    was ok to lie.

    Just like you started saying you had a fully encoded Turing Machine,
    when you had no idea what that was.

    You are just showing that your nature is to try to lie your way out of
    problems that you created by your own ignorance.

    Sorry, that just makes you an idiotic pathetic ignorant patholoical liar.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Fri Aug 15 18:59:43 2025
    On 8/15/25 6:50 PM, olcott wrote:
    On 8/15/2025 5:44 PM, wij wrote:
    On Fri, 2025-08-15 at 16:51 -0500, olcott wrote:
    On 8/15/2025 4:40 PM, wij wrote:
    On Sat, 2025-08-16 at 03:29 +0800, wij wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many.
    Often, olcott cannot answer what other people says, people used to
    think olcott
    has read and know (somewhat) what other people says. But not,
    olcott doesn't
    understand (probably did not read, neither) and continue to rely,
    he just repeat
    what he want to say, even though inconsistency (he does not understand >>>>> contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms,
    knowledge are
    fabrication in his brain.

    So, my solution is insist your unanswered question untill answered.
    olcott is good at switching subject, otherwise discussion diverges
    to nothing.

    This is another point. One hour ago, I asked olcott a simple test
    question:

    Q: Can you rephrase the wiki definition of halting problem?

    olcott's basic method of rebuttal is no reply or erasing reply,
    pretending it is
    not there (so, no rebuttal to him). So, what does the HP definition
    mean to him?
    What does the no reply suggest? He cannot even rephrase the wiki
    definition of
    the halting problem. He knows something.


    *Correcting the error of the halting problem spec*
    Is it possible to create a halt decider H that consistently
    reports the halt status of the behavior specified by its
    input finite string Turing machine description P on the
    basis of P correctly simulated by H?

    "...by its input finite string Turing machine description P on the
    basis of P correctly simulated by H?" is you added to the HP.
    Wiki definition https://en.wikipedia.org/wiki/Halting_problem
    (there are many kind of definition) explicitly says in [Common pitfalls]
    about simulating execution is no no.

    You added "correctly simulated by H" effectly changes the HP definition,
    and you need to define what is "correctly simulated by H". In doing
    so, I am
    afraid you are defining in circle. Thus, POOH is meaningless
    description from
    the begin. Nothing needs to prove or disprove.


    Machine M contains simulating halt decider H
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.∞
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.qn

    *Repeats until aborted proving non-halting*
    (a) M copies its input ⟨M⟩
    (b) M invokes M.H ⟨M⟩ ⟨M⟩
    (c) M.H simulates ⟨M⟩ ⟨M⟩

    then M.H ⟨M⟩ ⟨M⟩ transitions to M.qn



    No, because H does abort, so the code of M includes that abort. and thus
    its correct simulaiton will halt.

    You don't get to have two versions of your decider creating two version
    of the input, that just shows you are a liar.

    You don't seem to know what a program is, which affects your definition
    of a decider.

    Sorry, you are just proving you are just a moron because you can't use
    the basic meaning of the words you are trying to use.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Fri Aug 15 20:40:09 2025
    On 8/15/25 7:29 PM, olcott wrote:
    On 8/15/2025 6:18 PM, wij wrote:
    On Fri, 2025-08-15 at 17:50 -0500, olcott wrote:
    On 8/15/2025 5:44 PM, wij wrote:
    On Fri, 2025-08-15 at 16:51 -0500, olcott wrote:
    On 8/15/2025 4:40 PM, wij wrote:
    On Sat, 2025-08-16 at 03:29 +0800, wij wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many. >>>>>>> Often, olcott cannot answer what other people says, people used
    to think olcott
    has read and know (somewhat) what other people says. But not,
    olcott doesn't
    understand (probably did not read, neither) and continue to rely, >>>>>>> he just repeat
    what he want to say, even though inconsistency (he does not
    understand
    contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms,
    knowledge are
    fabrication in his brain.

    So, my solution is insist your unanswered question untill answered. >>>>>>> olcott is good at switching subject, otherwise discussion
    diverges to nothing.

    This is another point. One hour ago, I asked olcott a simple test
    question:

    Q: Can you rephrase the wiki definition of halting problem?

    olcott's basic method of rebuttal is no reply or erasing reply,
    pretending it is
    not there (so, no rebuttal to him). So, what does the HP
    definition mean to him?
    What does the no reply suggest? He cannot even rephrase the wiki
    definition of
    the halting problem. He knows something.


    *Correcting the error of the halting problem spec*
    Is it possible to create a halt decider H that consistently
    reports the halt status of the behavior specified by its
    input finite string Turing machine description P on the
    basis of P correctly simulated by H?

    "...by its input finite string Turing machine description P on the
    basis of P correctly simulated by H?" is you added to the HP.
    Wiki definition https://en.wikipedia.org/wiki/Halting_problem
    (there are many kind of definition) explicitly says in [Common
    pitfalls]
    about simulating execution is no no.

    You added "correctly simulated by H" effectly changes the HP
    definition,
    and you need to define what is "correctly simulated by H". In doing
    so, I am
    afraid you are defining in circle. Thus, POOH is meaningless
    description from
    the begin. Nothing needs to prove or disprove.


    Machine M contains simulating halt decider H
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.∞
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.qn

    *Repeats until aborted proving non-halting*
    (a) M copies its input ⟨M⟩
    (b) M invokes M.H ⟨M⟩ ⟨M⟩
    (c) M.H simulates ⟨M⟩ ⟨M⟩

    then M.H ⟨M⟩ ⟨M⟩ transitions to M.qn

    You don't understand what those symbols means, what did you really mean?


    *It is my adaptation and rebuttal of the Peter Linz proof* https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Which just means you parroted by unknowing rote the symbols, not that
    you know what they mean.

    In fact, you have shown you DON'T know what they mean, as you have
    explained ⊢* incorrectly, showing your ignorance.

    What DO you think that symbol means?


    Try write a TM that computes the length of its input to prove you
    understand TM.

    or try to write a TM to demonstrate what is 'copy' in (a), what is
    'invoke' in (b)
    and what is 'simulate' in (c). Can you?




    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to wij on Sat Aug 16 01:34:20 2025
    On 15/08/2025 20:29, wij wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many.
    Often, olcott cannot answer what other people says, people used to think olcott
    has read and know (somewhat) what other people says. But not, olcott doesn't understand (probably did not read, neither) and continue to rely, he just repeat
    what he want to say, even though inconsistency (he does not understand contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms, knowledge are fabrication in his brain.

    with you so far...

    So, my solution is insist your unanswered question untill answered.
    olcott is good at switching subject, otherwise discussion diverges to nothing.


    but this doesn't really work. Just asking PO to answer the same question over and over is assuming
    PO has a proper understanding of what you're asking and is just being stubborn in refusing to
    answer. That's /sometimes/ the case but for most questions I think PO genuinely doesn't understand
    what's being asked... So simply repeating the question doesn't make much progress.

    *If* PO were a typical student who was just confused over some point, a strategy to help him might
    be to step back and look at the language being used. Insist on duffer-speak phrases being
    eliminated or properly defined in terms of <other well-understood terminology>. That's probably
    what I'd try. In this process the student would hopefully see that his/her own thinking was
    confused and not properly thought through.

    That doesn't work with PO for several reasons!

    - With PO there really is no <other well-understood terminology> - PO's conceptual misunderstandings
    and terminology confusions go "all the way down". This approach risks some kind of infinite
    regress, or at best something resembling a kind of Hydra game:

    <https://en.wikipedia.org/wiki/Hydra_game>

    (The point is, while the Hydra game can be shown to always end, the length of such a game can Very
    Very Long due to the game's growth rate!)

    - there is no chance whatsoever PO could stick to the rules of a "clarify everything" approach. He
    doesn't understand /his own/ thinking in any coherently explainable way!

    - being /unable/ to adequately clarify his intention, if doggedly pressed PO will just Say More
    Words (whatever, just carry on regardless) or more likely just refuse to speak to the poster. I've
    seen both many times. No actual progress is made.

    -----

    So stepping back for the title question - what IS an efficient way to communicate with a person with
    whom you have no shared vocabulary or technical concepts, and who lacks the required capabilities of
    logical comprehension that might establish such a shared basis?

    Put as bluntly as this, obviously communication with such a person is going to impossible or
    horrendously inefficient. But it begs the question of what would be GAINED from such an attempt?
    I.e. /why/ are you trying to communicate with such a person? We need to know the objectives before
    we can come up with efficient approaches... A reasonable starting suggestion might be "don't
    communicate"...


    Mike.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Fri Aug 15 23:14:52 2025
    On 8/15/25 11:01 PM, olcott wrote:
    On 8/15/2025 7:34 PM, Mike Terry wrote:
    On 15/08/2025 20:29, wij wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many.
    Often, olcott cannot answer what other people says, people used to
    think olcott
    has read and know (somewhat) what other people says. But not, olcott
    doesn't
    understand (probably did not read, neither) and continue to rely, he
    just repeat
    what he want to say, even though inconsistency (he does not understand
    contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms, knowledge
    are
    fabrication in his brain.

    with you so far...

    So, my solution is insist your unanswered question untill answered.
    olcott is good at switching subject, otherwise discussion diverges to
    nothing.


    but this doesn't really work.  Just asking PO to answer the same
    question over and over is assuming PO has a proper understanding of
    what you're asking and is just being stubborn in refusing to answer.
    That's /sometimes/ the case but for most questions I think PO
    genuinely doesn't understand what's being asked...  So simply
    repeating the question doesn't make much progress.

    *If* PO were a typical student who was just confused over some point,
    a strategy to help him might be to step back and look at the language
    being used.  Insist on duffer-speak phrases being eliminated or
    properly defined in terms of <other well-understood terminology>.
    That's probably what I'd try.  In this process the student would
    hopefully see that his/her own thinking was confused and not properly
    thought through.

    That doesn't work with PO for several reasons!

    - With PO there really is no <other well-understood terminology> -
    PO's conceptual misunderstandings and terminology confusions go "all
    the way down".  This approach risks some kind of infinite regress, or
    at best something resembling a kind of Hydra game:

       <https://en.wikipedia.org/wiki/Hydra_game>

    (The point is, while the Hydra game can be shown to always end, the
    length of such a game can Very Very Long due to the game's growth rate!)

    - there is no chance whatsoever PO could stick to the rules of a
    "clarify everything" approach.  He doesn't understand /his own/
    thinking in any coherently explainable way!

    - being /unable/ to adequately clarify his intention, if doggedly
    pressed PO will just Say More Words (whatever, just carry on
    regardless) or more likely just refuse to speak to the poster.  I've
    seen both many times.  No actual progress is made.

    -----

    So stepping back for the title question - what IS an efficient way to
    communicate with a person with whom you have no shared vocabulary or
    technical concepts, and who lacks the required capabilities of logical
    comprehension that might establish such a shared basis?

    Put as bluntly as this, obviously communication with such a person is
    going to impossible or horrendously inefficient.  But it begs the
    question of what would be GAINED from such an attempt? I.e. /why/ are
    you trying to communicate with such a person?  We need to know the
    objectives before we can come up with efficient approaches...  A
    reasonable starting suggestion might be "don't communicate"...


    Mike.


    All of this comes from you failing to understand
    that HHH(DD) does recognize that itself does get
    stuck in recursive simulation, aborts this emulation,
    and returns 0 indicating that:

    But doesn't recognize that to do so, it has made a false assumption
    about the input, becuase it ignored part of what it say, because you
    don't want to look at it as it seems to just overwhelm you (in part
    becuase you are looking at the wrong output).

    Your HHH thinks the HHH in DD doesn't do what it does, but actually
    follows the specification. This makes it get the wrong answer, because
    you logic is just built on a right to lie.

    You also base your logic on the concept that you don't need to follow
    the rules, but because something doesn't make sense to you in your
    stupidity, you think you get to change it.

    All that does is make you just an ignorant but intentional liar, you
    KNOW you are changing the definitions, and not doing the right problem,
    but because of your pathology in your ethics, you think that is ok,

    Thus, you made yourself into a pathological liar.


    there are no finite number of steps of correct
    simulation where DD correctly simulated by HHH
    reaches its own simulated final halt state.

    But HHH is a single FIXED program in any problem, looking at a single
    FIXED COMPLETE program as its input.

    It will EITHER do a correct simulation or it will answwer, it can't do
    both, and both are about different instances of the problem with
    different inputs.

    If your ONE HHH doesn't do a correct simulation, then talking about it
    doing one is just a LIE.

    If your DD doesn't include the code of HHH as part of it, then you just
    can't simulate the input past the call instruction, as it isn't there.

    If you look elsewhere, that elsewhere either becomes part of the input,
    your you are just made into a liar about what the input to the analyzer is.

    Thus, since different HHHs are different, the DDs built with them are
    diffent, and can have different behavior, so calling them the same is
    just a LIE.


    Kaz thought this last part was so obvious that he
    honestly didn't believe that everyone here didn't see it.


    Your problem is your have a category error based on the lie that two
    different HHHs looking at two DIFFERENT DDs are both the same thing.

    That just shows you don't know what a program is, and thus your "logic"
    is just one giant lie based on a category error.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sat Aug 16 04:44:41 2025
    On 16/08/2025 04:01, olcott wrote:
    All of this comes from you failing to understand
    that HHH(DD) does recognize that itself does get
    stuck in recursive simulation, aborts this emulation,
    and returns 0 indicating that:

    No, it all comes from you failing to understand that /when/
    HHH(DD) returns 0 to indicate that DD doesn't halt, DD promptly
    halts.

    You argue that it's not reasonable to expect HHH to deduce that
    from the limited information available to it. And of course that
    is quite right, but all we can deduce from that is that you have
    failed to provide that information to HHH. There's no excuse for
    it, though; the information is freely available in DD's
    executable image as constructed by the compiler. If you don't
    want to do it that way, you can pass in the source code.

    As it stands, though, your simulation is inadequate because it
    completely fails to simulate the most important part of DD - a
    part that you argue is invisible, but it clearly isn't because
    /we/ can see it.

    --
    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 Aug 16 05:35:20 2025
    On 16/08/2025 04:46, olcott wrote:
    On 8/15/2025 10:44 PM, Richard Heathfield wrote:
    On 16/08/2025 04:01, olcott wrote:
    All of this comes from you failing to understand
    that HHH(DD) does recognize that itself does get
    stuck in recursive simulation, aborts this emulation,
    and returns 0 indicating that:

    No, it all comes from you failing to understand that /when/
    HHH(DD) returns 0 to indicate that DD doesn't halt, DD promptly
    halts.


    As Kaz indicated these are different DD's.

    As C indicates, they're the same DD. I've already posted the
    relevant citations from ISO/IEC 9899.

    I thought you fancied yourself a C expert, or at least someone
    who knows what C experts know? *Any* C programmer, even a rank
    newbie, knows that DD is DD and vice versa.

    That was his brilliant insight into the matter.

    I'll leave that one for Kaz to answer if he wishes.

    --
    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 Damon@21:1/5 to olcott on Sat Aug 16 08:09:12 2025
    On 8/15/25 11:36 PM, olcott wrote:
    On 8/15/2025 7:52 PM, wij wrote:
    On Fri, 2025-08-15 at 18:29 -0500, olcott wrote:
    On 8/15/2025 6:18 PM, wij wrote:
    On Fri, 2025-08-15 at 17:50 -0500, olcott wrote:
    On 8/15/2025 5:44 PM, wij wrote:
    On Fri, 2025-08-15 at 16:51 -0500, olcott wrote:
    On 8/15/2025 4:40 PM, wij wrote:
    On Sat, 2025-08-16 at 03:29 +0800, wij wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many. >>>>>>>>> Often, olcott cannot answer what other people says, people used >>>>>>>>> to think olcott
    has read and know (somewhat) what other people says. But not, >>>>>>>>> olcott doesn't
    understand (probably did not read, neither) and continue to
    rely, he just repeat
    what he want to say, even though inconsistency (he does not
    understand
    contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms,
    knowledge are
    fabrication in his brain.

    So, my solution is insist your unanswered question untill
    answered.
    olcott is good at switching subject, otherwise discussion
    diverges to nothing.

    This is another point. One hour ago, I asked olcott a simple
    test question:

    Q: Can you rephrase the wiki definition of halting problem?

    olcott's basic method of rebuttal is no reply or erasing reply, >>>>>>>> pretending it is
    not there (so, no rebuttal to him). So, what does the HP
    definition mean to him?
    What does the no reply suggest? He cannot even rephrase the wiki >>>>>>>> definition of
    the halting problem. He knows something.


    *Correcting the error of the halting problem spec*
    Is it possible to create a halt decider H that consistently
    reports the halt status of the behavior specified by its
    input finite string Turing machine description P on the
    basis of P correctly simulated by H?

    "...by its input finite string Turing machine description P on the >>>>>> basis of P correctly simulated by H?" is you added to the HP.
    Wiki definition https://en.wikipedia.org/wiki/Halting_problem
    (there are many kind of definition) explicitly says in [Common
    pitfalls]
    about simulating execution is no no.

    You added "correctly simulated by H" effectly changes the HP
    definition,
    and you need to define what is "correctly simulated by H". In
    doing so, I am
    afraid you are defining in circle. Thus, POOH is meaningless
    description from
    the begin. Nothing needs to prove or disprove.


    Machine M contains simulating halt decider H
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.∞
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.qn

    *Repeats until aborted proving non-halting*
    (a) M copies its input ⟨M⟩
    (b) M invokes M.H ⟨M⟩ ⟨M⟩
    (c) M.H simulates ⟨M⟩ ⟨M⟩

    then M.H ⟨M⟩ ⟨M⟩ transitions to M.qn

    You don't understand what those symbols means, what did you really
    mean?


    *It is my adaptation and rebuttal of the Peter Linz proof*
    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf


    Yes, this is a typical trick. (olcott doesn't understand the challenge
    is most an insult
    to average people in comp.theory).
    Once I get into the Peter_Linz_317-320.pdf, he would (maybe after days
    of discussion)
    probably change subject to Tarski theorem or Prolog, ... various like
    of liar's paradox,
    philosophy or maybe some set theory.

    Try write a TM that computes the length of its input to prove you
    understand TM.

    or try to write a TM to demonstrate what is 'copy' in (a), what is
    'invoke' in (b)
    and what is 'simulate' in (c). Can you?


    This is erased question, typically proves olcott can't.


    It is all explained in Linz.
    My Linz link was the answer.


    Which is just you admitting you can't do it.

    Sorry, you are just proving you have no idea what you are talking about,
    and much of what you say is just parroting unknown words by rote trying
    to sound intelegent.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Sat Aug 16 08:10:30 2025
    On 8/15/25 11:46 PM, olcott wrote:
    On 8/15/2025 10:44 PM, Richard Heathfield wrote:
    On 16/08/2025 04:01, olcott wrote:
    All of this comes from you failing to understand
    that HHH(DD) does recognize that itself does get
    stuck in recursive simulation, aborts this emulation,
    and returns 0 indicating that:

    No, it all comes from you failing to understand that /when/ HHH(DD)
    returns 0 to indicate that DD doesn't halt, DD promptly halts.


    As Kaz indicated these are different DD's.
    That was his brilliant insight into the matter.

    And thus one doesn't tell you the behavior of the other like you try to
    claim.

    You are just admitting that you logic is based on lies.


    You argue that it's not reasonable to expect HHH to deduce that from
    the limited information available to it. And of course that is quite
    right, but all we can deduce from that is that you have failed to
    provide that information to HHH. There's no excuse for it, though; the
    information is freely available in DD's executable image as
    constructed by the compiler. If you don't want to do it that way, you
    can pass in the source code.

    As it stands, though, your simulation is inadequate because it
    completely fails to simulate the most important part of DD - a part
    that you argue is invisible, but it clearly isn't because /we/ can see
    it.




    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to Richard Damon on Sat Aug 16 14:18:21 2025
    On 16/08/2025 13:10, Richard Damon wrote:
    On 8/15/25 11:46 PM, olcott wrote:
    On 8/15/2025 10:44 PM, Richard Heathfield wrote:
    On 16/08/2025 04:01, olcott wrote:
    All of this comes from you failing to understand
    that HHH(DD) does recognize that itself does get
    stuck in recursive simulation, aborts this emulation,
    and returns 0 indicating that:

    No, it all comes from you failing to understand that /when/
    HHH(DD) returns 0 to indicate that DD doesn't halt, DD
    promptly halts.


    As Kaz indicated these are different DD's.
    That was his brilliant insight into the matter.

    And thus one doesn't tell you the behavior of the other like you
    try to claim.

    I beg to differ. One is /required/ to tell you the behaviour of
    the one.

    <snip>

    --
    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 olcott on Sat Aug 16 16:39:22 2025
    On 2025-08-16, olcott <polcott333@gmail.com> wrote:
    On 8/15/2025 10:44 PM, Richard Heathfield wrote:
    On 16/08/2025 04:01, olcott wrote:
    All of this comes from you failing to understand
    that HHH(DD) does recognize that itself does get
    stuck in recursive simulation, aborts this emulation,
    and returns 0 indicating that:

    No, it all comes from you failing to understand that /when/ HHH(DD)
    returns 0 to indicate that DD doesn't halt, DD promptly halts.


    As Kaz indicated these are different DD's.
    That was his brilliant insight into the matter.

    It is CS undergraduate insight, and you're ignoring that part of
    which identifies it as confounding your argumentation.

    If the spontaneous call out of main to HHH(DD) behaves differently in
    the slightest detail fro mthe HHH(DD) that is embedded inside DD, that situation shows taht HHH isn't a function of DD, but a procedure with
    side effects, involving unidentified outside objects and input sources.

    A Turing machine has no unidentified inputs or side effects; its
    behavior is a function of the tape. Same tape, same calculation.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Sat Aug 16 14:25:31 2025
    On 8/16/25 1:46 PM, olcott wrote:
    On 8/16/2025 11:39 AM, Kaz Kylheku wrote:
    On 2025-08-16, olcott <polcott333@gmail.com> wrote:
    On 8/15/2025 10:44 PM, Richard Heathfield wrote:
    On 16/08/2025 04:01, olcott wrote:
    All of this comes from you failing to understand
    that HHH(DD) does recognize that itself does get
    stuck in recursive simulation, aborts this emulation,
    and returns 0 indicating that:

    No, it all comes from you failing to understand that /when/ HHH(DD)
    returns 0 to indicate that DD doesn't halt, DD promptly halts.


    As Kaz indicated these are different DD's.
    That was his brilliant insight into the matter.

    It is CS undergraduate insight, and you're ignoring that part of
    which identifies it as confounding your argumentation.

    If the spontaneous call out of main to HHH(DD) behaves differently in
    the slightest detail fro mthe HHH(DD) that is embedded inside DD, that
    situation shows taht HHH isn't a function of DD, but a procedure with
    side effects, involving unidentified outside objects and input sources.

    A Turing machine has no unidentified inputs or side effects; its
    behavior is a function of the tape.  Same tape, same calculation.


    Machine M contains simulating halt decider H
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.∞
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.qn

    *Repeats until aborted proving non-halting*
    But that isn't the definition of non-halting.

    (a) M copies its input ⟨M⟩
    (b) M invokes M.H ⟨M⟩ ⟨M⟩
    (c) M.H simulates ⟨M⟩ ⟨M⟩

    then M.H ⟨M⟩ ⟨M⟩ transitions to M.qn
    causing M applied to ⟨M⟩ halt

    If M.H ⟨M⟩ ⟨M⟩ cannot see that it is called
    in recursive simulation then M applied to ⟨M⟩
    is still non-halting and an outside observer
    can see this.


    But it isn't "still" as that is a different M and H, so you are just
    admitting to lying,

    Since M (M) went to M.H (M) (M) which goes to M.qn, you have shown that
    M (M) halts, and thus to be correct H and M.H needed to go to qy.

    Sorry, you are just showing that you concept of logic is based on lies.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to Richard Heathfield on Sat Aug 16 14:25:29 2025
    On 8/16/25 9:18 AM, Richard Heathfield wrote:
    On 16/08/2025 13:10, Richard Damon wrote:
    On 8/15/25 11:46 PM, olcott wrote:
    On 8/15/2025 10:44 PM, Richard Heathfield wrote:
    On 16/08/2025 04:01, olcott wrote:
    All of this comes from you failing to understand
    that HHH(DD) does recognize that itself does get
    stuck in recursive simulation, aborts this emulation,
    and returns 0 indicating that:

    No, it all comes from you failing to understand that /when/ HHH(DD)
    returns 0 to indicate that DD doesn't halt, DD promptly halts.


    As Kaz indicated these are different DD's.
    That was his brilliant insight into the matter.

    And thus one doesn't tell you the behavior of the other like you try
    to claim.

    I beg to differ. One is /required/ to tell you the behaviour of the one.

    <snip>


    But doesn't

    The fact that HHH'(DD') correctly simualtes DD' to show that DD' won't
    halt telss us NOTHING about the behavior of the DD that HHH(DD) was given.

    Until PO defines a POOPS that defines the meaning of Halt Deciding on "templates", the fact that DD calls HHH and DD' calls HHH' says that
    there behaviors are just not transferable (without a lot of logic that
    he isn't doing).

    HHH(DD) is REQUIRED to tell about the behavior of DD, not DD'

    His "logic" tries to claim that HHH(DD) is supposed to answer about the "non-input" behavior of DD' that HHH' shows to be non-halting.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to Richard Damon on Sat Aug 16 20:35:14 2025
    On 16/08/2025 19:25, Richard Damon wrote:
    On 8/16/25 9:18 AM, Richard Heathfield wrote:
    On 16/08/2025 13:10, Richard Damon wrote:
    On 8/15/25 11:46 PM, olcott wrote:
    On 8/15/2025 10:44 PM, Richard Heathfield wrote:
    On 16/08/2025 04:01, olcott wrote:
    All of this comes from you failing to understand
    that HHH(DD) does recognize that itself does get
    stuck in recursive simulation, aborts this emulation,
    and returns 0 indicating that:

    No, it all comes from you failing to understand that /when/
    HHH(DD) returns 0 to indicate that DD doesn't halt, DD
    promptly halts.


    As Kaz indicated these are different DD's.
    That was his brilliant insight into the matter.

    And thus one doesn't tell you the behavior of the other like
    you try to claim.

    I beg to differ. One is /required/ to tell you the behaviour of
    the one.

    <snip>


    But doesn't

    I don't think anyone here is in doubt of that. I'm not even sure
    about 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 Kaz Kylheku@21:1/5 to olcott on Sun Aug 17 07:14:49 2025
    On 2025-08-16, olcott <polcott333@gmail.com> wrote:
    Machine M contains simulating halt decider H
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.∞
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.qn

    *Repeats until aborted proving non-halting*
    (a) M copies its input ⟨M⟩
    (b) M invokes M.H ⟨M⟩ ⟨M⟩
    (c) M.H simulates ⟨M⟩ ⟨M⟩

    then M.H ⟨M⟩ ⟨M⟩ transitions to M.qn
    causing M applied to ⟨M⟩ halt

    If M.H ⟨M⟩ ⟨M⟩ cannot see that it is called
    in recursive simulation then M applied to ⟨M⟩
    is still non-halting and an outside observer
    can see this.

    M has failed to decide.

    That an outside observer can tell doesn't matter; the outside observer
    is a different decider which is not M. The success of the outside
    observer's decision doesn't repair the failure of M (that it didn't
    halt).

    You're playing games with magic flags that indicate inside versus
    outside so that you could pretend that M is both the decider in question
    /and/ the outside observer.

    You just can't do that.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mikko@21:1/5 to wij on Sun Aug 17 12:07:03 2025
    On 2025-08-15 19:29:29 +0000, wij said:

    olcott does not understand basic IF/AND/OR/NOT. This implies many.
    Often, olcott cannot answer what other people says, people used to
    think olcotthas read and know (somewhat) what other people says. But
    not, olcott doesn't
    understand (probably did not read, neither) and continue to rely, he
    just repeat
    what he want to say, even though inconsistency (he does not understand  contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms, knowledge are fabrication in his brain.

    So, my solution is insist your unanswered question untill answered.
    olcott is good at switching subject, otherwise discussion diverges to nothing.

    We don't need an efficient way to communicate with Olcott. We only need
    an efficient way to inform readers that they needn't be deceived.

    --
    Mikko

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to Mikko on Sun Aug 17 10:48:45 2025
    On 17/08/2025 10:07, Mikko wrote:

    <snip>

    We don't need an efficient way to communicate with Olcott. We
    only need
    an efficient way to inform readers that they needn't be deceived.

    Well, that at least is easy to achieve. Just copy and paste the
    two cases. Actually, one will do.

    +-------8<-------8<-------8<-------8<-------8<-------8<+
    Consider this code:
    -------------------
    int HHH(int (*)(void));

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

    Turing assumes that a universal halting decider HHH can exist
    that, for any input, always correctly returns 0 if its input
    never halts, or 1 if it does halt.

    Whatever HHH returns for DD, it turns out to be wrong. Therefore,
    Turing argues, his assumption is mistaken, and such a decider
    cannot exist.

    This proof is a well-established cornerstone of computer science.
    It's conceivable that it's mistaken, but to overturn it would
    require a well-reasoned, unequivocal, and self-evidently correct
    argument.

    Mr Olcott seeks to overturn the argument. Decide for yourself
    whether you consider his case to be well-reasoned, unequivocal,
    and self-evidently correct. +-------8<-------8<-------8<-------8<-------8<-------8<+

    --
    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 Damon@21:1/5 to olcott on Sun Aug 17 14:48:14 2025
    On 8/17/25 11:25 AM, olcott wrote:
    On 8/17/2025 2:14 AM, Kaz Kylheku wrote:
    On 2025-08-16, olcott <polcott333@gmail.com> wrote:
    Machine M contains simulating halt decider H
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.∞
    M.q0 ⟨M⟩ ⊢* M.H ⟨M⟩ ⟨M⟩ ⊢* M.qn

    *Repeats until aborted proving non-halting*
    (a) M copies its input ⟨M⟩
    (b) M invokes M.H ⟨M⟩ ⟨M⟩
    (c) M.H simulates ⟨M⟩ ⟨M⟩

    then M.H ⟨M⟩ ⟨M⟩ transitions to M.qn
    causing M applied to ⟨M⟩ halt

    If M.H ⟨M⟩ ⟨M⟩ cannot see that it is called
    in recursive simulation then M applied to ⟨M⟩
    is still non-halting and an outside observer
    can see this.

    M has failed to decide.

    That an outside observer can tell doesn't matter;

    It does seem to matter. Previously both [halts] and
    [does not halt] were the wrong answer. Now [does not halt]
    is the correct answer even if HHH does not know it.

    WRONG.

    Since HHH(DD) returned [does not halt] the correct answer is [halts]

    You don't seem to understand that *A* program can't return two different
    answer to the same input, and you "argument" is just based on a stupid
    category error.


    the outside observer
    is a different decider which is not M. The success of the outside
    observer's decision doesn't repair the failure of M (that it didn't
    halt).


    Everyone else here simply flat out lies about my prior
    paragraph by disagreeing with its verified facts.

    Nope, you LIE about "verified facts" since you argument is based on lies
    and category errors.

    You have admitted this much, as you have admitted that HHH and DD are
    not programs, when they need to be.


    It great to have a competent reviewer that is not a liar.
    This has taken three years.

    I think that you were the one that taught me about
    computable functions. It still seems a little silly
    that C code can do things that Turing machines cannot.

    But you still don't understand that HHH is NOT a "computable function",
    or even a "function" per the term-of-art of the thoery, but just an
    algorithm attempting to compute a function, that turns out to be non-computable, and thus it is doomed to fail.

    Your stupidity will be legendary.


    You're playing games with magic flags that indicate inside versus
    outside so that you could pretend that M is both the decider in question
    /and/ the outside observer.

    You just can't do that.




    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to olcott on Mon Aug 18 01:02:12 2025
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about
    computable functions. It still seems a little silly
    that C code can do things that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can interface
    with the outside world and respond to real-time events and ocnditions
    that are never the same on any repeated run. Let's make it clear
    that this is not on the table at all.

    C calculations that are deterministic are Turing computations.
    But you have to know where to draw the chalk line around them to
    say "that is the Turing machine".

    We can have a pure function in C like

    int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is
    self-contained, like the contents of a tape.

    If we have a function that is looking at static variables
    which are not reset to known values, we have to work harder to
    identify what is the Turning machine there.

    int c;
    int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together
    with a specific value of c is:

    c = 42; result = add(7, 13); // that's a Turing machine
    c = 73; result = add(7, 13); // that's a different Turing machine

    We can't ignore the hidden static data which affects the
    calculation, but if we identify it and control it then we can
    characterize the conditions that give us a Turing machine.

    C functions are really procedures, which /can/ be functions.
    When they are not functions, we may be to identify the
    constituents of the computation that give us functions.
    E.g. a state machine's state transition function
    (which could actually be a C array, not a C function).

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Sun Aug 17 22:14:24 2025
    On 8/17/25 9:22 PM, olcott wrote:
    On 8/17/2025 8:02 PM, Kaz Kylheku wrote:
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about
    computable functions. It still seems a little silly
    that C code can do things that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can interface
    with the outside world and respond to real-time events and ocnditions
    that are never the same on any repeated run. Let's make it clear
    that this is not on the table at all.

    C calculations that are deterministic are Turing computations.
    But you have to know where to draw the chalk line around them to
    say "that is the Turing machine".

    We can have a pure function in C like

       int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is
    self-contained, like the contents of a tape.

    If we have a function that is looking at static variables
    which are not reset to known values, we have to work harder to
    identify what is the Turning machine there.

       int c;
       int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together
    with a specific value of c is:

        c = 42; result = add(7, 13); // that's a Turing machine
        c = 73; result = add(7, 13); // that's a different Turing machine

    We can't ignore the hidden static data which affects the
    calculation, but if we identify it and control it then we can
    characterize the conditions that give us a Turing machine.


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

    My C function HHH(DD) does correctly determine
    that DD correctly simulated by HHH cannot possibly
    reach its own "return" instruction final halt state.
    It aborts its simulation and correctly returns 0
    to indicate this.

    No it doesn't as the HHH the determines that defines what HHH is, and it
    isn't a "correct simulator"

    Your problem is you don't understand what a program is.


    When we eliminate the static data then it remains
    true that the input to HHH(DD) remains stuck in
    recursive simulation, yet HHH cannot know this
    with my currently coded HHH.

    And thus, if you remove the static data, you are admittig you can't make
    you HHH a decider. SInce with the static data, it is a category error to
    call it a decider, since deciders are computations, and computations
    can't use static data, you are just admitting that your HHH isn't
    actualy what you claim.


    The design of HHH is a pure function of its input.
    HHH merely reports on the behavior specified by
    this input: DD correctly simulated by HHH including
    HHH simulating an instance of itself simulating an
    instance of DD.

    No it isn't, as it presumes it can simulate code that isn't part of the
    input, and thus isn't a pure function.

    If its design was a pure function, then it could be implemented as a
    pure function.

    All you are doing is showing that you think it is ok to lie.


    The current implementation of HHH does depend on
    homemade static data for at least: execution_trace;

    And since it LOOKS at that trace data, it isn't a pure funciton.

    Sorry, all you are doing is admitting you are just a bad liar.


    C functions are really procedures, which /can/ be functions.
    When they are not functions, we may be to identify the
    constituents of the computation that give us functions.
    E.g. a state machine's state transition function
    (which could actually be a C array, not a C function).



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kaz Kylheku@21:1/5 to olcott on Mon Aug 18 17:47:55 2025
    On 2025-08-18, olcott <polcott333@gmail.com> wrote:
    On 8/17/2025 8:02 PM, Kaz Kylheku wrote:
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about
    computable functions. It still seems a little silly
    that C code can do things that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can interface
    with the outside world and respond to real-time events and ocnditions
    that are never the same on any repeated run. Let's make it clear
    that this is not on the table at all.

    C calculations that are deterministic are Turing computations.
    But you have to know where to draw the chalk line around them to
    say "that is the Turing machine".

    We can have a pure function in C like

    int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is
    self-contained, like the contents of a tape.

    If we have a function that is looking at static variables
    which are not reset to known values, we have to work harder to
    identify what is the Turning machine there.

    int c;
    int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together
    with a specific value of c is:

    c = 42; result = add(7, 13); // that's a Turing machine
    c = 73; result = add(7, 13); // that's a different Turing machine

    We can't ignore the hidden static data which affects the
    calculation, but if we identify it and control it then we can
    characterize the conditions that give us a Turing machine.


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

    My C function HHH(DD) does correctly determine
    that DD correctly simulated by HHH cannot possibly
    reach its own "return" instruction final halt state.
    It aborts its simulation and correctly returns 0
    to indicate this.

    DD isn't stuck if HHH(DD) returns zero.

    Your system represents two different HHH functions in one function body,
    by means of static variables to distinguish them.

    The function call HHH(DD) is really HHH(DD, static_data).

    If you're going to make functionl arguments about halting, you need
    functions. Procedures that access mutating static data are not
    functions, but they can be if we parametrize that data.

    If you make your static data explicit, you will see that your situation
    is equivalent to this:

    int HHH(int (*fn)(void)n, int root_flag);

    int DD(void)
    {
    int halts = HHH(DD, 0);
    if (halts)
    for(;;);
    return halts;
    }

    int main()
    {
    if (HHH(DD, 1))
    puts("DD halts");
    else
    puts("DD doesn't halt");
    return 0;
    }

    HHH(DD, 0) and HHH(DD, 1) are calls to different deciders; the decider
    is parametrized by the static data.

    Given this setup, of course everything you say holds: HHH(DD, 1) can
    determine that DD isn't halting and return that indication.

    But the DD test case is trying to show that HHD(..., 0) is not a valid
    decider, not HH(..., 1). You cannot argue that DD does not show that
    which it shows because HH(..., 1), a different decider, decides it.

    If you call HHH(DD, 0) in main, /that/ decider doesn't correctly decide.
    That's the samea s removing the static data: keeping the flag the
    same everywhere.

    You can't use decider A to show that a test case which embeds decider B
    can be decided, and then claim that halting undecidability is bunk; it
    doesn't work.

    The test case which embeds decider B shows that B is not a universal
    halting decider. It "targets" B.

    A is irrelevant, and a separate test case can be spun which targets A.

    When we eliminate the static data then it remains
    true that the input to HHH(DD) remains stuck in
    recursive simulation, yet HHH cannot know this
    with my currently coded HHH.

    If we eliminate the static data (or else save, reinitialize and restore
    it around each HHHH call) then your system collectly exemplifies the undecidability of halting, refuting your claims.

    The design of HHH is a pure function of its input.

    Not with the static data, which allows HHH to internally answer the
    queston "am I the top-level HHH or not?" which is equivalent to passing
    in a flag argument which splits it into two classes of decider.

    HHH merely reports on the behavior specified by
    this input: DD correctly simulated by HHH including
    HHH simulating an instance of itself simulating an
    instance of DD.

    The current implementation of HHH does depend on
    homemade static data for at least: execution_trace;

    "pure function" and "depends on static data"
    are incompatible, if the static data /mutates/.

    A pure function can only depend on immutable static
    data, such as a numeric or string literal.

    If you want HHH to be a pure function, which you should, you must turn
    every operand it depends on into a parameter of the function (every
    operand that is not a literal constant). Also, the parameter must be a
    value parameter, not a pointer to some mutable is effectively the same
    as static data.

    For each call to HHH, decide what arguments those extra parameters take
    on and then realize that every distinct combination of those arguments effectively gives rise to a different HHH.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mr Flibble@21:1/5 to olcott on Mon Aug 18 17:57:43 2025
    On Mon, 18 Aug 2025 12:55:44 -0500, olcott wrote:

    On 8/18/2025 12:47 PM, Kaz Kylheku wrote:
    On 2025-08-18, olcott <polcott333@gmail.com> wrote:
    On 8/17/2025 8:02 PM, Kaz Kylheku wrote:
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about computable
    functions. It still seems a little silly that C code can do things
    that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can interface
    with the outside world and respond to real-time events and ocnditions
    that are never the same on any repeated run. Let's make it clear that
    this is not on the table at all.

    C calculations that are deterministic are Turing computations.
    But you have to know where to draw the chalk line around them to say
    "that is the Turing machine".

    We can have a pure function in C like

    int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is
    self-contained, like the contents of a tape.

    If we have a function that is looking at static variables which are
    not reset to known values, we have to work harder to identify what is
    the Turning machine there.

    int c;
    int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together with a
    specific value of c is:

    c = 42; result = add(7, 13); // that's a Turing machine c = 73;
    result = add(7, 13); // that's a different Turing machine

    We can't ignore the hidden static data which affects the calculation,
    but if we identify it and control it then we can characterize the
    conditions that give us a Turing machine.


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

    My C function HHH(DD) does correctly determine that DD correctly
    simulated by HHH cannot possibly reach its own "return" instruction
    final halt state.
    It aborts its simulation and correctly returns 0 to indicate this.

    DD isn't stuck if HHH(DD) returns zero.

    Your system represents two different HHH functions in one function
    body,
    by means of static variables to distinguish them.

    The function call HHH(DD) is really HHH(DD, static_data).

    If you're going to make functionl arguments about halting, you need
    functions. Procedures that access mutating static data are not
    functions, but they can be if we parametrize that data.

    If you make your static data explicit, you will see that your situation
    is equivalent to this:

    int HHH(int (*fn)(void)n, int root_flag);

    int DD(void)
    {
    int halts = HHH(DD, 0);
    if (halts)
    for(;;);
    return halts;
    }

    int main()
    {
    if (HHH(DD, 1))
    puts("DD halts");
    else
    puts("DD doesn't halt");
    return 0;
    }

    HHH(DD, 0) and HHH(DD, 1) are calls to different deciders; the decider
    is parametrized by the static data.

    Given this setup, of course everything you say holds: HHH(DD, 1) can
    determine that DD isn't halting and return that indication.

    But the DD test case is trying to show that HHD(..., 0) is not a valid
    decider, not HH(..., 1). You cannot argue that DD does not show that
    which it shows because HH(..., 1), a different decider, decides it.

    If you call HHH(DD, 0) in main, /that/ decider doesn't correctly
    decide.
    That's the samea s removing the static data: keeping the flag the same
    everywhere.

    You can't use decider A to show that a test case which embeds decider B
    can be decided, and then claim that halting undecidability is bunk; it
    doesn't work.

    The test case which embeds decider B shows that B is not a universal
    halting decider. It "targets" B.

    A is irrelevant, and a separate test case can be spun which targets A.

    When we eliminate the static data then it remains true that the input
    to HHH(DD) remains stuck in recursive simulation, yet HHH cannot know
    this with my currently coded HHH.

    If we eliminate the static data (or else save, reinitialize and restore
    it around each HHHH call) then your system collectly exemplifies the
    undecidability of halting, refuting your claims.

    The design of HHH is a pure function of its input.

    Not with the static data, which allows HHH to internally answer the
    queston "am I the top-level HHH or not?" which is equivalent to passing
    in a flag argument which splits it into two classes of decider.

    HHH merely reports on the behavior specified by this input: DD
    correctly simulated by HHH including HHH simulating an instance of
    itself simulating an instance of DD.

    The current implementation of HHH does depend on homemade static data
    for at least: execution_trace;

    "pure function" and "depends on static data"
    are incompatible, if the static data /mutates/.

    A pure function can only depend on immutable static data, such as a
    numeric or string literal.

    If you want HHH to be a pure function, which you should, you must turn
    every operand it depends on into a parameter of the function (every
    operand that is not a literal constant). Also, the parameter must be a
    value parameter, not a pointer to some mutable is effectively the same
    as static data.

    For each call to HHH, decide what arguments those extra parameters take
    on and then realize that every distinct combination of those arguments
    effectively gives rise to a different HHH.


    When HHH(DD) is a pure function of its inputs and uses no static data
    then both HHH(DD) and directly executed DD() never stop running proving
    that HHH(DD)==0 is correct.

    No. HHH(DD) has to report to the directly executed DD() otherwise HHH is
    not a halt decider.

    /Flibble

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mr Flibble@21:1/5 to olcott on Mon Aug 18 18:21:45 2025
    On Mon, 18 Aug 2025 13:19:21 -0500, olcott wrote:

    On 8/18/2025 12:57 PM, Mr Flibble wrote:
    On Mon, 18 Aug 2025 12:55:44 -0500, olcott wrote:

    On 8/18/2025 12:47 PM, Kaz Kylheku wrote:
    On 2025-08-18, olcott <polcott333@gmail.com> wrote:
    On 8/17/2025 8:02 PM, Kaz Kylheku wrote:
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about computable
    functions. It still seems a little silly that C code can do things >>>>>>> that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can
    interface with the outside world and respond to real-time events
    and ocnditions that are never the same on any repeated run. Let's
    make it clear that this is not on the table at all.

    C calculations that are deterministic are Turing computations.
    But you have to know where to draw the chalk line around them to
    say "that is the Turing machine".

    We can have a pure function in C like

    int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is
    self-contained, like the contents of a tape.

    If we have a function that is looking at static variables which are >>>>>> not reset to known values, we have to work harder to identify what >>>>>> is the Turning machine there.

    int c;
    int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together with >>>>>> a specific value of c is:

    c = 42; result = add(7, 13); // that's a Turing machine c =
    73;
    result = add(7, 13); // that's a different Turing machine

    We can't ignore the hidden static data which affects the
    calculation,
    but if we identify it and control it then we can characterize the
    conditions that give us a Turing machine.


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

    My C function HHH(DD) does correctly determine that DD correctly
    simulated by HHH cannot possibly reach its own "return" instruction
    final halt state.
    It aborts its simulation and correctly returns 0 to indicate this.

    DD isn't stuck if HHH(DD) returns zero.

    Your system represents two different HHH functions in one function
    body,
    by means of static variables to distinguish them.

    The function call HHH(DD) is really HHH(DD, static_data).

    If you're going to make functionl arguments about halting, you need
    functions. Procedures that access mutating static data are not
    functions, but they can be if we parametrize that data.

    If you make your static data explicit, you will see that your
    situation is equivalent to this:

    int HHH(int (*fn)(void)n, int root_flag);

    int DD(void)
    {
    int halts = HHH(DD, 0);
    if (halts)
    for(;;);
    return halts;
    }

    int main()
    {
    if (HHH(DD, 1))
    puts("DD halts");
    else
    puts("DD doesn't halt");
    return 0;
    }

    HHH(DD, 0) and HHH(DD, 1) are calls to different deciders; the
    decider is parametrized by the static data.

    Given this setup, of course everything you say holds: HHH(DD, 1) can
    determine that DD isn't halting and return that indication.

    But the DD test case is trying to show that HHD(..., 0) is not a
    valid decider, not HH(..., 1). You cannot argue that DD does not show
    that which it shows because HH(..., 1), a different decider, decides
    it.

    If you call HHH(DD, 0) in main, /that/ decider doesn't correctly
    decide.
    That's the samea s removing the static data: keeping the flag the
    same everywhere.

    You can't use decider A to show that a test case which embeds decider
    B can be decided, and then claim that halting undecidability is bunk;
    it doesn't work.

    The test case which embeds decider B shows that B is not a universal
    halting decider. It "targets" B.

    A is irrelevant, and a separate test case can be spun which targets
    A.

    When we eliminate the static data then it remains true that the
    input to HHH(DD) remains stuck in recursive simulation, yet HHH
    cannot know this with my currently coded HHH.

    If we eliminate the static data (or else save, reinitialize and
    restore it around each HHHH call) then your system collectly
    exemplifies the undecidability of halting, refuting your claims.

    The design of HHH is a pure function of its input.

    Not with the static data, which allows HHH to internally answer the
    queston "am I the top-level HHH or not?" which is equivalent to
    passing in a flag argument which splits it into two classes of
    decider.

    HHH merely reports on the behavior specified by this input: DD
    correctly simulated by HHH including HHH simulating an instance of
    itself simulating an instance of DD.

    The current implementation of HHH does depend on homemade static
    data for at least: execution_trace;

    "pure function" and "depends on static data"
    are incompatible, if the static data /mutates/.

    A pure function can only depend on immutable static data, such as a
    numeric or string literal.

    If you want HHH to be a pure function, which you should, you must
    turn every operand it depends on into a parameter of the function
    (every operand that is not a literal constant). Also, the parameter
    must be a value parameter, not a pointer to some mutable is
    effectively the same as static data.

    For each call to HHH, decide what arguments those extra parameters
    take on and then realize that every distinct combination of those
    arguments effectively gives rise to a different HHH.


    When HHH(DD) is a pure function of its inputs and uses no static data
    then both HHH(DD) and directly executed DD() never stop running
    proving that HHH(DD)==0 is correct.

    No. HHH(DD) has to report to the directly executed DD() otherwise HHH
    is not a halt decider.

    /Flibble

    Turing machine deciders only compute the mapping from their inputs...

    Otherwise HHH is not any kind of decider at all.

    A halt decider needs to report a decision to its caller.

    /Flibble

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mr Flibble@21:1/5 to olcott on Mon Aug 18 18:59:52 2025
    On Mon, 18 Aug 2025 13:49:48 -0500, olcott wrote:

    On 8/18/2025 1:21 PM, Mr Flibble wrote:
    On Mon, 18 Aug 2025 13:19:21 -0500, olcott wrote:

    On 8/18/2025 12:57 PM, Mr Flibble wrote:
    On Mon, 18 Aug 2025 12:55:44 -0500, olcott wrote:

    On 8/18/2025 12:47 PM, Kaz Kylheku wrote:
    On 2025-08-18, olcott <polcott333@gmail.com> wrote:
    On 8/17/2025 8:02 PM, Kaz Kylheku wrote:
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about computable >>>>>>>>> functions. It still seems a little silly that C code can do
    things that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can
    interface with the outside world and respond to real-time events >>>>>>>> and ocnditions that are never the same on any repeated run. Let's >>>>>>>> make it clear that this is not on the table at all.

    C calculations that are deterministic are Turing computations. >>>>>>>> But you have to know where to draw the chalk line around them to >>>>>>>> say "that is the Turing machine".

    We can have a pure function in C like

    int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is
    self-contained, like the contents of a tape.

    If we have a function that is looking at static variables which >>>>>>>> are not reset to known values, we have to work harder to identify >>>>>>>> what is the Turning machine there.

    int c;
    int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together >>>>>>>> with a specific value of c is:

    c = 42; result = add(7, 13); // that's a Turing machine c >>>>>>>> =
    73;
    result = add(7, 13); // that's a different Turing machine >>>>>>>>
    We can't ignore the hidden static data which affects the
    calculation,
    but if we identify it and control it then we can characterize the >>>>>>>> conditions that give us a Turing machine.


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

    My C function HHH(DD) does correctly determine that DD correctly >>>>>>> simulated by HHH cannot possibly reach its own "return"
    instruction final halt state.
    It aborts its simulation and correctly returns 0 to indicate this. >>>>>>
    DD isn't stuck if HHH(DD) returns zero.

    Your system represents two different HHH functions in one function >>>>>> body,
    by means of static variables to distinguish them.

    The function call HHH(DD) is really HHH(DD, static_data).

    If you're going to make functionl arguments about halting, you need >>>>>> functions. Procedures that access mutating static data are not
    functions, but they can be if we parametrize that data.

    If you make your static data explicit, you will see that your
    situation is equivalent to this:

    int HHH(int (*fn)(void)n, int root_flag);

    int DD(void)
    {
    int halts = HHH(DD, 0);
    if (halts)
    for(;;);
    return halts;
    }

    int main()
    {
    if (HHH(DD, 1))
    puts("DD halts");
    else
    puts("DD doesn't halt");
    return 0;
    }

    HHH(DD, 0) and HHH(DD, 1) are calls to different deciders; the
    decider is parametrized by the static data.

    Given this setup, of course everything you say holds: HHH(DD, 1)
    can determine that DD isn't halting and return that indication.

    But the DD test case is trying to show that HHD(..., 0) is not a
    valid decider, not HH(..., 1). You cannot argue that DD does not
    show that which it shows because HH(..., 1), a different decider,
    decides it.

    If you call HHH(DD, 0) in main, /that/ decider doesn't correctly
    decide.
    That's the samea s removing the static data: keeping the flag the
    same everywhere.

    You can't use decider A to show that a test case which embeds
    decider B can be decided, and then claim that halting
    undecidability is bunk;
    it doesn't work.

    The test case which embeds decider B shows that B is not a
    universal halting decider. It "targets" B.

    A is irrelevant, and a separate test case can be spun which targets >>>>>> A.

    When we eliminate the static data then it remains true that the
    input to HHH(DD) remains stuck in recursive simulation, yet HHH
    cannot know this with my currently coded HHH.

    If we eliminate the static data (or else save, reinitialize and
    restore it around each HHHH call) then your system collectly
    exemplifies the undecidability of halting, refuting your claims.

    The design of HHH is a pure function of its input.

    Not with the static data, which allows HHH to internally answer the >>>>>> queston "am I the top-level HHH or not?" which is equivalent to
    passing in a flag argument which splits it into two classes of
    decider.

    HHH merely reports on the behavior specified by this input: DD
    correctly simulated by HHH including HHH simulating an instance of >>>>>>> itself simulating an instance of DD.

    The current implementation of HHH does depend on homemade static >>>>>>> data for at least: execution_trace;

    "pure function" and "depends on static data"
    are incompatible, if the static data /mutates/.

    A pure function can only depend on immutable static data, such as a >>>>>> numeric or string literal.

    If you want HHH to be a pure function, which you should, you must
    turn every operand it depends on into a parameter of the function
    (every operand that is not a literal constant). Also, the
    parameter must be a value parameter, not a pointer to some mutable >>>>>> is effectively the same as static data.

    For each call to HHH, decide what arguments those extra parameters >>>>>> take on and then realize that every distinct combination of those
    arguments effectively gives rise to a different HHH.


    When HHH(DD) is a pure function of its inputs and uses no static
    data then both HHH(DD) and directly executed DD() never stop running >>>>> proving that HHH(DD)==0 is correct.

    No. HHH(DD) has to report to the directly executed DD() otherwise HHH
    is not a halt decider.

    /Flibble

    Turing machine deciders only compute the mapping from their inputs...

    Otherwise HHH is not any kind of decider at all.

    A halt decider needs to report a decision to its caller.

    /Flibble

    Yes. A halt decider cannot possibly report a decision about the behavior
    OF ITS CALLER.

    It can do and must do if a *description* of its caller is passed to the
    halt decider as an input.

    /Flibble

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mr Flibble@21:1/5 to olcott on Mon Aug 18 19:11:55 2025
    On Mon, 18 Aug 2025 14:01:50 -0500, olcott wrote:

    On 8/18/2025 1:59 PM, Mr Flibble wrote:
    On Mon, 18 Aug 2025 13:49:48 -0500, olcott wrote:

    On 8/18/2025 1:21 PM, Mr Flibble wrote:
    On Mon, 18 Aug 2025 13:19:21 -0500, olcott wrote:

    On 8/18/2025 12:57 PM, Mr Flibble wrote:
    On Mon, 18 Aug 2025 12:55:44 -0500, olcott wrote:

    On 8/18/2025 12:47 PM, Kaz Kylheku wrote:
    On 2025-08-18, olcott <polcott333@gmail.com> wrote:
    On 8/17/2025 8:02 PM, Kaz Kylheku wrote:
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about computable >>>>>>>>>>> functions. It still seems a little silly that C code can do >>>>>>>>>>> things that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can >>>>>>>>>> interface with the outside world and respond to real-time
    events and ocnditions that are never the same on any repeated >>>>>>>>>> run. Let's make it clear that this is not on the table at all. >>>>>>>>>>
    C calculations that are deterministic are Turing computations. >>>>>>>>>> But you have to know where to draw the chalk line around them >>>>>>>>>> to say "that is the Turing machine".

    We can have a pure function in C like

    int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is >>>>>>>>>> self-contained, like the contents of a tape.

    If we have a function that is looking at static variables which >>>>>>>>>> are not reset to known values, we have to work harder to
    identify what is the Turning machine there.

    int c;
    int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together >>>>>>>>>> with a specific value of c is:

    c = 42; result = add(7, 13); // that's a Turing machine >>>>>>>>>> c =
    73;
    result = add(7, 13); // that's a different Turing
    machine

    We can't ignore the hidden static data which affects the
    calculation,
    but if we identify it and control it then we can characterize >>>>>>>>>> the conditions that give us a Turing machine.


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

    My C function HHH(DD) does correctly determine that DD correctly >>>>>>>>> simulated by HHH cannot possibly reach its own "return"
    instruction final halt state.
    It aborts its simulation and correctly returns 0 to indicate >>>>>>>>> this.

    DD isn't stuck if HHH(DD) returns zero.

    Your system represents two different HHH functions in one
    function body,
    by means of static variables to distinguish them.

    The function call HHH(DD) is really HHH(DD, static_data).

    If you're going to make functionl arguments about halting, you >>>>>>>> need functions. Procedures that access mutating static data are >>>>>>>> not functions, but they can be if we parametrize that data.

    If you make your static data explicit, you will see that your
    situation is equivalent to this:

    int HHH(int (*fn)(void)n, int root_flag);

    int DD(void)
    {
    int halts = HHH(DD, 0);
    if (halts)
    for(;;);
    return halts;
    }

    int main()
    {
    if (HHH(DD, 1))
    puts("DD halts");
    else
    puts("DD doesn't halt");
    return 0;
    }

    HHH(DD, 0) and HHH(DD, 1) are calls to different deciders; the >>>>>>>> decider is parametrized by the static data.

    Given this setup, of course everything you say holds: HHH(DD, 1) >>>>>>>> can determine that DD isn't halting and return that indication. >>>>>>>>
    But the DD test case is trying to show that HHD(..., 0) is not a >>>>>>>> valid decider, not HH(..., 1). You cannot argue that DD does not >>>>>>>> show that which it shows because HH(..., 1), a different decider, >>>>>>>> decides it.

    If you call HHH(DD, 0) in main, /that/ decider doesn't correctly >>>>>>>> decide.
    That's the samea s removing the static data: keeping the flag the >>>>>>>> same everywhere.

    You can't use decider A to show that a test case which embeds
    decider B can be decided, and then claim that halting
    undecidability is bunk;
    it doesn't work.

    The test case which embeds decider B shows that B is not a
    universal halting decider. It "targets" B.

    A is irrelevant, and a separate test case can be spun which
    targets A.

    When we eliminate the static data then it remains true that the >>>>>>>>> input to HHH(DD) remains stuck in recursive simulation, yet HHH >>>>>>>>> cannot know this with my currently coded HHH.

    If we eliminate the static data (or else save, reinitialize and >>>>>>>> restore it around each HHHH call) then your system collectly
    exemplifies the undecidability of halting, refuting your claims. >>>>>>>>
    The design of HHH is a pure function of its input.

    Not with the static data, which allows HHH to internally answer >>>>>>>> the queston "am I the top-level HHH or not?" which is equivalent >>>>>>>> to passing in a flag argument which splits it into two classes of >>>>>>>> decider.

    HHH merely reports on the behavior specified by this input: DD >>>>>>>>> correctly simulated by HHH including HHH simulating an instance >>>>>>>>> of itself simulating an instance of DD.

    The current implementation of HHH does depend on homemade static >>>>>>>>> data for at least: execution_trace;

    "pure function" and "depends on static data"
    are incompatible, if the static data /mutates/.

    A pure function can only depend on immutable static data, such as >>>>>>>> a numeric or string literal.

    If you want HHH to be a pure function, which you should, you must >>>>>>>> turn every operand it depends on into a parameter of the function >>>>>>>> (every operand that is not a literal constant). Also, the
    parameter must be a value parameter, not a pointer to some
    mutable is effectively the same as static data.

    For each call to HHH, decide what arguments those extra
    parameters take on and then realize that every distinct
    combination of those arguments effectively gives rise to a
    different HHH.


    When HHH(DD) is a pure function of its inputs and uses no static >>>>>>> data then both HHH(DD) and directly executed DD() never stop
    running proving that HHH(DD)==0 is correct.

    No. HHH(DD) has to report to the directly executed DD() otherwise
    HHH is not a halt decider.

    /Flibble

    Turing machine deciders only compute the mapping from their
    inputs...

    Otherwise HHH is not any kind of decider at all.

    A halt decider needs to report a decision to its caller.

    /Flibble

    Yes. A halt decider cannot possibly report a decision about the
    behavior OF ITS CALLER.

    It can do and must do if a *description* of its caller is passed to the
    halt decider as an input.

    /Flibble

    THAT IS NOT THE BEHAVIOR OF ITS ACTUAL CALLER THAT IS THE BEHAVIOR OF
    ITS ACTUAL INPUT

    No, it is both.

    /Flibble

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Mon Aug 18 20:54:22 2025
    On 18/08/2025 20:01, olcott wrote:

    <snip>

    THAT IS NOT THE BEHAVIOR OF ITS ACTUAL CALLER
    THAT IS THE BEHAVIOR OF ITS ACTUAL INPUT

    HHH's caller is DD.

    HHH's input is DD.

    They are the same entity. C guarantees it. If you don't like the
    rules, pick a different language.

    --
    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 joes@21:1/5 to All on Mon Aug 18 20:53:13 2025
    Am Mon, 18 Aug 2025 13:27:26 -0500 schrieb olcott:
    On 8/18/2025 1:01 PM, dbush wrote:
    On 8/18/2025 1:55 PM, olcott wrote:

    When HHH(DD) is a pure function of its inputs and uses no static data
    then both HHH(DD) and directly executed DD() never stop running
    i.e. when you change the input.

    proving that HHH(DD)==0 is correct.
    Nope.  Changing the input is not allowed.
    *Changing the decider/input pairs is required* nitwit
    Wait, what? You’re *acknowledging* that HHH reports on DD(){HHH_inf();}?

    I am not calling you a nitwit because you made a mistake. I am calling
    you a nitwit because you keep making the same mistake after many
    corrections.
    That is what a nitwit would say.
    --
    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 joes@21:1/5 to All on Mon Aug 18 21:23:31 2025
    Am Mon, 18 Aug 2025 15:56:11 -0500 schrieb olcott:
    On 8/18/2025 3:53 PM, joes wrote:
    Am Mon, 18 Aug 2025 13:27:26 -0500 schrieb olcott:
    On 8/18/2025 1:01 PM, dbush wrote:
    On 8/18/2025 1:55 PM, olcott wrote:

    When HHH(DD) is a pure function of its inputs and uses no static
    data then both HHH(DD) and directly executed DD() never stop running
    i.e. when you change the input.

    proving that HHH(DD)==0 is correct.
    Nope.  Changing the input is not allowed.
    *Changing the decider/input pairs is required* nitwit
    Wait, what? You’re *acknowledging* that HHH reports on
    DD(){HHH_inf();}?

    Cool.

    I am not calling you a nitwit because you made a mistake. I am calling
    you a nitwit because you keep making the same mistake after many
    corrections.
    That is what a nitwit would say.
    Too stupid to understand that M is a template specifying an infinite set
    of machine / input pairs ?
    I keep telling you that M is not a concrete machine!

    --
    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 Dan Cross@21:1/5 to wyniijj5@gmail.com on Mon Aug 18 22:39:33 2025
    In article <17b1db77236d2868926b14304ea2fd5a3d5ad3f2.camel@gmail.com>,
    wij <wyniijj5@gmail.com> wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many.
    Often, olcott cannot answer what other people says, people used to think olcott
    has read and know (somewhat) what other people says. But not, olcott doesn't >understand (probably did not read, neither) and continue to rely, he just repeat
    what he want to say, even though inconsistency (he does not understand  >contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms, knowledge are >fabrication in his brain.

    So, my solution is insist your unanswered question untill answered.
    olcott is good at switching subject, otherwise discussion diverges to nothing.

    The most efficient way to deal with Peter Olcott is to ignore
    him.

    Seriously. I was away for the weekend and I come back to over
    400 messages in comp.theory from, to, or about Olcott.

    Just ignore the guy already.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Mon Aug 18 18:39:08 2025
    On 8/18/25 1:55 PM, olcott wrote:
    On 8/18/2025 12:47 PM, Kaz Kylheku wrote:
    On 2025-08-18, olcott <polcott333@gmail.com> wrote:
    On 8/17/2025 8:02 PM, Kaz Kylheku wrote:
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about
    computable functions. It still seems a little silly
    that C code can do things that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can interface
    with the outside world and respond to real-time events and ocnditions
    that are never the same on any repeated run. Let's make it clear
    that this is not on the table at all.

    C calculations that are deterministic are Turing computations.
    But you have to know where to draw the chalk line around them to
    say "that is the Turing machine".

    We can have a pure function in C like

        int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is
    self-contained, like the contents of a tape.

    If we have a function that is looking at static variables
    which are not reset to known values, we have to work harder to
    identify what is the Turning machine there.

        int c;
        int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together
    with a specific value of c is:

         c = 42; result = add(7, 13); // that's a Turing machine
         c = 73; result = add(7, 13); // that's a different Turing machine >>>>
    We can't ignore the hidden static data which affects the
    calculation, but if we identify it and control it then we can
    characterize the conditions that give us a Turing machine.


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

    My C function HHH(DD) does correctly determine
    that DD correctly simulated by HHH cannot possibly
    reach its own "return" instruction final halt state.
    It aborts its simulation and correctly returns 0
    to indicate this.

    DD isn't stuck if HHH(DD) returns zero.

    Your system represents two different HHH functions in one function body,
    by means of static variables to distinguish them.

    The function call HHH(DD) is really HHH(DD, static_data).

    If you're going to make functionl arguments about halting, you need
    functions. Procedures that access mutating static data are not
    functions, but they can be if we parametrize that data.

    If you make your static data explicit, you will see that your situation
    is equivalent to this:

      int HHH(int (*fn)(void)n, int root_flag);

    int DD(void)
    {
        int halts = HHH(DD, 0);
        if (halts)
          for(;;);
        return halts;
    }

      int main()
      {
        if (HHH(DD, 1))
          puts("DD halts");
        else
          puts("DD doesn't halt");
        return 0;
      }

    HHH(DD, 0) and HHH(DD, 1) are calls to different deciders; the decider
    is parametrized by the static data.

    Given this setup, of course everything you say holds: HHH(DD, 1) can
    determine that DD isn't halting and return that indication.

    But the DD test case is trying to show that HHD(..., 0) is not a valid
    decider, not HH(..., 1). You cannot argue that DD does not show that
    which it shows because HH(..., 1), a different decider, decides it.

    If you call HHH(DD, 0) in main, /that/ decider doesn't correctly decide.
    That's the samea s removing the static data: keeping the flag the
    same everywhere.

    You can't use decider A to show that a test case which embeds decider B
    can be decided, and then claim that halting undecidability is bunk; it
    doesn't work.

    The test case which embeds decider B shows that B is not a universal
    halting decider. It "targets" B.

    A is irrelevant, and a separate test case can be spun which targets A.

    When we eliminate the static data then it remains
    true that the input to HHH(DD) remains stuck in
    recursive simulation, yet HHH cannot know this
    with my currently coded HHH.

    If we eliminate the static data (or else save, reinitialize and restore
    it around each HHHH call) then your system collectly exemplifies the
    undecidability of halting, refuting your claims.

    The design of HHH is a pure function of its input.

    Not with the static data, which allows HHH to internally answer the
    queston "am I the top-level HHH or not?" which is equivalent to passing
    in a flag argument which splits it into two classes of decider.

    HHH merely reports on the behavior specified by
    this input: DD correctly simulated by HHH including
    HHH simulating an instance of itself simulating an
    instance of DD.

    The current implementation of HHH does depend on
    homemade static data for at least: execution_trace;

    "pure function" and "depends on static data"
    are incompatible, if the static data /mutates/.

    A pure function can only depend on immutable static
    data, such as a numeric or string literal.

    If you want HHH to be a pure function, which you should, you must turn
    every operand it depends on into a parameter of the function (every
    operand that is not a literal constant).  Also, the parameter must be a
    value parameter, not a pointer to some mutable is effectively the same
    as static data.

    For each call to HHH, decide what arguments those extra parameters take
    on and then realize that every distinct combination of those arguments
    effectively gives rise to a different HHH.


    When HHH(DD) is a pure function of its inputs and uses
    no static data then both HHH(DD) and directly executed
    DD() never stop running proving that HHH(DD)==0 is correct.


    Nope, because if HHH meets that requirement, it can't give that answer,
    and if HHH gives that answer, it couldn't have meet the requirements.

    Since both HHHs in the sentence are supposed to be refering to the same
    thing, you are just proving that you are just a stupid liar.

    IF both HHHs aren't the same, you are just proving that you logic system
    is based on lyings, and that A == A is not true in your system.

    Sorry, you are just sinking your reputation to the bottom of that lake.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Mon Aug 18 18:47:32 2025
    On 8/18/25 2:19 PM, olcott wrote:
    On 8/18/2025 12:57 PM, Mr Flibble wrote:
    On Mon, 18 Aug 2025 12:55:44 -0500, olcott wrote:

    On 8/18/2025 12:47 PM, Kaz Kylheku wrote:
    On 2025-08-18, olcott <polcott333@gmail.com> wrote:
    On 8/17/2025 8:02 PM, Kaz Kylheku wrote:
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about computable
    functions. It still seems a little silly that C code can do things >>>>>>> that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can interface >>>>>> with the outside world and respond to real-time events and ocnditions >>>>>> that are never the same on any repeated run. Let's make it clear that >>>>>> this is not on the table at all.

    C calculations that are deterministic are Turing computations.
    But you have to know where to draw the chalk line around them to say >>>>>> "that is the Turing machine".

    We can have a pure function in C like

         int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is
    self-contained, like the contents of a tape.

    If we have a function that is looking at static variables which are >>>>>> not reset to known values, we have to work harder to identify what is >>>>>> the Turning machine there.

         int c;
         int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together with a >>>>>> specific value of c is:

          c = 42; result = add(7, 13); // that's a Turing machine c = 73;
          result = add(7, 13); // that's a different Turing machine >>>>>>
    We can't ignore the hidden static data which affects the calculation, >>>>>> but if we identify it and control it then we can characterize the
    conditions that give us a Turing machine.


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

    My C function HHH(DD) does correctly determine that DD correctly
    simulated by HHH cannot possibly reach its own "return" instruction
    final halt state.
    It aborts its simulation and correctly returns 0 to indicate this.

    DD isn't stuck if HHH(DD) returns zero.

    Your system represents two different HHH functions in one function
    body,
    by means of static variables to distinguish them.

    The function call HHH(DD) is really HHH(DD, static_data).

    If you're going to make functionl arguments about halting, you need
    functions. Procedures that access mutating static data are not
    functions, but they can be if we parametrize that data.

    If you make your static data explicit, you will see that your situation >>>> is equivalent to this:

       int HHH(int (*fn)(void)n, int root_flag);

    int DD(void)
    {
         int halts = HHH(DD, 0);
         if (halts)
           for(;;);
         return halts;
    }

       int main()
       {
         if (HHH(DD, 1))
           puts("DD halts");
         else
           puts("DD doesn't halt");
         return 0;
       }

    HHH(DD, 0) and HHH(DD, 1) are calls to different deciders; the decider >>>> is parametrized by the static data.

    Given this setup, of course everything you say holds: HHH(DD, 1) can
    determine that DD isn't halting and return that indication.

    But the DD test case is trying to show that HHD(..., 0) is not a valid >>>> decider, not HH(..., 1). You cannot argue that DD does not show that
    which it shows because HH(..., 1), a different decider, decides it.

    If you call HHH(DD, 0) in main, /that/ decider doesn't correctly
    decide.
    That's the samea s removing the static data: keeping the flag the same >>>> everywhere.

    You can't use decider A to show that a test case which embeds decider B >>>> can be decided, and then claim that halting undecidability is bunk; it >>>> doesn't work.

    The test case which embeds decider B shows that B is not a universal
    halting decider. It "targets" B.

    A is irrelevant, and a separate test case can be spun which targets A. >>>>
    When we eliminate the static data then it remains true that the input >>>>> to HHH(DD) remains stuck in recursive simulation, yet HHH cannot know >>>>> this with my currently coded HHH.

    If we eliminate the static data (or else save, reinitialize and restore >>>> it around each HHHH call) then your system collectly exemplifies the
    undecidability of halting, refuting your claims.

    The design of HHH is a pure function of its input.

    Not with the static data, which allows HHH to internally answer the
    queston "am I the top-level HHH or not?" which is equivalent to passing >>>> in a flag argument which splits it into two classes of decider.

    HHH merely reports on the behavior specified by this input: DD
    correctly simulated by HHH including HHH simulating an instance of
    itself simulating an instance of DD.

    The current implementation of HHH does depend on homemade static data >>>>> for at least: execution_trace;

    "pure function" and "depends on static data"
    are incompatible, if the static data /mutates/.

    A pure function can only depend on immutable static data, such as a
    numeric or string literal.

    If you want HHH to be a pure function, which you should, you must turn >>>> every operand it depends on into a parameter of the function (every
    operand that is not a literal constant).  Also, the parameter must be a >>>> value parameter, not a pointer to some mutable is effectively the same >>>> as static data.

    For each call to HHH, decide what arguments those extra parameters take >>>> on and then realize that every distinct combination of those arguments >>>> effectively gives rise to a different HHH.


    When HHH(DD) is a pure function of its inputs and uses no static data
    then both HHH(DD) and directly executed DD() never stop running proving
    that HHH(DD)==0 is correct.

    No. HHH(DD) has to report to the directly executed DD() otherwise HHH is
    not a halt decider.

    /Flibble

    Turing machine deciders only compute the mapping
    from their inputs...

    Otherwise HHH is not any kind of decider at all.


    In other words, you are admitting to not knowing what a decider is.

    Deciders compute a mapping.

    There are a correct decider for a function, if theor mapping matches
    that function.

    So, if the mapping they compute from a correct representation of an
    input to that funciton, doesn't result in a representation of the
    results of that function, they just are not a correct decider of that
    function,

    Sorry, you are just proving you are a stupid liar that can't learn such
    a simple definition.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Damon@21:1/5 to olcott on Mon Aug 18 18:48:02 2025
    On 8/18/25 2:49 PM, olcott wrote:
    On 8/18/2025 1:21 PM, Mr Flibble wrote:
    On Mon, 18 Aug 2025 13:19:21 -0500, olcott wrote:

    On 8/18/2025 12:57 PM, Mr Flibble wrote:
    On Mon, 18 Aug 2025 12:55:44 -0500, olcott wrote:

    On 8/18/2025 12:47 PM, Kaz Kylheku wrote:
    On 2025-08-18, olcott <polcott333@gmail.com> wrote:
    On 8/17/2025 8:02 PM, Kaz Kylheku wrote:
    On 2025-08-17, olcott <polcott333@gmail.com> wrote:
    I think that you were the one that taught me about computable >>>>>>>>> functions. It still seems a little silly that C code can do things >>>>>>>>> that Turing machines cannot.

    Well, yes it can and no it can't. Firstly, obviously C can
    interface with the outside world and respond to real-time events >>>>>>>> and ocnditions that are never the same on any repeated run. Let's >>>>>>>> make it clear that this is not on the table at all.

    C calculations that are deterministic are Turing computations. >>>>>>>> But you have to know where to draw the chalk line around them to >>>>>>>> say "that is the Turing machine".

    We can have a pure function in C like

          int add(int x, int y) { return x + y; }.

    then something like add(7, 13) is a Turing computation. It is
    self-contained, like the contents of a tape.

    If we have a function that is looking at static variables which are >>>>>>>> not reset to known values, we have to work harder to identify what >>>>>>>> is the Turning machine there.

          int c;
          int add(int x, int y) { return x + y + c++; }.

    Now add(7, 13) isn't a Turing machine, but add(7, 13) together with >>>>>>>> a specific value of c is:

           c = 42; result = add(7, 13); // that's a Turing machine c =
           73;
           result = add(7, 13); // that's a different Turing machine >>>>>>>>
    We can't ignore the hidden static data which affects the
    calculation,
    but if we identify it and control it then we can characterize the >>>>>>>> conditions that give us a Turing machine.


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

    My C function HHH(DD) does correctly determine that DD correctly >>>>>>> simulated by HHH cannot possibly reach its own "return" instruction >>>>>>> final halt state.
    It aborts its simulation and correctly returns 0 to indicate this. >>>>>>
    DD isn't stuck if HHH(DD) returns zero.

    Your system represents two different HHH functions in one function >>>>>> body,
    by means of static variables to distinguish them.

    The function call HHH(DD) is really HHH(DD, static_data).

    If you're going to make functionl arguments about halting, you need >>>>>> functions. Procedures that access mutating static data are not
    functions, but they can be if we parametrize that data.

    If you make your static data explicit, you will see that your
    situation is equivalent to this:

        int HHH(int (*fn)(void)n, int root_flag);

    int DD(void)
    {
          int halts = HHH(DD, 0);
          if (halts)
            for(;;);
          return halts;
    }

        int main()
        {
          if (HHH(DD, 1))
            puts("DD halts");
          else
            puts("DD doesn't halt");
          return 0;
        }

    HHH(DD, 0) and HHH(DD, 1) are calls to different deciders; the
    decider is parametrized by the static data.

    Given this setup, of course everything you say holds: HHH(DD, 1) can >>>>>> determine that DD isn't halting and return that indication.

    But the DD test case is trying to show that HHD(..., 0) is not a
    valid decider, not HH(..., 1). You cannot argue that DD does not show >>>>>> that which it shows because HH(..., 1), a different decider, decides >>>>>> it.

    If you call HHH(DD, 0) in main, /that/ decider doesn't correctly
    decide.
    That's the samea s removing the static data: keeping the flag the
    same everywhere.

    You can't use decider A to show that a test case which embeds decider >>>>>> B can be decided, and then claim that halting undecidability is bunk; >>>>>> it doesn't work.

    The test case which embeds decider B shows that B is not a universal >>>>>> halting decider. It "targets" B.

    A is irrelevant, and a separate test case can be spun which targets >>>>>> A.

    When we eliminate the static data then it remains true that the
    input to HHH(DD) remains stuck in recursive simulation, yet HHH
    cannot know this with my currently coded HHH.

    If we eliminate the static data (or else save, reinitialize and
    restore it around each HHHH call) then your system collectly
    exemplifies the undecidability of halting, refuting your claims.

    The design of HHH is a pure function of its input.

    Not with the static data, which allows HHH to internally answer the >>>>>> queston "am I the top-level HHH or not?" which is equivalent to
    passing in a flag argument which splits it into two classes of
    decider.

    HHH merely reports on the behavior specified by this input: DD
    correctly simulated by HHH including HHH simulating an instance of >>>>>>> itself simulating an instance of DD.

    The current implementation of HHH does depend on homemade static >>>>>>> data for at least: execution_trace;

    "pure function" and "depends on static data"
    are incompatible, if the static data /mutates/.

    A pure function can only depend on immutable static data, such as a >>>>>> numeric or string literal.

    If you want HHH to be a pure function, which you should, you must
    turn every operand it depends on into a parameter of the function
    (every operand that is not a literal constant).  Also, the parameter >>>>>> must be a value parameter, not a pointer to some mutable is
    effectively the same as static data.

    For each call to HHH, decide what arguments those extra parameters >>>>>> take on and then realize that every distinct combination of those
    arguments effectively gives rise to a different HHH.


    When HHH(DD) is a pure function of its inputs and uses no static data >>>>> then both HHH(DD) and directly executed DD() never stop running
    proving that HHH(DD)==0 is correct.

    No. HHH(DD) has to report to the directly executed DD() otherwise HHH
    is not a halt decider.

    /Flibble

    Turing machine deciders only compute the mapping from their inputs...

    Otherwise HHH is not any kind of decider at all.

    A halt decider needs to report a decision to its caller.

    /Flibble

    Yes. A halt decider cannot possibly report a decision
    about the behavior OF ITS CALLER.


    Sure it can. sometimes.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to Richard Damon on Tue Aug 19 00:08:49 2025
    On 18/08/2025 23:48, Richard Damon wrote:
    On 8/18/25 2:49 PM, olcott wrote:

    <snip>


    Yes. A halt decider cannot possibly report a decision
    about the behavior OF ITS CALLER.


    Sure it can. sometimes.

    Alas, sometimes is not always.

    But if it couldn't ever (as Olcott thinks), it would prove
    Turing's point... again.

    --
    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 Dan Cross@21:1/5 to wyniijj5@gmail.com on Mon Aug 18 23:36:24 2025
    In article <80602321ce2144444b9f465411b3dbed789b53eb.camel@gmail.com>,
    wij <wyniijj5@gmail.com> wrote:
    On Mon, 2025-08-18 at 22:39 +0000, Dan Cross wrote:
    In article <17b1db77236d2868926b14304ea2fd5a3d5ad3f2.camel@gmail.com>,
    wij  <wyniijj5@gmail.com> wrote:
    olcott does not understand basic IF/AND/OR/NOT. This implies many.
    Often, olcott cannot answer what other people says, people used to think olcott
    has read and know (somewhat) what other people says. But not, olcott doesn't
    understand (probably did not read, neither) and continue to rely, he just repeat
    what he want to say, even though inconsistency (he does not understand  >> > contradiction, basic logic).

    Sine olcott does not understand basic logic, most CS terms, knowledge are >> > fabrication in his brain.

    So, my solution is insist your unanswered question untill answered.
    olcott is good at switching subject, otherwise discussion diverges to nothing.

    The most efficient way to deal with Peter Olcott is to ignore
    him.

    Seriously.  I was away for the weekend and I come back to over
    400 messages in comp.theory from, to, or about Olcott.

    Just ignore the guy already.

    That is wise. But, since I already read it, I should extract something useful. >I found there is, because my interests is not limited to CS.
    'fact' may not be what is thought.

    This feels like the sunk cost fallacy, to me.

    Perhaps there is something to be learned by studying Olcott's
    writings in some field, but that field is not computer science,
    mathematics, the theory of computation, or any related field.
    Maybe psychology or sociology. But in that case, comp.theory
    isn't the right group.

    Don't throw good money after bad, as they say.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Tue Aug 19 00:50:44 2025
    On 19/08/2025 00:31, olcott wrote:

    <snip>

    The times that it lucks out and reports on
    something else that has the same halt status
    as its caller does not count as it reporting
    on the behavior of its caller.

    You do realise that you're arguing here in favour of Turing?
    There can be no universal decider because it can't decide on
    itself, therefore some problems are undecidable.

    --
    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 Tue Aug 19 01:25:33 2025
    On 19/08/2025 01:15, olcott wrote:

    <snip>

    On 8/18/2025 6:05 PM, Richard Heathfield wrote:
    It is an easily verified fact, as you love to say,
    that if DD calls HHH (as it does) and HHH calls DD
    (as, through simulation, it effectively does) that
    HHH(DD) can never halt naturally, so it will have
    to abort the recursion and report its result as 0
    - didn't halt.

    Disingenuous. My point, which you have left far behind when
    hiking the above from its setting, is that you can use the above
    fact to improve HHH() into doing a far better job --- so much
    better, in fact, that to claim that what you currently have as
    "correctly simulating" is very clearly not the case.

    --
    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 Tue Aug 19 01:33:51 2025
    On 19/08/2025 01:24, olcott wrote:
    On 8/18/2025 6:50 PM, Richard Heathfield wrote:
    On 19/08/2025 00:31, olcott wrote:

    <snip>

    The times that it lucks out and reports on
    something else that has the same halt status
    as its caller does not count as it reporting
    on the behavior of its caller.

    You do realise that you're arguing here in favour of Turing?
    There can be no universal decider because it can't decide on
    itself, therefore some problems are undecidable.


    The definition of Turing machines does not allow
    it to report on itself

    Of course it does. A Turing machine can be described on a tape. A
    Turing machine can read a tape. Tapes can be copied. Ergo, a
    Turing machine can report on itself.

    or its caller:

    Who says it has a caller?

    Turing machine deciders only compute the mapping
    from their inputs...

    And a Turing machine decider can have a Turing machine as its input.

    People have not bothered to pay attention to that
    for 89 years.

    Not bothered to pay attention to a non-existent limitation? No, I
    don't suppose they've given it a moment's thought.

    --
    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 Tue Aug 19 01:49:10 2025
    On 19/08/2025 01:42, olcott wrote:
    On 8/18/2025 7:33 PM, Richard Heathfield wrote:
    On 19/08/2025 01:24, olcott wrote:
    On 8/18/2025 6:50 PM, Richard Heathfield wrote:
    On 19/08/2025 00:31, olcott wrote:

    <snip>

    The times that it lucks out and reports on
    something else that has the same halt status
    as its caller does not count as it reporting
    on the behavior of its caller.

    You do realise that you're arguing here in favour of Turing?
    There can be no universal decider because it can't decide on
    itself, therefore some problems are undecidable.


    The definition of Turing machines does not allow
    it to report on itself

    Of course it does. A Turing machine can be described on a tape.
    A Turing machine can read a tape. Tapes can be copied. Ergo, a
    Turing machine can report on itself.


    That only comes from being too damn sloppy with the
    exact meaning of words. Yes a Turing machines can
    report on the finite string description of itself.

    And a Turing machine can thus be described perfectly, so the
    distinction is academic.

    This is not the same as it reporting on its actual
    self.

    It doesn't matter. Like I said, tapes can be copied.

    --
    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 Tue Aug 19 02:23:58 2025
    On 19/08/2025 02:04, olcott wrote:
    On 8/18/2025 7:49 PM, Richard Heathfield wrote:
    On 19/08/2025 01:42, olcott wrote:
    On 8/18/2025 7:33 PM, Richard Heathfield wrote:
    On 19/08/2025 01:24, olcott wrote:
    On 8/18/2025 6:50 PM, Richard Heathfield wrote:
    On 19/08/2025 00:31, olcott wrote:

    <snip>

    The times that it lucks out and reports on
    something else that has the same halt status
    as its caller does not count as it reporting
    on the behavior of its caller.

    You do realise that you're arguing here in favour of
    Turing? There can be no universal decider because it can't
    decide on itself, therefore some problems are undecidable.


    The definition of Turing machines does not allow
    it to report on itself

    Of course it does. A Turing machine can be described on a
    tape. A Turing machine can read a tape. Tapes can be copied.
    Ergo, a Turing machine can report on itself.


    That only comes from being too damn sloppy with the
    exact meaning of words. Yes a Turing machines can
    report on the finite string description of itself.

    And a Turing machine can thus be described perfectly, so the
    distinction is

    stupidly ignored.

    That's not a Computer Science argument. That's a
    4-year-old-in-a-playground argument. Grow up.

    --
    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 Tue Aug 19 02:57:12 2025
    On 19/08/2025 02:42, olcott wrote:

    <snip>

    Turing machine deciders only compute the mapping
    from their inputs...

    TMs read their tapes. Yes, I know.

    No Turing machine full or partial halt decider has
    ever been able to *directly* report on the behavior
    of any other Turing machine.

    ...except the ones described on the tapes they read. Don't forget
    those.

    --
    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 Tue Aug 19 03:19:04 2025
    On 19/08/2025 03:04, olcott wrote:
    On 8/18/2025 8:57 PM, Richard Heathfield wrote:
    On 19/08/2025 02:42, olcott wrote:

    <snip>

    Turing machine deciders only compute the mapping
    from their inputs...

    TMs read their tapes. Yes, I know.

    No Turing machine full or partial halt decider has
    ever been able to *directly* report on the behavior
    of any other Turing machine.

    ...except the ones described on the tapes they read. Don't
    forget those.


    Yes and whenever you are hungry you eat the word: "food"

    Turing machines aren't food.

    because you can't understand the difference between direct
    versus indirect reference.

    Sure I can, whereas you can't tell the difference between a
    Turing tape and a sandwich.

    --
    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 olcott on Tue Aug 19 04:38:22 2025
    On 2025-08-18, olcott <polcott333@gmail.com> wrote:
    When HHH(DD) is a pure function of its inputs and uses
    no static data

    I.e. the only configuration relevant to Halting ...

    then both HHH(DD) and directly executed
    DD() never stop running proving that HHH(DD)==0 is correct.

    A halting calculation cannot prove anything by virtue of not stopping.
    Until a calculation stops, it has not decided the case, and so has not
    been confirmed to be a decider for that case and therefore a universal
    decider. (Furthermore, it may be analyzed and proven not to terminate
    which confirmes that it is not a universal decider.)

    I agree that if some halting decider function F is found which
    correctly decides the DD case, the F(DD) must terminate
    such that F(DD) == 0 holds: the correct decision. I aslo agree
    that such F's exist.

    However, it is impossible for any of those F's to be HHH, though; not
    without your invalid hack whereby you pretend that a procedure with
    hidden mutating state is a function.

    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From joes@21:1/5 to All on Tue Aug 19 08:11:57 2025
    Am Mon, 18 Aug 2025 16:36:00 -0500 schrieb olcott:
    On 8/18/2025 4:23 PM, joes wrote:
    Am Mon, 18 Aug 2025 15:56:11 -0500 schrieb olcott:
    On 8/18/2025 3:53 PM, joes wrote:
    Am Mon, 18 Aug 2025 13:27:26 -0500 schrieb olcott:
    On 8/18/2025 1:01 PM, dbush wrote:
    On 8/18/2025 1:55 PM, olcott wrote:

    When HHH(DD) is a pure function of its inputs and uses no static >>>>>>> data then both HHH(DD) and directly executed DD() never stop
    running
    i.e. when you change the input.

    proving that HHH(DD)==0 is correct.
    Nope.  Changing the input is not allowed.
    *Changing the decider/input pairs is required* nitwit
    Wait, what? You’re *acknowledging* that HHH reports on
    DD(){HHH_inf();}?

    Which is not the input.

    I am not calling you a nitwit because you made a mistake. I am
    calling you a nitwit because you keep making the same mistake after
    many corrections.
    That is what a nitwit would say.
    Too stupid to understand that M is a template specifying an infinite
    set of machine / input pairs ?
    I keep telling you that M is not a concrete machine!
    It is identical to the Peter Linz template that he uses as the basis of
    his proof.
    Exactly, „M” refers to many different machines.

    --
    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 Tue Aug 19 07:26:48 2025
    On 8/18/25 10:04 PM, olcott wrote:
    On 8/18/2025 8:57 PM, Richard Heathfield wrote:
    On 19/08/2025 02:42, olcott wrote:

    <snip>

    Turing machine deciders only compute the mapping
    from their inputs...

    TMs read their tapes. Yes, I know.

    No Turing machine full or partial halt decider has
    ever been able to *directly* report on the behavior
    of any other Turing machine.

    ...except the ones described on the tapes they read. Don't forget those.


    Yes and whenever you are hungry you eat the word: "food"
    because you can't understand the difference between direct
    versus indirect reference.


    Just more of your category errors.

    It seems you don't understand how you read.

    Your read a string of symbols, and (hopefully) know what they mean.

    The symbols themselves aren't the information, just a representation of
    them.

    If you don't think symbols can have meaning, stop trying to use them to
    have meaning. That would make the world a much better place.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dan Cross@21:1/5 to polcott333@gmail.com on Tue Aug 19 13:30:51 2025
    In article <1080fne$3es9a$1@dont-email.me>,
    olcott <polcott333@gmail.com> wrote:
    On 8/18/2025 6:36 PM, Dan Cross wrote:
    In article <80602321ce2144444b9f465411b3dbed789b53eb.camel@gmail.com>,
    wij <wyniijj5@gmail.com> wrote:
    On Mon, 2025-08-18 at 22:39 +0000, Dan Cross wrote:
    [snip]
    Just ignore the guy already.

    That is wise. But, since I already read it, I should extract something useful.
    I found there is, because my interests is not limited to CS.
    'fact' may not be what is thought.

    This feels like the sunk cost fallacy, to me.

    Perhaps there is something to be learned by studying Olcott's
    writings in some field, but that field is not computer science,
    mathematics, the theory of computation, or any related field.
    Maybe psychology or sociology. But in that case, comp.theory
    isn't the right group.

    Don't throw good money after bad, as they say.

    [snip]

    See, this is exactly what I'm talking about. The guy takes
    literally every subthread, and just starts spewing his stuff
    into it, regardless of whether it's topical or not. And then a
    bunch of other people _respond to him_.

    Just. Stop. Doing. That.

    This problem would solve itself if people would stop engaging
    with him; doing so only encourages him and perpetuates the
    issue.

    - Dan C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to Dan Cross on Tue Aug 19 14:57:28 2025
    On 19/08/2025 14:30, Dan Cross wrote:

    <noise snipped>

    See, this is exactly what I'm talking about. The guy takes
    literally every subthread, and just starts spewing his stuff
    into it, regardless of whether it's topical or not. And then a
    bunch of other people _respond to him_.

    Just. Stop. Doing. That.

    This problem would solve itself if people would stop engaging
    with him; doing so only encourages him and perpetuates the
    issue.

    In maybe 25 years of Usenet, I've seen a lot of complaints about
    the S/N ratio.

    No matter how much we want it to, the noise never stops, and at
    some level complaints about the noise just add to the noise.

    The only way to improve the ratio is to boost the signal. If you
    want smart people to stop engaging with timewasters, give them
    something worthwhile to engage with.

    Instead of complaining about the problem, be the solution.

    (Not just you, of course. It applies to every subscriber to the
    group. (Including me.))

    --
    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 joes@21:1/5 to All on Tue Aug 19 15:01:37 2025
    Am Tue, 19 Aug 2025 09:32:46 -0500 schrieb olcott:
    On 8/19/2025 3:11 AM, joes wrote:
    Am Mon, 18 Aug 2025 16:36:00 -0500 schrieb olcott:
    On 8/18/2025 4:23 PM, joes wrote:
    Am Mon, 18 Aug 2025 15:56:11 -0500 schrieb olcott:
    On 8/18/2025 3:53 PM, joes wrote:
    Am Mon, 18 Aug 2025 13:27:26 -0500 schrieb olcott:
    On 8/18/2025 1:01 PM, dbush wrote:
    On 8/18/2025 1:55 PM, olcott wrote:

    When HHH(DD) is a pure function of its inputs and uses no static >>>>>>>>> data then both HHH(DD) and directly executed DD() never stop >>>>>>>>> running
    i.e. when you change the input.
    proving that HHH(DD)==0 is correct.
    Nope.  Changing the input is not allowed.
    *Changing the decider/input pairs is required* nitwit
    Wait, what? You’re *acknowledging* that HHH reports on
    DD(){HHH_inf();}?
    Which is not the input.
    You know you gave it away.

    I am not calling you a nitwit because you made a mistake. I am
    calling you a nitwit because you keep making the same mistake
    after many corrections.
    That is what a nitwit would say.
    Too stupid to understand that M is a template specifying an infinite >>>>> set of machine / input pairs ?
    I keep telling you that M is not a concrete machine!
    It is identical to the Peter Linz template that he uses as the basis
    of his proof.
    Exactly, „M” refers to many different machines.
    Erasing this context seems dishonest.
    Look, we all know how the proof goes. Mind actually admitting that M
    is not a concrete machine?

    --
    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 Wed Aug 20 07:26:43 2025
    On 8/19/25 11:25 AM, olcott wrote:
    On 8/19/2025 10:01 AM, joes wrote:
    Am Tue, 19 Aug 2025 09:32:46 -0500 schrieb olcott:
    On 8/19/2025 3:11 AM, joes wrote:
    Am Mon, 18 Aug 2025 16:36:00 -0500 schrieb olcott:
    On 8/18/2025 4:23 PM, joes wrote:
    Am Mon, 18 Aug 2025 15:56:11 -0500 schrieb olcott:
    On 8/18/2025 3:53 PM, joes wrote:
    Am Mon, 18 Aug 2025 13:27:26 -0500 schrieb olcott:
    On 8/18/2025 1:01 PM, dbush wrote:
    On 8/18/2025 1:55 PM, olcott wrote:

    When HHH(DD) is a pure function of its inputs and uses no static >>>>>>>>>>> data then both HHH(DD) and directly executed DD() never stop >>>>>>>>>>> running
    i.e. when you change the input.
    proving that HHH(DD)==0 is correct.
    Nope.  Changing the input is not allowed.
    *Changing the decider/input pairs is required* nitwit
    Wait, what? You’re *acknowledging* that HHH reports on
    DD(){HHH_inf();}?
    Which is not the input.
    You know you gave it away.

    I am not calling you a nitwit because you made a mistake. I am >>>>>>>>> calling you a nitwit because you keep making the same mistake >>>>>>>>> after many corrections.
    That is what a nitwit would say.
    Too stupid to understand that M is a template specifying an infinite >>>>>>> set of machine / input pairs ?
    I keep telling you that M is not a concrete machine!
    It is identical to the Peter Linz template that he uses as the basis >>>>> of his proof.
    Exactly, „M” refers to many different machines.
    Erasing this context seems dishonest.
    Look, we all know how the proof goes. Mind actually admitting that M
    is not a concrete machine?


    It is dishonest to erase any context that is
    being responded to. Please stop doing this.

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞,
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn



    Which is just a lie by omitting the conditions on those lines, probably
    because you don't understand the concept of requirements.

    H / embedded_H only can go to the qy state (which then loops) if the
    program represented by its input halts, and can only go to the qn state
    (which halts) if the program represented by its input will NEVER halt
    (not just that a partial simulation didn't reach a final state, the
    program when run will never halt even after running an unbounded number
    of steps).

    Since no matter what H does, it fails to meet its requirements, we must conclude that no H exists that meets its requirements, and any H that
    claims to do that is just wrong.

    The fact that for every possible H that returns the answer of
    non-halting, its partial simulation doesn't reach a final state is
    irrelevant, as the criteria is about the actual execution, or a complete simulation, and for EVERY H that returns an answer of non-halting causes
    the input built from it to halt.

    The fact that for every possible H that does a correct simulation, we
    have a non-halting input is irrelevent, as its input is DIFFERENT then
    the input given to any of the answering Hs, as the input is built on the decider it will be given to, and thus include its code, and the H that correctly simulates will have different code than the H that answers.

    Thus, you logic is just built on the lie that two things that are
    different could be the same thing.

    That is a result of making the category error of considering H not to be
    a specific machine chosen from an infinite set of possible machines, but
    to be that infinite set, but the input is defined with an illegal
    outside reference. Such a input can't be a program, and thus your error.

    An infinite set of deciders, creates an infinite set of problem
    instances, each being one decider with one input (all different from
    each other) and each one needs to be looked at.

    All you are doing is proving that you are just stupid and ignorant about
    what you are talking about, and just don't care about that fact, because
    you just don't understand the importance of logic, and meaning of words.
    This is what makes you that stupid and ignorant pathological lying idiot.

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