ну Вы бы сначала задачу сформулировали.
Я думал это логически следует из обсуждения
Доказать, что существует марковский алгоритм, который печатает (в произвольном порядке и с произвольными промежутками времени) вообще все программы и только их.
Программа (например) - это элемент множества
, которое я определил выше.
Очевидно, что существует марковский алгоритм, который печатает все натуральные числа. Поэтому, если бы мы могли предъявить такую функцию
, которую я описал выше, то теорема была бы доказана. (Если только я тут не заблуждаюсь). Таким образом вопрос свелся к тому, существует ли такая
.
-- 04.02.2014, 23:37 --Формально можно, наверное, так: у нас же в определении написано, что функция вычислима, если задан алгоритм ее вычисления. Алгоритм можно понимать в смысле машины Тьюринга, а машиню Тьюринга мы можем однозначно закодировать и считать этот код - программой, которую имеют ввиду авторы.
Но они вообще ничего не говорили о машинах Тьюринга. Не уточняли, что такое алгоритм и программа, и чем они отличаются.
универсальная функция двуместна
Подождите, Вы путаете ту универсальную двухместную функцию с тем о чем я говорил. А я говорил про алгоритм, который ничего на вход не берет (или можно сказать пустое слово ему передается) и печатает все программы и только их.
Да просто перечисляем все НАМ явно: алфавит для НАМ конечен, число правил в каждом НАМ конечно, значит число НАМ с 1-м правилом счетно, с 2-я правилами счетно, ... - берем и перечисляем их по очереди как пары натуральных чисел.
Я не уверен, что функция, которая нумерует все НАМ таким образом, вычислима. Т.е., что можно написать НАМ для такой функции, который это делает.