Теорема 2.Функция φ, возникшая примитивной рекурсией из правильно вычислимых на машине Тьюринга функций f и g, сама правильно вычислима на машине Тьюринга.
Доказательство: Для краткости записей будем считать, что функция φ связана с функциями f и g следующим образом:
φ(x,0)=f(x),
φ(x,i+1)=g(x, φ(x,i)).
Обозначим F и G – машины Тьюринга, правильно вычисляющие функции f и g соответственно. Пусть x,y – произвольные натуральные числа. Требуется сконструировать машину Тьюринга, вычисляющую значение φ(x,y). Как мы уже отмечали, для вычисления φ(x,y) предстоит вычислить y+1 значений φ(x,0), φ(x,1),…, φ(x,y-1), φ(x,y).
Начальная конфигурация такова: q101x01y0. Применим к ней следующую последовательность машин Тьюринга: Б+ВГВ Б+F. В результате получим последовательность конфигураций:
q101x01y0;
Б+:01x q 01y0;
В: 01y q 01x0;
Г: 01y q 01x 01x 0;
В: 01x q 01y 01x 0;
Б+:01x 01yq 01x 0;
F: 01x 01yqα 01φ(x,0)0;
На последнем шаге, применив машину, вычисляющую функцию f(x), к конфигурации q01x, мы получим значение f(x), которое, согласно схеме примитивной рекурсии для φ, есть φ(x,0). Теперь мы можем приступить к вычислению φ(x,1), используя второе соотношение схемы примитивной рекурсии:
φ(x,1)=g(x, φ(x,0)).
Для этого применим сначала к последней конфигурации команды:
qα0→ qα+10Л; qα1→ qα+20. В результате получим конфигурацию: 01x01y-1 qα+2001φ(x,0)0. Теперь нужно подготовить ленту машины к применению машины G, вычисляющей значение g(x,φ(x,0)), то есть необходимо получить на ленте конфигурацию q01x01φ(x,0). Для этого применим к конфигурации 01x01y-1 qα+2001φ(x,0)0 последовательность машин АБ-ВБ+ВГВБ-ВБ+Б+ВБ-. Получим последовательность конфигураций:
01x01y-1 qα+2 001φ(x,0)0;
А: 01x01y-1 q 01φ(x,0)00;
Б-:01xq01y-1 01φ(x,0);
В: 01y-1q01x 01φ(x,0);
Б+:01y-101x q 01φ(x,0);
В: 01y-101φ(x,0) q 01x;
Г: 01y-101φ(x,0) q 01x01x;
В: 01y-101x q 01φ(x,0) 01x;
Б-:01y-1 q 01x 01φ(x,0) 01x;
В: 01xq 01y-1 01φ(x,0) 01x;
Б+:01x01y-1 q 01φ(x,0) 01x;
Б+:01x01y-1 01φ(x,0) q 01x;
В: 01x01y-1 01xq 01φ(x,0);
Б-:01x01y-1 q 01x01φ(x,0).
Теперь мы можем применить машину G и вычислить значение
φ(x,1)=g(x, φ(x,0)) : 01x01y-1 qβ01φ(x,1).
Применим в этой конфигурации команду: q β0→qα0, зацикливающую программу. Получим конфигурацию:
01x01y-1 qα01φ(x,1).
Начинается следующий цикл, осуществляемый командами, идущими после первого появления состояния qα. Этот цикл преобразует конфигурацию вида 01x01y-i qα01φ(x,i) в конфигурацию 01x01y-(i+1) qβ01φ(x,i+1), при условии, что y>i. Команда q β0→qα0 зацикливает программу, и в результате работы цикла параметр y-i будет понижаться до тех пор, пока не получится конфигурация: 01x0 qα01φ(x,y), которая в силу команды q α0→qα+10Л перейдет в конфигурацию 01xqα+1 001φ(x,y).
Дополнительные команды q α+10→qβ+10, А, В, О, В, Б-, А создают на ленте требуемую конфигурацию q001φ(x,y), доказывающую, что функция φ(x,y) правильно вычислена на машине Тьюринга. Теорема доказана.