## 15-212: Principles of Programming |

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).

- Halting problem
- Decision problem
- Decision procedure
- Semi-decision procedure
- Diagonalization argument
- Problem reduction
- Equality of functions

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