Не существует эффективной процедуры, позволяющей решать, останавливается ли произвольная машина Тьюринга Т при произвольном входном значении nи по данной машине Тьюринга Т можно построить примитивно рекурсивную функцию g, обладающую следующим свойством: какое бы n мы не взяли, g(n, t) = 0 в точности тогда, когда t– номер шага, более позднего, чем тот, на котором машина T останавливается, если ее запустить при входном значении n. (по определению функции g, если шаг tне таков, то g(x, t) = <a, b, c> =
Таким образом, если дана машина Т, то можно эффективно построить некоторую конечную последовательность q0, q1, …, qrпримитивно рекурсивных функций, удовлетворяющую двум условиям: 1) каждая функция gi либо является базисной функцией, либо получается из некоторых предыдущих функций с помощью композиции или примитивной рекурсии и 2) для всякого nмашина T, запущенная на входном значении n, в конце концов останавливается тогда и только тогда, когда gr(n, t) = 0 для некоторого t.
Построим теперь по данной T последовательность примитивно рекурсивных функций, удовлетворяющую условиям 1) и 2). Каждой функции gi поставим в соответствие свой функциональный символ gi с тем же числом аргументов, что иgi. Пусть g0 = '. Используя эти символы, выпишем для каждого giодну или две очевидные формулы, определяющие функцию gi Например,
если gi= z, то "xgi(x) = 0
еслиgi = s, то "xgi(x) = x'
если gi =
Если gi получается из предшествующих ей функций gjи gkc помощью примитивной рекурсии, то "xgi(x, 0) =gj(x) и "x"ygi(x, y') =gk(x, y, gi(x, y))
Если же giполучается из предшествующих ей функций gо и
Запишем также формулы "xx' ≠ 0 и "x"y(x' = y' → x = y). Обозначим теперь через Г множество всех этих формул, а через I – формулу
Утверждение. Машина T при входном значении
«Тогда». Пусть Г ├ I. Обозначим через
«Только тогда». Предположим, что Т останавливается при входном значении
Индукцией по
Поскольку