Введение
Теорема в теории вычислимости. В теории вычислимости теорема Поста, названная в честь Эмиля Поста, описывает связь между арифметической иерархией и степенями Тьюринга.
In computability theory Post's theorem, named after Emil Post, describes the connection between the arithmetical hierarchy and the Turing degrees.
Предыстория
В формулировке теоремы Поста используются несколько концепций, относящихся к теории определимости и рекурсии. В данном разделе представлен краткий обзор этих понятий, которые подробно рассматриваются в соответствующих статьях. Арифметическая иерархия классифицирует определенные множества натуральных чисел, которые можно определить на языке арифметики Пеано. Формула называется Σ<sub>m</sub>-формулой, если это экзистенциальное утверждение в пренекс нормальной форме (все кванторы в начале) с *m* чередованиями между экзистенциальными и универсальными кванторами, примененными к формуле, содержащей только ограниченные кванторы. Формально, формула на языке арифметики Пеано является Σ<sub>m</sub>-формулой, если она имеет вид
where contains only bounded quantifiers and Q is if m is even and if m is odd. A set of natural numbers is said to be if it is definable by a formula, that is, if there is a formula such that each number is in if and only if holds. It is known that if a set is then it is for any , but for each m there is a set that is not Thus the number of quantifier alternations required to define a set gives a measure of the complexity of the set. Post's theorem uses the relativized arithmetical hierarchy as well as the unrelativized hierarchy just defined. A set of natural numbers is said to be relative to a set , written , if is definable by a formula in an extended language that includes a predicate for membership in
While the arithmetical hierarchy measures definability of sets of natural numbers, Turing degrees measure the level of uncomputability of sets of natural numbers. A set is said to be Turing reducible to a set , written , if there is an oracle Turing machine that, given an oracle for , computes the characteristic function of The Turing jump of a set is a form of the Halting problem relative to Given a set , the Turing jump is the set of indices of oracle Turing machines that halt on input when run with oracle It is known that every set is Turing reducible to its Turing jump, but the Turing jump of a set is never Turing reducible to the original set. Post's theorem uses finitely iterated Turing jumps. For any set of natural numbers, the notation indicates the –fold iterated Turing jump of Thus is just , and is the Turing jump of .
где φ содержит только ограниченные кванторы, а Q является ∃, если *m* четно, и ∀, если *m* нечетно. Множество натуральных чисел называется Σ<sub>m</sub>-множеством, если оно определяется Σ<sub>m</sub>-формулой, то есть существует Σ<sub>m</sub>-формула φ такая, что каждое число *n* принадлежит множеству, если и только если φ(n) истинно. Известно, что если множество является Σ<sub>m</sub>-множеством, то оно является Σ<sub>n</sub>-множеством для любого *n* > *m*, но для каждого *m* существует Σ<sub>m</sub>-множество, которое не является Σ<sub>m-1</sub>-множеством. Таким образом, количество чередований кванторов, необходимых для определения множества, является мерой сложности этого множества. Теорема Поста использует релятивизированную арифметическую иерархию, а также неорилятивизированную иерархию, только что определенную. Множество натуральных чисел *A* называется Σ<sub>m</sub>-относительным к множеству *B*, что записывается как *A ≤<sub>m</sub> B*, если *A* определяется Σ<sub>m</sub>-формулой в расширенном языке, который включает предикат принадлежности к *B*.
where contains only bounded quantifiers and Q is if m is even and if m is odd. A set of natural numbers is said to be if it is definable by a formula, that is, if there is a formula such that each number is in if and only if holds. It is known that if a set is then it is for any , but for each m there is a set that is not Thus the number of quantifier alternations required to define a set gives a measure of the complexity of the set. Post's theorem uses the relativized arithmetical hierarchy as well as the unrelativized hierarchy just defined. A set of natural numbers is said to be relative to a set , written , if is definable by a formula in an extended language that includes a predicate for membership in
While the arithmetical hierarchy measures definability of sets of natural numbers, Turing degrees measure the level of uncomputability of sets of natural numbers. A set is said to be Turing reducible to a set , written , if there is an oracle Turing machine that, given an oracle for , computes the characteristic function of The Turing jump of a set is a form of the Halting problem relative to Given a set , the Turing jump is the set of indices of oracle Turing machines that halt on input when run with oracle It is known that every set is Turing reducible to its Turing jump, but the Turing jump of a set is never Turing reducible to the original set. Post's theorem uses finitely iterated Turing jumps. For any set of natural numbers, the notation indicates the –fold iterated Turing jump of Thus is just , and is the Turing jump of .
В то время как арифметическая иерархия измеряет определимость множеств натуральных чисел, степени Тьюринга измеряют уровень невычислимости множеств натуральных чисел. Множество *A* называется Тьюрингово сводимым к множеству *B*, что записывается как *A ≤<sub>T</sub> B*, если существует оракульная машина Тьюринга, которая, получив оракул для *B*, вычисляет характеристическую функцию *A*. Прыжок Тьюринга множества *A* является формой задачи останова относительно *A*. Для любого множества *A*, прыжок Тьюринга *A'* является множеством индексов оракульных машин Тьюринга, которые останавливаются на входе *e*, когда выполняются с оракулом *A*. Известно, что каждое множество *A* Тьюрингово сводимо к своему прыжку Тьюринга *A'*, но прыжок Тьюринга множества *A'* никогда не Тьюрингово сводим к исходному множеству *A*. Теорема Поста использует конечно итерированные прыжки Тьюринга. Для любого множества *A* натуральных чисел обозначение *A<sup>(n)</sup>* указывает на *n*-кратно итерированный прыжок Тьюринга *A*. Таким образом, *A<sup>(0)</sup>* это просто *A*, а *A<sup>(1)</sup>* это прыжок Тьюринга *A*.
where contains only bounded quantifiers and Q is if m is even and if m is odd. A set of natural numbers is said to be if it is definable by a formula, that is, if there is a formula such that each number is in if and only if holds. It is known that if a set is then it is for any , but for each m there is a set that is not Thus the number of quantifier alternations required to define a set gives a measure of the complexity of the set. Post's theorem uses the relativized arithmetical hierarchy as well as the unrelativized hierarchy just defined. A set of natural numbers is said to be relative to a set , written , if is definable by a formula in an extended language that includes a predicate for membership in
While the arithmetical hierarchy measures definability of sets of natural numbers, Turing degrees measure the level of uncomputability of sets of natural numbers. A set is said to be Turing reducible to a set , written , if there is an oracle Turing machine that, given an oracle for , computes the characteristic function of The Turing jump of a set is a form of the Halting problem relative to Given a set , the Turing jump is the set of indices of oracle Turing machines that halt on input when run with oracle It is known that every set is Turing reducible to its Turing jump, but the Turing jump of a set is never Turing reducible to the original set. Post's theorem uses finitely iterated Turing jumps. For any set of natural numbers, the notation indicates the –fold iterated Turing jump of Thus is just , and is the Turing jump of .
Формализация машин Тьюринга в арифметике первого порядка
Работа машины Тьюринга на входе может быть формализована логически в арифметике первого порядка. Например, мы можем использовать символы , , и для конфигурации ленты, состояния машины и положения на ленте после шагов, соответственно. Система переходов определяет отношение между и ; их начальные значения (для ) – это вход, начальное состояние и ноль, соответственно. Машина останавливается тогда и только тогда, когда существует число , которое является останавливающим состоянием. Точное отношение зависит от конкретной реализации понятия машины Тьюринга (например, её алфавита, допустимого режима движения по ленте и т.д.). В случае остановки в момент времени , отношение между и должно выполняться только для k, ограниченного сверху значением . Таким образом, существует формула в арифметике первого порядка, не содержащая неограниченных кванторов, такая, что машина Тьюринга останавливается на входе за время , не превышающее , тогда и только тогда, когда эта формула выполняется.
Thus there is a formula in first order arithmetic with no unbounded quantifiers, such that halts on input at time at most if and only if is satisfied.
Рекурсивно перечисляемые множества
Пусть будет множеством, которое можно рекурсивно перечислить машиной Тьюринга. Тогда существует машина Тьюринга, которая для каждого элемента из останавливается, получив его в качестве входных данных. Это можно формализовать арифметической формулой первого порядка, представленной выше. Элементы множества – это числа, удовлетворяющие следующей формуле:
Эта формула находится в , следовательно, в . Таким образом, каждое рекурсивно перечислимое множество находится в .
Обратное также верно: для каждой формулы в с k экзистенциальными кванторами мы можем перечислить k-кортежи натуральных чисел и запустить машину Тьюринга, которая просматривает все их, пока не найдёт такие, при которых формула истинна. Эта машина Тьюринга останавливается именно на множестве натуральных чисел, удовлетворяющих , и таким образом перечисляется соответствующее множество.
Высшие прыжки Тьюринга
Более общим образом, предположим, что каждое множество, которое рекурсивно перечислимо с помощью оракульной машины с оракулом для , находится в . Тогда для оракульной машины с оракулом для , находится в . Поскольку совпадает с для предыдущего прыжка Тьюринга, его можно построить (как мы только что сделали с выше) так, чтобы находилось в . После перехода к пренексной нормальной форме новая находится в . По индукции, каждое множество, которое рекурсивно перечислимо с помощью оракульной машины с оракулом для , находится в .
Since is the same as for the previous Turing jump, it can be constructed (as we have just done with above) so that in After moving to prenex formal form the new is in
By induction, every set that is recursively enumerable by an oracle machine with an oracle for , is in
The other direction can be proven by induction as well: Suppose every formula in can be enumerated by an oracle machine with an oracle for
Now Suppose is a formula in with existential quantifiers followed by universal quantifiers etc. Equivalently, has > existential quantifiers followed by a negation of a formula in ; the latter formula can be enumerated by an oracle machine with an oracle for and can thus be checked immediately by an oracle for
We may thus enumerate the –tuples of natural numbers and run an oracle machine with an oracle for that goes through all of them until it finds a satisfaction for the formula. This oracle machine halts on precisely the set of natural numbers satisfying , and thus enumerates its corresponding set.
В противоположном направлении также можно доказать индукцией: предположим, что каждая формула в может быть перечислена с помощью оракульной машины с оракулом для . Теперь предположим, что – это формула в с экзистенциальными кванторами, за которыми следуют универсальными кванторами и т. д. Эквивалентно, имеет более экзистенциальных кванторов, за которыми следует отрицание формулы в ; последняя формула может быть перечислена оракульной машиной с оракулом для и, следовательно, может быть немедленно проверена оракулом для .
Since is the same as for the previous Turing jump, it can be constructed (as we have just done with above) so that in After moving to prenex formal form the new is in
By induction, every set that is recursively enumerable by an oracle machine with an oracle for , is in
The other direction can be proven by induction as well: Suppose every formula in can be enumerated by an oracle machine with an oracle for
Now Suppose is a formula in with existential quantifiers followed by universal quantifiers etc. Equivalently, has > existential quantifiers followed by a negation of a formula in ; the latter formula can be enumerated by an oracle machine with an oracle for and can thus be checked immediately by an oracle for
We may thus enumerate the –tuples of natural numbers and run an oracle machine with an oracle for that goes through all of them until it finds a satisfaction for the formula. This oracle machine halts on precisely the set of natural numbers satisfying , and thus enumerates its corresponding set.
Таким образом, мы можем перечислить -кортежи натуральных чисел и запустить оракульную машину с оракулом для , которая просматривает все их, пока не найдет удовлетворение для формулы. Эта оракульная машина останавливается точно на множестве натуральных чисел, удовлетворяющих , и таким образом перечисляет соответствующее множество.
Since is the same as for the previous Turing jump, it can be constructed (as we have just done with above) so that in After moving to prenex formal form the new is in
By induction, every set that is recursively enumerable by an oracle machine with an oracle for , is in
The other direction can be proven by induction as well: Suppose every formula in can be enumerated by an oracle machine with an oracle for
Now Suppose is a formula in with existential quantifiers followed by universal quantifiers etc. Equivalently, has > existential quantifiers followed by a negation of a formula in ; the latter formula can be enumerated by an oracle machine with an oracle for and can thus be checked immediately by an oracle for
We may thus enumerate the –tuples of natural numbers and run an oracle machine with an oracle for that goes through all of them until it finds a satisfaction for the formula. This oracle machine halts on precisely the set of natural numbers satisfying , and thus enumerates its corresponding set.