So diagonalization as we all know is an extremely productive way of showing uncomputability, the other main tool used by CS people for this task being reduction.

But it has occurred to me that I do not know a single uncomputable problem whose demonstration of uncomputability does not rely on diagonalization or reduction to a problem which relies on diagonalization.

Is there any example out there?


there appear to be "no known examples" of undecidable problems that are not proven through "diagonalization" (precisely formalized), or more strongly, apparently diagonalization is the only way of showing uncomputability. in fact diagonalization, formalized, is an even more general property than undecidability, because exactly the same "mechanism" is behind other key mathematical proofs namely Godels theorem and the uncountability of the reals. this is revealed in the Lawvere fixed point formalism/ theorem.[1][2]

maybe inadvertently, your question is also related or nearly equivalent to the Church-Turing thesis in some subtle or direct ways. the thesis is, roughly, that anything computable is computable by a Turing machine. therefore, equivalently, anything that is not computable is not computable by a Turing machine and all uncomputable Turing languages are reducible to the halting problem and vice versa.

the idea that there exist computations not captured by TMs is considered at best speculative and at worst verging on a "generally not credible" idea by the majority of computer scientists; see eg summary/ "debunking" by Fortnow which also cites several published/ peer reviewed counterclaims.[3] a more recent survey on applicability of Turing machine model and "hypercomputation" etc can be found in [4]

[1] Halting problem, uncomputable sets: common mathematical proof? / cstheory.se

[2] Lawvere, F. William. Diagonal Arguments and Cartesian Closed Categories. Lecture Notes in Mathematics, 92 (1969), 134-145


[4] Turing's Titanic Machine? / Cooper, communications ACM

| cite | improve this answer | |
  • 1
    $\begingroup$ All uncomputable languages are not reducible to the Halting problem. Consider for example the language formed by the tuples of TM with access to a halting oracle and inputs such that they halt on that input. By a similar argument to the vanilla halting problem, this augmented halting problem is not computable by a TM with access to a halting oracle. $\endgroup$ – Jsevillamol Mar 18 '17 at 16:56
  • 1
    $\begingroup$ agreed there is a hierarchy of undecidability/ reducibility degrees and there is some concept of incomparability in that sense but ofc at the root of that construction is the halting problem. will admit/ concede the assertion/ claim that "diagonalization is the only way of showing undecidability" is maybe not a generally recognized concept in the field... "yet"... have not seen it claimed elsewhere myself. the refs cited are best supporting that have come across in years of research/ pondering nearly the same question. $\endgroup$ – vzn Mar 18 '17 at 17:03
  • 2
    $\begingroup$ But the claim "all uncomputable Turing languages are reducible to the halting problem" is simply not true. Since you appear to agree with this, you should remove it from your answer. $\endgroup$ – David Richerby Mar 18 '17 at 18:16
  • 1
    $\begingroup$ there are different meanings of the word "reducible", some technical, some not, it has both a narrow and broader meaning and is used both ways in my answer, while there are potentially controversial elements do not consider the answer incorrect, am not interested in hairsplitting or "trick questions", maybe the questioner already has his suitable answer in mind and should answer his own question, anyone who thinks it is incorrect should respond with their own superior/ authoritative/ definitive answer and let audience/ peers/ voters decide as SE is designed/ intended $\endgroup$ – vzn Mar 19 '17 at 0:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.