• Re: Church-Turing and computable functions

    From Mikko@[email protected] to comp.theory,sci.logic,comp.ai.philosophy on Fri Oct 9 11:18:51 2026
    From Newsgroup: comp.theory

    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, so
    what?

    it is solvable for an enumerable set of machines that includes all
    possible output sequences, it is not solvable for all possible machines >>>
    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or "main()".
    The halting problem asks "How can one determine whether a computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given
    the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that
    eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal
    definition of the solution of the halting problem, which Linz defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Fri Oct 9 06:40:14 2026
    From Newsgroup: comp.theory

    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, so >>>>>> what?

    it is solvable for an enumerable set of machines that includes all
    possible output sequences, it is not solvable for all possible
    machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or "main()". >>> The halting problem asks "How can one determine whether a computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given
    the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal definition of the solution of the halting problem, which Linz defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
    From H' we construct another Turing machine Ĥ.
    This new machine takes as input WM, copies it,
    and then behaves exactly like H'. Then the action
    of Ĥ is such that

    q0 WM ⊢* Ĥq0 WM WM ⊢* Ĥ∞,
    if M applied to WM halts, and
    q0 WM ⊢* Ĥq0 WM WM ⊢* Ĥ y1 qn y2,
    if M applied to WM does not halt.
    </Linz text>

    *From the bottom of page 319 has been adapted to this* https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Definition of Turing Machine Ĥ applied
    to its own machine description ⟨Ĥ⟩

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞,
    if Ĥ applied to ⟨Ĥ⟩ halts, and

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn
    if Ĥ applied to ⟨Ĥ⟩ does not halt.
    --
    Copyright 2026 Olcott

    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Sat Oct 10 11:31:58 2026
    From Newsgroup: comp.theory

    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, >>>>>>> so what?

    it is solvable for an enumerable set of machines that includes all >>>>>> possible output sequences, it is not solvable for all possible
    machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or
    "main()".
    The halting problem asks "How can one determine whether a computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given
    the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that
    eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal
    definition of the solution of the halting problem, which Linz defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
    From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant
    to this discussion.
    --
    Mikko

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic,comp.ai.philosophy,sci.math,sci.math.symbolic on Sat Oct 10 11:35:38 2026
    From Newsgroup: comp.theory

    On 07/10/2026 16:07, olcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, so
    what?

    it is solvable for an enumerable set of machines that includes all
    possible output sequences, it is not solvable for all possible machines >>>
    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or "main()".
    The halting problem asks "How can one determine whether a computation
    halts?"


    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Irrelevant. Halting problem is introduced and defined on the page 317
    and the top of page 318. Everything under the title "Theorem 12.1" and
    later is irrelevant to our current topic.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,comp.ai.philosophy,sci.math on Sat Oct 10 14:57:18 2026
    From Newsgroup: comp.theory

    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, >>>>>>>> so what?

    it is solvable for an enumerable set of machines that includes
    all possible output sequences, it is not solvable for all
    possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or
    "main()".
    The halting problem asks "How can one determine whether a computation >>>>> halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given
    the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that
    eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal
    definition of the solution of the halting problem, which Linz defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant
    to this discussion.


    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    *From the bottom of page 319*
    q0 Wm Wm ⊢* Ĥq0 Wm Wm ⊢* Ĥ.∞ // accept state
    q0 Wm Wm ⊢* Ĥq0 Wm Wm ⊢* Ĥ.qn // reject state

    Linz encodes his embedding of his machine H: Ĥq0
    Linz calls the finite string input to Ĥ: Wm

    *the bottom of page 319 has been adapted to this*
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    ⟨Ĥ⟩ more conventionally shows that Ĥ is taking its
    own finite string machine description as its input.
    --
    Copyright 2026 Olcott

    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory on Fri Oct 16 11:27:15 2026
    From Newsgroup: comp.theory

    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, >>>>>>>>> so what?

    it is solvable for an enumerable set of machines that includes >>>>>>>> all possible output sequences, it is not solvable for all
    possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or
    "main()".
    The halting problem asks "How can one determine whether a computation >>>>>> halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given
    the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that
    eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal
    definition of the solution of the halting problem, which Linz defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant
    to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that
    what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in particular
    how Linz defines it. As long as you don't understand or can't express
    that there is no point to go further.
    --
    Mikko

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,comp.ai.philosophy,sci.math on Fri Oct 16 08:28:10 2026
    From Newsgroup: comp.theory

    On 10/16/2026 3:27 AM, Mikko wrote:
    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If >>>>>>>>>> so, so what?

    it is solvable for an enumerable set of machines that includes >>>>>>>>> all possible output sequences, it is not solvable for all
    possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or
    "main()".
    The halting problem asks "How can one determine whether a
    computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given >>>>> the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that >>>>> eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal
    definition of the solution of the halting problem, which Linz defines >>>>> as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant
    to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that
    what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in particular
    how Linz defines it. As long as you don't understand or can't express
    that there is no point to go further.


    Axiom 1
    --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of
    finite string transformation rules to finite string
    inputs to derive any and all outputs.

    Axiom 2
    Computation requires correct rather than
    arbitrary finite string transformations.

    The brand new key insight that I had into the
    foundations of computation is the notion of
    {correct finite string transformations} as
    opposed to and contrast with {arbitrary finite
    string transformations}.

    If we need to know the sum of 2 + 3 there seems
    to be only a single sequence of finite string
    transformation rules that derive this within
    arithmetic operations on the integer type. This
    is one concrete example of how computation is
    limited to correct finite string transformations.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Ross Finlayson@[email protected] to comp.theory on Fri Oct 16 06:30:54 2026
    From Newsgroup: comp.theory

    On 10/16/2026 06:28 AM, olcott wrote:
    On 10/16/2026 3:27 AM, Mikko wrote:
    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If >>>>>>>>>>> so, so what?

    it is solvable for an enumerable set of machines that includes >>>>>>>>>> all possible output sequences, it is not solvable for all
    possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or >>>>>>>> "main()".
    The halting problem asks "How can one determine whether a
    computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given >>>>>> the description of a Turing machine M and an input w, does M, when >>>>>> started in the initial configuration qow, perform a computation that >>>>>> eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal >>>>>> definition of the solution of the halting problem, which Linz defines >>>>>> as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
    From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant
    to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that
    what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in particular
    how Linz defines it. As long as you don't understand or can't express
    that there is no point to go further.


    Axiom 1
    --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of
    finite string transformation rules to finite string
    inputs to derive any and all outputs.

    Axiom 2
    Computation requires correct rather than
    arbitrary finite string transformations.

    The brand new key insight that I had into the
    foundations of computation is the notion of
    {correct finite string transformations} as
    opposed to and contrast with {arbitrary finite
    string transformations}.

    If we need to know the sum of 2 + 3 there seems
    to be only a single sequence of finite string
    transformation rules that derive this within
    arithmetic operations on the integer type. This
    is one concrete example of how computation is
    limited to correct finite string transformations.


    (Discovered "valid" and "sound" are "words" in a "language".)


    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Fri Oct 16 09:51:43 2026
    From Newsgroup: comp.theory

    On 10/16/2026 3:27 AM, Mikko wrote:
    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If >>>>>>>>>> so, so what?

    it is solvable for an enumerable set of machines that includes >>>>>>>>> all possible output sequences, it is not solvable for all
    possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or
    "main()".
    The halting problem asks "How can one determine whether a
    computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given >>>>> the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that >>>>> eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal
    definition of the solution of the halting problem, which Linz defines >>>>> as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant
    to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that
    what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in particular
    how Linz defines it. As long as you don't understand or can't express
    that there is no point to go further.


    I am referring to the actual Halting Problem proof
    where the input to Ĥ is applied to its own source
    code ⟨Ĥ⟩ that has been defined to do the opposite of
    whatever halt status that it determines.

    *From the bottom of page 319 original code*
    q0 Wm Wm ⊢* Ĥq0 Wm Wm ⊢* Ĥ.∞ // accept state
    q0 Wm Wm ⊢* Ĥq0 Wm Wm ⊢* Ĥ.qn // reject state

    https://liarparadox.org/Peter_Linz_HP(Pages_318-319).pdf

    (1) Linz makes the mistake of having two start states
    q0 and Ĥq0.

    (2) It is totally unclear that Ĥq0 refers an embedded
    copy of his own H machine thus "Ĥ.embedded_H" is
    a much clearer way of saying that.

    Page 319 top and middle
    Next, we modify H to produce a Turing machine H'
    From H' we construct another Turing machine Ĥ.

    (3) The distinct case of machine Ĥ being applied to
    its own source code is clearer when encoded as
    "Ĥ.q0 ⟨Ĥ⟩" instead of "q0 Wm Wm"

    *the bottom of page 319 has been adapted to this*
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    ⟨Ĥ⟩ more conventionally shows that Ĥ is taking its
    own finite string machine description as its input.

    The term "machine description" is misleading it allows
    people to assume a level of indirect reference that does
    not actually exist so I call it the source code of Ĥ.

    The source code input to embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ "specifies"
    rather than the more vague term of "describes" a unique
    sequence of state transitions.

    When embedded_H is a UTM based simulating halt decider then

    *Keeps repeating unless aborted*
    (a) Ĥ copies its input ⟨Ĥ⟩
    (b) Ĥ invokes embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩
    (c) embedded_H simulates ⟨Ĥ⟩ ⟨Ĥ⟩
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Fri Oct 16 10:05:46 2026
    From Newsgroup: comp.theory

    On 10/16/2026 9:02 AM, Python wrote:
    Good. Then we have finally isolated the disagreement completely.

    You now explicitly require not merely:

       H's answer must be correct.

    but:

       H's answer must be obtained through a particular
       semantically approved sequence of inference steps.

    You even say:

       "It cannot even be a correct guess."

    That is an EXTRA requirement.

    Computability theory normally asks whether a computation computes the correct mapping:

       input -> output

    It does not additionally require every intermediate inference step to constitute a proof of the semantic fact represented by the output.


    int sum(int x, int y){ return 5; }
    cannot really be correctly construed as computing
    the mapping from any input even for sum(2,3). That
    it may be idiomatically construed that way merely
    allows dishonesty with the literal base meanings
    of terms.

    For example, if two programs return exactly the same correct answer on
    every input, they compute the same function even if one uses simulation,
    one uses theorem proving, and one uses a lookup table.

    So your logical target is now extremely precise:

       You must prove that semantic correctness of the OUTPUT
       requires semantic correctness, in your special sense,
       of the particular INFERENCE PATH used to obtain it.


    Yes.

    Neither Post's finite-string model nor operational semantics gives you
    that requirement.


    Unless combined together.

    You have added it.

    And this matters far beyond DD: without that new requirement, your distinction between HHH(DD)==0 and HHH1(DD)==1 cannot redefine the
    halting predicate.


    It does not redefine anything. It merely corrects an
    incorrect false assumption that has existed for 90 years.

    That no one ever noticed that finite string transformations
    have always been required to conform to the underlying
    semantics does in no way entail that they have not always
    been so required.

    The value of PI was entailed from the concept of round
    when the first caveman looked up at the full Moon.

    So before moving to the much larger goal of making

       "true on the basis of meaning expressed in language"

    computable, this much smaller proposition needs a formal proof.

    Otherwise "correct transformation" is simply being defined as "a transformation following the semantics

    of the underlying specification language.

    I require",

    Has always been an incorrect paraphrase.

    and then used to
    prove that only those transformations are correct.

    That is circular.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Fri Oct 16 15:09:57 2026
    From Newsgroup: comp.theory

    Your `sum` example makes the disagreement even clearer.

    I agree that

    int sum(int x, int y) { return 5; }

    does NOT compute integer addition on its full domain.

    But now consider:

    int add(int x, int y) {
    return addition_table[x][y];
    }

    where `addition_table` contains the correct sum for every pair in the
    finite domain.

    This computes exactly the same mathematical function as:

    return x + y;

    Yet its runtime transformations are merely:

    read x,y
    index table
    retrieve value
    return value

    It does not derive the result by performing the arithmetic inference

    2 + 3 = 5.

    And we must distinguish TWO different computations here:

    A. the computation or reasoning that CONSTRUCTED the table

    B. the computation add(x,y) that USES the table

    Perhaps A calculated every entry using arithmetic, theorem proving, a
    human mathematician, or something else entirely.

    That is irrelevant to what B computes.

    Once the table exists, B computes addition without reproducing,
    containing, or even knowing the derivation by which the table was
    constructed.

    Indeed, two identical copies of B compute exactly the same function even
    if their tables were independently produced by completely different
    processes.

    So saying:

    "the semantic inference was off-loaded"

    actually concedes the distinction.

    Yes — it was performed ELSEWHERE.

    Therefore it is not an inference step of the computation B whose behavior
    we are classifying.

    If you nevertheless say B does NOT compute addition because the semantic derivation occurred elsewhere, then you have changed the standard meaning
    of "computes a function".

    And your PI analogy illustrates the same distinction.

    The value of PI does not depend upon HOW somebody computes it. Different algorithms can derive the same digits through radically different transformations.

    So I grant:

    the output must satisfy the semantic specification.

    What I do NOT grant is:

    the computation producing that output must itself
    contain a semantic derivation proving that output.

    That additional requirement does not follow merely by combining
    finite-string computation with operational semantics.

    You keep asserting that it has "always been required".

    But THAT assertion is exactly the proposition requiring proof.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Fri Oct 16 10:20:51 2026
    From Newsgroup: comp.theory

    On 10/16/2026 10:09 AM, Python wrote:
    Your `sum` example makes the disagreement even clearer.

    I agree that

       int sum(int x, int y) { return 5; }

    does NOT compute integer addition on its full domain.

    But now consider:

       int add(int x, int y) {
           return addition_table[x][y];
       }

    where `addition_table` contains the correct sum for every pair in the
    finite domain.

    This computes exactly the same mathematical function as:

       return x + y;

    Yet its runtime transformations are merely:

       read x,y
       index table
       retrieve value
       return value

    It does not derive the result by performing the arithmetic inference

       2 + 3 = 5.


    It does not avoid the arithmetic operation it
    merely offloads this operation to a human or
    another process.

    And we must distinguish TWO different computations here:

       A. the computation or reasoning that CONSTRUCTED the table

       B. the computation add(x,y) that USES the table


    It merely an elaboration of
    int sum(int x, int y) { return 5; }

    That handles more inputs without actually computing the
    mapping from any other them.

    Perhaps A calculated every entry using arithmetic, theorem proving, a
    human mathematician, or something else entirely.

    That is irrelevant to what B computes.


    It proves that B computes no mapping.

    Once the table exists, B computes addition without reproducing,
    containing, or even knowing the derivation by which the table was constructed.

    Indeed, two identical copies of B compute exactly the same function even
    if their tables were independently produced by completely different processes.

    So saying:

       "the semantic inference was off-loaded"

    actually concedes the distinction.


    That B itself computes no mapping.

    Yes — it was performed ELSEWHERE.

    Therefore it is not an inference step of the computation B whose
    behavior we are classifying.

    If you nevertheless say B does NOT compute addition because the semantic derivation occurred elsewhere, then you have changed the standard
    meaning of "computes a function".


    B itself computes no mapping.

    And your PI analogy illustrates the same distinction.

    The value of PI does not depend upon HOW somebody computes it. Different algorithms can derive the same digits through radically different transformations.

    So I grant:

       the output must satisfy the semantic specification.

    What I do NOT grant is:

       the computation producing that output must itself
       contain a semantic derivation proving that output.


    Else B itself computes no mapping.

    That additional requirement does not follow merely by combining finite- string computation with operational semantics.

    You keep asserting that it has "always been required".

    But THAT assertion is exactly the proposition requiring proof.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Fri Oct 16 15:43:35 2026
    From Newsgroup: comp.theory

    There is an even more fundamental problem with saying that a lookup table "computes no mapping".

    Go down to the hardware implementation of arithmetic itself.

    A binary half-adder implements exactly this finite mapping:

    inputs outputs
    A B SUM CARRY

    0 0 -> 0 0
    0 1 -> 1 0
    1 0 -> 1 0
    1 1 -> 0 1

    A full adder does the same thing with an additional carry input, giving
    eight cases.

    Now this can be implemented with logic gates.

    But it can ALSO be implemented literally as a tiny ROM:

    address bits = A,B
    stored bits = SUM,CARRY

    Then the physical operation is simply:

    apply address -> retrieve stored bits

    In other words, a hardware lookup table.

    Nothing inside that ROM performs an additional semantic proof that

    1 + 1 = 10 binary.

    Yet by composing these elementary mappings we construct an arithmetic unit that computes addition.

    So if you maintain that lookup-table B "computes no mapping", where
    exactly does the REAL computation of addition begin?

    You cannot answer "some earlier process constructed the table", because
    the same issue recurs at the lowest hardware level.

    Ultimately the machine consists of physical mechanisms implementing
    elementary mappings.

    We call the resulting process "addition" because the composition of those mappings realizes the mathematical addition function.

    The hardware does not additionally prove that its output is semantically entailed by arithmetic.

    This exposes the distinction I have been making:

    SEMANTICS specifies the mapping we require.

    COMPUTATION implements that mapping.

    PROOF establishes that the implementation
    satisfies the specification.

    Those are three different things.

    Your argument is effectively requiring COMPUTATION itself to contain
    PROOF.

    That is not something you get from Post plus operational semantics.

    And if a ROM implementing the truth table above "computes no mapping",
    then your definition has the remarkable consequence that the elementary components from which actual arithmetic computers are constructed do not compute their mappings either.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Fri Oct 16 11:25:59 2026
    From Newsgroup: comp.theory

    On 10/16/2026 10:43 AM, Python wrote:
    There is an even more fundamental problem with saying that a lookup
    table "computes no mapping".


    I am not saying that it does not work or is not
    useful. I am saying that it cannot correctly be
    construed as a computation within the foundations
    of computer science.

    Go down to the hardware implementation of arithmetic itself.

    A binary half-adder implements exactly this finite mapping:

       inputs      outputs
       A B         SUM CARRY

       0 0    ->    0   0
       0 1    ->    1   0
       1 0    ->    1   0
       1 1    ->    0   1


    That is merely implementing the correct semantics of Boolean
    arithmetic. Even humans use a lookup table for part of this.

    The sum of 9 + 3. Humans have what is essentially a set of
    foundational axioms stipulating the sum result of of pairs
    of numeric digits. This becomes more clear when recalling
    times-tables that had to be memorized in elementary school.

    A full adder does the same thing with an additional carry input, giving eight cases.

    Now this can be implemented with logic gates.

    But it can ALSO be implemented literally as a tiny ROM:

       address bits = A,B
       stored bits  = SUM,CARRY

    Then the physical operation is simply:

       apply address -> retrieve stored bits

    In other words, a hardware lookup table.

    Nothing inside that ROM performs an additional semantic proof that

       1 + 1 = 10 binary.

    Yet by composing these elementary mappings we construct an arithmetic
    unit that computes addition.

    So if you maintain that lookup-table B "computes no mapping", where
    exactly does the REAL computation of addition begin?


    A lookup table that defines a base set of axioms is
    clearly one aspect of this process. The next aspect is
    what we learned in first grade arithmetic, essentially
    a simple algorithm defined in terms of finite strings
    of numeric digits.

    11
    321
    + 789
    -----
    1110

    You cannot answer "some earlier process constructed the table", because
    the same issue recurs at the lowest hardware level.

    Ultimately the machine consists of physical mechanisms implementing elementary mappings.

    We call the resulting process "addition" because the composition of
    those mappings realizes the mathematical addition function.

    The hardware does not additionally prove that its output is semantically entailed by arithmetic.

    This exposes the distinction I have been making:

       SEMANTICS specifies the mapping we require.

       COMPUTATION implements that mapping.

       PROOF establishes that the implementation
       satisfies the specification.

    Those are three different things.

    Your argument is effectively requiring COMPUTATION itself to contain PROOF.


    Yes that is the way that semantic entailment specified
    syntactically on the basis of a set of stipulated axiom
    finite strings has always worked.

    That is not something you get from Post plus operational semantics.


    Sure it is. I had to also include:
    a set of stipulated axiom finite strings

    And if a ROM implementing the truth table above "computes no mapping",
    then your definition has the remarkable consequence that the elementary components from which actual arithmetic computers are constructed do not compute their mappings either.

    Already fully addressed above.

    *I really appreciate the objective quality of your review*

    Relative to this objective quality every other review by
    hundreds of other reviewers on dozens forums across different
    review platforms (over 28 years) has always been essentially
    equivalent to: *BOTS STUCK IN REBUTTAL MODE*
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Sat Oct 17 02:15:04 2026
    From Newsgroup: comp.theory

    Peter,

    This actually clarifies the disagreement considerably.

    I wrote:

    Your argument is effectively requiring COMPUTATION itself to contain PROOF.

    and you answered:

    Yes.

    Good. Then this is now the precise point that needs justification.

    In standard computability theory, a machine transition

    C -> C'

    is not required to be a semantic entailment

    C |= C'

    nor a proof step from stipulated axioms.

    It is simply a transition specified by the machine's transition function.

    Of course one can DESIGN a computation whose transitions encode valid inference steps. A theorem prover does exactly that. But it does not
    follow that every computation must be such a proof.

    Your arithmetic example makes the problem especially clear.

    Consider two 8-bit adders.

    A is constructed conventionally from gates and full adders.

    B is a ROM containing all 65536 mappings

    (x,y) -> (x+y) mod 256.

    For every possible input,

    A(x,y) = B(x,y).

    Now either B computes addition or it does not.

    If it does, then lookup tables can compute mappings, which was my point.

    If it does not, then you need to explain why two machines implementing
    exactly the same input/output function differ as to whether they "compute" that function.

    And appealing to "stipulated axiom finite strings" does not solve this.

    I can simply stipulate the 65536 ROM entries as finite-string axioms:

    ADD(0,0)=0
    ADD(0,1)=1
    ...
    ADD(255,255)=254

    The ROM lookup is then direct application of one of your stipulated finite strings.

    If those entries must themselves be derived from something else before
    their use counts as computation, then they were not foundational
    stipulated axioms after all, and the same question merely moves back one level.

    So we have finally isolated the issue.

    You are defining computation to require syntactically represented semantic entailment from stipulated axioms.

    That is a perfectly possible definition of a particular kind of formal inference process.

    What has not been established is that this is the definition of
    computation used by Post, Turing, or standard computability theory.

    Saying

    "that is the way ... it has always worked"

    does not establish that.

    Please identify the definition or theorem in Post, Turing, or standard operational semantics from which the following implication follows:

    valid computational transition
    =>
    syntactically represented semantic entailment
    from stipulated axiom finite strings.

    That implication is now the entire issue.

    Without it, your argument does not refute the halting theorem. It changes
    the definition of computation and then proves a result about the changed definition.

    BTW, have you read Greg Egan's novels and short stories?


    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Fri Oct 16 21:55:14 2026
    From Newsgroup: comp.theory

    On 10/16/2026 9:15 PM, Python wrote:
    Peter,

    This actually clarifies the disagreement considerably.

    I wrote:

    Your argument is effectively requiring COMPUTATION itself to contain
    PROOF.

    and you answered:

    Yes.

    Good. Then this is now the precise point that needs justification.

    In standard computability theory, a machine transition

       C -> C'

    is not required to be a semantic entailment


    That is the key mistake in all formal reasoning since the syllogism.

    Axiom 2 --- Random answers to specific questions are never correct
    That is the self-evidently true basis for:

    Computation requires correct rather than arbitrary finite
    string transformations The brand new key insight that I
    had into the foundations of computation is the notion of
    {correct finite string transformations} as opposed to and
    contrast with {arbitrary finite string transformations}.

       C |= C'

    nor a proof step from stipulated axioms.

    It is simply a transition specified by the machine's transition function.

    Of course one can DESIGN a computation whose transitions encode valid inference steps. A theorem prover does exactly that. But it does not
    follow that every computation must be such a proof.

    Your arithmetic example makes the problem especially clear.

    Consider two 8-bit adders.

    A is constructed conventionally from gates and full adders.

    B is a ROM containing all 65536 mappings

       (x,y) -> (x+y) mod 256.

    For every possible input,

       A(x,y) = B(x,y).

    Now either B computes addition or it does not.


    This computation was as I have said many times
    off-loaded so it still occurred yet it was not
    the ROM that performed this computation.

    If it does, then lookup tables can compute mappings, which was my point.

    If it does not, then you need to explain why two machines implementing exactly the same input/output function differ as to whether they
    "compute" that function.


    I am forming a single unified system that operates the
    same way that these processes operate in actual reality.

    A minimal set of atomic facts are written down as foundational
    axioms. The only inference allowed is semantic inference specified syntactically.

    The end result of this process is making
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.

    We could make a table several light years long that
    records the sum of some finite set of integer pairs.
    Alternatively we can define a single process that
    works correctly on integers or arbitrary size.

    Table look up is not maximum algorithm compression and
    my plan is to define a fully implementable system.

    And appealing to "stipulated axiom finite strings" does not solve this.

    I can simply stipulate the 65536 ROM entries as finite-string axioms:

       ADD(0,0)=0
       ADD(0,1)=1
       ...
       ADD(255,255)=254

    The ROM lookup is then direct application of one of your stipulated
    finite strings.


    I keep thinking these things through deeper and deeper with
    dialogue. *Random answers to specific questions are never correct*
    is a better basis for the prefix of axiom 2.

    If those entries must themselves be derived from something else before
    their use counts as computation, then they were not foundational
    stipulated axioms after all, and the same question merely moves back one level.

    So we have finally isolated the issue.

    You are defining computation to require syntactically represented
    semantic entailment from stipulated axioms.

    That is a perfectly possible definition of a particular kind of formal inference process.


    It is the way that
    "true on the basis of meaning expressed in language"
    has always worked.

    What has not been established is that this is the definition of
    computation used by Post, Turing, or standard computability theory.


    It is not. It is my improvement of what they said built
    on top of my generic paraphrase of Post.

    Saying

       "that is the way ... it has always worked"

    does not establish that.


    This come from the original seed to all of my work.
    Categorically Exhaustive Reasoning.

    In formal logic and data science, this concept is
    often referred to as being MECE: Mutually Exclusive
    and Collectively Exhaustive.

    Even the category of a counter-example cannot possibly exist.

    "true on the basis of meaning expressed in language"
    cannot possibly have any other basis than relations between
    finite strings.
    Please identify the definition or theorem in Post, Turing, or standard operational semantics from which the following implication follows:

       valid computational transition
                 =>
       syntactically represented semantic entailment
       from stipulated axiom finite strings.

    That implication is now the entire issue.

    Without it, your argument does not refute the halting theorem. It
    changes the definition of computation and then proves a result about the changed definition.

    BTW, have you read Greg Egan's novels and short stories?

    Never heard of him until now.
    I read everything that Robert Heinlein ever wrote
    starting with Tunnel in the Sky as a 7th to 8th
    grade over the Summer homework assignment in 1968.
    My English teacher was promoted the same year that
    I was.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Sat Oct 17 03:26:28 2026
    From Newsgroup: comp.theory

    It is not. It is my improvement of what they said built
    on top of my generic paraphrase of Post.

    Then we agree on an important point: your requirement that computation
    consist of syntactically specified semantic entailment is not a
    requirement of Post, Turing, or standard computability theory. It is a new requirement introduced by your own theory.

    That is perfectly legitimate as a research proposal, but it means that
    results obtained from that additional requirement do not, by themselves, overturn results about Turing computation.

    There is also a problem with your new Axiom 2:

    Random answers to specific questions are never correct.

    Literally, that is false. If I randomly answer YES or NO to

    Is 2+2=4?

    I may randomly answer YES, which is correct.

    What I think you mean is:

    Arbitrary answers provide no guarantee of correctness.

    That is true, but it does not imply:

    Computation requires every transformation to be
    a semantically entailed transformation.

    Those are very different propositions.

    The ROM example exposes the difference.

    Suppose I manufacture a 16-bit-address, 8-bit-output ROM whose contents,
    by sheer accident, happen to satisfy

    ROM[x,y] = (x+y) mod 256

    for every x,y.

    No previous process computed the table. Nothing was "off-loaded." We
    simply discovered afterward that this physical device implements the 8-bit addition function.

    When presented with (23,42), it returns 65.

    Does this device compute the 8-bit addition function?

    If not, then your definition of "computes" depends not merely on the
    machine's structure and behavior, but on the causal history by which its contents came to exist.

    That would be a radically different concept from computation in
    computability theory.

    Also:

    Table look up is not maximum algorithm compression

    Agreed, but that is a different question.

    Whether an implementation computes a function and whether it is a
    maximally compressed algorithm for that function are not equivalent
    questions.

    Finally:

    Even the category of a counter-example cannot possibly exist.

    MECE cannot establish that.

    MECE can describe how you partition a domain. It cannot prove that your premises are true or that your proposed categories correctly model the phenomenon under investigation.

    Indeed, if a theory concludes in advance that the category of
    counterexamples "cannot possibly exist," that is precisely where I would
    look hardest for an unstated assumption.

    So I think we have made substantial progress.

    We no longer need to debate whether Post requires your notion of semantic computation: you have now explicitly said that he does not.

    The question is therefore much simpler:

    Can you derive

    computation
    =>
    correct semantic entailment from stipulated axioms

    rather than simply defining "computation" to mean that?

    Because if it is a definition, you have introduced a new class of
    processes.

    If it is a theorem about computation generally, it needs a proof
    independent of that definition.

    BTW, since you mentioned that you had never heard of Greg Egan, I think
    you might genuinely enjoy some of his work. He is unusually interested in exactly the boundary between computation, implementation, semantics,
    identity and physical realization that we keep running into here.

    A few suggestions, roughly in the order I would recommend them to you:

    * **"Learning to Be Me"** (short story, in *Axiomatic*) — probably the
    most directly relevant. People have neural "jewels" implanted that learn
    to reproduce their brains' input/output behavior until they can replace
    the biological brain. It raises almost exactly the question: when does reproducing a mapping become reproducing the process or person that
    generated it?

    * **Permutation City** — simulated minds, computational identity, and
    the question of what it means for a computation to be physically
    instantiated. If two implementations realize the same computational
    structure, what makes one of them "real"? This is probably the Egan novel
    most relevant to our disagreement.

    * **"Axiomatic"** (short story) — asks what happens when apparently foundational beliefs and values can themselves be technologically
    modified. Given your interest in foundational axioms, you may appreciate
    the joke implicit in the title.

    * **Diaspora** — begins with the creation of an artificial mind and then goes much further into questions of mathematical description, physical reality, simulated environments and post-human intelligence.

    * **"Luminous"** — especially relevant if you are interested in the relationship between formal systems, mathematical truth and physical computation. It plays with the rather disturbing idea that mathematics
    itself might not be as implementation-independent as we normally assume.

    * **"Oracle"** — deals with artificial intelligence, computability, mathematics and an alternate-history confrontation over the intellectual consequences of advanced computation.

    * **"Singleton"** — explores quantum mechanics, computation and personal identity, including the consequences of trying to construct an artificial intelligence.

    * **"Crystal Nights"** — artificial life is evolved inside a
    computational environment, raising the question of whether entities
    generated by a computational process acquire meanings, purposes and
    interests that were not explicitly supplied by their programmers.

    If you only try three, I would suggest:

    Learning to Be Me
    Permutation City
    Luminous

    Egan is a programmer as well as a science-fiction writer, and unlike a
    great deal of SF that merely uses computation as decoration, he tends to
    take the computational and mathematical premises seriously and then follow their consequences somewhere uncomfortable.

    I suspect you will disagree with him quite a lot, which is one reason I
    think you might find him interesting.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Sat Oct 17 03:51:14 2026
    From Newsgroup: comp.theory

    Peter,

    There is another hardware example that occurred to me after our discussion about ROM lookup versus "real" computation. I have not mentioned it
    before: the old distinction between hardwired and microcoded CPU control.

    I think it creates an interesting problem for the boundary you are drawing between computation and lookup, because computer architecture provides a fairly continuous spectrum between specialized logic, lookup tables,
    control ROMs, microcode, and ordinary software.

    In a hardwired CPU control unit, part of the behavior of an instruction is implemented by specialized logic:

    (opcode, state, flags, ...)
    |
    v
    (control signals, next state)

    using gates, multiplexers, PLAs, finite-state machines, etc.

    In a microcoded CPU, part of essentially the same control function can
    instead be represented by a control store, historically often implemented
    as ROM:

    (microaddress, conditions)
    |
    v
    microinstruction

    The microinstruction contains bits controlling registers, the ALU,
    datapath, memory operations, the microsequencer, etc.

    So a control function that can be implemented using specialized combinational/sequential logic can also be represented, to a considerable extent, in tabular form in memory.

    This seems directly relevant to your distinction between computation and lookup.

    Suppose we have a finite control function:

    f : {0,1}^10 -> {0,1}^20

    We could implement it using:

    - a 2^10 x 20 bit ROM
    - a PLA
    - AND/OR/NOT gates
    - FPGA LUTs
    - some mixture of these

    At the mathematical level, all of these can implement exactly the same
    Boolean function.

    Logic synthesis routinely performs transformations of this general kind. A truth table can be minimized into a Boolean network, while a Boolean
    network can be implemented using lookup tables.

    So it becomes difficult to maintain that:

    the gate implementation computes the function

    whereas:

    the ROM implementation merely retrieves a previously computed answer.

    The difference is primarily one of implementation.

    Microcode makes your "off-loaded computation" answer especially
    interesting.

    Consider two processors implementing the same ISA.

    CPU A implements some complex instruction using a hardwired finite-state control machine.

    CPU B implements the same instruction using a sequence of
    microinstructions stored in a control ROM.

    Suppose, for example, that the instruction performs multiplication.

    In CPU A, the sequence of operations might be generated by a hardwired
    state machine.

    In CPU B, essentially the same datapath might be controlled by a sequence
    of microinstructions fetched from the control store.

    It would seem very strange to say:

    CPU A computes the multiplication,

    but:

    CPU B merely looks up previously computed answers.

    The microcode does not contain the answers to all possible
    multiplications. It contains a representation of the process used to
    obtain those answers.

    This suggests a continuum rather than a sharp boundary:

    hardwired logic
    <->
    PLA / LUT
    <->
    control ROM
    <->
    microcode
    <->
    machine code
    <->
    software

    Where exactly along this continuum does "real computation" begin or end
    under your definition?

    We can make the problem even sharper.

    Take some finite combinational function f(x).

    Implementation A:

    A minimized network of logic gates.

    Implementation B:

    A ROM addressed by x and containing f(x).

    Implementation C:

    An FPGA whose LUTs have been configured to implement f.

    C is particularly interesting because an FPGA LUT is, at the
    implementation level, essentially a tiny memory containing a truth table,
    with the input bits selecting the corresponding stored output.

    So if lookup itself is not computation, we get the peculiar result that an FPGA logic circuit may cease to "compute" merely because we describe its implementation at the LUT level rather than at the Boolean-function level.

    We can go still lower.

    A ROM is itself a physical circuit. It contains address decoding,
    selection circuitry, storage elements, sense circuitry, etc. Taken as a
    whole, it implements a Boolean mapping:

    address -> output bits

    So at a sufficiently low hardware level, the distinction between "lookup"
    and "logic" becomes largely an architectural distinction concerning how we choose to describe the device.

    This gives us a concrete thought experiment.

    Consider two control units implementing exactly the same finite-state transition function.

    One is synthesized into gates.

    The other is implemented using ROMs, PLAs, or LUTs.

    Logic synthesis can mechanically transform representations of one kind
    into representations of the other.

    At precisely which transformation does it cease to be computation?

    I don't think "the computation was off-loaded" solves this particular
    problem, because there need not be any previously computed result
    involved.

    We are simply looking at alternative physical implementations of the same transition function.

    And this connects directly to your new distinction between:

    correct finite string transformations

    and:

    arbitrary finite string transformations.

    Whether a transformation is "correct" cannot follow merely from whether it
    is implemented using a ROM, LUT, PLA, or network of gates.

    Correctness requires something against which the implementation is judged:
    a specification.

    For example:

    SPECIFICATION:
    this circuit shall implement 8-bit addition

    IMPLEMENTATION:
    ROM, gates, LUTs, transistors, etc.

    VERIFICATION:
    establish that for every x,y,
    implementation(x,y) = (x+y) mod 256

    Those are three different things.

    Changing the physical implementation does not change the specified mathematical mapping.

    This brings us directly back to the distinction I was making earlier:

    SEMANTICS specifies the mapping we require.

    COMPUTATION realizes that mapping.

    PROOF establishes that the realization satisfies the specification.

    Your proposal appears to collapse the third into the second: a process
    counts as computation only when its transformations somehow carry their semantic justification with them.

    But actual computer architecture gives us a very concrete reason to
    question that identification.

    The same transition function can move continuously between ROM, LUT, PLA, hardwired logic, microcode and software without acquiring or losing its mathematical input/output behavior.

    So if you claim that somewhere along this continuum it stops being computation, I think you need to identify exactly where that boundary
    occurs and explain what objective property changes at that point.

    Otherwise "computation" is no longer describing what the machine does. It
    is describing an additional semantic property that you have chosen to
    require before calling what the machine does "computation".
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Fred. Zwarts@[email protected] to comp.theory on Sat Oct 17 11:52:51 2026
    From Newsgroup: comp.theory

    Op 16.okt.2026 om 18:25 schreef olcott:
    On 10/16/2026 10:43 AM, Python wrote:

    Your argument is effectively requiring COMPUTATION itself to contain
    PROOF.


    Yes that is the way that semantic entailment specified
    syntactically on the basis of a set of stipulated axiom
    finite strings has always worked.
    But then

    int sum (int x, int y) { return x+y; }

    does not contain a proof.

    A proof start from the definitions and axioms. In this case the
    definition of natural numbers.
    For a complete proof of sum(5,3) we then have decompose 5 as
    ((((1+1)+1)+1)+1) (this follows from the definition of 5) and 3 as
    ((1+1)+1) (from the definition of 3), then use commutation rules to
    transform this into (((((((1+1)+1)+1)+1)+1)+1)+1) and transform that
    into 8 (from the definition of 8).
    That is not how the computer computes 5+3.

    So, using the computer's adder, which uses a very different algorithm,
    is not a proof and according to Olcott it is not a correct computation.
    Using summation rules learned at school is not a proof.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory on Sat Oct 17 07:15:07 2026
    From Newsgroup: comp.theory

    On 10/17/2026 4:52 AM, Fred. Zwarts wrote:
    Op 16.okt.2026 om 18:25 schreef olcott:
    On 10/16/2026 10:43 AM, Python wrote:

    Your argument is effectively requiring COMPUTATION itself to contain
    PROOF.


    Yes that is the way that semantic entailment specified
    syntactically on the basis of a set of stipulated axiom
    finite strings has always worked.
    But then

    int sum (int x, int y) { return x+y; }

    does not contain a proof.

    A proof start from the definitions and axioms. In this case the
    definition of natural numbers.
    For a complete proof of sum(5,3) we then have decompose 5 as ((((1+1)+1)+1)+1) (this follows from the definition of 5) and 3 as
    ((1+1)+1) (from the definition of 3), then use commutation rules to transform this into (((((((1+1)+1)+1)+1)+1)+1)+1) and transform that
    into 8 (from the definition of 8).
    That is not how the computer computes 5+3.

    So, using the computer's adder, which uses a very different algorithm,
    is not a proof and according to Olcott it is not a correct computation.
    Using summation rules learned at school is not a proof.

    I guess that we have to construe the circuitry as
    equivalent to a proof.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Sat Oct 17 13:11:26 2026
    From Newsgroup: comp.theory

    Peter,

    I guess that we have to construe the circuitry as
    equivalent to a proof.

    I think that sentence exposes exactly the problem.

    Equivalent to WHAT proof, in WHAT formal system?

    An adder circuit implements a function. We can construct a proof that the circuit implements addition correctly, but the circuit and that proof are
    not the same thing.

    For example, let C be an 8-bit adder circuit. We may prove:

    for all x,y:
    C(x,y) = (x+y) mod 256

    Here we have three distinct objects:

    specification: (x,y) -> (x+y) mod 256

    implementation: C

    proof: C satisfies the specification

    Calling C itself "equivalent to a proof" simply collapses those three distinctions by definition.

    And it immediately brings us back to the ROM problem.

    Suppose C is implemented with gates.

    Now synthesize exactly the same Boolean function into LUTs.

    Or implement it as a ROM containing its truth table.

    All three devices implement exactly the same mapping.

    So if the gate circuit is "equivalent to a proof", is the LUT
    implementation also equivalent to a proof?

    Is the ROM?

    If not, precisely what proof-theoretic property disappeared during the transformation?

    This is not merely hypothetical. FPGA LUTs are literally small stored
    truth tables used to implement Boolean functions. Logic synthesis
    routinely moves between Boolean descriptions and LUT implementations.

    So I think "the circuitry is equivalent to a proof" does not solve the problem. It makes the circularity more visible:

    Why is this a computation?
    Because it embodies a proof.

    Why does it embody a proof?
    Because it correctly computes the function.

    Correctness of an implementation can be PROVED.

    It does not follow that the implementation IS a proof.

    A CPU executing

    return x + y;

    does not have to prove arithmetic before it can add x and y.

    We may have to prove that the CPU's adder is correct.

    That is our proof about the computation, not the computation's proof of itself.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Sat Oct 17 08:59:46 2026
    From Newsgroup: comp.theory

    On 10/16/2026 10:26 PM, Python wrote:
    It is not. It is my improvement of what they said built
    on top of my generic paraphrase of Post.

    Then we agree on an important point: your requirement that computation consist of syntactically specified semantic entailment is not a
    requirement of Post, Turing, or standard computability theory. It is a
    new requirement introduced by your own theory.


    Computation requires correct rather than
    arbitrary finite string transformations

    The brand new key insight that I had into the
    foundations of computation is the notion of
    {correct finite string transformations} as
    opposed to and contrast with
    {arbitrary finite string transformations}.

    This remains a truism, inherently required.

    That is perfectly legitimate as a research proposal, but it means that results obtained from that additional requirement do not, by themselves, overturn results about Turing computation.


    Correctly overturning results of the Halting Theorem is
    anchored in the above and the above remains insufficiently
    anchored.

    There is also a problem with your new Axiom 2:

    Random answers to specific questions are never correct.

    Literally, that is false. If I randomly answer YES or NO to

       Is 2+2=4?

    I may randomly answer YES, which is correct.

    What I think you mean is:

       Arbitrary answers provide no guarantee of correctness.


    On the Relation Between Heyting’s and Gentzen’s
    Approaches to Meaning Dag Prawitz (2013)

    ...the meaning of a sentence in terms of what
    it is to know that the sentence is true, which
    in mathematics amounts to having a proof of
    the sentence

    "Gentzen’s idea could be summarized by saying
    that the meaning of a sentence is determined by
    what counts as a canonical proof of it..."

    https://doi.org/10.1007/978-3-319-22686-6_2

    I derived the equivalent "relations between finite strings"
    long before I ever heard of Proof Theoretic Semantics.

    That is true, but it does not imply:

       Computation requires every transformation to be
       a semantically entailed transformation.


    Either semantically entailed syntactically or stipulated.
    All of your table lookups are stipulated. So my system
    remains correct and coherent.

    Those are very different propositions.

    The ROM example exposes the difference.


    semantically entailed syntactically or stipulated relations
    between finite strings. ROM is stipulated relations.

    Suppose I manufacture a 16-bit-address, 8-bit-output ROM whose contents,
    by sheer accident, happen to satisfy

       ROM[x,y] = (x+y) mod 256

    for every x,y.


    Sheer accident provides zero basis for knowledge.
    My system's domain is general knowledge expressed
    as relations between finite strings.

    No previous process computed the table. Nothing was "off-loaded." We
    simply discovered afterward that this physical device implements the 8-
    bit addition function.

    When presented with (23,42), it returns 65.

    Does this device compute the 8-bit addition function?

    If not, then your definition of "computes" depends not merely on the machine's structure and behavior, but on the causal history by which its contents came to exist.

    That would be a radically different concept from computation in computability theory.


    My ideas may be radically different in that they augment
    the existing Emil Post foundation making the foundation of
    computation much more coherent and consistent.

    Undecidability ceases to exist within this new foundation.

    Also:

    Table look up is not maximum algorithm compression

    Agreed, but that is a different question.


    Yes so we will construe table look up as the stipulated
    portion of relations between finite strings.

    Whether an implementation computes a function and whether it is a
    maximally compressed algorithm for that function are not equivalent questions.

    Finally:

    Even the category of a counter-example cannot possibly exist.

    MECE cannot establish that.

    MECE can describe how you partition a domain. It cannot prove that your premises are true or that your proposed categories correctly model the phenomenon under investigation.


    I have spent 35 years on Categorically Exhaustive Reasoning.
    If even the category of a counter-example to an assertion
    cannot possibly exist then this assertion is proven true.

    Within my generic paraphrase of Emil Post the Church-Turing
    thesis seems to become the Post/Olcott Theorem.

    Indeed, if a theory concludes in advance that the category of counterexamples "cannot possibly exist,"

    That would be stupid. That is the same as proving
    that one is correct on the basis of the assumption
    that one is correct.

    that is precisely where I would
    look hardest for an unstated assumption.

    So I think we have made substantial progress.


    Yes we have.

    We no longer need to debate whether Post requires your notion of
    semantic computation: you have now explicitly said that he does not.

    The question is therefore much simpler:

    Can you derive

       computation
           =>
       correct semantic entailment from stipulated axioms

    rather than simply defining "computation" to mean that?


    Deciders must apply finite string transformations that are
    semantically relevant to the decision criteria.

    Because if it is a definition, you have introduced a new class of
    processes.

    If it is a theorem about computation generally, it needs a proof
    independent of that definition.


    It seems to me that the only category of proof that I will be able
    to provide is self-evidence: proven true on the basis of meaning.

    BTW, since you mentioned that you had never heard of Greg Egan, I think
    you might genuinely enjoy some of his work. He is unusually interested
    in exactly the boundary between computation, implementation, semantics, identity and physical realization that we keep running into here.

    A few suggestions, roughly in the order I would recommend them to you:

    * **"Learning to Be Me"** (short story, in *Axiomatic*) — probably the most directly relevant. People have neural "jewels" implanted that learn
    to reproduce their brains' input/output behavior until they can replace
    the biological brain. It raises almost exactly the question: when does reproducing a mapping become reproducing the process or person that generated it?

    * **Permutation City** — simulated minds, computational identity, and
    the question of what it means for a computation to be physically instantiated. If two implementations realize the same computational structure, what makes one of them "real"? This is probably the Egan
    novel most relevant to our disagreement.

    * **"Axiomatic"** (short story) — asks what happens when apparently foundational beliefs and values can themselves be technologically
    modified. Given your interest in foundational axioms, you may appreciate
    the joke implicit in the title.

    * **Diaspora** — begins with the creation of an artificial mind and then goes much further into questions of mathematical description, physical reality, simulated environments and post-human intelligence.

    * **"Luminous"** — especially relevant if you are interested in the relationship between formal systems, mathematical truth and physical computation. It plays with the rather disturbing idea that mathematics itself might not be as implementation-independent as we normally assume.

    * **"Oracle"** — deals with artificial intelligence, computability, mathematics and an alternate-history confrontation over the intellectual consequences of advanced computation.

    * **"Singleton"** — explores quantum mechanics, computation and personal identity, including the consequences of trying to construct an
    artificial intelligence.

    * **"Crystal Nights"** — artificial life is evolved inside a
    computational environment, raising the question of whether entities generated by a computational process acquire meanings, purposes and interests that were not explicitly supplied by their programmers.

    If you only try three, I would suggest:

       Learning to Be Me
       Permutation City
       Luminous

    Egan is a programmer as well as a science-fiction writer, and unlike a
    great deal of SF that merely uses computation as decoration, he tends to take the computational and mathematical premises seriously and then
    follow their consequences somewhere uncomfortable.

    I suspect you will disagree with him quite a lot, which is one reason I think you might find him interesting.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Sat Oct 17 14:05:48 2026
    From Newsgroup: comp.theory

    Peter,

    I think your latest reply reveals a very important change in the subject
    of the discussion.

    You wrote:

    Sheer accident provides zero basis for knowledge.
    My system's domain is general knowledge expressed
    as relations between finite strings.

    But I did not ask whether the accidental ROM provides a basis for
    KNOWLEDGE.

    I asked whether it COMPUTES the function.

    Those are different questions.

    Suppose the ROM happens to satisfy

    ROM[x,y] = (x+y) mod 256

    for every possible input.

    Then there are at least three separate questions:

    1. Does the device implement the addition mapping?

    2. Do we know that it implements the addition mapping?

    3. Can we prove that it implements the addition mapping?

    The answer to (1) can be yes while the answers to (2) and (3) are no.

    Indeed, that was precisely the purpose of the accidental-ROM example.

    You replied that accident provides no basis for knowledge.

    Agreed.

    But that answers (2), not (1).

    This also explains why I don't think the Prawitz reference establishes
    what you need.

    Proof-theoretic semantics is indeed concerned with explaining meaning in
    terms of proof, and Prawitz discusses the connection between knowing that
    a mathematical sentence is true and having a proof of it.

    But that is an epistemological/semantic claim about mathematical assertion
    and proof.

    It does not establish:

    computation = justified knowledge

    or:

    every computational transition = semantic inference.

    In fact, your latest formulation seems increasingly to describe a theory
    of justified inference rather than a theory of computation.

    There is another interesting development in your answer.

    Previously, you said that lookup does not itself perform the computation because the computation was "off-loaded."

    Now you say:

    All of your table lookups are stipulated.
    So my system remains correct and coherent.

    and:

    ROM is stipulated relations.

    I am happy to accept that for the sake of argument.

    But then any finite function can be represented as stipulated relations.

    For a finite domain

    A = {a1,...,an}

    and any function f, I can stipulate

    a1 -> f(a1)
    a2 -> f(a2)
    ...
    an -> f(an)

    and implement exactly those stipulated relations in a ROM.

    So the distinction between gate computation and ROM lookup has disappeared from your criterion.

    This also connects directly to actual computer hardware.

    The same finite Boolean function can be implemented as:

    gates
    PLA
    FPGA LUTs
    ROM

    and representations can be mechanically transformed between these forms.

    If ROM relations qualify because they are "stipulated", then there is no longer any reason to say that computation was performed elsewhere and
    merely stored in the ROM. The ROM itself implements the stipulated
    mapping.

    More importantly, however, your present definition appears to be:

    acceptable transformation =
    semantically entailed transformation
    OR
    stipulated transformation.

    That may define a formal system of justified transformations.

    But why should that be identified with COMPUTATION?

    Your Prawitz quotation may provide motivation for identifying mathematical knowledge with proof under a proof-theoretic conception of meaning.

    It does not provide the missing implication:

    computation
    =>
    knowledge
    =>
    proof
    =>
    semantic entailment or stipulation.

    And your final statement makes the problem especially clear:

    It seems to me that the only category of proof that
    I will be able to provide is self-evidence:
    proven true on the basis of meaning.

    I think this is exactly where we need to be extremely careful.

    If your crucial foundational claim is:

    Computation requires correct rather than
    arbitrary finite string transformations

    we need to distinguish two readings of "correct".

    Reading A:

    The machine actually produces the value specified
    by the function.

    Then the accidental ROM is correct, regardless of whether anybody knows or
    can prove that it is correct.

    Reading B:

    The transformation is justified as correct by
    semantic entailment or stipulation.

    Then you have changed "correct computation" into "justified computation".

    That is an epistemic notion.

    And the Halting Theorem is not a theorem about what we can justify as knowledge. It is a theorem about what Turing machines can compute.

    This distinction becomes especially important when you say:

    Undecidability ceases to exist within this new foundation.

    It may instead be that you have defined a new notion of "decision" under
    which only semantically justified transformations count as decisions.

    If so, undecidability has not been eliminated.

    You have changed the meaning of "decider".

    Before claiming that the Halting Theorem has been overturned, I therefore think you need to establish one very specific bridge:

    standard Turing computation
    =>
    your semantically justified computation.

    And "self-evidence" cannot establish that bridge if the self-evidence
    comes from the meaning you have assigned to the word "computation".

    Otherwise the reasoning is:

    I define computation as correct justified transformation.

    Therefore every computation is a correct justified transformation.

    Therefore the standard theory of computation is wrong
    whenever it permits transformations not satisfying my
    justification criterion.

    That conclusion follows from the new definition, not from a discovery
    about Turing computation.

    So I think we have now reached an even more fundamental question than the
    ROM example:

    Are you proposing a new theory of COMPUTATION,

    or a new theory of JUSTIFIED KNOWLEDGE represented by finite strings?

    Those are not the same project.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Sat Oct 17 09:38:41 2026
    From Newsgroup: comp.theory

    On 10/17/2026 8:11 AM, Python wrote:
    Peter,

    I guess that we have to construe the circuitry as
    equivalent to a proof.

    I think that sentence exposes exactly the problem.

    Equivalent to WHAT proof, in WHAT formal system?


    "true on the basis of meaning expressed in language"
    is entirely comprised of two types of relations between
    finite strings:
    (1) Stipulated relation foundational axioms.
    (2) Semantic entailment specified syntactically.

    Circuitry / lookup tables are type (1).

    An adder circuit implements a function. We can construct a proof that
    the circuit implements addition correctly, but the circuit and that
    proof are not the same thing.


    Even a look-ahead carry generator implements conventional
    elementary school 1st grade arithmetic. That it does this
    for 64-bit binary integer pairs in a single step does not
    change this fact.

    For example, let C be an 8-bit adder circuit. We may prove:

       for all x,y:
           C(x,y) = (x+y) mod 256

    Here we have three distinct objects:

       specification:  (x,y) -> (x+y) mod 256

       implementation: C

       proof:           C satisfies the specification

    Calling C itself "equivalent to a proof" simply collapses those three distinctions by definition.

    And it immediately brings us back to the ROM problem.

    Suppose C is implemented with gates.

    Now synthesize exactly the same Boolean function into LUTs.

    Or implement it as a ROM containing its truth table.

    All three devices implement exactly the same mapping.

    So if the gate circuit is "equivalent to a proof", is the LUT
    implementation also equivalent to a proof?

    Is the ROM?


    Equivalent to axioms.

    On the Relation Between Heyting’s
    and Gentzen’s Approaches to Meaning
    Dag Prawitz (2013)

    ...the meaning of a sentence in terms of what
    it is to know that the sentence is true, which
    in mathematics amounts to having a proof of
    the sentence

    "Gentzen’s idea could be summarized by saying
    that the meaning of a sentence is determined by
    what counts as a canonical proof of it..."

    https://doi.org/10.1007/978-3-319-22686-6_2

    If we have no way to determine whether or not
    X is true then X is necessarily outside of the
    body of knowledge, thus outside of the domain
    of my system.

    If not, precisely what proof-theoretic property disappeared during the transformation?


    I have extended the notion of Proof Theoretic Semantics
    to a greater extent than this field has currently reached
    long before I ever heard of PTS. This is documented in
    my posts on sci.logic and comp.theory.

    This is not merely hypothetical. FPGA LUTs are literally small stored
    truth tables used to implement Boolean functions. Logic synthesis
    routinely moves between Boolean descriptions and LUT implementations.


    Thus axioms within my system.

    So I think "the circuitry is equivalent to a proof" does not solve the problem. It makes the circularity more visible:

       Why is this a computation?
       Because it embodies a proof.

       Why does it embody a proof?
       Because it correctly computes the function.

    Correctness of an implementation can be PROVED.


    I am focusing on computable general knowledge.
    "true on the basis of meaning expressed in language"
    is entirely comprised of two types of relations between
    finite strings:
    (1) Stipulated relation foundational axioms.
    (2) Semantic entailment specified syntactically.

    Deciders must apply finite string transformations that are
    semantically relevant to the decision criteria.

    It does not follow that the implementation IS a proof.

    A CPU executing

       return x + y;

    does not have to prove arithmetic before it can add x and y.


    (1) Stipulated relation foundational axioms.

    We may have to prove that the CPU's adder is correct.

    That is our proof about the computation, not the computation's proof of itself.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Sat Oct 17 14:45:45 2026
    From Newsgroup: comp.theory

    Peter,

    I think this sentence finally identifies the fundamental difference
    between your system and computability theory:

    If we have no way to determine whether or not
    X is true then X is necessarily outside of the
    body of knowledge, thus outside of the domain
    of my system.

    That is perfectly coherent as a restriction on the domain of your system.

    But then I don't see how you can conclude that you have eliminated undecidability.

    You have excluded it.

    Suppose I define

    D = { propositions whose truth can be determined
    by the permitted methods of my system }.

    Then naturally:

    for every X in D,
    the truth of X can be determined by my system.

    But this does not establish:

    for every X,
    the truth of X can be determined.

    It establishes the first statement by restricting D.

    In particular, consider HALT:

    HALT(P,I) =
    TRUE if program P halts on input I
    FALSE otherwise.

    The standard Halting Theorem says that there is no Turing machine H such
    that, for every P and I,

    H(P,I) = HALT(P,I).

    Now suppose some instances of HALT cannot be determined by your permitted semantic methods.

    According to what you have just written, those instances are:

    outside of the domain of my system.

    Fine.

    But then your system has not decided HALT.

    It has declined to include those cases in its domain.

    There is an enormous difference between:

    "There are no undecidable propositions in my domain"

    and:

    "There are no undecidable propositions."

    The first can be obtained simply by defining the domain to contain only propositions for which an accepted determination exists.

    The second is the extraordinary mathematical claim that would contradict standard undecidability results.

    Your statement appears explicitly to give us the first, not the second.

    This also clarifies something about our hardware discussion.

    You now say:

    Circuitry / lookup tables are type (1).

    and type (1) is:

    Stipulated relation foundational axioms.

    That resolves our previous disagreement about ROM versus gates inside your system: you are now treating both as stipulated relations.

    But consider again the accidental ROM.

    Suppose a ROM happens, completely accidentally, to contain the complete
    8-bit addition mapping.

    At time T1 nobody knows this.

    We then exhaustively examine all 65536 entries and discover:

    ROM[x,y] = (x+y) mod 256

    for every x,y.

    At time T2 we know that it implements addition.

    Nothing whatsoever has changed inside the ROM between T1 and T2.

    So did the ROM become an "axiom" at T2?

    If so, "axiom" is not describing a computational property of the ROM.

    It is describing our epistemic relationship to the ROM.

    That seems consistent with your statement:

    My system's domain is general knowledge

    and also with the Prawitz passage concerning what it means to KNOW that a sentence is true.

    But that would make your project fundamentally a theory of knowledge/justification, rather than a replacement foundation for computability.

    And I think this distinction is now crucial.

    Proof-theoretic semantics may tell us something about:

    what justifies asserting X?

    Computability theory asks:

    what function does this machine compute?

    Those are different questions.

    There is also a smaller point about the carry-lookahead example.

    You wrote:

    Even a look-ahead carry generator implements conventional
    elementary school 1st grade arithmetic.

    Certainly it implements arithmetic.

    But "implements arithmetic" is precisely the distinction I have been
    making.

    A carry-lookahead adder need not reproduce the elementary-school
    sequential procedure. It uses generate/propagate logic specifically to reorganize carry dependencies so that they can be evaluated much more in parallel.

    Different algorithms and radically different circuits can implement the
    same mathematical function.

    That is why I distinguish:

    mathematical function/specification

    implementation/computation

    proof of correctness

    But I think the domain issue is now much more fundamental than our
    hardware examples.

    So let me ask one very precise question.

    Consider a particular HALT instance X for which your permitted methods
    provide no determination.

    You have just said that such an X is outside the domain of your system.

    Does your system nevertheless return TRUE or FALSE for X?

    If YES, please specify how it obtains the correct answer.

    If NO, then X remains undecided.

    Calling X "outside the domain" has not eliminated its undecidability.

    It has only eliminated X from the set of questions your system undertakes
    to decide.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Sat Oct 17 11:27:20 2026
    From Newsgroup: comp.theory

    On 10/17/2026 9:05 AM, Python wrote:
    Peter,

    I think your latest reply reveals a very important change in the subject
    of the discussion.

    You wrote:

       Sheer accident provides zero basis for knowledge.
       My system's domain is general knowledge expressed
       as relations between finite strings.

    But I did not ask whether the accidental ROM provides a basis for
    KNOWLEDGE.

    I asked whether it COMPUTES the function.


    (1) Stipulated relation foundational axioms, thus yes.

    Those are different questions.

    Suppose the ROM happens to satisfy

       ROM[x,y] = (x+y) mod 256


    The equation {ROM}[x,y] = (x+y) mod 256 defines a 256-by-256
    byte lookup table // Google AI

    for every possible input.

    Then there are at least three separate questions:

       1. Does the device implement the addition mapping?

       2. Do we know that it implements the addition mapping?

       3. Can we prove that it implements the addition mapping?


    (1)(2)(3) can be empirically proven.

    The answer to (1) can be yes while the answers to (2) and (3) are no.

    Indeed, that was precisely the purpose of the accidental-ROM example.

    You replied that accident provides no basis for knowledge.

    Agreed.

    But that answers (2), not (1).

    This also explains why I don't think the Prawitz reference establishes
    what you need.

    Proof-theoretic semantics is indeed concerned with explaining meaning in terms of proof, and Prawitz discusses the connection between knowing
    that a mathematical sentence is true and having a proof of it.


    Ultimately
    "semantic entailment (specified syntactically) from stipulated axioms"
    seems to much more precisely state the aim of PTS than any PTS
    literature.

    But that is an epistemological/semantic claim about mathematical
    assertion and proof.

    It does not establish:

       computation = justified knowledge


    Deciders must apply finite string transformations that are semantically relevant to the decision criteria.

    or:

       every computational transition = semantic inference.

    In fact, your latest formulation seems increasingly to describe a theory
    of justified inference rather than a theory of computation.


    The broader category that deciders are a small part of.

    There is another interesting development in your answer.

    Previously, you said that lookup does not itself perform the computation because the computation was "off-loaded."

    Now you say:

       All of your table lookups are stipulated.
       So my system remains correct and coherent.

    and:

       ROM is stipulated relations.

    I am happy to accept that for the sake of argument.


    It takes me a while to properly factor in new ideas.

    But then any finite function can be represented as stipulated relations.

    For a finite domain

       A = {a1,...,an}

    and any function f, I can stipulate

       a1 -> f(a1)
       a2 -> f(a2)
       ...
       an -> f(an)

    and implement exactly those stipulated relations in a ROM.

    So the distinction between gate computation and ROM lookup has
    disappeared from your criterion.

    This also connects directly to actual computer hardware.

    The same finite Boolean function can be implemented as:

       gates
       PLA
       FPGA LUTs
       ROM

    and representations can be mechanically transformed between these forms.

    If ROM relations qualify because they are "stipulated", then there is no longer any reason to say that computation was performed elsewhere and
    merely stored in the ROM. The ROM itself implements the stipulated mapping.


    Yes.

    More importantly, however, your present definition appears to be:

       acceptable transformation =
           semantically entailed transformation
           OR
           stipulated transformation.

    That may define a formal system of justified transformations.

    But why should that be identified with COMPUTATION?

    Your Prawitz quotation may provide motivation for identifying
    mathematical knowledge with proof under a proof-theoretic conception of meaning.

    It does not provide the missing implication:

       computation
           =>
       knowledge
           =>
       proof
           =>
       semantic entailment or stipulation.

    And your final statement makes the problem especially clear:

       It seems to me that the only category of proof that
       I will be able to provide is self-evidence:
       proven true on the basis of meaning.

    I think this is exactly where we need to be extremely careful.

    If your crucial foundational claim is:

       Computation requires correct rather than
       arbitrary finite string transformations


    Computation may include mere infinite loops.
    Computable functions require semantic relevance to
    what is being computed. I am not sure where converting
    all blue pixels to red pixels would fit here.

    we need to distinguish two readings of "correct".

    Reading A:

       The machine actually produces the value specified
       by the function.


    Not quite or a pair of halt deciders that always either accept
    or reject might be construed as correct some of the time.

    Deciders must apply finite string transformations that are
    semantically relevant to the decision criteria blocks this.

    Then the accidental ROM is correct, regardless of whether anybody knows
    or can prove that it is correct.


    No.

    Reading B:

       The transformation is justified as correct by
       semantic entailment or stipulation.


    This must be a stipulated truth.

    Then you have changed "correct computation" into "justified computation".

    That is an epistemic notion.


    Yes. That is a correct clarification.

    Truth as an Epistemic Notion
    Published: 24 September 2011 Dag Prawitz

    What is the appropriate notion of truth for sentences
    whose meanings are understood in epistemic terms such
    as proof or ground for an assertion? It seems that the
    truth of such sentences has to be identified with the
    existence of proofs or grounds...

    https://link.springer.com/article/10.1007/s11245-011-9107-6

    And the Halting Theorem is not a theorem about what we can justify as knowledge. It is a theorem about what Turing machines can compute.

    This distinction becomes especially important when you say:


    More exactly what is inside the scope of finite string
    transformations and what is outside of this scope.

       Undecidability ceases to exist within this new foundation.

    It may instead be that you have defined a new notion of "decision" under which only semantically justified transformations count as decisions.


    Random guesses never really counted as decisions against
    any decision criteria.

    If so, undecidability has not been eliminated.


    It only seemed to come into existence through a
    misconception / false assumption.

    You have changed the meaning of "decider".


    Clarified the misconception.

    Before claiming that the Halting Theorem has been overturned, I
    therefore think you need to establish one very specific bridge:

       standard Turing computation
                   =>
       your semantically justified computation.


    Axiom 1 --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of finite string transformation rules to finite string inputs to derive any and all
    outputs.

    Axiom 2 --- prefix
    Computation requires correct rather than arbitrary finite
    string transformations. The brand new key insight that I
    had into the foundations of computation is the notion of
    {correct finite string transformations} as opposed to and
    contrast with {arbitrary finite string transformations}.

    "Correct transformation" now seems to now be anchored in
    epistemological semantic relevance. Deciders must apply
    finite string transformations that are semantically relevant
    to the decision criteria.

    And "self-evidence" cannot establish that bridge if the self-evidence
    comes from the meaning you have assigned to the word "computation".

    Otherwise the reasoning is:

       I define computation as correct justified transformation.

       Therefore every computation is a correct justified transformation.

       Therefore the standard theory of computation is wrong
       whenever it permits transformations not satisfying my
       justification criterion.

    That conclusion follows from the new definition, not from a discovery
    about Turing computation.

    So I think we have now reached an even more fundamental question than
    the ROM example:

    Are you proposing a new theory of COMPUTATION,

    or a new theory of JUSTIFIED KNOWLEDGE represented by finite strings?

    Those are not the same project.

    The actual way that
    "true on the basis of meaning expressed in language"
    has always worked applied to computable general knowledge

    and then applying this to:
    "Correct transformation" now seems to now be anchored in
    epistemological semantic relevance.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Sat Oct 17 16:37:19 2026
    From Newsgroup: comp.theory

    Peter,

    I think we have now achieved an important clarification, and I want to preserve it rather than continue arguing past it.

    I wrote:

    Then you have changed "correct computation"
    into "justified computation".

    That is an epistemic notion.

    and you answered:

    Yes. That is a correct clarification.

    Good.

    You have also now accepted that the ROM itself implements its stipulated mapping. So I think our hardware disagreement is essentially resolved.

    The remaining issue is much narrower.

    You write:

    Deciders must apply finite string transformations that are
    semantically relevant to the decision criteria.

    But semantic relevance is not sufficient to make something a decider.

    A HALT decider H must satisfy:

    for every program P and input I,

    H(P,I) = TRUE
    iff P(I) eventually halts

    H(P,I) = FALSE
    iff P(I) runs forever.

    And H itself must halt on every P,I.

    That is already what "decider" means in standard computability theory.

    Your example of two machines, one always accepting and one always
    rejecting, therefore does not expose a defect in the standard definition.

    Neither machine is a HALT decider.

    Each happens to give the correct answer on some inputs, but neither
    correctly decides HALT on all inputs.

    There is no possibility in the standard definition that a random guess
    which happens to be correct on one particular input thereby qualifies the machine as a correct decider.

    Now consider your additional requirement:

    transformations must be semantically relevant
    to the decision criteria.

    Suppose a program examines:

    opcodes,
    branches,
    loops,
    recursive calls,
    control-flow graphs,
    reachable states,
    symbolic execution paths,

    and uses all of these to predict whether P(I) halts.

    Every one of those transformations may be highly semantically relevant to
    the halting question.

    That still does not establish that the procedure correctly answers HALT
    for every P,I.

    So:

    semantic relevance

    and:

    correct decision

    remain different properties.

    There is an even stronger problem with treating your epistemic requirement
    as the missing ingredient in the standard definition.

    Let:

    D = the set of standard HALT deciders.

    That means the set of effective procedures H satisfying:

    H(P,I) = HALT(P,I)

    for every P,I, while H itself always halts.

    Now define:

    J = the set of HALT deciders which ALSO satisfy
    your epistemological/semantic justification
    requirements.

    Every member of J would necessarily also be a member of D.

    Therefore:

    J is a subset of D.

    The Halting Theorem establishes:

    D = empty set.

    Consequently:

    J = empty set.

    This point is independent of whether your additional condition is a good
    one.

    You may require that every transformation be:

    semantically relevant,
    epistemically justified,
    syntactically entailed from stipulated axioms,

    or impose any other additional property you wish.

    But if the resulting object must still satisfy the ordinary HALT specification, then you are defining a SUBCLASS of ordinary HALT deciders.

    Adding additional requirements to an object already proven not to exist
    cannot make that object exist.

    For example, suppose somebody proves:

    There exists no integer x satisfying P(x).

    I cannot overturn that theorem by proposing an improved notion:

    x must satisfy P(x)
    AND x must be even.

    I have made the requirements stronger, not weaker.

    Likewise:

    standard HALT decider
    +
    epistemological semantic relevance

    cannot evade a theorem saying that no standard HALT decider exists.

    This is why I don't think your appeal to epistemology and Prawitz,
    interesting as it may be, can by itself do the work required to overturn
    the Halting Theorem.

    You now explicitly describe your notion of correctness as epistemic:

    justified computation.

    Fine.

    But the standard Halting Theorem already concerns a machine whose answers
    must actually be correct on every input.

    It does not permit random guesses to count as successful decisions.

    Adding a requirement that the internal transformations also be
    epistemically justified or semantically relevant therefore makes the requirements on H stronger.

    It cannot make the diagonal contradiction disappear unless you have
    changed some OTHER premise of the theorem.

    And that brings us, I think, to the exact question we should now examine.

    You wrote:

    It only seemed to come into existence through a
    misconception / false assumption.

    Which misconception?

    Which false assumption?

    Not in Post generally, not in the philosophical foundations of
    computation, and not in proof-theoretic semantics.

    I mean in the actual diagonal proof of the Halting Theorem.

    Let us make that proof as small as possible.

    Assume there exists a total effective procedure H(P,I) such that:

    H(P,I) = TRUE
    iff P halts on I

    H(P,I) = FALSE
    iff P does not halt on I.

    Now construct D(P):

    D(P):
    if H(P,P) == TRUE:
    loop forever
    else:
    halt

    Since H is assumed to decide every program/input pair, we can ask:

    D(D)

    There are only two possibilities.

    Case 1:

    H(D,D) = TRUE.

    Then, by the specification of H, D(D) must halt.

    But by the definition of D, when H(D,D) returns TRUE, D(D) loops forever.

    Contradiction.

    Case 2:

    H(D,D) = FALSE.

    Then, by the specification of H, D(D) must not halt.

    But by the definition of D, when H(D,D) returns FALSE, D(D) halts.

    Contradiction.

    Therefore the assumed total H cannot exist.

    Now, if your new foundation overturns the Halting Theorem, one of the
    steps above must fail.

    So which one?

    For example, do you deny that:

    H can be represented as an effective procedure?

    Do you deny that:

    D can call H?

    Do you deny that:

    D can be supplied its own description?

    Do you deny that:

    H must return TRUE or FALSE for D(D)?

    Do you deny the stated meaning of TRUE or FALSE?

    Do you say that D(D) falls outside the domain of H?

    Or is there some other specific step you reject?

    This is important because several of those answers would not overturn the standard theorem.

    In particular, if your answer is:

    D(D) is outside the epistemically justified domain,

    then H is simply not defined on every program/input pair.

    It is therefore not a HALT decider in the standard sense.

    Likewise, if H is permitted to answer something equivalent to:

    unknown,
    undecidable,
    outside my domain,
    no epistemically justified answer,

    then H may be a perfectly useful partial analyzer, but it is not the H
    whose existence the Halting Theorem disproves.

    This is also why I think we need to distinguish carefully between:

    "undecidability does not exist"

    and:

    "questions for which my system cannot provide
    an epistemically justified answer are excluded
    from the domain of my system."

    The latter is entirely possible.

    But it does not eliminate undecidability.

    It relocates undecidable cases outside the chosen domain.

    There is also an important distinction in your latest formulation:

    "semantically relevant to the decision criteria"

    is not equivalent to:

    "semantically entails the correct decision".

    The first concerns relevance.

    The second concerns correctness.

    A static analyzer can perform extremely sophisticated transformations that
    are semantically relevant to whether a program terminates and still fail
    to determine termination for some programs.

    For HALT, the entire difficulty is obtaining the second property for EVERY possible program/input pair.

    So I think we can now reduce the entire discussion to one concrete
    challenge.

    Either give the transformation rules for your proposed H and show how it returns:

    TRUE or FALSE

    correctly for arbitrary P,I while always terminating,

    or identify the precise step in the diagonal argument above which is
    invalid under your proposed foundation.

    If you provide H, we can apply the diagonal construction directly to it.

    If instead you reject a step in the diagonal construction, we can examine
    that particular step.

    That would make the claim that the Halting Theorem has been overturned mathematically testable.

    At this point I don't think we need another general definition of
    computation to perform that test.

    We need to know exactly where you claim this very small argument fails.

    Your epistemological theory may well define an interesting subclass of computations or a theory of justified finite-string transformations.

    But unless it invalidates a specific premise of the diagonal argument
    while retaining the standard HALT specification, it cannot overturn the Halting Theorem.

    It can only change the problem to which the word "decider" is being
    applied.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,comp.ai.philosophy,sci.math on Sat Oct 17 12:45:02 2026
    From Newsgroup: comp.theory

    On 10/17/2026 9:45 AM, Python wrote:
    Peter,

    I think this sentence finally identifies the fundamental difference
    between your system and computability theory:

    If we have no way to determine whether or not
    X is true then X is necessarily outside of the
    body of knowledge, thus outside of the domain
    of my system.

    That is perfectly coherent as a restriction on the domain of your system.

    But then I don't see how you can conclude that you have eliminated undecidability.


    One key element of my work is requiring that the Emil Post
    finite string transformations that deciders apply to their
    finite string inputs have semantic relevance to the decision
    criteria.

    https://github.com/plolcott/x86utm/blob/master/README.md
    Shows that the counter-example input to the halting problem
    proof is decidable, thus not an example of undecidability.

    You have excluded it.

    Suppose I define

       D = { propositions whose truth can be determined
             by the permitted methods of my system }.

    Then naturally:

       for every X in D,
       the truth of X can be determined by my system.

    But this does not establish:

       for every X,
       the truth of X can be determined.

    It establishes the first statement by restricting D.

    In particular, consider HALT:

       HALT(P,I) =
           TRUE   if program P halts on input I
           FALSE  otherwise.

    The standard Halting Theorem says that there is no Turing machine H such that, for every P and I,

       H(P,I) = HALT(P,I).


    I simplified that and got rid of the extraneous I.
    The same reasoning can be presented without that.

    What we end up with there is no halt decider that
    can return the correct halt status for a program
    that does the opposite of whatever it reports.

    PhD computer science professor emeritus:
    Can Carol correctly answer “no” to this (yes/no) question?
    E C R Hehner. Objective and Subjective Specifications
    WST Workshop on Termination, Oxford. 2018 July 18.
    See https://www.cs.toronto.edu/~hehner/OSS.pdf

    Or my earlier work:
    On 6/23/2004 9:34 PM, Peter Olcott wrote:

    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;

    Does this program Halt?

    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)

    Please ONLY PROVIDE CORRECT ANSWERS!

    Now suppose some instances of HALT cannot be determined by your
    permitted semantic methods.


    Is the concept of [incorrect question] new? [sci.lang]
    On 1/31/2015 7:58 PM, Peter Olcott wrote:
    An [incorrect question] is defined as any question such that
    a correct answer does not exist from the set of all possible
    answers.


    According to what you have just written, those instances are:

       outside of the domain of my system.

    Fine.

    But then your system has not decided HALT.

    It has declined to include those cases in its domain.

    There is an enormous difference between:

       "There are no undecidable propositions in my domain"

    and:

       "There are no undecidable propositions."

    The first can be obtained simply by defining the domain to contain only propositions for which an accepted determination exists.


    When we exclude incorrect questions then
    undecidable propositions are also excluded.

    The second is the extraordinary mathematical claim that would contradict standard undecidability results.

    Your statement appears explicitly to give us the first, not the second.

    This also clarifies something about our hardware discussion.

    You now say:

       Circuitry / lookup tables are type (1).

    and type (1) is:

       Stipulated relation foundational axioms.

    That resolves our previous disagreement about ROM versus gates inside
    your system: you are now treating both as stipulated relations.

    But consider again the accidental ROM.

    Suppose a ROM happens, completely accidentally, to contain the complete 8-bit addition mapping.


    IDK.

    At time T1 nobody knows this.

    We then exhaustively examine all 65536 entries and discover:

       ROM[x,y] = (x+y) mod 256

    for every x,y.

    At time T2 we know that it implements addition.

    Nothing whatsoever has changed inside the ROM between T1 and T2.

    So did the ROM become an "axiom" at T2?

    If so, "axiom" is not describing a computational property of the ROM.

    It is describing our epistemic relationship to the ROM.

    That seems consistent with your statement:

       My system's domain is general knowledge

    and also with the Prawitz passage concerning what it means to KNOW that
    a sentence is true.

    But that would make your project fundamentally a theory of knowledge/ justification, rather than a replacement foundation for computability.


    Knowing that a proposition is undecidable only
    because it is an incorrect question is also knowledge.

    And I think this distinction is now crucial.

    Proof-theoretic semantics may tell us something about:

       what justifies asserting X?


    The body of knowledge as distinct and separate from the
    body of wild guesses.

    Computability theory asks:

       what function does this machine compute?


    By applying semantically relevant transformations to its
    finite string input? HHH(DD)==0 on that basis.

    Those are different questions.

    There is also a smaller point about the carry-lookahead example.

    You wrote:

       Even a look-ahead carry generator implements conventional
       elementary school 1st grade arithmetic.

    Certainly it implements arithmetic.

    But "implements arithmetic" is precisely the distinction I have been
    making.

    A carry-lookahead adder need not reproduce the elementary-school
    sequential procedure. It uses generate/propagate logic specifically to reorganize carry dependencies so that they can be evaluated much more in parallel.

    Different algorithms and radically different circuits can implement the
    same mathematical function.


    On the other hand one does not have any degree of freedom
    when one is asked about the unique sequence of steps that
    are specified by an INPUT finite string of C source-code.

    01 int DD()
    02 {
    03 int Halt_Status = HHH(DD);
    04 if (Halt_Status)
    05 HERE: goto HERE;
    06 return Halt_Status;
    07 }

    As INPUT to HHH there is only a single unique sequence.

    That is why I distinguish:

       mathematical function/specification

       implementation/computation

       proof of correctness

    But I think the domain issue is now much more fundamental than our
    hardware examples.

    So let me ask one very precise question.

    Consider a particular HALT instance X for which your permitted methods provide no determination.


    Incorrect question is the correct assessment of the
    requirement to:

    Provide the halt status of any machine that does the
    opposite of whatever halt status is returned.

    You have just said that such an X is outside the domain of your system.

    Does your system nevertheless return TRUE or FALSE for X?

    If YES, please specify how it obtains the correct answer.

    If NO, then X remains undecided.

    Calling X "outside the domain" has not eliminated its undecidability.

    It has only eliminated X from the set of questions your system
    undertakes to decide.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Sat Oct 17 17:56:11 2026
    From Newsgroup: comp.theory

    Peter,

    I followed the x86utm link and read the README, and I think this finally
    gives us a very precise technical point to examine.

    Your README says:

    The key mistake of the halting problem proofs is that they
    require a halt decider to report on the behavior of something
    other than the behavior specified by its finite string input.

    and Axiom 2 says:

    The only correct finite string transformation rules that HHH
    is allowed to apply to its finite string input DD is specified
    by the operational semantics of the C programming language.
    This requires DD to be simulated by HHH according to these rules.

    I think the second statement is exactly where your argument departs from
    the Halting Theorem.

    A hypothetical halt decider is NOT required to determine termination by simulating its input.

    The assumption is only that there exists some total effective procedure H
    such that:

    H(P) = 1 iff P halts
    H(P) = 0 iff P does not halt.

    Nothing in the theorem requires H to obtain its answer by executing or simulating P step by step.

    In fact, we already know that simulation alone cannot decide halting in general. If P runs forever, straightforward simulation runs forever too.

    So when your x86utm trace establishes that simulated DD reaches:

    simulated DD
    -> simulated HHH(DD)
    -> simulated DD
    -> simulated HHH(DD)
    -> ...

    you have demonstrated that this particular recursive simulation does not terminate.

    I agree.

    But that does not establish:

    HHH(DD) = 0.

    It establishes:

    this simulation of DD does not terminate.

    Those are very different statements.

    This becomes particularly clear in your latest reply:

    As INPUT to HHH there is only a single unique sequence.

    There may be a unique execution sequence of DD under the operational
    semantics of C.

    But HHH's computation is not required to be that sequence.

    There are two different computations:

    execution of DD

    and:

    analysis of DD by HHH.

    An analyzer is not required to reproduce the execution trace of the
    program it analyzes.

    For a trivial example:

    int P() {
    while (1) {}
    }

    I can determine by static inspection that P does not terminate.

    I do not have to run:

    while (1) {}

    forever before reaching that conclusion.

    Likewise, compilers, abstract interpreters, model checkers, static
    analyzers and theorem provers routinely derive properties of program executions without reproducing those executions step by step.

    The Halting Theorem deliberately makes NO assumption about how H works.

    It quantifies over every possible effective H.

    This is essential.

    Your Axiom 2 therefore adds a restriction that the theorem itself does not contain:

    H must determine the behavior of P by transformations
    corresponding to P's operational execution semantics.

    Once you impose that restriction, you are no longer analyzing arbitrary hypothetical halt deciders.

    You are analyzing a particular class of simulation-based analyzers.

    And yes, that class fails on DD.

    But the Halting Theorem already says something much stronger:

    EVERY possible effective total analyzer fails somewhere.

    There is another important point.

    You say:

    HHH(DD)==0 on that basis.

    But if the basis is the infinite recursive simulation trace, when does HHH obtain the knowledge that the trace is infinite?

    After one recursive call?

    Ten?

    A billion?

    No finite prefix establishes, merely by simulation, that the execution
    will never eventually terminate.

    Your README therefore adds another mechanism:

    As soon as the outermost HHH sees a repeating state
    it aborts its simulation and rejects its input.

    That can establish nontermination when an identical complete machine state repeats in a deterministic system.

    But that is a special case of nontermination detection, not a general halt decider.

    Many nonterminating computations never repeat a complete machine state.

    For example, a program can increment an unbounded counter forever:

    n = 0;
    while (1)
    n++;

    At the abstract mathematical-machine level its successive states can all
    be distinct.

    More generally, if every nonterminating computation necessarily repeated a detectable finite state, HALT would already be decidable by ordinary cycle detection.

    So the interesting question about HHH is not whether its cycle detection correctly identifies SOME infinite executions.

    It can.

    The question is whether it correctly decides EVERY possible input program.

    That is the specification required for a halt decider.

    This also clarifies the diagonal argument.

    Assume, without making ANY assumption about its internal method, that H is total and correct:

    H(P) = 1 iff P halts
    H(P) = 0 iff P does not halt.

    Then construct:

    D():
    if H(D):
    loop forever
    else:
    halt

    Now ask H(D).

    You characterize this as an "incorrect question":

    Provide the halt status of any machine that does the
    opposite of whatever halt status is returned.

    But that description reverses the logical order of the argument.

    D is a perfectly ordinary finite program.

    The question:

    Does D halt?

    has a perfectly ordinary objective answer for any actual execution of D.

    The contradiction does not show that this question was malformed.

    It shows that our ASSUMPTION that a total correct H exists was false.

    That distinction is fundamental.

    This is exactly how proof by contradiction works.

    We assume:

    H exists.

    Using that assumption, we construct D.

    The assumed properties of H then imply:

    if H(D)=1, H(D) must equal 0

    and:

    if H(D)=0, H(D) must equal 1.

    The conclusion is not:

    D is an incorrect question.

    The conclusion is:

    no H satisfying the original assumption exists.

    Compare:

    Assume there exists an integer n such that n > n.

    We derive a contradiction.

    We do not conclude that "is n > n?" is an incorrect question.

    We conclude that the assumed n does not exist.

    Your "incorrect question" interpretation appears to preserve H by
    assigning the contradiction to D.

    But the diagonal proof was specifically constructed to test the assumption that H exists.

    So you cannot simply transfer the contradiction from that assumption to
    the input without independently proving that this transfer is valid.

    There is also an important point concerning Hehner.

    I read "Objective and Subjective Specifications".

    Hehner does not present the position you cite as an established refutation
    of the Halting Theorem.

    He explicitly presents two alternatives, which he calls Answer O and
    Answer S.

    Answer O is essentially the conventional position: halting is an objective specification and no program in any language can compute it for all
    programs.

    Answer S explores the alternative that the specification is subjective
    because of the relation between the language of the analyzed program and
    the language of the analyzer.

    Hehner explicitly says that Answer O has been almost unanimously accepted
    and that he FAVORS Answer S, giving what he himself calls a "weak reason".

    That is an interesting philosophical argument about self-referential specifications.

    It is not a theorem establishing that the standard Halting Theorem is
    false.

    More importantly, it does not establish the crucial claim made by your HHH argument:

    HHH(DD) = 0.

    So I think we now have something concrete enough that we can temporarily
    put Post, Prawitz, epistemology and even the general definition of
    computation aside.

    Your x86utm argument appears to depend on this implication:

    HHH simulates DD according to C operational semantics

    the simulation recursively reproduces HHH(DD)

    therefore DD does not halt

    therefore HHH(DD) = 0.

    I accept the first two statements for your implementation.

    I do not accept the implication to the third and fourth as establishing a general halt decision.

    At most, your mechanism recognizes a particular form of nontermination.

    And even more fundamentally, I reject the premise that an arbitrary hypothetical halt decider is required to determine termination by
    following the operational execution trace of its input.

    So here is what I think is now the most precise question I can ask:

    Why must EVERY possible halt decider determine HALT(P) by simulating the unique operational execution sequence of P?

    Not why YOUR HHH does so.

    Why must ANY possible total computable H do so?

    Because unless you can establish that implication, your x86utm experiment
    is a demonstration about HHH's chosen analysis method, not a refutation of
    the Halting Theorem.

    And if your answer is instead that your epistemological notion of semantic relevance REQUIRES H to follow that execution sequence, then we are back
    to the distinction we just clarified:

    you have imposed an additional requirement on what you are willing to call
    a justified decider.

    That cannot invalidate a theorem quantifying over the larger class of all computable deciders.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Sat Oct 17 14:19:39 2026
    From Newsgroup: comp.theory

    On 10/17/2026 9:05 AM, Python wrote:
    Peter,

    I think your latest reply reveals a very important change in the subject
    of the discussion.

    You wrote:

       Sheer accident provides zero basis for knowledge.
       My system's domain is general knowledge expressed
       as relations between finite strings.

    But I did not ask whether the accidental ROM provides a basis for
    KNOWLEDGE.

    I asked whether it COMPUTES the function.

    Those are different questions.

    Suppose the ROM happens to satisfy

       ROM[x,y] = (x+y) mod 256

    for every possible input.

    Then there are at least three separate questions:

       1. Does the device implement the addition mapping?

       2. Do we know that it implements the addition mapping?

       3. Can we prove that it implements the addition mapping?

    The answer to (1) can be yes while the answers to (2) and (3) are no.

    Indeed, that was precisely the purpose of the accidental-ROM example.

    You replied that accident provides no basis for knowledge.

    Agreed.

    But that answers (2), not (1).

    This also explains why I don't think the Prawitz reference establishes
    what you need.

    Proof-theoretic semantics is indeed concerned with explaining meaning in terms of proof, and Prawitz discusses the connection between knowing
    that a mathematical sentence is true and having a proof of it.

    But that is an epistemological/semantic claim about mathematical
    assertion and proof.

    It does not establish:

       computation = justified knowledge

    or:

       every computational transition = semantic inference.

    In fact, your latest formulation seems increasingly to describe a theory
    of justified inference rather than a theory of computation.

    There is another interesting development in your answer.

    Previously, you said that lookup does not itself perform the computation because the computation was "off-loaded."

    Now you say:

       All of your table lookups are stipulated.
       So my system remains correct and coherent.

    and:

       ROM is stipulated relations.

    I am happy to accept that for the sake of argument.

    But then any finite function can be represented as stipulated relations.

    For a finite domain

       A = {a1,...,an}

    and any function f, I can stipulate

       a1 -> f(a1)
       a2 -> f(a2)
       ...
       an -> f(an)

    and implement exactly those stipulated relations in a ROM.

    So the distinction between gate computation and ROM lookup has
    disappeared from your criterion.

    This also connects directly to actual computer hardware.

    The same finite Boolean function can be implemented as:

       gates
       PLA
       FPGA LUTs
       ROM

    and representations can be mechanically transformed between these forms.

    If ROM relations qualify because they are "stipulated", then there is no longer any reason to say that computation was performed elsewhere and
    merely stored in the ROM. The ROM itself implements the stipulated mapping.

    More importantly, however, your present definition appears to be:

       acceptable transformation =
           semantically entailed transformation
           OR
           stipulated transformation.

    That may define a formal system of justified transformations.

    But why should that be identified with COMPUTATION?

    Your Prawitz quotation may provide motivation for identifying
    mathematical knowledge with proof under a proof-theoretic conception of meaning.

    It does not provide the missing implication:

       computation
           =>
       knowledge
           =>
       proof
           =>
       semantic entailment or stipulation.

    And your final statement makes the problem especially clear:

       It seems to me that the only category of proof that
       I will be able to provide is self-evidence:
       proven true on the basis of meaning.

    I think this is exactly where we need to be extremely careful.

    If your crucial foundational claim is:

       Computation requires correct rather than
       arbitrary finite string transformations

    we need to distinguish two readings of "correct".

    Reading A:

       The machine actually produces the value specified
       by the function.

    Then the accidental ROM is correct, regardless of whether anybody knows
    or can prove that it is correct.

    Reading B:

       The transformation is justified as correct by
       semantic entailment or stipulation.

    Then you have changed "correct computation" into "justified computation".

    That is an epistemic notion.

    And the Halting Theorem is not a theorem about what we can justify as knowledge. It is a theorem about what Turing machines can compute.

    This distinction becomes especially important when you say:

       Undecidability ceases to exist within this new foundation.


    Let's boil this down to a simpler essence:

    What it the correct return value that a halt decider
    can provide for a program that does the opposite of
    whatever value it returns?
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Sun Oct 18 11:14:41 2026
    From Newsgroup: comp.theory

    Peter,

    What is the correct return value that a halt decider
    can provide for a program that does the opposite of
    whatever value it returns?

    Neither value.

    And that is exactly the proof of the Halting Theorem.

    Assume H is a correct total halt decider, and construct D so that:

    if H(D) says HALTS:
    D loops forever

    if H(D) says DOES NOT HALT:
    D halts

    Now ask H(D).

    If H(D) says HALTS, it is wrong.

    If H(D) says DOES NOT HALT, it is wrong.

    Therefore there is no value H can return while remaining a correct halt decider.

    But notice what follows logically.

    It is NOT:

    therefore D is an "incorrect question".

    It is:

    therefore the assumed correct total H does not exist.

    That is the reductio.

    We assumed:

    H exists and correctly decides every program.

    From that assumption we constructed D and derived:

    H(D) cannot be correct.

    Therefore the assumption is false.

    In symbols:

    Assume H exists.

    Construct D using H.

    H(D) = HALTS
    => D does not halt
    => H is wrong.

    H(D) = DOES_NOT_HALT
    => D halts
    => H is wrong.

    Therefore H cannot satisfy its assumed specification.

    That is precisely the Halting Theorem.

    Your question therefore does not expose a misconception in the proof.

    It reproduces the contradiction used by the proof.

    The only way to obtain a different conclusion is to explain why the contradiction should be attributed to the QUESTION rather than to the assumption that H exists.

    And that requires an independent argument.

    You cannot simply define:

    a question for which no correct answer can be
    returned by H is an "incorrect question"

    because the entire purpose of the diagonal construction is to prove that
    no such universally correct H exists.

    Doing that would transform:

    Assume H exists.
    Derive contradiction.
    Therefore H does not exist.

    into:

    Assume H exists.
    Derive contradiction.
    Therefore exclude the case producing the contradiction
    from H's domain.

    But that simply protects the original assumption by restricting its
    domain.

    And then H is no longer a halt decider for all programs.

    So to answer your simplified question as directly as possible:

    What correct value can H return for D?

    NONE.

    And the standard conclusion is:

    therefore a total correct H cannot exist.

    If your conclusion is instead:

    therefore D is outside H's domain,

    then you have conceded the standard result:

    H cannot decide halting for every program.

    You have simply given the undecidable case a different name.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Sun Oct 18 08:34:45 2026
    From Newsgroup: comp.theory

    On 10/18/2026 6:14 AM, Python wrote:
    Peter,

    What is the correct return value that a halt decider
    can provide for a program that does the opposite of
    whatever value it returns?

    Neither value.

    And that is exactly the proof of the Halting Theorem.


    Is the concept of [incorrect question] new? [sci.lang]
    On 1/31/2015 7:58 PM, Peter Olcott wrote:
    An [incorrect question] is defined as any question such that a correct answer does not exist from the set of all possible answers.


    What time is it (yes or no)?
    What is the color of your car in feet and inches?

    Can Carol correctly answer “no” to this (yes/no) question? (Hehner:2018:2) When we understand that the linguistic context of who is asked the
    question is an aspect of the full meaning of this question then we have
    a (yes/no) question that is defined to have no correct (yes/no) answer.

    When anyone else besides Carol is asked this question the linguistic
    context changes making it a different question. This seems isomorphic to
    the above halting problem proof question.
    Assume H is a correct total halt decider, and construct D so that:

       if H(D) says HALTS:
           D loops forever

       if H(D) says DOES NOT HALT:
           D halts

    Now ask H(D).


    Another problem is the mutual exclusivity between
    the caller of a function and its actual input.

    Another problem is the mutual exclusivity between
    an executing process and a static finite string input.

    If H(D) says HALTS, it is wrong.

    If H(D) says DOES NOT HALT, it is wrong.

    Therefore there is no value H can return while remaining a correct halt decider.

    But notice what follows logically.

    It is NOT:

       therefore D is an "incorrect question".

    It is:

       therefore the assumed correct total H does not exist.

    That is the reductio.

    We assumed:

       H exists and correctly decides every program.

    From that assumption we constructed D and derived:

       H(D) cannot be correct.

    Therefore the assumption is false.

    In symbols:

       Assume H exists.

       Construct D using H.

       H(D) = HALTS
           => D does not halt
           => H is wrong.

       H(D) = DOES_NOT_HALT
           => D halts
           => H is wrong.

       Therefore H cannot satisfy its assumed specification.

    That is precisely the Halting Theorem.

    Your question therefore does not expose a misconception in the proof.

    It reproduces the contradiction used by the proof.

    The only way to obtain a different conclusion is to explain why the contradiction should be attributed to the QUESTION rather than to the assumption that H exists.

    And that requires an independent argument.

    You cannot simply define:

       a question for which no correct answer can be
       returned by H is an "incorrect question"

    because the entire purpose of the diagonal construction is to prove that
    no such universally correct H exists.

    Doing that would transform:

       Assume H exists.
       Derive contradiction.
       Therefore H does not exist.

    into:

       Assume H exists.
       Derive contradiction.
       Therefore exclude the case producing the contradiction
       from H's domain.

    But that simply protects the original assumption by restricting its domain.

    And then H is no longer a halt decider for all programs.

    So to answer your simplified question as directly as possible:

       What correct value can H return for D?

       NONE.

    And the standard conclusion is:

       therefore a total correct H cannot exist.

    If your conclusion is instead:

       therefore D is outside H's domain,

    then you have conceded the standard result:

       H cannot decide halting for every program.

    You have simply given the undecidable case a different name.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Sun Oct 18 10:26:18 2026
    From Newsgroup: comp.theory

    On 10/17/2026 12:56 PM, Python wrote:
    Peter,

    I followed the x86utm link and read the README, and I think this finally gives us a very precise technical point to examine.

    Your README says:

       The key mistake of the halting problem proofs is that they
       require a halt decider to report on the behavior of something
       other than the behavior specified by its finite string input.

    and Axiom 2 says:

       The only correct finite string transformation rules that HHH
       is allowed to apply to its finite string input DD is specified
       by the operational semantics of the C programming language.
       This requires DD to be simulated by HHH according to these rules.

    I think the second statement is exactly where your argument departs from
    the Halting Theorem.

    A hypothetical halt decider is NOT required to determine termination by simulating its input.


    A halt decider is required to derive its result through
    the application of finite string transformations to its
    finite string input. The halting theorem totally ignores
    this.

    A halt decider is also implicitly required to limit these
    finite string transformations to those relevant to determining
    the halting property specified by this finite string input.
    The halting theorem totally ignores this.

    The halting theorem is framed as the impossibility of
    a halt decider returning a correct value to its caller
    that is not even its input.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Sun Oct 18 14:33:44 2026
    From Newsgroup: comp.theory

    On 10/17/2026 11:37 AM, Python wrote:
    Peter,

    I think we have now achieved an important clarification, and I want to preserve it rather than continue arguing past it.

    I wrote:

       Then you have changed "correct computation"
       into "justified computation".

       That is an epistemic notion.

    and you answered:

       Yes. That is a correct clarification.

    Good.

    You have also now accepted that the ROM itself implements its stipulated mapping. So I think our hardware disagreement is essentially resolved.

    The remaining issue is much narrower.

    You write:

       Deciders must apply finite string transformations that are
       semantically relevant to the decision criteria.

    The halting theorem never bothered to specify this
    necessary limitation.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory on Mon Oct 19 11:18:53 2026
    From Newsgroup: comp.theory

    On 16/10/2026 16:28, olcott wrote:
    On 10/16/2026 3:27 AM, Mikko wrote:
    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If >>>>>>>>>>> so, so what?

    it is solvable for an enumerable set of machines that includes >>>>>>>>>> all possible output sequences, it is not solvable for all >>>>>>>>>> possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or >>>>>>>> "main()".
    The halting problem asks "How can one determine whether a
    computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given >>>>>> the description of a Turing machine M and an input w, does M, when >>>>>> started in the initial configuration qow, perform a computation that >>>>>> eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal >>>>>> definition of the solution of the halting problem, which Linz defines >>>>>> as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant
    to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that
    what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in particular
    how Linz defines it. As long as you don't understand or can't express
    that there is no point to go further.

    Axiom 1
    --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of
    finite string transformation rules to finite string
    inputs to derive any and all outputs.

    Meaningless without a definition of "computation".

    Axiom 2
    Computation requires correct rather than
    arbitrary finite string transformations.

    Meaningless without a definitions of "require" and "correct".
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Mon Oct 19 10:32:01 2026
    From Newsgroup: comp.theory

    I think your three recent replies now identify the exact point on which we disagree.

    You say:

    A halt decider is required to derive its result through
    the application of finite string transformations to its
    finite string input. The halting theorem totally ignores
    this.

    and:

    A halt decider is also implicitly required to limit these
    finite string transformations to those relevant to determining
    the halting property specified by this finite string input.
    The halting theorem totally ignores this.

    and:

    The halting theorem is framed as the impossibility of
    a halt decider returning a correct value to its caller
    that is not even its input.

    I don't think the Halting Theorem ignores any of these issues.

    I think you are conflating three different things:

    1. the finite representation of a program P,

    2. the computation denoted by that representation,

    3. the context in which that computation is executed.

    These are related, but they are not identical.

    Consider an ordinary static analyzer A.

    I can give A the finite source code:

    int f() {
    return 17;
    }

    The INPUT to A is a finite string representing f.

    What A is asked to determine is a property of the computation denoted by
    that finite string.

    There is no contradiction here between:

    static finite string input

    and:

    executing process.

    The finite string REPRESENTS the program whose possible execution we are reasoning about.

    That distinction is fundamental to essentially all program analysis.

    Likewise, there is no "mutual exclusivity" between a program being the
    caller of a function during one execution and a representation of that
    same program being the input data of that function.

    For example:

    char *my_source = ...;

    analyze(my_source);

    The running program is the caller of analyze(), while a representation of
    that program can simultaneously be data supplied to analyze().

    More abstractly, programs can manipulate representations of programs.

    That is not an anomaly introduced by the Halting Theorem.

    It is one of the fundamental facts of computability theory.

    Compilers do it.
    Interpreters do it.
    Debuggers do it.
    Static analyzers do it.
    Theorem provers do it.
    Universal machines do it.

    So when D calls:

    H(<D>)

    the input to H is not "the caller".

    The input is:

    <D>

    a finite representation of D.

    The fact that D happens also to be the program executing the call does not make <D> cease to be H's input.

    This also addresses your comparison with:

    What time is it (yes or no)?

    and:

    What is the color of your car in feet and inches?

    Those questions are malformed independently of any hypothetical answerer.

    The requested answer type does not correspond to the property being asked
    for.

    But:

    Does program D halt?

    is perfectly well typed.

    Its answer space is exactly:

    HALTS
    DOES_NOT_HALT.

    There is nothing analogous to asking for a color in feet and inches.

    The difficulty appears only after we assume the existence of a particular universal H and construct D using that assumed H.

    That difference is crucial.

    Before assuming H:

    "Does D halt?"

    is not even available in this particular form because D is constructed
    from H.

    Assume H exists.

    Then construct D:

    D():
    if H(<D>) == HALTS:
    loop forever
    else:
    halt

    Now ask H(<D>).

    If H says HALTS, D does not halt.

    If H says DOES_NOT_HALT, D halts.

    You call this an "incorrect question".

    But the contradiction did not exist before the assumption that H exists.

    It was DERIVED FROM that assumption.

    That is exactly what a reductio ad absurdum is supposed to do.

    Your analogy would need to have this structure:

    Assume object X exists and satisfies specification S.

    Using X, construct Y.

    S applied to Y implies both a proposition and its negation.

    The ordinary logical conclusion is:

    no X satisfying S exists.

    It is not:

    Y was an incorrect question.

    The latter conclusion would require an additional independent reason why Y
    is outside S's domain.

    But in the Halting Theorem, the assumed specification of H explicitly says that its domain contains every program representation.

    So excluding <D> changes the assumed specification.

    This becomes even clearer in your statement:

    The halting theorem is framed as the impossibility of
    a halt decider returning a correct value to its caller
    that is not even its input.

    No.

    H is not required to determine a property of its caller.

    It is required to determine a property of its INPUT:

    <D>.

    The property is:

    does the computation represented by <D> terminate?

    That D happens to be the caller in the diagonal construction is part of
    the construction, not a substitution of caller for input.

    Now to your finite-string-transformation requirement.

    You say:

    A halt decider is required to derive its result through
    the application of finite string transformations to its
    finite string input.

    Fine.

    For the sake of argument, I can accept that description.

    Suppose H is implemented entirely by finite string transformations.

    Then H itself is an effective procedure.

    The Halting Theorem applies to it.

    The proof does not need to know WHICH finite string transformations H performs.

    It quantifies over all possible effective H.

    This is an important point:

    abstraction from the internal algorithm

    does not mean:

    ignoring computation.

    For example, if I prove that no sorting algorithm can satisfy some
    impossible specification, I do not need to enumerate every comparison performed by every possible sorting algorithm.

    Likewise the Halting Theorem says:

    Assume ANY effective H satisfying the HALT specification exists.

    It deliberately leaves H's internal method unrestricted.

    You then add:

    A halt decider is also implicitly required to limit these
    finite string transformations to those relevant to determining
    the halting property specified by this finite string input.

    Again, let us accept that additional condition.

    Call the set of all total correct halt deciders:

    H

    and the subset using only your semantically relevant transformations:

    R.

    Then:

    R subseteq H.

    The diagonal proof establishes:

    H = empty set.

    Therefore:

    R = empty set.

    Adding semantic relevance cannot help.

    It restricts the candidate deciders further.

    There is also a separate problem with "semantically relevant".

    Relevance is not correctness.

    A transformation can be completely relevant to termination without being sufficient to determine termination.

    For example, an analyzer might inspect:

    loops,
    branches,
    recursion,
    control flow,
    reachable states.

    All of those are semantically relevant to termination.

    That does not imply that the analyzer decides termination for every
    possible program.

    So if your requirement is merely:

    semantically relevant transformations,

    it does not establish correctness.

    If your requirement is instead:

    transformations that semantically entail
    the correct halt status,

    then the difficult part of HALT has simply been inserted into the
    requirement.

    You would then need to show that such a finite derivation exists for every
    P.

    That is precisely what is in dispute.

    There is one more point where I think your x86utm argument makes the distinction particularly visible.

    You say that DD has:

    only a single unique sequence.

    Suppose that is true.

    It does not follow that HHH must discover the termination property by reproducing that sequence.

    These are different functions:

    execute(P)

    and:

    determine_whether_execute(P)_terminates.

    For some P we can determine the second without completing the first.

    For example:

    P:
    while (1) {}

    A static analyzer can prove that P loops without waiting forever for P to execute.

    So the fact that DD has one operational execution sequence places no requirement on HHH to have the same computational sequence.

    If your Axiom 2 specifically requires HHH to simulate that execution
    sequence, then your Axiom 2 restricts HHH to a particular analysis methodology.

    That is your new theory.

    It is not a missing assumption in the Halting Theorem.

    Finally, consider the Hehner/Carol question:

    Can Carol correctly answer "no" to this (yes/no) question?

    I agree that self-reference can create interesting semantic pathologies.

    But merely observing an analogy does not establish that the diagonal HALT construction has the same semantic status.

    There is a crucial formal difference.

    The Halting Theorem is a conditional argument about the existence of H:

    IF total correct H exists,

    THEN D can be constructed,

    THEN H fails on <D>,

    THEREFORE total correct H does not exist.

    You are instead reading the middle contradiction as:

    THEREFORE <D> is an incorrect question.

    But that conclusion preserves the original assumption by removing its counterexample from the domain.

    That is exactly the step that needs justification.

    Otherwise any universal claim could be protected from contradiction in the same way:

    Assume X works for every input.

    Produce input Y on which X cannot satisfy its specification.

    Declare Y an "incorrect input".

    Therefore X still works for every correct input.

    That is not a refutation of the counterexample.

    It is a redefinition of the domain.

    So I think we have reduced the disagreement to one very precise logical question.

    Given:

    Assume H is total and correct for EVERY program representation.

    and given that the diagonal construction produces <D> such that no answer
    from H can satisfy that assumption, why should we conclude:

    <D> is an incorrect question

    rather than the ordinary reductio conclusion:

    the assumed H does not exist?

    Your examples establish that malformed questions can exist.

    I agree.

    What they do not establish is that the diagonal question is malformed independently of the assumption whose impossibility the diagonal argument
    is designed to prove.

    That is the missing step.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Mon Oct 19 09:01:58 2026
    From Newsgroup: comp.theory

    On 10/19/2026 5:32 AM, Python wrote:
    I think your three recent replies now identify the exact point on which
    we disagree.

    You say:

       A halt decider is required to derive its result through
       the application of finite string transformations to its
       finite string input. The halting theorem totally ignores
       this.

    and:

       A halt decider is also implicitly required to limit these
       finite string transformations to those relevant to determining
       the halting property specified by this finite string input.
       The halting theorem totally ignores this.

    and:

       The halting theorem is framed as the impossibility of
       a halt decider returning a correct value to its caller
       that is not even its input.

    I don't think the Halting Theorem ignores any of these issues.


    I have proven that it does and you have not pay quite enough
    attention to how all of the steps of my proof are truisms
    and derive the end result.

    The halting theorem essentially only says that it is impossible
    for any halt decider to return the halt status of its caller
    that does that opposite of whatever it returns.

    This by itself totally ignores the definition of computation
    that requires the application of finite string transformations
    to finite string inputs.

    int main()
    {
    DD(); // is neither the input to HHH nor a finite static string
    }
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Mon Oct 19 14:05:30 2026
    From Newsgroup: comp.theory

    Peter,

    I think your latest example makes the disagreement extremely precise:

    int main()
    {
    DD(); // is neither the input to HHH nor a finite static string
    }

    I completely agree with the comment.

    DD() executing in main is NOT the input to HHH.

    But the Halting Theorem does not require it to be.

    The input to HHH is a finite DESCRIPTION of DD.

    Let me write that explicitly as:

    <DD>

    Then the hypothetical decider is invoked as:

    HHH(<DD>)

    and its specification is:

    HHH(<DD>) = 1 iff the computation described by <DD> halts
    HHH(<DD>) = 0 iff the computation described by <DD> does not halt.

    So there are two different objects here:

    DD the program/computation

    <DD> a finite string encoding that program

    You appear to be treating the proof as though it claims:

    the executing DD is itself the finite-string input to HHH.

    It does not.

    HHH receives <DD>.

    This is not a minor technicality. The distinction between an object and a finite representation of that object is fundamental to the theorem.

    In fact, we can delete main() entirely.

    It plays no role.

    Assume that HHH is a total computable function operating on finite program descriptions:

    HHH(<P>)

    and returning the correct halt status of P.

    Now construct the finite program DD:

    DD():
    if HHH(<DD>) == 1:
    loop forever
    else:
    halt

    DD itself has a finite description:

    <DD>.

    Therefore <DD> is a perfectly valid finite-string input to HHH under the assumed specification of HHH.

    Now evaluate:

    HHH(<DD>).

    There are two possibilities.

    If:

    HHH(<DD>) = 1

    then, by HHH's specification, DD halts.

    But by DD's definition, DD loops.

    So HHH is wrong.

    If:

    HHH(<DD>) = 0

    then, by HHH's specification, DD does not halt.

    But by DD's definition, DD halts.

    So HHH is wrong.

    At no point was the dynamic call:

    DD();

    passed to HHH.

    At no point was an executing process used as HHH's finite-string input.

    The input was <DD> throughout.

    This is exactly compatible with your requirement:

    computation requires the application of finite string
    transformations to finite string inputs.

    Fine.

    <DD> is a finite string.

    HHH is assumed to apply whatever finite-string transformations its
    algorithm specifies to <DD>.

    The diagonal proof does not need to know what those transformations are.

    It only assumes that after finitely many such transformations HHH returns
    the correct answer for every valid program description.

    So I think your statement:

    The halting theorem essentially only says that it is impossible
    for any halt decider to return the halt status of its caller

    is not an accurate description of the theorem.

    The theorem says that no total computable HHH can correctly map EVERY
    finite program description <P> to the halt status of the computation
    denoted by <P>.

    DD is constructed so that its own finite description <DD> is one such
    input.

    The fact that DD contains a call to HHH does not turn DD itself into HHH's input.

    Its DESCRIPTION is the input.

    This is completely ordinary in computing.

    A compiler receives:

    <program>

    not the running program.

    An interpreter receives:

    <program>

    not the running program.

    A static analyzer receives:

    <program>

    not the running program.

    A universal Turing machine receives:

    <machine>

    not the physical execution of that machine.

    Yet all of them compute properties or behavior from finite representations
    of programs.

    So your observation:

    DD() is neither the input to HHH nor a finite static string

    is correct.

    But nobody needs DD() to be either of those things.

    The relevant statement is:

    <DD> IS a finite static string
    and <DD> IS the input to HHH.

    If you disagree with that, then I think we have finally isolated the exact issue.

    Which of these statements do you reject?

    1. DD has a finite description <DD>.

    2. <DD> can be supplied as input to HHH.

    3. HHH, by hypothesis, returns the halt status of the
    computation denoted by its finite input description.

    4. DD's behavior can depend on the value returned by
    HHH(<DD>).

    Because those four statements are sufficient for the diagonal
    contradiction.

    There is no additional requirement that HHH somehow receive its
    dynamically executing caller as input.

    And there is an even simpler way to see this.

    Replace DD with an arbitrary program P that never calls HHH:

    P():
    halt

    HHH receives <P>, not P's running process, and is asked whether P halts.

    Surely you agree that this is a legitimate use of a halt decider.

    The diagonal construction changes only one thing: we choose a particular P whose behavior depends on HHH(<P>).

    That dependency makes the assumed universal specification of HHH contradictory.

    It does not change <P> from a finite string into an executing process.

    So I think the next step should be very concrete:

    Please identify which of statements 1-4 above is false.

    If all four are true, then your finite-string requirement is fully
    satisfied and the standard diagonal argument goes through.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,comp.ai.philosophy,sci.math on Mon Oct 19 09:19:17 2026
    From Newsgroup: comp.theory

    On 10/19/2026 5:32 AM, Python wrote:

    I think you are conflating three different things:

       1. the finite representation of a program P,


    The terminology is conventional and incorrect.
    It never has had the indirect reference that
    "representation of a program" has lead people
    to believe.

    (1) The term "description" is too vague. It never
    has been any mere description it has always be a
    100% completely specified sequence of steps.

    (2) It never has has any indirect reference to any
    program that exists somewhere else. It has always
    been a completely self-contained exact sequence of steps.

       2. the computation denoted by that representation,


    A self-contained 100% completely specified sequence of steps.

       3. the context in which that computation is executed.


    It an inherently aspect of this
    100% completely specified sequence of steps.

    These are related, but they are not identical.

    Consider an ordinary static analyzer A.

    I can give A the finite source code:

       int f() {
           return 17;
       }

    The INPUT to A is a finite string representing f.

    What A is asked to determine is a property of the computation denoted by that finite string.

    There is no contradiction here between:

       static finite string input

    and:

       executing process.


    You example fits my corrections to the actual meaning
    of the conventional terms.

    The finite string REPRESENTS the program whose possible execution we are reasoning about.


    The only case where the nuances of meaning that I
    separately distinguish make an actual functional
    difference is the case of pathological self-reference
    where an input finite string calls its own decider.
    In the other cases slightly incorrect definitions
    have no effect on the functional end results.

    That distinction is fundamental to essentially all program analysis.

    Likewise, there is no "mutual exclusivity" between a program being the caller of a function during one execution and a representation of that
    same program being the input data of that function.


    // DD has empirically provably different execution traces
    int main()
    {
    DD(); // This DD reaches its own final halt state
    HHH(DD); // This DD cannot possibly reach its own final halt state
    }
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Mon Oct 19 09:31:25 2026
    From Newsgroup: comp.theory

    On 10/19/2026 5:32 AM, Python wrote:


    Assume H exists.

    Then construct D:

       D():
           if H(<D>) == HALTS:
               loop forever
           else:
               halt

    Now ask H(<D>).

    If H says HALTS, D does not halt.

    If H says DOES_NOT_HALT, D halts.

    You call this an "incorrect question".


    As I first published here back in 2004:
    On 6/23/2004 9:34 PM, Olcott wrote: [comp.theory, sci.logic]

    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;

    Does this program Halt?

    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)

    Please ONLY PROVIDE CORRECT ANSWERS!

    When both of your own answers are wrong this proves
    that I am correct. This is my work from 22 years ago.

    Is the concept of [incorrect question] new? [sci.lang]
    On 1/31/2015 7:58 PM, Peter Olcott wrote:
    An [incorrect question] is defined as any question such that
    a correct answer does not exist from the set of all possible
    answers.

    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Mon Oct 19 09:34:55 2026
    From Newsgroup: comp.theory

    On 10/19/2026 9:05 AM, Python wrote:
    Peter,

    I think your latest example makes the disagreement extremely precise:

       int main()
       {
          DD(); // is neither the input to HHH nor a finite static string
       }

    I completely agree with the comment.

    DD() executing in main is NOT the input to HHH.

    But the Halting Theorem does not require it to be.


    DD cannot possibly do the opposite of whatever HHH
    returns to it when DD is not the caller of HHH.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Mon Oct 19 15:35:30 2026
    From Newsgroup: comp.theory

    Peter,

    When both of your own answers are wrong this proves
    that I am correct.

    No. It proves exactly the Halting Theorem.

    You are overlooking what your program depends on.

    Your 2004 example says:

    if YOU say HALTS:
    loop
    else:
    halt

    So there is no answer that can be both:

    1. supplied to the program, and
    2. a correct prediction of the resulting behavior.

    Agreed.

    But that does not prove that halting is an "incorrect question".

    It proves that no predictor can correctly answer that question while its answer is then used to force the opposite outcome.

    That is exactly the diagonal argument.

    The logical structure is:

    Assume a universally correct H exists.

    Construct D to contradict H's answer.

    Every possible answer from H is wrong.

    Therefore:

    universally correct H does not exist.

    You instead conclude:

    therefore the question is incorrect.

    But that simply moves the contradiction from H's claimed universality into
    a newly excluded class of questions.

    Then H no longer decides every program.

    Your "incorrect question" is therefore not a refutation of undecidability.

    It is a name for the case where your proposed decider cannot provide a
    correct answer.

    And regarding your other reply:

    DD(); // halts
    HHH(DD); // analyzed DD does not halt

    if those really have different execution traces, then you are comparing different completely specified computations.

    You cannot simultaneously say:

    context is inherently part of the completely specified sequence

    and:

    these two different contexts are the same computation.

    So the issue remains very simple:

    If H must correctly decide EVERY completely specified
    finite computation, diagonalization defeats H.

    If you exclude the diagonal computation as an
    "incorrect question", H does not decide every such computation.

    Calling the counterexample "pathological" or "incorrect" does not make it disappear from the domain of the standard Halting Problem.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Mon Oct 19 10:53:11 2026
    From Newsgroup: comp.theory

    On 10/19/2026 10:35 AM, Python wrote:
    Peter,

    When both of your own answers are wrong this proves
    that I am correct.

    No. It proves exactly the Halting Theorem.


    There is never any exceptions to the rule that
    when-so-ever both answers to a yes/no question
    are incorrect then this an incorrect polar question.

    There is no rational rebuttal to this.
    Irrational rebuttals DO NOT COUNT.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic,sci.math,comp.ai.philosophy on Mon Oct 19 10:56:57 2026
    From Newsgroup: comp.theory

    On 10/19/2026 10:35 AM, Python wrote:
    Peter,

    When both of your own answers are wrong this proves
    that I am correct.

    No. It proves exactly the Halting Theorem.

    You are overlooking what your program depends on.

    Your 2004 example says:

       if YOU say HALTS:
           loop
       else:
           halt

    So there is no answer that can be both:

       1. supplied to the program, and
       2. a correct prediction of the resulting behavior.

    Agreed.

    But that does not prove that halting is an "incorrect question".


    On 6/23/2004 9:34 PM, Peter Olcott wrote:

    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;

    Does this program Halt?

    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)

    Please ONLY PROVIDE CORRECT ANSWERS!

    I asked you for your answer and YOU failed.

    This is NOT a fundamental limit to human reasoning
    it is merely an incorrect POLAR question.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Mon Oct 19 16:12:51 2026
    From Newsgroup: comp.theory

    Peter,

    I asked you for your answer and YOU failed.

    No. You failed to distinguish a prediction from an input that changes what
    is being predicted.

    Your 2004 question says explicitly:

    Your YES or NO answer is translated to Boolean
    as the function's input parameter.

    So:

    answer YES -> you run LoopIfYouSayItHalts(TRUE)

    and:

    answer NO -> you run LoopIfYouSayItHalts(FALSE).

    Those are two different inputs and therefore two different computations.

    Their halt statuses are perfectly well defined:

    LoopIfYouSayItHalts(TRUE) -> does not halt

    LoopIfYouSayItHalts(FALSE) -> halts

    There is no mysterious third halt status and no failure of human
    reasoning.

    What is impossible is to choose a Boolean value b satisfying:

    b = HALT(LoopIfYouSayItHalts(b)).

    Your program was deliberately defined so that:

    HALT(LoopIfYouSayItHalts(b)) = NOT b.

    Therefore you are asking for:

    b = NOT b.

    There is no Boolean solution.

    That is not a discovery that HALT has become an "incorrect polar
    question".

    It is a demonstration that the demanded self-consistent predictor value
    does not exist.

    And that is precisely what diagonalization establishes about a
    hypothetical universal halt decider.

    So when I answered:

    neither value

    I did not fail your test.

    That IS the mathematically correct answer to the meta-question you
    actually constructed:

    "Which Boolean value is equal to its own negation?"

    None.

    The failure is in your inference:

    no fixed point exists
    therefore the underlying halting question is malformed.

    No.

    For each actual input, the halting question has a perfectly definite
    answer:

    TRUE -> DOES NOT HALT
    FALSE -> HALTS.

    What does not exist is the self-consistent prediction you demand.

    And in the Halting Theorem, that is exactly why the assumed universal predictor cannot exist.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory on Mon Oct 19 12:32:00 2026
    From Newsgroup: comp.theory

    On 10/19/2026 11:12 AM, Python wrote:
    Peter,

    I asked you for your answer and YOU failed.

    No. You failed to distinguish a prediction from an input that changes
    what is being predicted.

    Your 2004 question says explicitly:

       Your YES or NO answer is translated to Boolean
       as the function's input parameter.

    So:

       answer YES -> you run LoopIfYouSayItHalts(TRUE)

    and:

       answer NO  -> you run LoopIfYouSayItHalts(FALSE).

    Those are two different inputs and therefore two different computations.


    On 6/23/2004 9:34 PM, Peter Olcott wrote:

    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;

    Does this program Halt?

    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)

    Please ONLY PROVIDE CORRECT ANSWERS!

    Bullshit deflection.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Mon Oct 19 17:35:47 2026
    From Newsgroup: comp.theory

    Peter,

    Calling it "bullshit deflection" is not a rebuttal.

    This follows directly from YOUR specification:

    Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input parameter.

    Therefore:

    YES -> LoopIfYouSayItHalts(TRUE)
    NO -> LoopIfYouSayItHalts(FALSE)

    And your own code gives:

    LoopIfYouSayItHalts(TRUE) -> loops forever
    LoopIfYouSayItHalts(FALSE) -> returns

    Therefore:

    HALT(LoopIfYouSayItHalts(TRUE)) = FALSE
    HALT(LoopIfYouSayItHalts(FALSE)) = TRUE

    Equivalently:

    HALT(LoopIfYouSayItHalts(b)) = NOT b

    You demand that the answer b also correctly predict that result, so you require:

    b = NOT b

    There is no Boolean b satisfying that equation.

    This is not deflection. It is a direct evaluation of the code you posted.

    So please identify exactly which line above is false.

    If none is false, then your example demonstrates the absence of the
    required fixed point, not an error in my answer.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory on Mon Oct 19 12:41:33 2026
    From Newsgroup: comp.theory

    On 10/19/2026 11:12 AM, Python wrote:
    Peter,

    I asked you for your answer and YOU failed.

    No. You failed to distinguish a prediction from an input that changes
    what is being predicted.

    On 6/23/2004 9:34 PM, Peter Olcott wrote:

    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;

    Does this program Halt?

    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)

    Please ONLY PROVIDE CORRECT ANSWERS!

    (a) YES // wrong answer

    (b) NO // wrong answer

    (c) Anything else including commentary and verbal
    analysis: Type mismatch error, not Boolean.

    Multiple choice questions do not tolerate anything
    because one of the choices. Anything and everything
    else is WRONG ANSWER.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Mon Oct 19 21:56:27 2026
    From Newsgroup: comp.theory

    Peter,

    No. This is now simply a logical error on your part.

    You define the rules as follows:

    YES is used as TRUE input.
    NO is used as FALSE input.

    Your program then computes:

    TRUE -> loops
    FALSE -> halts

    Therefore:

    answer YES -> YES is false
    answer NO -> NO is false

    In Boolean notation, you are demanding a value b such that:

    b = NOT b.

    There is no such Boolean value.

    Your response is now:

    (a) YES is wrong
    (b) NO is wrong
    (c) explaining that neither can be correct is also wrong,
    because only YES or NO is permitted.

    That does not prove that the person answering has failed.

    It proves that YOU specified a multiple-choice problem having no correct choice.

    Saying:

    "You must choose A or B"

    does not logically imply:

    "Either A or B must be correct."

    For example:

    Which integer satisfies x = x + 1?

    (a) 0
    (b) 1

    If I answer:

    neither

    you cannot refute me by saying:

    TYPE MISMATCH! Only 0 or 1 was allowed!

    Neither allowed answer satisfies the specification.

    That is a defect in the demanded specification, not a failure of
    arithmetic.

    And this is exactly where your argument against the Halting Theorem
    collapses.

    The diagonal proof deliberately derives an unsatisfiable requirement from
    the assumption:

    a total universally correct halt decider H exists.

    The logical conclusion is:

    no such H exists.

    You instead impose the rule:

    H MUST answer YES or NO,
    neither answer can be correct,
    explanations are forbidden,
    therefore the QUESTION is incorrect.

    But the requirement that H must always return YES or NO is part of the ASSUMPTION BEING REFUTED.

    You cannot use that assumption as a rule forbidding us from stating the conclusion of the reductio.

    That is circular.

    Your 2004 puzzle does not refute diagonalization.

    It illustrates diagonalization almost perfectly.

    You construct a Boolean function with:

    f(b) = NOT b

    and then demand a fixed point:

    b = f(b).

    There isn't one.

    Calling "no fixed point exists" a type mismatch does not produce a fixed point.

    And declaring the explanation an inadmissible multiple-choice answer does
    not change the mathematics.

    So yes:

    YES is wrong.
    NO is wrong.

    That is not my failure.

    THAT IS THE CONTRADICTION.

    And in the Halting Theorem, that contradiction is exactly what proves that
    the universally correct binary decider you assumed cannot exist.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory on Mon Oct 19 18:07:05 2026
    From Newsgroup: comp.theory

    On 10/19/2026 4:56 PM, Python wrote:
    Peter,

    No. This is now simply a logical error on your part.

    You define the rules as follows:

       YES is used as TRUE input.
       NO  is used as FALSE input.


    And both are the wrong answer and you simply
    stonewall this absurdly obvious analysis.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory on Mon Oct 19 18:44:02 2026
    From Newsgroup: comp.theory

    On 10/19/2026 4:56 PM, Python wrote:
    Peter,

    No. This is now simply a logical error on your part.

    You define the rules as follows:

       YES is used as TRUE input.
       NO  is used as FALSE input.

    Your program then computes:

       TRUE  -> loops
       FALSE -> halts

    Therefore:

       answer YES  -> YES is false
       answer NO   -> NO is false

    In Boolean notation, you are demanding a value b such that:

       b = NOT b.

    There is no such Boolean value.

    Your response is now:

       (a) YES is wrong
       (b) NO is wrong
       (c) explaining that neither can be correct is also wrong,
           because only YES or NO is permitted.

    That does not prove that the person answering has failed.

    It proves that YOU specified a multiple-choice problem having no correct choice.

    Saying:

       "You must choose A or B"

    does not logically imply:

       "Either A or B must be correct."

    For example:

       Which integer satisfies x = x + 1?

       (a) 0
       (b) 1

    If I answer:

       neither

    you cannot refute me by saying:

       TYPE MISMATCH! Only 0 or 1 was allowed!

    Neither allowed answer satisfies the specification.

    WST Workshop on Termination, Oxford, 2018
    Objective and Subjective Specifications
    Eric C.R. Hehner
    Department of Computer Science, University of Toronto https://www.cs.toronto.edu/~hehner/OSS.pdf

    Halting misconceived?
    Bill Stoddart // PhD computer science professor
    August 25, 2017

    https://www.complang.tuwien.ac.at/anton/euroforth/ef17/papers/stoddart.pdf
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory on Tue Oct 20 10:23:16 2026
    From Newsgroup: comp.theory

    On 19/10/2026 17:34, olcott wrote:
    On 10/19/2026 9:05 AM, Python wrote:
    Peter,

    I think your latest example makes the disagreement extremely precise:

        int main()
        {
           DD(); // is neither the input to HHH nor a finite static string >>     }

    I completely agree with the comment.

    DD() executing in main is NOT the input to HHH.

    But the Halting Theorem does not require it to be.


    DD cannot possibly do the opposite of whatever HHH
    returns to it when DD is not the caller of HHH.
    What purpose would a DD that does not call HHH serve?
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Tue Oct 20 08:20:21 2026
    From Newsgroup: comp.theory

    Peter,

    And both are the wrong answer

    Yes.

    That is exactly what I just said.

    You are not rebutting my argument. You are repeating its central premise.

    YES is wrong.
    NO is wrong.

    Agreed.

    Now comes the part you keep avoiding:

    WHY are both wrong?

    Because your specification requires a Boolean b satisfying:

    b = NOT b.

    No such Boolean exists.

    You conclude:

    therefore the question is incorrect.

    The diagonal argument concludes:

    therefore the assumed universally correct
    Boolean decider does not exist.

    Repeating "BOTH ANSWERS ARE WRONG" in increasingly emphatic language does
    not decide between those conclusions.

    That is the very fact whose logical consequence is under dispute.

    So stop telling me that both answers are wrong.

    I already agree.

    Show the missing inference:

    no b satisfies b = NOT b

    THEREFORE

    the question must be excluded

    rather than:

    the assumed universally correct decider cannot exist.

    That is the step you need to prove.

    Until you do, you are not refuting the Halting Theorem.

    You are repeatedly announcing its contradiction and refusing its
    conclusion.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Tue Oct 20 08:21:47 2026
    From Newsgroup: comp.theory

    Peter,

    I have now read both references.

    They are relevant, but citing them does not answer my argument.

    Stoddart explicitly says that the dissenting view AGREES that the halting function as specified cannot be implemented, but attributes this to an inconsistent specification.

    That is precisely the issue we are discussing.

    So we agree on the mathematics:

    YES is wrong.
    NO is wrong.

    Equivalently:

    b = NOT b

    has no Boolean solution.

    The dispute is ONLY about what follows from that contradiction.

    The standard diagonal argument says:

    the assumed total universally correct H cannot exist.

    You, Hehner, and Stoddart propose instead to blame the
    specification/question.

    Fine. That is a position.

    But citing two people who advocate that interpretation is not a proof of
    that interpretation.

    In fact, Hehner himself explicitly acknowledges that his position
    contradicts the universally accepted one and asks readers to identify
    where his argument goes wrong.

    So we are back to the exact question you keep avoiding:

    WHY does

    no Boolean b satisfies b = NOT b

    entail

    the diagonal question must be rejected

    rather than

    the assumed universal H cannot exist?

    Stoddart and Hehner do not make that logical burden disappear.

    They are references for your position, not proofs that my objection is
    false.

    And notice something important:

    Nobody here is disputing the contradiction anymore.

    You, I, Hehner and Stoddart all reach it.

    The entire dispute is about which assumption the contradiction refutes.

    So authority cannot settle this.

    The inference can.

    Please give it.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory on Tue Oct 20 09:20:18 2026
    From Newsgroup: comp.theory

    On 10/20/2026 3:21 AM, Python wrote:
    Peter,

    I have now read both references.

    They are relevant, but citing them does not answer my argument.

    Stoddart explicitly says that the dissenting view AGREES that the
    halting function as specified cannot be implemented, but attributes this
    to an inconsistent specification.


    An input to a halt decider that calls this
    same halt decider and does the opposite
    of whatever it reports cannot possibly exist.

    The longer answer that I provided late last night
    is much better because it provides all of the
    missing detail regarding how computation really works.

    That is precisely the issue we are discussing.

    So we agree on the mathematics:

       YES is wrong.
       NO is wrong.

    Equivalently:

       b = NOT b

    has no Boolean solution.

    The dispute is ONLY about what follows from that contradiction.

    The standard diagonal argument says:

       the assumed total universally correct H cannot exist.

    You, Hehner, and Stoddart propose instead to blame the specification/ question.

    Fine. That is a position.

    But citing two people who advocate that interpretation is not a proof of that interpretation.

    In fact, Hehner himself explicitly acknowledges that his position contradicts the universally accepted one and asks readers to identify
    where his argument goes wrong.

    So we are back to the exact question you keep avoiding:

    WHY does

       no Boolean b satisfies b = NOT b

    entail

       the diagonal question must be rejected

    rather than

       the assumed universal H cannot exist?

    Stoddart and Hehner do not make that logical burden disappear.

    They are references for your position, not proofs that my objection is false.

    And notice something important:

    Nobody here is disputing the contradiction anymore.

    You, I, Hehner and Stoddart all reach it.

    The entire dispute is about which assumption the contradiction refutes.

    So authority cannot settle this.


    It never has been based on authority it has always
    be based of 100% completely coherent reasoning.

    Almost everyone has been conditioned to bypass this
    on the basis of the emotional conviction that the
    Halting Theorem is inherently infallible. This is
    essentially anchored in the herd of sheep mentality.

    The inference can.

    Please give it.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory on Tue Oct 20 09:24:21 2026
    From Newsgroup: comp.theory

    On 10/20/2026 3:20 AM, Python wrote:
    Peter,

    And both are the wrong answer

    Yes.

    That is exactly what I just said.

    You are not rebutting my argument. You are repeating its central premise.

       YES is wrong.
       NO is wrong.

    Agreed.

    Now comes the part you keep avoiding:

    WHY are both wrong?

    Because your specification requires a Boolean b satisfying:

       b = NOT b.

    No such Boolean exists.

    You conclude:

       therefore the question is incorrect.

    The diagonal argument concludes:

       therefore the assumed universally correct
       Boolean decider does not exist.


    The diagonal argument is a short cut that ignores the
    details of the underlying reasoning.

    Repeating "BOTH ANSWERS ARE WRONG" in increasingly emphatic language
    does not decide between those conclusions.


    Every question such that all the answers are the wrong
    answer is an incorrect question, not a paradox.

    That is the very fact whose logical consequence is under dispute.

    So stop telling me that both answers are wrong.

    I already agree.

    Show the missing inference:

       no b satisfies b = NOT b

           THEREFORE

       the question must be excluded

    rather than:

       the assumed universally correct decider cannot exist.

    That is the step you need to prove.

    Until you do, you are not refuting the Halting Theorem.

    You are repeatedly announcing its contradiction and refusing its
    conclusion.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 09:29:12 2026
    From Newsgroup: comp.theory

    On 10/20/2026 2:23 AM, Mikko wrote:
    On 19/10/2026 17:34, olcott wrote:
    On 10/19/2026 9:05 AM, Python wrote:
    Peter,

    I think your latest example makes the disagreement extremely precise:

        int main()
        {
           DD(); // is neither the input to HHH nor a finite static string
        }

    I completely agree with the comment.

    DD() executing in main is NOT the input to HHH.

    But the Halting Theorem does not require it to be.


    DD cannot possibly do the opposite of whatever HHH
    returns to it when DD is not the caller of HHH.
    What purpose would a DD that does not call HHH serve?


    That DD() is incorrectly presumed to be the counter-example
    input static finite string to the Halting Theorem.

    (a) It is not an input it is the caller
    (b) It is an executing process thus not a static finite string

    An input to a halt decider that calls this same
    halt decider and does the opposite of whatever
    it reports cannot exist because inputs and callers
    are mutually exclusive.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory on Tue Oct 20 16:17:32 2026
    From Newsgroup: comp.theory

    Peter,

    An input to a halt decider that calls this
    same halt decider and does the opposite
    of whatever it reports cannot possibly exist.

    That is simply false.

    The INPUT can certainly exist.

    Here it is, schematically:

    D:
    if H(<D>) == HALTS:
    loop forever
    else:
    halt

    That is a finite program.

    It has a finite encoding <D>.

    So <D> exists.

    What cannot exist is a TOTAL CORRECT H satisfying:

    H(<P>) = the correct halt status of P

    for every finite program P, including D.

    You have reversed the conclusion of the proof.

    The diagonal argument does NOT prove:

    D cannot exist.

    It proves:

    D exists
    AND
    if universal correct H exists,
    H must fail on D

    therefore:

    universal correct H cannot exist.

    Now consider your other statement:

    Every question such that all the answers are the wrong
    answer is an incorrect question

    Fine. I can even grant your terminology.

    Call it an "incorrect question".

    It changes nothing.

    The important question is WHY your "incorrect question" arose.

    It arose from these assumptions:

    1. H exists.
    2. H is total.
    3. H correctly decides every finite program.
    4. D is a finite program constructed using H.

    Those assumptions imply that neither possible H(<D>) value can be correct.

    Therefore they are jointly inconsistent.

    You keep saying:

    both answers are wrong,
    therefore incorrect question.

    I keep agreeing that both answers are wrong.

    What you still have not supplied is the inference that lets you preserve assumptions 1-3 and reject 4.

    In fact, 4 is constructive: D is right there.

    Calling diagonalization a "shortcut" does not change this.

    And saying that people reject your argument because of "emotional
    conviction" or "herd of sheep mentality" is irrelevant.

    There is no sociology in:

    D is finite.

    <D> exists.

    H(<D>) = HALTS -> H is wrong.

    H(<D>) = NONHALT -> H is wrong.

    Therefore no total universally correct H exists.

    So please address the mathematical statement you just made:

    "An input ... cannot possibly exist."

    Why not?

    Which finite part of D above is impossible to encode?

    If you cannot identify one, then the diagonal input exists.

    It is the universal correct decider that does not.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 11:31:56 2026
    From Newsgroup: comp.theory

    On 10/20/2026 11:17 AM, Python wrote:
    Peter,

    An input to a halt decider that calls this
    same halt decider and does the opposite
    of whatever it reports cannot possibly exist.

    That is simply false.

    The INPUT can certainly exist.


    You just are not paying close enough attention.

    Define a C function that is an executing process
    that calls HHH(DD) where this executing process is
    not an executing process and instead is a static
    finite string.

    Define a C function that calls HHH(DD) such that
    this caller of HHH(DD) is not a caller of HHH(DD)
    and instead is a static finite string input to
    HHH(DD).
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 12:01:59 2026
    From Newsgroup: comp.theory

    On 10/20/2026 11:17 AM, Python wrote:
    Peter,

    An input to a halt decider that calls this
    same halt decider and does the opposite
    of whatever it reports cannot possibly exist.

    That is simply false.

    The INPUT can certainly exist.

    Here it is, schematically:

       D:
           if H(<D>) == HALTS:
               loop forever
           else:
               halt

    That is a finite program.

    It has a finite encoding <D>.

    So <D> exists.

    What cannot exist is a TOTAL CORRECT H satisfying:

       H(<P>) = the correct halt status of P

    for every finite program P, including D.

    You have reversed the conclusion of the proof.

    The diagonal argument does NOT prove:

       D cannot exist.

    It proves:

       D exists
       AND
       if universal correct H exists,
       H must fail on D

    therefore:

       universal correct H cannot exist.

    Now consider your other statement:

    Every question such that all the answers are the wrong
    answer is an incorrect question

    Fine. I can even grant your terminology.

    Call it an "incorrect question".

    It changes nothing.

    The important question is WHY your "incorrect question" arose.

    It arose from these assumptions:

       1. H exists.
       2. H is total.
       3. H correctly decides every finite program.
       4. D is a finite program constructed using H.

    Those assumptions imply that neither possible H(<D>) value can be correct.

    Therefore they are jointly inconsistent.

    You keep saying:

       both answers are wrong,
       therefore incorrect question.

    I keep agreeing that both answers are wrong.


    The halting Theorem is incorrect in many different ways
    the most important way is that HHH(DD)==0 is correct.

    What you still have not supplied is the inference that lets you preserve assumptions 1-3 and reject 4.

    In fact, 4 is constructive: D is right there.

    Calling diagonalization a "shortcut" does not change this.


    diagonalization is merely baselessly guessing an incorrect
    answer.

    And saying that people reject your argument because of "emotional conviction" or "herd of sheep mentality" is irrelevant.


    It is the reason why you are the first person in 28 years
    out of hundreds of people across dozens of different kinds
    of forums that has ever agreed with anything that I said.

    In prior dialogues people only heard blah, blah, blah
    and on this lack of any basis concluded that I am wrong.

    There is no sociology in:

       D is finite.

       <D> exists.

       H(<D>) = HALTS  -> H is wrong.

       H(<D>) = NONHALT -> H is wrong.


    H would be wrong in the hypothetical case where
    its input could possibly do the opposite of whatever
    H reports. This case cannot possibly exist.

    Input to H / caller of H are inherently mutually exclusive.

    int main()
    {
    DD(); // is not and cannot be the input to HHH
    }

    int main()
    {
    HHH(DD); // This DD is not and cannot be the caller of HHH
    } // because main() is already specified as the caller.


       Therefore no total universally correct H exists.

    So please address the mathematical statement you just made:

       "An input ... cannot possibly exist."

    Why not?

    Which finite part of D above is impossible to encode?

    If you cannot identify one, then the diagonal input exists.

    It is the universal correct decider that does not.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Tue Oct 20 17:04:13 2026
    From Newsgroup: comp.theory

    Peter,

    Now I see exactly where your argument goes wrong.

    You write:

    Input to H / caller of H are inherently mutually exclusive.

    Of course they are.

    Nobody claims otherwise.

    The caller of H and the input to H are TWO DIFFERENT OBJECTS.

    Here is the construction:

    int DD(void)
    {
    if (HHH(code_of_DD))
    for (;;) {}
    return 0;
    }

    When DD executes this line:

    HHH(code_of_DD)

    then:

    caller of HHH = the executing invocation of DD

    and:

    input to HHH = code_of_DD

    There is no requirement whatsoever that:

    caller of HHH = input to HHH.

    That equality is YOUR invention, not part of the Halting Theorem.

    You keep replacing:

    DD calls HHH with a finite encoding of DD as input

    with the completely different claim:

    the executing DD must itself become the static input to HHH.

    Nobody claims the second.

    An executing process and data describing its program are different
    objects.

    This is utterly ordinary computing.

    For example:

    void print(char *s);

    A running program can call print() and pass its own source text as s.

    Then:

    caller = executing process
    input = static character string

    The caller has not magically become a string.

    Likewise:

    DD -> calls HHH
    <DD> -> finite input to HHH

    No contradiction.

    Your main() examples therefore miss the construction:

    int main(void)
    {
    DD();
    }

    int DD(void)
    {
    if (HHH(code_of_DD))
    for (;;) {}
    return 0;
    }

    Now when execution reaches HHH:

    main called DD
    DD called HHH

    Therefore DD IS the immediate caller of HHH.

    And:

    code_of_DD

    is HHH's finite static input.

    So your claimed mutual exclusivity is completely satisfied:

    executing DD != code_of_DD.

    Nobody needs them to be identical.

    You also now make another, much stronger claim:

    HHH(DD)==0 is correct.

    Good. Then let's test it.

    For the DD above, suppose:

    HHH(code_of_DD) == 0.

    DD executes:

    if (0)
    for (;;) {}

    and therefore reaches:

    return 0;

    So DD halts.

    Therefore, if 0 means DOES_NOT_HALT:

    HHH(code_of_DD) == 0

    is WRONG.

    Conversely, suppose:

    HHH(code_of_DD) == 1.

    Then DD enters:

    for (;;) {}

    and does not halt.

    So if 1 means HALTS:

    HHH(code_of_DD) == 1

    is also WRONG.

    This is not "baseless guessing".

    It is direct evaluation of the program under each of the only two possible return values.

    Your statement:

    HHH(DD)==0 is correct

    is therefore now testable with one question:

    After HHH returns 0, does DD execute the infinite loop or does it reach
    return 0?

    According to the code, it reaches return 0.

    Therefore DD halts.

    Therefore 0 cannot correctly mean that DD does not halt.

    There is no philosophy here.
    No Prawitz.
    No appeal to authority.
    No "herd mentality".
    No terminology about descriptions.

    Just execute the next instruction.

    And your statement:

    This case cannot possibly exist.

    does not help, because the finite code above specifies the case.

    So please identify the impossible line:

    int DD(void)
    {
    if (HHH(code_of_DD))
    for (;;) {}
    return 0;
    }

    Which line cannot exist?

    If your objection is specifically to:

    code_of_DD

    then say so.

    That would finally isolate the real issue.

    But "the caller cannot also be the input" is not an objection, because
    nobody says it is.

    The caller is DD.

    The input is code_of_DD.

    They are deliberately different objects.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 12:28:25 2026
    From Newsgroup: comp.theory

    On 10/20/2026 12:04 PM, Python wrote:
    Peter,

    Now I see exactly where your argument goes wrong.

    You write:

       Input to H / caller of H are inherently mutually exclusive.

    Of course they are.

    Nobody claims otherwise.


    You are still not paying close enough attention.
    Much better than anyone else though.

    All of the proofs assume that an input to a halt decider
    can to the opposite of whatever this decider reports.
    This entails that the input is also the caller thus
    not mutually exclusive.

    The caller of H and the input to H are TWO DIFFERENT OBJECTS.

    Here is the construction:

       int DD(void)
       {
           if (HHH(code_of_DD))
               for (;;) {}
           return 0;
       }

    When DD executes this line:

       HHH(code_of_DD)

    then:


    It is not the static finite string input to HHH.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Tue Oct 20 17:33:30 2026
    From Newsgroup: comp.theory

    Peter,

    It is not the static finite string input to HHH.

    Then what IS the static finite string input to HHH?

    Let's eliminate the ambiguous word "input" and name the three objects separately:

    1. caller:
    the executing invocation of DD

    2. argument data:
    the finite string code_of_DD

    3. subject program:
    DD, whose halting behavior HHH is asked to determine

    The call is:

    HHH(code_of_DD)

    So if HHH is a function operating on finite strings, then by ordinary function-call semantics:

    code_of_DD

    is its argument data.

    DD remains the caller.

    They are not identical.

    Your statement:

    All of the proofs assume that an input to a halt decider
    can do the opposite of whatever this decider reports.

    is therefore not accurate.

    The finite string does not "do" anything.

    The construction is:

    DD executes.

    DD calls HHH(code_of_DD).

    HHH examines the finite string code_of_DD.

    HHH returns a Boolean to DD.

    DD uses that Boolean to choose its subsequent behavior.

    So:

    finite string code_of_DD does not call HHH.

    finite string code_of_DD does not loop.

    finite string code_of_DD does not halt.

    executing DD does those things.

    The finite string specifies DD.

    There is no violation of your mutual-exclusivity requirement:

    caller != argument data.

    In fact:

    caller = executing DD
    argument data = code_of_DD

    throughout the entire call.

    Now you say:

    code_of_DD is not the static finite string input to HHH.

    Fine.

    Please complete this sentence:

    In the call HHH(code_of_DD),
    the static finite string input to HHH is __________.

    Because if your HHH applies finite-string transformations to a
    finite-string input, there must be some finite string to which those transformations are applied.

    If that string completely specifies DD, call it S instead:

    HHH(S)

    Nothing changes:

    DD is the caller.
    S is the finite-string argument.
    S completely specifies DD.

    HHH returns its result to DD, and DD does the opposite.

    At no point does S become the caller.

    So your claimed entailment:

    subject of analysis does opposite of HHH's result

    entails

    finite-string argument = caller

    is false.

    It does not entail that at all.

    It only requires the caller DD to be the computation specified by the
    finite data supplied to HHH.

    Those are two different objects.

    So please don't tell me again that I am "not paying close enough
    attention."

    Just answer the concrete question:

    In HHH(code_of_DD), what exactly is HHH's
    static finite-string input?

    If your answer is "code_of_DD", your mutual-exclusivity objection
    disappears.

    If your answer is "not code_of_DD", tell me what finite string HHH
    actually receives.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 12:55:21 2026
    From Newsgroup: comp.theory

    On 10/20/2026 12:33 PM, Python wrote:
    Peter,

    It is not the static finite string input to HHH.

    Then what IS the static finite string input to HHH?


    _DD()
    [00002162] 55 push ebp
    [00002163] 8bec mov ebp,esp
    [00002165] 51 push ecx
    [00002166] 6862210000 push 00002162 // push DD
    [0000216b] e862f4ffff call 000015d2 // call HHH
    [00002170] 83c404 add esp,+04
    [00002173] 8945fc mov [ebp-04],eax
    [00002176] 837dfc00 cmp dword [ebp-04],+00
    [0000217a] 7402 jz 0000217e
    [0000217c] ebfe jmp 0000217c
    [0000217e] 8b45fc mov eax,[ebp-04]
    [00002181] 8be5 mov esp,ebp
    [00002183] 5d pop ebp
    [00002184] c3 ret
    Size in bytes:(0035) [00002184]

    Most literally the hexadecimal bytes of machine
    code in the second column. I switched my analysis
    to the C programming language because the x86
    language is a lost art.

    The great advantage of x86 machine code over C
    source code for a halt decider is that it provides
    a ready made state transition directed graph.

    Let's eliminate the ambiguous word "input" and name the three objects separately:

       1. caller:
          the executing invocation of DD

       2. argument data:
          the finite string code_of_DD

       3. subject program:
          DD, whose halting behavior HHH is asked to determine

    The call is:

       HHH(code_of_DD)

    So if HHH is a function operating on finite strings, then by ordinary function-call semantics:

       code_of_DD

    is its argument data.

    DD remains the caller.

    They are not identical.

    Your statement:

       All of the proofs assume that an input to a halt decider
       can do the opposite of whatever this decider reports.

    is therefore not accurate.

    The finite string does not "do" anything.

    The construction is:

       DD executes.

       DD calls HHH(code_of_DD).

       HHH examines the finite string code_of_DD.

       HHH returns a Boolean to DD.

       DD uses that Boolean to choose its subsequent behavior.

    So:


    The behavior of the directly executed DD has always been
    outside of the domain of HHH. Because people have always
    used diagonalization to "assume away" all of these crucially
    relevant details no one ever noticed this before.

       finite string code_of_DD does not call HHH.

       finite string code_of_DD does not loop.

       finite string code_of_DD does not halt.

       executing DD does those things.

    The finite string specifies DD.

    There is no violation of your mutual-exclusivity requirement:

       caller != argument data.

    In fact:

       caller          = executing DD
       argument data   = code_of_DD

    throughout the entire call.

    Now you say:

       code_of_DD is not the static finite string input to HHH.

    Fine.

    Please complete this sentence:

       In the call HHH(code_of_DD),
       the static finite string input to HHH is __________.

    Because if your HHH applies finite-string transformations to a finite- string input, there must be some finite string to which those transformations are applied.

    If that string completely specifies DD, call it S instead:

       HHH(S)

    Nothing changes:

       DD is the caller.
       S is the finite-string argument.
       S completely specifies DD.

    HHH returns its result to DD, and DD does the opposite.

    At no point does S become the caller.

    So your claimed entailment:

       subject of analysis does opposite of HHH's result

           entails

       finite-string argument = caller

    is false.

    It does not entail that at all.

    It only requires the caller DD to be the computation specified by the
    finite data supplied to HHH.

    Those are two different objects.

    So please don't tell me again that I am "not paying close enough
    attention."

    Just answer the concrete question:

       In HHH(code_of_DD), what exactly is HHH's
       static finite-string input?

    If your answer is "code_of_DD", your mutual-exclusivity objection disappears.

    If your answer is "not code_of_DD", tell me what finite string HHH
    actually receives.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Tue Oct 20 20:24:07 2026
    From Newsgroup: comp.theory

    Peter,

    Excellent. Now we finally have a completely concrete object, and your machine-code listing actually resolves the ambiguity.

    You say that the static finite-string input is literally these 35 bytes:

    55
    8bec
    51
    6862210000
    e862f4ffff
    ...
    c3

    Fine. I accept that definition.

    Now look at your own instructions:

    [00002166] 6862210000 push 00002162 // push DD
    [0000216b] e862f4ffff call 000015d2 // call HHH

    So an executing DD calls HHH and supplies 0x2162, the location of the machine-code bytes of DD.

    Those bytes can be READ BY HHH as data.

    The same bytes can be EXECUTED BY THE CPU as instructions.

    There is no contradiction whatsoever.

    The bytes do not execute themselves while HHH reads them.

    An execution of DD executes them.

    Therefore we have exactly the distinction I described:

    caller:
    executing DD

    finite object examined by HHH:
    the machine-code bytes beginning at 0x2162

    computation whose behavior those bytes specify:
    DD

    Your own machine-code example demonstrates all three.

    But now you say something much more important:

    The behavior of the directly executed DD has always been
    outside of the domain of HHH.

    THAT is the issue.

    If directly executing the program specified by HHH's finite-string input
    is outside the domain of HHH, then HHH is not a universal halt decider.

    You have restricted its domain.

    The standard problem asks for H such that, for every program P and
    relevant input I,

    H(<P>, I)

    correctly determines whether executing P on I halts.

    Your HHH instead excludes precisely the execution that creates the
    diagonal case.

    That is perfectly possible.

    But then you have not refuted the Halting Theorem.

    You have defined a restricted problem.

    And your actual bytes make the consequence completely concrete.

    Your DD does this:

    call HHH
    ...
    cmp result, 0
    jz exit
    jmp forever

    Therefore:

    HHH returns 0
    -> jz is taken
    -> DD reaches RET
    -> DD halts

    HHH returns nonzero
    -> jz is not taken
    -> DD reaches JMP-to-itself
    -> DD does not halt

    So the execution trace is:

    HHH says NONHALT -> DD halts
    HHH says HALT -> DD does not halt

    There is no guessing here.

    Those are the x86 transitions in YOUR listing.

    You say:

    HHH(DD)==0 is correct.

    Then answer this using your own machine code:

    If HHH returns EAX=0 at 0x2170, does execution of DD eventually reach the
    RET instruction at 0x2184?

    Yes or no?

    The listing says YES.

    So if HHH=0 means "DD does not halt", that answer is false for the
    directly executed DD.

    Your response is now that this directly executed DD is "outside of the
    domain of HHH."

    Fine.

    But that concedes the essential point:

    HHH does not decide the halting behavior
    of every program represented by its finite input.

    In particular, it does not decide the diagonal one.

    That is not a counterexample to the Halting Theorem.

    That is exactly the limitation the Halting Theorem says every purported universal halt decider must have.

    You have not found a universal HHH that survives diagonalization.

    You have built an HHH whose domain definition excludes the case where diagonalization defeats it.

    Those are radically different claims.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 16:13:30 2026
    From Newsgroup: comp.theory

    On 10/20/2026 3:24 PM, Python wrote:
    Peter,

    Excellent. Now we finally have a completely concrete object, and your machine-code listing actually resolves the ambiguity.

    You say that the static finite-string input is literally these 35 bytes:

       55
       8bec
       51
       6862210000
       e862f4ffff
       ...
       c3

    Fine. I accept that definition.

    Now look at your own instructions:

       [00002166] 6862210000 push 00002162 // push DD
       [0000216b] e862f4ffff call 000015d2 // call HHH

    So an executing DD calls HHH and supplies 0x2162, the location of the machine-code bytes of DD.

    Those bytes can be READ BY HHH as data.

    The same bytes can be EXECUTED BY THE CPU as instructions.

    There is no contradiction whatsoever.

    The bytes do not execute themselves while HHH reads them.

    An execution of DD executes them.


    My system is anchored in an x86 emulator with decades
    of development. The current maintainer upgraded it for
    me from 16-bit to 32-bit.

    Therefore we have exactly the distinction I described:

       caller:
           executing DD

       finite object examined by HHH:
           the machine-code bytes beginning at 0x2162

       computation whose behavior those bytes specify:
           DD

    Your own machine-code example demonstrates all three.


    HHH and HHH1 are completely identical except that
    DD calls HHH(DD) and does not call HHH1 at all.

    HHH(DD) // DD calls HHH(DD)
    HHH1(DD) // DD does not call HHH1 at all

    This empirically proves that DD in those two different
    contexts have two different execution traces such that
    HHH(DD)==0 is correct and HHH1(DD)==1 is correct

    But now you say something much more important:

    The behavior of the directly executed DD has always been
    outside of the domain of HHH.

    THAT is the issue.


    The Halting Theorem has always incorrectly assumed otherwise
    that is its fundamental error.

    If directly executing the program specified by HHH's finite-string input
    is outside the domain of HHH, then HHH is not a universal halt decider.


    That is not the way that domains in math works.
    Computation already said that is must be a finite string
    and the directly executable DD has never been a finite string.

    We could say that math is limited because it can never
    give the correct square-root of a dead chicken. When
    the domain is limited to numbers then a dead chicken
    is not in this domain.

    You have restricted its domain.


    It has always been restricted. That people focused
    on diagonalization instead of the inference step
    details caused them to never notice this domain issue.

    The standard problem asks for H such that, for every program P and

    Wrong right there. It has always actually been a sequence
    of steps specified as a finite string in the source code
    of some programming language.

    It has never actually been any Turing Machine description
    (even though so called). It has always been the source
    code for Turing machines.

    relevant input I,

       H(<P>, I)

    correctly determines whether executing P on I halts.


    This assumes that the DD in HHH(DD) and HHH1(DD) have
    identical behavior. It makes this counter-factual
    assumption entirely on the basis of never examining
    these things in enough detail.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Tue Oct 20 21:17:27 2026
    From Newsgroup: comp.theory

    Peter,

    Now we have isolated two different issues.

    First:

    HHH(DD) // DD calls HHH(DD)
    HHH1(DD) // DD does not call HHH1 at all

    This empirically proves that DD in those two different
    contexts have two different execution traces

    Of course they can have different execution traces.

    Nobody disputes that.

    DD explicitly calls HHH.

    Therefore changing the environment from HHH to HHH1 can change the computation.

    That does NOT refute the Halting Theorem.

    In fact, consider the two concrete systems:

    System A:
    DD calls HHH

    System B:
    DD calls HHH
    but we ask HHH1 to analyze DD

    In System B, HHH1 is an observer of the computation involving HHH.

    It is not the function DD calls.

    So there is no diagonal relation between DD and HHH1.

    Consequently there is nothing surprising about:

    HHH(DD) = 0
    HHH1(DD) = 1

    if the two calls are asking about different completely specified
    computations.

    The diagonal construction concerns the decider that DD actually calls.

    Now to the more fundamental error.

    You write:

    Computation already said that it must be a finite string
    and the directly executable DD has never been a finite string.

    Correct.

    And completely irrelevant.

    Nobody claims that an executing DD is a finite string.

    The DOMAIN of H can consist entirely of finite strings.

    For example:

    H : finite strings -> {0,1}

    The SEMANTICS of a finite string tells us which computation it specifies.

    H receives the string.

    H answers a question about the computation specified by that string.

    These are different levels.

    For example, suppose I define:

    S("4") = 2

    where S takes a decimal string and returns the positive square root of the number denoted by that string.

    The domain of S consists of strings.

    The number 4 is not a string.

    That does not prevent the string "4" from specifying the number whose
    square root S computes.

    So your dead-chicken analogy misses the distinction.

    The standard halting formulation does NOT put an executing process into
    H's input domain.

    It puts a finite description of a computation into H's input domain and
    asks H about the execution specified by that finite description.

    You object to the word "description", so use your own terminology:

    a self-contained finite string completely specifying
    a sequence of computational steps.

    Fine.

    Then HHH receives exactly such a finite string.

    The question is whether the completely specified execution reaches its
    final halt state.

    Nothing requires the execution itself to be a finite string.

    This is therefore not a domain error.

    It is ordinary semantics:

    finite string S
    |
    | specifies
    v
    computation C

    HHH's DOMAIN contains S.

    HHH's ANSWER concerns C.

    You are conflating those two statements.

    And your own x86 emulator necessarily makes exactly this distinction.

    It receives machine-code bytes as data and interprets those bytes as instructions defining an execution.

    The bytes are finite.

    The execution may be infinite.

    If your claim were correct, an emulator could never reason about an
    infinite execution because the infinite execution is not itself a finite string.

    But of course it can begin executing a finite program whose execution
    never terminates.

    Finally, you write:

    This assumes that the DD in HHH(DD) and HHH1(DD) have
    identical behavior.

    No.

    The Halting Theorem assumes no such thing.

    For EACH completely specified computational system, ask whether a total correct halt decider exists for all finite program strings in that system.

    Then diagonalize against THAT decider.

    If DD calls HHH, diagonalize against HHH.

    If another DD1 calls HHH1, diagonalize against HHH1.

    There is no theorem saying that DD calling HHH and DD calling HHH1 must
    have identical traces.

    You have introduced that requirement yourself.

    So your empirical result does not contradict the theorem at all.

    It merely shows the obvious:

    changing something that a program calls
    can change the program's execution.

    The actual question remains the one your own x86 listing makes
    unavoidable.

    For the system in which DD calls HHH:

    HHH returns 0
    -> DD reaches RET

    HHH returns 1
    -> DD enters the infinite JMP

    What does HHH correctly return for THAT completely specified computation?

    0 cannot be correct, because after 0 the computation halts.

    1 cannot be correct, because after 1 the computation does not halt.

    You call that an "incorrect question."

    Fine.

    The standard theorem calls it the contradiction showing that the assumed
    total correct HHH cannot exist.

    Your HHH1 experiment does not alter a single step of that argument.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 16:46:19 2026
    From Newsgroup: comp.theory

    On 10/20/2026 4:17 PM, Python wrote:
    Peter,

    Now we have isolated two different issues.

    First:

    HHH(DD)  // DD calls HHH(DD)
    HHH1(DD) // DD does not call HHH1 at all

    This empirically proves that DD in those two different
    contexts have two different execution traces

    Of course they can have different execution traces.

    Nobody disputes that.


    Everyone that I ever spoke with disputed everything that I ever said.

    DD explicitly calls HHH.

    Therefore changing the environment from HHH to HHH1 can change the computation.


    Thus making HHH(DD)==0 correct as the halting property
    specified by the finite string input to HHH, thus
    refuting the claim that HHH(DD) cannot possibly be correct.
    Thus refuting the whole halting theorem.

    That does NOT refute the Halting Theorem.

    In fact, consider the two concrete systems:

       System A:
           DD calls HHH

       System B:
           DD calls HHH
           but we ask HHH1 to analyze DD

    In System B, HHH1 is an observer of the computation involving HHH.

    It is not the function DD calls.

    So there is no diagonal relation between DD and HHH1.

    Consequently there is nothing surprising about:

       HHH(DD)  = 0
       HHH1(DD) = 1

    if the two calls are asking about different completely specified computations.

    The diagonal construction concerns the decider that DD actually calls.

    Now to the more fundamental error.

    You write:

    Computation already said that it must be a finite string
    and the directly executable DD has never been a finite string.

    Correct.

    And completely irrelevant.

    Nobody claims that an executing DD is a finite string.

    The DOMAIN of H can consist entirely of finite strings.

    For example:

       H : finite strings -> {0,1}

    The SEMANTICS of a finite string tells us which computation it specifies.

    H receives the string.

    H answers a question about the computation specified by that string.

    These are different levels.

    For example, suppose I define:

       S("4") = 2

    where S takes a decimal string and returns the positive square root of
    the number denoted by that string.

    The domain of S consists of strings.

    The number 4 is not a string.

    That does not prevent the string "4" from specifying the number whose
    square root S computes.

    So your dead-chicken analogy misses the distinction.

    The standard halting formulation does NOT put an executing process into
    H's input domain.

    It puts a finite description of a computation into H's input domain and
    asks H about the execution specified by that finite description.

    You object to the word "description", so use your own terminology:

       a self-contained finite string completely specifying
       a sequence of computational steps.

    Fine.

    Then HHH receives exactly such a finite string.

    The question is whether the completely specified execution reaches its
    final halt state.

    Nothing requires the execution itself to be a finite string.

    This is therefore not a domain error.

    It is ordinary semantics:

       finite string S
             |
             | specifies
             v
       computation C

    HHH's DOMAIN contains S.

    HHH's ANSWER concerns C.

    You are conflating those two statements.

    And your own x86 emulator necessarily makes exactly this distinction.

    It receives machine-code bytes as data and interprets those bytes as instructions defining an execution.

    The bytes are finite.

    The execution may be infinite.

    If your claim were correct, an emulator could never reason about an
    infinite execution because the infinite execution is not itself a finite string.

    But of course it can begin executing a finite program whose execution
    never terminates.

    Finally, you write:

    This assumes that the DD in HHH(DD) and HHH1(DD) have
    identical behavior.

    No.

    The Halting Theorem assumes no such thing.

    For EACH completely specified computational system, ask whether a total correct halt decider exists for all finite program strings in that system.

    Then diagonalize against THAT decider.

    If DD calls HHH, diagonalize against HHH.

    If another DD1 calls HHH1, diagonalize against HHH1.

    There is no theorem saying that DD calling HHH and DD calling HHH1 must
    have identical traces.

    You have introduced that requirement yourself.

    So your empirical result does not contradict the theorem at all.

    It merely shows the obvious:

       changing something that a program calls
       can change the program's execution.

    The actual question remains the one your own x86 listing makes unavoidable.

    For the system in which DD calls HHH:

       HHH returns 0
           -> DD reaches RET

       HHH returns 1
           -> DD enters the infinite JMP

    What does HHH correctly return for THAT completely specified computation?

    0 cannot be correct, because after 0 the computation halts.

    1 cannot be correct, because after 1 the computation does not halt.

    You call that an "incorrect question."

    Fine.

    The standard theorem calls it the contradiction showing that the assumed total correct HHH cannot exist.

    Your HHH1 experiment does not alter a single step of that argument.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Tue Oct 20 21:56:03 2026
    From Newsgroup: comp.theory

    Peter,

    Good. This sentence finally gives us a precise claim to test:

    Thus making HHH(DD)==0 correct as the halting property
    specified by the finite string input to HHH

    Then please define exactly what you mean by:

    "the halting property specified by the finite string"

    because we now have the actual finite string.

    It contains:

    call HHH
    ...
    cmp result,0
    jz exit
    jmp forever
    ...
    ret

    Now suppose HHH returns 0.

    The x86 execution specified by those bytes continues:

    HHH returns EAX=0
    cmp ...,0
    jz is taken
    ...
    ret

    Therefore that execution HALTS.

    This is not diagonalization.

    It is not a guess.

    It is not an abstraction.

    It is simply the state-transition sequence of YOUR x86 code after HHH
    returns 0.

    So explain exactly how:

    HHH(DD) == 0

    can correctly mean:

    the execution specified by these bytes does not halt

    when those same bytes specify that, after HHH returns 0, execution reaches RET.

    Your HHH1 comparison cannot answer this.

    HHH1(DD) asks another decider about a computation in which DD calls HHH.

    Fine.

    But we are asking about:

    HHH(DD)

    in the system where DD actually calls HHH.

    You claim 0 is correct there.

    So stay with that single case.

    There are only two possibilities.

    Either the finite string given to HHH specifies the complete execution of those x86 instructions.

    Then:

    HHH returns 0 -> execution reaches RET

    and 0 cannot correctly mean NONHALT.

    Or the "halting property" that HHH reports is NOT the halting behavior of
    the complete execution specified by those x86 instructions.

    Then tell me exactly what property HHH is deciding instead.

    But you cannot have both:

    1. HHH(DD)==0 correctly means that executing DD does not halt.

    and:

    2. after HHH(DD)==0, executing DD reaches RET.

    Those statements contradict each other.

    And notice that I am not invoking the Halting Theorem here.

    I am asking you to follow your own x86 code from the return of HHH to RET.

    So one very concrete question:

    HHH returns 0 at 0x2170.

    Does that execution of DD subsequently
    reach RET at 0x2184?

    YES or NO?

    Please answer that before invoking HHH1, diagonalization, domains, or the Halting Theorem.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 17:10:15 2026
    From Newsgroup: comp.theory

    On 10/20/2026 4:56 PM, Python wrote:
    Peter,

    Good. This sentence finally gives us a precise claim to test:

    Thus making HHH(DD)==0 correct as the halting property
    specified by the finite string input to HHH

    Then please define exactly what you mean by:

       "the halting property specified by the finite string"

    because we now have the actual finite string.


    What you already agreed to as the C level.

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

    01 int DD()
    02 {
    03 int Halt_Status = HHH(DD);
    04 if (Halt_Status)
    05 HERE: goto HERE;
    06 return Halt_Status;
    07 }
    08
    09 void main()
    10 {
    11 HHH(DD);
    12 }

    Execution Trace
    Line 11: main() invokes HHH(DD);

    keeps repeating unless aborted
    Line 03: simulated DD() invokes simulated HHH(DD) that simulates DD()

    Simulation invariant
    DD correctly simulated by HHH cannot possibly reach past its own line 03 (whether or not HHH ever aborts this simulation) thus

    DD correctly simulated by HHH cannot possibly reach its simulated final
    state.

    It contains:

       call HHH
       ...
       cmp result,0
       jz  exit
       jmp forever
       ...
       ret

    Now suppose HHH returns 0.

    The x86 execution specified by those bytes continues:

       HHH returns EAX=0
       cmp ...,0
       jz is taken
       ...
       ret

    Therefore that execution HALTS.

    This is not diagonalization.

    It is not a guess.

    It is not an abstraction.

    It is simply the state-transition sequence of YOUR x86 code after HHH returns 0.

    So explain exactly how:

       HHH(DD) == 0

    can correctly mean:

       the execution specified by these bytes does not halt

    when those same bytes specify that, after HHH returns 0, execution
    reaches RET.

    Your HHH1 comparison cannot answer this.

    HHH1(DD) asks another decider about a computation in which DD calls HHH.

    Fine.

    But we are asking about:

       HHH(DD)

    in the system where DD actually calls HHH.

    You claim 0 is correct there.

    So stay with that single case.

    There are only two possibilities.

    Either the finite string given to HHH specifies the complete execution
    of those x86 instructions.

    Then:

       HHH returns 0 -> execution reaches RET

    and 0 cannot correctly mean NONHALT.

    Or the "halting property" that HHH reports is NOT the halting behavior
    of the complete execution specified by those x86 instructions.

    Then tell me exactly what property HHH is deciding instead.

    But you cannot have both:

       1. HHH(DD)==0 correctly means that executing DD does not halt.

    and:

       2. after HHH(DD)==0, executing DD reaches RET.

    Those statements contradict each other.

    And notice that I am not invoking the Halting Theorem here.

    I am asking you to follow your own x86 code from the return of HHH to RET.

    So one very concrete question:

       HHH returns 0 at 0x2170.

       Does that execution of DD subsequently
       reach RET at 0x2184?

    YES or NO?

    Please answer that before invoking HHH1, diagonalization, domains, or
    the Halting Theorem.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Tue Oct 20 22:13:53 2026
    From Newsgroup: comp.theory

    Peter,

    Now the exact error is visible.

    You write:

    Simulation invariant
    DD correctly simulated by HHH cannot possibly reach past its own line 03 (whether or not HHH ever aborts this simulation)

    The parenthetical statement is false.

    It makes ALL the difference whether HHH aborts the simulation and returns
    a value.

    Let's follow your exact C code.

    You have:

    03 int Halt_Status = HHH(DD);
    04 if (Halt_Status)
    05 HERE: goto HERE;
    06 return Halt_Status;

    As long as HHH(DD) does not return, DD remains blocked at line 03.

    Agreed.

    But now suppose HHH aborts its recursive simulation and returns 0.

    Then line 03 COMPLETES:

    Halt_Status = 0;

    Execution continues to line 04:

    if (0)

    which is false.

    Line 05 is skipped.

    Execution reaches line 06:

    return 0;

    DD halts.

    So your claimed invariant:

    DD cannot possibly reach past line 03

    is true only under the condition:

    HHH(DD) never returns.

    But you then use that observation to make HHH(DD) RETURN 0.

    The moment HHH returns 0, the condition supporting your conclusion becomes false and DD proceeds to its final state.

    That is the circularity.

    In compact form:

    If HHH never returns,
    DD never gets past line 03.

    Correct.

    But that does NOT imply:

    Therefore HHH may return 0
    while DD still never gets past line 03.

    Once HHH returns 0:

    line 03 completes
    -> line 04 is false
    -> line 06 executes
    -> DD halts.

    Your phrase:

    whether or not HHH ever aborts this simulation

    is therefore exactly where the error occurs.

    There are two cases:

    HHH does not abort/return:
    DD remains at line 03.

    HHH aborts and returns 0:
    DD passes line 03 and halts at line 06.

    You cannot take the behavior from the first case and use it as the justification for the answer returned in the second case.

    And notice something else important.

    Your recursive simulation:

    HHH simulates DD
    -> DD calls HHH
    -> HHH simulates DD
    -> DD calls HHH
    -> ...

    does establish that straightforward simulation alone will recurse forever.

    But that proves that THIS SIMULATION does not terminate.

    It does not prove that DD would not terminate if HHH returned 0.

    Indeed, your own C code proves the opposite.

    So now we can identify the precise invalid inference:

    "HHH's recursive simulation does not reach DD's final state"

    does NOT entail:

    "DD will not reach its final state after HHH returns NONHALT."

    Those are different statements.

    The second is actually false for your program.

    No appeal to the Halting Theorem is needed to see this.

    Just execute your lines 03 through 06 after HHH returns 0.

    Therefore I will repeat the concrete question, now at the C level you requested:

    HHH aborts its simulation and returns 0
    to DD at line 03.

    Does DD then reach line 06?

    YES or NO?
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 17:18:57 2026
    From Newsgroup: comp.theory

    On 10/20/2026 5:13 PM, Python wrote:
    Peter,

    Now the exact error is visible.

    You write:

    Simulation invariant
    DD correctly simulated by HHH cannot possibly reach past its own line 03
    (whether or not HHH ever aborts this simulation)

    The parenthetical statement is false.

    It makes ALL the difference whether HHH aborts the simulation and
    returns a value.

    Let's follow your exact C code.

    You have:

       03   int Halt_Status = HHH(DD);
       04   if (Halt_Status)
       05     HERE: goto HERE;
       06   return Halt_Status;

    As long as HHH(DD) does not return, DD remains blocked at line 03.

    Agreed.

    But now suppose HHH aborts its recursive simulation and returns 0.

    Then line 03

    becomes instantly totally dead along with every
    aspect of the entire nested simulated instance.

    COMPLETES:

       Halt_Status = 0;

    Execution continues to line 04:

       if (0)

    which is false.

    Line 05 is skipped.

    Execution reaches line 06:

       return 0;

    DD halts.

    So your claimed invariant:

       DD cannot possibly reach past line 03

    is true only under the condition:

       HHH(DD) never returns.

    But you then use that observation to make HHH(DD) RETURN 0.

    The moment HHH returns 0, the condition supporting your conclusion
    becomes false and DD proceeds to its final state.

    That is the circularity.

    In compact form:

       If HHH never returns,
           DD never gets past line 03.

    Correct.

    But that does NOT imply:

       Therefore HHH may return 0
       while DD still never gets past line 03.

    Once HHH returns 0:

       line 03 completes
       -> line 04 is false
       -> line 06 executes
       -> DD halts.

    Your phrase:

    whether or not HHH ever aborts this simulation

    is therefore exactly where the error occurs.

    There are two cases:

       HHH does not abort/return:
           DD remains at line 03.

       HHH aborts and returns 0:
           DD passes line 03 and halts at line 06.

    You cannot take the behavior from the first case and use it as the justification for the answer returned in the second case.

    And notice something else important.

    Your recursive simulation:

       HHH simulates DD
           -> DD calls HHH
               -> HHH simulates DD
                   -> DD calls HHH
                       -> ...

    does establish that straightforward simulation alone will recurse forever.

    But that proves that THIS SIMULATION does not terminate.

    It does not prove that DD would not terminate if HHH returned 0.

    Indeed, your own C code proves the opposite.

    So now we can identify the precise invalid inference:

       "HHH's recursive simulation does not reach DD's final state"

    does NOT entail:

       "DD will not reach its final state after HHH returns NONHALT."

    Those are different statements.

    The second is actually false for your program.

    No appeal to the Halting Theorem is needed to see this.

    Just execute your lines 03 through 06 after HHH returns 0.

    Therefore I will repeat the concrete question, now at the C level you requested:

       HHH aborts its simulation and returns 0
       to DD at line 03.

    Does DD then reach line 06?

    YES or NO?
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Tue Oct 20 22:21:05 2026
    From Newsgroup: comp.theory

    Peter,

    becomes instantly totally dead along with every
    aspect of the entire nested simulated instance.

    Good. That clarifies what you mean by "abort".

    You mean that the OUTER HHH abandons the entire nested simulation and
    returns its answer to its own caller, rather than allowing the simulated
    HHH at DD's line 03 to return normally to that simulated DD.

    Fine.

    Then my previous wording conflated two different operations, and I will correct it.

    But this makes the problem with your argument even clearer.

    You have established:

    HHH begins simulating DD.

    simulated DD reaches line 03 and invokes simulated HHH(DD).

    this recursively produces further simulations.

    HHH eventually ABORTS the whole nested simulation.

    therefore none of the abandoned simulated DD instances
    reaches line 06.

    Agreed.

    But from that you conclude:

    therefore DD does not halt.

    That does not follow.

    You have proved only:

    the simulation that HHH chose to abort
    did not reach DD's final state before HHH aborted it.

    Of course it didn't.

    You killed it.

    That is a property of HHH's simulation procedure, not yet a proof of the halting property of DD.

    The distinction is crucial:

    ABORT THE SIMULATION

    is not the same operation as:

    simulated HHH returns 0 to simulated DD.

    In the first case, you destroy the simulated DD.

    In the second case, DD continues:

    03 Halt_Status = 0;
    04 if (Halt_Status) // false
    05 goto HERE;
    06 return Halt_Status; // HALT

    So now the issue can be stated even more precisely.

    Your justification for returning 0 is:

    "During my recursive simulation, DD never reaches line 06."

    But it never reaches line 06 because the simulation either:

    (a) recursively continues forever,

    or:

    (b) YOU abort it before allowing the pending HHH call
    to return to DD.

    Neither establishes that DD would fail to reach line 06 if HHH actually returned 0 to it.

    In fact, the C semantics establish the opposite:

    if HHH returns 0 to DD,
    DD reaches line 06 and halts.

    So please distinguish these two events:

    A. HHH aborts/destroys its internal simulation of DD.

    B. HHH returns 0 to the DD that called it.

    A does not cause the abandoned simulated DD to continue.

    Agreed.

    But the halt decision is supposed to concern what DD does under the
    semantics of its calls, not whether your simulator chose to destroy an internal simulation.

    And B unquestionably causes DD to continue to line 06.

    Therefore the unanswered question remains, now without any ambiguity about "abort":

    Suppose an actual execution of DD reaches line 03
    and HHH(DD) returns 0 normally to that DD.

    Does that DD reach line 06?

    YES or NO?

    If YES, then 0 is not a correct prediction that this DD does not halt.

    If NO, identify the C rule preventing execution from proceeding from line
    03 to line 04 after HHH returns 0.

    Your statement that an ABANDONED SIMULATION is "totally dead" does not
    answer this question.

    It merely confirms that you are treating:

    "my simulator stopped following this execution"

    as if it meant:

    "this execution cannot halt."

    Those are not equivalent.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 17:35:58 2026
    From Newsgroup: comp.theory

    On 10/20/2026 5:21 PM, Python wrote:
    Peter,

    becomes instantly totally dead along with every
    aspect of the entire nested simulated instance.

    Good. That clarifies what you mean by "abort".

    You mean that the OUTER HHH abandons the entire nested simulation and returns its answer to its own caller, rather than allowing the simulated
    HHH at DD's line 03 to return normally to that simulated DD.

    Fine.


    The outer DD cannot possibly return normally to anything
    because it was never called from anywhere.

    Then my previous wording conflated two different operations, and I will correct it.

    But this makes the problem with your argument even clearer.

    You have established:

       HHH begins simulating DD.

       simulated DD reaches line 03 and invokes simulated HHH(DD).

       this recursively produces further simulations.

       HHH eventually ABORTS the whole nested simulation.


    It matches the infinite recursion behavior pattern
    on the next call.

       therefore none of the abandoned simulated DD instances
       reaches line 06.

    Agreed.

    But from that you conclude:

       therefore DD does not halt.


    Halting is ultimately defined as reaching line 06 the
    final halt state. Stopping running for any other
    reason does not count as halting.

    As soon as HHH correctly determines that its own input
    DD cannot possibly reach its own line 06 this is complete
    proof of non-halting behavior.

    That does not follow.

    You have proved only:

       the simulation that HHH chose to abort
       did not reach DD's final state before HHH aborted it.

    Of course it didn't.

    You killed it.

    That is a property of HHH's simulation procedure, not yet a proof of the halting property of DD.

    The distinction is crucial:

       ABORT THE SIMULATION

    is not the same operation as:

       simulated HHH returns 0 to simulated DD.

    In the first case, you destroy the simulated DD.

    In the second case, DD continues:

       03  Halt_Status = 0;
       04  if (Halt_Status)       // false
       05      goto HERE;
       06  return Halt_Status;    // HALT

    So now the issue can be stated even more precisely.

    Your justification for returning 0 is:

       "During my recursive simulation, DD never reaches line 06."

    But it never reaches line 06 because the simulation either:

       (a) recursively continues forever,

    or:

       (b) YOU abort it before allowing the pending HHH call
           to return to DD.

    Neither establishes that DD would fail to reach line 06 if HHH actually returned 0 to it.

    In fact, the C semantics establish the opposite:

       if HHH returns 0 to DD,
       DD reaches line 06 and halts.

    So please distinguish these two events:

       A. HHH aborts/destroys its internal simulation of DD.

       B. HHH returns 0 to the DD that called it.

    A does not cause the abandoned simulated DD to continue.

    Agreed.

    But the halt decision is supposed to concern what DD does under the semantics of its calls, not whether your simulator chose to destroy an internal simulation.

    And B unquestionably causes DD to continue to line 06.

    Therefore the unanswered question remains, now without any ambiguity
    about "abort":

       Suppose an actual execution of DD reaches line 03
       and HHH(DD) returns 0 normally to that DD.

       Does that DD reach line 06?

    YES or NO?

    If YES, then 0 is not a correct prediction that this DD does not halt.

    If NO, identify the C rule preventing execution from proceeding from
    line 03 to line 04 after HHH returns 0.

    Your statement that an ABANDONED SIMULATION is "totally dead" does not answer this question.

    It merely confirms that you are treating:

       "my simulator stopped following this execution"

    as if it meant:

       "this execution cannot halt."

    Those are not equivalent.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Tue Oct 20 22:42:47 2026
    From Newsgroup: comp.theory

    You still have not answered the question.

    Your claim is:

    HHH(DD) returns 0

    and your DD is:

    Halt_Status = HHH(DD);
    if (Halt_Status)
    goto HERE;
    return Halt_Status;

    So assume your claimed result:

    HHH(DD) returns 0.

    Then ordinary C semantics give:

    Halt_Status = 0;
    if (0) // false
    return 0; // line 06 reached

    Therefore DD halts.

    Your statement:

    HHH correctly determines that its own input DD
    cannot possibly reach its own line 06

    is exactly what you need to prove.

    You cannot prove it by observing an infinite recursive simulation, then aborting that simulation, returning 0, and ignoring what the caller does
    with that 0.

    Everything else is irrelevant.

    One question:

    If HHH(DD) returns 0 normally to DD at line 03,
    does DD reach line 06?

    YES or NO?

    If YES, HHH's 0 is wrong.

    If NO, identify the C semantic rule that prevents line 04 from executing.

    There is no third possibility.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Tue Oct 20 19:14:17 2026
    From Newsgroup: comp.theory

    On 10/20/2026 5:42 PM, Python wrote:
    You still have not answered the question.

    Your claim is:

       HHH(DD) returns 0


    int main()
    {
    HHH(DD); // this one
    }

    and your DD is:

       Halt_Status = HHH(DD);
       if (Halt_Status)
           goto HERE;
       return Halt_Status;

    So assume your claimed result:

       HHH(DD) returns 0.

    Then ordinary C semantics give:



    // x86utm is never linked so it has its own printf
    int main()
    {
    Output("Input_Halts = ", HHH(DD));
    }

    https://github.com/plolcott/x86utm/blob/master/Halt7out.txt
    This is the output look at the execution trace.
    Input_Halts = 0

       Halt_Status = 0;
       if (0)              // false
       return 0;           // line 06 reached

    Therefore DD halts.

    Your statement:

    HHH correctly determines that its own input DD
    cannot possibly reach its own line 06

    is exactly what you need to prove.


    You already agreed to that long ago.
    I refuse to provide more detail on that basis.

    You cannot prove it by observing an infinite recursive simulation, then aborting that simulation, returning 0, and ignoring what the caller does with that 0.


    // x86utm is never linked so it has its own printf
    int main()
    {
    Output("Input_Halts = ", HHH(DD));
    }

    Input_Halts = 0 // is what the caller does with that output.

    Everything else is irrelevant.

    One question:

       If HHH(DD) returns 0 normally to DD at line 03,
       does DD reach line 06?

    YES or NO?

    If YES, HHH's 0 is wrong.

    If NO, identify the C semantic rule that prevents line 04 from executing.

    There is no third possibility.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory on Wed Oct 21 10:53:21 2026
    From Newsgroup: comp.theory

    On 19/10/2026 17:19, olcott wrote:
    On 10/19/2026 5:32 AM, Python wrote:

    I think you are conflating three different things:

        1. the finite representation of a program P,


    The terminology is conventional and incorrect.
    It never has had the indirect reference that
    "representation of a program" has lead people
    to believe.

    (1) The term "description" is too vague. It never
    has been any mere description it has always be a
    100% completely specified sequence of steps.

    In Turing's orignal article specified how the description shall
    be encoded.

    (2) It never has has any indirect reference to any
    program that exists somewhere else. It has always
    been a completely self-contained exact sequence of steps.

    A "program" (or more commonly "algorithm" or "Turing machine")
    is a finite set of distinct rules that specify an action for
    every configuration without any reference to anyting external.
    That the description doesn't refer to anything external follows
    from that. Consequently the encoding rules of the description
    need not allow external references.

    What you have falsely presented as counter-examples does not
    satisfy these restrictions.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Wed Oct 21 08:43:01 2026
    From Newsgroup: comp.theory

    Peter,

    You are answering a different call.

    You show:

    main()
    {
    HHH(DD); // HHH returns 0 to main
    }

    I asked about:

    DD()
    {
    Halt_Status = HHH(DD); // HHH returns 0 to DD
    if (Halt_Status)
    goto HERE;
    return Halt_Status;
    }

    These are different callers.

    Your:

    Input_Halts = 0

    shows only that the OUTER HHH returns 0 to main.

    It does not answer my question about the INNER call.

    So, once again, with no simulation and no theorem involved:

    DD is executing.
    DD reaches line 03.
    HHH(DD) returns 0 TO DD.

    What happens next?

    By C semantics:

    Halt_Status = 0;
    if (0) // false
    return 0; // line 06

    Therefore DD halts.

    You have now repeatedly answered a question about:

    HHH -> main

    instead of the question I actually asked:

    HHH -> DD

    And:

    You already agreed to that long ago.

    No. I agreed that DD cannot pass line 03 WHILE its call to HHH has not returned.

    That is completely different from claiming DD cannot pass line 03 AFTER
    HHH returns 0.

    So please answer exactly this and nothing else:

    If the HHH called at DD line 03
    returns 0 to that DD,
    does DD reach line 06?

    YES or NO?
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Wed Oct 21 08:40:02 2026
    From Newsgroup: comp.theory

    On 10/21/2026 3:43 AM, Python wrote:
    Peter,

    You are answering a different call.

    You show:

       main()
       {
           HHH(DD);       // HHH returns 0 to main
       }

    I asked about:

       DD()
       {
           Halt_Status = HHH(DD);   // HHH returns 0 to DD
           if (Halt_Status)
               goto HERE;
           return Halt_Status;
       }


    The relevant DD is never called it is simulated.
    Because it is never called it cannot return.

    These are different callers.

    Your:

       Input_Halts = 0

    shows only that the OUTER HHH returns 0 to main.

    It does not answer my question about the INNER call.

    So, once again, with no simulation and no theorem involved:

       DD is executing.
       DD reaches line 03.
       HHH(DD) returns 0 TO DD.

    What happens next?

    By C semantics:

       Halt_Status = 0;
       if (0)          // false
       return 0;       // line 06

    Therefore DD halts.

    You have now repeatedly answered a question about:

       HHH -> main

    instead of the question I actually asked:

       HHH -> DD

    And:

    You already agreed to that long ago.

    No. I agreed that DD cannot pass line 03 WHILE its call to HHH has not returned.

    That is completely different from claiming DD cannot pass line 03 AFTER
    HHH returns 0.

    So please answer exactly this and nothing else:

       If the HHH called at DD line 03
       returns 0 to that DD,

    You already agreed that is impossible for the relevant DD.

       does DD reach line 06?

    YES or NO?
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Wed Oct 21 09:15:07 2026
    From Newsgroup: comp.theory

    On 10/21/2026 2:53 AM, Mikko wrote:
    On 19/10/2026 17:19, olcott wrote:
    On 10/19/2026 5:32 AM, Python wrote:

    I think you are conflating three different things:

        1. the finite representation of a program P,


    The terminology is conventional and incorrect.
    It never has had the indirect reference that
    "representation of a program" has lead people
    to believe.

    (1) The term "description" is too vague. It never
    has been any mere description it has always be a
    100% completely specified sequence of steps.

    In Turing's orignal article specified how the description shall
    be encoded.


    It misleading and in all my work henceforth called the
    source code of a Turing Machine. For 90 years that
    misleading terminology has lead people to believe that
    a halt decider can be required to report on the behavior
    of its own caller that is not its input finite string.

    (2) It never has has any indirect reference to any
    program that exists somewhere else. It has always
    been a completely self-contained exact sequence of steps.

    A "program" (or more commonly "algorithm" or "Turing machine")
    is a finite set of distinct rules that specify an action for
    every configuration without any reference to anyting external.

    In other words you get said that TM's never have external inputs.

    That the description doesn't refer to anything external follows
    from that. Consequently the encoding rules of the description
    need not allow external references.

    What you have falsely presented as counter-examples does not
    satisfy these restrictions.

    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Wed Oct 21 14:19:33 2026
    From Newsgroup: comp.theory

    Peter,

    You already agreed that is impossible for the relevant DD.

    No.

    I agreed to this:

    If HHH keeps recursively simulating DD,
    the simulated call to HHH never returns.

    I did NOT agree to this:

    Therefore HHH has correctly proved that DD does not halt.

    Those are different propositions.

    In fact, your code demonstrates why.

    You say the inner HHH cannot return 0 because doing so would allow DD to continue.

    Exactly.

    If it returns 0:

    DD reaches line 06 and halts.

    If it does not return:

    DD remains at line 03.

    THAT IS THE DIAGONAL DEPENDENCY.

    You cannot now say:

    "HHH cannot return 0 to DD,
    therefore HHH correctly returns 0 to main."

    That is not a halt decision about DD.

    It is a statement about what happens when your analyzer recursively tries
    to analyze DD.

    Your result establishes:

    recursive simulation of DD by HHH does not terminate normally.

    It does NOT establish:

    DD does not halt.

    Indeed, DD's behavior depends on the result of HHH:

    HHH returns 0 -> DD halts
    HHH returns 1 -> DD loops
    HHH never returns -> DD waits forever

    So there is no value HHH can return to DD that correctly predicts the resulting behavior.

    That is precisely the contradiction.

    You have not escaped diagonalization.

    You have implemented it.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Wed Oct 21 09:32:06 2026
    From Newsgroup: comp.theory

    On 10/21/2026 9:19 AM, Python wrote:
    Peter,

    You already agreed that is impossible for the relevant DD.

    No.

    I agreed to this:

       If HHH keeps recursively simulating DD,
       the simulated call to HHH never returns.

    I did NOT agree to this:

       Therefore HHH has correctly proved that DD does not halt.


    Axiom 1 --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of finite
    string transformation rules to finite string inputs to derive
    any and all outputs.

    Axiom 2
    Computation inherently requires relevant rather than arbitrary
    finite string transformations. To determine the sum of 2 + 3
    relevant steps must be performed.

    When HHH performs the only semantically relevant finite
    string transformations to its finite string input DD this
    conclusively proves that this finite string input DD
    specifies a non-halting sequence of configurations.
    You agreed with the can't possibly halt part.

    Those are different propositions.

    In fact, your code demonstrates why.

    You say the inner HHH cannot return 0 because doing so would allow DD to continue.

    Exactly.

    If it returns 0:

       DD reaches line 06 and halts.

    If it does not return:

       DD remains at line 03.

    THAT IS THE DIAGONAL DEPENDENCY.

    You cannot now say:

       "HHH cannot return 0 to DD,
        therefore HHH correctly returns 0 to main."

    That is not a halt decision about DD.

    It is a statement about what happens when your analyzer recursively
    tries to analyze DD.

    Your result establishes:

       recursive simulation of DD by HHH does not terminate normally.

    It does NOT establish:

       DD does not halt.

    Indeed, DD's behavior depends on the result of HHH:

       HHH returns 0 -> DD halts
       HHH returns 1 -> DD loops
       HHH never returns -> DD waits forever

    So there is no value HHH can return to DD that correctly predicts the resulting behavior.

    That is precisely the contradiction.

    You have not escaped diagonalization.

    You have implemented it.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Wed Oct 21 14:41:58 2026
    From Newsgroup: comp.theory

    Peter,

    No. You are still changing what I agreed to.

    I agreed that:

    IF every simulated HHH(DD) recursively simulates DD
    without returning,
    THEN the simulated DD cannot reach line 06.

    That is:

    HHH does not return -> DD does not halt.

    You are claiming that this proves:

    DD does not halt.

    It does not.

    Your Axioms 1 and 2 do not bridge that logical gap.

    Calling your simulation steps "the only semantically relevant finite
    string transformations" does not make the missing premise disappear.

    Your DD specifies:

    HHH(DD) returns 0 -> DD halts
    HHH(DD) returns 1 -> DD loops
    HHH(DD) never returns -> DD waits forever

    Therefore the behavior specified by DD is not simply:

    "a non-halting sequence of configurations"

    independently of HHH.

    It depends on HHH.

    Your recursive simulation selects the third branch:

    HHH never returns.

    Then you observe:

    DD never reaches line 06.

    Correct.

    But you subsequently use that observation to justify producing:

    HHH(DD) = 0.

    And 0 selects the FIRST branch:

    HHH returns 0 -> DD halts.

    That is the error.

    You cannot establish the behavior under:

    HHH never returns

    and then claim it remains the behavior under:

    HHH returns 0.

    Those are different executions of your own transition rules.

    So please stop saying that I agreed "DD can't possibly halt."

    I agreed to the conditional:

    IF HHH never returns, DD cannot halt.

    I emphatically do not agree to:

    DD cannot halt.

    And your own C code refutes the latter:

    HHH returns 0 -> DD reaches line 06.

    If your "semantically relevant transformations" exclude that transition,
    then they are not faithfully implementing the semantics of the C program
    you supplied.

    This has nothing to do with arbitrary versus relevant transformations.

    It is elementary logic:

    P -> Q

    does not imply:

    Q.

    Your entire conclusion depends on dropping P.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Wed Oct 21 10:31:13 2026
    From Newsgroup: comp.theory

    On 10/21/2026 9:41 AM, Python wrote:
    Peter,

    No. You are still changing what I agreed to.

    I agreed that:

       IF every simulated HHH(DD) recursively simulates DD
       without returning,
       THEN the simulated DD cannot reach line 06.


    DD simulated by HHH according to the operational semantics of
    the C programming language cannot possibly reach its own line
    06 and halt whether or not HHH ever aborts this simulation. The
    only thing that counts as halting is reaching its own line 06.

    That is:

       HHH does not return  ->  DD does not halt.

    You are claiming that this proves:

       DD does not halt.

    It does not.

    Your Axioms 1 and 2 do not bridge that logical gap.

    Calling your simulation steps "the only semantically relevant finite
    string transformations" does not make the missing premise disappear.

    Your DD specifies:

       HHH(DD) returns 0  -> DD halts
       HHH(DD) returns 1  -> DD loops
       HHH(DD) never returns -> DD waits forever

    Therefore the behavior specified by DD is not simply:

       "a non-halting sequence of configurations"

    independently of HHH.

    It depends on HHH.

    Your recursive simulation selects the third branch:

       HHH never returns.

    Then you observe:

       DD never reaches line 06.

    Correct.

    But you subsequently use that observation to justify producing:

       HHH(DD) = 0.

    And 0 selects the FIRST branch:

       HHH returns 0 -> DD halts.

    That is the error.

    You cannot establish the behavior under:

       HHH never returns

    and then claim it remains the behavior under:

       HHH returns 0.

    Those are different executions of your own transition rules.

    So please stop saying that I agreed "DD can't possibly halt."

    I agreed to the conditional:

       IF HHH never returns, DD cannot halt.

    I emphatically do not agree to:

       DD cannot halt.

    And your own C code refutes the latter:

       HHH returns 0 -> DD reaches line 06.

    If your "semantically relevant transformations" exclude that transition, then they are not faithfully implementing the semantics of the C program
    you supplied.

    This has nothing to do with arbitrary versus relevant transformations.

    It is elementary logic:

       P -> Q

    does not imply:

       Q.

    Your entire conclusion depends on dropping P.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Wed Oct 21 17:44:37 2026
    From Newsgroup: comp.theory

    Peter,

    This is getting seriously frustrating.

    You are simply repeating the assertion I have just challenged instead of answering the challenge.

    DD simulated by HHH according to the operational semantics of
    the C programming language cannot possibly reach its own line
    06 and halt whether or not HHH ever aborts this simulation.

    STOP.

    "HHH aborts its simulation" is NOT the question.

    The question is what happens when the HHH CALL AT LINE 03 RETURNS 0 TO DD.

    Your own C code is:

    03 Halt_Status = HHH(DD);
    04 if (Halt_Status)
    05 goto HERE;
    06 return Halt_Status;

    Now apply the operational semantics of C that you keep invoking.

    If the call at line 03 returns 0:

    Halt_Status = 0;

    then control proceeds to line 04:

    if (0)

    which is false, so control proceeds to line 06:

    return 0;

    DD HALTS.

    There is nothing left to interpret here.

    You keep responding:

    "But my OUTER HHH aborts the simulation."

    I KNOW.

    That is not an answer.

    You are using the fact that your simulator destroys the simulated
    execution before line 06 as "proof" that the program cannot reach line 06.

    That is absurd.

    If I terminate a debugger while it is running a program, I have not proved that the program cannot terminate.

    And after all these messages, you still refuse to answer the simplest
    question in the entire discussion:

    IF THE HHH CALL AT DD LINE 03 RETURNS 0 TO DD,
    DOES DD REACH LINE 06?

    YES or NO?

    Not:

    "the outer simulation is aborted."

    Not:

    "the simulated instance is dead."

    Not:

    "only semantically relevant transformations count."

    Not Post.

    Not Prawitz.

    Not x86.

    Not HHH1.

    YES or NO.

    If YES, then your claim that DD "cannot possibly reach line 06" is false.

    If NO, show the C operational-semantic transition that prevents execution
    from going from line 03 to line 04 after the function call returns.

    You cannot keep claiming to be following "the operational semantics of C" while refusing to follow the most elementary operational transition in the program.

    After this many exchanges, repeating "cannot possibly reach line 06" is no longer an argument.

    It is precisely the proposition you have been asked to prove.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Wed Oct 21 13:21:31 2026
    From Newsgroup: comp.theory

    On 10/21/2026 12:44 PM, Python wrote:
    Peter,

    This is getting seriously frustrating.

    You are simply repeating the assertion I have just challenged instead of answering the challenge.

    DD simulated by HHH according to the operational semantics of
    the C programming language cannot possibly reach its own line
    06 and halt whether or not HHH ever aborts this simulation.

    STOP.

    "HHH aborts its simulation" is NOT the question.

    The question is what happens when the HHH CALL AT LINE 03 RETURNS 0 TO DD.


    THIS CANNOT POSSIBLY HAPPEN TO THE RELEVANT INPUT FINITE
    STRING WHEN THE RELEVANT FINITE STRING TRANSFORMATIONS ARE
    APPLIED TO IT. CHANGING THE SUBJECT AWAY FROM THIS IS
    DIVERSION NOT REBUTTAL.

    Your own C code is:

       03  Halt_Status = HHH(DD);
       04  if (Halt_Status)
       05      goto HERE;
       06  return Halt_Status;

    Now apply the operational semantics of C that you keep invoking.

    If the call at line 03 returns 0:

       Halt_Status = 0;

    then control proceeds to line 04:

       if (0)

    which is false, so control proceeds to line 06:

       return 0;

    DD HALTS.

    There is nothing left to interpret here.

    You keep responding:

       "But my OUTER HHH aborts the simulation."

    I KNOW.

    That is not an answer.

    You are using the fact that your simulator destroys the simulated
    execution before line 06 as "proof" that the program cannot reach line 06.

    That is absurd.

    If I terminate a debugger while it is running a program, I have not
    proved that the program cannot terminate.

    And after all these messages, you still refuse to answer the simplest question in the entire discussion:

       IF THE HHH CALL AT DD LINE 03 RETURNS 0 TO DD,
       DOES DD REACH LINE 06?

    YES or NO?

    Not:

       "the outer simulation is aborted."

    Not:

       "the simulated instance is dead."

    Not:

       "only semantically relevant transformations count."

    Not Post.

    Not Prawitz.

    Not x86.

    Not HHH1.

    YES or NO.

    If YES, then your claim that DD "cannot possibly reach line 06" is false.

    If NO, show the C operational-semantic transition that prevents
    execution from going from line 03 to line 04 after the function call returns.

    You cannot keep claiming to be following "the operational semantics of
    C" while refusing to follow the most elementary operational transition
    in the program.

    After this many exchanges, repeating "cannot possibly reach line 06" is
    no longer an argument.

    It is precisely the proposition you have been asked to prove.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Wed Oct 21 23:18:11 2026
    From Newsgroup: comp.theory

    Peter,

    GOOD. FINALLY.

    THIS CANNOT POSSIBLY HAPPEN

    Then you have finally admitted the problem.

    HHH CANNOT RETURN ITS SUPPOSED HALTING DECISION TO THE DD WHOSE HALTING BEHAVIOR IT CLAIMS TO HAVE DECIDED.

    That is not a refutation of the Halting Theorem.

    THAT IS THE FUCKING PROBLEM.

    You keep boasting that:

    HHH(DD) == 0

    is a correct halt decision.

    But when I ask what happens if that 0 is actually returned to the relevant
    DD, you now scream:

    THIS CANNOT POSSIBLY HAPPEN.

    Exactly.

    Because if it happens:

    HHH returns 0
    -> DD receives 0
    -> if (0) is false
    -> DD reaches line 06
    -> DD HALTS

    making the 0 wrong.

    And if HHH returns 1:

    HHH returns 1
    -> DD receives 1
    -> DD loops
    -> DD DOES NOT HALT

    making the 1 wrong.

    So your only escape is:

    HHH must not return either answer to the relevant DD.

    YES.

    THAT IS THE DIAGONAL CONTRADICTION.

    Returning 0 to MAIN after killing an internal simulation does not
    magically turn that 0 into a correct answer returned to DD.

    You have changed:

    HHH returns 0 to DD

    into:

    outer HHH aborts its simulation and returns 0 to main.

    Those are not the same computation.

    And then you have the nerve to accuse ME of changing the subject.

    No.

    I have been asking the SAME question for message after message:

    What happens if the HHH called by DD returns 0 to DD?

    You have finally answered:

    IT CANNOT POSSIBLY HAPPEN.

    Fine.

    Then HHH is not a total halt decider for that call.

    End of story.

    Your "relevant finite string transformations" do not rescue you. They are merely the machinery by which you discovered that HHH cannot return a
    correct Boolean answer to the diagonal caller.

    That is exactly what the theorem says.

    You have spent dozens of messages constructing the diagonal contradiction
    in an x86 emulator, observing it experimentally, and then declaring that
    the contradiction refutes the theorem rather than your supposed decider.

    It doesn't.

    Your own answer now establishes:

    0 cannot be returned correctly.
    1 cannot be returned correctly.
    refusing to return is not a total decision.

    There are no cases left.

    You have not refuted the Halting Theorem.

    You have built a remarkably elaborate demonstration of it.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Wed Oct 21 18:35:28 2026
    From Newsgroup: comp.theory

    On 10/21/2026 6:18 PM, Python wrote:
    Peter,

    GOOD. FINALLY.

    THIS CANNOT POSSIBLY HAPPEN

    Then you have finally admitted the problem.

    HHH CANNOT RETURN ITS SUPPOSED HALTING DECISION TO THE DD WHOSE HALTING BEHAVIOR IT CLAIMS TO HAVE DECIDED.

    That is not a refutation of the Halting Theorem.

    THAT IS THE FUCKING PROBLEM.

    You keep boasting that:

       HHH(DD) == 0

    is a correct halt decision.

    But when I ask what happens if that 0 is actually returned to the
    relevant DD, you now scream:

       THIS CANNOT POSSIBLY HAPPEN.

    Exactly.

    Because if it happens:

       HHH returns 0
       -> DD receives 0
       -> if (0) is false
       -> DD reaches line 06
       -> DD HALTS

    making the 0 wrong.

    And if HHH returns 1:

       HHH returns 1
       -> DD receives 1
       -> DD loops
       -> DD DOES NOT HALT

    making the 1 wrong.

    So your only escape is:

       HHH must not return either answer to the relevant DD.

    YES.

    THAT IS THE DIAGONAL CONTRADICTION.

    Returning 0 to MAIN after killing an internal simulation does not
    magically turn that 0 into a correct answer returned to DD.

    You have changed:

       HHH returns 0 to DD

    into:

       outer HHH aborts its simulation and returns 0 to main.

    Those are not the same computation.

    And then you have the nerve to accuse ME of changing the subject.

    No.

    I have been asking the SAME question for message after message:

       What happens if the HHH called by DD returns 0 to DD?

    You have finally answered:

       IT CANNOT POSSIBLY HAPPEN.

    Fine.

    Then HHH is not a total halt decider for that call.

    End of story.

    Your "relevant finite string transformations" do not rescue you. They
    are merely the machinery by which you discovered that HHH cannot return
    a correct Boolean answer to the diagonal caller.

    That is exactly what the theorem says.

    You have spent dozens of messages constructing the diagonal
    contradiction in an x86 emulator, observing it experimentally, and then declaring that the contradiction refutes the theorem rather than your supposed decider.

    It doesn't.

    Your own answer now establishes:

       0 cannot be returned correctly.
       1 cannot be returned correctly.
       refusing to return is not a total decision.

    There are no cases left.

    You have not refuted the Halting Theorem.

    You have built a remarkably elaborate demonstration of it.

    HHH(DD) reports on the behavior specified by its
    finite string input according to the only relevant
    finite string transformations that exist.

    That you keep insisting that it must report on
    something other than what its finite string
    input specifies seems dishonest at this point.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Python@[email protected] to comp.theory,sci.logic on Thu Oct 22 02:23:41 2026
    From Newsgroup: comp.theory

    Peter,

    That you keep insisting that it must report on
    something other than what its finite string
    input specifies seems dishonest at this point.

    That accusation is fucking rich.

    I am insisting on EXACTLY what your finite string specifies.

    Your finite string contains the equivalent of:

    Halt_Status = HHH(DD);

    followed by:

    if (Halt_Status)
    goto HERE;

    followed by:

    return Halt_Status;

    THAT is what your finite string specifies.

    Not merely:

    recursively simulate DD forever

    and certainly not:

    abort the simulation, return 0 to main,
    and pretend DD received that 0.

    The behavior of DD specified by those bytes includes the semantics of the
    call to HHH and what DD does with its result.

    And you have now explicitly admitted that HHH cannot return its supposed answer to that DD.

    Why?

    Because the instant it does, your own finite string transformations give:

    HHH returns 0 -> DD halts
    HHH returns 1 -> DD loops

    So stop accusing me of changing the subject.

    I am following YOUR finite string, YOUR C code, YOUR x86 code, and YOUR operational semantics.

    YOU are the one who stops following them at precisely the point where the result contradicts your claim.

    You simulate:

    DD calls HHH

    and then insist that this HHH call can never return.

    Fine.

    Then it is not a total decider on that execution.

    You instead abort the entire simulation and return 0 to main.

    Fine.

    Then you have returned a result to MAIN, not to the HHH call inside DD,
    and you have learned only that your recursive simulation failed to
    complete.

    You cannot have it both ways.

    Either the HHH called by DD returns its decision, in which case the
    diagonal contradiction follows immediately, or it does not, in which case
    HHH is not a total halt decider for that computation.

    There is no dishonesty here except perhaps in continuing to call that an answer to an argument you systematically refuse to follow through its
    final two lines of C.

    So enough rhetoric.

    Show me the exact finite-string transformation, justified by the
    operational semantics of C or x86, that makes this implication false:

    HHH(DD) returns 0 to DD
    =>
    DD reaches its final return.

    You cannot.

    Because your own program says exactly that.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Fri Oct 23 10:42:25 2026
    From Newsgroup: comp.theory

    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, >>>>>>> so what?

    it is solvable for an enumerable set of machines that includes all >>>>>> possible output sequences, it is not solvable for all possible
    machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or
    "main()".
    The halting problem asks "How can one determine whether a computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given
    the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that
    eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal
    definition of the solution of the halting problem, which Linz defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
    From H' we construct another Turing machine Ĥ.
    This new machine takes as input WM, copies it,
    and then behaves exactly like H'. Then the action
    of Ĥ is such that

       q0 WM ⊢* Ĥq0 WM WM ⊢* Ĥ∞,
    if M applied to WM halts, and
       q0 WM ⊢* Ĥq0 WM WM ⊢* Ĥ y1 qn y2,
    if M applied to WM does not halt.
    </Linz text>

    Irrelevant. The topic of the discussion woas the meaning of "halting
    problem" which is already defined before the headline of theorem 12.1.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory on Fri Oct 23 10:44:18 2026
    From Newsgroup: comp.theory

    On 16/10/2026 16:28, olcott wrote:
    On 10/16/2026 3:27 AM, Mikko wrote:
    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If >>>>>>>>>>> so, so what?

    it is solvable for an enumerable set of machines that includes >>>>>>>>>> all possible output sequences, it is not solvable for all >>>>>>>>>> possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or >>>>>>>> "main()".
    The halting problem asks "How can one determine whether a
    computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given >>>>>> the description of a Turing machine M and an input w, does M, when >>>>>> started in the initial configuration qow, perform a computation that >>>>>> eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal >>>>>> definition of the solution of the halting problem, which Linz defines >>>>>> as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant
    to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that
    what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in particular
    how Linz defines it. As long as you don't understand or can't express
    that there is no point to go further.


    Axiom 1
    --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of
    finite string transformation rules to finite string
    inputs to derive any and all outputs.

    Axiom 2
    Computation requires correct rather than
    arbitrary finite string transformations.

    The brand new key insight that I had into the
    foundations of computation is the notion of
    {correct finite string transformations} as
    opposed to and contrast with {arbitrary finite
    string transformations}.

    If we need to know the sum of 2 + 3 there seems
    to be only a single sequence of finite string
    transformation rules that derive this within
    arithmetic operations on the integer type. This
    is one concrete example of how computation is
    limited to correct finite string transformations.

    You are trying to deceive with tanother switch of topic.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Fri Oct 23 10:58:35 2026
    From Newsgroup: comp.theory

    On 20/10/2026 17:29, olcott wrote:
    On 10/20/2026 2:23 AM, Mikko wrote:
    On 19/10/2026 17:34, olcott wrote:
    On 10/19/2026 9:05 AM, Python wrote:
    Peter,

    I think your latest example makes the disagreement extremely precise:

        int main()
        {
           DD(); // is neither the input to HHH nor a finite static string
        }

    I completely agree with the comment.

    DD() executing in main is NOT the input to HHH.

    But the Halting Theorem does not require it to be.


    DD cannot possibly do the opposite of whatever HHH
    returns to it when DD is not the caller of HHH.
    What purpose would a DD that does not call HHH serve?

    That DD() is incorrectly presumed to be the counter-example
    input static finite string to the Halting Theorem.

    Why would you incorrectly presume that the DD that does not call
    HHH would be a counter-example input static finite string to the
    Halting Theorem?

    (a) It is not an input it is the caller
    (b) It is an executing process thus not a static finite string

    The main shown above looks like a main function in C language.
    If it really is then it calls some DD that is is a static finite
    string in some some language (either C or a translation in some
    other langage).

    According to C rules a pointer to a function (like DD) can be
    given as imput to a function but the function with that input
    can only call the pointed function or determine wther it points
    to the same function as another pointer. It cannot read the
    finite string pointed to (unless there is a non-standard
    implementation feature that permits such reading).
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Fri Oct 23 11:06:24 2026
    From Newsgroup: comp.theory

    On 21/10/2026 17:15, olcott wrote:
    On 10/21/2026 2:53 AM, Mikko wrote:
    On 19/10/2026 17:19, olcott wrote:
    On 10/19/2026 5:32 AM, Python wrote:

    I think you are conflating three different things:

        1. the finite representation of a program P,

    The terminology is conventional and incorrect.
    It never has had the indirect reference that
    "representation of a program" has lead people
    to believe.

    (1) The term "description" is too vague. It never
    has been any mere description it has always be a
    100% completely specified sequence of steps.

    In Turing's orignal article specified how the description shall
    be encoded.

    It misleading and in all my work henceforth called the
    source code of a Turing Machine.

    There is nothing misleading in Turings specification of the
    standard description.

    The term "souce code" does not specify the language. A halting
    decider needs be able to decide about every Turting machine,
    regardless of the language of its orirginal presentation.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory on Fri Oct 23 11:13:41 2026
    From Newsgroup: comp.theory

    On 19/10/2026 18:56, olcott wrote:
    On 10/19/2026 10:35 AM, Python wrote:
    Peter,

    When both of your own answers are wrong this proves
    that I am correct.

    No. It proves exactly the Halting Theorem.

    You are overlooking what your program depends on.

    Your 2004 example says:

        if YOU say HALTS:
            loop
        else:
            halt

    So there is no answer that can be both:

        1. supplied to the program, and
        2. a correct prediction of the resulting behavior.

    Agreed.

    But that does not prove that halting is an "incorrect question".


    On 6/23/2004 9:34 PM, Peter Olcott wrote:

    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;

    Does this program Halt?

    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)

    Please ONLY PROVIDE CORRECT ANSWERS!

    I asked you for your answer and YOU failed.

    This is NOT a fundamental limit to human reasoning
    Maybe it is, maybe not. You don't know, and neither does anybody else.
    So far the limits of human reasoning are unknown.

    But whatever the limits of human reasoning are, the unsolvability of
    the halting problem is a limit to Turing computability and to all
    known ways to compute.
    --
    Mikko

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Fri Oct 23 08:29:34 2026
    From Newsgroup: comp.theory

    On 10/23/2026 2:42 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, >>>>>>>> so what?

    it is solvable for an enumerable set of machines that includes
    all possible output sequences, it is not solvable for all
    possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or
    "main()".
    The halting problem asks "How can one determine whether a computation >>>>> halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given
    the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that
    eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal
    definition of the solution of the halting problem, which Linz defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.
    This new machine takes as input WM, copies it,
    and then behaves exactly like H'. Then the action
    of Ĥ is such that

        q0 WM ⊢* Ĥq0 WM WM ⊢* Ĥ∞,
    if M applied to WM halts, and
        q0 WM ⊢* Ĥq0 WM WM ⊢* Ĥ y1 qn y2,
    if M applied to WM does not halt.
    </Linz text>

    Irrelevant. The topic of the discussion woas the meaning of "halting
    problem" which is already defined before the headline of theorem 12.1.


    It is defined incoherently.
    You don't pay close enough attention to see this.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Fri Oct 23 09:15:14 2026
    From Newsgroup: comp.theory

    On 10/23/2026 2:44 AM, Mikko wrote:
    On 16/10/2026 16:28, olcott wrote:
    On 10/16/2026 3:27 AM, Mikko wrote:
    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If >>>>>>>>>>>> so, so what?

    it is solvable for an enumerable set of machines that
    includes all possible output sequences, it is not solvable >>>>>>>>>>> for all possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or >>>>>>>>> "main()".
    The halting problem asks "How can one determine whether a
    computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are >>>>>>>> also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: >>>>>>> given
    the description of a Turing machine M and an input w, does M, when >>>>>>> started in the initial configuration qow, perform a computation that >>>>>>> eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal >>>>>>> definition of the solution of the halting problem, which Linz
    defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant >>>>> to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that
    what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in particular
    how Linz defines it. As long as you don't understand or can't express
    that there is no point to go further.


    Axiom 1
    --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of
    finite string transformation rules to finite string
    inputs to derive any and all outputs.

    Axiom 2
    Computation requires correct rather than
    arbitrary finite string transformations.

    The brand new key insight that I had into the
    foundations of computation is the notion of
    {correct finite string transformations} as
    opposed to and contrast with {arbitrary finite
    string transformations}.

    If we need to know the sum of 2 + 3 there seems
    to be only a single sequence of finite string
    transformation rules that derive this within
    arithmetic operations on the integer type. This
    is one concrete example of how computation is
    limited to correct finite string transformations.

    You are trying to deceive with tanother switch of topic.


    The sum of 2 + 3 is a simple enough computation that
    it is easily seen that relevant finite string
    transformations are required to derive this sum.

    On the input: int X = sum(2,3);
    int sum(int x, int y) { printf("Booyah!"); }
    would not get the actual sum of 2 + 3

    This simple example proves that finite string
    transformation must be relevant to the computation.
    This is more easily stated for deciders.

    All of the finite string transformations must
    be relevant to the decision criteria.

    int strcmp(const char *str1, const char *str2) { return 0; };
    Would be a correct decider within the theory of computation
    for some inputs even though it always ignores its input thus
    never makes any actual decision.

    Because of misleading terms-of-the-art such as this mental
    clarity of the details has always been ignored.

    When use the ordinary English term "decider" then we
    can directly see that inference steps relevant to the
    decision criteria must be applied.

    The finite string transformations for HHH(DD) are
    inference steps within the operational semantics
    of C to determine whether or not this finite string
    DD specifies a sequence of inferences steps that
    reach its own final state.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Fri Oct 23 09:17:43 2026
    From Newsgroup: comp.theory

    On 10/23/2026 2:58 AM, Mikko wrote:
    On 20/10/2026 17:29, olcott wrote:
    On 10/20/2026 2:23 AM, Mikko wrote:
    On 19/10/2026 17:34, olcott wrote:
    On 10/19/2026 9:05 AM, Python wrote:
    Peter,

    I think your latest example makes the disagreement extremely precise: >>>>>
        int main()
        {
           DD(); // is neither the input to HHH nor a finite static string
        }

    I completely agree with the comment.

    DD() executing in main is NOT the input to HHH.

    But the Halting Theorem does not require it to be.


    DD cannot possibly do the opposite of whatever HHH
    returns to it when DD is not the caller of HHH.
    What purpose would a DD that does not call HHH serve?

    That DD() is incorrectly presumed to be the counter-example
    input static finite string to the Halting Theorem.

    Why would you incorrectly presume that the DD that does not call
    HHH

    You must pay 100% complete attention to the exact meaning of
    every single word that I say.

    Your words are a very awfully terrible paraphrase of my words.
    I am stopping here.

    would be a counter-example input static finite string to the
    Halting Theorem?

    (a) It is not an input it is the caller
    (b) It is an executing process thus not a static finite string

    The main shown above looks like a main function in C language.
    If it really is then it calls some DD that is is a static finite
    string in some some language (either C or a translation in some
    other langage).

    According to C rules a pointer to a function (like DD) can be
    given as imput to a function but the function with that input
    can only call the pointed function or determine wther it points
    to the same function as another pointer. It cannot read the
    finite string pointed to (unless there is a non-standard
    implementation feature that permits such reading).

    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Fri Oct 23 09:26:01 2026
    From Newsgroup: comp.theory

    On 10/23/2026 3:06 AM, Mikko wrote:
    On 21/10/2026 17:15, olcott wrote:
    On 10/21/2026 2:53 AM, Mikko wrote:
    On 19/10/2026 17:19, olcott wrote:
    On 10/19/2026 5:32 AM, Python wrote:

    I think you are conflating three different things:

        1. the finite representation of a program P,

    The terminology is conventional and incorrect.
    It never has had the indirect reference that
    "representation of a program" has lead people
    to believe.

    (1) The term "description" is too vague. It never
    has been any mere description it has always be a
    100% completely specified sequence of steps.

    In Turing's orignal article specified how the description shall
    be encoded.

    It misleading and in all my work henceforth called the
    source code of a Turing Machine.

    There is nothing misleading in Turings specification of the
    standard description.


    That you have yet noticed. Dunning/Kruger
    (1) It is no mere description, it is a 100% complete specification
    (2) Is is not about some machine somewhere else it is source code
    written in the Turing Machine programming language.

    The term "souce code" does not specify the language.

    The source code for Turing Machines is the Turing Machines
    source code language. For functions written in C it is the
    C programming language.

    A halting
    decider needs be able to decide about every Turting machine,

    Not at all. It needs to apply relevant finite string inference
    steps to its input computer programming source code.

    regardless of the language of its orirginal presentation.


    You cannot speak to a guy that only knows Chinese
    in English and have any communication.
    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Fri Oct 23 09:31:27 2026
    From Newsgroup: comp.theory

    On 10/23/2026 3:13 AM, Mikko wrote:
    On 19/10/2026 18:56, olcott wrote:
    On 10/19/2026 10:35 AM, Python wrote:
    Peter,

    When both of your own answers are wrong this proves
    that I am correct.

    No. It proves exactly the Halting Theorem.

    You are overlooking what your program depends on.

    Your 2004 example says:

        if YOU say HALTS:
            loop
        else:
            halt

    So there is no answer that can be both:

        1. supplied to the program, and
        2. a correct prediction of the resulting behavior.

    Agreed.

    But that does not prove that halting is an "incorrect question".


    On 6/23/2004 9:34 PM, Peter Olcott wrote:
    ;
    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;
    ;
    Does this program Halt?
    ;
    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)
    ;
    Please ONLY PROVIDE CORRECT ANSWERS!

    I asked you for your answer and YOU failed.

    This is NOT a fundamental limit to human reasoning
    Maybe it is, maybe not. You don't know, and neither does anybody else.
    So far the limits of human reasoning are unknown.


    The meaning of the words proves that the inability
    to correctly answer an incorrect question that has
    no correct answer is a short-coming of the question
    and not the person asked.

    That you may "interpret" that differently can only
    be an error of interpretation. That people have
    always believed that opinion sometimes overrules
    verified fact is currently literally killing the
    whole planet.

    But whatever the limits of human reasoning are, the unsolvability of
    the halting problem is a limit to Turing computability and to all
    known ways to compute.

    --
    Copyright 2026 Olcott

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic,comp.ai.philosophy on Sat Oct 24 10:55:36 2026
    From Newsgroup: comp.theory

    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, so
    what?

    it is solvable for an enumerable set of machines that includes all
    possible output sequences, it is not solvable for all possible machines >>>
    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or "main()".
    The halting problem asks "How can one determine whether a computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this* https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    I.e., there is nothing about "DD()" or "main()", just as I said.
    Though Linz says nothing about "embedded_H", either; that is
    your own interpolation. And you omitted important parts of the
    definition.

    *Keeps repeating unless aborted*
    (a) Ĥ copies its input ⟨Ĥ⟩
    (b) Ĥ invokes embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩
    (c) embedded_H simulates ⟨Ĥ⟩ ⟨Ĥ⟩

    No, that is not a part of the definition. And not a part of anything
    else in Linz's book, either.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Sat Oct 24 10:58:44 2026
    From Newsgroup: comp.theory

    On 23/10/2026 17:17, olcott wrote:
    On 10/23/2026 2:58 AM, Mikko wrote:
    On 20/10/2026 17:29, olcott wrote:
    On 10/20/2026 2:23 AM, Mikko wrote:
    On 19/10/2026 17:34, olcott wrote:
    On 10/19/2026 9:05 AM, Python wrote:
    Peter,

    I think your latest example makes the disagreement extremely precise: >>>>>>
        int main()
        {
           DD(); // is neither the input to HHH nor a finite static >>>>>> string
        }

    I completely agree with the comment.

    DD() executing in main is NOT the input to HHH.

    But the Halting Theorem does not require it to be.


    DD cannot possibly do the opposite of whatever HHH
    returns to it when DD is not the caller of HHH.
    What purpose would a DD that does not call HHH serve?

    That DD() is incorrectly presumed to be the counter-example
    input static finite string to the Halting Theorem.

    Why would you incorrectly presume that the DD that does not call
    HHH

    You must pay 100% complete attention to the exact meaning of
    every single word that I say.

    We can regard that request as satisfied as you did not identify
    even a single overlooked word.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Sat Oct 24 11:14:18 2026
    From Newsgroup: comp.theory

    On 23/10/2026 17:26, olcott wrote:
    On 10/23/2026 3:06 AM, Mikko wrote:
    On 21/10/2026 17:15, olcott wrote:
    On 10/21/2026 2:53 AM, Mikko wrote:
    On 19/10/2026 17:19, olcott wrote:
    On 10/19/2026 5:32 AM, Python wrote:

    I think you are conflating three different things:

        1. the finite representation of a program P,

    The terminology is conventional and incorrect.
    It never has had the indirect reference that
    "representation of a program" has lead people
    to believe.

    (1) The term "description" is too vague. It never
    has been any mere description it has always be a
    100% completely specified sequence of steps.

    In Turing's orignal article specified how the description shall
    be encoded.

    It misleading and in all my work henceforth called the
    source code of a Turing Machine.

    There is nothing misleading in Turings specification of the
    standard description.

    That you have yet noticed. Dunning/Kruger

    That I haven't meatoned your Dunning/Kruger does not mean that
    I had not noticed it. I just regard it as irrelevant.

    (1) It is no mere description, it is a 100% complete specification

    The problem statement clearly says "description". Most formulation
    leaves specification of the encoding rules to the solver of the
    problem, so if the description is sufficiently complete the solver
    has failed.

    (2) Is is not about some machine somewhere else it is source code
    written in the Turing Machine programming language.

    As noted above, that is usually not a part of the problem specification.
    The solver is free to require that or another way to describe.

    The term "souce code" does not specify the language.

    The source code for Turing Machines is the Turing Machines
    source code language. For functions written in C it is the
    C programming language.

    There is no "the Turing Machine source code language". The language
    Turing origially used is more complicated than necessary. Therefore
    most authors use a simpler language. They don't usually specify
    every detail of the language because those deations are not relevant
    to their purposes.

    A halting
    decider needs be able to decide about every Turting machine,

    Not at all. It needs to apply relevant finite string inference
    steps to its input computer programming source code.

    From the meanings of the owrds follow that it it is not able to
    decide about every Turing machine it is not a halting decider.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Sat Oct 24 11:18:39 2026
    From Newsgroup: comp.theory

    On 23/10/2026 17:31, olcott wrote:
    On 10/23/2026 3:13 AM, Mikko wrote:
    On 19/10/2026 18:56, olcott wrote:
    On 10/19/2026 10:35 AM, Python wrote:
    Peter,

    When both of your own answers are wrong this proves
    that I am correct.

    No. It proves exactly the Halting Theorem.

    You are overlooking what your program depends on.

    Your 2004 example says:

        if YOU say HALTS:
            loop
        else:
            halt

    So there is no answer that can be both:

        1. supplied to the program, and
        2. a correct prediction of the resulting behavior.

    Agreed.

    But that does not prove that halting is an "incorrect question".


    On 6/23/2004 9:34 PM, Peter Olcott wrote:
    ;
    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;
    ;
    Does this program Halt?
    ;
    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)
    ;
    Please ONLY PROVIDE CORRECT ANSWERS!

    I asked you for your answer and YOU failed.

    This is NOT a fundamental limit to human reasoning
    Maybe it is, maybe not. You don't know, and neither does anybody else.
    So far the limits of human reasoning are unknown.

    The meaning of the words proves that the inability
    to correctly answer an incorrect question that has
    no correct answer is a short-coming of the question
    and not the person asked.

    That we can't tell what are the limits of human reasoning does not
    mean that the question is incorrect. It simply means that we have
    not yet found out all limits. People are still working on that and
    may find out more, perhaps even all.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Sat Oct 24 11:28:46 2026
    From Newsgroup: comp.theory

    On 23/10/2026 17:15, olcott wrote:
    On 10/23/2026 2:44 AM, Mikko wrote:
    On 16/10/2026 16:28, olcott wrote:
    On 10/16/2026 3:27 AM, Mikko wrote:
    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If >>>>>>>>>>>>> so, so what?

    it is solvable for an enumerable set of machines that >>>>>>>>>>>> includes all possible output sequences, it is not solvable >>>>>>>>>>>> for all possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or >>>>>>>>>> "main()".
    The halting problem asks "How can one determine whether a >>>>>>>>>> computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are >>>>>>>>> also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: >>>>>>>> given
    the description of a Turing machine M and an input w, does M, when >>>>>>>> started in the initial configuration qow, perform a computation >>>>>>>> that
    eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal >>>>>>>> definition of the solution of the halting problem, which Linz >>>>>>>> defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant >>>>>> to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that
    what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in particular >>>> how Linz defines it. As long as you don't understand or can't express
    that there is no point to go further.


    Axiom 1
    --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of
    finite string transformation rules to finite string
    inputs to derive any and all outputs.

    Axiom 2
    Computation requires correct rather than
    arbitrary finite string transformations.

    The brand new key insight that I had into the
    foundations of computation is the notion of
    {correct finite string transformations} as
    opposed to and contrast with {arbitrary finite
    string transformations}.

    If we need to know the sum of 2 + 3 there seems
    to be only a single sequence of finite string
    transformation rules that derive this within
    arithmetic operations on the integer type. This
    is one concrete example of how computation is
    limited to correct finite string transformations.

    You are trying to deceive with tanother switch of topic.


    The sum of 2 + 3 is a simple enough computation that
    it is easily seen that relevant finite string
    transformations are required to derive this sum

    On the input: int X = sum(2,3);
    int sum(int x, int y) { printf("Booyah!"); }
    would not get the actual sum of 2 + 3

    No, but in some situations what it does may be more inportant
    than the sum of 2 and 3. For example, when a program that
    needs the sum function does not behave as expected. The code
    above can be used to determine when the program calls sum or
    whther it does it at all.

    This simple example proves that finite string
    transformation must be relevant to the computation.

    It is obvious even without a proof that at least some relevant
    operation is needed. It does not tell what transformations
    are needed or relevant or whther the set of necessary transformations
    is unique. And nothing shows that an actual implementation must
    use finite strings even if the description of the process may do.

    This is more easily stated for deciders.

    All of the finite string transformations must
    be relevant to the decision criteria.

    It is perfectly possible and perfectly legal to construct a
    decider that performs irrelevant operations.
    --
    Mikko

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Sat Oct 24 08:53:01 2026
    From Newsgroup: comp.theory

    On 10/24/2026 2:55 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, so >>>>>> what?

    it is solvable for an enumerable set of machines that includes all
    possible output sequences, it is not solvable for all possible
    machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or "main()". >>> The halting problem asks "How can one determine whether a computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*
    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    I.e., there is nothing about "DD()" or "main()", just as I said.
    Though Linz says nothing about "embedded_H", either; that is
    your own interpolation. And you omitted important parts of the
    definition.


    Ĥ.q0 ⟨Ĥ⟩ // plays the same role as DD() executed from main()

    Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ // is called by Ĥ.q0 ⟨Ĥ⟩ the same way that HHH(DD) is called by DD() executed in main() and is
    only accountable for the behavior specified by its input
    finite strings which get stuck in recursive simulation.

    *Keeps repeating unless aborted*
    (a) Ĥ copies its input ⟨Ĥ⟩
    (b) Ĥ invokes embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩
    (c) embedded_H simulates ⟨Ĥ⟩ ⟨Ĥ⟩

    No, that is not a part of the definition. And not a part of anything
    else in Linz's book, either.


    (a) and (b) are specified in the book. No one ever thought
    that a simulating halt decider would be useful so (c) and
    the *Keeps repeating unless aborted* is only in my work.
    --
    Copyright 2026 Olcott

    Axiom 1 --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of finite
    string transformation rules to finite string inputs to derive
    any and all outputs.

    Axiom 2
    Deciders must apply finite string transformation inference
    steps to their finite string inputs that are relevent to the
    decision criteria.

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Sat Oct 24 09:06:59 2026
    From Newsgroup: comp.theory

    On 10/24/2026 3:14 AM, Mikko wrote:
    On 23/10/2026 17:26, olcott wrote:
    On 10/23/2026 3:06 AM, Mikko wrote:
    On 21/10/2026 17:15, olcott wrote:
    On 10/21/2026 2:53 AM, Mikko wrote:
    On 19/10/2026 17:19, olcott wrote:
    On 10/19/2026 5:32 AM, Python wrote:

    I think you are conflating three different things:

        1. the finite representation of a program P,

    The terminology is conventional and incorrect.
    It never has had the indirect reference that
    "representation of a program" has lead people
    to believe.

    (1) The term "description" is too vague. It never
    has been any mere description it has always be a
    100% completely specified sequence of steps.

    In Turing's orignal article specified how the description shall
    be encoded.

    It misleading and in all my work henceforth called the
    source code of a Turing Machine.

    There is nothing misleading in Turings specification of the
    standard description.

    That you have yet noticed. Dunning/Kruger

    That I haven't meatoned your Dunning/Kruger does not mean that
    I had not noticed it. I just regard it as irrelevant.

    (1) It is no mere description, it is a 100% complete specification

    The problem statement clearly says "description".

    What was meany by that archaic language is the modern
    idea of source code.

    Most formulation
    leaves specification of the encoding rules to the solver of the
    problem, so if the description is sufficiently complete the solver
    has failed.


    That is not the way that reality works. Every program
    have a fixed constant programming language.

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

    01 int DD()
    02 {
    03 int Halt_Status = HHH(DD);
    04 if (Halt_Status)
    05 HERE: goto HERE;
    06 return Halt_Status;
    07 }
    08
    09 void main()
    10 {
    11 HHH(DD);
    12 }

    My code makes this as simple as possible and
    100% concrete. There is no need for the program
    under test to itself have an input.

    (2) Is is not about some machine somewhere else it is source code
    written in the Turing Machine programming language.

    As noted above, that is usually not a part of the problem specification.
    The solver is free to require that or another way to describe.


    That leaves gaps in understanding that are often
    filled in with false assumptions.

    The term "souce code" does not specify the language.

    The source code for Turing Machines is the Turing Machines
    source code language. For functions written in C it is the
    C programming language.

    There is no "the Turing Machine source code language".

    That is what has always been actually meant by the
    term "Turing machine description"

    The language
    Turing origially used is more complicated than necessary. Therefore
    most authors use a simpler language. They don't usually specify
    every detail of the language because those deations are not relevant
    to their purposes.


    Emil Post is Turing equivalent and my paraphrase is
    as simple as possible and totally generic:

    Axiom 1 --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of finite
    string transformation rules to finite string inputs to derive
    any and all outputs.

    A halting
    decider needs be able to decide about every Turting machine,

    Not at all. It needs to apply relevant finite string inference
    steps to its input computer programming source code.

    From the meanings of the owrds follow that it it is not able to
    decide about every Turing machine it is not a halting decider.


    Emil Post most clearly proves that machines have always
    been outside of the domain of computation.
    --
    Copyright 2026 Olcott

    Axiom 1 --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of finite
    string transformation rules to finite string inputs to derive
    any and all outputs.

    Axiom 2
    Deciders must apply finite string transformation inference
    steps to their finite string inputs that are relevent to the
    decision criteria.

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Sat Oct 24 09:09:18 2026
    From Newsgroup: comp.theory

    On 10/24/2026 3:18 AM, Mikko wrote:
    On 23/10/2026 17:31, olcott wrote:
    On 10/23/2026 3:13 AM, Mikko wrote:
    On 19/10/2026 18:56, olcott wrote:
    On 10/19/2026 10:35 AM, Python wrote:
    Peter,

    When both of your own answers are wrong this proves
    that I am correct.

    No. It proves exactly the Halting Theorem.

    You are overlooking what your program depends on.

    Your 2004 example says:

        if YOU say HALTS:
            loop
        else:
            halt

    So there is no answer that can be both:

        1. supplied to the program, and
        2. a correct prediction of the resulting behavior.

    Agreed.

    But that does not prove that halting is an "incorrect question".


    On 6/23/2004 9:34 PM, Peter Olcott wrote:
    ;
    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;
    ;
    Does this program Halt?
    ;
    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)
    ;
    Please ONLY PROVIDE CORRECT ANSWERS!

    I asked you for your answer and YOU failed.

    This is NOT a fundamental limit to human reasoning
    Maybe it is, maybe not. You don't know, and neither does anybody else.
    So far the limits of human reasoning are unknown.

    The meaning of the words proves that the inability
    to correctly answer an incorrect question that has
    no correct answer is a short-coming of the question
    and not the person asked.

    That we can't tell what are the limits of human reasoning does not

    The inability to correctly answer an incorrect question
    IS THE FAULT OF THE QUESTION

    What is the color or your car in feet and inches?

    mean that the question is incorrect. It simply means that we have
    not yet found out all limits. People are still working on that and
    may find out more, perhaps even all.

    --
    Copyright 2026 Olcott

    Axiom 1 --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of finite
    string transformation rules to finite string inputs to derive
    any and all outputs.

    Axiom 2
    Deciders must apply finite string transformation inference
    steps to their finite string inputs that are relevent to the
    decision criteria.

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From olcott@[email protected] to comp.theory,sci.logic on Sat Oct 24 09:14:10 2026
    From Newsgroup: comp.theory

    On 10/24/2026 3:28 AM, Mikko wrote:
    On 23/10/2026 17:15, olcott wrote:
    On 10/23/2026 2:44 AM, Mikko wrote:
    On 16/10/2026 16:28, olcott wrote:
    On 10/16/2026 3:27 AM, Mikko wrote:
    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? >>>>>>>>>>>>>> If so, so what?

    it is solvable for an enumerable set of machines that >>>>>>>>>>>>> includes all possible output sequences, it is not solvable >>>>>>>>>>>>> for all possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" >>>>>>>>>>> or "main()".
    The halting problem asks "How can one determine whether a >>>>>>>>>>> computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are >>>>>>>>>> also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: >>>>>>>>> given
    the description of a Turing machine M and an input w, does M, when >>>>>>>>> started in the initial configuration qow, perform a computation >>>>>>>>> that
    eventually halts?"

    At the bottom of the page, continuing to the next page, is a >>>>>>>>> formal
    definition of the solution of the halting problem, which Linz >>>>>>>>> defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant >>>>>>> to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that >>>>> what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in
    particular
    how Linz defines it. As long as you don't understand or can't express >>>>> that there is no point to go further.


    Axiom 1
    --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of
    finite string transformation rules to finite string
    inputs to derive any and all outputs.

    Axiom 2
    Computation requires correct rather than
    arbitrary finite string transformations.

    The brand new key insight that I had into the
    foundations of computation is the notion of
    {correct finite string transformations} as
    opposed to and contrast with {arbitrary finite
    string transformations}.

    If we need to know the sum of 2 + 3 there seems
    to be only a single sequence of finite string
    transformation rules that derive this within
    arithmetic operations on the integer type. This
    is one concrete example of how computation is
    limited to correct finite string transformations.

    You are trying to deceive with tanother switch of topic.


    The sum of 2 + 3 is a simple enough computation that
    it is easily seen that relevant finite string
    transformations are required to derive this sum

    On the input: int X = sum(2,3);
    int sum(int x, int y) { printf("Booyah!"); }
    would not get the actual sum of 2 + 3

    No, but in some situations what it does may be more inportant
    than the sum of 2 and 3. For example, when a program that
    needs the sum function does not behave as expected. The code
    above can be used to determine when the program calls sum or
    whther it does it at all.

    This simple example proves that finite string
    transformation must be relevant to the computation.

    It is obvious even without a proof that at least some relevant
    operation is needed. It does not tell what transformations
    are needed or relevant or whther the set of necessary transformations
    is unique. And nothing shows that an actual implementation must
    use finite strings even if the description of the process may do.


    It does prove that this definition of a decider
    is woefully insufficient.

    #1 a decider must perform decision steps that
    are relevant to its decision criteria.

    int decider(char *)
    {
    return 1;
    }

    This is more easily stated for deciders.

    All of the finite string transformations must
    be relevant to the decision criteria.

    It is perfectly possible and perfectly legal to construct a
    decider that performs irrelevant operations.


    Only according to the stupidly lame conventional definition.
    --
    Copyright 2026 Olcott

    Axiom 1 --- Paraphrase of Emil Post definition of computation
    All computations are equivalent to the application of finite
    string transformation rules to finite string inputs to derive
    any and all outputs.

    Axiom 2
    Deciders must apply finite string transformation inference
    steps to their finite string inputs that are relevent to the
    decision criteria.

    *Succinct refutation of the Halting Theorem* https://github.com/plolcott/x86utm/blob/master/README.md


    The essence of computation is applying finite
    string transformations to finite string inputs
    to derive outputs. // paraphrase of Emil Post

    My 28 year goal has been to make
    "true on the basis of meaning expressed in language"
    reliably computable for the entire body of general knowledge.
    The complete structure of this system is now defined.

    The entire body of knowledge expressed in language is
    comprised of two types of relations between finite strings:
    (a) *Axioms* Expressions of language that are stipulated to be true.

    My system bridges the analytic/synthetic distinction by
    expressly encoding all empirical "atomic facts" in a formal
    language such as CycL of the Cyc project.

    (b) *Inference Rules* Expressions of language that are semantically
    entailed syntactically from (a) and/or (b).
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory on Sun Oct 25 11:46:59 2026
    From Newsgroup: comp.theory

    On 16/10/2026 17:51, olcott wrote:
    On 10/16/2026 3:27 AM, Mikko wrote:
    On 10/10/2026 22:57, olcott wrote:
    On 10/10/2026 3:31 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If >>>>>>>>>>> so, so what?

    it is solvable for an enumerable set of machines that includes >>>>>>>>>> all possible output sequences, it is not solvable for all >>>>>>>>>> possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or >>>>>>>> "main()".
    The halting problem asks "How can one determine whether a
    computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given >>>>>> the description of a Turing machine M and an input w, does M, when >>>>>> started in the initial configuration qow, perform a computation that >>>>>> eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal >>>>>> definition of the solution of the halting problem, which Linz defines >>>>>> as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.

    That is later in the text, not in the definition 12.1, so irrelevant
    to this discussion.

    I am ONLY talking about the Linz machine that totally
    implements the Halting Problem counter-example input.

    You are trying to cheat with a switch of topid and a pretension that
    what was said abaut one topic be true about the other.

    The topic was the definition of the "halting problem" and in particular
    how Linz defines it. As long as you don't understand or can't express
    that there is no point to go further.

    I am referring to the actual Halting Problem proof
    where the input to Ĥ is applied to its own source
    code ⟨Ĥ⟩ that has been defined to do the opposite of
    whatever halt status that it determines.

    Before you can say anything about any "actual" Halting Problem proof
    you need to be clear about the meaning of "Halting Problem" and what
    is proved about it. As long as you don't it seems that you don't know
    what you are talking about.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Sun Oct 25 11:51:41 2026
    From Newsgroup: comp.theory

    On 23/10/2026 16:29, olcott wrote:
    On 10/23/2026 2:42 AM, Mikko wrote:
    On 09/10/2026 14:40, olcott wrote:
    On 10/9/2026 3:18 AM, Mikko wrote:
    On 07/10/2026 15:25, polcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, >>>>>>>>> so what?

    it is solvable for an enumerable set of machines that includes >>>>>>>> all possible output sequences, it is not solvable for all
    possible machines

    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or
    "main()".
    The halting problem asks "How can one determine whether a computation >>>>>> halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this*

    Earlier on that page Linz says: "Simply stated, the problem is: given
    the description of a Turing machine M and an input w, does M, when
    started in the initial configuration qow, perform a computation that
    eventually halts?"

    At the bottom of the page, continuing to the next page, is a formal
    definition of the solution of the halting problem, which Linz defines
    as a Turing machine.

    https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.∞, // accept state
    Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn // reject state

    There is no "embedded_H" in Linz's definition.


    <Linz text>
     From H' we construct another Turing machine Ĥ.
    This new machine takes as input WM, copies it,
    and then behaves exactly like H'. Then the action
    of Ĥ is such that

        q0 WM ⊢* Ĥq0 WM WM ⊢* Ĥ∞,
    if M applied to WM halts, and
        q0 WM ⊢* Ĥq0 WM WM ⊢* Ĥ y1 qn y2,
    if M applied to WM does not halt.
    </Linz text>

    Irrelevant. The topic of the discussion woas the meaning of "halting
    problem" which is already defined before the headline of theorem 12.1.

    It is defined incoherently.
    You don't pay close enough attention to see this.

    You have no basis to claim that I don't pay close enough attention to
    something you don't say anything about. And you havn't said anything
    about how Linz defines the halting problem, and in pariticular any
    incoherences in his definition.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic,comp.ai.philosophy,sci.math,sci.math.symbolic on Sun Oct 25 11:56:51 2026
    From Newsgroup: comp.theory

    On 07/10/2026 16:07, olcott wrote:
    On 10/7/2026 5:40 AM, Mikko wrote:
    On 02/10/2026 15:28, olcott wrote:
    On 10/1/2026 10:05 PM, dart200 wrote:
    On 10/1/26 5:28 PM, Chris M. Thomasson wrote:
    On 10/1/2026 3:54 PM, dart200 wrote:
    [...]

    Are you saying that the halting problem is not solvable? If so, so
    what?

    it is solvable for an enumerable set of machines that includes all
    possible output sequences, it is not solvable for all possible machines >>>
    The key mistake of the halting theorem is that
    it requires a halt decider to report on the behavior
    of the direct execution of DD() from main()

    No, it isn't. The halting problem says nothing about "DD()" or "main()".
    The halting problem asks "How can one determine whether a computation
    halts?"

    Here is the same thing from Linz where H and Ĥ.embedded_H are
    also based on UTM simulation of their inputs.

    *From the bottom of page 319 has been adapted to this* https://www.liarparadox.org/Peter_Linz_HP_317-320.pdf

    The bottom of the page 319 is not a part of and not relevant to how
    Linz has already defined the haliting problem on pages 317-318.

    Consequently, your false claims about the content of the page 319
    are irrlevant, too.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Sun Oct 25 12:34:33 2026
    From Newsgroup: comp.theory

    On 24/10/2026 17:06, olcott wrote:
    On 10/24/2026 3:14 AM, Mikko wrote:
    On 23/10/2026 17:26, olcott wrote:
    On 10/23/2026 3:06 AM, Mikko wrote:
    On 21/10/2026 17:15, olcott wrote:
    On 10/21/2026 2:53 AM, Mikko wrote:
    On 19/10/2026 17:19, olcott wrote:
    On 10/19/2026 5:32 AM, Python wrote:

    I think you are conflating three different things:

        1. the finite representation of a program P,

    The terminology is conventional and incorrect.
    It never has had the indirect reference that
    "representation of a program" has lead people
    to believe.

    (1) The term "description" is too vague. It never
    has been any mere description it has always be a
    100% completely specified sequence of steps.

    In Turing's orignal article specified how the description shall
    be encoded.

    It misleading and in all my work henceforth called the
    source code of a Turing Machine.

    There is nothing misleading in Turings specification of the
    standard description.

    That you have yet noticed. Dunning/Kruger

    That I haven't meatoned your Dunning/Kruger does not mean that
    I had not noticed it. I just regard it as irrelevant.

    (1) It is no mere description, it is a 100% complete specification

    The problem statement clearly says "description".

    What was meany by that archaic language is the modern
    idea of source code.

    What was written in the language of the time of wirting does not refer
    to more modern ideas.

    Most formulation leaves specification of the encoding rules to the
    solver of the problem, so if the description is sufficiently
    complete >> the solver has failed.
    > That is not the way that reality works.

    I have worked enough with clinets and specifications to know that that
    is way it works, at least often if not always. Sometimes a customer
    has been happy when I have delivered what the customer needed instead
    of what the customer specified but nore often coustomers know their
    needs better than I do.

    Every program have a fixed constant programming language.

    Not true. Often different parts of a probgam are written in different languages. FOr example, once I wrote a Fortran program that needed
    recursive calls. Because the Fortran implementation did not support
    recursive calls (and the Fortran standard did not reauire them) I
    wrote a (limited but sufficient for the project) recursion support
    in the assembly language of the traget machine.

    Usually the program must be translated to another language before it
    can be executed. Often, when one buys a program, one does not get the
    source code but only an executable or installable program, either in
    the machine language of the execution computer or in some intermediate
    language that can be translated for the execution computer.
    --
    Mikko
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Mikko@[email protected] to comp.theory,sci.logic on Sun Oct 25 12:37:40 2026
    From Newsgroup: comp.theory

    On 24/10/2026 17:09, olcott wrote:
    On 10/24/2026 3:18 AM, Mikko wrote:
    On 23/10/2026 17:31, olcott wrote:
    On 10/23/2026 3:13 AM, Mikko wrote:
    On 19/10/2026 18:56, olcott wrote:
    On 10/19/2026 10:35 AM, Python wrote:
    Peter,

    When both of your own answers are wrong this proves
    that I am correct.

    No. It proves exactly the Halting Theorem.

    You are overlooking what your program depends on.

    Your 2004 example says:

        if YOU say HALTS:
            loop
        else:
            halt

    So there is no answer that can be both:

        1. supplied to the program, and
        2. a correct prediction of the resulting behavior.

    Agreed.

    But that does not prove that halting is an "incorrect question".


    On 6/23/2004 9:34 PM, Peter Olcott wrote:
    ;
    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;
    ;
    Does this program Halt?
    ;
    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)
    ;
    Please ONLY PROVIDE CORRECT ANSWERS!

    I asked you for your answer and YOU failed.

    This is NOT a fundamental limit to human reasoning
    Maybe it is, maybe not. You don't know, and neither does anybody else. >>>> So far the limits of human reasoning are unknown.

    The meaning of the words proves that the inability
    to correctly answer an incorrect question that has
    no correct answer is a short-coming of the question
    and not the person asked.

    That we can't tell what are the limits of human reasoning does not

    The inability to correctly answer an incorrect question
    IS THE FAULT OF THE QUESTION
    No, it is not. If two people are asked the same question and one cannot
    answer it but the other can it is not the question's fault that only
    one of them can answer it.
    --
    Mikko

    --- Synchronet 3.22a-Linux NewsLink 1.2