• Re: Church-Turing and computable functions --- best dialogue ever

    From olcott@[email protected] to sci.math,comp.theory,sci.logic,comp.ai.philosophy on Sat Oct 3 10:06:54 2026
    From Newsgroup: comp.ai.philosophy

    On 10/3/2026 9:46 AM, Python wrote:
    OK Peter. Here is my understanding of your argument. I am deliberately
    not rebutting it yet.

    You distinguish two things:

    1. HHH receives DD as a finite string.

    2. HHH may manipulate that finite string only according to finite transformation rules corresponding to the operational semantics of C.

    3. You distinguish what HHH can derive from DD in this way from what
    happens when DD is actually called directly from main().

    4. Your claim is that no valid finite sequence of transformations
    performed by HHH on its input DD can derive the behavior of that direct execution.

    5. Therefore, requiring HHH to answer according to what DD would do when directly executed from main() requires HHH to determine something that cannot be obtained by the finite-string transformations available to it.

    6. You regard that requirement, rather than anything HHH actually
    computes from its finite input, as the invalid step in the conventional halting proof.

    7. Hence your claim is not merely "HHH cannot decide whether DD halts."
    Your stronger claim is that the conventional proof illegitimately
    requires HHH to report a fact about a distinct direct execution whose behavior cannot be derived by the permitted finite-string transformation process.

    I think that is the distinction you believe I previously missed.

    If any part of 1-7 misrepresents your position, please identify the
    number and correct it.

    If you agree that 1-7 accurately states your argument, then we have
    isolated the disagreement precisely and can examine whether step 4 is actually true.

    That is a 100-fold better understanding of my work than
    any other human has ever presented. It even much more
    succinctly presents my view much better than the best LLM.
    --
    Copyright 2026 Olcott

    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 sci.math,comp.theory,sci.logic,comp.ai.philosophy on Sat Oct 3 10:52:21 2026
    From Newsgroup: comp.ai.philosophy

    On 10/3/2026 10:24 AM, Python wrote:
    Le 03/10/2026 à 17:06, olcott a écrit :
    On 10/3/2026 9:46 AM, Python wrote:
    OK Peter. Here is my understanding of your argument. I am
    deliberately not rebutting it yet.

    You distinguish two things:

    1. HHH receives DD as a finite string.

    2. HHH may manipulate that finite string only according to finite
    transformation rules corresponding to the operational semantics of C.

    3. You distinguish what HHH can derive from DD in this way from what
    happens when DD is actually called directly from main().

    4. Your claim is that no valid finite sequence of transformations
    performed by HHH on its input DD can derive the behavior of that
    direct execution.

    5. Therefore, requiring HHH to answer according to what DD would do
    when directly executed from main() requires HHH to determine
    something that cannot be obtained by the finite-string
    transformations available to it.

    6. You regard that requirement, rather than anything HHH actually
    computes from its finite input, as the invalid step in the
    conventional halting proof.

    7. Hence your claim is not merely "HHH cannot decide whether DD
    halts." Your stronger claim is that the conventional proof
    illegitimately requires HHH to report a fact about a distinct direct
    execution whose behavior cannot be derived by the permitted finite-
    string transformation process.

    I think that is the distinction you believe I previously missed.

    If any part of 1-7 misrepresents your position, please identify the
    number and correct it.

    If you agree that 1-7 accurately states your argument, then we have
    isolated the disagreement precisely and can examine whether step 4 is
    actually true.

    That is a 100-fold better understanding of my work than
    any other human has ever presented. It even much more
    succinctly presents my view much better than the best LLM.

    Then let's keep those seven points as the agreed description of your position.

    That is useful because it means we no longer have to argue about whether
    I understand what you are claiming.

    And I agree that your actual claim is more subtle than simply saying
    that HHH somehow "solves the halting problem".

    Your claim, as I now understand it, is specifically that the
    conventional diagonal argument asks HHH to report the behavior of a computation distinct from the finite-string computation that HHH can actually derive from its input DD.

    So let's focus entirely on point 4:

       No valid finite sequence of transformations performed
       by HHH on its input DD can derive the behavior of the
       direct execution of DD from main().

    That is now the precise proposition we disagree about.

    And I think we can examine that proposition without misrepresenting your position and without appealing to authority on either side.

    We finally have a sharply defined question.

    Yes. You were able to precisely axiomatize my position such
    that even if it comes at the end of a 75 page conversation
    with an LLM there will be no issue with "lost in the middle".
    I tested this at the end of a 75 page conversation with an LLM.
    LLMs can pay very close attention to a short list of short axioms.

    Over the last 28 years almost everyone would merely glance
    at a few of my words before artificially contriving a
    rebuttal that totally ignores most of what I have said.

    No valid finite sequence of transformations performed
    by HHH on its input DD can derive the behavior of the
    direct execution of DD from main().

    This can be more sharply defined as:
    No finite string transformation rules inference steps
    that are constrained by the operational semantics of
    the C programming language can be applied by HHH to
    its input finite string DD such that this input DD
    ever reaches its own "return" instruction final halt
    state.
    --
    Copyright 2026 Olcott

    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 sci.math,sci.logic,comp.theory,comp.ai.philosophy on Sat Oct 3 12:35:33 2026
    From Newsgroup: comp.ai.philosophy

    On 10/3/2026 11:16 AM, Python wrote:
    Le 03/10/2026 à 17:52, olcott a écrit :
    On 10/3/2026 10:24 AM, Python wrote:
    Le 03/10/2026 à 17:06, olcott a écrit :
    On 10/3/2026 9:46 AM, Python wrote:
    OK Peter. Here is my understanding of your argument. I am
    deliberately not rebutting it yet.

    You distinguish two things:

    1. HHH receives DD as a finite string.

    2. HHH may manipulate that finite string only according to finite
    transformation rules corresponding to the operational semantics of C. >>>>>
    3. You distinguish what HHH can derive from DD in this way from
    what happens when DD is actually called directly from main().

    4. Your claim is that no valid finite sequence of transformations
    performed by HHH on its input DD can derive the behavior of that
    direct execution.

    5. Therefore, requiring HHH to answer according to what DD would do >>>>> when directly executed from main() requires HHH to determine
    something that cannot be obtained by the finite-string
    transformations available to it.

    6. You regard that requirement, rather than anything HHH actually
    computes from its finite input, as the invalid step in the
    conventional halting proof.

    7. Hence your claim is not merely "HHH cannot decide whether DD
    halts." Your stronger claim is that the conventional proof
    illegitimately requires HHH to report a fact about a distinct
    direct execution whose behavior cannot be derived by the permitted
    finite- string transformation process.

    I think that is the distinction you believe I previously missed.

    If any part of 1-7 misrepresents your position, please identify the >>>>> number and correct it.

    If you agree that 1-7 accurately states your argument, then we have >>>>> isolated the disagreement precisely and can examine whether step 4
    is actually true.

    That is a 100-fold better understanding of my work than
    any other human has ever presented. It even much more
    succinctly presents my view much better than the best LLM.

    Then let's keep those seven points as the agreed description of your
    position.

    That is useful because it means we no longer have to argue about
    whether I understand what you are claiming.

    And I agree that your actual claim is more subtle than simply saying
    that HHH somehow "solves the halting problem".

    Your claim, as I now understand it, is specifically that the
    conventional diagonal argument asks HHH to report the behavior of a
    computation distinct from the finite-string computation that HHH can
    actually derive from its input DD.

    So let's focus entirely on point 4:

        No valid finite sequence of transformations performed
        by HHH on its input DD can derive the behavior of the
        direct execution of DD from main().

    That is now the precise proposition we disagree about.

    And I think we can examine that proposition without misrepresenting
    your position and without appealing to authority on either side.

    We finally have a sharply defined question.

    Yes. You were able to precisely axiomatize my position such
    that even if it comes at the end of a 75 page conversation
    with an LLM there will be no issue with "lost in the middle".
    I tested this at the end of a 75 page conversation with an LLM.
    LLMs can pay very close attention to a short list of short axioms.

    Over the last 28 years almost everyone would merely glance
    at a few of my words before artificially contriving a
    rebuttal that totally ignores most of what I have said.

    ;     No valid finite sequence of transformations performed
    ;     by HHH on its input DD can derive the behavior of the
    ;     direct execution of DD from main().

    This can be more sharply defined as:
       No finite string transformation rules inference steps
       that are constrained by the operational semantics of
       the C programming language can be applied by HHH to
       its input finite string DD such that this input DD
       ever reaches its own "return" instruction final halt
       state.

    Yes. That is sharper, and I am happy to use that formulation.

    So let me restate point 4 exactly in your stronger form:

       No finite string transformation rules inference steps
       that are constrained by the operational semantics of
       the C programming language can be applied by HHH to
       its input finite string DD such that this input DD
       ever reaches its own "return" instruction final halt
       state.

    For the particular recursive simulation you have described, I agree with that statement.

    In fact, I think this is an important point of progress, because I do
    not need to dispute it in order to dispute your conclusion.

    HHH simulates DD.

    The simulated DD reaches:

       Halt_Status = HHH(DD);

    To complete that C statement, the simulated invocation of HHH(DD) must return a value.

    But that simulated HHH begins another simulation of DD, which reaches
    the same call again:

       HHH simulates DD
           DD calls HHH(DD)
               HHH simulates DD
                   DD calls HHH(DD)
                       HHH simulates DD
                           ...

    Therefore, if we simply continue applying those operational-semantic transitions, no simulated DD in this recursively expanding computation reaches its own return instruction.

    I agree.


    That meet the first paragraph of that Professor Sipser agreed to
    thus entailing the second paragraph.

    So let us make that an additional agreed proposition:

       8. In HHH's recursively nested simulation of DD,
          continued application of the C operational semantics
          never causes any simulated DD to return normally.

    Now comes the question on which everything depends.

    What exactly follows from proposition 8?

    There are two possible conclusions:

       A. The recursively nested simulation performed by HHH
          does not terminate unless HHH aborts it.


    Yes.

    or:

       B. DD itself is a non-halting program, so HHH may
          correctly return "DD does not halt".


    No. int main() { DD(); } // is totally out-of-scope for HHH
    according to the requirement of finite string transformation
    rules applied by HHH to finite string input DD.

    I agree with A.

    What I do not yet see established is A -> B.


    I have several different times in several different ways
    established that (B) is out-of-scope for HHH(DD).

    This is the same thing as Bill being found guilty
    of robbing a liquor store because reliable witnesses
    have testified by Bill's identical twin brother did
    indeed rob the liquor store.

    And notice that this is no longer a disagreement about whether HHH can derive the behavior described in A using finite-string transformations.

    It plainly can.

    Nor is it a disagreement about whether simulated DD reaches its return instruction.

    I agree that it does not.

    The remaining question is solely whether:

       simulated DD cannot return while waiting for
       the recursively computed value HHH(DD)

    entails:

       DD does not halt when HHH(DD) returns the value
       "non-halting".


    HHH is required to return ONLY the behavior specified
    by its simulation of DD. HHH is expressly not allowed
    to report on anything else.

    Those are not obviously the same proposition.


    They are merely the standard misdirection.
    what int main() { DD(); } // does has always
    been none-of-the-business of HHH(DD).

    Indeed, consider what happens when your detector fires.

    Before the detector fires, we have:

       HHH(DD)
           simulates DD
               waits for HHH(DD)
                   simulates DD
                       waits for HHH(DD)
                           ...

    Your finite-string inference mechanism recognizes the infinite-recursion pattern.

    Fine.

    HHH then aborts that simulation.

    Fine.

    Now there is a crucial fork.


    then
    H can abort its simulation of D and correctly report that D
    specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>


    If HHH merely aborts and never returns a value, then HHH has not decided
    DD.


    The above words that I have quoted very many times
    already fully address this.

    But if HHH returns:

       0 = "DD does not halt"


    meaning that the finite string input DD specifies
    a sequence of configurations that cannot possibly
    reach their own final halt state.

    then the invocation of HHH(DD) that called the simulator has terminated.

    Now consider DD under the very C semantics we have agreed to use:

       Halt_Status = HHH(DD);

    If HHH returns 0, this statement completes.


    Nope. DD correctly simulated by HHH cannot possibly
    receive any return value whether or not HHH aborts
    its simulation.

    DD() correctly executed in main() can receive a return
    value yet is out-of-scope for HHH(DD) within the Emil
    Post definition of computation.

    Then:

       if (Halt_Status)

    is false, and DD reaches its return instruction.

    This does NOT require the DD that HHH aborted inside its private
    simulation to resume execution.

    That simulated instance is gone.

    It concerns the caller to which HHH returns its result.

    So I think we can sharpen our disagreement even further.

    I accept your new point 4.

    I accept:

       No simulated DD in the un-aborted recursive simulation
       reaches its return instruction.

    I accept:

       HHH can recognize the recursive nontermination pattern
       and abort that simulation.

    The only remaining disputed implication is:

       Because simulated DD cannot reach return before
       HHH(DD) has produced an answer,

    therefore:

       HHH may produce the answer "DD does not halt".

    That is the implication I want you to justify.

    In particular, I would like you to answer one extremely concrete
    question, using only C operational semantics:

    Suppose the outermost invocation of HHH(DD) detects your recursion
    pattern, aborts its internal simulation, and returns 0 to its caller.

    What C operational-semantic rule prevents that caller from completing:


    int main() { HHH(DD); } // yes main() completes

    int main() { DD(); } // yes DD() completes
    Bill's identical twin brother did rob the liquor store.

    yet has always been out-of-scope for the Emil Post
    computation of HHH(DD). Bill himself never robbed
    the liquor store.

       Halt_Status = HHH(DD);

    with:

       Halt_Status = 0

    and proceeding to the following statement?

    If your answer is:

       "There is no such caller because the whole recursive
        chain was aborted",

    then we need to distinguish very carefully between:

       aborting HHH's internal simulated DD


    Is within Emil Post computation and the words that Professor
    Sipser agreed to.

    and:

       aborting the actual invocation of DD that called HHH.


    Never happens and is outside the scope of Emil Post computations.

    Because if HHH aborts its caller

    Impossible.
    HHH(DD) has no idea who its caller is and thus
    cannot possibly have any power over its own caller.

    rather than returning a value to it,
    then HHH has changed the computation instead of returning a halting
    decision about it.

    This is now sufficiently precise that I don't think we need to discuss
    the halting theorem, diagonalization, Post, or even Sipser yet.

    We can settle this locally from the operational semantics of the C call:

       Halt_Status = HHH(DD);

    You have established that simulated DD cannot get past that statement
    while HHH is recursively simulating.

    Agreed.

    The remaining question is:

    What happens to the caller according to C semantics when HHH stops simulating and returns its answer?

    HHH(DD) has no idea who its caller is.
    HHH(DD) has never been accountable for anything
    besides the behavior specified by its input.
    --
    Copyright 2026 Olcott

    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 sci.math,comp.theory,comp.ai.philosophy,sci.logic,sci.math.symbolic on Sun Oct 4 09:14:58 2026
    From Newsgroup: comp.ai.philosophy

    On 10/4/2026 5:49 AM, Python wrote:
    I think we can now reduce the entire disagreement to this.

    We agree that:

       1. HHH simulates DD.

       2. Inside that simulation, DD calls HHH(DD), producing
          recursive simulation.

       3. No simulated DD reaches its return instruction before
          HHH detects this pattern.


    No simulated DD can possibly reach its return instruction
    whether or not HHH ever aborts this simulation. Meeting
    the Professor Sipser approved criteria.

    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
    If simulating halt decider H correctly simulates its
    input D until H correctly determines that its simulated D
    would never stop running unless aborted then

       4. HHH aborts its internal simulation and returns 0.


    Correctly entailed by the Professor Sipser approved criteria.

    H can abort its simulation of D and correctly report that D
    specifies a non-halting sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>

       5. If DD is actually executing, that 0 completes:

              Halt_Status = HHH(DD);

          so DD takes the non-looping branch and returns.

    You explicitly agree that:

       int main() { DD(); }

    terminates.


    Yes

    Therefore the only disagreement is what HHH's 0 means.


    H can abort its simulation of D and correctly report that
    [the correctly simulated] D specifies a non-halting sequence
    of configurations.

    The inserted text does not change the meaning of the quoted
    text it merely provides clarification. Both paragraphs were
    only ever talking about D correctly simulated by H. They never
    changed this subject. The context proves this.

    If it means:

       "DD does not reach return inside HHH's recursive
        simulation before HHH aborts it"

    then HHH may be correct, but that is not the halting predicate.

    If it means:

       "DD does not halt"

    then it is false, because you agree that DD terminates when HHH returns 0.

    Calling that terminating execution "out-of-scope" does not solve the problem. Its behavior follows by a finite application of ordinary C semantics:


    (a) It has always been out of scope for any Emil Post finite
    string transformations applied to finite string inputs. The
    DD() directly executed in main() has always been an executing
    process thus neither a finite string nor an input to HHH.

    (b) The clarified Professor Sipser approved quote makes it
    clear that HHH(DD) does exactly meet the precise meaning
    of what Professor Sipser agreed to.

       DD
         -> HHH(DD)
         -> HHH returns 0
         -> Halt_Status = 0
         -> return 0

    So there is one concrete question:

    Which transition in that finite sequence violates either C operational semantics or your finite-string transformation requirement?

    If none does, then DD's terminating behavior is not outside computation.

    What you have proved is only that DD does not terminate inside HHH's recursively nested simulation before HHH aborts that simulation.

    That is a property of HHH's simulation procedure, not a proof that DD
    itself does not halt.

    It seems to me that I addressed all of that in my prior reply.

    You are the only human being that has ever given my work
    a fair and honest review in all of the last 28 years and
    a dozen different forums. I really appreciate that.
    --
    Copyright 2026 Olcott

    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 sci.math,comp.theory,sci.logic,comp.ai.philosophy on Mon Oct 5 10:29:35 2026
    From Newsgroup: comp.ai.philosophy

    On 10/5/2026 8:57 AM, Python wrote:
    Thank you, Peter. And I think we have now isolated the disagreement
    about as far as it can be isolated.

    I accept your clarification of the Sipser statement:

       H can correctly report that the [correctly simulated] D
       specifies a non-halting sequence of configurations.

    And I accept that your simulated DD never reaches return.

    But we also now explicitly agree that:

       int main() { DD(); }

    does terminate when HHH returns 0.

    So there is no longer any disagreement about either execution.

    Our remaining disagreement is entirely this claim:

       The execution of DD() is outside the scope of finite-string
       computation because the executing process is not itself a
       finite string input to HHH.

    That is the point I reject.


    You reject a truism.

    The executing process does not need to be a finite string.


    Emil Post finite string transformations to finite string
    inputs is a specific domain that DD() executed from main()
    is outside of.

    Its DESCRIPTION is the finite string.

    That is the entire purpose of encoding programs and computations.

    Otherwise the same objection would apply to every universal simulator:

       P(x) is an executing process, not the finite string <P,x>
       given to U.

    Yet computation theory relates them precisely by saying that the finite description <P,x> specifies the computation P(x).


    Because this has never previously been made 100% totally
    concrete no one ever noticed that in some cases there are
    no Emil Post correct finite string transformations to
    finite string inputs that derive the behavior of the
    executing process.

    For all of these years the theory of computation simply
    had a false assumption that was never revealed as false
    because no one ever examined ALL of the relevant details
    by making the HP proof 100% concrete.

    And in this particular case we do not even need an infinite argument. We both agree on the finite semantic derivation:

       DD
         -> calls HHH(DD)
         -> HHH returns 0
         -> Halt_Status = 0
         -> DD returns 0

    Every program description involved is finite, every configuration is finitely representable, and every transition follows from finite rules.


    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
    If simulating halt decider H correctly simulates its
    input D until H correctly determines that its simulated D
    would never stop running unless aborted then

    H can abort its simulation of D and correctly report that
    [the correctly simulated] D specifies a non-halting
    sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
    [the correctly simulated] // inserted for clarity
    can be verified as correct by the preceding context.

    So I think the whole issue has now reduced to one proposition:

       Does a finite program description specify the behavior
       of the computation obtained by executing that program?

    Standard computability theory says yes.

    Your argument requires the answer to be no specifically when the
    execution and HHH's internal recursive simulation have different behavior.


    As made explicit by HHH applying correct (Emil Post) finite
    string transformation rules to its input finite string DD.
    No one ever bothered to look at this to this degree of detail
    ever before.

    Here it is again as the Peter Linz HP proof.
    *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

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

    But if the answer is no, HHH is simply classifying the behavior of its
    own simulation rather than the halting behavior specified by DD.

    Thus I accept your result about the simulated DD.

    What I reject is the identification:

       "the simulated DD inside HHH never returns"

           =

       "the finite string DD specifies a non-halting computation."


    That is a bad paraphrase of the exact words that I am claiming.
    the finite string input DD to HHH specifies a non-halting
    sequence of configurations.

    Your own agreement that:

       int main() { DD(); }

    terminates demonstrates why those two propositions are different.

    I think that is now the entire disagreement, with nothing else hidden underneath it.

    Yes the whole HP proof fails entirely on the basis of
    one false assumption:

    The input to a halt decider always specifies a single
    behavior even in the case of pathological self-reference.
    --
    Copyright 2026 Olcott

    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 sci.math,sci.logic,comp.theory,comp.ai.philosophy on Mon Oct 5 11:44:28 2026
    From Newsgroup: comp.ai.philosophy

    On 10/5/2026 10:38 AM, Python wrote:
    I think we have isolated the fundamental disagreement.

    Your claim is:

       The HP proof falsely assumes that the input to a halt
       decider always specifies a single behavior, even under
       pathological self-reference.

    I don't think the proof makes that assumption.

    Assume a total correct halt decider:

       H(P,x) = 1 iff P(x) halts.


    That <is> the false assumption.
    An (Emil Post) correct halt decider H applies correct
    finite string transformation rules to its finite string
    input D to correctly derive the behavior specified by
    finite string input D.

    For non-terminating inputs H aborts its analysis
    and rejects this input as non-halting.

    For terminating inputs D halt decider H continues
    applying finite string transformation rules to input
    D until this input D reaches its own final halt state.

    At this point H accepts its input D as specifying
    a terminating sequence of configurations.

    Define:

       D(x)
       {
           if (H(x,x))
               while (1) {}
           else
               return;
       }

    Now consider D(D):

       H(D,D) = 1  => D(D) loops   => H is wrong.
       H(D,D) = 0  => D(D) returns => H is wrong.
       H diverges  => H is not a total decider.

    That is the entire diagonal contradiction.


    That never has been actually reachable by any 100%
    complete concrete implementation of H that applies the
    required Emil Post correct finite string transformation
    rules to its input D.

    Notice that it says nothing about HOW H computes its answer. In
    particular, it never assumes that H recursively simulates D(D).

    This is where I think your HHH changes the predicate.


    No. It is only that no one ever bothered to notice that
    the contradiction has always been unreachable in the
    exact same way that the contradiction of the Liar Paradox
    has never been actually reachable:

    ?- LP = not(true(LP)).
    LP = not(true(LP)).
    ?- unify_with_occurs_check(LP, not(true(LP))).
    false.

    Final resolution of the Liar Paradox proving that
    it never had a truth value.

    We agree that:

       1. DD recursively simulated inside HHH never reaches return.

       2. DD actually executing does reach return when HHH returns 0.

    Those are two different computations.

    If HHH's 0 means:

       "DD does not reach return inside my recursive simulation"

    then I accept that HHH may be correct.


    Great. No one else ever got that far.

    But if it means:

       "DD does not halt"


    It never meant this.

    then it is false, because we agree:

       DD -> HHH(DD) -> 0 -> DD returns.

    Calling this execution "out-of-scope" does not change the predicate used
    in the halting theorem.


    It proves that this predicate has been simply flat
    out incorrect for 90 years.

    The finite description <P,x> specifies the computation P(x).

    Only when you ignore the Emil Post requirement that
    all computation is the application of finite string
    transformation rules to finite string inputs to derive
    any and all outputs.

    The
    executing process need not itself be the finite input string.


    Emil Post requires that it must be.
    Emil Post requires that it must be.
    Emil Post requires that it must be.
    Emil Post requires that it must be.

    So your observation establishes:

       HHH's simulation of DD does not halt,

    while:

       DD executing and calling HHH does halt.

    But that does not refute the diagonal proof.

    It proves that the diagonal proof falsely assumes that
    the contradiction is reachable. Within the false assumption
    that the contradiction is reachable the diagonal proof is
    valid yet unsound.

    Validity and Soundness
    A deductive argument is said to be valid if and only if it
    takes a form that makes it impossible for the premises to
    be true and the conclusion nevertheless to be false. Otherwise,
    a deductive argument is said to be invalid.

    A deductive argument is sound if and only if it is both
    valid, and all of its premises are actually true. Otherwise,
    a deductive argument is unsound.

    https://iep.utm.edu/val-snd/

    It shows that HHH is
    deciding a property of its internal simulation rather than the required predicate:

       "Does the specified computation halt?"


    <is> an incorrect requirement that violates Emil Post
    finite string transformation rules applies to finite
    string inputs.

    The proof assumes only that a total H correctly answers that question
    and then proves that no such H can exist.

    Pathological self-reference is not an overlooked exception to the proof.

    It is exactly what makes the contradiction possible.

    The contradiction has never been reachable and no one
    every bothered to notice this because no one ever
    bothered to apply Emil Post finite string transformation
    rules to the finite string input to a 100% concrete
    implementation of decider/counter-example pair.
    --
    Copyright 2026 Olcott

    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,comp.ai.philosophy,sci.logic,sci.math on Mon Oct 5 13:25:32 2026
    From Newsgroup: comp.ai.philosophy

    On 10/5/2026 12:46 PM, Python wrote:
    One important ambiguity is now gone.

    You say explicitly:

       HHH's 0 has always meant that "DD does not halt".

    So let's use exactly that meaning.

    You also agree that:

       int main() { DD(); }

    halts when HHH(DD) returns 0.

    Therefore:

       HHH(DD) = 0 means "DD does not halt"
       HHH(DD) = 0 causes DD to halt.

    That is already the diagonal contradiction.

    Nothing else has to be "reached".


    Except that HHH is expressly not allowed to report
    in the behavior that it has been required to report
    on for 90 years.

    HHH has only been allowed to report on whatever
    can be derived by applying correct finite string
    transformation rules to its finite string inputs.

    The proof does NOT say:

       H returns 0
       -> some contradiction state is eventually reached.

    It says:

       H returns 0
       -> by H's specification, D does not halt
       -> by D's definition, D halts.

    Likewise:

       H returns 1
       -> by H's specification, D halts
       -> by D's definition, D does not halt.

    "Contradiction" is the logical incompatibility between those
    propositions, not a machine configuration.

    Your remaining escape is therefore entirely this:

       Although HHH(DD)=0 means "DD does not halt",
       the terminating DD() is not the DD behavior that
       HHH(DD) is required to classify.


    HHH has only been allowed to report on whatever
    can be derived by applying correct finite string
    transformation rules to its finite string inputs.

    If "requirements" differ from this then these
    "requirements" are incorrect.

    But then we need a precise definition of:

       "DD does not halt"

    because we agree that an execution of DD does halt.

    Saying that the terminating execution is "outside the domain of HHH(DD)" simply restricts the predicate being decided.


    to the actual way that computations have always actually work.

    So I think there is now exactly one question left:

       What computation does the proposition
       "DD does not halt" refer to?


    An incorrect requirement that violates the definition
    of computation when-so-ever there is a pathological
    self-reference (PSR) relationship between the decider
    and its input.

    The actual correct requirement is that a halt decider
    must report on the actual behavior that its actual
    finite string input actually specifies.

    If it refers to DD executing with the actual semantics of HHH, your 0 is wrong.

    If it refers only to DD inside HHH's recursively nested simulation, then
    you have defined a different halting predicate.


    I have corrected the erroneous halting predicate.

    There is no third possibility supplied by saying that the contradiction
    is "unreachable", because the contradiction was never an execution state that had to be reached.


    It was always assumed that this contradiction was
    reached forcing the halt decider to always return
    an incorrect halt status.

    P.S. About the massive crossposting: posting the same article to
    numerous newsgroups is not a distributed backup strategy. Usenet groups
    are not separate servers, so if your concern is preserving 30,000 hours
    of work, tar, git, and a couple of independent backups would be
    considerably more effective than adding another dozen groups to the Newsgroups: header.


    I put the followup to comp.theory.

    And, unfortunately, 30,000 hours is evidence of persistence, not
    correctness or value. In mathematics and theoretical computer science,
    an argument is worth exactly what its proof is worth. Spending 28 years
    on a false premise does not make the premise 28 years stronger.

    So perhaps fewer newsgroups and one actual proof would provide rather
    better redundancy.

    As soon as you fully understand one more point then
    I am done and can write it up for academic publication.
    No other human ever gotten this far.

    Eric Hehner PhD
    https://www.cs.toronto.edu/~hehner/halting.html
    and
    Bill Stoddart https://www.complang.tuwien.ac.at/anton/euroforth/ef17/papers/stoddart.pdf

    Computer science professors independently derived
    my same conclusion. I have spoken with Eric Hehner PhD
    many times through email.
    --
    Copyright 2026 Olcott

    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,sci.math.symbolic on Tue Oct 6 07:17:50 2026
    From Newsgroup: comp.ai.philosophy

    On 10/6/2026 5:49 AM, Python wrote:
    The Hehner/Stoddart references are interesting, and I checked them.

    There really is a similarity: Stoddart explicitly describes the
    dissenting position as agreeing that the usual halt function cannot be implemented, while arguing that its specification is inconsistent rather than treating this simply as an undecidable computable predicate.

    So I won't dismiss the comparison.

    But this does not establish your particular argument.

    In fact, Hehner makes an important point that differs from yours: he
    says the contradiction remains even when `halt` is treated as an unimplemented specification. His conclusion is that the relevant self- referential specifications are inconsistent.

    Your claim is different:

       the contradiction is never reached, because the
       finite-string computation performed by HHH has a
       different behavior.

    That still leaves exactly the issue we have isolated.

    You now explicitly say:

       HHH(DD)=0 means "DD does not halt".


    An incorrect requirement that violates the definition
    of computation when-so-ever there is a pathological
    self-reference (PSR) relationship between the decider
    and its input.

    The actual correct requirement is that a halt decider
    must report on the actual behavior that its actual
    finite string input actually specifies.

    That you simply keep ignoring this is no actual rebuttal at all.

    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
    If simulating halt decider H correctly simulates its
    input D until H correctly determines that its simulated D
    would never stop running unless aborted then

    H can abort its simulation of D and correctly report that
    [the correctly simulated] D specifies a non-halting
    sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
    [the correctly simulated] // inserted for clarity

    And you explicitly agree:

       HHH(DD)=0 -> DD returns.


    This is NOT the D that is under test.

    Therefore:

       HHH says DD does not halt

    HHH correctly reports
    that [its correctly simulated] DD
    specifies a non-halting
    sequence of configurations.

       while DD halts.


    Not the finite string input to DD

    You answer this by saying that the terminating DD is not the behavior
    HHH is required to classify.

    Fine — but that changes the meaning of "DD does not halt".


    It corrects the error of the Halting Problem proof

    The diagonal argument itself remains:


    Incorrect on the basis of a false assumption.

       H(D,D)=1 -> D loops   -> H is wrong
       H(D,D)=0 -> D returns -> H is wrong
       H diverges            -> H is not a decider

    Nothing in that argument requires a "contradiction state" to be reached
    by H.


    If HHH were accountable for reporting on an executing
    process that is not an input finite string then HHH
    would be wrong no matter what it reports.

    If cats were dogs then cats would bark.

    So I think you now need to establish your genuinely novel claim rather
    than cite Hehner or Stoddart:


    That two PhD computer science professors agree
    with my conclusion that the Halting Problem is
    wrong establishes that I am no mere crank.

       Why does the finite description DD cease to specify
       the ordinary execution of DD specifically because HHH
       occurs in the self-reference?


    It seems to be that this is merely you failing
    to pay attention to what you already agreed to.

    All computations are essentially the application
    of correct finite string transformation rules to
    finite string inputs to derive any and all outputs.

    HHH applies the finite string transformation rule /
    inference steps to its finite string input DD according
    to the operational semantics of the C programming language.

    This meets the Emil Post requirements of computation.
    The DD executed from main is outside of the domain
    of any Emil Post halt decider.

    That is the missing theorem.

    Your finite-string account shows what HHH's internal simulation does. It does not yet establish that the ordinary semantic relation between a
    program description and its execution becomes invalid under self-reference.

    If you can prove THAT, you have something substantial to publish.

    But Hehner and Stoddart cannot supply that proof for you merely because
    they also criticize the conventional interpretation of the halting
    argument.

    That they have their view proves that I am no mere crank.
    --
    Copyright 2026 Olcott

    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,comp.ai.philosophy,sci.logic,sci.math,sci.math.symbolic on Tue Oct 6 08:08:21 2026
    From Newsgroup: comp.ai.philosophy

    On 10/6/2026 7:42 AM, Python wrote:
    Peter, I am not ignoring your distinction. I am pointing out that you
    keep switching between two different claims.

    A few messages ago you explicitly wrote:

       HHH's 0 has always meant that "DD does not halt"


    I have said that this has always been based on a false assumption.

    Now you replace that with:

       HHH correctly reports that [its correctly simulated] DD
       specifies a non-halting sequence of configurations.


    Correcting the error of the halting problem proof.

    Those are not the same proposition.

    We already agreed on the second one.

    So please choose exactly which proposition HHH(DD)=0 asserts:


    <MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
    If simulating halt decider H correctly simulates its
    input D until H correctly determines that its simulated D
    would never stop running unless aborted then

    H can abort its simulation of D and correctly report that
    [the correctly simulated] D specifies a non-halting
    sequence of configurations.
    </MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
    [the correctly simulated] // inserted for clarity

    As I have said from the beginning and never changed.
    (except for the clarification insertion)

       A. DD does not halt.

    or:

       B. HHH's simulation of DD produces a non-halting
          sequence of configurations.

    If B, we have no disagreement about HHH's result. But B is not the
    standard halting predicate.


    The standard halting predicate HAS ALWAYS BEEN WRONG
    The standard halting predicate HAS ALWAYS BEEN WRONG
    The standard halting predicate HAS ALWAYS BEEN WRONG
    The standard halting predicate HAS ALWAYS BEEN WRONG
    The standard halting predicate HAS ALWAYS BEEN WRONG

    If A, then we must ask what "DD" denotes in A. We agree that:

       main() { DD(); }

    terminates when HHH(DD) returns 0.

    Your answer is:

       This is NOT the D that is under test.

    But of course the executing process is not literally HHH's finite-string input. Nobody ever claimed it was.

    The finite string is the DESCRIPTION of the computation whose halting behavior is being asked about:

       finite description <P,x>
                 |
                 v
          computation P(x)

    Saying that P(x) is not literally the finite string <P,x> does not put
    P(x) "outside computation".

    Otherwise a universal machine could never compute anything about the
    machine encoded by its input.


    The essence of computation is applying
    finite string transformations to finite
    string inputs to derive outputs.
    Paraphrase of Emil Post canonical systems.

    And this sentence still needs proof:

       The DD executed from main is outside of the domain
       of any Emil Post halt decider.

    It does not follow from:

       computations use finite strings and finite
       transformation rules.

    DD executed from main is neither a finite string
    nor an actual input to HHH. How many times does
    this need to be repeated before you get it?

    You need an additional theorem establishing:

       finite descriptions can specify ordinary executions,
       EXCEPT when pathological self-reference occurs.

    That exception is precisely your novel claim. You cannot use the claimed exception as its own proof.

    The Sipser quotation doesn't establish it either. I accept the
    conditional statement you quote: if H correctly determines that its simulated D produces a non-halting sequence, it can correctly report
    that fact.

    Fine.

    But that establishes B, not A.

    And your dog analogy actually illustrates the problem rather nicely:

       If cats were dogs, cats would bark.

    Certainly. But that does not establish:

       cats are dogs.

    Likewise I can accept:

       If HHH's simulated DD produces a non-halting sequence,
       HHH may correctly report that simulated sequence
       as non-halting.

    That does not establish:

       DD does not halt.


    DD executed from main (the one that you keep
    referring to) is neither a finite string
    nor an actual input to HHH. How many times does
    this need to be repeated before you get it?

    To get from the first proposition to the second, you need precisely the additional premise that the behavior of HHH's simulated DD is the

    Only behavior that any computation can derive.

    halting behavior denoted by DD.

    But we already agree that the two behaviors differ:

       simulated DD: never reaches return

       executing DD: HHH returns 0, then DD returns

    So the dog analogy doesn't rescue the implication. It highlights the
    missing premise.

    We can therefore reduce the entire remaining disagreement to:

       You: B entails A because under PSR only the behavior
            derivable inside HHH from its finite input counts.

       Me:  B does not entail A. You still need to prove
            that PSR exception.


    You already agreed that
    The application of correct finite string transformation
    rules by HHH to its actual finite string input DD cannot
    possibly reach its own final halt state.

    You already agreed that
    The essence of computation is applying finite string
    transformations to finite string inputs to derive outputs.
    Post canonical systems

    These two things taken in isolation conclusively proof
    that HHH(DD)==0 is correct.

    That is the missing step.

    Everything else is now secondary.
    --
    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