e2e4 писал(а):
Профессор Снэйп писал(а):
Ну вот берём мы такое свойство программ (синтаксически правильно написанных): при любых входных данных заканчивать вычисления за конечное число шагов, не впадая в бесконечный цикл. Теорема Райса гарантирует, что не существует другой программы, которая бы по тексту исходной программы распознавала, обладает она или нет этим свойством.
Наверное, на вторую программу также необходимо наложить условие завершения за конечное число шагов, иначе, ей достаточно просто передать управление первой программе, и выдавать "да" при дохождении первой программы до точки возврата, или... в ином случае во второй программе ничего не надо предусматривать - первая просто не завершится

.
Да, естественно. Это подразумевалось. Хотя... в данном случае это не обязательно

Внимательно вчитайтесь во фразу "при любых входных данных".
Вот, допустим, программа

вычисляет функцию

. (как обычно, функция считается определённой в тех и только в тех точках, в которых программа не зацикливается, а за конечное число шагов выдаёт ответ). Имеем две проблемы:
1) По данным

и

выяснить, верно ли, что

определено.
2) По данному

выяснить, верно ли, что

.
Первая задача --- это "проблема остановки". Она не разрешима, но перечислима (то есть мы можем перечислять пары

, для которых она решается положительно тем способом, который Вы указали.
Вторая задача сложнее, она даже не перечислима. Можно показать, что если мы заведём "оракул" для проблемы остановки (то есть некий чёрный ящик, "мистическое" устройство, которое непонятно как работает, но которое, получив на входе пару

, за конечное время решает для неё первую задачу) и прицепим его к вычислительному устройству, то для этой, более сложной машины, первая задача станет разрешимой, а вторая... будет эквивалентна проблеме остановки машины с оракулом
