Computability Theory

Dr. Heinrich Rolletschek

September 3, 2019

0.1 Time and place:

Thursday, 8:30–10:00, T 406/1, beginning October 10 2019.

0.2 About the course:

In contrast to courses like Design and Analysis of Algorithms, where specific algorithms are sought for specific problems, this course deals with the very notion of computability. What exactly do we mean, when we state that a problem can or cannot be solved algorithmically? And how can we prove rigorously that no algorithmic solution exists in certain cases? A famous result of this type (beyond the scope of this course) is the solution of Hilbert’s tenth problem: no algorithm can decide whether or not a given (polynomial) Diophantine equation has a solution (in the realm of integers). In order to show negative results of this kind, the notion of partial recursive function is introduced as a mathematically precise equivalent for the informal notion of algorithmically computable partial function, and mathematical properties of such functions are investigated.

One natural sequel is the subject of abstract complexity, one of the topics in the follow-up course Decidability- and Complexity Classes.

0.3 Contents:

Chapters 1–6 deal with the following issues:

0.4 Literature:

Lecture notes will be handed out. Among textbooks we mention

0.5 Exam:

Oral exam by agreement.