Что-то я там (
ftp://ftp.mccme.ru/users/shen/logic/comput/part3.pdf ) такого не заметил. Может не внимательно читал. До 16 страницы там все функции от одного аргумента.
Ааа, вот оно что...
Тогда Вам, наверное лучше меня не слушать, я Вам сейчас наплету...
Можете попробовать понять тот кусок текста интуитивно.
Формально можно, наверное, так: у нас же в определении написано, что функция вычислима, если задан алгоритм ее вычисления. Алгоритм можно понимать в смысле машины Тьюринга, а машиню Тьюринга мы можем однозначно закодировать и считать этот код - программой, которую имеют ввиду авторы.
Но так, интуитивно, на первый взгляд возникает подозрение по поводу того, что такая универсальная программа должна впридачу печатать и саму себя.
Пока ничего не вижу в этом страшного
(правда, она там печатает не совсем себя: универсальная функция двуместна, а выписывает она одноместные функции. Но с другой стороны, все многоместные входы можно закодировать натуральными числами, значит есть биекция между многоместными и одноместными функциями)
(злостный оффтоп)
- это отображение
Нужен алгоритм, который бы печатал ТОЛЬКО программы. И причем все.
Да просто перечисляем все НАМ явно: алфавит для НАМ конечен, число правил в каждом НАМ конечно, значит число НАМ с 1-м правилом счетно, с 2-я правилами счетно, ... - берем и перечисляем их по очереди как пары натуральных чисел.