Sujet : Re: Annotated Breakdown: Linz's Halting Problem Proof and the Category Error Perspective
De : richard (at) *nospam* damon-family.org (Richard Damon)
Groupes : comp.theoryDate : 20. Apr 2025, 22:44:07
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <0c9559d9ef7eec83e90fd227c3d579c05b55f089@i2pn2.org>
References : 1
User-Agent : Mozilla Thunderbird
On 4/20/25 4:57 PM, Mr Flibble wrote:
This is a step-by-step outline of Linz's classical proof of the
undecidability of the Halting Problem, with commentary from the
perspective of a category-theoretic critique. This perspective suggests
that certain steps in the proof involve category errors, where roles and
types of entities are improperly mixed — for example, treating a program
and a meta-level decider as interchangeable.
And what is the "Category" of your Category-Theoretic critique?
THe only category of possible application, is does the input represents the representation of a program and its input, as that is the domain of the input in the problem.
1. Assume a Halting Decider Exists
Linz begins by assuming the existence of a function H(P, x) that can
determine whether program P halts on input x.
Category-Theoretic View: This assumption does not yet involve any category
error. It describes a standard computational decider working over ordinary
program-input pairs.
2. Define a Contradictory Program D(P)
Construct a new program D such that:
if H(P, P) reports 'halts', then D(P) loops forever;
if H(P, P) reports 'loops', then D(P) halts.
Category-Theoretic View: This step begins to introduce potential category
confusion. The function D is now being constructed specifically to act in
contradiction to H's analysis of P on itself, blending the role of program
and predicate. This blurs the boundary between object-level and meta-level
semantics.
No "Role" as far as the problem has occured. The PROGRAM D has been constructed from an previously defined program H.
3. Invoke D on Itself
Evaluate D(D), which leads to the contradiction:
- If H(D, D) says D halts → D(D) loops
- If H(D, D) says D loops → D(D) halts
> > Category-Theoretic View: Here the category error is fully exposed. The
object D is passed into H and simultaneously defined in terms of H’s
result on itself. This self-referential construct crosses semantic layers:
a program is both subject and evaluator. In type-theoretic terms, this is
akin to an ill-formed expression — a form of circular logic not grounded
in a well-defined semantic domain.
One program using a copy of another program within it is a fundamental property of Turing Complete programs.
If you want to object to that capability, you need to show why it can't be logically done in the Turing Complete logical programming system being discussed.
Then, "D" isn't passed to D, but the representation of D is passed to D. Olcotts notation is just bad and obscures the actual activity, and in fact, totally breaks the required model.
4. Conclude H Cannot Exist
The contradiction implies that no such universal halting decider H can
exist.
Category-Theoretic View: From this perspective, the contradiction arises
not from an inherent limitation of deciders per se, but from allowing
semantically invalid constructs. D(D) is seen as undefined or outside the
valid domain of discourse — not a legitimate program-input pair, but a
malformed self-referential statement.
No, the proof shows that the given H will just fail to give the right answer for that particual input.
The proof also points out that no details about the decider where used, other than it was claimed to be a correct decider.
Thus, the same proof can be applied to ANY such decider, and thus we can find for ANY decider an input that it will not get the right answer to, and thus NO decider can answer all inputs correctly.
There was nothing "illegal" about the formation of D(D) when done by the actual Linz method, so there is nothing illegal in the proof.
5. Interpretation
The standard interpretation is that the Halting Problem is undecidable —
there is no algorithm that can determine for all programs and inputs
whether the program halts.
Category-Theoretic View: The undecidability arises only when the system
permits semantically malformed constructions. If the language of
computation is refined to exclude category errors — such as programs that
attempt to reference or reason about their own evaluation in this way —
then within that well-formed subset, halting may be decidable or at least
non-contradictory.
No, all you are doing is claiming a category that doesn't actualy exist based on logic in a framework that fails to meet the requirements of the problem.
Sorry, all you are doing is showing how little you understand what you are talking about.