Да, необходимо, чтобы был бесконечным, чтобы быть неразрешимым.L
Чтобы суммировать ответы Рафаэля и Сэма, вы должны думать о «разрешимых» как о вещах, которые может решить компьютерная программа. Требуемая программа очень проста, она просто должна вывести «Да» для элементов в , или иначе сказать «нет».L
Таким образом, чем «сложнее» , тем длиннее программа, которую вам нужно написать. Другими словами, чем дольше вы запускаете программу, тем больше вещей можно проверить ... Так что, если кто-то дает конечный язык , скажем, , вы можете написать следующая программа:LLL={a1,a2,…,an}
if INPUT = $a_1$ output Yes;
if INPUT = $a_2$ output Yes;
...
if INPUT = $a_n$ output Yes;
output No;
Теперь, если кто-то даст вам большую (но конечную), вы просто напишите более длинную программу. Это всегда верно, и любой конечный будет иметь свою собственную программу. Единственный «интересный» случай - это то, что происходит, когда бесконечен - ваша программа не может быть бесконечной.LLL
Проблема «неразрешимости» еще более интересна: это те (бесконечные) , у которых нет программы, которая работает для них корректно. Мы знаем, что такие языки должны существовать, поскольку существует гораздо больше (бесконечных) языков чем число программ конечной (но неограниченной) длины.LL