"Aynı değer" olarak düşündüğümüz şeyde biraz özgürlük var. "Aynı değer" "gözlemsel olarak eşdeğer" anlamına geliyorsa böyle bir algoritma olmadığını göstereyim. Yapının Kalkülüsünün bir parçasını kullanacağım, yani Gödel'in System T (basitçe hesabı, doğal sayılar ve bunlara ilkel özyineleme), bu yüzden argüman zaten çok daha zayıf bir hesap için geçerlidir.λ
Bir sayısı verildiğinde , ¯ n onu temsil eden karşılık gelen sayı olsun, yani s u c c ila 0 n uygulamaları . Bir Turing mahcine Verilen M , let ⌈ M ⌉ rakamı kodlama olmak M bazı makul bir şekilde.nn¯¯¯nsucc0M⌈M⌉M
De ki iki kapalı terimler bu olan eşdeğer , yazılı t ≃ u , ne zaman herkes için n ∈ N , tt,u:nat→natt≃un∈N vestn¯¯¯ her ikisi de aynı sayıya normalleşir (bir sayıya normalleşir, çünkü güçlü bir şekilde normalleştirici bir kapasiteye sahibiz).sn¯¯¯
Varsayalım ki, tipinde herhangi bir kapalı terimi veren bir algoritmanın minimum eşdeğer terimi hesapladığını varsayalım . Sonra Durma kehanetini şu şekilde çözebiliriz.nat→nat
Orada bir terim tüm bu, böyle bir n ∈ , N ve Turing makineleri K ,
S ( ⌈ M ⌉ , ¯ n ) için normalize ¯ 1 ise , T içinde durur n adımları , aksi takdirde ¯ 0 olur . Bu adımlar, sabit sayıda Turing makinesinin simülasyonunun beri iyi bilinmektedir , n ilkel özyinelemeli.S:nat×nat→natn∈NMS( ⌈ M⌉ , n¯¯¯)1¯¯¯Tn0¯¯¯n
Sonlu sayıda kapalı terimler vardır eşdeğer asgari koşulları şunlardır λ x : n bir t .Z1, … , Zk . Minimizasyon algoritmamız λ x : n a t verdiğimizde bunlardan birini döndürür .λ x : n a t .0 ve hatta λ x : n a t .λ x : n a t .0 aslında böyle bir minimal terimdir. Tüm bunlar önemli değil, önemli olan tek şey, λ x : n a t'ye eşdeğer olan son derece çok az terim olmasıdır .λ x : n a t .0 .λ x : n a t .0
Şimdi, herhangi bir makinesi verildiğinde u : = λ x : n a t terimini düşünün
.M
ise M sonsuza sonra çalışır u ¯ n normalleştirir için ¯ 0 her için n ve eşdeğerdir λ X : n, bir t .
u:=λx:nat.S(⌈M⌉,x)
Mun¯¯¯0¯¯¯n .
M'nin sonsuza kadarçalışıp çalışmadığınakarar vermek için,
u minimzasyon algoritmamıza besler ve algoritmanın
Z 1 , … , Z k'dan birini döndürüp döndürmediğini kontrol ederiz. Eğer öyleyse,
M sonsuza kadar koşar. Eğer yapmadıysa, durur. (Not: algoritma hesaplamak gerekmez
Z 1 , ... , Z k kendisi tarafından, bu kodlanmış algoritma içine olabilir.)
λx:nat.0MuZ1,…,ZkMZ1,…,Zk
Örneği sadece için, denklik daha zayıf kavramına ile çalışan bir argüman bilmek güzel olurdu -reducibility.β