Ясно, что существует алгоритм, позволяющий по любому слову ал-
фавита Σ узнать, является ли это слово обозначением некоторой прими-
тивно рекурсивной функции или просто набором символов. Существует
также алгоритм, позволяющий по любому обозначению примитивно ре-
курсивной функции вычислить количество ее аргументов. Существует и
третий алгоритм, позволяющий обозначение любой примитивно рекур-
сивной функции преобразовать в программу для машины Тьюринга, ко-
торая вычисляет эту функцию.
Пусть ν — геделевская нумерация пространства Σ
∗
. Пусть n
0
— номер
программы, вычисляющей какую-нибудь базисную k-местную функцию.
Определим функцию f : N → N так.
Если слово ν(i) не является обозначением k-местной примитивно ре-
курсивной функции, то полагаем f(i) = n
0
. Если является, то выпишем
по слову ν(i) программу для вычисления функции, обозначаемой этим
словом. Перебирая программы с номерами 0, 1, . . . и сравнивая их с по-
лученной, найдем y, который является номером нашей программы. По-
ложим этот y равным значению f(i).
Так как имеется алгоритм для вычисления функции f, то она, по те-
зису Черча, является рекурсивной. Пусть теперь g(i, x
1
, . . . , x
k
) =
ϕ
f(i)
(x
1
, . . . , x
k
). Анализируя все сказанное выше, нетрудно понять, что
g — требуемая универсальная функция. Ясно, что она будет частично
рекурсивной и всюду определенной. ¤
Основываясь на изложенной идее, можно дать формальное доказа-
тельство четвертого пункта теоремы, выписав в явном виде нумерацию
ν и функцию f. При формальном доказательстве можно добиться того,
что функция f будет примитивно рекурсивной. Однако при k = 1 (мож-
но показать, что и при всех k > 1) функция g не будет таковой никогда;
иначе мы пришли бы к противоречию с третьим пунктом теоремы. По-
строенная при доказательстве (для k = 1) функция g(y, x) — это пример
рекурсивной, но не примитивно рекурсивной функции. Это функция от
двух аргументов. Функция g(x, x) + 1 дает пример одноместной рекур-
сивной, но не примитивно рекурсивной функции.
На первый взгляд может показаться, что слегка видоизменив доказа-
тельство четвертого пункта теоремы 10 и введя обозначение для опе-
ратора минимизации, можно построить рекурсивную (k + 1)-местную
функцию, универсальную для класса k-местных рекурсивных функций.
Однако это не так (если бы мы сумели это сделать, то пришли бы к
97