Я не можу повірити, що раніше цього не бачив - але так, за допомогою Oracle для ви можете вирішити проблему зупинки. Очевидно, що оракул для дає нам «рекурсивно» всі машини, що не зайняті зупинкою Бівера, тому питання полягає в тому, «чи можемо ми рекурсивно розібратися в що таке зайняті бобри?». Визначте як функцію підрахунку "другого найгружчого бобра"; тобто другий за висотою досяжний бал серед усіх зупиняючих двох символів держав ТМ. Хитрість тут полягає в тому, що є рекурсивна функція така, що (майже впевнено, щоLLLΣ2( n )нf( )Σ ( n ) ≤Σ2( f( n ) )f( n ) = n + 1насправді зробить трюк, але для цього потрібно знати, що функція BB суворо зростає): враховуючи машину розміром яка друкує 1s на її стрічці і потім зупиняється, є деякі і по дві машини розміром які точно друкують 1s та точно 1s відповідно на своїх стрічках - і це справедливо для машини "зайнятого бобра" навіть якщо ми я не знаю явно . Це означає, що обмеження функції "другого зайнятого бобра" для дає обмеження для функції зайнятого бобра наМнΣ ( М)c > 1≤ c nΣ ( М)Σ ( М) + 1М Мf( n )н; але, маючи це, легко вирішити проблему зупинки для TM розміром - якщо то скажіть, що зупиняється; в іншому випадку знайдіть найдовшу машину розміром в (що можна зробити рекурсивно, оскільки є лише кінцево багато машин розміром ) і моделюйте на стільки кроків, скільки потрібно зробити цій машині зупиняти Якщо протягом цього часу не зупиняється, можливо, не може зупинятися.Мн⟨ M⟩ ∈ LМf( n )L≤ f( n )МММ