Théorème 4Calculabilité
Indécidabilité du problème de l'arrêt
On pose , l'ensemble des indices des programmes qui s'arrêtent sur leur propre indice, et Décider si , c'est le problème de l'arrêt.
(i) Les ensembles et sont récursivement énumérables.
(ii) L'ensemble n'est pas récursif, et non plus : le problème de l'arrêt est indécidable.
(iii) Le complémentaire n'est pas récursivement énumérable.
Démonstration
(i) Par la forme normale (Kleene), et , relations primitives récursives sous le quantificateur.
(ii) Supposons récursif. La fonction est récursive ; elle vaut si , et n'est pas définie si . Par le point (i) de Kleene, elle a un indice : . Alors ce qui est absurde.
Si était récursif, , image réciproque de par , le serait aussi (Récursif, r.e., (iii)).
(iii) Si était récursivement énumérable, serait récursif par le point (ii) de Récursif, r.e., puisqu'il l'est par (i).
La preuve est la diagonale de Cantor (Théorème de Cantor) appliquée au tableau infini des : diffère de la ligne en sa case diagonale. Ce n'est pas l'existence de qui pose problème, puisque c'est une fonction, mais sa calculabilité, qui viendrait de celle de .
Turing a établi en 1936 l'indécidabilité d'un problème voisin, savoir si une machine imprime indéfiniment des chiffres ; la formulation en termes d'arrêt est postérieure. L'énoncé ne dit pas qu'on ignore si tel programme s'arrête, mais qu'aucun programme ne répond à cette question pour tous les programmes à la fois.