The history of the Church–Turing thesis ("thesis") involves the history of the development of the study of the nature of functions whose values are effectively calculable; or, in more modern terms, functions whose values are algorithmically computable. It is an important topic in modern mathematical theory and computer science, particularly associated with the work of Alonzo Church and Alan Turing. The debate and discovery of the meaning of "computation" and "recursion" has been long and contentious. This article provides detail of that debate and discovery from Peano's axioms in 1889 through recent discussion of the meaning of "axiom".
Peano's nine axioms of arithmetic In 1889, Giuseppe Peano presented his The principles of arithmetic, presented by a new method, based on the work of Dedekind. Soare proposes that the origination of "primitive recursion" began formally with the axioms of Peano, although
"Well before the nineteenth century mathematicians used the principle of defining a function by induction. Dedekind 1888 proved, using accepted axioms, that such a definition defines a unique function, and he applied it to the definition of the functions m+n, m x n, and mn. Based on this work of Dedekind, Peano 1889 and 1891 wrote the familiar five [sic] axioms for the positive integers. As a companion to his fifth [sic] axiom, mathematical induction, Peano used definition by induction, which has been called primitive recursion (since Péter 1934 and Kleene 1936) ... ." Observe that in fact Peano's axioms are 9 in number and axiom 9 is the recursion/induction axiom.
"Subsequently the 9 were reduced to 5 as "Axioms 2, 3, 4 and 5 which deal with identity, belong to the underlying logic. This leaves the five axioms that have become universally known as "the Peano axioms ... Peano acknowledges (1891b, p. 93) that his axioms come from Dedekind ... ."
Hilbert and the Entscheidungsproblem At the International Congress of Mathematicians (ICM) in 1900 in Paris the famous mathematician David Hilbert posed a set of problems – now known as Hilbert's problems – his beacon illuminating the way for mathematicians of the twentieth century. Hilbert's 2nd and 10th problems introduced the "Entscheidungsproblem" (the "decision problem"). In his 2nd problem he asked for a proof that "arithmetic" is "consistent". Kurt Gödel would prove in 1931 that, within what he called "P" (nowadays called Peano Arithmetic), "there exist undecidable sentences [propositions]". Because of this, "the consistency of P is unprovable in P, provided P is consistent". While Gödel’s proof would display the tools necessary for Alonzo Church and Alan Turing to resolve the Entscheidungsproblem, he himself would not answer it. It is within Hilbert's 10th problem where the question of an Entscheidungsproblem actually appears. The heart of matter was the following question: "What do we mean when we say that a function is 'effectively calculable'"? The answer would be something to this effect: "When the function is calculated by a mechanical procedure (process, method)." Although stated easily nowadays, the question (and answer) would float about for almost 30 years before it was framed precisely. Hilbert's original description of problem 10 begins as follows:
"10. Determination of the solvability of a Diophantine equation. Given a Diophantine equation with any number of unknown quantities and with rational integral coefficients: To devise a process according to which it can be determined in a finite number of operations whether the equation is solvable in rational integers." By 1922, the specific question of an Entscheidungsproblem applied to Diophantine equations had developed into the more general question about a "decision method" for any mathematical formula. Martin Davis explains it this way: Suppose we are given a "calculational procedure" that consists of (1) a set of axioms and (2) a logical conclusion written in first-order logic, that is—written in what Davis calls "Frege's rules of deduction" (or the modern equivalent of Boolean logic). Gödel’s doctoral dissertation proved that Frege's rules were complete "... in the sense that every valid formula is provable". Given that encouraging fact, could there be a generalized "calculational procedure" that would tell us whether a conclusion can be derived from its premises? Davis calls such calculational procedures "algorithms". The Entscheidungsproblem would be an algorithm as well. "In principle, an algorithm for [the] Entscheidungsproblem would have reduced all human deductive reasoning to brute calculation". In other words: Is there an "algorithm" that can tell us if any formula is "true" (i.e. an algorithm that always correctly yields a judgment "truth" or "falsehood"?)
" ... it seemed clear to Hilbert that with the solution of this problem, the Entscheidungsproblem, that it should be possible in principle to settle all mathematical questions in a purely mechanical manner. Hence, given unsolvable problems at all, if Hilbert was correct, then the Entscheidungsproblem itself should be unsolvable". Indeed: What about our Entscheidungsproblem algorithm itself? Can it determine, in a finite number of steps, whether it, itself, is "successful" and "truthful" (that is, it does not get hung up in an endless "circle" or "loop", and it correctly yields a judgment "truth" or "falsehood" about its own behavior and results)?
Three problems from Hilbert's 2nd and 10th problems At the 1928 Congress [in Bologna, Italy] Hilbert refines the question very carefully into three parts. The following is Stephen Hawking's summary:
"1. To prove that all true mathematical statements could be proven, that is, the completeness of mathematics. "2. To prove that only true mathematical statements could be proven, that is, the consistency of mathematics, "3. To prove the decidability of mathematics, that is, the existence of a decision procedure to decide the truth or falsity of any given mathematical proposition."
Simple arithmetic functions irreducible to primitive recursion Gabriel Sudan (1927) and Wilhelm Ackermann (1928) display recursive functions that are not primitive recursive:
… excerpt ends here. Continue reading the full article.
