Трохи свободи в тому, що ми вважаємо "однаковою цінністю". Дозвольте мені показати, що такого алгоритму не існує, якщо "однакове значення" означає "спостережно еквівалент". Я буду використовувати фрагмент обчислення конструкцій, а саме систему Gödel T (просто набрав -рахунок, натуральні числа та примітивну рекурсію на них), тому аргумент застосовується до значно слабшого числення.λ
Дано число , нехай ¯ n - відповідна цифра, що представляє його, тобто n додатків s u c c до 0 . Враховуючи махін Тюрінга M , нехай ⌈ M some є числом, що кодує M, у певний розумний спосіб.нн¯¯¯нs u c c0М⌈ М⌉М
Скажімо , що дві замкнуті умови будуть еквівалентні , написані т ≃ U , коли для всіх п ∈ N , тt , u : n a t → n a tt ≃ un ∈ N іsтн¯¯¯ обидва нормалізуються на одне число (вони нормалізуються до числа, оскільки ми перебуваємо в сильно нормалізуючому члені).сн¯¯¯
Припустимо, у нас був алгоритм, який задає будь-який закритий термін типу обчислює мінімальний еквівалентний термін. Тоді ми можемо вирішити оракул Халтінг наступним чином.n a t → n a t
Існує термін такий, що для всіх n ∈ N та всіх машин Тюрінга M ,
S ( ⌈ M ⌉ , ¯ n ) нормалізується до ¯ 1, якщо T зупиняється протягом n кроків , і в нормі він нормалізується до ¯ 0 . Це добре відомо, оскільки моделювання машини Тьюрінга за фіксовану кількість кроків n є примітивною рекурсивною.S: n a t × n a t → n a tn ∈ NМS( ⌈ М⌉ , n¯¯¯)1¯¯¯Тн0¯¯¯н
Існує кінцево багато замкнених доданків які є мінімальними членами, еквівалентними λ x : n a t .Z1, … , Zк . Наш алгоритм мінімізації повертає один з них, коли ми даємо йому λ x : n a t .λ x : n a t .0 , і навіть може бути так, що λ x : n a t .λ x : n a t .0 насправді єдиний такий мінімальний термін. Все це не має значення, єдине, що має значення, це те, що існує кінцево багато мінімальних термінів, еквівалентних λ x : n a t .λ x : n a t .0 .λ x : n a t .0
Тепер, задавши будь-яку машину , розглянемо термін
u : = λ x : n a t .М
Якщо M працює вічно, то u ¯ n нормалізується до ¯ 0 для кожного n і еквівалентно λ x : n a t .
u : = λ x : n a t .S( ⌈ М⌉ , x )
Му н¯¯¯0¯¯¯н . Щоб вирішити, чипрацює
M вічно, ми подаємо
u в наш алгоритм мінімізації і перевіряємо, чи алгоритм повернув один із
Z 1 , … , Z k . Якщо це сталося, то
М працює назавжди. Якщо цього не сталося, то воно зупиняється. (Примітка: алгоритм не повинен обчислювати
Z 1 , ... , Z k сам по собі, вони можуть бути жорстко закодовані в алгоритм.)
λ x : n a t .0МуZ1, … , ZкМZ1, … , Zк
Було б непогано знати аргумент, який працює зі слабшим поняттям еквівалентності, наприклад, просто зводимість.β