Talk:Undecidable problem

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Mathematics (Rated Start-class, Mid-importance)
WikiProject Mathematics
This article is within the scope of WikiProject Mathematics, a collaborative effort to improve the coverage of Mathematics on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Mathematics rating:
Start Class
Mid Importance
 Field: Foundations, logic, and set theory


A Undecidable problem is a decision problemthat are not decidable.

A decision problem is any arbitrary yes-or-no question on an infinite set of inputs. Because of this, it is traditional to define the decision problem equivalently as: the set of inputs for which the problem returns yes.

These inputs can be natural numbers, but also other values of some other kind, such as strings of a formal language. Using some encoding, such as Gödel numbers, the strings can be encoded as natural numbers. Thus, a decision problem informally phrased in terms of a formal language is also equivalent to a set of natural numbers. To keep the formal definition simple, it is phrased in terms of subsets of the natural numbers.

Formally, a decision problem is a subset of the natural numbers. The corresponding informal problem is that of deciding whether a given number is in the set.

A decision problem A is called decidable or effectively solvable if A is a recursive set. A problem is called partially decidable, semidecidable, solvable, or provable if A is a recursively enumerable set. Partially decidable problems and any other problems that are not decidable are called undecidable.

The undecidable problem in Computability Theory[edit]

In computability theory, the halting problem is a decision problem which can be stated as follows:

Given a description of a program and a finite input, decide whether the program finishes running or will run forever, given that input.

Alan Turing proved in 1936 that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist. We say that the halting problem is undecidable over Turing machines.

Relationship with Gödel's incompleteness theorem[edit]

The concepts raised by Gödel's incompleteness theorems are very similar to those raised by the halting problem, and the proofs are quite similar. In fact, a weaker form of the First Incompleteness Theorem is an easy consequence of the undecidability of the halting problem. This weaker form differs from the standard statement of the incompleteness theorem by asserting that a complete, consistent and sound axiomatization of all statements about natural numbers is unachievable. The "sound" part is the weakening: it means that we require the axiomatic system in question to prove only true statements about natural numbers (it's very important to observe that the statement of the standard form of Gödel's First Incompleteness Theorem is completely unconcerned with the question of truth, but only concerns the issue of whether it can be proven).

The weaker form of the theorem can be proved from the undecidability of the halting problem as follows. Assume that we have a consistent and complete axiomatization of all true first-order logic statements about natural numbers. Then we can build an algorithm that enumerates all these statements. This means that there is an algorithm N(n) that, given a natural number n, computes a true first-order logic statement about natural numbers such that, for all the true statements, there is at least one n such that N(n) yields that statement. Now suppose we want to decide if the algorithm with representation a halts on input i. We know that this statement can be expressed with a first-order logic statement, say H(a, i). Since the axiomatization is complete it follows that either there is an n such that N(n) = H(a, i) or there is an n' such that N(n') = ¬ H(a, i). So if we iterate over all n until we either find H(a, i) or its negation, we will always halt. This means that this gives us an algorithm to decide the halting problem. Since we know that there cannot be such an algorithm, it follows that the assumption that there is a consistent and complete axiomatization of all true first-order logic statements about natural numbers must be false. <- this proof is not correct or at least takes some jumps. How do we know that there is an algorithm to enumerates all the true statements. And did we not just say it is not about truth about about provability?

List of undecidable problems[edit]

In computability theory, an undecidable problem is a problem whose language is not a recursive set. More informally, such problems cannot be solved in general by computers; see decidability. This is a list of undecidable problems. Note that there are uncountably many undecidable problems, so this list is necessarily incomplete. Though undecidable languages are not recursive languages, they may be a subset of Turing recognizable languages. <- This is inaccurate, there are only countably many strings, and statements and problem statements are bounded by this. This should be eliminated.

There is a problem here, definitely. To an educated layperson a decision problem is one made on a countable set of characters which can be translated into a string on a fixed, finite set of characters (say, {0,1}). There is only the obvious philosophical reason, that problems need to be enunciated to be problems. 1) How is the leap to uncountable justified? and 2) Why stop at subsets of the naturals? I.e., why don't we talk about the 2^(2^c) "decision problems" on subsets of reals? I imagine there is a good answer for this but don't see it here. (talk) 04:00, 11 February 2014 (UTC)

Problems related to abstract machines[edit]

  • The halting problem (determining whether a specified machine halts or runs forever).
  • The busy beaver problem (determining the length of the longest halting computation among machines of a specified size).
  • Rice's theorem states that for all non-trivial properties of partial functions, it is undecidable whether a machine computes a partial function with that property.

Other problems[edit]

Examples of undecidable statements[edit]

There are two distinct senses of the word "undecidable" in contemporary use. The first of these is the sense used in relation to Gödel's theorems, that of a statement being neither provable nor refutable in a specified deductive system. The second sense is used in relation to computability theory and applies not to statements but to decision problems, which are countably infinite sets of questions each requiring a yes or no answer. Such a problem is said to be undecidable if there is no computable function that correctly answers every question in the problem set. The connection between these two is that if a decision problem is undecidable (in the recursion theoretical sense) then there is no consistent, effective formal system which proves for every question A in the problem either "the answer to A is yes" or "the answer to A is no".

Because of the two meanings of the word undecidable, the term independent is sometimes used instead of undecidable for the "neither provable nor refutable" sense. The usage of "independent" is also ambiguous, however. Some use it to mean just "not provable", leaving open whether an independent statement might be refuted.

Undecidability of a statement in a particular deductive system does not, in and of itself, address the question of whether the truth value of the statement is well-defined, or whether it can be determined by other means. Undecidability only implies that the particular deductive system being considered does not prove the truth or falsity of the statement. Whether there exist so-called "absolutely undecidable" statements, whose truth value can never be known or is ill-specified, is a controversial point among various philosophical schools.

One of the first problems suspected to be undecidable, in the second sense of the term, was the word problem for groups, first posed by Max Dehn in 1911, which asks if there is a finitely presented group for which no algorithm exists to determine whether two words are equivalent. This was shown to be the case in 1952.

The combined work of Gödel and Paul Cohen has given two concrete examples of undecidable statements (in the first sense of the term): The continuum hypothesis can neither be proved nor refuted in ZFC (the standard axiomatization of set theory), and the axiom of choice can neither be proved nor refuted in ZF (which is all the ZFC axioms except the axiom of choice). These results do not require the incompleteness theorem. Gödel proved in 1940 that neither of these statements could be disproved in ZF or ZFC set theory. In the 1960s, Cohen proved that neither is provable from ZF, and the continuum hypothesis cannot be proven from ZFC.

In 1970, Soviet mathematician Yuri Matiyasevich showed that Hilbert's Tenth Problem, posed in 1900 as a challenge to the next century of mathematicians, cannot be solved. Hilbert's challenge sought an algorithm which finds all solutions of a Diophantine Equation. A Diophantine Equation is a more general case of Fermat's Last Theorem; we seek the rational roots of a polynomial in any number of variables with integer coefficients. Since we have only one equation but n- variables, infinite solutions exist (and are easy to find) in the Complex Plane; the problem becomes difficult (impossible) by constraining solutions to rational values only. Matiyasevich showed this problem to be unsolvable by mapping a Diophantine Equation to a recursively enumerable set and invoking Gödel's Incompleteness Theorem.[1]

In 1936, Alan Turing proved that the halting problem—the question of whether or not a Turing machine halts on a given program—is undecidable, in the second sense of the term. This result was later generalized to Rice's theorem.

In 1973, the Whitehead problem in group theory was shown to be undecidable, in the first sense of the term, in standard set theory.

In 1977, Paris and Harrington proved that the Paris-Harrington principle, a version of the Ramsey theorem, is undecidable in the axiomatization of arithmetic given by the Peano axioms but can be proven to be true in the larger system of second-order arithmetic.

Kruskal's tree theorem, which has applications in computer science, is also undecidable from the Peano axioms but provable in set theory. In fact Kruskal's tree theorem (or its finite form) is undecidable in a much stronger system codifying the principles acceptable on basis of a philosophy of mathematics called predicativism.

Goodstein's theorem is a statement about the Ramsey theory of the natural numbers that Kirby and Paris showed is undecidable in Peano arithmetic.

Gregory Chaitin produced undecidable statements in algorithmic information theory and proved another incompleteness theorem in that setting. Chaitin's theorem states that for any theory that can represent enough arithmetic, there is an upper bound c such that no specific number can be proven in that theory to have Kolmogorov complexity greater than c. While Gödel's theorem is related to the liar paradox, Chaitin's result is related to Berry's paradox.

Douglas Hofstadter gives a notable alternative proof of incompleteness, inspired by Gödel, in his book Gödel, Escher, Bach.

--Identityandconsulting (talk) 01:38, 7 February 2008 (UTC)

Deletion proposal[edit]

Is this page still threatened with deletion? The deadline was the 12th, and there’s no comment on the subject here. IMO this should be improved, not deleted; it looks like a useful addition, and I’d like to read it again tomorrow. If the objection is “Original Research” wouldn’t it be better to ask for references, and tag it thus? Moonraker12 (talk) 13:22, 12 February 2008 (UTC)

  • Deletion proposal: Do we scare away contributors by hassling them and deleting their work?

The biggest problem with focusing on deletion is the huge amount of wasted hours - people working to improve Wikipedia by making content are thwarted by people working to improve Wikipedia by deleting content! If those that delete content instead worked to improve content on Wikipedia, we might get featured quality articles twice as often than we do now.

There are other alternatives to deletion that are more constructive, such as merging, adding onto stub artiles, finding sources, fixing wording, line-item deletion, or simple editing.

  • Someone comes along--often someone with no knowledge of the subject--and presumes that the article can never be expanded and will never have verifiable sources, and so he PRODs it.
  • The original editor removes the PROD tag and maybe makes a substantial edit, if he has time--but remember, the whole reason he only wrote a sentence or two in the first place is because he doesn't have more than a few minutes at a time to work on Wikipedia.
  • The individual who added the PROD tag then lists it on AfD, for the same reason he PRODded it.
  • Other editors recommend its deletion, on the grounds that it does not list any sources, makes no claims to notability, or is simply "too short to be worth keeping"

So give an article a chance. Unless it's a blatant speedy delete--such as nonsense, advertising, slander, or a copyvio--don't tag it speedy. And don't PROD or AfD it until the original editor has had a chance--a week should be enough time--to add substance to the article and list sources and do everything else people tend to use against such short articles. You may want to consider using the {{expand}} tag. --Identityandconsulting (talk) 16:34, 16 February 2008 (UTC)

Attempt to merge[edit]

For anyone keeping this article on their watchlist: there is currently an attempt at merging a number of articles on (non-)recursive/(un)decidable/(un)computable sets/languages/decision problems into a single, thorough article. The experiment currently sits at Recursive languages and sets. Comments are very welcome. Pichpich (talk) 00:41, 21 February 2008 (UTC)


Does Hofstadter really give a notable alternative proof of incompleteness, inspired by Gödel, in his book Gödel, Escher, Bach? I read the book a long time ago, but as I remember, he uses a diagonal lemma, just like Gödel. The proof is "alternative" in the sense that it applies to Hofstadter's axiom system TNT rather than "Principia Mathematica"; but this difference is inessential in view of the fact that Hofstadter (as I remember) skips all the technical steps in which this difference would play a role.

Aleph4 (talk) 13:00, 20 June 2008 (UTC)

  1. ^ Enumerable sets are Diophantine, Yuri Matiyasevich (1970). Doklady Akademii Nauk SSSR. pp. 279–82.