
- •В.А.Таланов
- •Учебное пособие
- •Часть 1. Язык предикатов
- •1.1. Предварительные сведения
- •1.2. Синтаксис языка предикатов
- •1.3. Интерпретация формул логического языка первого порядка
- •1.4. Способы задания и подсчет числа структур на конечных универсумах
- •1.5. Исключающие кванторы
- •Часть 2. Логический вывод и элементарные теории
- •2.1 Логический вывод
- •2.2 Канонические формы предложений
- •2.3 Моделирование математических теорий
- •2.4 Примеры формализации математических теорий Теория групп
- •Теория отношения эквивалентности
- •Теория упорядоченных множеств
- •Теория полей
- •Теория упорядоченных полей
- •Евклидова планарная геометрия
- •2.5. Свойства элементарных теорий
- •2.6. Арифметика Пресбургера
- •2.7 Некоторые замечания о возможностях формализации математических теорий
- •2.8 Расширение элементарных теорий
- •Часть 3. Приближенное выражение свойств структур в логических языках
- •3.1 Доля выполнимости логических формул
- •3.2 Разрешимость свойства асимптотической истины в логике первого порядка
- •3.3 О приближенной выразимости свойств структур в логических языках.
- •Упражнения
- •Часть 4. Реляционный язык
- •4.1 Синтаксис реляционного языка
- •Определение терма
- •Определение формулы
- •4.2 Семантика реляционного языка
- •4.3 Система доказательств в реляционном языке
- •Часть 5. Модели вычислений
- •5.1 Исторические сведения
- •5.2 Тьюрингова модель переработки информации
- •5.3 Алгебра программ
- •5.4 Начальное математическое обеспечение.
- •5.5 Методика доказательства правильности алгоритмов с помощью индуктивных утверждений.
- •5.6. Вычислимость и разрешимость
- •5.7 Частично – рекурсивные функции.
- •5.8. Универсальная тьюрингова программа
- •5.9. Пример невычислимой функции
- •5.10. Об измерении алгоритмической сложности задач
- •Литература
- •Математическая логика и модели вычислений
- •603600, Г. Нижний Новгород, пр. Гагарина, 23
2.6. Арифметика Пресбургера
Арифметику натуральных чисел обычно формализуют в сигнатуре N = (0, s, +, ). Стандартной моделью считается структура с основным множеством N натуральных чисел, включая число 0, s интерпретируется, как одноместная функция взятия следующего числа, + и интерпретируются как обычные операции сложения и умножения натуральных чисел. Известно, что множество Th(N) предложений, истинных в стандартной модели, алгоритмически неразрешимо.
Рассмотрим сигнатуру Z = (0, 1, +, , =, <, D2, D3, …), полученную удалением из сигнатуры N функционального символа “” и добавлением к ней функционального двухместного символа “” и одноместных предикатных символов D2, D3, … . Стандартной моделью считаем структуру с основным множеством Z целых чисел; функциональные символы + и интерпретируются как операции сложения и вычитания целых чисел, Dm одноместный предикатный символ, который при заданном значении m = 2, 3,… интерпретируется следующим образом
Dm(x) "число x делится на m без остатка”.
Теорию полученной таким образом структуры называют арифметикой Пресбургера. Ниже мы покажем, что к этой теории применим метод элиминации кванторов. Но предварительно вспомним потребующуюся нам в дальнейшем китайскую теорему об остатках.
Китайская теорема об остатках.
Пусть m1, m2, …, mk – набор, состоящий из k (k > 1) натуральных попарно взаимно простых чисел, и целые числа r1, r2, …, rk – удовлетворяют неравенствам 0 ri mi (i = 1,2,…, k). Тогда существует единственное натуральное число K, удовлетворяющее неравенству K M = m1·m2·…·mk и такое, что K mod mi = ri (i = 1,2,…, k).
Искомое число K можно найти следующим образом. Для i = 1,2,…, k положим Mi = M/mi. Очевидно при каждом значении i числа Mi и mi – взаимно просты, поэтому для каждого i = 1,2,…, k существуют числа ui, vi такие, что
miui + Mivi = 1.
Умножая это равенство на ri, получим
miui ri+ Miviri = ri. (1)
Заметим, что
ri, при j = i (из равенства (1)
(Miviri) mod mj =
0, при j i. (из определения Mi).
и, следовательно,
в качестве K можно
взять (
Miviri)
mod M.
Переходим теперь к рассмотрению манипуляций с формулами арифметики Пресбургера, используемыми при элиминации кванторов. Для краткости терм вида 1 + 1 + … + 1, содержащий k единиц (здесь он записан в инфиксной форме с опусканием скобок) будем обозначать символом k. Терм вида x + x + … + x, где x переменная, имеющая в рассматриваемом терме k > 0 вхождений, обозначаем kx. Аналогично терм вида t + t +…+ t, имеющий k вхождений терма t, обозначаем kt. Терм вида 0 t, где t произвольный терм, будем записывать как t.
Литералы, то есть атомарные формулы и их отрицания, могут иметь следующий вид
(r = s), (r < s), Dm(s), (r = s), (r < s), Dm(s)
где r и s произвольные термы. Атомарные формулы вида (r = s), (r < s) и Dm(s), будем называть соответственно равенствами, неравенствами и D-атомами.
Конституантой называем конъюнкцию литералов, представляющую логическое слагаемое в дизъюнктивной нормальной форме (ДНФ) формулы, составленной из литералов.
Ввиду возможности приведения любой формулы к антипрефиксному виду, достаточно рассмотреть возможность элиминации квантора только для формул вида хA, где A бескванторная формула, составленная из литералов и представленная в виде ДНФ. Покажем, что формулу A можно преобразовать так, что каждая ее конституанта будет содержать не более одного нижнего, не более одного верхнего ограничения, а также не более одного D-атома.
Используя равносильности
(r = s) (r < (s+1)) (s < (r+1))
(r = s) (r < s) (s < r)
Dm(s) Dm(s+1) Dm(s+2) … Dm(s+(m1)
можно любую ДНФ, составленную из литералов, превратить в ДНФ, не содержащую равенств и отрицаний.
Атомарную формулу представленную в виде (kx < t) будем называть верхним, а в виде (t < kx) нижним ограничением для переменной x, полагая, что t терм, не содержащий переменной x, а k терм вовсе не содержащий переменных.
Если в какой-либо конституанте есть подформула вида
(t1 < k1x) (t2 < k2x),
состоящая из двух нижних ограничений, то заменим ее формулой
(t1 < k1x) (k1t2 < k2t1) (t1 < k1x) (k1t2 = k2t1) (t2 < k2x) (k2t1 < k1t2),
затем, избавимся от равенств, как указано выше, и вновь приведем формулу к ДНФ. Применяя описанную процедуру, можно добиться того, что каждая конституанта в ДНФ будет содержать не более одного нижнего ограничения для переменной x. Аналогично поступаем и с верхними ограничениями.
Покажем теперь, как добиться того, чтобы каждая конституанта содержала не более одного D-атома, зависящего от переменной x.
Если в атомарной формуле вида Dm(s) терм s зависит от переменной x, то его представим в виде kx t, где t не зависит от x. Для этого будем использовать соотношения
Dm(kx) Dm(kx0)
Dm(kx) Dm(kx0)
Dm(kx+t ) Dm(kx(t))
Dm(kx+t ) Dm(kxt)
Далее каждую атомарную подформулу вида Dm(kxt) заменим формулой
j = 0…m-1 [Dm(kx j) Dm(t j)].
Тем самым все D-атомы, зависящие от переменной x, можно представить в виде Dm(kxi), где k, i термы, представляющие натуральные числа.
Далее, соотношения
Dm(kxi) j = 0…m-1 [Dm(kj i) Dm(x j)]
позволяют избавиться от «коэффициента» k при переменной x в формулах вида Dm(kx i). Заметим, что истинностное значение встречающихся здесь формул вида Dm(kj i), вычисляется при конкретных значениях параметров m, k, i, j непосредственно с помощью арифметических операций.
Теперь нетрудно видеть, что формулу A можно представить в ДНФ, каждая конституанта которой содержит не более одного нижнего и не более одного верхнего ограничения для переменной x, а во всех ее D-атомах вида Dm(s) терм s имеет вид xi. Далее покажем, как добиться того, чтобы в каждой конституанте было не более одного D-атома
Каждую подформулу вида Dm(xi) заменяем формулой
Dq1(xi) Dq2(xi) … Dqn(xi),
где q1, q2, …, qn сомножители в разложении числа m в произведение степеней простых попарно различных чисел p1, p2,…, pn.
Предположим, что после таких замен в конституанте встретятся две подформулы вида
Dq (xi) и Dq'(xi'),
где q= pa, q' = pb степени одного и того же простого числа p, пусть для определенности a b. В таком случае в рассматриваемой конституанте заменяем Dq (xi) на Dq (i'i). Повторяем такие замены до тех пор, пока каждая конституанта не предстанет в виде
Dq1(xi1) Dq2(xi2) … Dqk(xik) B, (*)
где все D-атомы сгруппированы слева, числа q1q2…qk взаимно просты, а B остальная часть конституанты, не содержащая D-атомов.
Заменим i1, i2, …, ik на i1*, i2*, … ik* где i1*, i2*, … ik* остатки от деления i1, i2, …, ik на q1, q2, …, qk соответственно.
Пусть q = q1q2…qk, тогда по китайской теореме об остатках существует q< q такое, что остаток от деления q на qj равен ij* (j = 1, 2, …, k) и подформулу
Dq1(xi1*) Dq2(xi2*) … Dqk(xik*)
заменяем формулой
Dq(x q).
В результате рассмотренных преобразований каждая конституанта с предшествующим квантором существования по переменной x будет содержать не более одного нижнего ограничения вида (s < jx), не более одного верхнего ограничения вида kx < t, а также не более одного D-атома вида Dq(x q). Таким образом, будем иметь дело с подформулой одного из следующих видов.
х[Dm(xi) (s < jx) (kx < t)]
х[(s < jx) (kx < t)]
х[Dm(xi) (kx < t)]
х[Dm(xi) (s < jx)]
х Dm(xi)
х (s < jx)
х (kx < t)
В первом случае имеем
х[Dm(xi) (s < jx) (kx < t)]
х[Djkm(jkxjki) (ks < jkx) (jkx < jt)]
х[Djkm(xjki) (ks < x) (x < jt)]
х[Dm(xi) (s < x) (x < t)]
(s+1 < t) Dm(s+1i) (s+2<t) & Dm(s+2i) … (s+m <t) & Dm(s+mi),
где m = jkm, i = jki, s = ks, t = jt, тем самым переменная x исключена.
Во втором случае
х[(s < jx) (kx < t)]
х[(ks < kjx) (kjx < jt)]
Djk(x0) (ks < x) (x < jt)] (такой случай уже был)
В третьем случае
х[Dm(xi) kx < t] (0 < 1)
Во всех остальных случаях также получаем (0 < 1). Аналогично, исключаются остальные кванторы.
Упражнения.
Элиминировать кванторы из следующих формул арифметики Пресбургера.
x [(y+z < x ) & (2x < 3y)] Ответ: 2z+2<y
x [(2y+z < 2x) & (x < y+2z)] Ответ: 0<z.
x [(y+3z < 2x) & (2x < 3y+z)]
x y (6y+4x3z = 0) Ответ: D2(z).
x y (6y+4x1 = 0) Ответ: 0=1
x y (6y+5x7 = 0) Ответ: 0=0
x y z (6y+4x+12z = u+1) Ответ: D2(u).
x y [(3x+4y=12) & (6x+2y = z)] Ответ:.
x [(2y+z < 2x) & (2x < 3y+z)& D3(2x4)] Ответ: (1<y)& D3(2y+z) (2<y)& D3(2y+z2) (3<y)& D3(2y+z1)
x y [D4(x2y) & D3(3x2y)]
z y x [A B C], где A=[(z+2y<x) & (2x<2z+4y+3) & D3(2xyz)], B=[(2zy<x) & (x<2z+2y) & (x<3z+y) & D2(xyz)], C=[(7z3y<4x) & D6(4x5y3z) & D8(6x2)]