Esistono davvero programmi come questo. Per dimostrarlo, supponiamo il contrario che per ogni macchina che non si ferma, c'è una prova che non si ferma.
Queste prove sono stringhe di lunghezza finita, quindi possiamo enumerare tutte le prove di lunghezza inferiori a per alcuni numeri interi s .ss
Possiamo quindi utilizzarlo per risolvere il problema di arresto nel modo seguente: Data una Turing Machine e un input x , utilizziamo il seguente algoritmo:Mx
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
Se ferma sull'input x , si ferma in un numero finito di passaggi s , quindi il nostro algoritmo termina.Mxs
Se non si ferma sull'input x , quindi per il nostro presupposto, ci sono alcune prove di lunghezza s dove c'è una prova che M non si ferma. Quindi, in questo caso, il nostro algoritmo termina sempre.MxsM
Pertanto, abbiamo un algoritmo che decide il problema di Halting che termina sempre. Ma sappiamo che questo non può esistere, quindi la nostra ipotesi che ci sia sempre una prova di non-stop deve essere falsa.
if T is true then halt else loop forever