## CS 15-212: Fundamental Structures of Computer Science II |

In this lecture we discuss the central results about 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 given a reduction from an another undecidable problem).

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

- Basic Computability Theory (also in PDF format)

Frank Pfenning fp@cs