De hecho, hay programas como este. Para probar esto, supongamos lo contrario que por cada máquina que no se detiene, hay una prueba de que no se detiene.
Estas pruebas son cadenas de longitud finita, por lo que podemos enumerar todas las pruebas de longitud menor que para algunos enteros s .ss
Luego podemos usar esto para resolver el problema de detención de la siguiente manera: Dada una máquina Turing y una entrada x , usamos el siguiente algoritmo:METROX
s := 0
while (True)
test if machine M halts on input x in s steps
look at all proofs of length s and see if they prove M doesn't halt on input x
set s := s + 1
Si detiene en la entrada x , entonces se detiene en un número finito de pasos s , por lo que nuestro algoritmo termina.METROXs
Si no se detiene en la entrada x , entonces, por nuestra suposición, hay algunas pruebas de longitud s donde hay una prueba de que M no se detiene. Entonces, en este caso, nuestro algoritmo siempre termina.METROXsMETRO
Por lo tanto, tenemos un algoritmo para decidir el problema de detención que siempre termina. Pero sabemos que esto no puede existir, por lo que nuestra suposición de que siempre hay una prueba de no detenerse debe ser falsa.
if T is true then halt else loop forever