Арифметика Пресбургера
Арифметика Пресбургера
В этом разделе мы описываем выразимые множества в . Отметим сразу
же, что с такой сигнатурой элиминация кванторов невозможна. В
самом деле, формула
,
истинная для четных
, не эквивалентна никакой бескванторной
формуле. Поэтому нам нужно, прежде чем проводить элиминацию
кванторов, расширить сигнатуру. Приведенный пример формулы
подсказывает, какое расширение нам необходимо. Рассмотрим
счетное семейство двуместных предикатных символов
Символ
будет
интерпретироваться как равенство по модулю
. Другими словами,
формула
будет истинна в нашей интерпретации, если
сравнимо с
по модулю
(остатки по
модулю
равны;
кратно
).
Важно иметь в виду, что индекс в
не является переменной:
у нас не трехместный предикат, а счетное семейство двуместных предикатов.
Такое расширение не меняет класса выразимых
предикатов, поскольку, например, можно выразить
как
. Зато после этого всякая формула
эквивалентна бескванторной, как показывает следующая теорема
(называемая теоремой об элиминации кванторов в арифметике Пресбургера).
Теорема 32. В выполнима
элиминация кванторов.
Мы будем применять метод, опробованный в предыдущем разделе: выбор представительного множества термов (после некоторых преобразований формулы).
Напомним, как это делается. Мы хотим доказать, что всякая формула эквивалентна бескванторной. Рассуждая по индукции, мы должны лишь проверить, что всякая формула вида
![\exists x\, \tau(x,x_1,\dots,x_n),](/sites/default/files/tex_cache/a60feee9ae92620bfe86fd36b4f8a0f9.png)
![\tau(x,x_1,\dots,x_n)](/sites/default/files/tex_cache/eec75315614d2a6b3d6fdfd90265b6f9.png)
![x,x_1,\dots,x_n](/sites/default/files/tex_cache/c147e964d269771514bea22bc5616cba.png)
![x](/sites/default/files/tex_cache/9dd4e461268c8034f5c8564e155c67a6.png)
Посмотрим, какие атомарные формулы, содержащие переменную ,
входят в
. Перенося члены в одну сторону, эти
атомарные формулы можно записать в одном из трех видов:
,
или
, где
представляет собой линейную комбинацию переменных
с целыми коэффициентами и целочисленным
свободным членом. (В отличие от ситуации в
, здесь нельзя
делить на коэффициент при
.) Перенося
в левую
часть, а все остальное — в правую, получаем соотношение одного из четырех
видов:
![\begin{align*}
kx & = l(x_1,\dots,x_n);\\
kx & < l(x_1,\dots,x_n);\\
kx & > l(x_1,\dots,x_n);\\
kx & \equiv_c l(x_1,\dots,x_n),
\end{align*}](/sites/default/files/tex_cache/20fcff5e991dcff42b12a3e3f6fc9d06.png)
![k](/sites/default/files/tex_cache/8ce4b16b22b58894aa86c421e8759df3.png)
![l](/sites/default/files/tex_cache/2db95e8e1a9267b7a1188556b2013b33.png)
![x_1,\dots,x_n](/sites/default/files/tex_cache/700888b8a6c100e08732ba22afd7b67b.png)
Как мы говорили, коэффициенты в левой части (а также,
разумеется, правые части) у разных атомарных формул разные.
Однако мы можем их унифицировать, перейдя к общему кратному. В
самом деле, неравенства и равенства можно умножать на число,
сравнения — тоже, если модуль сравнения (индекс в
) умножить на то же самое число. Поэтому можно считать, что
наша формула имеет вид
,
понимая под этим, что
появляется только в левых частях и
везде с коэффициентом
. Такую формулу можно переписать как
![\exists y\, (\tau(y,x_1,\dots,x_n) \land (y\equiv_k 0)).](/sites/default/files/tex_cache/c4b97b878805eaa10c9f9168a61fdfd7.png)
![k=1](/sites/default/files/tex_cache/ceef78b61bf01306cc7e80344c92c19d.png)
![\exists y\, \tau(y,x_1,\dots,x_n),](/sites/default/files/tex_cache/615b9bedab8fed60cf5a786e56ff085e.png)
![y](/sites/default/files/tex_cache/415290769594460e2e485922904f345d.png)
![\tau](/sites/default/files/tex_cache/a6f317b268ae825d94f832f970af607c.png)
![l_1,\dots,l_k](/sites/default/files/tex_cache/3cd4096e7f85cd314a4b48eaf2a88629.png)
![y](/sites/default/files/tex_cache/415290769594460e2e485922904f345d.png)
Мы хотим, как и в предыдущем разделе, указать представительный
набор значений . Каждое из
представляет собой
линейную комбинацию переменных
с целыми
коэффициентами и свободным членом. "Представительность"
означает, что если для каких-то
найдется
, для которого
,
то такой
можно найти и среди значений
(при тех же
).
Чтобы указать представительный набор, разделим все атомарные
формулы в , содержащие
, на два типа —
сравнения по модулю и остальные (равенства и неравенства). Посмотрим, по
каким модулям проводятся сравнения. Пусть
— общее кратное
всех этих модулей. В этом случае изменение значения переменной
на величину, кратную
, не влияет на результаты
сравнений. Теперь возьмем все выражения, встречающиеся в правых
частях равенств или неравенств, и будем прибавлять к ним
всевозможные целые числа из отрезка от
до
. Это
и будет представительный набор. Другими словами, в представительный
набор входят все выражения
, где
— одна из
правых частей равенств или неравенств, содержащих
в левой части, а
— целое число, не превосходящее
по абсолютной
величине.
Покажем, что полученный набор действительно будет
представительным. Пусть при данных найдется
некоторое
, для которого
.
Посмотрим, какие значения принимают правые части равенств и неравенств при
данных
. Если значение
попало в
объединение
-окрестностей этих значений, то доказывать нечего. Если же
нет, начнем смещать
, двигаясь шагами размера
в
направлении какой-то точки из этого объединения. Миновать мы ее
не можем (ширина окрестности равна
, а размер шага
равен
), поэтому в какой-то момент мы впервые попадем в это
объединение. Обозначим эту точку (первую попавшую в объединение)
через
. Тогда
при подстановке в
дает те же самые результаты, что и
. В самом деле, для сравнений это
гарантировано, потому что сдвиг кратен модулю сравнений. Но это
верно и для равенств и неравенств, поскольку на предыдущем шаге
мы были вне
-окрестности всех правых частей и потому не
могли перейти с одной стороны на другую.
Таким образом, среди представительного набора есть значение (а
именно, ), удовлетворяющее формуле
, что и
требовалось доказать.
Итак, мы получили ответ на интересующий нас вопрос: выразимые в арифметике Пресбургера предикаты — это предикаты, выразимые бескванторными формулами, содержащими целые константы, сложение, равенство, отношение порядка и сравнения по любым фиксированным модулям.