CS 3719 (Theory of Computation and Algorithms) - : 1 Undecidable Languages
CS 3719 (Theory of Computation and Algorithms) - : 1 Undecidable Languages
Lecture 5
Antonina Kolokolova
January 18, 2013
Undecidable languages
1.1
Church-Turing thesis
Lets recap how it all started. In 1990, Hilbert stated a list of problems for mathematicians
of the next century; some of these problems asked to devise a procedure; two of those problems are devise a procedure for solving an equation over integers (Diophantine equations)
that you have seen in the first lecture, and devise a procedure that, given a statement of
mathematics, would decide if it is true or false.
Alan Turing was working on Hilberts problem that asked for an algorithm that for any
statement of mathematics would state whether it is true or false; Godel has shown (his
famous Incompleteness Theorem) that there are statements of mathematics for which such
answer cannot be given, but it remained open at that time whether there is such a procedure
for statements for which that answer could be given. There were several mathematicians
working on this problem at that time; notably, Alonco Church solved this problem (to give a
negative answer) at about the same time, by inventing lambda-calculus. Turings approach
is somewhat more computational: he defined a model of computation which we now call
the Turing machine, equivalent to Churchs model in terms of power, and used it to show
undecidability results, thus giving a negative answer to Hilberts problem.
Definition 13 (Church-Turing thesis). Anything computable by an algorithm of any kind
(our intuitive notion of algorithm) is computable by a Turing machine.
Since this statement talks about an intuitive notion of algorithm we cannot really prove it;
all we can do is that whenever we think of a natural notion of an algorithm, show that this
can be done by a Turing machine.
The material in this set of notes came from many sources, in particular Introduction to Theory of
Computation by Sipser and course notes of U. of Toronto CS 364. Many thanks to Richard Bajona for
taking notes!