C'è un po 'di libertà in ciò che consideriamo "lo stesso valore". Consentitemi di dimostrare che non esiste un tale algoritmo se "lo stesso valore" significa "equivalente osservazionale". Userò un frammento del calcolo delle costruzioni, vale a dire il sistema T di Gödel (semplicemente digitando -calculus, numeri naturali e ricorsività primitiva su di essi), quindi l'argomento si applica già a un calcolo molto più debole.λ
Dato un numero , lascia che ¯ n sia il numero corrispondente che lo rappresenta, cioè n applicazioni di s u c c a 0 . Dato un mahcine M di Turing , lascia che ⌈ M ⌉ sia il numero che codifica M in un modo ragionevole.nn¯¯¯nsucc0M⌈M⌉M
Dì che due termini chiusi sono equivalenti , scritti t ≃ u , quando per tutti n ∈ N , tt,u:nat→natt≃un∈N estn¯¯¯ normalizzano entrambi sullo stesso numero (si normalizzano su un numero perché siamo in un claculus fortemente normalizzante).sn¯¯¯
Supponiamo di avere un algoritmo, che dato qualsiasi termine chiuso di tipo calcola un termine minimo equivalente. Quindi possiamo risolvere l'oracolo di Halting come segue.nat→nat
Esiste un termine tale che, per tutte le n ∈ N e tutte le macchine di Turing M ,
S ( ⌈ M ⌉ , ¯ n ) si normalizza a ¯ 1 se T si ferma entro n passi e si normalizza a ¯ 0 altrimenti. Ciò è ben noto, poiché la simulazione di una macchina di Turing per un numero fisso di passaggi n è ricorsiva primitiva.S:nat×nat→natn∈NMS(⌈M⌉,n¯¯¯)1¯¯¯Tn0¯¯¯n
Esistono molti termini chiusi che sono termini minimi equivalenti a λ x : n a t .Z1,…,Zk . Il nostro algoritmo di minimizzazione ne restituisce uno quando lo diamo λ x : n a t .λx:nat.0 , e potrebbe anche essere il caso che λ x : n a t .λx:nat.0 è in effetti l'unico termine minimo. Tutto ciò non importa, l'unica cosa che conta è che ci sono finitamente molti termini minimi equivalenti a λ x : n a t .λx:nat.0 .λx:nat.0
Ora, data qualsiasi macchina , considera il termine
u : = λ x : n a t .M
Se M corre per sempre, allora u ¯ n si normalizza a ¯ 0 per ogni n ed equivale a λ x : n a t .
u:=λx:nat.S(⌈M⌉,x)
Mun¯¯¯0¯¯¯nλx:nat.0MuZ1,…,ZkMZ1,…,Zk
β