Jump to content

Entscheidungsproblem: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
History of the problem: MOS:LQ; rm redundant italics
Tags: Reverted Mobile edit Mobile web edit Advanced mobile edit
Negative answer: fix bizarre capitalisation; don't put quotations in italics; make definitions sightly more precise, including correcting an error: he reduced the Entscheidungsproblem to the existence of a halting decider, not vice versa
Tags: Reverted Mobile edit Mobile web edit Advanced mobile edit
Line 18: Line 18:


== Negative answer<!--'Church's theorem' redirects here--> ==
== Negative answer<!--'Church's theorem' redirects here--> ==
Before the question could be answered, the notion of "algorithm" had to be formally defined. This was done by [[Alonzo Church]] in 1935 with the concept of "effective calculability" based on his [[lambda calculus|λ-calculus]] and by Alan Turing the next year with his concept of [[Turing machine]]s. Turing immediately recognized that these are equivalent [[model of computation|models of computation]].
Before the question could be answered, the notion of "algorithm" had to be formally defined. This was done by [[Alonzo Church]] in 1935 with the concept of "effective calculability" based on his [[lambda calculus|λ-calculus]], and by Alan Turing the next year with his concept of [[Turing machine]]s. Turing immediately recognized that these are equivalent [[model of computation|models of computation]].


The negative answer to the ''{{lang|de|Entscheidungsproblem}}'' was then given by Alonzo Church in 1935–36 ('''Church's theorem'''<!--boldface per WP:R#PLA-->) and [[multiple discovery|independently]] shortly thereafter by Alan Turing in 1936 ([[Turing's proof]]). Church proved that there is no [[computable function]] which decides for two given λ-calculus expressions whether they are equivalent or not. He relied heavily on earlier work by [[Stephen Cole Kleene|Stephen Kleene]]. Turing reduced the question of the existence of a 'general method' which decides whether any given Turing Machine halts or not (the [[halting problem]]) to the question of the existence of an 'algorithm' or 'general method' able to solve the ''{{lang|de|Entscheidungsproblem}}''. If 'Algorithm' is understood as being equivalent to a Turing Machine, and with the answer to the former question negative (in general), the question about the existence of an Algorithm for the ''{{lang|de|Entscheidungsproblem}}'' also must be negative (in general). In his 1936 paper, Turing says: ''"Corresponding to each computing machine 'it' we construct a formula 'Un(it)' and we show that, if there is a general method for determining whether 'Un(it)' is provable, then there is a general method for determining whether 'it' ever prints 0"''.
The negative answer to the {{lang|de|Entscheidungsproblem}} was then given by Alonzo Church in 1935–36 ('''Church's theorem'''<!--boldface per WP:R#PLA-->) and [[multiple discovery|independently]] shortly thereafter by Alan Turing in 1936 ([[Turing's proof]]). Church proved that there is no [[computable function]] which decides, for two given λ-calculus expressions, whether they are equivalent or not. He relied heavily on earlier work by [[Stephen Cole Kleene|Stephen Kleene]]. Turing reduced the question of the existence of an 'algorithm' or 'general method' able to solve the {{lang|de|Entscheidungsproblem}} to the question of the existence of a 'general method' which decides whether any given Turing machine halts or not (the [[halting problem]]). If 'algorithm' is understood as meaning a method that can be represented as a Turing machine, and with the answer to the latter question negative (in general), the question about the existence of an algorithm for the {{lang|de|Entscheidungsproblem}} also must be negative (in general). In his 1936 paper, Turing says: "Corresponding to each computing machine 'it' we construct a formula 'Un(it)' and we show that, if there is a general method for determining whether 'Un(it)' is provable, then there is a general method for determining whether 'it' ever prints 0".


The work of both Church and Turing was heavily influenced by [[Kurt Gödel]]'s earlier work on his [[Gödel's incompleteness theorem|incompleteness theorem]], especially by the method of assigning numbers (a [[Gödel numbering]]) to logical formulas in order to reduce logic to arithmetic.
The work of both Church and Turing was heavily influenced by [[Kurt Gödel]]'s earlier work on his [[Gödel's incompleteness theorem|incompleteness theorem]], especially by the method of assigning numbers (a [[Gödel numbering]]) to logical formulas in order to reduce logic to arithmetic.


The ''{{lang|de|Entscheidungsproblem}}'' is related to [[Hilbert's tenth problem]], which asks for an [[algorithm]] to decide whether [[Diophantine equation]]s have a solution. The non-existence of such an algorithm, established by the work of [[Yuri Matiyasevich]], [[Julia Robinson]], [[Martin Davis (mathematician)|Martin Davis]], and [[Hilary Putnam]], with the final piece of the proof in 1970, also implies a negative answer to the Entscheidungsproblem.
The ''{{lang|de|Entscheidungsproblem}}'' is related to [[Hilbert's tenth problem]], which asks for an [[algorithm]] to decide whether [[Diophantine equation]]s have a solution. The non-existence of such an algorithm, established by the work of [[Yuri Matiyasevich]], [[Julia Robinson]], [[Martin Davis (mathematician)|Martin Davis]], and [[Hilary Putnam]], with the final piece of the proof in 1970, also implies a negative answer to the ''Entscheidungsproblem''.


Some first-order theories are algorithmically decidable; examples of this include [[Presburger arithmetic]], [[real closed field]]s and [[Type system#Static typing|static type systems]] of many [[programming language]]s. The general first-order theory of the [[natural number]]s expressed in [[Peano axioms|Peano's axioms]] cannot be decided with an algorithm, however.
Some first-order theories are algorithmically decidable; examples of this include [[Presburger arithmetic]], [[real closed field]]s, and [[Type system#Static typing|static type systems]] of many [[programming language]]s. The general first-order theory of the [[natural number]]s expressed in [[Peano axioms|Peano's axioms]] cannot be decided with an algorithm, however.


==Practical decision procedures==
==Practical decision procedures==

Revision as of 16:07, 8 June 2022

In mathematics and computer science, the Entscheidungsproblem (pronounced [ɛntˈʃaɪ̯dʊŋspʁoˌbleːm], German for "decision problem") is a challenge posed by David Hilbert and Wilhelm Ackermann in 1928.[1] The problem asks for an algorithm that considers, as input, a statement and answers "Yes" or "No" according to whether the statement is universally valid, i.e., valid in every structure satisfying the axioms.

Completeness theorem

By the completeness theorem of first-order logic, a statement is universally valid if and only if it can be deduced from the axioms, so the Entscheidungsproblem can also be viewed as asking for an algorithm to decide whether a given statement is provable from the axioms using the rules of logic.

In 1936, Alonzo Church and Alan Turing published independent papers[2] showing that a general solution to the Entscheidungsproblem is impossible, assuming that the intuitive notion of "effectively calculable" is captured by the functions computable by a Turing machine (or equivalently, by those expressible in the lambda calculus). This assumption is now known as the Church–Turing thesis.

History of the problem

The origin of the Entscheidungsproblem goes back to Gottfried Leibniz, who in the seventeenth century, after having constructed a successful mechanical calculating machine, dreamt of building a machine that could manipulate symbols in order to determine the truth values of mathematical statements.[3] He realized that the first step would have to be a clean formal language, and much of his subsequent work was directed toward that goal. In 1928, David Hilbert and Wilhelm Ackermann posed the question in the form outlined above.

In continuation of his "program", Hilbert posed three questions at an international conference in 1928, the third of which became known as "Hilbert's Entscheidungsproblem".[4] In 1929, Moses Schönfinkel published one paper on special cases of the decision problem, that was prepared by Paul Bernays.[5]

As late as 1930, Hilbert believed that there would be no such thing as an unsolvable problem.[6]

Negative answer

Before the question could be answered, the notion of "algorithm" had to be formally defined. This was done by Alonzo Church in 1935 with the concept of "effective calculability" based on his λ-calculus, and by Alan Turing the next year with his concept of Turing machines. Turing immediately recognized that these are equivalent models of computation.

The negative answer to the Entscheidungsproblem was then given by Alonzo Church in 1935–36 (Church's theorem) and independently shortly thereafter by Alan Turing in 1936 (Turing's proof). Church proved that there is no computable function which decides, for two given λ-calculus expressions, whether they are equivalent or not. He relied heavily on earlier work by Stephen Kleene. Turing reduced the question of the existence of an 'algorithm' or 'general method' able to solve the Entscheidungsproblem to the question of the existence of a 'general method' which decides whether any given Turing machine halts or not (the halting problem). If 'algorithm' is understood as meaning a method that can be represented as a Turing machine, and with the answer to the latter question negative (in general), the question about the existence of an algorithm for the Entscheidungsproblem also must be negative (in general). In his 1936 paper, Turing says: "Corresponding to each computing machine 'it' we construct a formula 'Un(it)' and we show that, if there is a general method for determining whether 'Un(it)' is provable, then there is a general method for determining whether 'it' ever prints 0".

The work of both Church and Turing was heavily influenced by Kurt Gödel's earlier work on his incompleteness theorem, especially by the method of assigning numbers (a Gödel numbering) to logical formulas in order to reduce logic to arithmetic.

The Entscheidungsproblem is related to Hilbert's tenth problem, which asks for an algorithm to decide whether Diophantine equations have a solution. The non-existence of such an algorithm, established by the work of Yuri Matiyasevich, Julia Robinson, Martin Davis, and Hilary Putnam, with the final piece of the proof in 1970, also implies a negative answer to the Entscheidungsproblem.

Some first-order theories are algorithmically decidable; examples of this include Presburger arithmetic, real closed fields, and static type systems of many programming languages. The general first-order theory of the natural numbers expressed in Peano's axioms cannot be decided with an algorithm, however.

Practical decision procedures

Having practical decision procedures for classes of logical formulas is of considerable interest for program verification and circuit verification. Pure Boolean logical formulas are usually decided using SAT-solving techniques based on the DPLL algorithm. Conjunctive formulas over linear real or rational arithmetic can be decided using the simplex algorithm, formulas in linear integer arithmetic (Presburger arithmetic) can be decided using Cooper's algorithm or William Pugh's Omega test. Formulas with negations, conjunctions and disjunctions combine the difficulties of satisfiability testing with that of decision of conjunctions; they are generally decided nowadays using SMT-solving techniques, which combine SAT-solving with decision procedures for conjunctions and propagation techniques. Real polynomial arithmetic, also known as the theory of real closed fields, is decidable; this is the Tarski–Seidenberg theorem, which has been implemented in computers by using the cylindrical algebraic decomposition.

See also

Notes

  1. ^ David Hilbert and Wilhelm Ackermann. Grundzüge der Theoretischen Logik. Springer, Berlin, Germany, 1928. English translation: David Hilbert and Wilhelm Ackermann. Principles of Mathematical Logic. AMS Chelsea Publishing, Providence, Rhode Island, USA, 1950
  2. ^ Church's paper was presented to the American Mathematical Society on 19 April 1935 and published on 15 April 1936. Turing, who had made substantial progress in writing up his own results, was disappointed to learn of Church's proof upon its publication (see correspondence between Max Newman and Church in Alonzo Church papers). Turing quickly completed his paper and rushed it to publication; it was received by the Proceedings of the London Mathematical Society on 28 May 1936, read on 12 November 1936, and published in series 2, volume 42 (1936–7); it appeared in two sections: in Part 3 (pages 230–240), issued on 30 Nov 1936 and in Part 4 (pages 241–265), issued on 23 Dec 1936; Turing added corrections in volume 43 (1937), pp. 544–546. See the footnote at the end of Soare: 1996.
  3. ^ Davis 2000: pp. 3–20
  4. ^ Hodges p. 91
  5. ^ Kline, G. L.; Anovskaa, S. A. (1951), "Review of Foundations of mathematics and mathematical logic by S. A. Yanovskaya", Journal of Symbolic Logic, 16 (1): 46–48, doi:10.2307/2268665, JSTOR 2268665
  6. ^ Hodges p. 92, quoting from Hilbert

References