Смекни!
smekni.com

Неразрешимость логики первого порядка (стр. 6 из 7)

Не существует эффективной процедуры, позволяющей решать, останавливается ли произвольная машина Тьюринга Т при произвольном входном значении nи по данной машине Тьюринга Т можно построить примитивно рекурсивную функцию g, обладающую следующим свойством: какое бы n мы не взяли, g(n, t) = 0 в точности тогда, когда t– номер шага, более позднего, чем тот, на котором машина T останавливается, если ее запустить при входном значении n. (по определению функции g, если шаг tне таков, то g(x, t) = <a, b, c> =

для некоторых a, b, c и потому g(x, t) > 0. Если же t – такой шаг, то g(x, t) = 0.

Таким образом, если дана машина Т, то можно эффективно построить некоторую конечную последовательность 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 =

, то "x1 … "xm … "xngi(x1, …,xm, …,xn) = xm

Если gi получается из предшествующих ей функций gjи gkc помощью примитивной рекурсии, то "xgi(x, 0) =gj(x) и "x"ygi(x, y') =gk(x, y, gi(x, y))

Если же giполучается из предшествующих ей функций gо и

путем композиции, то "xgi(x) =gj
(для краткости заменили здесь x1, x2, …, xnна x, a"x1, "x2, …, "xnна "x)

Запишем также формулы "xx' ≠ 0 и "x"y(x' = y' → x = y). Обозначим теперь через Г множество всех этих формул, а через I – формулу

.

Утверждение. Машина T при входном значении

останавливается тогда и только тогда, когда Г ├ I.

«Тогда». Пусть Г ├ I. Обозначим через

модель, областью которой служит множество натуральных чисел и которая интерпретирует символ 0 как 0, а функциональные символы gi – как
. Все предложения из Г истинны в
. Поскольку Г ├ I, предложение Iистинно также. Следовательно, для некоторого
справедливо
. Согласно 2), T останавливается на
.

«Только тогда». Предположим, что Т останавливается при входном значении

. Для доказательства соотношения Г ├ I предположим, что
– произвольная модель, в которой все предложения из Г истинны, и покажем, что из этого предположения следует истинность
в
. Пусть теперь
– интерпретация символа 0 в модели
, a
– при всяком
– интерпретация в
символа gi. Пусть, далее,
(так что
– интерпретация в
символа
), и пусть
. Так как формулы
и
истинны в
, функция
, для которой
и
, является изоморфизмом множества {0, 1, 2,…} натуральных чисел на множество N. Таким образом, можно считать, что N и является в действительности множеством натуральных чисел,
, ограничение функции
на множество N есть
, а потому всякий нумерал е обозначает число
в
.

Индукцией по

легко доказывается, что для всех
р в N справедливо
(а потому
N). Рассмотрим в деталях наиболее трудный случай, когда функция
получается примитивной рекурсией из функций
и
причем
. Итак, пусть для всех
из N выполняются равенства
.Нам нужно доказать, что
для всех
и
. Но так как формулы
и
содержатся в Г, справедливы равенства
и
. Но тогда
и если
, то, полагая
, получим
. Таким образом, индукцией по
заключаем, что
для всех
и
.

Поскольку

при входном значении
останавливается, можно утверждать, что для некоторого
справедливо
, откуда
, а потому
истинно в
, а значит, и I =
истинно в
, и доказательство заканчивается.