Попробуем реализовать план из подсказки к задаче.
Пусть задана машина Тьюринга
, задающая переборную задачу, то есть вычисляющая свойство
пар двоичных цепочек за полиномиально ограниченное время.
Зафиксируем цепочку
. Пусть ограничение на время —
. Тогда переборная задача получает следующую формулировку: существуют ли такие
и
, что машина
за
шагов на исходном данном
дает ответ
. (1)
Работу машины, соответствующую этой формулировке, можно представить в виде следующей таблицы, элементами которой служат сим-
волы алфавита машины:
- строки таблицы — это состояния вычисления машины, расположенные последовательно, скажем, сверху вниз;
- первая (верхняя) строка таблицы — это цепочка , предваренная символом НАЧАЛО, затем идут пустые символы (здесь и дальше число этих символов может быть и нулевым);
- каждый переход к следующей строке осуществляется в соответствии с функцией перехода машины;
- число строк в таблице — , число столбцов — (здесь учтено, что длина исходного данного может быть вдвое больше, чем длина и что на каждом шаге длина объекта вычисления — цепочки — может увеличиваться не более, чем на ;
- последняя строка начинается с символа , за которой идет символ СТОП, все остальные символы — пустые.
Таким образом, то, что матрица фиксированного размера является матрицей вычисления нашей машины, может быть записано как конъюнкция высказываний, относящихся к стоящим в конкретных местах таблицы:
- отдельным символам (например, верхняя строка начинается с );
- парам символов (например, что за символом СТОП идут пустые);
- тройкам последовательных символов в какой-то строке таблице и символу в следующей строке, стоящему под средним символом тройки; этот символ должен получаться функцией перехода машины.
Размер каждого из высказываний ограничен числом, зависящим только от машины.
Количество этих высказываний оценивается полиномом (на самом деле, первой степени) от размера матрицы.
Таким образом, существование y, для которого
оказывается эквивалентным существованию догадки y и существованию времени вычисления — числа
— и заполнения таблицы размером
на
символами алфавита так, что в первой строке стоит
, в последней СТОП
и дальше пустые символы.
Это существование, в свою очередь, означает дизъюнкцию по
упомянутых выше конъюнкций, где
ограничено числом
.
Как обычно, можно закодировать символы алфавита двоичными цепочками фиксированной длины. Перейдя от символов алфавита к их кодам, мы теперь видим, что наша переборная задача эквивалентна выполнимости высказывания полиномиального размера от длины
.
Утверждение доказано.