Мета-знання: ви хочете знайти нерозбірливу мову, яка, однак, має деяку обчислювальну властивість. Довільна нерозбірлива мова, мабуть, не приведе вас далеко. Але напіврозбірливий ...
Сильніший натяк: що таке напіврозбірлива мова? Це означає, що ми можемо перерахувати слова: це якийсь набір сліву таким, що існує ціле число н такий як
u = f( n )
Трохи погляньте на це рівняння, маючи на увазі рішення та префікси.
Інтуїтивно кажучи, припустимо, у вас є якісь х і ви хотіли б перевірити, чи є він П р е ф( L ). Ви взагалі не збираєтеся робити краще, ніж перевірятих а, x b, x a aтощо. де a , b , ⋯- букви алфавіту. Це часткова рекурсивна функція, яка перевіряє членство вП р е ф( L ). Звичайно, ми це зналиП р е ф( L )був знову; що нам потрібно показати, що іноді немає альтернативного методу. Візьмемо якийсь набірS⊂N що є повторним і не рекурсивним, і нехай f бути перерахуванням S (S=f(x)∣x∈N).
Припустимо, алфавіт містить три символи 0, 1 і : (якщо у вас є лише два символи {ℵ,ℶ}, кодувати 0 як ℵℵ, 1 як ℵℶ і : як ℶ). Якщоn∈N, дозволяє n¯ бути n написано в базі 2 з використанням символів 0 і 1 без провідних 0.
Дозволяє L={y¯:x¯∣y=f(x)}. Простий англійською ми беремо елементиS та позначення їх індексу перерахування. L чітко вирішується (перевірте, чи є одиничний :, що двозначні послідовності не містять провідних 0, і що перша цифра послідовності записує зображення по fвід числа, яке пише другий). І все-таки вирішити, чи якісьy¯ є префіксом L рівнозначно, чи вирішити, чи y є в S, що ви не можете зробити, не знаючи x з тих пір Sне є рекурсивним за припущенням. ФормальноPref(L) не вирішується, тому що Pref(L)∩{0,1}∗:=S: не вирішується.