Formalizziamo un calcolo come un problema per capire se
Nel 1933, Gödel e Herbrand individuano un insieme di funzioni sugli interi che appaiono definire ciò che può essere calcolato manualmente.
Nel 1936, Alonso Church definisce un altro sistema basato su funzioni ricorsive, il
Sempre nel 1936, Turing definisce quella che è la MT a nastro singolo tentando di fornire un formalismo per rappresentare tutto ciò che è "effettivamente calcolabile".
Kleene, Turing e Church dimostrano che i tre formalismo citati sono equivalenti, cioè definiscono lo stesso insieme di problemi.
Di conseguenza, tutti i problemi calcolabili operativamente sono descritti da una MT.
Turing definisce computable una funzione che può essere calcolata da una procedura eseguita da una macchina, senza necessità di intervento esterno, e che dà risultato in tempo finito.
Definiamo la enumerazione
Consideriamo le MT a nastro singolo, con alfabeto
In generale ho
Scegliendo un ordine arbitrario per l'insieme
Si ha che
Definiamo
Definiamo inoltre
Si ha che esiste almeno una Macchina di Turing Universale (MTU) per ogni calcolo, cioè una MT
La MTU non sembra essere dello stesso tipo delle altre
Si ha che
Si ha inoltre che un problema definito su un linguaggio, a sua volta è definito sull'alfabeto
Data una funzione
Consideriamo la funzione:
Supponiamo che esista, e sia calcolabile una:
Se
Se
Intuitivamente, se ho un programma
Si ha che:
Dimostriamo che esiste una
Nel contesto della calcolabilità: posso sapere che esiste una MT che risolve il problema, anche se non sono in grado di dire quale sia tra le possibili. Supponiamo di avere una funzione
Dato un problema
Il complementare del problema
Nei casi in cui non sono presenti variabili in input in un problema
Considerando un problema con risposta binaria, quindi quelli che richiedono di calcolare una certa
Definiamo
Analizzando l'insieme direttamente, se
Se esiste una MT che termina e stampa "si" se
Se
Si ha che
È equivalente dire che:
Il termine semidecidibile deriva dal fatto che:
Consideriamo
Si ha quindi che:
Dato un insieme
Ipotizziamo che
Non è possibile, con un formalismo RE, definire l'insieme di tutte e sole le
Sia una funzione
Dato un parametro
La definizione è effettiva, quindi esiste una MT
Sia
Supponiamo, per assurdo, che
Per quanto detto,
Un altro enunciato per il teorema di Rice è il seguente:
Sia
Non banale significa che esiste almeno una macchina
Semantica significa che riguarda il linguaggio accettato
Dire se un generico problema è (semi)decidibile o meno è un problema indecidibile. Tuttavia il teorema di Rice ci consente di mostrare che un teorema non è decidibile.
Come conseguenze del teorema di rice possiamo dire che, non possiamo decidere se una MT:
Siano
Se