• Re: the naive halting problem is now corrected --- deeper understanding

    From Mr Flibble@21:1/5 to olcott on Sat Aug 16 16:18:43 2025
    On Sat, 16 Aug 2025 11:05:02 -0500, olcott wrote:

    On 8/16/2025 10:42 AM, Mr Flibble wrote:
    On Sat, 16 Aug 2025 10:39:45 -0500, olcott wrote:

    On 8/16/2025 10:34 AM, Mr Flibble wrote:
    On Sat, 16 Aug 2025 09:58:01 -0500, olcott wrote:

    On 8/16/2025 9:50 AM, Mr Flibble wrote:
    On Sat, 16 Aug 2025 09:48:11 -0500, olcott wrote:

    On 8/16/2025 9:42 AM, Mr Flibble wrote:
    On Sat, 16 Aug 2025 09:20:10 -0500, olcott wrote:

    I am doing the same thing that ZFC did to the Russell's Paradox >>>>>>>>> problem.
    Since ZFC set theory is now called naive set theory.

    After my correction the original halting problem will be called >>>>>>>>> *the naive halting problem*

    *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?

    <Input to LLM systems>
    Simulating Termination Analyzer HHH correctly simulates its
    input until:
    (a) Detects a non-terminating behavior pattern: abort simulation >>>>>>>>> and return 0.
    (b) Simulated input reaches its simulated "return" statement: >>>>>>>>> return 1.

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

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

    What value should HHH(DD) correctly return?
    <Input to LLM systems>

    *The corrected halting problem spec says* HHH(DD)==0

    Three different LLM AI systems figured this out on their own >>>>>>>>> without prompting.

    https://claude.ai/share/da9e56ba-f4e9-45ee-9f2c-dc5ffe10f00c >>>>>>>>>
    https://chatgpt.com/share/68939ee5-e2f8-8011-837d-438fe8e98b9c >>>>>>>>>
    https://grok.com/share/c2hhcmQtMg%3D%3D_810120bb-5ab5-4bf8-af21- >>>>>>>> eedd0f09e141

    If HHH(DD) returns a result of non-halting to DD when it reports >>>>>>>> (as it must do to be a halt decider) then DD() will halt thus
    confirming the extant Halting Problem proofs are valid.

    /Flibble

    On 8/12/2025 2:50 PM, Kaz Kylheku wrote:
    >
    > If you're trying to demonstrate your work using stateful
    > procedures, you must be explicit about revealing the state, >>>>>>> > and ensure that two instances of a computations which you
    > are identifying as being of the same computation have
    > exactly the same initial state, same inputs, and same
    > subsequent state transitions.
    > You cannot call two different computations with different
    > state transitions "DD" and claim they are the same.
    >
    >
    The DD of HHH1(DD) and the directly executed DD() have the same
    state.

    The DD of HHH(DD) has a different set of state transitions because >>>>>>> the fact that DD calls HHH(DD) in recursive simulation cannot be >>>>>>> simply ignored as everone here has done for three years.

    Nope. If HHH(DD) reports non-halting to DD() then DD() will halt
    thus confirming that the Halting Problem is undecidable.

    /Flibble.

    If Bill's identical twin brother Jack robs a liquor store then
    (according to your reasoning)
    Bill is guilty and Jack can go free.

    Halt deciders are only required to report on the actual behavior
    that their actual input actually specifies.

    The only way to measure this is DD correctly simulated by HHH.

    Halt deciders were never actually required to report on the behavior >>>>> of directly executed machines. Textbooks say otherwise and on this
    point textbooks have always been wrong.

    If HHH(DD) reports non-halting to DD() then DD() will halt thus
    confirming that the Halting Problem is undecidable.

    /Flibble.

    Yes the naive halting problem does get the wrong answer. The naive
    halting problem incorrectly believes that HHH must report on the
    behavior of DD().

    No it doesn't: the requirement is that HHH must report to its caller
    and its ultimate caller is DD().

    /Flibble

    People that have a deeper understanding of Turing machine halt deciders
    will understand that the requirement for HHH to report on the behavior
    of DD() was always merely incorrect short-hand for HHH reporting on the behavior that its input specifies.

    HHH(DD) means HHH must decide if DD halts using a *description* of DD (a
    finite string) and report its decision to its caller (which happens to be
    DD).

    /Flibble

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Heathfield@21:1/5 to olcott on Sat Aug 16 18:37:39 2025
    On 16/08/2025 17:31, olcott wrote:
    On 8/16/2025 11:18 AM, Mr Flibble wrote:

    <snip>


    HHH(DD) means HHH must decide if DD halts using a *description*
    of DD (a
    finite string) and report its decision to its caller (which
    happens to be
    DD).

    /Flibble

    Yes and every computer scientist paying very
    close attention will understand that HHH(DD)
    is supposed to compute the mapping from its
    input and its caller is not its input.


    Its input is DD.

    Its caller is DD.

    The C language guarantees that these are indistinguishable.

    Ergo its caller is its input.

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