15-212: Principles of Programming

Lecture 25: Computability

In this and the next lecture we discuss the computability of functions in ML. By the Church-Turing thesis this is the same notion of computability as we have in recursion theory, with Turing machines, etc.

There are two main ideas to show that certain functions are not computable: diagonalization (which is a direct argument), and problem reduction (which shows that a problem is undecidable by giving a reduction from another undecidable problem).

Key Concepts

Sample Code

No code, since there is no solution to the halting problem! ;-)

Handouts

[ CS 15-212 Home page | schedule | language | assignments | handouts ]


Michael Erdmann