а вот в качестве у надо передавать 'код+параметры'
Да с чего Вы это взяли? Программе
дважды передаётся код некой программы
:
. Т.е. мы спрашиваем у программы
, остановится ли программа
, если ей в качестве параметра передать её собственный код. Имеем право спросить?
Еще раз повторяю, здесь происходит подмена понятий: код программы и код программы запускаемый на выполнение (или анализ).
Анализатор использует параметр X в качестве кода программы, запускаемого на выполнение и в таком статусе ему передается X.
Но запускаемому коду требуется параметр (иначе результат не определен)
В качестве параметра передается используется второй параметр Y.
Вот тут и происходит подмена понятий.
Вместо Y подставляется точно такой же код программы - а ведь он не полон, поскольку у него ,в свою очередь, не был определен передаваемый параметр.
Проще это понять через рекурсию.
Организуется рекурсия - программа вызывает сама себя - но у каждой нормальной рекурсии должен быть самый первый вызов , когда программе передаются какие-то константы - здесь же самый первый вызов ,разными манипуляциями с переименованиями, подменяется ссылкой на результат всей рекурсии.
Таким образом у рекурсивной программы отсутствуют входящие параметры и именно поэтому код становится "невычислимым" - не заданы стартовые условия, либо код зацикливается и вообще отсутствует самый первый вызов.
P.S. Так готовы ли Вы признать, что
является "не рациональным числом"?
Не рациональным оно является , но специальный класс чисел на таком определении вводить некорректно.
Надо всегда точно задавать свойства элементов множества, а не "не являются членами другого множества" - такое определение парадоксально.
-- Чт янв 27, 2011 15:28:14 --Как по-вашему, может ли, хотя бы теоретически, существовать программа stops, удовлетворяющая следующему условию: вызов stops program argument приводит к выводу на экран символа '1', если в тех же условиях вызов program argument возвращает управление, и к выводу символа '0', если в тех же условиях вызов program argument будет работать бесконечно долго? Форс-мажорными обстоятельствами типа падения метеорита на компьютер пренебрегаем.
Конечно может ...
существовать программа которая либо выводит 1 и завершает работу.
Либо выводит 0 и зависает.
Но только она делает что либо одно.
-- Чт янв 27, 2011 15:31:11 --2) Что именно требовалось доказать?
То что ваш код анализирует не самого себя, а совершенно посторонний код, лишь случайно совпадающий с тем ,который выполняется.
И случайно выдающий верный результат.