С. В. СУДОПЛАТОВ, Е. В.
ОВЧИННИКОВА
МАТЕМАТИЧЕСКАЯ
ЛОГИКА И ТЕОРИЯ
АЛГОРИТМОВ
УЧЕБНИК
Издание пятое
МОСКВА
2018
УДК 510.6(075.8)
С892
Р е ц е н з е н т ы:
Е. А. Палютин — д-р физ.-мат. наук, проф.,
А. Г. Пинус — д-р физ.-мат. наук, проф.
Учебник подготовлен на кафедре алгебры и математической логики
Новосибирского государственного технического университета
Судоплатов С. В., Овчинникова Е. В.
С892
Математическая логика и теория алгоритмов : учебник. — 5-е изд. —
М. : Юрайт, 2018. – 256 с.
ISBN
В книге излагаются классические исчисления математической логики: исчисле-
ния высказываний и исчисления предикатов; основы теории моделей, теории алго-
ритмов, а также неклассических логик.
Для студентов младших курсов технических вузов, изучающих математиче-
скую логику и теорию алгоритмов.
УДК 510.6(075.8)
c Судоплатов С. В.,
°
Овчинникова Е. В., 2018
Оглавление
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Глава 1. Исчисления высказываний . . . . . . . . . . . . . . . . . . . . 9
§ 1.1. Определение формального исчисления . . . . . . . . . . . . . . 9
§ 1.2. Исчисление высказываний генценовского типа . . . . . . . . . 13
§ 1.3. Эквивалентность формул . . . . . . . . . . . . . . . . . . . . . 18
§ 1.4. Нормальные формы . . . . . . . . . . . . . . . . . . . . . . . . . 20
§ 1.5. Семантика исчисления секвенций . . . . . . . . . . . . . . . . . 22
§ 1.6. Исчисление высказываний гильбертовского типа . . . . . . . . 28
§ 1.7. Алгоритмы проверки общезначимости
и противоречивости в ИВ . . . . . . . . . . . . . . . . . . . . . 32
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . . 41
Глава 2. Логика и исчисления предикатов . . . . . . . . . . . . . . . . 45
§ 2.1. Формулы сигнатуры Σ. Истинность формулы
на алгебраической системе . . . . . . . . . . . . . . . . . . . . . 45
§ 2.2. Секвенциальное исчисление предикатов . . . . . . . . . . . . . 53
§ 2.3. Эквивалентность формул в ИПCΣ . . . . . . . . . . . . . . . . 61
§ 2.4. Нормальные формы . . . . . . . . . . . . . . . . . . . . . . . . . 63
§ 2.5. Теорема о существовании модели . . . . . . . . . . . . . . . . . 65
§ 2.6. Исчисление предикатов гильбертовского типа . . . . . . . . . 70
§ 2.7. Скулемизация алгебраических систем . . . . . . . . . . . . . . 73
§ 2.8. Метод резолюций в исчислении предикатов . . . . . . . . . . . 76
§ 2.9. Логические программы . . . . . . . . . . . . . . . . . . . . . . . 86
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . . 90
Глава 3. Элементы теории моделей . . . . . . . . . . . . . . . . . . . . 99
§ 3.1. Элементарная эквивалентность.
Теоремы Лёвенгейма — Скулема . . . . . . . . . . . . . . . . . 99
§ 3.2. Элементарные теории . . . . . . . . . . . . . . . . . . . . . . . . 106
4
§ 3.3. Типы. Основные классы моделей . . . . . . . . . . . . . . . . . 112
§ 3.4. Категоричность. Спектры моделей полных теорий . . . . . . . 121
§ 3.5. Система аксиом арифметики Пеано.
Нестандартные модели арифметики . . . . . . . . . . . . . . . 129
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . . 132
Глава 4. Элементы теории алгоритмов . . . . . . . . . . . . . . . . . . 134
§ 4.1. Машины Тьюринга . . . . . . . . . . . . . . . . . . . . . . . . . 135
§ 4.2. Рекурсивные функции и отношения . . . . . . . . . . . . . . . 144
§ 4.3. Эквивалентность моделей алгоритмов . . . . . . . . . . . . . . 153
§ 4.4. Универсальные частично рекурсивные функции.
Теорема Райса . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
§ 4.5. Рекурсивно перечислимые отношения . . . . . . . . . . . . . . 164
§ 4.6. Неразрешимость исчисления предикатов. Теорема Гёделя
о неполноте. Разрешимые и неразрешимые теории . . . . . . . 169
§ 4.7. Характеристики сложности алгоритмов . . . . . . . . . . . . . 176
§ 4.8. Переборные задачи . . . . . . . . . . . . . . . . . . . . . . . . . 179
§ 4.9. Алгоритмы сортировки . . . . . . . . . . . . . . . . . . . . . . . 187
§ 4.10. Конечные автоматы . . . . . . . . . . . . . . . . . . . . . . . . . 190
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . . 193
Глава 5. Неклассические логики . . . . . . . . . . . . . . . . . . . . . . 196
§ 5.1. Пропозициональные логики . . . . . . . . . . . . . . . . . . . . 196
§ 5.2. Предикатные логики . . . . . . . . . . . . . . . . . . . . . . . . 208
§ 5.3. Предикатные временны́е логики
и их приложение к программированию . . . . . . . . . . . . . . 212
§ 5.4. Алгоритмические логики . . . . . . . . . . . . . . . . . . . . . . 217
Задачи и упражнения . . . . . . . . . . . . . . . . . . . . . . . . 221
Библиографический список . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Приложение. Варианты типового расчета . . . . . . . . . . . . . . . . 226
Указатель терминов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Указатель обозначений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
ПРЕДИСЛОВИЕ
Математическая логика, или символическая логика, — раздел матема-
тики, посвященный изучению математических доказательств и вопросов ос-
нований математики. Предмет современной математической логики разнооб-
разен. Это и исследование различных логических исчислений (логик ), из ко-
торых основным является классическое исчисление предикатов, и изу-
чение взаимосвязи синтаксических (информационных) и семантических (ре-
альных) объектов, и разработки в области теории алгоритмов.
Теория моделей, или теория алгебраических систем, как раздел мате-
матической логики возникла на стыке математической логики и алгебры.
Взаимовлияние методов математической логики и алгебры позволяет
проводить и исследовать аксиоматизацию классов алгебраических объектов
и на основе аксиоматизации судить о свойствах самих классов.
Теория алгоритмов — раздел математики, изучающий общие свойства
алгоритмов. Содержательные явления, приведшие к образованию понятия
алгоритма, прослеживаются в математике в течение всего времени ее су-
ществования. Однако само это понятие сформировалось лишь в двадцатом
веке в связи с вопросами о границах вычислимости.
Бурное развитие математической логики и теории алгоритмов во многом
обусловлено прогрессом компьютерной техники, необходимостью создания
средств обработки и передачи информации, а также представления моделей
на компьютерах.
Книга предназначена для студентов бакалавриата всех направлений обу-
чения в технических вузах, изучающих математическую логику и теорию ал-
горитмов. Семестровый курс “Математическая логика и теория алгоритмов”
является непосредственным продолжением курса дискретной математики, и
излагаемый материал опирается на материал учебника С. В. Судоплатова,
Е. В. Овчинниковой “Дискретная математика” (М.: Изд-во Юрайт). При
6 ПРЕДИСЛОВИЕ
ссылках на разделы этой книги в тексте используется символ ∗ . Например,
запись § 6.3∗ указывает на параграф 6.3 из указанной книги.
Учебник состоит из пяти глав: исчисления высказываний, логика и исчис-
ления предикатов, элементы теории моделей, элементы теории алгоритмов,
неклассические логики. Взаимосвязь разделов линейна, т. е. для изучения
каждой последующей главы необходимо освоить все предыдущие главы. Пе-
ред решением задач типового расчета, помещенных в конце учебника, сту-
дентам полезно прорешать задачи и упражнения, расположенные в конце
соответствующих разделов.
Укажем основные цели, преследуемые в разделах учебника.
Первая глава учебника содержит два основных исчисления высказыва-
ний: исчисление высказываний генценовского типа (исчисление секвенций)
и исчисление высказываний гильбертовского типа. Устанавливаются теоре-
мы о непротиворечивости, о полноте, о разрешимости и об эквивалентно-
сти исчислений высказываний. Приводятся основные алгоритмы проверки
общезначимости и противоречивости для формул исчисления высказываний.
Во второй главе представлена логика предикатов и основные исчисле-
ния предикатов, расширяющие соответствующие исчисления высказываний.
Установлены важнейшие теоремы исчисления предикатов. Подробно изло-
жен метод резолюций в исчислении предикатов и показана его роль в орга-
низации и работе языков логического программирования.
Третья глава посвящена теории моделей. В ней рассматриваются такие
важнейшие понятия, как элементарная эквивалентность, элементарная тео-
рия, полная теория, тип. Определяются основные классы моделей и демон-
стрируются возможности взаимовлияния синтаксических, или информаци-
онных, объектов (теорий) и объектов семантических, или реальных (мо-
делей), позволяющие устанавливать разнообразие (спектр) семантических
объектов по их синтаксическим описаниям и наоборот. Рассматриваются
арифметические теории, для которых доказывается максимальность спек-
тра по всем мощностям.
В четвертой главе изложены две основные модели теории алгоритмов:
машины Тьюринга и рекурсивные функции. Установлена эквивалентность
этих моделей. Доказана теорема Райса, позволяющая оценить границы для
алгоритмического решения задач. Приведены теорема о неполноте теории
арифметики Пеано и теорема о неразрешимости соответствующего исчис-
ления предикатов. Перечислены основные характеристики сложности алго-
ПРЕДИСЛОВИЕ 7
ритмов, классы задач по степени трудности их решения. На примере алго-
ритмов сортировки представлены сравнительные характеристики для раз-
личных алгоритмов решения одного и того же класса быстрорешаемых за-
дач. Приведено понятие конечного автомата и установлена эквивалентность
классов детерминированных и недетерминированных конечных автоматов.
В пятой главе рассказывается об основных неклассических логиках, ба-
зирующихся как на исчислении высказываний (пропозициональные логики),
так и на исчислении предикатов (предикатные логики). Излагаются осно-
вы нечетких логик, темпоральных (временны́х или динамических) логик,
а также алгоритмических логик. Показывается роль неклассических логик
в построении программ, анализе и доказательстве их правильности.
В результате изучения материала студент будет владеть: информаци-
ей о математике как особом способе познания мира, общности ее понятий и
представлений; о математической логике как важнейшем разделе математи-
ки, используемом в современном математическом моделировании. Студент
будет знать: основные понятия курса математической логики: логику и ис-
числения высказываний, логику и исчисления предикатов, основные модели
теории алгоритмов; основы теории алгоритмической сложности; основные
виды пропозициональных и предикатных неклассических логик; постанов-
ку и методы решения основных задач, связанных с перечисленными выше
понятиями. Студент будет уметь: проверять доказуемость формул и секвен-
ций; находить выводы доказуемых секвенций ИВ и ИП; находить предложе-
ния, отличающие одни модели от других; приводить формулы к нормальным
формам; исследовать на противоречивость множества формул; строить мо-
дели для непротиворечивых множеств формул; строить машины Тьюринга
для вычисления функций; составлять рекурсивные схемы для вычислимых
функций; оценивать сложность работы алгоритмов; владеть методами фор-
мализации и использования средств основных неклассических логик; пере-
водить информацию с языка конкретной задачи на язык математической
логики и теории алгоритмов и строить математические модели простейших
систем и процессов в естествознании и технике; выбирать методы решения
задач на основе анализа построенной математической модели.
Основы математической логики и теории алгоритмов, излагаемые в на-
стоящем учебнике, могут использоваться при изучении ряда профилиру-
ющих дисциплин для подготовки специалистов по информатике, вычисли-
тельной технике, прикладной математике, автоматике и автоматизирован-
8 ПРЕДИСЛОВИЕ
ному управлению. К таким дисциплинам относятся бакалаврские дисципли-
ны “Базы данных”, “Системы искусственного интеллекта”, “Моделирование”,
“Структуры и алгоритмы обработки данных”, “Теория автоматов”, “Теория
вычислительных процессов”, “Функциональное и логическое программиро-
вание”, а также магистерские дисциплины “Дискретная математика и парал-
лельные вычисления”, “Квантовые вычисления и вычислители”, “Интеллек-
туальные системы”, “Методы представления знаний и решения задач в ин-
теллектуальных системах”, “Прикладные интеллектуальные системы”, “Ин-
теллектуальный анализ данных” и др.
Стандартные обозначения и понятия, которые используются без поясне-
ний, можно найти в указанном учебнике по дискретной математике.
Книга написана на основе трудов и традиций Сибирской школы
алгебры и логики, основанной академиком А. И. Мальцевым и возглавля-
емой на протяжении многих лет академиком Ю. Л. Ершовым. Автора-
ми использовались классическое учебное пособие по математической логике
Ю. Л. Ершова, Е. А. Палютина “Математическая логика”, лекции академика
Ю. Л. Ершова и профессора Е. А. Палютина, книга академика А. И. Маль-
цева “Алгоритмы и рекурсивные функции” и лекции члена-корреспондента
РАН С. С. Гончарова. Кроме того, много полезной информации было взято
из задачника И. А. Лаврова, Л. Л. Максимовой “Задачи по теории множеств,
математической логике и теории алгоритмов”.
На разных этапах подготовки настоящей книги авторы получали боль-
шую помощь и поддержку от профессора А. Г. Пинуса, долгое время рабо-
тавшего заведующим кафедрой алгебры и математической логики НГТУ.
Курс математической логики читается авторами в НГТУ с 1993 г.
На этапе его становления много полезных предложений и замечаний сде-
лал доцент кафедры вычислительной техники НГТУ В. М. Зыбарев. Всем
вышеперечисленным коллегам авторы выражают свою искреннюю благо-
дарность.
В настоящем, четвертом издании устранены выявленные неточности,
несколько усовершенствован текст.
Авторы благодарны коллегам, конструктивная критика которых способ-
ствовала улучшению содержания книги.
Глава 1
ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
§ 1.1. Определение формального исчисления
Введем общее понятие формального исчисления. Будем говорить, что
формальное исчисление I определено, если выполняются следующие четыре
условия:
1. Имеется некоторое множество A(I) — алфавит исчисления I. Элемен-
ты алфавита A(I) называются символами. Конечные последовательности
символов называются словами исчисления I. Обозначим через W (I) множе-
ство всех слов алфавита исчисления I.
2. Задано подмножество E(I) ⊆ W (I), называемое множеством выра-
жений исчисления I. Элементы множества E(I) могут подразделяться на
формулы и секвенции.
3. Выделено множество Ax(I) ⊆ E(I) выражений исчисления I, называ-
емых аксиомами исчисления I.
4. Имеется конечное множество R(I) отношений R1 , R2 , . . ., Rn на мно-
жестве E(I), называемых правилами вывода исчисления I.
Итак, исчисление I есть четверка hA(I), E(I), Ax(I), R(I)i.
Если набор выражений (Φ1 , . . . , Φm , Φ) принадлежит правилу Ri , то вы-
ражения Φ1 , . . . , Φm называются посылками, а выражение Φ — непосред-
ственным следствием выражений Φ1 , . . . , Φm по правилу Ri , или заклю-
чением правила Ri . Записываться этот факт будет следующим образом:
Φ1 ; . . . ; Φm
i.
Φ
10 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
Иногда в этой записи символ i будет опускаться, если из контекста ясно,
о каком правиле идет речь:
Φ1 ; . . . ; Φm
.
Φ
Выводом, доказательством или линейным доказательством в исчисле-
нии I называется последовательность выражений Φ0 , Φ1 , . . . , Φn такая, что
для любого i (0 6 i 6 n) выражение Φi есть либо аксиома исчисления I,
либо непосредственное следствие каких-либо предыдущих выражений.
Выражение Φ называется теоремой исчисления I, выводимым в I или
доказуемым в I, если существует вывод Φ1 , . . . , Φn , Φ. Этот вывод называ-
ется выводом выражения Φ или доказательством теоремы Φ.
Пример 1.1.1. 1. Пусть E(I) — множество повествовательных пред-
ложений русского языка, Ax(I) — множество истинных в данный момент
времени предложений вида “подлежащее + сказуемое” с точкой на конце.
Имея правила вывода
Φ.; Ψ. Φ.; Ψ.
и ,
Φ и Ψ. Φ или Ψ.
можно из простых предложений (аксиом) составлять более сложные (теоре-
мы), также истинные в данный момент времени.
2. Пусть E(I) — множество программ Pf , производящих вычисления зна-
чений одноместных числовых функций f , Ax(I) — множество “простых” про-
грамм. Для программ Pf , Pg ∈ E(I) обозначим через Pf ◦ Pg программу,
составленную из программ Pf и Pg так, что по любым начальным данным
производятся вычисления значений функции f , а затем полученные значе-
ния используются как начальные данные, по которым вычисляется значение
функции g. Правило вывода
Pf ; Pg
Pf ◦ Pg
позволяет задать формальное исчисление, в котором из простых программ
(аксиом) можно составлять более сложные (теоремы).
3. Известные дифференциальное и интегральное исчисления представ-
ляются в виде формальных исчислений, в которых аксиомами являются
простейшие элементарные функции, а правила вывода являются правила-
ми дифференцирования и интегрирования. ¤
Определим по индукции понятие дерева выражений в исчислении I:
1) любое выражение из E(I) является деревом выражений;
1.1. ОПРЕДЕЛЕНИЕ ФОРМАЛЬНОГО ИСЧИСЛЕНИЯ 11
2) если D0 , . . . , Dn — деревья выражений и S ∈ E(I), то запись
D0 ; . . . ; Dn
S
также является деревом выражений;
3) любое дерево выражений строится в соответствии с пп. 1 и 2.
Вхождением выражения в дерево D называется место, которое выраже-
ние занимает в дереве. Каждое выражение может иметь несколько вхож-
дений в дерево выражений. Вхождение выражения в дерево D, над (под)
которым нет горизонтальной черты, называется начальным (соответствен-
но заключительным).
Из определения дерева выражений ясно, что начальных выражений в
дереве может быть несколько, а заключительное выражение единственно.
Часть дерева, состоящая из выражений, находящихся непосредственно
над некоторой чертой, под той же чертой, а также самой черты, называется
переходом.
Дерево D называется доказательством в исчислении I в виде дерева,
если все его начальные выражения суть аксиомы из Ax(I), а переходы осу-
ществляются по правилам вывода. Дерево D называется доказательством
выражения Φ в виде дерева или деревом вывода Φ в исчислении I, если D —
доказательство в I и Φ — его заключительное выражение.
Покажем, что наличие линейного доказательства выражения равносиль-
но существованию доказательства выражения в виде дерева.
Предложение 1.1.1. Выражение Φ имеет доказательство в исчисле-
нии I в виде дерева тогда и только тогда, когда Φ — теорема исчисления I.
Доказательство. Пусть Φ1 , . . . , Φn−1 , Φ — линейное доказательство
в I. Если Φ — аксиома, то Φ — доказательство выражения Φ в виде дерева.
Предполагая по индукции, что выражения Φ1 , . . . , Φn−1 имеют доказатель-
ства D1 , . . . , Dn−1 в виде дерева, а выражение Φ получается из выражений
Φi1 , . . . , Φik применением некоторого правила вывода, заключаем, что дерево
Di1 ; . . . ; Dik
Φ
является доказательством выражения Φ в виде дерева.
Пусть теперь дано доказательство выражения Φ в виде дерева D. Ес-
ли Φ — аксиома, то Φ является линейным доказательством выражения Φ.
12 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
Допустим, что выражение Φ не является аксиомой. Тогда дерево D имеет
вид
D0 ; . . . ; Dn
,
Φ
где Di = Φi или
Di1 ; . . . ; Diki
Di = ,
Φi
i = 0, . . . , n. Предполагая по индукции, что выражения Φi имеют линей-
ные доказательства Li , i = 0, . . . , n, получаем линейное доказательство
L0 , . . . , Ln , Φ выражения Φ. ¤
Очевидно, что представление доказательства в виде дерева более нагляд-
но и позволяет проследить все переходы по правилам вывода. В дальнейшем,
обращаясь к доказательствам в исчислениях, мы будем чаще рассматривать
именно доказательства в виде дерева.
Вообще говоря, может не существовать алгоритма, с помощью которого
для произвольного выражения Φ формального исчисления I за конечное
число шагов можно определить, является ли Φ выводимым в I или нет.
Если такой алгоритм существует, то исчисление называется разрешимым,
а если такого алгоритма нет — неразрешимым.
Исчисление называется непротиворечивым, если не все его выражения
доказуемы.
Ниже мы проведем построение двух формальных исчислений — исчис-
лений высказываний, в основе которых лежат формулы алгебры логики.
Первое из этих исчислений — исчисление высказываний генценовского ти-
па, предложенное Г. Генценом, в качестве выражений использует секвенции,
построенные из формул алгебры логики. Это исчисление будет обозначаться
через ИС. Второе исчисление — исчисление высказываний гильбертовского
типа, создано Д. Гильбертом, и в нем выражениями являются непосред-
ственно формулы алгебры логики. Исчисление высказываний гильбертов-
ского типа будет обозначаться через ИВ.
Мы покажем, что оба исчисления эквивалентны в том смысле,
что доказуемыми в них будут являться в точности тождественно истинные
формулы. Из последнего факта будут вытекать разрешимость и непроти-
воречивость исчислений высказываний.
Строящиеся в дальнейшем исчисления ИПС и ИП, являющиеся расши-
рениями исчислений ИС и ИВ соответственно, послужат примерами нераз-
решимых непротиворечивых исчислений.
1.2. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ ГЕНЦЕНОВСКОГО ТИПА 13
§ 1.2. Исчисление высказываний генценовского типа
Определим элементы исчисления высказываний ИС.
Алфавит ИС состоит из букв A, B, Q, P , R и других, возможно с индек-
сами (которые называются пропозициональными переменными), логических
символов (связок) отрицания ¬, конъюнкции ∧, дизъюнкции ∨, импликации
→, следования `, а также вспомогательных символов: левой скобки (, пра-
вой скобки ), запятой ,.
Множество формул ИС определяется индуктивно:
а) все пропозициональные переменные являются формулами ИС (такие
формулы называются элементарными или атомарными);
б) если ϕ, ψ — формулы ИС, то ¬ϕ, (ϕ ∧ ψ), (ϕ ∨ ψ), (ϕ → ψ) — формулы
ИС;
в) выражение является формулой ИС тогда и только тогда, когда это
может быть установлено с помощью пунктов “а” и “б”.
Таким образом, любая формула ИС строится из пропозициональных пе-
ременных с помощью связок ¬, ∧, ∨, →.
В дальнейшем при записи формул будем опускать некоторые скобки, ис-
пользуя те же соглашения, что и в алгебре логики.
Секвенциями называются конечные выражения следующих двух видов,
где ϕ1 , . . . , ϕn , ψ — формулы ИС, n ∈ ω:
• ϕ1 , . . . , ϕn ` ψ (читается “из справедливости ϕ1 , . . . , ϕn следует ψ”),
• ϕ1 , . . . , ϕn ` (читается “система формул ϕ1 , . . . , ϕn противоречива”).
Последовательности формул ϕ1 , . . . , ϕn в секвенциях будут часто обозна-
чаться через Γ (возможно, с индексами): Γ ` ψ, Γ `. При этом последо-
вательность Γ считается пустой при n = 0. Значит, записи ` ψ и ` также
являются секвенциями, первая из которых может читаться как утверждение
о доказуемости формулы ψ. Смысл секвенции ` будет указан в § 1.5.
Таким образом, наряду с формулами, символизирующими простые или
сложные высказывания, секвенции являются записями утверждений,
в которых выделяются посылки, или гипотезы, и заключение.
Множество аксиом ИС определяется следующей схемой секвенций:
ϕ ` ϕ,
где ϕ — произвольная формула ИС.
Аксиомами являются, например, секвенции A ∧ ¬B ` A ∧ ¬B и
A → ¬A1 → B ∨ C ∧ ¬D ` A → ¬A1 → B ∨ C ∧ ¬D.
14 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
Правила вывода ИС задаются следующими записями, где Γ, Γ1 — про-
извольные (возможно, пустые) конечные последовательности формул ИС,
ϕ, ψ, χ — произвольные формулы ИС.
Γ ` ϕ; Γ ` ψ
1. (введение ∧).
Γ ` (ϕ ∧ ψ)
Γ ` (ϕ ∧ ψ)
2. (удаление ∧).
Γ`ϕ
Γ ` (ϕ ∧ ψ)
3. (удаление ∧).
Γ`ψ
Γ`ϕ
4. (введение ∨).
Γ ` (ϕ ∨ ψ)
Γ`ψ
5. (введение ∨).
Γ ` (ϕ ∨ ψ)
Γ, ϕ ` ψ; Γ, χ ` ψ; Γ ` (ϕ ∨ χ)
6. (удаление ∨, или правило разбора двух
Γ`ψ
случаев).
Γ, ϕ ` ψ
7. (введение →).
Γ ` (ϕ → ψ)
Γ ` ϕ; Γ ` (ϕ → ψ)
8. (удаление →).
Γ`ψ
Γ, ¬ϕ `
9. (удаление ¬, или доказательство от противного).
Γ`ϕ
Γ ` ϕ; Γ ` ¬ϕ
10. (выведение противоречия).
Γ`
Γ, ϕ, ψ, Γ1 ` χ
11. (перестановка посылок).
Γ, ψ, ϕ, Γ1 ` χ
Γ`ϕ
12. (утончение, или правило лишней посылки).
Γ, ψ ` ϕ
Линейные доказательства и доказательства в виде дерева, рассмотрен-
ные в предыдущем параграфе для произвольного исчисления, в исчислении
ИС являются соответственно линейными доказательствами секвенций и до-
казательствами секвенций в виде дерева.
Формула ϕ называется доказуемой в ИС, если в ИС доказуема секвенция
` ϕ.
1.2. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ ГЕНЦЕНОВСКОГО ТИПА 15
Пример 1.2.1. 1. Приведем доказательство в виде дерева для секвенций
ϕ ∧ ψ ` ψ ∧ ϕ с любыми формулами ϕ и ψ:
ϕ∧ψ `ϕ∧ψ ϕ∧ψ `ϕ∧ψ
3 2
ϕ ∧ ψ ` ψ; ϕ∧ψ `ϕ
1.
ϕ∧ψ `ψ∧ϕ
2. Следующее дерево демонстрирует доказуемость формулы ϕ ∨ ¬ϕ для
любой формулы ϕ:
¬ϕ ` ¬ϕ
5
¬ϕ ` ϕ ∨ ¬ϕ
12
¬ϕ, ¬(ϕ ∨ ¬ϕ) ` ϕ ∨ ¬ϕ ¬(ϕ ∨ ¬ϕ) ` ¬(ϕ ∨ ¬ϕ)
11 12
¬(ϕ ∨ ¬ϕ), ¬ϕ ` ϕ ∨ ¬ϕ; ¬(ϕ ∨ ¬ϕ), ¬ϕ ` ¬(ϕ ∨ ¬ϕ)
10
¬(ϕ ∨ ¬ϕ), ¬ϕ `
9
¬(ϕ ∨ ¬ϕ) ` ϕ
4
¬(ϕ ∨ ¬ϕ) ` ϕ ∨ ¬ϕ; ¬(ϕ ∨ ¬ϕ) ` ¬(ϕ ∨ ¬ϕ)
10 .
¬(ϕ ∨ ¬ϕ) `
9
` ϕ ∨ ¬ϕ
S0 , . . . , S n
Правило называется допустимым в ИС, если из выводи-
S
мости в ИС секвенций S0 , . . . , Sn следует выводимость в ИС секвенции S.
Заметим, что допустимость правила равносильна тому, что его добавле-
ние в исчисление ИС не расширяет множество доказуемых секвенций.
Для произвольной формулы ϕ ИС положим ϕ1 ϕ, ϕ0 ¬ϕ.
Предложение 1.2.1. Следующие правила допустимы в ИС:
ψ1 , . . . , ψ m ` ϕ
а) (расширение посылок);
χ 1 , . . . , χn ` ϕ
ψ1 , . . . , ψ m `
б) (расширение посылок),
χ 1 , . . . , χn `
где в пп. а) и б) выполняется {ψ1 , . . . , ψm } ⊆ {χ1 , . . . , χn };
Γ ` ϕ; Γ, ϕ ` ψ
в) (сечение);
Γ`ψ
Γ1 , ϕ, ψ, Γ2 ` χ
г) (объединение посылок);
Γ1 , ϕ ∧ ψ, Γ2 ` χ
Γ1 , ϕ ∧ ψ, Γ2 ` χ
д) (расщепление посылок);
Γ1 , ϕ, ψ, Γ2 ` χ
16 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
Γ, ϕ ` χ; Γ, ψ ` χ
е) (разбор случаев);
Γ, ϕ ∨ ψ ` χ
Γ, ϕ ` ψ; Γ, ¬ϕ ` ψ
ж) (разбор случаев);
Γ`ψ
Γ ` ϕ ∧ ¬ϕ
з) (выведение противоречия);
Γ`
Γ`
и) (выведение из противоречия);
Γ`ψ
Γ, ϕ `
к) (контрапозиция);
Γ ` ¬ϕ
Γ`ϕ
л) (контрапозиция);
Γ, ¬ϕ `
Γ, ϕε ` ψ δ
м) , где ε, δ ∈ {0, 1} (контрапозиция);
Γ, ψ 1−δ ` ϕ1−ε
ϕ0 , . . . , ϕ n ` ψ
н) (введение ∧ и →);
` ((ϕ0 ∧ . . . ∧ ϕn ) → ψ)
` ((ϕ0 ∧ . . . ∧ ϕn ) → ψ)
о) (удаление ∧ и →).
ϕ0 , . . . , ϕ n ` ψ
Доказательство. Допустимость правила
Γ, ϕ, ϕ ` ψ
Γ, ϕ ` ψ
показывается следующим деревом:
ϕ`ϕ Γ, ϕ, ϕ ` ψ
11,12 7
Γ, ϕ ` ϕ; Γ, ϕ ` ϕ → ψ
8.
Γ, ϕ ` ψ
Допустимость правила а) следует из допустимости указанного правила с по-
мощью правил 11 и 12. Допустимость правила б) вытекает из а), з) и и).
Докажем допустимость правила и), а остальные правила оставим чита-
телю в качестве упражнения. Ясно, что секвенция Γ ` может быть получена
лишь применением правила 10. Поэтому из доказуемости секвенции Γ `
следует доказуемость секвенций Γ ` ϕ и Γ ` ¬ϕ для некоторой формулы ϕ.
Учитывая доказуемость последних секвенций, дерево
1.2. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ ГЕНЦЕНОВСКОГО ТИПА 17
Γ`ϕ Γ ` ¬ϕ
12 12
Γ, ¬ψ ` ϕ; Γ, ¬ψ ` ¬ϕ
10
Γ, ¬ψ `
9
Γ`ψ
устанавливает доказуемость секвенции Γ ` ψ. ¤
Использование допустимых правил вывода позволяет во многих случаях
приводить сокращенные доказательства секвенций, которые при необходи-
мости можно преобразовать в доказательства секвенций в виде деревьев
в ИС.
Например, следующее дерево устанавливает доказуемость секвенции
(ϕ → ψ), ¬ψ ` ¬ϕ:
ϕ`ϕ (ϕ → ψ) ` (ϕ → ψ)
11,12 12
(ϕ → ψ), ϕ ` ϕ; (ϕ → ψ), ϕ ` (ϕ → ψ)
8
(ϕ → ψ), ϕ ` ψ
м
(ϕ → ψ), ¬ψ ` ¬ϕ.
Секвенции S1 и S2 называются равносильными (обозначается S1 ! S2 ),
если доказуемость секвенции S1 равносильна доказуемости секвенции S2 . Из
предложения 1.2.1 вытекает, что для каждого из следующих правил входя-
щие в них секвенции равносильны: 9, 11, г), д), з), к), л), м), н), о).
Равносильность секвенций правила з) означает, что в каждой секвен-
ции с пустой правой частью (после знака `) эта правая часть может быть
заменена на произвольную формулу вида ϕ ∧ ¬ϕ. Тем самым при работе
с секвенциями можно избежать секвенций вида Γ ` .
Пусть V = {Pi | i ∈ ω} — множество всех пропозициональных пере-
менных ИС, F — множество всех формул ИС. Любая функция s: V → F
называется подстановкой пропозициональных переменных. Для любой фор-
мулы ϕ ∈ F обозначим через s(ϕ) формулу, получающуюся из ϕ заменой
всех пропозициональных переменных P , входящих в ϕ, на формулы s(P ).
Пример 1.2.2. Если s(P0 ) = P1 ∨ ¬P2 , s(P1 ) = P1 → ¬P3 , ϕ = ¬P0 ∧ P1 ,
то s(ϕ) = ¬(P1 ∨ ¬P2 ) ∧ (P1 → ¬P3 ). ¤
Для любой секвенции (последовательности формул) R обозначим через
s(R) секвенцию (последовательность формул), получающуюся из R заменой
всех пропозициональных переменных P , входящих в R, на формулы s(P ).
18 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
Таким образом, отображение s естественным образом расширяется
на множество всех выражений исчисления ИС.
Теорема 1.2.2 (теорема о подстановке). Для любой подстановки s и до-
казуемой секвенции R секвенция s(R) доказуема.
Доказательство. Предположим, что секвенция R доказуема. Рассмот-
рим дерево D доказательства секвенции R. Заменим каждую секвенцию R0
в дереве D на секвенцию s(R0 ). Полученное дерево s(D) является деревом
доказательства секвенции s(R). ¤
R
Согласно теореме о подстановке каждое правило является допусти-
s(R)
мым.
§ 1.3. Эквивалентность формул
Для любых формул ϕ и ψ ИС обозначим через (ϕ ↔ ψ) формулу ИС
((ϕ → ψ)∧(ψ → ϕ)). Напомним, что таблица истинности последней формулы
совпадает с таблицей истинности формулы алгебры логики (ϕ ↔ ψ).
Лемма 1.3.1. Секвенция Γ ` (ϕ ↔ ψ) доказуема тогда и только
тогда, когда доказуемы секвенции Γ, ϕ ` ψ и Γ, ψ ` ϕ.
Доказательство. Предположим, что секвенция Γ ` (ϕ ↔ ψ) дока-
зуема. Тогда доказуемость секвенции Γ, ϕ ` ψ устанавливается следующим
деревом:
Γ ` (ϕ → ψ) ∧ (ψ → ϕ)
2
ϕ`ϕ Γ`ϕ→ψ
11,12 12
Γ, ϕ ` ϕ; Γ, ϕ ` ϕ → ψ
8.
Γ, ϕ ` ψ
Доказуемость секвенции Γ, ψ ` ϕ показывается аналогично.
Установим теперь доказуемость секвенции Γ ` (ϕ ↔ ψ), предполагая,
что секвенции Γ, ϕ ` ψ и Γ, ψ ` ϕ доказуемы:
Γ, ϕ ` ψ Γ, ψ ` ϕ
7 7
Γ ` ϕ → ψ; Γ`ψ→ϕ
1. ¤
Γ ` (ϕ → ψ) ∧ (ψ → ϕ)
Формулы ϕ и ψ называются эквивалентными (обозначается ϕ ≡ ψ), если
в ИС доказуемы секвенции ϕ ` ψ и ψ ` ϕ.
1.3. ЭКВИВАЛЕНТНОСТЬ ФОРМУЛ 19
В силу леммы 1.3.1 условие ϕ ≡ ψ равносильно доказуемости секвенции
` (ϕ ↔ ψ). Покажем, что отношение ≡ образует отношение эквивалентности
на множестве формул.
Лемма 1.3.2. Для любых формул ϕ, ψ и χ исчисления ИС справедливы
следующие утверждения:
а) ϕ ≡ ϕ;
б) если ϕ ≡ ψ, то ψ ≡ ϕ;
в) если ϕ ≡ ψ и ψ ≡ χ, то ϕ ≡ χ.
Доказательство. В пункте а) доказывать нечего, поскольку ϕ ` ϕ —
аксиома. Пункт б) следует из симметричности в определении отношения ≡.
Пункт в) вытекает из правила сечения (предложение 1.2.1, в). ¤
Установим, что эквивалентность формул сохраняется под действием опе-
раций ¬, ∧, ∨ и →.
Лемма 1.3.3. Если ϕ1 ≡ ψ1 и ϕ2 ≡ ψ2 , то ¬ϕ1 ≡ ¬ψ1 , (ϕ1 ∧ ϕ2 ) ≡
≡ (ψ1 ∧ ψ2 ), (ϕ1 ∨ ϕ2 ) ≡ (ψ1 ∨ ψ2 ) и (ϕ1 → ϕ2 ) ≡ (ψ1 → ψ2 ).
Доказательство. В силу симметричности отношения ≡ достаточно
доказать секвенции ¬ϕ1 ` ¬ψ1 , (ϕ1 ∧ ϕ2 ) ` (ψ1 ∧ ψ2 ), (ϕ1 ∨ ϕ2 ) ` (ψ1 ∨ ψ2 )
и (ϕ1 → ϕ2 ) ` (ψ1 → ψ2 ), а доказуемость этих секвенций устанавливается
следующими деревьями:
Γ, ψ1 ` ϕ1
(контрапозиция);
Γ, ¬ϕ1 ` ¬ψ1
ϕ1 ∧ ϕ2 ` ϕ1 ∧ ϕ2 ϕ1 ` ψ1 ϕ1 ∧ ϕ2 ` ϕ1 ∧ ϕ2 ϕ2 ` ψ2
ϕ1 ∧ ϕ2 ` ϕ1 ; ` ϕ1 → ψ1 ϕ1 ∧ ϕ2 ` ϕ2 ; ` ϕ2 → ψ2
ϕ1 ∧ ϕ2 ` ψ1 ; ϕ 1 ∧ ϕ 2 ` ψ2
;
ϕ1 ∧ ϕ2 ` ψ1 ∧ ψ2
ϕ1 ` ψ1 ϕ2 ` ψ2
ϕ1 ` ψ1 ∨ ψ2 ; ϕ2 ` ψ1 ∨ ψ2 ; ϕ1 ∨ ϕ2 ` ϕ1 ∨ ϕ2
;
ϕ1 ∨ ϕ2 ` ψ1 ∨ ψ2
ψ1 ` ϕ1 ; ϕ1 → ϕ2 ` ϕ1 → ϕ2 ϕ2 ` ψ2
ϕ1 → ϕ2 , ψ1 ` ϕ2 ; ` ϕ2 → ψ2
.¤
ϕ1 → ϕ2 , ψ1 ` ψ2
ϕ1 → ϕ2 ` ψ1 → ψ2
20 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
Формула ψ исчисления ИС называется подформулой формулы ϕ исчис-
ления ИС, если ψ является подсловом слова ϕ. Место, которое занимает
подформула ψ в формуле ϕ, называется вхождением ψ в формулу ϕ.
Пример 1.3.1. Формула A имеет два вхождения в формулу ϕ, имеющую
вид A ∨ (A → B ∧ C) → D. Следующие формулы образуют множество всех
подформул формулы ϕ:
A, B, C, D, B ∧ C, A → B ∧ C, A ∨ (A → B ∧ C), ϕ. ¤
Теорема 1.3.4 (теорема о замене). Пусть ϕ — формула исчисления ИС,
ψ — ее подформула, а формула ϕ0 получается из ϕ заменой некоторого
вхождения ψ на формулу ψ 0 . Тогда если ψ ≡ ψ 0 , то ϕ ≡ ϕ0 .
Доказательство. Если ϕ = ψ, то доказывать нечего. Если ϕ 6= ψ,
то используем индукцию по числу шагов построения формулы ϕ. Предпола-
гая, что ϕ — пропозициональная переменная, снова получаем ϕ = ψ. Индук-
ционный переход осуществляется рассмотрением четырех случаев: ϕ = ¬ϕ1 ,
ϕ = ϕ1 ∧ϕ2 , ϕ = ϕ1 ∨ϕ2 , ϕ = ϕ1 → ϕ2 . В каждом из этих случаев формула ψ
входит в ϕ1 или ϕ2 . Поэтому эквивалентность ϕ ≡ ϕ0 вытекает из индукци-
онного предположения и леммы 1.3.3. ¤
§ 1.4. Нормальные формы
В этом параграфе мы покажем, что преобразования формул алгебры
логики, приводящие к построению дизъюнктивных и конъюнктивных нор-
мальных форм, имеют место и в исчислении секвенций.
Лемма 1.4.1. Пусть ϕ, ψ и χ — формулы ИС. Тогда справедливы сле-
дующие эквивалентности:
а) (ϕ ∧ ψ) ∧ χ ≡ ϕ ∧ (ψ ∧ χ), (ϕ ∨ ψ) ∨ χ ≡ ϕ ∨ (ψ ∨ χ) (ассоциативность
∧ и ∨);
б) ϕ ∧ ψ ≡ ψ ∧ ϕ, ϕ ∨ ψ ≡ ψ ∨ ϕ (коммутативность ∧ и ∨);
в) ϕ ∧ ϕ ≡ ϕ, ϕ ∨ ϕ ≡ ϕ (идемпотентность ∧ и ∨);
г) ϕ ∧ (ψ ∨ χ) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ χ), ϕ ∨ (ψ ∧ χ) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ χ) (законы
дистрибутивности);
д) ϕ ∧ (ϕ ∨ ψ) ≡ ϕ, ϕ ∨ (ϕ ∧ ψ) ≡ ϕ (законы поглощения);
е) ¬(ϕ ∧ ψ) ≡ ¬ϕ ∨ ¬ψ, ¬(ϕ ∨ ψ) ≡ ¬ϕ ∧ ¬ψ (законы де Моргана);
ж) ¬¬ϕ ≡ ϕ (закон двойного отрицания);
1.4. НОРМАЛЬНЫЕ ФОРМЫ 21
з) ϕ → ψ ≡ ¬ϕ ∨ ψ (закон удаления импликации).
Доказательство. Мы приведем доказательства эквивалентностей
ϕ ∧ (ψ ∨ χ) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ χ) и ϕ → ψ ≡ ¬ϕ ∨ ψ, оставив остальные
утверждения читателю в качестве упражнения:
ϕ ∧ (ψ ∨ χ) ` ϕ; ψ ` ψ ϕ ∧ (ψ ∨ χ) ` ϕ; χ ` χ
ϕ ∧ (ψ ∨ χ), ψ ` ϕ ∧ ψ ϕ ∧ (ψ ∨ χ), χ ` ϕ ∧ χ
ϕ ∧ (ψ ∨ χ), ψ ` (ϕ ∧ ψ) ∨ (ϕ ∧ χ); ϕ ∧ (ψ ∨ χ), χ ` (ϕ ∧ ψ) ∨ (ϕ ∧ χ); ϕ ∧ (ψ ∨ χ) ` ψ ∨ χ
;
ϕ ∧ (ψ ∨ χ) ` (ϕ ∧ ψ) ∨ (ϕ ∧ χ)
ϕ∧ψ `ψ ϕ∧χ`χ
ϕ ∧ ψ ` ϕ; ϕ∧ψ `ψ∨χ ϕ ∧ χ ` ϕ; ϕ∧χ`ψ∨χ
ϕ ∧ ψ ` ϕ ∧ (ψ ∨ χ); ϕ ∧ χ ` ϕ ∧ (ψ ∨ χ); (ϕ ∧ ψ) ∨ (ϕ ∧ χ) ` (ϕ ∧ ψ) ∨ (ϕ ∧ χ)
;
(ϕ ∧ ψ) ∨ (ϕ ∧ χ) ` ϕ ∧ (ψ ∨ χ)
ϕ ` ϕ; ϕ → ψ ` ϕ → ψ
ϕ → ψ, ϕ ` ψ ¬ϕ ` ¬ϕ
ϕ → ψ, ϕ ` ¬ϕ ∨ ψ; ¬ϕ ` ¬ϕ ∨ ψ; ` ϕ ∨ ¬ϕ
;
ϕ → ψ ` ¬ϕ ∨ ψ
ϕ ` ϕ; ¬ϕ ` ¬ϕ
ϕ, ¬ϕ `
ϕ, ¬ϕ ` ψ; ψ ` ψ; ¬ϕ ∨ ψ ` ¬ϕ ∨ ψ
.¤
¬ϕ ∨ ψ, ϕ ` ψ
¬ϕ ∨ ψ ` ϕ → ψ
Напомним, что литерой называется любая атомарная формула A, обо-
значаемая через A1 , или ее отрицание ¬A, которое обозначается через A0 .
Конъюнктом (дизъюнктом) называется литера или конъюнкция (соответ-
ственно дизъюнкция) литер. Конъюнкт или дизъюнкция конъюнктов назы-
вается дизъюнктивной нормальной формой (ДНФ), а дизъюнкт или конъ-
юнкция дизъюнктов — конъюнктивной нормальной формой (КНФ).
Следующая теорема является синтаксическим аналогом теоремы о при-
ведении формул алгебры логики к дизъюнктивным и конъюнктивным нор-
мальным формам.
Теорема 1.4.2. 1. Любая формула ИС эквивалентна некоторой ДНФ.
2. Любая формула ИС эквивалентна некоторой КНФ.
22 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
Алгоритм приведения к ДНФ формулы исчисления ИС аналогичен ал-
горитму приведения формул алгебры логики к ДНФ и опирается на лем-
му 1.4.1.
1. Выражаем согласно пункту з) леммы 1.4.1 все импликации, участвую-
щие в построении формулы, через дизъюнкции и отрицания.
2. Используя законы де Моргана (лемма 1.4.1, е), переносим все отри-
цания к переменным и сокращаем двойные отрицания по закону двойного
отрицания (лемма 1.4.1, ж).
3. Используя закон дистрибутивности ϕ ∧ (ψ ∨ χ) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ χ), пре-
образуем формулу так, чтобы все конъюнкции выполнялись раньше дизъ-
юнкций.
В результате применения пп. 1–3 получается ДНФ данной формулы.
Приведение формулы к КНФ производится аналогично приведению ее
к ДНФ c применением закона дистрибутивности
ϕ ∨ (ψ ∧ χ) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ χ). ¤
§ 1.5. Семантика исчисления секвенций
Пусть X — некоторое множество, fX — отображение, которое каждой
пропозициональной переменной ставит в соответствие некоторое подмноже-
ство множества X. Расширим по индукции отображение fX до отображения
множества формул ИС в булеан P(X) множества X согласно следующим
соотношениям:
• fX (¬ϕ) = X \ fX (ϕ),
• fX (ϕ ∧ ψ) = fX (ϕ) ∩ fX (ψ),
• fX (ϕ ∨ ψ) = fX (ϕ) ∪ fX (ψ),
• fX (ϕ → ψ) = fX (¬ϕ) ∪ fX (ψ).
Любое такое отображение fX , действующее на множестве формул ИС,
называется интерпретацией ИС в X.
Каждой секвенции S следующим образом ставится в соответствие неко-
торое утверждение fX (S) о подмножествах X:
• fX (ϕ1 , . . . , ϕn ` ψ) ⇔ fX (ϕ1 ) ∩ . . . ∩ fX (ϕn ) ⊆ fX (ψ),
• fX (` ψ) ⇔ fX (ψ) = X,
• fX (ϕ1 , . . . , ϕn `) ⇔ fX (ϕ1 ) ∩ . . . ∩ fX (ϕn ) = ∅,
• fX (`) ⇔ X = ∅.
1.5. СЕМАНТИКА ИСЧИСЛЕНИЯ СЕКВЕНЦИЙ 23
Теорема 1.5.1. Для любой интерпретации fX исчисления ИС и любой
доказуемой в ИС секвенции S справедливо утверждение fX (S).
Доказательство. Если S — аксиома ϕ ` ϕ, то истинность утвержде-
ния fX (S), имеющего вид fX (ϕ) ⊆ fX (ϕ), очевидна. В общем случае до-
статочно доказать, что при переходе по любому из 12 правил вывода из
справедливости утверждений fX от секвенций над чертой следует истин-
ность утверждения fX от секвенции под чертой. Покажем, как проверяются
указанные переходы на примере первого правила вывода
Γ ` ϕ; Γ ` ψ
,
Γ ` (ϕ ∧ ψ)
T
n T
n
где Γ = ϕ1 , . . . , ϕn . Итак, по условию имеем fX (ϕi ) ⊆ fX (ϕ) и fX (ϕi ) ⊆
i=1 i=1
T
n T
n
⊆ fX (ψ). Тогда fX (ϕi ) ⊆ fX (ϕ) ∩ fX (ψ). Следовательно, fX (ϕi ) ⊆
i=1 i=1
⊆ fX (ϕ∧ψ), т. е. справедливо утверждение fX (Γ ` (ϕ∧ψ)). Проверка осталь-
ных переходов аналогична и предоставляется читателю. ¤
Следствие 1.5.2. Исчисление ИС непротиворечиво.
Доказательство. Пусть X — непустое множество, fX — произвольная
интерпретация ИС, A — некоторая атомарная формула. Покажем, что
формула A ∧ ¬A не доказуема в ИС. Действительно, fX (A ∧ ¬A) =
= fX (A)∩(X \fX (A)) = ∅, откуда с учетом непустоты множества X следует,
что утверждение fX (` A ∧ ¬A) ложно. Тогда по теореме 1.5.1 секвенция
` A ∧ ¬A не доказуема. ¤
Понятие интерпретации выходит за рамки самого исчисления и относит-
ся к семантике исчисления, устанавливающей соответствие действий в ис-
числении с теоретико-множественными операциями. Сами же понятия фор-
мулы, секвенции, правил вывода и доказательства, образующие исчисление,
составляют синтаксис исчисления.
Определим теперь так называемую главную интерпретацию ИС, кото-
рая позволяет составлять таблицы истинности формул. Возьмем в качестве
множества X одноэлементное множество {∅}. Тогда для любой атомарной
формулы A значение fX (A) равно ∅, т. е. fX (A) = 0, или fX (A) равно {∅},
т. е. fX (A) = 1 (напомним, что 0 = ∅, а 1 = {∅}). Придавая переменным
24 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
x и y значения f{∅} (x) и f{∅} (y) из множества {0, 1}, получаем таблицы
истинности для логических операций ∧, ∨, → и ¬:
x y (x ∧ y) (x ∨ y) (x → y) ¬ x
0 0 0 0 1 1
0 1 0 1 1 1
1 0 0 1 0 0
1 1 1 1 1 0
Пусть A1 , . . . , Ak — пропозициональные переменные, f — отображение
множества элементарных формул в {0, 1}. С помощью таблиц истинно-
сти логических связок функция f однозначно продолжается на множество
формул ϕ(A1 , . . . , Ak ), которые строятся из пропозициональных переменных
A1 , . . . , Ak и логических связок. При этом для любой формулы ϕ, равной
ϕ(A1 , . . . , Ak ), значение f (ϕ) снова равно 0 или 1. Если f (ϕ) = 1 (f (ϕ) = 0),
то говорят, что формула ϕ истинна (ложна) на наборе (f (A1 ), . . . , f (Ak )).
Функция fϕ : {0, 1}k → {0, 1}, которая каждому набору (δ1 , . . . , δk ) ∈
∈ {0, 1}k сопоставляет значение истинности формулы ϕ, называется истин-
ностной функцией формулы ϕ. Очевидно, что таблица истинности функ-
ции fϕ совпадает с таблицей истинности формулы ϕ.
Напомним, что формула ϕ называется тождественно истинной (тож-
дественно ложной), если функция fϕ тождественно равна единице (тожде-
ственно равна нулю).
Секвенция Γ ` ϕ называется истинной на наборе (δ1 , . . . , δk ) ∈ {0, 1}k ,
если на этом наборе хотя бы одна формула из Γ ложна или формула ϕ ис-
тинна. Секвенция Γ ` называется истинной на наборе (δ1 , . . . , δk ) ∈ {0, 1}k ,
если на этом наборе некоторая формула из Γ ложна. Секвенция ` по опре-
делению ложна на любом наборе, а истинность секвенции ` ϕ совпадает
с истинностью формулы ϕ.
Секвенция S называется тождественно истинной, если S истинна
на любом наборе (δ1 , . . . , δk ) значений истинности переменных A1 , . . . , Ak ,
среди которых содержатся все переменные, входящие в формулы из S.
Покажем, что доказуемость секвенции (формулы) равносильна ее тож-
дественной истинности.
Теорема 1.5.3. Если секвенция S доказуема в ИС, то S тожде-
ственно истинна.
1.5. СЕМАНТИКА ИСЧИСЛЕНИЯ СЕКВЕНЦИЙ 25
Доказательство. Пусть D — дерево доказательства секвенции S. При-
меним индукцию по высоте дерева D. Если S — аксиома, то ее тождествен-
ная истинность очевидна. Для завершения доказательства нужно проверить,
что правила вывода 1–12 сохраняют тождественную истинность. Покажем,
как происходит проверка, на примере правила 8, оставив проверку осталь-
ных переходов читателю. Итак, рассмотрим правило
Γ ` ϕ; Γ ` (ϕ → ψ)
Γ`ψ
и предположим, что на некотором наборе значений истинности пропозицио-
нальных переменных все формулы из Γ истинны. Тогда по индукционному
предположению на этом наборе истинны формулы ϕ и ϕ → ψ. Следователь-
но, по определению операции → формула ψ также истинна. ¤
Лемма 1.5.4. Пусть ϕ(A1 , . . . , Ak ) — формула ИС, построенная из
пропозициональных переменных A1 , . . . , Ak , (δ1 , . . . , δk ) — набор из {0, 1}k .
Если δ = fϕ (δ1 , . . . , δk ), то секвенция Aδ11 , . . . , Aδkk ` ϕδ доказуема.
Доказательство. По теореме о замене и лемме 1.4.1 можно считать,
что формула ϕ не содержит связок ∨ и →. Доказательство проведем индук-
цией по числу шагов построения формулы ϕ. Если ϕ — атомарная формула
Ai , то ϕδ = Aδi i и секвенция Aδ11 , . . . , Aδkk ` ϕδ , равная Aδ11 , . . . , Aδkk ` Aδi i ,
очевидно, доказуема по правилам 11 и 12 исходя из аксиомы Aδi i ` Aδi i .
Предположим, что формула ϕ имеет вид ¬ϕ1 . По индукционному пред-
положению доказуема секвенция Aδ11 , . . . , Aδkk ` ϕ1−δ 1 . Кроме того, очевидно,
δ1 δk
ϕδ ≡ ϕ1−δ
1 . Тогда секвенция A 1 , . . . , A k ` ϕ δ
доказывается применением
правила сечения
Aδ11 , . . . , Aδkk ` ϕ1−δ 1 ; ϕ1
1−δ
` ϕδ
.
Aδ11 , . . . , Aδkk ` ϕδ
Предположим, наконец, что формула ϕ равна ϕ1 ∧ ϕ2 . В случае δ = 1
имеем ϕδ = ϕ1 ∧ ϕ2 , fϕ1 (δ1 , . . . , δk ) = fϕ2 (δ1 , . . . , δk ) = 1 и по индукционному
предположению секвенции Aδ11 , . . . , Aδkk ` ϕ1 и Aδ11 , . . . , Aδkk ` ϕ2 доказуемы.
Тогда, применяя правило 1:
Aδ11 , . . . , Aδkk ` ϕ1 Aδ11 , . . . , Aδkk ` ϕ2
,
Aδ11 , . . . , Aδkk ` ϕ1 ∧ ϕ2
получаем доказуемость секвенции Aδ11 , . . . , Aδkk ` ϕδ .
26 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
В случае δ = 0 имеем fϕ1 (δ1 , . . . , δk ) = 0 или fϕ2 (δ1 , . . . , δk ) = 0. Будем
для определенности считать, что fϕ1 (δ1 , . . . , δk ) = 0 (вторая возможность
рассматривается аналогично). Тогда по индукционному предполо-
жению доказуема секвенция Aδ11 , . . . , Aδkk ` ¬ϕ1 . Следующим деревом
устанавливается доказуемость секвенции Aδ11 , . . . , Aδkk ` ¬ϕ:
Aδ11 , . . . , Aδkk ` ¬ϕ1
Aδ11 , . . . , Aδkk , ϕ1 `
ϕ1 ∧ ϕ2 ` ϕ1 ∧ ϕ2 Aδ11 , . . . , Aδkk , ϕ1 ` A0 ∧ ¬A0
ϕ1 ∧ ϕ2 ` ϕ1 ; Aδ11 , . . . , Aδkk ` ϕ1 → (A0 ∧ ¬A0 )
Aδ11 , . . . , Aδkk , ϕ1 ∧ ϕ2 ` A0 ∧ ¬A0
Aδ11 , . . . , Aδkk , ϕ1 ∧ ϕ2 `
Aδ11 , . . . , Aδkk ` ¬(ϕ1 ∧ ϕ2 ).
Теорема 1.5.5 (теорема о полноте). 1. Формула ϕ исчисления ИС дока-
зуема в ИС тогда и только тогда, когда ϕ тождественно истинна.
2. Секвенция S исчисления ИС доказуема в ИС тогда и только тогда,
когда S тождественно истинна.
Доказательство. Тождественная истинность доказуемых секвенций,
а также формул установлена в теореме 1.5.3. Утверждение 2 следует из
утверждения 1, так как доказуемость (тождественная истинность) секвен-
ций ϕ1 , . . . , ϕn ` ψ и ϕ1 , . . . , ϕn ` равносильна доказуемости (тождественной
истинности) соответствующих формул ϕ1 → (ϕ2 → . . . → (ϕn → ψ) . . .)
и ϕ1 → (ϕ2 → . . . → (ϕn → A0 ∧ ¬A0 ) . . .).
Пусть ϕ(A1 , . . . , Ak ) — тождественно истинная формула. Индукцией
по числу m докажем, что для любых δ1 , . . . , δk−m ∈ {0, 1} доказуема секвен-
δk−m
ция Aδ11 , . . . , Ak−m ` ϕ. При m = 0 секвенция имеет вид Aδ11 , . . . , Aδkk ` ϕ, и ее
доказуемость вытекает из леммы 1.5.4 и тождественной истинности форму-
лы ϕ.
Установим индукционный переход. Предположим, что секвенции
δ
Aδ11 , . . . , Ak−m−1
k−m−1
, Ak−m ` ϕ,
δ
Aδ11 , . . . , Ak−m−1
k−m−1
, ¬Ak−m ` ϕ
доказуемы. Тогда из доказуемости секвенции ` Ak−m ∨ ¬Ak−m по правилу 6
δk−m−1
следует доказуемость секвенции Aδ11 , . . . , Ak−m−1 ` ϕ.
1.5. СЕМАНТИКА ИСЧИСЛЕНИЯ СЕКВЕНЦИЙ 27
Доказуемость формулы ϕ вытекает из доказуемости секвенции
δk−m
Aδ11 , . . . , Ak−m
` ϕ при m = k. ¤
Таким образом, по теореме о полноте для того чтобы установить, до-
казуема ли секвенция ϕ1 , . . . , ϕn ` ψ (или ϕ1 , . . . , ϕn `), достаточно соста-
вить таблицу истинности формулы ϕ1 → (ϕ2 → . . . → (ϕn → ψ) . . .) (или
ϕ1 → (ϕ2 → . . . → (ϕn → A0 ∧ ¬A0 ) . . .)) и проверить ее тождественную
истинность. Как известно, существует единый алгоритм построения таблиц
истинности, и, значит, ИС разрешимо.
Следствие 1.5.6. Тогда и только тогда выполняется ϕ ≡ ψ, когда
равны истинностные функции fϕ и fψ .
Доказательство. Предположим, что ϕ ≡ ψ. Тогда по лемме 1.3.2 до-
казуема формула (ϕ ↔ ψ). По теореме о полноте получаем тождественную
истинность этой формулы, что равносильно соотношению fϕ = fψ .
Обратно, из равенства fϕ = fψ следует тождественная истинность се-
квенций ϕ ` ψ и ψ ` ϕ. По теореме о полноте эти секвенции доказуемы,
и, значит, справедливо ϕ ≡ ψ. ¤
Из следствия 1.5.6 вытекает, что отношение эквивалентности ∼
(см. § 6.3∗ ) и отношение эквивалентности ≡ совпадают:
ϕ ∼ ψ ⇔ ϕ ≡ ψ.
Пример 1.5.1. Так как ϕ ∧ ψ ∼ ¬(¬ϕ ∨ ¬ψ), то ϕ ∧ ψ ≡ ¬(¬ϕ ∨ ¬ψ). ¤
Замечание 1.5.7. Пусть Φ — множество всех формул ИС с пропози-
циональными переменными из множества I. Рассмотрим алгебру
F = hΦ, ∧, ∨, ¬, A ∧ ¬A, A ∨ ¬Ai, где A — некоторая фиксированная пере-
менная. Тогда фактор-алгебра F/ ≡ является булевой алгеброй, называемой
алгеброй Линденбаума для ИС.
Схема аксиом называется независимой в исчислении, если хотя бы один
ее частный случай не доказуем в исчислении без этой схемы. Правило вывода
называется независимым в исчислении, если оно не является допустимым
в исчислении, полученном удалением этого правила. Исчисление называется
независимым, если все его схемы аксиом и правила вывода независимы.
Теорема 1.5.8. Исчисление ИС независимо. ¤
28 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
§ 1.6. Исчисление высказываний гильбертовского типа
В этом параграфе мы построим исчисление высказываний ИВ, в котором
в отличие от ИС не используется понятие секвенции, правило вывода одно,
а схем аксиом — несколько.
Формулами ИВ называются формулы ИС.
Аксиомами ИВ являются следующие формулы для любых формул
ϕ, ψ, χ:
1) ϕ → (ψ → ϕ);
2) (ϕ → ψ) → ((ϕ → (ψ → χ)) → (ϕ → χ));
3) (ϕ ∧ ψ) → ϕ;
4) (ϕ ∧ ψ) → ψ;
5) (ϕ → ψ) → ((ϕ → χ) → (ϕ → (ψ ∧ χ)));
6) ϕ → (ϕ ∨ ψ);
7) ϕ → (ψ ∨ ϕ);
8) (ϕ → χ) → ((ψ → χ) → ((ϕ ∨ ψ) → χ));
9) (ϕ → ψ) → ((ϕ → ¬ψ) → ¬ϕ);
10) ¬¬ϕ → ϕ.
Указанные формулы называются схемами аксиом ИВ. При подстановке
конкретных формул в какую-либо схему получается частный случай схемы
аксиом.
Единственным правилом вывода в ИВ является правило заключения
(modus ponens): если ϕ и ϕ → ψ — выводимые формулы, то ψ — также
выводимая формула. Символически это записывается так:
ϕ; ϕ → ψ
.
ψ
Например, если формулы A ∧ B и A ∧ B → (A → C) выводимы,
то формула A → C также выводима согласно правилу заключения.
Говорится, что формула ϕ выводима из формул ϕ1 , . . . , ϕm (обозначается
ϕ1 , . . . , ϕm ` ϕ или {ϕ1 , . . . , ϕm } ` ϕ), если существует последовательность
формул ψ1 , . . . , ψk , ϕ, в которой любая формула либо является аксиомой,
либо принадлежит списку формул ϕ1 , . . ., ϕm , называемых гипотезами, либо
получается из предыдущих по правилу вывода. Выводимость формулы ϕ
из ∅ ( ` ϕ) равносильна тому, что ϕ — теорема ИВ.
Пример 1.6.1. Покажем, что формула ϕ → ϕ выводима в ИВ.
1.6. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ ГИЛЬБЕРТОВСКОГО ТИПА 29
Построим вывод данной формулы:
1) в схеме аксиом 2 формулу ψ заменим на ϕ → ϕ, χ — на ϕ. Получаем
аксиому (ϕ → (ϕ → ϕ)) → ((ϕ → ((ϕ → ϕ) → ϕ) → (ϕ → ϕ));
2) в схеме аксиом 1 формулу ψ заменим на ϕ; получаем ϕ → (ϕ → ϕ);
3) из 1 и 2 по modus ponens заключаем (ϕ → ((ϕ → ϕ) → ϕ)) → (ϕ → ϕ);
4) в схеме аксиом 1 заменяем ψ на ϕ → ϕ; получаем ϕ → ((ϕ → ϕ) → ϕ);
5) из пп. 3 и 4 по правилу вывода справедливо ` ϕ → ϕ. ¤
Теорема 1.6.1 (теорема о дедукции). Если Γ, ϕ ` ψ, то Γ ` ϕ → ψ,
где Γ — набор некоторых формул ϕ1 , . . ., ϕn .
Доказательство. Рассмотрим минимальный вывод ψ1 , . . . , ψk форму-
лы ψ = ψk из формул ϕ1 , . . ., ϕn и ϕ. Если k = 1, то ψ = ϕ, ψ — аксиома
или ψ входит в Γ. В первом случае в силу примера 1.6.1 формула ψ → ψ
выводима в ИВ из Γ. Во втором и третьем случаях последовательность ψ,
ψ → (ϕ → ψ), ϕ → ψ будет выводом в ИВ из Γ.
Предположим, что k > 1 и формула ψ получается из формул ψi и ψj =
= ψi → ψ (где i, j < k) по правилу заключения. Поскольку i < k и j < k,
по индукции можно считать, что Γ ` ϕ → ψi и Γ ` ϕ → (ψi → ψ). Используя
аксиому
(ϕ → ψi ) → ((ϕ → (ψi → ψ)) → (ϕ → ψ))
и дважды применяя к этой формуле правило заключения с формулами
ϕ → ψi и ϕ → (ψi → ψ), получаем сначала формулу
(ϕ → (ψi → ψ)) → (ϕ → ψ),
а затем формулу ϕ → ψ. Тем самым выводимость формулы ϕ → ψ из Γ
доказана. ¤
Применение теоремы о дедукции позволяет во многих случаях сокращать
доказательство формул.
Пример 1.6.2. Покажем, что формула ϕ → (ψ → (ϕ ∧ ψ)) доказуема
в ИВ для любых формул ϕ и ψ исчисления ИВ.
По теореме о дедукции достаточно показать ϕ, ψ ` ϕ∧ψ. Построим вывод
формулы ϕ ∧ ψ из гипотез ϕ и ψ:
1) из аксиомы ϕ → (ϕ → ϕ) и гипотезы ϕ получаем формулу (ϕ → ϕ);
2) из аксиомы ψ → (ϕ → ψ) и гипотезы ψ выводим формулу (ϕ → ψ);
30 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
3) применяя правило заключения к формуле (ϕ → ϕ) и аксиоме
(ϕ → ϕ) → ((ϕ → ψ) → (ϕ → (ϕ ∧ ψ))),
получаем формулу (ϕ → ψ) → (ϕ → (ϕ ∧ ψ));
4) из заключений пп. 2 и 3 выводится формула ϕ → (ϕ ∧ ψ);
5) из гипотезы ϕ и заключения п. 4 получаем формулу ϕ ∧ ψ. ¤
Следствие 1.6.2. Тогда и только тогда ϕ1 , . . . , ϕn ` ϕ, когда
` (ϕ1 → (ϕ2 → . . . → (ϕn−1 → (ϕn → ϕ)) . . .)).
Доказательство. Пусть ϕ1 , . . . , ϕn ` ϕ. Тогда, применяя теорему о де-
дукции, имеем ϕ1 , . . . , ϕn−1 ` ϕn → ϕ. Аналогично
ϕ1 , . . . , ϕn−2 ` ϕn−1 → (ϕn → ϕ)
и т. д. Продолжая процесс необходимое число раз, получаем
` (ϕ1 → (ϕ2 → . . . → (ϕn−1 → (ϕn → ϕ)) . . .)).
Для доказательства достаточности предположим, что ` ψ, где
ψ = (ϕ1 → (ϕ2 → . . . → (ϕn−1 → (ϕn → ϕ)) . . .)).
Очевидно, ϕ1 ` ψ. По правилу заключения получаем
ϕ1 ` (ϕ2 → . . . → (ϕn−1 → (ϕn → ϕ)) . . .).
Далее через n шагов имеем ϕ1 , ϕ2 , . . . , ϕn ` ϕ. ¤
Следующая теорема устанавливает эквивалентность доказуемости в ИС
и доказуемости в ИВ.
Теорема 1.6.3 (теорема об эквивалентности ИС и ИВ) 1. Секвенция
ϕ1 , . . . , ϕn ` ψ доказуема в ИС тогда и только тогда, когда формула ψ
выводима в ИВ из формул ϕ1 , . . . , ϕn .
2. Секвенция ϕ1 , . . . , ϕn ` доказуема в ИС тогда и только тогда, когда
формула A ∧ ¬A выводима в ИВ из формул ϕ1 , . . . , ϕn .
1.6. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ ГИЛЬБЕРТОВСКОГО ТИПА 31
Доказательство. Так как доказуемость (тождественная истинность)
секвенций ϕ1 , . . . , ϕn ` ψ и ϕ1 , . . . , ϕn ` равносильна доказуемости (соответ-
ственно тождественной истинности) формул ϕ1 → (ϕ2 → . . . → (ϕn → ψ) . . .)
и ϕ1 → (ϕ2 → . . . → (ϕn → A∧¬A) . . .) соответственно, в силу следствия 1.6.2
достаточно показать, что доказуемость формулы ϕ в ИС равносильна дока-
зуемости формулы ϕ в ИВ. Непосредственно проверяется, что все аксиомы
исчисления ИВ тождественно истинны, а правило заключения сохраняет
тождественную истинность. Поэтому по теореме о полноте из выводимости
формулы ϕ в ИВ следует ее доказуемость в ИС.
Для доказательства выводимости в ИВ формулы ϕ, доказуемой в ИС,
достаточно проследить сохранение истинности утверждений ИВ, соответ-
ствующих секвенциям, при переходе по любому из 12 правил вывода ИС.
Сохранение выводимости в ИВ для правил 1 — 5 устанавливается с помо-
щью примера 1.6.2 и аксиом 3 — 7.
Если в ИВ справедливо ϕ1 , . . . , ϕk , ϕ ` ψ, ϕ1 , . . . , ϕk , χ ` ψ
и ϕ1 , . . . , ϕk ` ϕ∨χ, то по теореме о дедукции имеет место ϕ1 , . . . , ϕk ` ϕ → ψ
и ϕ1 , . . . , ϕk ` χ → ψ. Применяя три раза правило заключения к аксиоме 8,
получаем ϕ1 , . . . , ϕk ` ψ. Следовательно, правило 6 сохраняет выводимость.
Правило 7 соответствует теореме о дедукции, а правило 8 — правилу
заключения.
Для доказательства сохранения выводимости правилом 9 рассмотрим
справедливое в ИВ соотношение ϕ1 , . . . , ϕk , ¬ϕ ` A ∧ ¬A. Из аксиом 3 и 4
получаем ϕ1 , . . . , ϕk , ¬ϕ ` A и ϕ1 , . . . , ϕk , ¬ϕ ` ¬A. По теореме о дедукции
имеем ϕ1 , . . . , ϕk ` ¬ϕ → A и ϕ1 , . . . , ϕk ` ¬ϕ → ¬A. Из аксиом 9 и 10
заключаем ϕ1 , . . . , ϕk ` ϕ.
Рассмотрим правило 10. Если ϕ1 , . . . , ϕk ` ϕ и ϕ1 , . . . , ϕk ` ¬ϕ, то из
аксиомы 1 получаем ϕ1 , . . . , ϕk ` ¬(A ∧ ¬A) → ϕ и
ϕ1 , . . . , ϕk ` ¬(A ∧ ¬A) → ¬ϕ.
Из аксиом 9 и 10 заключаем ϕ1 , . . . , ϕk ` A ∧ ¬A.
Сохранение выводимости по правилам 11 и 12 следует из определения
вывода в ИВ. ¤
Из теоремы 1.6.3 вытекает непротиворечивость и разрешимость ИВ.
Непосредственно проверяется независимость схем аксиом ИВ.
Множество формул Γ называется противоречивым, если для некоторых
формул ϕ1 , . . . , ϕn ∈ Γ в ИВ справедливо ϕ1 , . . . , ϕn ` A ∧ ¬A. Если Γ —
противоречивое множество формул, будем обозначать этот факт через Γ `.
32 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
На основании теоремы 1.6.3 справедливо следующее утверждение.
Утверждение 1.6.4. Формула ϕ выводима в ИВ из множества фор-
мул Γ тогда и только тогда, когда множество Γ ∪ {¬ϕ} противоречиво:
Γ ` ϕ ⇔ Γ ∪ {¬ϕ} ` . ¤
§ 1.7. Алгоритмы проверки общезначимости
и противоречивости в ИВ
В этом параграфе мы рассмотрим некоторые основные методы, кото-
рые используются для исследования множеств формул исчислений ИС и ИВ
на тождественную истинность и противоречивость. Напомним, что согласно
предложению 1.2.1, н), о) и теореме 1.5.5 к проверкам тождественной истин-
ности формул сводятся проверки тождественной истинности и доказуемости
секвенций, а согласно предложению 1.2.1, к), л) и теореме 1.5.5 проверки
противоречивости также сводится к проверкам тождественной истинности
формул.
1. Алгоритм Квайна
Напомним, что формула ϕ от пропозициональных переменных
A1 , A2 , . . . , Ak является тождественно истинной, общезначимой или (что
то же самое) доказуемой, если булева функция fϕ : {0, 1}k → {0, 1}, соответ-
ствующая формуле ϕ, тождественно равна 1. Для проверки значений функ-
ции fϕ используется так называемое семантическое дерево, т. е. бинарное
корневое дерево, удовлетворяющее следующим условиям:
δ
• каждое ребро помечено литерой Ai j ;
• литеры, выходящие из одной вершины, контрарны: Ai , ¬Ai ;
• ребра соответствуют литере одной и той же пропозициональной пере-
менной Ai тогда и только тогда, когда они находятся на одинаковом рассто-
янии от корня (рис. 1.1).
Семантическое дерево имеет 2k висячих вершин и для проверки общезна-
чимости необходимо пройти 2k маршрутов от корня до этих вершин.
Алгоритм Квайна позволяет проходить не все семантическое дерево,
а только его часть. Он состоит в том, что пропозициональным перемен-
ным Ai , упорядоченным в набор (A1 , A2 , . . . , Ak ), последовательно прида-
ются значения 0 и 1 и анализируются таблицы истинности формул, содер-
жащих меньшее число переменных.
1.7. АЛГОРИТМЫ ПРОВЕРКИ ОБЩЕЗНАЧИМОСТИ 33
• — корень
A1 ¡@ ¬A1
¡ @
•¡ @•
A2 ¢A ¬A2 A2 ¢A ¬A2
¢ A ¢ A
•¢ A• •¢ A•
A3 ¤C¬A3 ¤C ¬A3
¤ C A3 ¤ C
•¤ •C •¤ •C
¤C
¤ C
•¤ •C
•
¤C
¤ C
•¤ •C
¤C
Ak¤ C ¬Ak
•¤ •C
Рис. 1.1
Пример 1.7.1. Проверить общезначимость формулы
ϕ = (((A ∧ B) → C) ∧ (A → B)) → (A → C).
Упорядочим пропозициональные переменные в набор (A, B, C). Прида-
дим первой переменной A значение A = 1. Тогда формула ϕ преобразуется
следующим образом к формуле, не имеющей констант:
(((1 ∧ B) → C) ∧ (1 → B)) → (1 → C) ∼ ((B → C) ∧ B) → C.
В полученной формуле придадим переменной B значение B = 1. Тогда пре-
образованная формула примет вид ((1 → C) ∧ 1) → C ∼ C → C, т. е. будет
общезначимой. В случае B = 0 имеем
((0 → C) ∧ 0) → C ∼ 0 → C,
что также общезначимо. Рассмотрим теперь случай A = 0. Имеем
ϕ(0, B, C) = (((0 ∧ B) → C) ∧ (0 → B)) → (0 → C) ∼ 1 ∧ 1 → 1 ∼ 1.
Таким образом, все возможные случаи приводят к тождественно истинным
формулам. Следовательно, формула ϕ тождественно истинна. На рис. 1.2, а
34 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
© ©•H •
A HH¬A A¡¡@@¬A
©© HH
©
•© H• •¡ @•
B¡¡@@¬B B¡¡@@¬B B @@¬B
¡
¡
•¡ @• •¡ @• •¡ @•
C¢ A¬C C¢¢AA¬C
¢ A C¢ A¬C C¢¢AA¬C
¢ A
•¢ A• •¢ A• •¢ A• •¢ A•
а б
Рис. 1.2
изображено семантическое дерево, соответствующее формуле ϕ,
а на рис. 1.2, б — часть семантического дерева, которая фактически исполь-
зовалась для проверки общезначимости. ¤
2. Алгоритм редукции
Алгоритм редукции решает ту же задачу проверки общезначимости фор-
мулы и эффективен в том случае, когда в формуле содержится достаточно
много импликаций. Идея алгоритма состоит в попытке нахождения значений
пропозициональных переменных формулы ϕ, при которых значение функ-
ции fϕ равно 0. Основана эта попытка на том, что импликация является
ложной в том и только в том случае, когда посылка истинна, а заключение
ложно.
Пример 1.7.2. Проверить тождественную истинность формулы ϕ =
= ((A ∧ B) → C) → (A → (B → C)).
Предположим, что формула ϕ ложна при некотором наборе значений
переменных A, B, C. Тогда истинностная функция f по этим значениям
переменных дает следующие значения формул:
f ((A ∧ B) → C) = 1, f (A → (B → C)) = 0.
Тогда из второго равенства получаем A = 1, f (B → C) = 0, откуда имеем
B = 1, C = 0. Однако при этих значениях справедливо
f ((A ∧ B) → C) = 0.
Получили противоречие. Таким образом, формула ϕ тождественно ис-
тинна. ¤
1.7. АЛГОРИТМЫ ПРОВЕРКИ ОБЩЕЗНАЧИМОСТИ 35
3. Метод резолюций в ИВ
Пусть D1 = D10 ∨A и D2 = D20 ∨¬A — дизъюнкты. Дизъюнкт D10 ∨D20 назы-
вается резольвентой дизъюнктов D1 и D2 по литере A и обозначается через
resA (D1 , D2 ). Резольвентой дизъюнктов D1 и D2 называется их револьвен-
та по некоторой литере и обозначается через res(D1 , D2 ); res(A, ¬A) 0.
В последнем случае нуль будет отождествляться с некоторой противоречи-
вой формулой, например A ∧ ¬A. Если дизъюнкты D1 и D2 не содержат
контрарных литер (т. е. литер вида A для одного из дизъюнктов и ¬A —
для другого), то резольвент у них не существует.
Пример 1.7.3. Если D1 = A∨B ∨C, D2 = ¬A∨¬B ∨D, то resA (D1 , D2 ) =
= B ∨ C ∨ ¬B ∨ D, resB (D1 , D2 ) = A ∨ C ∨ ¬A ∨ D, resC (D1 , D2 ) не суще-
ствует. ¤
Предложение 1.7.1. Пусть Γ — последовательность формул, D1 , D2 —
дизъюнкты.
1. Если res(D1 , D2 ) = 0, то доказуема секвенция Γ, D1 , D2 `.
2. Если существует res(D1 , D2 ) 6= 0, то секвенция Γ, D1 , D2 ` res(D1 , D2 )
доказуема.
3. Если существует res(D1 , D2 ) 6= 0, то имеет место следующая равно-
сильность секвенций:
Γ, D1 , D2 ` ! Γ, D1 , D2 , res(D1 , D2 ) ` .
Доказательство. 1. Предположим, что res(D1 , D2 ) = 0. Тогда Di = A
и D3−i = ¬A для некоторой переменной A и некоторого i ∈ {1, 2}. Тогда дока-
зуемость секвенции Γ, D1 , D2 ` вытекает из доказуемости секвенции A, ¬A `
на основании пункта з) предложения 1.2.1.
2. Если res(D1 , D2 ) 6= 0, то рассмотрим дизъюнкты D1 = D10 ∨ A, D2 =
= D20 ∨ ¬A и их резольвенту res(D1 , D2 ) = D10 ∨ D20 . Следующее дерево уста-
навливает доказуемость секвенции Γ, D1 , D2 ` res(D1 , D2 ):
D10 ` D10 A, ¬A `
0 4,12 з
D20 ` D20 0 0
D1 , ¬A ` D1 ∨ D2 ; A, ¬A ` D10 ∨ D20
5,11,12 е
D10 ∨ ¬A, D20 ` D10 ∨ D20 ; D10 ∨ A, ¬A ` D10 ∨ D20
е.
D10 ∨ A, D20 ∨ ¬A ` D10 ∨ D20
36 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
3. Если секвенция Γ, D1 , D2 ` доказуема, то доказуема секвен-
ция Γ, D1 , D2 , res(D1 , D2 ) ` в силу пункта б) предложения 1.2.1. До-
казуемость секвенции Γ, D1 , D2 `, исходя из доказуемости секвенции
Γ, D1 , D2 , res(D1 , D2 ) `, можно установить, построив соответствующее дере-
во доказательства. Мы проведем семантическое рассуждение, оставив чита-
телю в качестве упражнения построение этого дерева.
Воспользовавшись теоремой о полноте, замечаем, что если секвенция
Γ, D1 , D2 , res(D1 , D2 ) ` доказуема и Γ = ϕ1 , . . . , ϕn , то для любой интер-
претации fX исчисления ИС имеем
n
\
fX (ϕi ) ∩ fX (D1 ) ∩ fX (D2 ) ∩ fX (res(D1 , D2 )) = ∅.
i=1
Так как в силу пункта 1 справедливо fX (D1 ) ∩ fX (D2 ) ⊆ fX (res(D1 , D2 )),
Tn
получаем fX (ϕi )∩fX (D1 )∩fX (D2 ) = ∅ и на основании теоремы о полноте
i=1
секвенция Γ, D1 , D2 ` доказуема. ¤
Пусть S = {D1 , D2 , . . . , Dm } — множество дизъюнктов. Последователь-
ность формул ϕ1 , ϕ2 , . . ., ϕn называется резолютивным выводом из множе-
ства S, если для каждой формулы ϕi (i = 1, . . . , n) выполняется какое-то
из следующих условий:
• ϕi ∈ S;
• существуют j, k < i такие, что ϕi = res(ϕj , ϕk ).
По определению резолютивный вывод можно рассматривать как дока-
зательство в исчислении резольвент ИРS , формулами которого являются
дизъюнкты и символ противоречия 0, аксиомами — формулы из множе-
ства S, а единственное правило вывода имеет вид:
D1 , D 2
.
res(D1 , D2 )
Теорема 1.7.2 (теорема о полноте метода резолюций). Множество
дизъюнктов S противоречиво в том и только в том случае, когда суще-
ствует резолютивный вывод из S, заканчивающийся символом 0.
Доказательство. Противоречивость множества S при наличии резо-
лютивного вывода нуля вытекает из предложения 1.7.1. Существование ре-
золютивного вывода нуля из противоречивого множества дизъюнктов обос-
новано в книге Ч. Чень, Р. Ли [45]. ¤
1.7. АЛГОРИТМЫ ПРОВЕРКИ ОБЩЕЗНАЧИМОСТИ 37
Отметим, что метод резолюций можно использовать для проверки выво-
димости формулы ϕ из данного множества формул ϕ1 , . . . , ϕn . Действи-
тельно,
ϕ1 , . . . , ϕn ` ϕ ! ϕ1 , . . . , ϕn , ¬ϕ `, (1.1)
а также
ϕ1 , . . . , ϕn , ¬ϕ ` ! ϕ1 ∧ . . . ∧ ϕn ∧ ¬ϕ ` . (1.2)
Приведем полученную формулу к КНФ:
ϕ1 ∧ . . . ∧ ϕn ∧ ¬ϕ ≡ D1 ∧ D2 ∧ . . . ∧ Dm ,
тогда
ϕ1 ∧ . . . ∧ ϕn ∧ ¬ϕ ` ! D1 ∧ D2 ∧ . . . ∧ Dm ` ! D1 , D2 , . . . , Dm ` . (1.3)
Таким образом, задача проверки выводимости ϕ1 , . . . , ϕn ` ϕ сводится
к проверке противоречивости множества дизъюнктов S = {D1 , D2 , . . . , Dm },
что равносильно существованию резолютивного вывода 0 из S.
Пример 1.7.4. Проверить методом резолюций доказуемость секвенции
A → (B → C), C ∧ D → E, ¬F → D ∧ ¬E ` A → (B → F ).
Проведем равносильные преобразования секвенций согласно соотноше-
ниям (1.1) — (1.3):
A → (B → C), C ∧ D → E, ¬F → D ∧ ¬E ` A → (B → F ) !
! A → (B → C), C ∧ D → E, ¬F → D ∧ ¬E, ¬(A → (B → F )) ` !
! ¬A ∨ ¬B ∨ C, ¬(C ∧ D) ∨ E, F ∨ D ∧ ¬E, ¬(¬A ∨ ¬B ∨ F ) ` !
! ¬A ∨ ¬B ∨ C, ¬C ∨ ¬D ∨ E, (F ∨ D) ∧ (F ∨ ¬E), A ∧ B ∧ ¬F ` !
! ¬A ∨ ¬B ∨ C, ¬C ∨ ¬D ∨ E, F ∨ D, F ∨ ¬E, A, B, ¬F ` .
Теперь нам следует проверить на противоречивость множество дизъюнк-
тов S = {¬A ∨ ¬B ∨ C, ¬C ∨ ¬D ∨ E, F ∨ D, F ∨ ¬E, A, B, ¬F }. Построим
резолютивный вывод из S, заканчивающийся 0:
1) resA (¬A ∨ ¬B ∨ C, A) = ¬B ∨ C;
2) resB (¬B ∨ C, B) = C;
38 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
3) resD (¬C ∨ ¬D ∨ E, F ∨ D) = ¬C ∨ E ∨ F ;
4) resE (¬C ∨ E ∨ F, F ∨ ¬E) = ¬C ∨ F ;
5) resC (C, ¬C ∨ F ) = F ;
6) res(F, ¬F ) = 0.
Таким образом, по теореме о полноте метода резолюций множество S
противоречиво и, значит, данная секвенция доказуема. ¤
На практике для проверки существования резолютивного вывода нуля из
множества дизъюнктов S строим цепочку вложенных множеств S0 ⊂ S1 ⊂
⊂ . . . ⊂ Sk−1 ⊆ Sk , где S0 = S и Si+1 = Si ∪ {res(D, D0 ) | D, D0 ∈ Si }. Если
множество S противоречиво, то на некотором (заключительном) шаге полу-
чаем 0 ∈ Sk . В случае непротиворечивости множества S, в силу конечности
множества всех дизъюнктов, построенных из неповторяющихся переменных,
участвующих в S, на некотором (заключительном) шаге получаем Sk−1 = Sk .
Предложение 1.7.3. Для любой последовательности формул Γ, фор-
мул ϕ и ψ, а также литеры Aδ , δ ∈ {0, 1}, имеют место следующие рав-
носильности секвенций:
1) Γ, Aδ , A1−δ ∨ ϕ ` ! Γ, Aδ , ϕ `;
2) Γ, ϕ, ϕ ∨ ψ ` ! Γ, ϕ `;
3) Γ, Aδ ` ! Γ `, где пропозициональная переменная A не входит в Γ;
4) Γ, A ∨ ¬A ∨ ϕ ` ! Γ `. ¤
Дизъюнкт D, состоящий из одной позитивной (негативной) литеры, на-
зывается унитарным позитивным (негативным) дизъюнктом или просто
унитарным дизъюнктом. Унитарный позитивный дизъюнкт также называ-
ется фактом.
Согласно пункту 1 предложения 1.7.3 наличие унитарного дизъюнкта Aδ
позволяет удалять из остальных дизъюнктов данной секвенции все литеры
A1−δ . В силу пункта 2 этого предложения можно удалить из посылок все
дизъюнкты, содержащие Aδ , и затем по пункту 3 удаляем саму Aδ .
Пункт 4 показывает, что дизъюнкты, содержащие пары контрарных литер,
можно не использовать.
Во многих случаях предложение 1.7.3 упрощает проверку множества
дизъюнктов на противоречивость, так как позволяет уменьшать количество
дизъюнктов или количество вхождений переменных в эти дизъюнкты.
1.7. АЛГОРИТМЫ ПРОВЕРКИ ОБЩЕЗНАЧИМОСТИ 39
Применим предложение 1.7.3 для проверки доказуемости секвенции из
примера 1.7.4. Выполним равносильные преобразования секвенций:
¬A ∨ ¬B ∨ C, ¬C ∨ ¬D ∨ E, F ∨ D, F ∨ ¬E, A, B, ¬F ` !
! ¬B ∨ C, ¬C ∨ ¬D ∨ E, F ∨ D, F ∨ ¬E, B, ¬F ` !
! C, ¬C ∨ ¬D ∨ E, F ∨ D, F ∨ ¬E, ¬F ` !
! C, ¬C ∨ ¬D ∨ E, D, ¬E ` !
! ¬D ∨ E, D, ¬E ` !
! E, ¬E ` .
Так как res(E, ¬E) = 0, делаем вывод, что множество S противоречиво,
а это, как и выше, означает, что секвенция из примера 1.7.4 доказуема.
Двойственным к правилу резолюций является правило согласия. Пусть
K1 = K10 ∧ A, K2 = K20 ∧ ¬A — конъюнкты. Положим resA (K1 , K2 ) K10 ∧ K20 ,
res(A, ¬A) 1 (здесь 1 отождествляется с формулой A ∨ ¬A).
Пусть S = {K1 , K2 , . . . , Km } — множество конъюнктов. Последователь-
ность формул ϕ1 , ϕ2 , . . . , ϕn называется выводом из S по правилу согласия,
если для каждой формулы ϕi (i = 1, . . . , n) выполняется какое-то из следу-
ющих условий:
• ϕi ∈ S;
• существуют j, k < i такие, что ϕi = res(ϕj , ϕk ).
Теорема 1.7.4. Множество конъюнктов S = {K1 , K2 , . . . , Km } обще-
значимо (т. е. выполняется |= K1 ∨ K2 ∨ . . . ∨ Km ) тогда и только тогда,
когда существует вывод из S по правилу согласия, заканчивающийся сим-
волом 1. ¤
4. Метод резолюций для хорновских дизъюнктов
В общем случае метод резолюций неэффективен, так как количество пе-
реборов, которые необходимо сделать для получения ответа, экспоненциаль-
но зависит от числа переменных, содержащихся в дизъюнктах. Однако для
некоторых классов дизъюнктов, к которым относится класс так называемых
40 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
хорновских дизъюнктов, метод резолюций позволяет получить быстрый
ответ.
Дизъюнкт D называется хорновским, если он содержит не более одной
позитивной литеры.
Пример 1.7.5. Хорновскими дизъюнктами являются следующие
дизъюнкты: ¬A ∨ ¬B ∨ ¬C ∨ D, ¬A ∨ ¬B ∨ ¬Q, ¬A, B. ¤
Хорновские дизъюнкты имеют вид
¬A1 ∨ . . . ∨ ¬An ∨ B
(что эквивалентно формуле (A1 ∧ . . . ∧ An ) → B) или
¬A1 ∨ . . . ∨ ¬An .
Хорновский дизъюнкт вида ¬A1 ∨. . .∨¬An ∨B называется точным. При этом
переменные A1 , . . . , An называются посылками, а переменная B — целью.
Хорновский дизъюнкт вида ¬A1 ∨ . . . ∨ ¬An называется негативным.
Если S — множество хорновских дизъюнктов, то невыполнимость мно-
жества S проверяется следующим образом. Выбираем в S факт P и дизъ-
юнкт D из S, содержащий ¬P . После этого заменяем S на (S \ {D})∪
∪{res(D, P )} и продолжаем процесс до тех пор, пока S не будет содержать 0
или не найдется дизъюнктов P и D указанного вида. Если на заключитель-
ном шаге множество формул будет содержать 0, то исходное множество S
противоречиво, в противном случае S непротиворечиво.
В силу описанного алгоритма для противоречивости множества хорнов-
ских дизъюнктов S необходимо, чтобы S содержало хотя бы один факт и хо-
тя бы один негативный дизъюнкт.
Пример 1.7.6. Проверить на противоречивость множество дизъюнктов
S = {P ∨ ¬R ∨ ¬T, Q, R, T ∨ ¬P ∨ ¬R, T ∨ ¬Q, ¬P ∨ ¬Q ∨ ¬R}.
Для доказательства противоречивости запишем дизъюнкты из S в таб-
лицу и применим описанный алгоритм, записывая результат каждого сле-
дующего шага в таблицу. Литеры, использующиеся на данном шаге, будем
подчеркивать.
ЗАДАЧИ И УПРАЖНЕНИЯ 41
Номер
P ∨ ¬R ∨ ¬T Q R T ∨ ¬P ∨ ¬R T ∨ ¬Q ¬P ∨ ¬Q ∨ ¬R
шага .... .... ....
1 P ∨ ¬R ∨ ¬T Q R T ∨ ¬P ∨ ¬R T ¬P ∨ ¬R
.... .... .... ....
2 P ∨ ¬T Q R T ∨ ¬P T ¬P
.... ....
3 P Q R T ∨ ¬P T ¬P
.... ....
4 0
На шаге 4 получаем 0, являющийся резолютивным выводом из S. Следова-
тельно, множество S невыполнимо. ¤
Задачи и упражнения
1. Построить выводы секвенций в ИС:
а) ` (ϕ → ϕ);
б) (ϕ → ψ), (ψ → χ) ` (ϕ → χ);
в) ` (¬¬ϕ ↔ ϕ);
г) (ϕ → (ψ → χ)), (ϕ → ψ), ϕ ` χ;
д) (ϕ → ψ), ¬ψ ` ¬ϕ;
е) ϕ, ¬ψ ` ¬(ϕ → ψ);
ж) ` ((ϕ → ψ) ∨ (ψ → ϕ));
з) (ϕ → (ψ → χ)) ` (ψ → (ϕ → χ));
и) ` (ϕ → (ψ → χ)) ↔ (ϕ ∧ ψ → χ);
к) (ϕ → ψ) ` ((ψ → χ) → (ϕ → χ));
л) (ϕ → ψ) ` ((χ → ϕ) → (χ → ψ));
м) (ϕ → ψ) ` ((ϕ ∧ χ) → (ψ ∧ χ));
н) (ϕ → ψ) ` ((ϕ ∨ χ) → (ψ ∨ χ));
о) ϕ ` (¬ϕ → ψ);
п) (¬ϕ → ψ) ` (¬ψ → ϕ);
р) (¬ϕ → ¬ψ) ` (ψ → ϕ);
с) (ϕ → ψ), (ψ → ϕ) ` (ϕ ↔ ψ);
т) (ϕ ↔ ψ) ` (ϕ → ψ);
42 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
у) (ϕ ↔ ψ) ` (ψ → ϕ);
ф) (ϕ ↔ ψ), ψ ` ϕ;
х) ` (ϕ ↔ ϕ);
ц) (ϕ ↔ ψ), (ψ ↔ χ) ` (ϕ ↔ χ);
ч) (ϕ ↔ ψ) ` (ψ ↔ ϕ);
ш) (ϕ ↔ ψ) ` (¬ϕ ↔ ¬ψ);
щ) (ϕ ↔ ψ) ` ((ϕ ∧ χ) ↔ (χ ∧ ψ));
ы) (ϕ ↔ ψ) ` ((ϕ ∨ χ) ↔ (χ ∨ ψ));
э) (ϕ ↔ ψ) ` ((ϕ ∧ χ) → (ψ ∨ χ));
ю) (ϕ ↔ ψ) ` ((ϕ → χ) ↔ (ψ → χ));
я) (ϕ ↔ ψ) ` ((χ → ϕ) ↔ (χ → ψ)).
2. Доказать допустимость правил а) — о) из предложения 1.2.1.
3. Доказать эквивалентности а) — з) из леммы 1.4.1.
4. Доказать выводимость в ИВ:
а) (ϕ → ψ), (ψ → χ) ` (ϕ → χ);
б) (ϕ → (ψ → χ)) ` (ψ → (ϕ → χ));
в) (ϕ → (ψ → χ)) ` ((ϕ ∧ ψ) → χ);
г) (ϕ → ψ) ` ((ϕ ∧ χ) → (ψ ∧ χ));
д) (ϕ → ψ) ` ((ϕ ∨ χ) → (ψ ∨ χ));
е) ¬ϕ ` (ϕ → ψ).
5. Выводимы ли в ИВ следующие формулы:
а) ((A ∨ B) → (A ∧ C));
б) (((A → B) → B) → A);
в) (((A → B) → B) → B);
г) (¬(A ∨ ¬A) → (A ∨ ¬A));
д) (A → ¬(A → ¬A));
е) ((A → B) → (B → A))?
ЗАДАЧИ И УПРАЖНЕНИЯ 43
6. С помощью алгоритма Квайна и алгоритма редукции доказать тождествен-
ную истинность аксиом ИВ.
7. С помощью алгоритма Квайна и алгоритма редукции проверить общезначи-
мость следующих формул:
а) ((A → B) → (B → A));
б) ((A ∨ B) → ((¬A ∧ B) ∨ (¬B ∧ A))).
8. Методом резолюций проверить следующие соотношения:
а) (¬A ∨ C), (C → B), (B → A) ` (A → (B → C));
б) ((A ∨ C) → B), (C → (A ∨ B)), ((B ∧ C) → (A ∨ ¬B)) ` (B → C);
в) (B → (C ∧ D)), (A → B), (D → (A ∨ ¬C)) ` (A ∨ D);
г) (A ∨ B), (A → (B ∨ C)), (C → (¬A ∨ D)), (B → ¬D) ` A;
д) ((A → B) → C), ((A → ¬B) → D), (¬D → ¬A), (¬D → B) ` (A → ¬D);
е) (A → (B ∧ C)), ¬(¬C → E), (D → (B ∧ E)), (G → ¬A), ((H → J) →
→ (G ∧ D)) ` (H → J);
ж) (A → B), (B → D), (C → D), (¬C → A), (E → G), (G → ¬D), (¬E → E) `
` (A → ¬D);
з) (A ∨ ¬G), ((A ∨ B) → (C ∧ D)), ((D ∨ E) → G) ` (B → (C ∧ D));
и) (A → ¬(B ∧ C)), ((D ∨ E) → G), (G → ¬(H ∨ J)), (¬C ∧ E), H ` (A →
→ (B ∨ D));
к) (A → B), (A ∨ C), (C → D) ` (B ∧ D);
л) (A → B), (C → D), (A → C), (B → E), (D → F ), ¬(E ∧ F ) ` ¬A;
м) (A → (B ∧ C)), (¬B ∨ D), ((E → ¬F ) → ¬D), (B → (A ∧ ¬E)) ` (B → E);
н) ((A ∨ B) → (C ∧ D)), ((D ∨ E) → F ) ` (A → F );
о) (A → (B → C)), ((C ∧ D) → E), (¬F → (D ∧ ¬E)) ` (A → (B → F ));
п) (¬A ∨ B), (C → ¬B) ` (A → ¬C);
р) (A → (C → B)), (A ∨ ¬D), C ` (D → B);
с) ((A ∧ B) ∨ (C ∧ D)), (A → ¬A) ` C;
т) (A → B), (C → B), (D → A ∨ C) ` B;
у) (A → B), ¬(B ∨ C), (D → ¬(B ∨ C)) ` ¬D;
44 Глава 1. ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ
ф) (A → (B → C)), B, (¬D ∨ A) ` (D → C);
х) ((A ∨ B) → D), (D → (C ∨ E)), (E → F ), (¬C ∧ ¬F ) ` ¬A;
ц) (A → B), (C → (A ∨ B)), (¬C → ¬(A ∧ B)) ` ¬(A ∧ B);
ч) (A → B), (C → (A ∨ D)), (¬B → (C ∨ D)), (¬D → ¬(A ∧ C)) `
` (A ∧ B ∧ D);
ш) (A ∨ B), (C → (A ∨ B)), ((B ∧ C) → (A ∨ D)), (D → (B ∨ C)), (B →
→ (C ∨ D)) ` (¬A ∧ C ∧ ¬D);
щ) (A ∨ B), (¬C → ¬(A ∧ B)), (C → B), (¬D → C) ` (A ∧ C ∧ ¬D);
ы) (A → B), (C → (A ∨ B)), (A → (¬B ∨ C)), (¬B → ¬C) ` ¬((¬C ∧ ¬D) →
→ ¬B);
э) (D → (B ∨ C)), (C → (A ∨ B)), (C → (A ∨ D)), (A → (C ∨ D)) `
` (¬A ∧ C ∧ ¬D);
ю) (¬C → (¬A ∨ D)), (A → (C ∨ ¬D)), (¬A → (¬C ∨ D)), (B → (A ∨ D)) ` D;
я) (B → D), (C → A), (C → (A ∨ D)), (C → (¬A ∨ D)) ` ¬(C → (A ∨ D)).
9. Проверить на противоречивость множество хорновских дизъюнктов:
а) {A ∨ ¬B ∨ ¬C ∨ ¬D, B, ¬A ∨ B ∨ ¬C, C, ¬B ∨ D};
б) {¬A ∨ B ∨ ¬C ∨ ¬D, A ∨ ¬C ∨ ¬E, ¬A ∨ B ∨ ¬E, C, E};
в) {A, B, ¬D, ¬A ∨ ¬B ∨ C, ¬C ∨ D};
г) {¬A, ¬B, C, D, B ∨ ¬E, ¬C ∨ ¬D ∨ E}.
Глава 2
ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
В построенной выше логике высказываний в качестве исходных элемен-
тов рассматриваются некоторые элементарные высказывания, из которых
строятся более сложные высказывания, называемые формулами. При этом
не анализируются структура и состав высказываний, а учитываются лишь
значения истины или лжи, которые они могут принимать. Однако имеется
много мыслей, которые не могут быть рассмотрены таким простым спосо-
бом. Например, приведем следующее умозаключение:
• Каждый человек смертен;
• Сократ — человек, следовательно, он смертен.
Очевидно, рассмотренное рассуждение интуитивно корректно. Однако,
введя следующие обозначения:
P : Каждый человек смертен,
Q: Сократ — человек,
R: Сократ смертен,
мы получаем формулу P ∧ Q → R, которая не доказуема в ИВ. Указан-
ное несоответствие между утверждениями имеет место потому, что в логике
высказываний не используется структура высказываний P , Q и R. В этой
главе мы введем логику предикатов (логику первого порядка) и исчисления
предикатов, которые позволяют преодолевать подобные трудности и дают
возможность проводить формализацию бо́льшей части повседневного и ма-
тематического языка. Аналогично исчислению секвенций и исчислению вы-
сказываний мы будем рассматривать два их расширения — секвенциальное
исчисление предикатов данной сигнатуры Σ (ИПСΣ ) и исчисление предика-
тов гильбертовского типа ИПΣ . Построение исчислений предикатов данной
сигнатуры мы начнем с понятий синтаксиса и семантики формулы.
46 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
§ 2.1. Формулы сигнатуры Σ. Истинность формулы
на алгебраической системе
Зафиксируем некоторую сигнатуру Σ и счетное множество V =
= {vi | i ∈ ω}, элементы которого будем называть переменными и обозначать
буквами x, y и z, возможно, с индексами. Алфавит исчисления предикатов
сигнатуры Σ (ИПΣ ) состоит из следующих групп символов:
1. Предикатные и функциональные символы, образующие сигнатуру Σ.
2. Символы переменных, составляющие множество V .
3. Символ равенства: ≈.
4. Логические связки: ¬, ∧, ∨, →.
5. Кванторы: ∀, ∃.
6. Вспомогательные символы: левая скобка (, правая скобка ), запятая ,.
Обозначим через T (Σ) множество всех термов сигнатуры Σ (определение
см. в § 2.3∗ ), в определении которых используются лишь переменные из V .
Очевидно, любой терм из T (Σ) является словом алфавита ИПΣ .
Введем понятие атомарной формулы сигнатуры Σ:
1) если t1 , t2 ∈ T (Σ), то (t1 ≈ t2 ) — атомарная формула;
2) если P (n) ∈ Σ — предикатный символ, t1 , t2 , . . . , tn ∈ T (Σ), то
P (t1 , t2 , . . . , tn ) — атомарная формула;
3) никаких атомарных формул, кроме построенных по пп. 1, 2, нет.
Формула сигнатуры Σ определяется следующим образом:
1) атомарная формула есть формула;
2) если ϕ, ψ — формулы и x ∈ V , то ¬ϕ, (ϕ ∧ ψ), (ϕ ∨ ψ), (ϕ → ψ), ∀x ϕ,
∃x ϕ — формулы;
3) никаких формул, кроме построенных по пп. 1, 2, нет.
Символы ∀, ∃, использованные в определении, называются соответствен-
но квантором всеобщности и квантором существования. Запись ∀x (со-
ответственно ∃x) читается “для всех x” (“существует x”). Все соглашения
относительно расстановок скобок, принятые в § 6.1∗ , остаются в силе и
для формул логики предикатов. Кроме того, вместо записей ∀x1 . . . ∀xn ϕ
и ∃x1 . . . ∃xn ϕ будем использовать записи ∀x1 , . . . , xn ϕ и ∃x1 , . . . , xn ϕ. Фор-
мула ϕ сигнатуры Σ называется бескванторной, если она не содержит кван-
торов.
2.1. ФОРМУЛЫ СИГНАТУРЫ Σ. ИСТИННОСТЬ ФОРМУЛЫ 47
Пример 2.1.1. 1. Рассмотрим предикатную сигнатуру Σ = {Q(1) , R(1) ,
P (1) , меньше(2) } со следующими интерпретациями:
• Q(x) ⇔ x — рациональное число;
• R(x) ⇔ x — вещественное число;
• P (x) ⇔ x — простое число;
• меньше(x, y) ⇔ x < y.
Формула ∀x (Q(x) → R(x)) означает, что любое рациональное число яв-
ляется вещественным, а формула ∀x∃y (меньше(x, y) ∧ P (y)) — для любого
элемента x найдется бо́льший элемент y, являющийся простым числом.
2. Рассмотрим сигнатуру Σ = {A(1) , B (1) , Сократ(0) } со следующими ин-
терпретациями:
• A(x) ⇔ x — человек;
• B(x) ⇔ x смертен;
• константный символ “Сократ” — известный древнегреческий философ.
Формула ∀x (A(x) → B(x)) читается как “Каждый человек смертен”,
а формула A(Сократ) → B(Сократ) означает, что Сократ смертен, если
он является человеком.
3. Любая бескванторная формула сигнатуры нульместных предикатов
может рассматриваться как формула исчисления высказываний. Например,
таковой является формула A ∨ B → ¬C сигнатуры Σ = {A(0) , B (0) , C (0) }. ¤
Определим множество SF(ϕ) подформул формулы ϕ сигнатуры Σ:
1) если ϕ — атомарная формула, то ϕ — ее единственная подформула
и SF(ϕ) = {ϕ};
2) если ϕ имеет вид ¬ϕ1 , или ∀x ϕ1 , или ∃x ϕ1 , то подформула форму-
лы ϕ — это либо ϕ, либо подформула формулы ϕ1 и SF(ϕ) = SF(ϕ1 ) ∪ {ϕ};
3) если ϕ имеет вид (ϕ1 ∧ ϕ2 ), (ϕ1 ∨ ϕ2 ) или (ϕ1 → ϕ2 ), то подформула
формулы ϕ — это либо ϕ, либо подформула формулы ϕ1 , либо подформула
формулы ϕ2 и SF(ϕ) = SF(ϕ1 ) ∪ SF(ϕ2 ) ∪ {ϕ}.
Пример 2.1.2. Пусть ϕ ∀x (∃y (x ≈ F (z, y)) ∨ ¬P (z)) — форму-
ла сигнатуры Σ = {F (2) , P (1) }. Тогда ∀x (∃y (x ≈ F (z, y)) ∨ ¬P (z)),
∃y (x ≈ F (z, y)) ∨ ¬P (z), ∃y (x ≈ F (z, y)), (x ≈ F (z, y)), ¬P (z), P (z) — все
подформулы формулы ϕ. ¤
Каждое вхождение квантора ∀ (∃) в данную формулу ϕ однозначно опре-
деляет некоторое вхождение ∀x ψ (∃x ψ) подформулы из SF(ϕ), первым
48 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
символом которого является рассматриваемое вхождение соответствующе-
го квантора. Формула ∀x ψ (∃x ψ), связанная с вхождением квантора ∀ (∃),
называется областью действия этого вхождения квантора ∀ (квантора ∃).
Заметим, что в записи формулы возможно наложение области действия
вхождения одного квантора с данной переменной на область дей-
ствия другого квантора с той же самой переменной. Например, в формуле
∀x (P2 (x, y) → ∃x P1 (x)) вхождение переменной x в P1 (x) находится одновре-
менно под кванторами ∀x и ∃x. Поскольку число переменных, образующих
множество V , бесконечно, мы будем избегать подобных коллизий введением
новых переменных для меньших областей действия вхождений кванторов.
Так, вместо формулы ∀x (P2 (x, y) → ∃x P1 (x)) будет рассматриваться, на-
пример, формула ∀x (P2 (x, y) → ∃z P1 (z)).
Говорят, что вхождение переменной x в формулу ϕ связано в ϕ, если оно
находится в области действия некоторого вхождения квантора в формулу ϕ,
имеющую вид ∀x ψ или ∃x ψ; в противном случае это вхождение называет-
ся свободным в ϕ. Переменная x называется свободной (связанной), если
некоторое вхождение x в ϕ свободно (связано).
Пример 2.1.3. Рассмотрим следующие формулы сигнатуры S =
(1) (2)
= {P1 , P2 }:
• ¬P1 (x);
• P2 (x, y) → ∀x P1 (x);
• ∀x (P2 (x, y) → P1 (x)).
Переменная x в первой формуле является свободной, во второй — и сво-
бодной, и связанной, в третьей — связанной. Переменная y во всех формулах
свободна. ¤
Предложением, или замкнутой формулой, сигнатуры Σ называется фор-
мула сигнатуры Σ, не имеющая свободных переменных.
Пример 2.1.4. Формула ∀x, y (x + y ≈ y + x) является предложением
сигнатуры {+}, формула ∃z∀x (∃y P2 (x, y) → ¬P1 (x)) — предложением
(1) (2)
сигнатуры {P1 , P2 }, а формула ∀x (P2 (x, y) → P1 (x)) предложением
не является. ¤
Запись ϕ(x1 , . . . , xn ) будет означать, что все свободные переменные фор-
мулы ϕ содержатся в множестве {x1 , . . . , xn }.
2.1. ФОРМУЛЫ СИГНАТУРЫ Σ. ИСТИННОСТЬ ФОРМУЛЫ 49
Дадим индуктивное определение истинности формулы ϕ(x1 , . . . , xn )
сигнатуры Σ на элементах a1 , . . . , an ∈ A в алгебраической системе A =
= hA; Σi (запись A |= ϕ(a1 , . . . , an ) будет означать, что формула ϕ истинна
на элементах a1 , . . ., an ∈ A в системе A):
1) если t1 , t2 ∈ T (Σ), то A |= (t1 (a1 , . . . , an ) ≈ t2 (a1 , . . . , an )) ⇔ значения
термов t1 и t2 в системе A на элементах a1 , . . . , an ∈ A совпадают;
2) если P (k) — предикатный символ сигнатуры Σ, t1 , . . ., tk ∈ T (Σ), то
A |= P (t1 (a1 , . . . , an ), . . . , tk (a1 , . . . , an )) ⇔
⇔ ht1 (a1 , . . . , an ), . . . , tk (a1 , . . . , an )i ∈ PA ;
3) A |= (ψ(a1 , . . . , an ) ∧ χ(a1 , . . . , an )) ⇔
A |= ψ(a1 , . . . , an ) и A |= χ(a1 , . . . , an );
4) A |= (ψ(a1 , . . . , an ) ∨ χ(a1 , . . . , an )) ⇔
A |= ψ(a1 , . . . , an ) или A |= χ(a1 , . . . , an );
5) A |= (ψ(a1 , . . . , an ) → χ(a1 , . . . , an )) ⇔
если A |= ψ(a1 , . . . , an ), то A |= χ(a1 , . . . , an );
6) A |= ¬ψ(a1 , . . . , an ) ⇔ неверно, что A |= ψ(a1 , . . . , an );
7) A |= ∀x ψ(x, a1 , . . . , an ) ⇔ A |= ψ(a, a1 , . . . , an ) для любого a ∈ A;
8) A |= ∃x ψ(x, a1 , . . . , an ) ⇔ A |= ψ(a, a1 , . . . , an ) для некоторого a ∈ A.
Если не выполняется A |= ϕ(a1 , . . . , an ), то будем говорить, что формула
ϕ ложна на элементах a1 , . . . , an в системе A, и писать A 6|= ϕ(a1 , . . . , an ).
Пример 2.1.5. Рассмотрим формулу ϕ(x, y) функциональной сиг-
натуры {+(2) , 0(0) }, имеющую вид (x + y ≈ 0). Для алгебраической
системы A = hZ; +, 0i тогда и только тогда имеет место A |= ϕ(m, n), когда
m = −n. Для формулы ψ(x) ∃y (x + y ≈ 0) справедливо A |= ψ(n) при
любом целом n, поскольку у любого целого числа имеется ему противопо-
ложное целое число. Следовательно, A |= ∀x∃y (x + y ≈ 0). Отметим, что
A 6|= ∃y∀x (x + y ≈ 0), так как нет единого целого числа, противоположного
всем целым числам. ¤
50 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Пример 2.1.6. 1. Записать формулу ϕ(x), истинную в hω; +, ·i тогда
и только тогда, когда x четно.
Искомая формула ϕ(x) имеет, например, вид ∃y (x ≈ y + y).
2. Записать формулу ϕ0 (x, y, z), истинную в hω; +, ·i тогда и только тогда,
когда z — наименьшее общее кратное чисел x и y.
Положим ϕ0 (x, y, z) ψ(x, y, z) ∧ χ(x, y, z), где формула ψ “говорит”
о том, что z делится на x и на y, а формула χ “говорит” о том, что z делит
все общие кратные x и y, т. е. является наименьшим из всех общих кратных:
ψ ∃u, v ((z ≈ u · x) ∧ (z ≈ v · y)),
χ ∀w (∃u, v ((w ≈ u · x) ∧ (w ≈ v · y)) → ∃w1 (w ≈ w1 · z)).
Итак, ϕ0 (x, y, z) имеет вид
∃u, v ((z ≈ u · x) ∧ (z ≈ v · y))∧
∧∀w (∃u, v ((w ≈ u · x) ∧ (w ≈ v · y)) → ∃w1 (w ≈ w1 · z)). ¤
Формула ϕ(x1 , . . . , xn ) сигнатуры Σ называется тождественно истин-
ной или общезначимой (тождественно ложной или противоречивой), если
для любой алгебраической системы A = hA; Σi и любого кортежа элементов
(a1 , . . . , an ) ∈ An выполнено A |= ϕ(a1 , . . . , an ) (A 6|= ϕ(a1 , . . . , an )). Если ϕ —
тождественно истинное предложение, то пишем |= ϕ.
Формула ϕ(x1 , . . . , xn ) называется выполнимой в системе A, если
A |= ϕ(a1 , . . . , an ) для некоторых a1 , . . . , an ∈ A.
Пример 2.1.7. 1. Формула (x ≈ x) общезначима, поскольку A |= (a ≈ a)
для любой системы A = hA; Σi и любого элемента a ∈ A. По этой же
причине формула ¬(x ≈ x) тождественно ложна.
2. Формула ϕ ∀x∃y (x + y ≈ 0) выполнима, но не общезначима, по-
скольку hZ; +, 0i |= ∀x∃y (x + y ≈ 0) и hN; +, 0i 6|= ∀x∃y (x + y ≈ 0). Тем
самым предложение ϕ описывает одно из характерных свойств, отличаю-
щих систему hZ; +, 0i от системы hN; +, 0i.
3. Формула ϕ ∀x, y (x · y ≈ y · x) выполнима, но не тождественно
истинна, так как hZ; ·i |= ϕ, а hM2 (Z); ·i 6|= ϕ, где M2 (Z) — множество матриц
порядка 2 с элементами из Z.
2.1. ФОРМУЛЫ СИГНАТУРЫ Σ. ИСТИННОСТЬ ФОРМУЛЫ 51
4. Определим выполнимость формулы ϕ(y) ¬∃x (P (x) ∧ Q(x, y)) в си-
стеме A = h{1, 2}; P, Qi, где P = {1}, Q = {(1, 1), (1, 2)}. Составим таблицу
истинности предикатов P и Q:
P (1) P (2) Q(1, 1) Q(1, 2) Q(2, 1) Q(2, 2)
,
1 0 1 1 0 0
где P (a) = 1 ⇔ A |= P (a), Q(a, b) = 1 ⇔ A |= Q(a, b). По таблице истинности
предикатов P и Q составляем таблицу истинности формулы P (x) ∧ Q(x, y):
x y P (x) ∧ Q(x, y)
1 1 1
1 2 1 ,
2 1 0
2 2 0
из которой следует, что A |= ∃x (P (x)∧Q(x, 1)), поскольку A |= P (1)∧Q(1, 1),
а также A |= ∃x (P (x) ∧ Q(x, 2)), так как A |= P (1) ∧ Q(1, 2). Таким образом,
A |= ¬ϕ(1) и A |= ¬ϕ(2), т. е. A 6|= ϕ(1) и A 6|= ϕ(2). Следовательно, формула
ϕ не выполнима в системе A.
5. Докажем выполнимость формулы ∃x, y, u, v (P (x, y) ∧ ¬P (u, v)) преди-
катной сигнатуры Σ = {P (2) }.
Действительно, рассмотрим двухэлементную алгебраическую систему
A = h{a, b}; P i c интерпретацией P = {(a, b)}. Тогда по определению выпол-
няется A |= P (a, b) и A 6|= P (b, a), т. е. A |= P (a, b) ∧ ¬P (b, a). Тем самым
в системе A истинна формула ϕ(x, y, u, v) P (x, y) ∧ ¬P (u, v) на наборе
элементов (a, b, b, a). Тогда A |= ∃x, y, u, v (P (x, y) ∧ ¬P (u, v)), т. е. данная
формула выполнима. ¤
Как и раньше, для формул ϕ и ψ через (ϕ ↔ ψ) будем обозначать фор-
мулу (ϕ → ψ) ∧ (ψ → ϕ).
Предложение 2.1.1. 1. Для любой формулы ϕ сигнатуры Σ следующие
формулы общезначимы:
а) ∀x ¬ϕ ↔ ¬∃x ϕ;
б) ∃x ¬ϕ ↔ ¬∀x ϕ;
в) ∀x, y ϕ ↔ ∀y, x ϕ;
г) ∃x, y ϕ ↔ ∃y, x ϕ;
д) ∃x∀y ϕ → ∀y∃x ϕ.
2. Для любой формулы ϕ сигнатуры Σ формула ∀x ϕ ∧ ∃x ¬ϕ противо-
речива. ¤
52 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
1• -• 2
@
I ¡
@ ¡
@•¡
ª
3
Рис. 2.1
Заметим, что на основании примера 2.1.5 общезначимость формулы
∀y∃x ϕ → ∃x∀y ϕ в общем случае утверждать нельзя. В следующем примере
также иллюстрируется отсутствие общезначимости указанной формулы для
случая ϕ = P (x, y).
Пример 2.1.8. В графе A = hA; P i = h{1, 2, 3}; {(1, 2), (2, 3), (3, 1)}i
(рис. 2.1) выполнимо A |= ∀y ∃x P (x, y), но A 6|= ∃x ∀y P (x, y). ¤
Следующая теорема позволяет создавать общезначимые и противоречи-
вые формулы на основе формул ИВ.
Теорема 2.1.2. Пусть ϕ(A1 , . . . , An ) — общезначимая (противоречи-
вая) формула ИВ, ϕ1 , . . . , ϕn — формулы сигнатуры Σ. Тогда в результате
подстановки формул ϕ1 , . . . , ϕn вместо всех соответствующих вхождений
пропозициональных переменных A1 , . . . , An образуется общезначимая (про-
тиворечивая) формула ϕ(ϕ1 , . . . , ϕn ) сигнатуры Σ.
Доказательство. Нетрудно заметить, что если ϕ(A1 , . . . , An ) — об-
щезначимая (противоречивая) формула ИВ, то при любых значениях ис-
тинности формул ϕ1 , . . . , ϕn на элементах алгебраической системы формула
ϕ(ϕ1 , . . . , ϕn ) будет истинной (ложной) на тех же элементах. ¤
Теорема 2.1.3. Если f — изоморфизм системы A на систему B,
ϕ(x1 , . . . , xn ) — формула сигнатуры системы A, то для любых a1 , . . . , an ∈ A
свойство A |= ϕ(a1 , . . . , an ) эквивалентно свойству B |= ϕ(f (a1 ), . . . , f (an )).
Доказательство легко проводится индукцией по числу шагов построе-
ния формулы ϕ. При этом для атомарной формулы ϕ утверждение следует
непосредственно из определения изоморфизма. ¤
Множество формул Γ сигнатуры Σ с множеством свободных перемен-
ных X называется выполнимым, если существует система M = hM ; Σi,
элементы ax ∈ M для каждого x ∈ X такие, что для любой формулы
ϕ(x1 , . . . , xn ) ∈ Γ выполнимо M |= ϕ(ax1 , . . . , axn ). Система M называется
моделью множества формул Γ, и этот факт обозначается через M |= Γ.
2.2. СЕКВЕНЦИАЛЬНОЕ ИСЧИСЛЕНИЕ ПРЕДИКАТОВ 53
Пример 2.1.9. Рассмотрим следующее множество формул сигнату-
ры {≤}, описывающих линейные порядки:
Γlo {∀x (x ≤ x), ∀x, y, z (((x ≤ y) ∧ (y ≤ z)) → (x ≤ z)),
∀x, y (((x ≤ y) ∧ (y ≤ x)) → (x ≈ y)), ∀x, y ((x ≤ y) ∨ (y ≤ x))}.
Очевидно, что множество Γlo имеет как конечные, так и бесконечные модели.
Например, h{0}; ≤i |= Γlo , где ≤ = {(0, 0)}, hN; ≤i |= Γlo . Добавив к множе-
ству Γlo две формулы ∃x, y ¬(x ≈ y) и
∀x, y(((x ≤ y) ∧ ¬(x ≈ y)) → ∃z ((x ≤ z) ∧ ¬(x ≈ z) ∧ (z ≤ y) ∧ ¬(z ≈ y))),
получаем множество Γdlo , описывающее бесконечные плотные линейные по-
рядки. Моделями множества Γdlo являются в точности бесконечные линейно
упорядоченные множества, у которых между любыми двумя различными
элементами имеется некоторый промежуточный. Примерами таких моделей
служат hQ; ≤i и hR; ≤i. ¤
§ 2.2. Секвенциальное исчисление предикатов
Зафиксируем некоторую произвольную сигнатуру Σ и определим секвен-
циальное исчисление предикатов сигнатуры Σ (ИПСΣ ).
Алфавит ИПСΣ получается из алфавита ИПΣ добавлением символа сле-
дования `, т. е. A(ИПСΣ ) = Σ ∪ V ∪ {≈, ¬, ∧, ∨, →, ∀, ∃, (, ), , , `}. Формулами
ИПСΣ будут формулы сигнатуры Σ.
Секвенциями ИПСΣ называются конечные последовательности следую-
щих двух видов, где ϕ1 , . . . , ϕn , ψ — формулы ИПСΣ :
ϕ1 , . . . , ϕn ` ψ; ϕ1 , . . . , ϕ n ` .
Примем следующие соглашения. Пусть x1 , . . . , xn — переменные,
t1 , . . . , tn — термы сигнатуры Σ и ϕ — формула сигнатуры Σ. Запись (ϕ)tx11,...,t
,...,xn
n
будет обозначать результат подстановки термов t1 , . . . , tn вместо всех сво-
бодных вхождений в ϕ переменных x1 , . . . , xn соответственно, причем, ес-
ли в тексте встречается запись (ϕ)xt11,...,t
,...,xn
n
, то предполагается, что для всех
54 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
i = 1, . . . , n ни одно свободное вхождение в ϕ переменной xi не входит в под-
формулу ϕ вида ∀y ϕ1 или ∃y ϕ1 , где y — переменная, входящая в ti . Вме-
сто записи (ϕ)xt11,...,t
,...,xn
n
мы будем иногда писать ϕ(t1 , . . . , tn ). При этом, наряду
с тем, что переменные x1 , . . . , xn в записи ϕ(x1 , . . . , xn ) будут всегда предпо-
лагаться попарно различными, среди t1 , . . . , tn могут быть равные термы.
Пример 2.2.1. 1. Обозначим через ϕ формулу ∃x R(x, y, z), через t1 —
терм F1 (y, z, u), через t2 — терм F2 (F3 (z), w). Результат подстановки (ϕ)y,z t1 ,t2
равен ∃x R(x, F1 (y, z, u), F2 (F3 (z), w)), а результат подстановки (ϕ)y,z
t1 ,t1 равен
∃x R(x, F1 (y, z, u), F1 (y, z, u)). Заметим, что результат последовательной под-
становки может не совпадать с результатом одновременной подстановки. На-
пример, формула ((ϕ)yt1 )zt2 равна ∃x R(x, F1 (y, F2 (F3 (z), w), u), F2 (F3 (z), w))
и не совпадает с формулой (ϕ)y,z t1 ,t2 .
2. Для формулы ϕ = ∃x R(x, y, z) и терма t = F (y, x, u) запись (ϕ)yt недо-
пустима, поскольку после подстановки терма t вместо свободной перемен-
ной y в формуле ϕ вхождение переменной x в терм t становится связанным:
∃x R(x, F (y, x, u), z). ¤
Аксиомами ИПСΣ являются следующие секвенции:
1) ϕ ` ϕ, где ϕ — формула сигнатуры Σ;
2) ` (x ≈ x), где x — переменная;
3) (t1 ≈ q1 ), . . . , (tn ≈ qn ), (ϕ)xt11,...,t
,...,xn
n
` (ϕ)qx11,...,q
,...,xn
n
, где t1 , . . ., tn , q1 , . . . , qn —
термы сигнатуры Σ, ϕ — формула, удовлетворяющая условиям на записи
(ϕ)xt11,...,t
,...,xn
n
и (ϕ)xq11,...,q
,...,xn
n
.
Правила вывода ИПСΣ задаются следующими записями, где Γ, Γ1 — про-
извольные (возможно, пустые) конечные последовательности формул ИПСΣ ,
ϕ, ψ, χ — произвольные формулы ИПСΣ .
Γ ` ϕ; Γ ` ψ
1. (введение ∧).
Γ ` (ϕ ∧ ψ)
Γ ` (ϕ ∧ ψ)
2. (удаление ∧).
Γ`ϕ
Γ ` (ϕ ∧ ψ)
3. (удаление ∧).
Γ`ψ
Γ`ϕ
4. (введение ∨).
Γ ` (ϕ ∨ ψ)
2.2. СЕКВЕНЦИАЛЬНОЕ ИСЧИСЛЕНИЕ ПРЕДИКАТОВ 55
Γ`ψ
5. (введение ∨).
Γ ` (ϕ ∨ ψ)
Γ, ϕ ` ψ; Γ, χ ` ψ; Γ ` (ϕ ∨ χ)
6. (удаление ∨, или правило разбора двух
Γ`ψ
случаев).
Γ, ϕ ` ψ
7. (введение →).
Γ ` (ϕ → ψ)
Γ ` ϕ; Γ ` (ϕ → ψ)
8. (удаление →).
Γ`ψ
Γ, ¬ϕ `
9. (удаление ¬, или доказательство от противного).
Γ`ϕ
Γ ` ϕ; Γ ` ¬ϕ
10. (выведение противоречия).
Γ`
Γ, ϕ, ψ, Γ1 ` χ
11. (перестановка посылок).
Γ, ψ, ϕ, Γ1 ` χ
Γ`ϕ
12. (утончение, или правило лишней посылки).
Γ, ψ ` ϕ
Γ`ϕ
13. , где переменная x не входит свободно в формулы из Γ (вве-
Γ ` ∀x ϕ
дение ∀ справа).
Γ, (ϕ)xt ` ψ
14. (введение ∀ слева).
Γ, ∀x ϕ ` ψ
Γ ` (ϕ)xt
15. (введение ∃ справа).
Γ ` ∃x ϕ
Γ, ϕ ` ψ
16. , где переменная x не входит свободно в ψ и в формулы
Γ, ∃x ϕ ` ψ
из Γ (введение ∃ слева).
Понятия линейного доказательства в ИПСΣ , доказательства в виде дере-
ва в ИПСΣ , доказуемой в ИПСΣ секвенции (теоремы ИПСΣ ) и доказуемой
в ИПСΣ формулы определяются согласно общим понятиям доказательства
на основе аксиом 1–3 и правил вывода 1–16. В качестве непосредственного
следствия предложения 1.1.1 справедливо следующее предложение.
Предложение 2.2.1. Секвенция S имеет доказательство в ИПСΣ в ви-
де дерева тогда и только тогда, когда S — теорема ИПСΣ .
56 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Пример 2.2.2. Приведем доказательство в виде дерева секвенции
∃x∀y ϕ(x, y) ` ∀y∃x ϕ(x, y)
для любой формулы ϕ(x, y):
ϕ(x, y) ` ϕ(x, y)
15
ϕ(x, y) ` ∃x ϕ(x, y)
14
∀y ϕ(x, y) ` ∃x ϕ(x, y)
13
∀y ϕ(x, y) ` ∀y∃x ϕ(x, y)
16 . ¤
∃x∀y ϕ(x, y) ` ∀y∃x ϕ(x, y)
Следующая теорема является синтаксическим аналогом теоремы 2.1.2
и позволяет преобразовывать доказуемые формулы ИС в доказуемые фор-
мулы ИПСΣ .
Теорема 2.2.2. Пусть ϕ(A1 , . . . , An ) — доказуемая формула исчисле-
ния ИС, ϕ1 , . . . , ϕn — формулы сигнатуры Σ. Тогда в результате подста-
новки формул ϕ1 , . . . , ϕn вместо всех соответствующих вхождений пропо-
зициональных переменных A1 , . . . , An образуется доказуемая в ИПСΣ фор-
мула ϕ(ϕ1 , . . . , ϕn ).
Доказательство. Пусть D — дерево доказательства секвенции
` ϕ(A1 , . . . , An ) в ИС. Тогда, заменяя в дереве D переменные A1 , . . . , An со-
ответственно на ϕ1 , . . . , ϕn , а остальные пропозициональные переменные —
на формулу (x ≈ x), получаем дерево D1 , являющееся деревом доказатель-
ства секвенции ` ϕ(ϕ1 , . . . , ϕn ) в ИПСΣ . ¤
Предложение 2.2.3. Для любой формулы ϕ, удовлетворяющей услови-
ям на запись (ϕ)xt11,...,t
,...,xn
n
, в ИПСΣ доказуемы следующие секвенции:
а) ∀x1 , . . . , xn ϕ ` (ϕ)xt11,...,t
,...,xn
n
;
x1 ,...,xn
б) (ϕ)t1 ,...,tn ` ∃x1 , . . . , xn ϕ.
Доказательство. Докажем пункт а). Пусть y1 , . . ., yn — переменные,
не входящие ни в формулу ϕ, ни в термы t1 , . . . , tn и отличные от x1 , . . . , xn .
Рассмотрим формулу ψ (ϕ)xy11,...,y ,...,xn
n
. Очевидно, что любая одновременная
замена переменных yi в формуле ψ на термы t¡i совпадает с их последо-
y ,...,yk−1 ¢yk
вательной заменой. Более того, равны формулы ∀yk+1 , . . . , yn (ψ)t11,...,tk−1 tk
и ∀yk+1 , . . . , yn (ψ)yt11,...,t
,...,yk
k
и выполнены все условия на записи этих формул.
2.2. СЕКВЕНЦИАЛЬНОЕ ИСЧИСЛЕНИЕ ПРЕДИКАТОВ 57
Тогда следующее дерево представляет доказательство в ИПСΣ секвенции
∀y1 , . . . , yn ψ ` (ψ)yt11,...,t
,...,yn
n
:
(ψ)yt11,...,t
,...,yn
n
` (ψ)yt11,...,t
,...,yn
n
y ,...,yn−1 ,...,yn 14
∀yn (ψ)t11,...,tn−1 ` (ψ)yt11,...,t n
y ,...,y 14
∀yn−1 , yn (ψ)t11,...,tn−2
n−2
` (ψ)yt11,...,t
,...,yn
n
..
.
14 .
∀y1 , . . . , yn−1 , yn ψ ` (ψ)yt11,...,t
,...,yn
n
Теперь заметим, что формула (ψ)yt11,...,t
,...,yn
n
совпадает с формулой (ϕ)tx11,...,t
,...,xn
n
.
Таким образом, доказана секвенция
∀y1 , . . . , yn (ϕ)xy11,...,y
,...,xn
n
` (ϕ)tx11,...,t
,...,xn
n
.
На основании следующего применения правила сечения
∀x1 , . . . , xn ϕ ` ∀y1 , . . . , yn (ϕ)xy11,...,y
,...,xn
n
; ∀y1 , . . . , yn (ϕ)xy11,...,y
,...,xn
n
` (ϕ)xt11,...,t
,...,xn
n
∀x1 , . . . , xn ϕ ` (ϕ)xt11,...,t
,...,xn
n
для завершения доказательства остается вывести секвенцию
∀x1 , . . . , xn ϕ ` ∀y1 , . . . , yn (ϕ)yx11,...,y
,...,xn
n
.
Ее вывод представляет следующее дерево:
(ϕ)xy11,...,y
,...,xn
n
` (ϕ)xy11,...,y
,...,xn
n
x1 ,...,xn−1 x1 ,...,xn 14
∀xn (ϕ)y1 ,...,yn−1 ` (ϕ)y1 ,...,yn
14
∀xn−1 , xn (ϕ)yx11,...,y
,...,xn−2
n−2
` (ϕ)yx11,...,y
,...,xn
n
..
.
14
∀x1 , . . . , xn ϕ ` (ϕ)xy11,...,y
,...,xn
n
13
∀x1 , . . . , xn ϕ ` ∀yn (ϕ)yx11,...,y
,...,xn
n
..
.
13 .
∀x1 , . . . , xn ϕ ` ∀y1 , . . . , yn (ϕ)yx11,...,y
,...,xn
n
Доказательство пункта б) проводится аналогично и оставляется читате-
лю в качестве упражнения. ¤
58 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Определение допустимого правила в ИПСΣ совпадает с соответствующим
определением допустимого правила в ИС, где все атрибуты ИС на соответ-
ствующие атрибуты ИПСΣ .
В следующем предложении расширяется список допустимых правил,
составленный для ИС.
Предложение 2.2.4. В ИПСΣ допустимы правила а) — о) из предло-
жения 1.2.1, а также следующие правила:
ϕ1 , . . . , ϕk ` ψ
п) ,...,xn (подстановка термов);
(ϕ1 )t1 ,...,tn , . . . , (ϕk )xt11,...,t
x1 ,...,xn ,...,xn
n
` (ψ)xt11,...,t n
Γ ` ∀x ϕ
р) (удаление ∀).
Γ ` (ϕ)xt
Доказательство допустимости правил а) — о) в ИПСΣ совпадает
с доказательством допустимости соответствующих правил в ИС.
Для доказательства допустимости правила п) применим k раз правило 7,
начиная с секвенции ϕ1 , . . . , ϕk ` ψ, и получим доказуемость в ИПСΣ
секвенции
` ϕ1 → (ϕ2 → . . . (ϕk → ψ) . . .).
Затем, применяя k раз правило 13, получаем доказуемость секвенции
` ∀x1 , . . . , xn (ϕ1 → (ϕ2 → . . . (ϕk → ψ) . . .)).
Из доказуемости последней секвенции и секвенции а) предложения 2.2.3
по правилу сечения выводим секвенцию
` (ϕ1 → (ϕ2 → . . . (ϕk → ψ) . . .))xt11,...,t
,...,xn
n
.
Из последней секвенции и аксиомы (ϕ1 )xt11,...,t
,...,xn
n
` (ϕ1 )tx11,...,t
,...,xn
n
по правилам 8
и 12 получаем секвенцию
(ϕ1 )xt11,...,t
,...,xn
n
` (ϕ2 → . . . (ϕk → ψ) . . .)tx11,...,t
,...,xn
n
.
Аналогично применяя еще k − 1 раз правило 8, выводим требуемую
секвенцию
(ϕ1 )xt11,...,t
,...,xn
n
, . . . , (ϕk )xt11,...,t
,...,xn
n
` (ψ)tx11,...,t
,...,xn
n
.
2.2. СЕКВЕНЦИАЛЬНОЕ ИСЧИСЛЕНИЕ ПРЕДИКАТОВ 59
Следующее дерево устанавливает допустимость правила р):
(ϕ)xt ` (ϕ)xt
11,12,14
Γ, ∀x ϕ ` (ϕ)xt
7
Γ ` ∀x ϕ; Γ ` (∀x ϕ → (ϕ)xt )
8. ¤
Γ ` (ϕ)xt
Покажем, что для отношения ≈ на множестве термов доказуемы обычные
свойства равенства (рефлексивности, симметричности и транзитивности),
т. е. доказуемо в ИПСΣ , что ≈ — отношение эквивалентности.
Предложение 2.2.5. Для любых термов t, q, r ∈ T (Σ) следующие се-
квенции доказуемы в ИПСΣ :
а) ` (t ≈ t);
б) (t ≈ q) ` (q ≈ t);
в) (t ≈ q), (q ≈ r) ` (t ≈ r).
Доказательство. Доказуемость секвенции ` (t ≈ t) устанавливается
применением допустимого правила п) из предложения 2.2.4:
` (x ≈ x)
.
` (t ≈ t)
Для доказательства секвенции б) рассмотрим аксиому (t ≈ q), (z ≈ t)zt `
` (z ≈ t)zq , которая равна секвенции (t ≈ q), (t ≈ t) ` (q ≈ t). Выпи-
шем дерево, которое с участием этой аксиомы представляет доказательство
свойства симметричности:
(t ≈ q), (t ≈ t) ` (q ≈ t)
7
` (t ≈ t); (t ≈ q) ` ((t ≈ t) → (q ≈ t))
8.
(t ≈ q) ` (q ≈ t)
Доказуемость секвенции в) устанавливает следующее дерево:
(q ≈ t), (z ≈ r)zq ` (z ≈ r)zt
11,7
(t ≈ q) ` (q ≈ t); (q ≈ r) ` ((q ≈ t) → (t ≈ r))
8,11,12 . ¤
(t ≈ q), (q ≈ r) ` (t ≈ r)
60 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Пусть A = hA; Σi — алгебраическая система, S = S(x1 , . . . , xn ) — секвен-
ция исчисления ИПСΣ , все свободные переменные формул которой содер-
жатся среди x1 , . . . , xn . Будем говорить, что секвенция S истинна на эле-
ментах a1 , . . . , an ∈ A в алгебраической системе A и писать A |= S(a1 , . . . , an ),
если выполняется одно из следующих условий:
1) S равна ϕ1 , . . . , ϕn ` ψ и из A |= ϕi (a1 , . . . , an ) для всех i = 1, . . . n
следует A |= ψ(a1 , . . . , an );
2) S равна ϕ1 , . . . , ϕn ` и хотя бы одна из формул ϕ1 , . . . , ϕn ложна на эле-
ментах a1 , . . . , an ∈ A в алгебраической системе A.
Если секвенция S не истинна на элементах a1 , . . . , an ∈ A в алгебраиче-
ской системе A, то будем говорить, что S ложна на элементах a1 , . . . , an ∈ A
в A. В частности, секвенция ` ложна на любой алгебраической системе.
Секвенция S = S(x1 , . . . , xn ) в ИПСΣ называется тождественно истин-
ной, если S истинна на любых элементах a1 , . . . , an ∈ A в любой алгебраи-
ческой системе A = hA; Σi.
В дальнейшем нам предстоит доказать теорему о полноте для исчис-
ления предикатов, установленную К. Гёделем и утверждающую, что класс
доказуемых в ИПСΣ секвенций совпадает с классом тождественно истинных
секвенций ИПСΣ . Одна часть этого утверждения — это следующая теорема.
Теорема 2.2.6 (теорема о непротиворечивости ИПСΣ ). Если секвен-
ция S доказуема в ИПСΣ , то S тождественно истинна. В частности, не
все формулы ИПСΣ доказуемы в ИПСΣ .
Доказательство проводится индукцией по высоте дерева доказатель-
ства секвенции S. Тождественная истинность аксиом ИПСΣ очевидна. Про-
верку сохранения тождественной истинности при переходе по правилам 1–16
мы проведем на примере правила 14:
Γ, (ϕ)xt ` ψ
,
Γ, ∀x ϕ ` ψ
оставив рассмотрение остальных правил читателю в качестве упражнения.
Итак, пусть секвенция Γ, (ϕ)xt ` ψ тождественно истинна, т. е. в предполо-
жении истинности в системе A = hA; Σi на каких-то элементах a1 , . . . , an ∈ A
всех формул из Γ и формулы (ϕ)xt мы имеем A |= ψ(a1 , . . . , an ). Если в си-
стеме A на каких-то элементах a1 , . . . , an ∈ A истинны все формулы из Γ
и формула ∀x ϕ, то, в частности, будет справедливо A |= (ϕ)xt (a1 , . . . , an ).
Значит, по условию будет верно A |= ψ(a1 , . . . , an ). Следовательно, секвен-
ция Γ, ∀x ϕ ` ψ тождественно истинна. ¤
2.3. ЭКВИВАЛЕНТНОСТЬ ФОРМУЛ В ИПCΣ 61
§ 2.3. Эквивалентность формул в ИПCΣ
Формулы ϕ и ψ сигнатуры Σ называются эквивалентными в ИПСΣ
(и пишут ϕ ≡ ψ), если секвенции ϕ ` ψ и ψ ` ϕ доказуемы в ИПСΣ .
В силу леммы 1.3.2 условие ϕ ≡ ψ равносильно доказуемости секвенции
` (ϕ ↔ ψ). Аналогично лемме 1.3.3 доказывается, что отношение ≡ явля-
ется эквивалентностью на множестве формул сигнатуры Σ. При этом отно-
шение ϕ ≡ ψ не зависит от выбора сигнатуры, содержащей все сигнатурные
символы формул ϕ и ψ. Поэтому в дальнейшем мы будем часто говорить
о доказуемости в ИПС без упоминания конкретной сигнатуры Σ.
Формулы ϕ и ψ сигнатуры Σ называются пропозиционально эквивалент-
ными (и пишут ϕ ≡P ψ), если секвенции ϕ ` ψ и ψ ` ϕ доказуемы в ИПС
с использованием лишь правил 1–12.
Предложение 2.3.1. Пусть ϕ ϕ(A1 , . . . , An ), ψ ψ(A1 , . . . , An ) —
формулы ИС, построенные из пропозициональных переменных, χ1 , . . . , χn —
формулы сигнатуры Σ, ϕ0 ϕ(χ1 , . . . , χn ), ψ 0 ψ(χ1 , . . . , χn ) — формулы
сигнатуры Σ, получающиеся из ϕ и ψ соответственно подстановкой фор-
мул χi вместо пропозициональных переменных. Если имеет место ϕ ≡ ψ
в ИС, то ϕ0 ≡P ψ 0 .
Доказательство очевидно, так как при замене пропозициональных пе-
ременных на формулы сигнатуры Σ доказательства в ИС переходят в дока-
зательства в ИПС. ¤
Таким образом, для любых формул ϕ, ψ и χ сигнатуры Σ справедливы все
утверждения лемм 1.3.4 и 1.4.1 с заменой ≡ на ≡P . Например, выполняется
ϕ ∧ (ψ ∨ χ) ≡P (ϕ ∧ ψ) ∨ (ϕ ∧ χ).
Замечание 2.3.2. В ИПСΣ справедливо утверждение, аналогичное за-
мечанию 1.5.7. Если Φ — множество всех формул сигнатуры Σ с перемен-
ными из множества J, то фактор-алгебра F/ ≡ алгебры
F = hΦ, ∧, ∨, ¬, ¬(x ≈ x), (x ≈ x)i
является булевой алгеброй.
Предложение 2.3.3. В ИПС выполнимы все следующие эквивалент-
ности, в которых предполагается, что переменная x не входит свободно
в формулу ψ, а y не является свободной переменной формулы ϕ:
62 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
а) ¬∃x ϕ ≡ ∀x ¬ϕ; б) ¬∀x ϕ ≡ ∃x ¬ϕ;
в) ∃x (ϕ ∨ ψ) ≡ ∃x ϕ ∨ ψ; г) ∀x (ϕ ∨ ψ) ≡ ∀x ϕ ∨ ψ;
д) ∃x (ϕ ∧ ψ) ≡ ∃x ϕ ∧ ψ; е) ∀x (ϕ ∧ ψ) ≡ ∀x ϕ ∧ ψ;
ж) ∀x ϕ ≡ ∀y (ϕ)xy ; з) ∃x ϕ ≡ ∃y (ϕ)xy .
Доказательство. Приведем деревья, обосновывающие эквивалентно-
сти а), в) и ж), оставляя проверку остальных читателю. При этом в пункте а)
ϕ ` ¬ψ
мы будем использовать допустимое правило , которое легко выво-
ψ ` ¬ϕ
дится с помощью закона двойного отрицания, а в пункте ж) — равенство
((ϕ)xy )yx = ϕ.
а)
¬ϕ ` ¬ϕ
14
ϕ`ϕ ∀x ¬ϕ ` ¬ϕ
15
ϕ ` ∃x ϕ ϕ ` ¬∀x ¬ϕ
л 16
¬∃x ϕ ` ¬ϕ ∃x ϕ ` ¬∀x ¬ϕ
13 , ;
¬∃x ϕ ` ∀x ¬ϕ ∀x ¬ϕ ` ¬∃x ϕ
в)
ϕ`ϕ
15
ϕ ` ∃x ϕ ψ`ψ
4 5
ϕ ` ∃x ϕ ∨ ψ; ψ ` ∃x ϕ ∨ ψ; ϕ∨ψ `ϕ∨ψ
6,
ϕ ∨ ψ ` ∃x ϕ ∨ ψ
16
∃x (ϕ ∨ ψ) ` ∃x ϕ ∨ ψ
ϕ`ϕ
4
ϕ`ϕ∨ψ ψ`ψ
15 5
ϕ ` ∃x (ϕ ∨ ψ) ψ `ϕ∨ψ
16 15
∃x ϕ ` ∃x (ϕ ∨ ψ); ψ ` ∃x (ϕ ∨ ψ); ∃x ϕ ∨ ψ ` ∃x ϕ ∨ ψ
6;
∃x ϕ ∨ ψ ` ∃x (ϕ ∨ ψ)
ж)
(ϕ)xy ` (ϕ)xy ((ϕ)xy )yx ` ϕ
14 14
∀x ϕ ` (ϕ)xy ∀y (ϕ)xy ` ϕ
13 , 13 . ¤
∀x ϕ ` ∀y (ϕ)xy ∀y (ϕ)xy ` ∀x ϕ
2.4. НОРМАЛЬНЫЕ ФОРМЫ 63
Теорема 2.3.4 (теорема о замене). Пусть ϕ — формула сигнатуры Σ,
ψ — ее подформула, а формула ϕ0 получается из ϕ заменой некоторого
вхождения ψ на формулу ψ 0 сигнатуры Σ. Тогда если ψ ≡ ψ 0 , то ϕ ≡ ϕ0 .
Доказательство. Если ϕ = ψ, утверждение тривиально. Если ϕ 6= ψ,
воспользуемся индукцией по числу шагов построения формулы ϕ. Предпо-
лагая, что ϕ — атомарная формула, снова получаем ϕ = ψ. Индукционный
переход осуществляется рассмотрением шести случаев: ϕ = ¬ϕ1 , ϕ = ϕ1 ∧ϕ2 ,
ϕ = ϕ1 ∨ ϕ2 , ϕ = ϕ1 → ϕ2 , ϕ = ∀x ϕ1 , ϕ = ∃x ϕ1 . В каждом из этих случаев
формула ψ входит в ϕ1 или ϕ2 . Поэтому в первых четырех случаях экви-
валентность ϕ ≡ ϕ0 вытекает из индукционного предположения и аналога
леммы 1.3.3. Тогда в силу индукционного предположения остается рассмот-
реть случаи, когда формула ϕ имеет вид ∀x ψ или ∃x ψ, а секвенции ψ ` ψ 0
и ψ 0 ` ψ доказуемы. По симметричности ψ и ψ 0 достаточно вывести секвен-
ции ∀x ψ ` ∀x ψ 0 и ∃x ψ ` ∃x ψ 0 . Доказательство этих секвенций устанавли-
вается следующими деревьями:
ψ ` ψ0 ψ ` ψ0
14 15
∀x ψ ` ψ 0 ψ ` ∃x ψ 0
13 , 16 . ¤
∀x ψ ` ∀x ψ 0 ∃x ψ ` ∃x ψ 0
§ 2.4. Нормальные формы
В этом параграфе мы определим аналоги ДНФ и КНФ, имеющие место
в исчислении предикатов, и укажем алгоритмы приведения произвольных
формул ИПС к соответствующим формам.
Будем говорить, что бескванторная формула ϕ сигнатуры Σ находится
в дизъюнктивной (конъюнктивной) нормальной форме (сокращенно ДНФ
и КНФ соответственно), если ϕ получается из формулы ИС, находящейся
в ДНФ (КНФ), подстановкой вместо пропозициональных переменных неко-
торых атомарных формул сигнатуры Σ.
Будем говорить, что формула ϕ сигнатуры Σ находится в пренексной
(предклазуальной) нормальной форме (сокращенно ПНФ и ПКлНФ соот-
ветственно), если ϕ имеет вид
Q1 x1 . . . Qn xn ψ,
где Q1 , . . . , Qn — кванторы, а ψ находится в ДНФ (КНФ). При этом форму-
ла ψ называется дизъюнктивным (конъюнктивным) ядром или матрицей,
а слово Q1 x1 . . . Qn xn — кванторной приставкой формулы ϕ.
64 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Теорема 2.4.1. Для любой формулы ϕ сигнатуры Σ существует фор-
мула ψ сигнатуры Σ, находящаяся в ПНФ (ПКлНФ) и эквивалентная фор-
муле ϕ.
Доказательство. Для приведения формулы ϕ к ПНФ (ПКлНФ)
на основании теоремы о замене используются эквивалентности, описанные
в предложении 2.3.3, а также эквивалентность (ϕ → ψ) ≡ (¬ϕ ∨ ψ). Снача-
ла формула ϕ преобразуется к эквивалентной ей формуле ϕ0 , не содержа-
щей символа импликации. Затем формула ϕ0 последовательным вынесением
кванторов (при этом, если необходимо, переименовываются связанные пере-
менные) приводится к виду Q1 x1 . . . Qn xn ϕ00 , где Qi ∈ {∃, ∀}, 1 6 i 6 n, ϕ00 —
бескванторная формула. Наконец, формула ϕ00 приводится к ДНФ (КНФ),
как показано в § 6.4∗ и в § 1.4. ¤
Пример 2.4.1. Считая формулы ϕ и ψ атомарными, привести к пре-
нексной и предклазуальной нормальным формам формулу
χ ∃x ∀y ϕ(x, y) → ∃x ∀y ψ(x, y).
Избавясь от импликации, получаем
χ ≡ ¬∃x ∀y ϕ(x, y) ∨ ∃x ∀y ψ(x, y).
Используя пп. а), б) предложения 2.3.3 и теорему о замене, получаем
χ ≡ ∀x ∃y ¬ϕ(x, y) ∨ ∃x ∀y ψ(x, y).
Так как в формуле ∃x ∀y ψ(x, y) переменные x, y являются связанными,
то по пп. в), г) предложения 2.3.3 имеем
χ ≡ ∀x ∃y (¬ϕ(x, y) ∨ ∃x ∀y ψ(x, y)).
Пусть u, v — некоторые новые переменные. Тогда по пунктам ж), з) пред-
ложения 2.3.3 получаем
χ ≡ ∀x ∃y (¬ϕ(x, y) ∨ ∃u ∀v ψ(u, v)),
откуда
χ ≡ ∀x ∃y ∃u ∀v (¬ϕ(x, y) ∨ ψ(u, v)).
Формула ¬ϕ(x, y) ∨ ψ(u, v) находится в ДНФ и в КНФ одновременно, а зна-
чит, формула
∀x ∃y ∃u ∀v (¬ϕ(x, y) ∨ ψ(u, v))
находится и в ПНФ, и в ПКлНФ. ¤
2.5. ТЕОРЕМА О СУЩЕСТВОВАНИИ МОДЕЛИ 65
§ 2.5. Теорема о существовании модели
В этом параграфе мы докажем основные теоремы исчисления предика-
тов: теорему Мальцева — Гёделя о существовании модели для любого непро-
тиворечивого множества формул, теорему К. Гёделя о полноте и теорему
А. И. Мальцева о компактности.
Множество Γ формул сигнатуры Σ называется противоречивым или не-
совместным, если в ИПСΣ доказуема секвенция ϕ1 , . . . , ϕn ` для некоторых
формул ϕ1 , . . . , ϕn ∈ Γ. Множество формул сигнатуры Σ, не являющееся
противоречивым, называется непротиворечивым или совместным.
Формула ψ сигнатуры Σ называется логическим следствием множества Γ
формул сигнатуры Σ, если в ИПСΣ доказуема секвенция ϕ1 , . . . , ϕn ` ψ для
некоторых формул ϕ1 , . . . , ϕn из Γ.
Из допустимого правила и) (правила выведения из противоречия) выте-
кает, что любая формула ψ сигнатуры Σ (и, в частности, тождественно лож-
ная формула ¬(x ≈ x)) является логическим следствием противоречивого
множества формул сигнатуры Σ. С другой стороны, любая модель множе-
ства формул Γ является моделью для любого его логического следствия.
Таким образом, противоречивое множество формул Γ не может иметь моде-
ли. Нам предстоит установить обратное утверждение, а именно теорему о су-
ществовании модели у любого совместного множества формул. В процессе
доказательства мы будем использовать следующую теорему, эквивалентную
в теории множеств принципу полного упорядочения.
Теорема 2.5.1 (теорема Куратовского — Цорна, принцип максимума).
Если всякое линейно упорядоченное подмножество ч.у.м. A = hA; ≤i имеет
в A верхнюю грань, то A содержит максимальный элемент.
Теорема 2.5.2 (теорема о существовании модели). Если Γ — совмест-
ное множество формул сигнатуры Σ, то Γ имеет модель мощности, не
превосходящей max{ω, |Γ|}.
Доказательство мы ограничим случаем не более чем счетного множе-
ства Γ и покажем, что любое совместное не более чем счетное множество Γ
формул счетной сигнатуры Σ имеет не более чем счетную модель. Пусть X —
все переменные, входящие свободно хотя бы в формулу из Γ. Рассмотрим
множество C попарно различных константных символов cx , x ∈ X, сигнату-
ру Σ(Γ) ⊆ Σ, состоящую из всех символов, входящих хотя бы в одну формулу
66 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
из Γ. Расширим сигнатуру Σ(Γ) до сигнатуры Σ0 добавлением к Σ(Γ) множе-
ства C. Так как каждая формула содержит лишь конечное число символов,
мощность сигнатуры Σ0 не будет превосходить ω.
Теперь заменим в формулах из Γ все вхождения свободных переменных x
на соответствующие константы cx ∈ C. По определению полученное мно-
жество предложений Γ0 имеет модель тогда и только тогда, когда Γ имеет
модель.
Покажем, что множество Γ0 непротиворечиво. Действительно, если неко-
торая секвенция
(ϕ1 )xcx11,...,x x1 ,...,xn
,...,cxn , . . . , (ϕk )cx1 ,...,cxn `
n
(где ϕ1 , . . . , ϕk ∈ Γ) имеет дерево доказательства D, то, заменив в D констан-
ты cx1 , . . . , cxn на переменные y1 , . . . , yn , не входящие в D, получаем дерево
доказательства D0 секвенции
(ϕ1 )xy11,...,y
,...,xn
n
, . . . , (ϕk )yx11,...,y
,...,xn
n
`.
Применяя правило п) предложения 2.2.4, выводим доказуемость секвенции
ϕ1 , . . . , ϕk `, что противоречит совместности множества Γ.
Таким образом, в дальнейшем можно считать, что Γ — не более чем счет-
ное множество предложений. Рассмотрим счетное множество C 0 новых кон-
стантных символов cn , n ∈ ω. Обозначим через Σ0 сигнатуру, полученную до-
бавлением к сигнатуре Σ(Γ) множества констант C 0 . Пусть {ϕn (x) | n ∈ ω} —
список всех формул сигнатуры Σ0 с единственной свободной переменной x.
Выберем функцию h: ω → ω, для которой
• из m < n следует h(m) < h(n);
• из m ≤ n следует, что ch(n) не входит в ϕm (x).
Положим Γn Γ ∪ {∃x ϕm (x) → ϕm (ch(m) ) | m < n} для всех n ∈ ω. При
этом по определению функции h константа ch(n) не входит в Γn .
Индукцией по n покажем, что множества Γn совместны. Действительно,
множество Γ0 совместно, так как Γ0 = Γ. Зафиксируем число n, предполо-
жим, что множество Γn+1 несовместно, и докажем, что тогда Γn несовместно.
Итак, из несовместности множества Γn+1 следует доказуемость секвенции
Γn+1 `. По правилу контрапозиции тогда доказуема секвенция
Γn ` ¬(∃x ϕn (x) → ϕn (ch(n) )).
Используя предложения 2.3.1 и 2.3.3, отсюда выводим секвенцию
Γn ` ∃x ϕn (x) ∧ ¬ϕn (ch(n) ).
2.5. ТЕОРЕМА О СУЩЕСТВОВАНИИ МОДЕЛИ 67
Поскольку в последней секвенции константа ch(n) встречается только в фор-
муле, стоящей в правой части, заменяя в дереве доказательства ch(n) на но-
вую переменную y, не входящую в дерево доказательства, получаем доказу-
емость секвенции
Γn ` ∃x ϕn (x) ∧ ¬ϕn (y).
Применяя правило 13, выводим секвенцию
Γn ` ∃x ϕn (x) ∧ ∀y ¬ϕn (y),
и тогда в силу предложения 2.3.3 доказуема секвенция
Γn ` ∃x ϕn (x) ∧ ¬∃y ϕn (y),
а значит, и секвенция
Γn ` ∃x ϕn (x) ∧ ¬∃x ϕn (x),
что по правилу выведения противоречия влечет доказуемость секвенции
Γn `, т. е. несовместность множества Γn .
Таким образом, по индукции доказана непротиворечивость множеств
S Γn
для всех n ∈ ω и, следовательно, совместность множества Γω Γn .
n∈ω
Из принципа максимума и конечности длин выводов доказуемых секвен-
ций вытекает существование максимального совместного множества пред-
ложений T сигнатуры Σ0 , содержащего множество Γω .
Пусть ϕ — произвольное предложение сигнатуры Σ0 . Так как множество
T непротиворечиво, то непротиворечиво множество T ∪ {ϕ} или множество
T ∪ {¬ϕ}. Из максимальности множества T следует, что ϕ ∈ T или ¬ϕ ∈ T .
Кроме того, каждое логическое следствие множества T также принадлежит
множеству T .
Модель A множества Γ строится с помощью множества T . Определим
для каждого константного символа c сигнатуры Σ0 множество
[c] {d | (c ≈ d) ∈ T }.
Из предложения 2.2.5 вытекает, что множества [c] образуют разбиение мно-
жества константных символов сигнатуры Σ0 . В качестве носителя A систе-
мы A возьмем множество {[c] | c ∈ Σ0 }. Таким образом, A — это фактор-
множество множества константных символов по отношению эквивалентно-
сти ≈. Отношения, операции и константы системы A определим следующим
образом:
68 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
• ([c1 ], . . . , [cn ]) ∈ PA ⇔ P (c1 , . . . , cn ) ∈ T , где P (n) ∈ Σ0 — предикатный
символ;
• fA ([c1 ], . . . , [cn ]) = [c] ⇔ (f (c1 , . . . , cn ) ≈ c) ∈ T , где f (n) ∈ Σ0 — функ-
циональный символ;
• cA = [c], где c(0) ∈ Σ0 — константный символ.
Докажем теперь, что A |= Γ. Для этого достаточно показать, что
A |= ϕ ⇔ ϕ ∈ T.
Доказательство проведем индукцией по числу шагов построения фор-
мулы ϕ.
Пусть t — константный терм сигнатуры Σ0 , т. е. терм, который строит-
ся без помощи переменных. Рассмотрим формулу ϕn (x), равную атомарной
формуле (t ≈ x). Тогда по определению множества T имеем (t ≈ ch(n) ) ∈ T
и, значит, для каждого константного терма ti в системе A множество [ti ]
совпадает с некоторым множеством [ci ]. Следовательно,
A |= (t1 ≈ t2 ) ⇔ [c1 ] = [c2 ] ⇔ (c1 ≈ c2 ) ∈ T ⇔ (t1 ≈ t2 ) ∈ T,
A |= P (t1 , . . . , tn ) ⇔ ([c1 ], . . . , [cn ]) ∈ PA ⇔
⇔ P (c1 , . . . , cn ) ∈ T ⇔ P (t1 , . . . , tn ) ∈ T,
и для атомарных формул требуемая равносильность доказана.
Поскольку дизъюнкция и импликация выражаются через отрица-
ние и конъюнкцию, а квантор всеобщности — через квантор существования
(∀y χ ≡ ¬∃y ¬χ), для завершения доказательства достаточно рассмотреть
индукционный переход с помощью отрицания, конъюнкции и квантора су-
ществования. Для отрицания и конъюнкции имеем:
A |= ¬ϕ ⇔ A 6|= ϕ ⇔ ϕ 6∈ T ⇔ ¬ϕ ∈ T,
A |= ϕ ∧ ψ ⇔ (A |= ϕ и A |= ψ) ⇔ (ϕ ∈ T и ψ ∈ T ) ⇔ (ϕ ∧ ψ) ∈ T.
Для индукционного перехода по квантору ∃ предположим, что
A |= ∃x ϕn (x). Тогда A |= ϕn ([c]) для некоторого [c] ∈ A. По индукционному
предположению получаем ϕn (c) ∈ T и, следовательно, ∃x ϕn (x) ∈ T . Допу-
стим теперь, что ∃x ϕn (x) ∈ T . Тогда по построению имеем ϕn (ch(n) ) ∈ T .
Из индукционного предположения получаем A |= ϕn ([ch(n) ]) и, следователь-
но, A |= ∃x ϕn (x). ¤
2.5. ТЕОРЕМА О СУЩЕСТВОВАНИИ МОДЕЛИ 69
Следствие 2.5.3 (теорема Гёделя о полноте). Любая тождественно
истинная секвенция ИПС доказуема в ИПС.
Доказательство. Аналогично доказательству теоремы о полноте для
ИС (теорема 1.5.5) утверждение для секвенций сводится к проверке дока-
зуемости тождественно истинных формул. Итак, пусть ϕ ϕ(x1 , . . . , xn ) —
произвольная тождественно истинная формула, все свободные переменные
которой содержатся среди переменных x1 , . . . , xn .
Предположим, что формула ϕ не доказуема. Установим тогда непро-
тиворечивость множества, состоящего из предложения ∃x1 , . . . , xn ¬ϕ. Дей-
ствительно, предполагая его несовместность, получаем доказуемость секвен-
ции ∃x1 , . . . , xn ¬ϕ `, из которой по правилу контрапозиции выво-
дим ` ¬∃x1 , . . . , xn ¬ϕ. Тогда в силу предложения 2.3.3 доказуема секвенция
` ∀x1 , . . . , xn ϕ, откуда по предложению 2.2.4, п. p) выводится секвенция ` ϕ,
что противоречит предположению о недоказуемости формулы ϕ.
Из совместности множества {∃x1 , . . . , xn ¬ϕ} в силу теоремы о су-
ществовании модели найдется алгебраическая система A, для которой
A |= ∃x1 , . . . , xn ¬ϕ. Последнее соотношение означает, что найдутся элементы
a1 , . . . , an ∈ A, опровергающие предположение о тождественной истинности
формулы ϕ. ¤
Таким образом, по теореме Гёделя проверка доказуемости формулы ϕ
сводится к проверке ее тождественной истинности. Однако в отличие от ИС
в общем случае не существует алгоритма распознавания доказуемости фор-
мул ИПСΣ , т. е. ИПСΣ неразрешимо. Тем не менее если в формуле ϕ “за-
писать”, что каждая переменная может принимать лишь конечное число
значений, то перебором всех возможных систем можно установить, являет-
ся ли формула тождественно истинной или нет. В § 2.8 будет описан метод
резолюций в исчислении предикатов, который, как и метод резолюций в ИВ,
позволяет определять невыполнимость формул.
Множество формул Γ называется локально выполнимым, если любое ко-
нечное подмножество Γ0 множества Γ выполнимо.
Следствие 2.5.4 (теорема Мальцева о компактности). Каждое локаль-
но выполнимое множество Γ формул сигнатуры Σ выполнимо.
Доказательство. Допустим, что выполнимо любое конечное подмно-
жество формул множества Γ, а само Γ невыполнимо. Тогда по теореме о су-
ществовании модели оно противоречиво, т. е. найдутся такие формулы
70 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
ϕ1 , . . . , ϕn ∈ Γ, что доказуема секвенция ϕ1 , . . . , ϕn `. Следовательно, на-
шлось несовместное, а значит, невыполнимое конечное множество формул
из Γ. Полученное противоречие доказывает теорему компактности. ¤
Следствие 2.5.5. Если для любого n ∈ ω множество формул Γ сигна-
туры Σ имеет модель мощности > n, то Γ имеет бесконечную модель.
Доказательство. Рассмотрим множество
Γ0 = Γ ∪ {∃x1 , . . . , xn (¬(x1 ≈ x2 ) ∧ ¬(x1 ≈ x3 ) ∧ . . . ∧ ¬(xn−1 ≈ xn )) | n ∈ ω}.
По предположению для любого n ∈ ω множество
Γ ∪ {∃x1 , . . . , xn (¬(x1 ≈ x2 ) ∧ ¬(x1 ≈ x3 ) ∧ . . . ∧ ¬(xn−1 ≈ xn ))}
выполнимо. Значит, множество Γ0 локально выполнимо. По теореме ком-
пактности получаем выполнимость множества Γ0 . Но Γ0 может иметь только
бесконечные модели. Следовательно, найдется бесконечная модель M мно-
жества Γ0 , которая, в частности, является моделью для Γ. ¤
§ 2.6. Исчисление предикатов гильбертовского типа
Зафиксируем произвольную сигнатуру Σ и определим исчисление пре-
дикатов гильбертовского типа, относящееся к сигнатуре Σ (ИПΣ ). Затем
мы установим эквивалентность исчислений ИПΣ и ИПСΣ подобно тому, как
была показана эквивалентность исчислений ИС и ИВ.
Формулами ИПΣ будут формулы сигнатуры Σ. Секвенций в ИПΣ нет.
Аксиомами ИПΣ являются следующие формулы для любых формул ϕ,
ψ, χ сигнатуры Σ, переменных x, y, z и термов t ∈ T (Σ), удовлетворяющих
условиям на записи (ϕ)xt , (ϕ)zx , (ϕ)zy :
1) ϕ → (ψ → ϕ);
2) (ϕ → ψ) → ((ϕ → (ψ → χ)) → (ϕ → χ));
3) (ϕ ∧ ψ) → ϕ;
4) (ϕ ∧ ψ) → ψ;
5) (ϕ → ψ) → ((ϕ → χ) → (ϕ → (ψ ∧ χ)));
6) ϕ → (ϕ ∨ ψ);
7) ϕ → (ψ ∨ ϕ);
8) (ϕ → χ) → ((ψ → χ) → ((ϕ ∨ ψ) → χ));
9) (ϕ → ψ) → ((ϕ → ¬ψ) → ¬ϕ);
10) ¬¬ϕ → ϕ;
2.6. ИСЧИСЛЕНИЕ ПРЕДИКАТОВ ГИЛЬБЕРТОВСКОГО ТИПА 71
11) ∀x ϕ → (ϕ)xt ;
12) (ϕ)xt → ∃x ϕ;
13) (x ≈ x); ¡ ¢
14) (x ≈ y) → (ϕ)zx → (ϕ)zy .
Формулы 1–14 называются схемами аксиом ИПΣ .
Правила вывода ИПΣ :
ϕ; ϕ → ψ ψ→ϕ ϕ→ψ
1) ; 2) ; 3) ,
ψ ψ → ∀x ϕ ∃x ϕ → ψ
где в правилах 2 и 3 переменная x не входит свободно в ψ.
Понятия доказательства формулы ϕ ( ` ϕ) и вывода формулы ϕ из после-
довательности гипотез Γ (Γ ` ϕ) в ИПΣ определяются аналогично соответ-
ствующим понятиям в ИВ. При этом предполагается, что при применении
правил 2 и 3 переменная x не входит свободно ни в одну формулу из Γ.
Предложение 2.6.1. Для любых формул ϕ и ψ сигнатуры Σ с услови-
ем на запись (ϕ)xt , в ИПΣ справедливы следующие соотношения:
а) если доказуема формула ϕ, то доказуема формула ∀x ϕ; имеет место
ϕ ` ∀x ϕ, если x не входит свободно в формулу ϕ;
б) ((ϕ)xt → ψ) ` (∀x ϕ → ψ);
в) (ψ → (ϕ)xt ) ` (ψ → ∃x ϕ);
г) (ϕ)xt ` ∃x ϕ.
Доказательство. а) Рассмотрим некоторое доказуемое предложе-
ние ψ 0 , например, χ → χ для произвольного предложения χ сигнатуры Σ
(доказательство формулы χ → χ повторяет с заменой ϕ на χ доказательство
из примера 1.6.1). Применяя правило 1 к доказуемой формуле ϕ и аксиоме
ϕ → (ψ 0 → ϕ), выводим формулу ψ 0 → ϕ. Поскольку переменная x не вхо-
дит свободно в ψ 0 , по правилу 2 из ψ 0 → ϕ выводим ψ 0 → ∀x ϕ. Так как
предложение ψ 0 доказуемо, по правилу 1 выводим формулу ∀x ϕ. Повторяя
рассуждение с использованием гипотезы ϕ, в которую не входит свободно
переменная x, выводим соотношение ϕ ` ∀x ϕ.
Доказательство соотношения б) состоит в выводе формулы ∀x ϕ → ψ
из аксиомы ∀x ϕ → (ϕ)xt и гипотезы (ϕ)xt → ψ по правилу 1 с помощью
аксиом 1 и 2.
Доказательство соотношения в) заключается в выводе формулы
ψ → ∃x ϕ из гипотезы ψ → (ϕ)xt и аксиомы (ϕ)xt → ∃x ϕ также по правилу 1
с помощью аксиом 1 и 2.
Соотношение г) получается применением правила 1 к гипотезе (ϕ)xt и ак-
сиоме (ϕ)xt → ∃x ϕ. ¤
72 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
В исчислении ИПΣ справедлива
Теорема 2.6.2 (теорема о дедукции). Если {Γ} ∪ {ϕ, ψ} — множество
формул сигнатуры Σ, то в ИПΣ из Γ, ϕ ` ψ следует Γ ` ϕ → ψ.
Доказательство. Рассмотрим минимальный вывод ψ1 , . . . , ψk форму-
лы ψ = ψk из Γ, ϕ. Если k = 1 или ψk получается по правилу 1, то повторяем
доказательство теоремы 1.6.1. В силу минимальности вывода формулы ψ
остается рассмотреть случай, когда ψ получается из ψk−1 по правилам 2
или 3. При этом по индукционному предположению установлено соотноше-
ние Γ ` ϕ → ψk−1 .
Пусть формула ψ = (χ1 → ∀x χ2 ) получается из формулы ψk−1 =
= (χ1 → χ2 ) по правилу 2, где по определению вывода переменная x не вхо-
дит свободно в формулы из Γ ∪ {ϕ, χ1 }. Так как
ϕ → (θ1 → θ2 ) ` (ϕ ∧ θ1 ) → θ2 и (ϕ ∧ θ1 ) → θ2 ` ϕ → (θ1 → θ2 )
для любых формул θ1 , θ2 , следующая последовательность формул дополня-
ется до вывода формулы ϕ → ψ из Γ:
ϕ → ψk−1 , (ϕ ∧ χ1 ) → χ2 , (ϕ ∧ χ1 ) → ∀x χ2 , ϕ → (χ1 → ∀x χ2 ).
Пусть теперь формула ψ получается по правилу 3, т. е. ψk−1 = (χ1 → χ2 )
и ψ = (∃x χ1 → χ2 ), где переменная x не входит свободно в формулы
из Γ ∪ {ϕ, χ2 }. Так как
ϕ → (χ1 → χ2 ) ` χ1 → (ϕ → χ2 ) и ∃x χ1 → (ϕ → χ2 ) ` ϕ → (∃x χ1 → χ2 ),
следующая последовательность формул дополняется до вывода формулы
ϕ → ψ из Γ:
ϕ → ψk−1 , χ1 → (ϕ → χ2 ), ∃x χ1 → (ϕ → χ2 ), ϕ → (∃x χ1 → χ2 ). ¤
Таким образом, как и в исчислении высказываний, в силу теоремы о де-
дукции проверка выводимости ϕ1 , . . . , ϕn ` ϕ в ИПΣ равносильна проверке
доказуемости в ИПΣ формулы (ϕ1 → (ϕ → . . . → (ϕn → ϕ) . . .)).
Пример 2.6.1. Из соотношения ϕ ` ∀x ϕ, установленного в предложе-
нии 2.6.1, по теореме о дедукции в ИПΣ получаем, что доказуема формула
ϕ → ∀x ϕ для любой формулы ϕ сигнатуры Σ, где переменная x не входит
свободно в ϕ. ¤
2.7. СКУЛЕМИЗАЦИЯ АЛГЕБРАИЧЕСКИХ СИСТЕМ 73
Теорема 2.6.3 (теорема об эквивалентности ИПCΣ и ИПΣ ). 1. Секвен-
ция ϕ1 , . . . , ϕn ` ψ доказуема в ИПCΣ тогда и только тогда, когда форму-
ла ψ выводима в ИПΣ из формул ϕ1 , . . . , ϕn .
2. Секвенция ϕ1 , . . . , ϕn ` доказуема в ИПCΣ тогда и только тогда, когда
формула ¬(x ≈ x) выводима в ИПΣ из формул ϕ1 , . . . , ϕn .
Доказательство. Так как доказуемость (тождественная истинность)
секвенций ϕ1 , . . . , ϕn ` ψ и ϕ1 , . . . , ϕn ` равносильна доказуемости (тожде-
ственной истинности) формул ϕ1 → (ϕ2 → . . . → (ϕn → ψ) . . .) и
ϕ1 → (ϕ2 → . . . → (ϕn → ¬(x ≈ x)) . . .)
соответственно, достаточно показать, что доказуемость формулы ϕ в ИПCΣ
равносильна доказуемости формулы ϕ в ИПΣ . Непосредственно проверяется,
что все аксиомы исчисления ИПΣ тождественно истинны, а правила 1–3 со-
храняют тождественную истинность. Поэтому по теореме Гёделя о полноте
из выводимости формулы ϕ в ИПΣ следует ее доказуемость в ИПCΣ .
Для доказательства выводимости в ИПΣ доказуемой в ИПCΣ формулы ϕ
заметим, что для любой аксиомы Γ ` ϕ исчисления ИПCΣ в ИПΣ из Γ вы-
водима формула ϕ. Остается проследить сохранение истинности утвержде-
ний исчисления ИПΣ , соответствующих секвенциям, при переходе по любому
из 16 правил вывода ИПCΣ . Сохранение выводимости в ИПΣ для пра-
вил 1–12 устанавливается так же, как и в теореме 1.6.3. Для правил 13–16
проверка сводится к соотношениям, установленным в предложении 2.6.1. ¤
Из теоремы 2.6.3 вытекает непротиворечивость ИПΣ . Непосредственно
проверяется независимость схем аксиом ИПΣ .
§ 2.7. Скулемизация алгебраических систем
В этом параграфе мы определим конструкцию, предложенную Т. Скуле-
мом и позволяющую расширять сигнатуру данной алгебраической системы
так, чтобы появилась возможность “убирать” кванторы у формул. Необхо-
димость такого преобразования объясняется тем, что работать с формула-
ми, содержащими кванторы, значительно трудней, чем с бескванторными.
В следующем параграфе будет изложен метод резолюций в исчислении пре-
дикатов, использующий скулемизацию.
74 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Алгебраическая система A = hA; Σi называется обогащением алгебраиче-
ской системы A0 = hA0 ; Σ0 i, если A = A0 , Σ ⊇ Σ0 и совпадают интерпретации
всех сигнатурных символов из Σ0 в системах A и A0 .
Если система A сигнатуры Σ является обогащением системы A0 сигнату-
ры Σ0 , то A0 называется обеднением алгебраической системы A и обознача-
ется через A ¹ Σ0 .
Пример 2.7.1. Система A = hZ; +, ·, 0, 1i является обогащением системы
B = hZ; +, 0, 1i, а система C = hZ; +, 0i — обеднением системы B. ¤
Пусть Σ — некоторая сигнатура, ΣS — сигнатура, полученная из Σ до-
бавлением:
а) новых константных символов cϕ для каждой формулы ϕ сигнатуры Σ,
имеющей вид ∃x0 ψ(x0 );
б) новых n-местных функциональных символов fϕ для каждой форму-
лы ϕ = ∃x0 ψ(x0 , x1 , . . . , xn ) сигнатуры Σ, имеющей n > 0 свободных
переменных.
Тогда сигнатура ΣS называется скулемизацией сигнатуры Σ.
Через S(Σ) обозначим множество следующих предложений сигнату-
ры ΣS , называемых аксиомами Скулема:
а) ∃x0 ψ(x0 ) → ψ(cϕ ) для каждой формулы ϕ = ∃x0 ψ(x0 ) сигнатуры Σ;
б) ∀x1 . . . xn (∃x0 ψ(x0 , x1 , . . . , xn ) → ψ(fϕ (x1 , . . . , xn ), x1 , . . . , xn )) для каж-
дой формулы ϕ = ∃x0 ψ(x0 , x1 , . . . , xn ) (n > 0) сигнатуры Σ.
Согласно аксиомам Скулема из существования элемента, который можно
подставить вместо переменной x0 в формулу ψ, следует возможность под-
становки значения некоторой функции fϕ (константы cϕ ), зависящего от
оставшихся свободных переменных.
Если A — алгебраическая система сигнатуры Σ, то любое ее обогащение
A = hA; ΣS i, являющееся моделью множества S(Σ), называется скулеми-
S
зацией системы A. Возникающие при обогащении константы и операции,
соответствующие символам cϕ и fϕ , называются скулемовскими констан-
тами и скулемовскими функциями соответственно.
Отметим, что в отличие от ΣS и S(Σ) скулемизация AS не определя-
ется однозначно, поскольку из существования элементов, которые можно
подставлять вместо переменных x0 , вообще говоря, не следует их единствен-
ность.
2.7. СКУЛЕМИЗАЦИЯ АЛГЕБРАИЧЕСКИХ СИСТЕМ 75
Пример 2.7.2. Рассмотрим алгебраическую систему A = h{0, 1}; P (1) ,
(2)
R i с интерпретациями PA = {0, 1}, RA = {(0, 0), (0, 1), (1, 1)}. В скулеми-
зации AS для формулы ϕ ∃x P (x) константный символ cϕ может быть
проинтерпретирован как 0 или как 1, поскольку A |= P (0) и A |= P (1).
Для функционального символа fϕ0 , где ϕ0 ∃x0 R(x0 , x1 ), возможны интер-
претации fϕ0 = {(0, 0), (1, 0)} или fϕ0 = {(0, 0), (1, 1)}. ¤
Предложение 2.7.1. Любая алгебраическая система A имеет некото-
рую скулемизацию AS .
Доказательство. Если ϕ = ∃x0 ψ(x0 ), то в качестве значения cϕ бе-
рем элемент a0 , для которого A |= ψ(a0 ), если такой элемент существует,
и произвольный элемент a ∈ A, если такого a0 нет. Для форму-
лы ϕ = ∃x0 ψ(x0 , x1 , . . . , xn ) (n > 0) и элементов a1 , . . . , an ∈ A в качестве
fϕ (a1 , . . . , an ) берем элемент a0 , для которого A |= ψ(a0 , a1 , . . . , an ), если та-
кой элемент существует, и произвольный элемент a ∈ A, если такого a0
нет. ¤
Скулемизация позволяет “убирать” кванторы у формул старой сигнату-
ры Σ. Однако после обогащения появляются формулы новой сигнатуры ΣS ,
в которых кванторы “остаются”. Для устранения этого недостатка исполь-
зуется проведение скулемизации счетное число раз.
Пусть Σ — сигнатура, S(Σ) — множество аксиом Скулема для сигнату-
ры Σ. Положим
S S по индукции ΣS0 Σ, ΣSn+1 (ΣSn )S , n ∈ ω. Сигнатура
cS
Σ Σn называется полной скулемизацией сигнатуры Σ.
n∈ω
Если A — алгебраическая система сигнатуры Σ, тоS любое ее обогаще-
ние AcS = hA; ΣcS i, являющееся моделью множества S(ΣSn ), называется
n∈ω
полной скулемизацией системы A.
Предложение 2.7.2. Любая алгебраическая система A имеет некото-
рую полную скулемизацию AcS .
Доказательство. В силу предложения 2.7.1 существуют такие систе-
мы ASn , n ∈ ω, что AS0 = A, ASn+1 = (ASn )S , n ∈ ω. Искомой полной
скулемизацией является обогащение AcS = hA; ΣcS i системы A, для кото-
рого AcS ¹ ΣSn = ASn , n ∈ ω. ¤
В следующем параграфе при работе с методом резолюций нам предстоит
с помощью скулемизации снимать кванторы с формул, находящихся в пред-
клазуальной нормальной форме.
76 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Говорят, что формула ϕ находится в клазуальной нормальной форме (со-
кращенно КлНФ), если она получается из формулы ψ, находящейся в пред-
клазуальной нормальной форме, удалением всех кванторов существования
с одновременной заменой соответствующих переменных на термы, опреде-
ляемые аксиомами Скулема, и последующим удалением всех кванторов все-
общности.
Пример 2.7.3. 1. В примере 2.4.1 найдена формула
∀x ∃y ∃u ∀v (¬ϕ(x, y) ∨ ψ(u, v)),
находящаяся в ПКлНФ. С помощью скулемовских функций f1 (x) и f2 (x),
заменяющих переменные y и u соответственно, эта формула преобразуется
к следующей формуле, находящейся в КлНФ:
(¬ϕ(x, f1 (x)) ∨ ψ(f2 (x), v)).
2. Формула
∃x ∀y ∀z ∀u ∃v ((P (y, x, z, u) ∨ ¬Q(z, u, v)) ∧ R(x, z, v))
сигнатуры {P (4) , Q(3) , R(3) } находится в ПКлНФ и приводится к следующей
КлНФ с помощью скулемовской константы c, заменяющей переменную x,
и скулемовской функции f (y, z, u), заменяющей переменную v:
(P (y, c, z, u) ∨ ¬Q(z, u, f (y, z, u))) ∧ R(c, z, f (x, z, u)). ¤
§ 2.8. Метод резолюций в исчислении предикатов
Зафиксируем некоторую сигнатуру Σ.
Подстановкой сигнатуры Σ называется конечное множество вида
{t1 /x1 , . . . , tn /xn },
где ti — терм сигнатуры Σ, отличный от переменной xi (1 6 i 6 n), и все
переменные x1 , . . . , xn различны. Подстановка, которая не содержит элемен-
тов, называется пустой и обозначается через ε.
Пример 2.8.1. Множества {F1 (z)/x, y/z} и {c1 /x, F2 (y)/y, F1 (F2 (c2 ))/z}
(1) (1) (0) (0)
являются подстановками сигнатуры Σ = {F1 , F2 , c1 , c2 }. ¤
2.8. МЕТОД РЕЗОЛЮЦИЙ В ИСЧИСЛЕНИИ ПРЕДИКАТОВ 77
Мы будем использовать строчные греческие буквы для обозначения под-
становок.
Пусть θ = {t1 /x1 , . . . , tn /xn } — подстановка сигнатуры Σ, W — множество
формул (термов) сигнатуры Σ. Тогда W θ — множество формул (термов)
сигнатуры Σ, полученных из формул (термов) множества W заменой в них
одновременно всех вхождений xi (1 6 i 6 n) на термы ti (1 6 i 6 n).
При этом предполагается, что выполняются все условия на записи формул
(Φ)xt11,...,t
,...,xn
n
, Φ ∈ W.
Если W = {Φ} или W = {t}, где Φ — формула, t — терм сигнатуры Σ,
то вместо {Φ}θ и {t}θ будем писать Φθ и tθ соответственно.
Пример 2.8.2. Пусть θ = {c1 /x, F (c2 )/y, y/z} — подстановка сигнатуры
(0) (0) (3)
Σ = {c1 , c2 , F (1) , F1 }, t = F1 (x, y, z), Φ = (F (x) ≈ F1 (x, c1 , z)). Тогда
tθ = F1 (c1 , F (c2 ), y), Φθ = (F (c1 ) ≈ F1 (c1 , c1 , y)). ¤
Пусть θ = {t1 /x1 , . . . , tn /xn } и λ = {q1 /y1 , . . . , qm /ym } — подстановки сиг-
натуры Σ. Тогда композиция подстановок θ и λ (θ ◦ λ) есть подстановка,
которая получается из множества {t1 λ/x1 , . . . , tn λ/xn , q1 /y1 , . . ., qm /ym }
вычеркиванием всех элементов tj λ/xj , для которых tj λ = xj , и всех элемен-
тов qi /yi , таких, что yi ∈ {x1 , . . . , xn }.
Пример 2.8.3. Пусть θ = {t1 /x1 , t2 /x2 } = {F (y)/x, z/y},
λ = {q1 /y1 , q2 /y2 , q3 /y3 } = {c1 /x, c2 /y, y/z} —
(0) (0)
подстановки сигнатуры Σ = {c1 , c2 , F (1) }. Тогда
{t1 λ/x1 , t2 λ/x2 , q1 /y1 , q2 /y2 , q3 /y3 } = {F (c2 )/x, y/y, c1 /x, c2 /y, y/z}.
Так как t2 λ = y, то y/y должно быть вычеркнуто. Так как x, y ∈ {x, y},
то c1 /x, c2 /y также должны быть вычеркнуты. Таким образом,
θ ◦ λ = {F (c2 )/x, y/z}. ¤
Упражнение. Доказать:
1) ассоциативность композиции подстановок, т. е. (θ ◦ λ) ◦ µ = θ ◦ (λ ◦ µ)
для любых подстановок θ, λ, µ;
2) θ ◦ ε = ε ◦ θ для любой подстановки θ. ¤
Подстановка θ сигнатуры Σ называется унификатором для множества
{Φ1 , . . . , Φk } формул сигнатуры Σ, если Φ1 θ = . . . = Φk θ. Множество фор-
мул {Φ1 , . . . , Φk } сигнатуры Σ называется унифицируемым, если для него
существует унификатор сигнатуры Σ.
78 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Пример 2.8.4. Множество {P (c1 , y), P (x, F (c2 ))} формул сигнатуры Σ =
(0) (0)
= {c1 , c2 , P (2) , F (1) } унифицируемо, а подстановка θ = {c1 /x, F (c2 )/y} яв-
ляется его унификатором. ¤
Унификатор σ для множества {Φ1 , . . . , Φk } формул сигнатуры Σ называ-
ется наиболее общим унификатором (сокращенно НОУ), если для каждого
унификатора θ сигнатуры Σ этого множества существует подстановка λ сиг-
натуры Σ такая, что θ = σ ◦ λ.
Пусть W = {Φ1 , . . . , Φk } — непустое множество атомарных формул сигна-
туры Σ. Множеством рассогласований в W называется множество термов
{t1 , . . . , tk }, где ti входит в Φi и начинается с символа (который есть либо
сигнатурный символ, либо переменная), стоящего на первой слева позиции
в Φi , на которой не для всех формул Φ1 , . . . , Φk находится один и тот же
символ.
Пример 2.8.5. Пусть W = {P (x, F (y, z)), P (x, c), P (x, F (y, F1 (z)))} —
(1)
множество формул сигнатуры Σ = {P (2) , F (2) , F1 }. Во всех трех формулах
первые четыре символа P (x, совпадают, а на пятом месте в первой и второй
формулах стоят разные символы: F , c. Таким образом, множество рассогла-
сований в W — {F (y, z), c, F (y, F1 (z))}. ¤
Алгоритм унификации предназначен для распознавания того, является
ли данное конечное непустое множество атомарных формул унифицируе-
мым, и нахождения НОУ для этого множества в случае его унифи-
цируемости.
Пусть W — конечное непустое множество атомарных формул. Опишем
шаги алгоритма унификации для множества W :
Шаг 1. Полагаем k = 0, Wk = W , σk = ε.
Шаг 2. Если Wk — одноэлементное множество, то остановка: σk — НОУ
для W . В противном случае найдем множество Dk рассогласований для Wk .
Шаг 3. Если существуют xk , tk ∈ Dk такие, что xk — переменная,
не входящая в терм tk , то перейти к шагу 4. В противном случае остановка:
множество W не унифицируемо.
Шаг 4. Полагаем σk+1 σk ◦ {tk /xk } и Wk+1 Wk {tk /xk } (заметим, что
Wk+1 = W σk+1 ).
Шаг 5. Присвоить k значение k + 1 и перейти к шагу 2.
2.8. МЕТОД РЕЗОЛЮЦИЙ В ИСЧИСЛЕНИИ ПРЕДИКАТОВ 79
Теорема 2.8.1. Если W — конечное непустое унифицируемое множе-
ство атомарных формул, то алгоритм унификации будет всегда заканчи-
вать работу на шаге 2 и последняя подстановка σk будет НОУ для W . ¤
Пример 2.8.6. Найти НОУ для множества
W = {P (c, x, F2 (F1 (y))), P (z, F2 (z), F2 (u))}.
1. Положим k = 0, W0 = W , σ0 = ε.
2. Так как W — неодноэлементное множество, то σ0 не является НОУ
для W . Множество рассогласований для W0 есть D0 = {c, z}.
3. В D0 существует переменная x0 = z, которая не встречается в терме
t0 = c. Поэтому переходим к шагу 4.
4. Полагаем σ1 σ0 ◦ {c/z} = ε ◦ {c/z} = {c/z},
W1 W0 {c/z} = {P (c, x, F2 (F1 (y))), P (c, F2 (c), F2 (u))}.
5. Присваиваем k = 1.
6. Множество W1 неодноэлементно, а множество рассогласований для
W1 есть D1 = {x, F2 (c)}.
7. Из D1 находим, что x1 = x, t1 = F2 (c).
8. Полагаем σ2 σ1 ◦ {F2 (c)/x},
W2 W1 {F2 (c)/x} = {P (c, F2 (c), F2 (F1 (y))), P (c, F2 (c), F2 (u))}.
9. Присваиваем k = 2.
10. Множество W2 неодноэлементно, а множество рассогласований
для W2 есть D2 = {F1 (y), u}.
11. Из D2 найдем, что x2 = u, t2 = F1 (y).
12. Полагаем σ3 σ2 ◦ {F1 (y)/u} = {c/z, F2 (c)/x, F1 (y)/u},
W3 W2 {F1 (y)/u} = {P (c, F2 (c), F2 (F1 (y))), P (c, F2 (c), F2 (F1 (y)))} =
= {P (c, F2 (c), F2 (F1 (y)))}.
13. Множество W3 одноэлементно. Поэтому
σ3 = {c/z, F2 (c)/x, F1 (y)/u} —
НОУ для W . ¤
80 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Пример 2.8.7. Определить, унифицируемо ли множество
W = {P (F1 (c), F2 (x)), P (y, y)}.
1. Положим k = 0, W0 = W , σ0 = ε.
2. Множество W0 неодноэлементно, а множество рассогласований для W0
есть D0 = {F1 (c), y}.
3. Из D0 находим, что x0 = y, t0 = F1 (c).
4. Полагаем σ1 σ0 ◦ {F1 (c)/y} = {F1 (c)/y},
W1 {P (F1 (c), F2 (x)), P (F1 (c), F1 (c))}.
5. Присваиваем k = 1.
6. Множество W1 неодноэлементно, а множество рассогласований для W1
есть D1 = {F2 (x), F1 (c)}.
7. В D1 нет элемента, который был бы переменной. Поэтому
множество W не унифицируемо. ¤
Литерой сигнатуры Σ называется атомарная формула или отрицание
атомарной формулы сигнатуры Σ. Дизъюнктом сигнатуры Σ называется
литера сигнатуры Σ или дизъюнкция литер сигнатуры Σ.
(1) (2)
Примеры дизъюнктов сигнатуры Σ = {P (1) , F1 , F2 , c(0) } —
P (F1 (x)), ¬P (F1 (x)), P (F1 (x)) ∨ ¬(F1 (x) ≈ F2 (x, y)),
P (F2 (F1 (x), z)) ∨ ¬P (F2 (x, y)) ∨ (x ≈ c).
Пусть Φ — дизъюнкт сигнатуры Σ вида ψ1 ∨ . . . ∨ ψn ∨ χ или
¬ψ1 ∨. . .∨¬ψn ∨χ, где ψi — атомарные формулы сигнатуры Σ, 1 6 i 6 n. Пред-
положим, что множество формул {ψ1 , . . . , ψn } имеет НОУ σ. Тогда ψ1 σ ∨ χσ
или соответственно ¬ψ1 σ ∨ χσ называется склейкой дизъюнкта Φ. Получен-
ную формулу в дальнейшем будем обозначать через Φσ.
Пример 2.8.8. В формуле Φ = P (x) ∨ P (F (y)) ∨ ¬P2 (x) подформулы
P (x) и P (F (y)) имеют НОУ σ = {F (y)/x}. Следовательно,
Φσ = P (F (y)) ∨ ¬P2 (F (y)) —
склейка дизъюнкта Φ. ¤
2.8. МЕТОД РЕЗОЛЮЦИЙ В ИСЧИСЛЕНИИ ПРЕДИКАТОВ 81
Пусть Φ1 , Φ2 — два дизъюнкта, не имеющие общих переменных, L1 , L2 —
литеры в Φ1 и Φ2 соответственно. Если литеры L1 и L02 ≡ ¬L2 имеют НОУ σ,
то дизъюнкт, получаемый из дизъюнкта Φ1 σ∨Φ2 σ вычеркиванием L1 σ и L2 σ,
называется бинарной резольвентой Φ1 и Φ2 , а литеры L1 и L2 называются
отрезаемыми литерами. Если Φ1 σ = L1 и Φ2 σ = L2 , то полагаем бинарную
резольвенту Φ1 и Φ2 равной 0, т. е. некоторой противоречивой формуле.
Если Φ1 и Φ2 имеют общие переменные, то, заменив в формуле Φ2 эти
общие переменные на переменные, не встречающиеся в Φ1 и Φ2 , получим
формулу Φ02 , которая не имеет общих переменных с формулой Φ1 . Бинарной
резольвентой формул Φ1 и Φ2 называется бинарная резольвента фор-
мул Φ1 и Φ02 .
Пример 2.8.9. Найти бинарную резольвенту формул Φ1 P1 (x) ∨ P2 (x)
и Φ2 ¬P1 (c) ∨ P3 (x).
Заменив переменную x в Φ2 на y, получим Φ02 = ¬P1 (c) ∨ P3 (y). Выбираем
L1 = P1 (x), L2 = ¬P1 (c). Так как ¬L2 ≡ L02 = P1 (c), то L1 и L02 имеют НОУ
σ = {c/x}. Бинарная резольвента формул Φ1 и Φ02 получается из Φ1 σ ∨Φ02 σ =
= P1 (c)∨P2 (c)∨¬P1 (c)∨P3 (y) вычеркиванием P1 (c) и ¬P1 (c). Следовательно,
P2 (c) ∨ P3 (y) — бинарная резольвента Φ1 и Φ2 , а P1 (x) и ¬P1 (c) — отрезаемые
литеры. ¤
Резольвентой дизъюнктов Φ1 и Φ2 (обозначается res(Φ1 , Φ2 )) является
одна из следующих бинарных резольвент:
• бинарная резольвента Φ1 и Φ2 ;
• бинарная резольвента склейки Φ1 и Φ2 ;
• бинарная резольвента Φ1 и склейки Φ2 ;
• бинарная резольвента склейки Φ1 и склейки Φ2 .
Пример 2.8.10. Найти res(Φ1 , Φ2 ), где Φ1 = P (x) ∨ P (F (y)) ∨ P1 (F1 (y)),
Φ2 = ¬P (F (F1 (c1 ))) ∨ P2 (c2 ).
Склейка Φ1 есть Φ01 = Φ1 {F (y)/x} = P (F (y)) ∨ P1 (F1 (y)). Бинарная ре-
зольвента Φ01 и Φ2 есть P1 (F (F1 (c1 ))) ∨ P2 (c2 ). Следовательно, res(Φ1 , Φ2 ) =
= P1 (F (F1 (c1 ))) ∨ P2 (c2 ). ¤
Пусть S — множество дизъюнктов сигнатуры Σ. Резолютивный вывод
формулы Φ из S есть такая конечная последовательность формул
Φ1 , . . . , Φk , что Φk = Φ и каждая формула Φi или принадлежит S, или явля-
ется резольвентой формул, предшествующих Φi .
82 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
По определению резолютивный вывод можно рассматривать как доказа-
тельство в исчислении резольвент сигнатуры Σ (ИРΣ
S ), формулами которого
являются дизъюнкты сигнатуры Σ и символ противоречия 0, аксиомами —
дизъюнкты из множества S, а единственное правило вывода имеет вид:
Φ1 , Φ2
.
res(Φ1 , Φ2 )
Подобно тому как исчисления ИПΣ расширяют исчисление ИВ, исчисления
ИРΣ
S 0 являются расширениями исчислений ИРS при S ⊆ S .
0
Универсальным замыканием формулы Φ(x1 , . . . , xn ) называется предло-
жение ∀x1 , . . . , xn Φ(x1 , . . . , xn ).
Теорема 2.8.2 (теорема о полноте метода резолюций). Если S — мно-
жество дизъюнктов сигнатуры Σ, то множество универсальных замыка-
ний формул из S невыполнимо тогда и только тогда, когда существует
резолютивный вывод нуля из множества
S ∪ {(x ≈ x), ¬(x ≈ y) ∨ (y ≈ x), ¬(x ≈ y) ∨ ¬(y ≈ z) ∨ (x ≈ z)}. ¤
Пример 2.8.11. Доказать невыполнимость множества формул W =
= {Φ1 , Φ2 , Φ3 , Φ4 , Φ5 , Φ6 }, где
Φ1 = P1 (c1 , F (c2 ), F (c3 )), Φ2 = P2 (c1 ),
Φ3 = P1 (x, x, F (x)), Φ4 = ¬P1 (x, y, z) ∨ P3 (x, z),
Φ5 = ¬P2 (x) ∨ ¬P1 (y, z, u) ∨ ¬P3 (x, u) ∨ P3 (x, y) ∨ P3 (x, z), Φ6 = ¬P3 (c1 , c3 ).
Построим резолютивный вывод 0 из W :
Φ7 = res(Φ2 , Φ5 ) = res(Φ2 , Φ5 {z/y}) = ¬P1 (z, z, u) ∨ ¬P3 (c1 , u) ∨ P3 (c1 , z);
Φ8 = res(Φ3 , Φ7 ) = ¬P3 (c1 , F (x)) ∨ P3 (c1 , x);
Φ9 = res(Φ6 , Φ8 ) = ¬P3 (c1 , F (c3 ));
Φ10 = res(Φ4 , Φ9 ) = ¬P1 (c1 , y, F (c3 ));
Φ11 = res(Φ1 , Φ10 ) = 0. ¤
Пример 2.8.12. Выполнимо ли множество предложений {Φ1 , Φ2 }? Если
множество выполнимо, построить систему, на которой предложения Φ1 и Φ2
истинны:
Φ1 ∃y ∀x, z((P1 (x, z) → (P2 (x) ∧ P3 (y))) ∧ P4 (y));
Φ2 ∀x ((P4 (x) → ¬P3 (x)) ∧ ∃y P1 (x, y)).
2.8. МЕТОД РЕЗОЛЮЦИЙ В ИСЧИСЛЕНИИ ПРЕДИКАТОВ 83
Приведем формулы Φ1 и Φ2 к предклазуальной нормальной форме:
Φ1 ≡ ∃y ∀x, z ((¬P1 (x, z) ∨ P2 (x)) ∧ (¬P1 (x, z) ∨ P3 (y)) ∧ P4 (y)),
Φ2 ≡ ∀u ∃v ((¬P4 (u) ∨ ¬P3 (u)) ∧ P1 (u, v)).
Введением символов скулемовской константы c и скулемовской функции F
получаем, что выполнимость множества формул {Φ1 , Φ2 } сигнатуры
(2) (1) (1) (1)
Σ = {P1 , P2 , P3 , P4 } равносильна выполнимости множества формул
{∀x, z ((¬P1 (x, z) ∨ P2 (x)) ∧ (¬P1 (x, z) ∨ P3 (c)) ∧ P4 (c)),
(2.1)
∀u ((¬P4 (u) ∨ ¬P3 (u)) ∧ P1 (u, F (u)))}
сигнатуры Σ0 = Σ ∪ {c, F (1) }, что в свою очередь равносильно выполнимости
множества формул
{∀x, z (¬P1 (x, z) ∨ P2 (x)), ∀x, z (¬P1 (x, z) ∨ P3 (c)), P4 (c),
(2.2)
∀u (¬P4 (u) ∨ ¬P3 (u)), ∀u P1 (u, F (u))}.
Действительно, пусть множество формул {Φ1 , Φ2 } выполнимо. То-
гда существует алгебраическая система A = hA; Σi и элемент c0 ∈ A, для
которых A |= ∀x, z (¬P1 (x, z) ∨ P2 (x)) ∧ ∀x, z (¬P1 (x, z) ∨ P3 (c0 )) ∧ P4 (c0 ) и
A |= ∀u (¬P4 (u) ∨ ¬P3 (u)). Кроме того, для любого a ∈ A найдется эле-
мент в A, который обозначим через G(a), такой, что A |= P1 (a, G(a)), т. е.
A |= ∀u P1 (u, G(u)). Тогда в системе A0 = hA; Σ0 i, где c0 является интерпре-
тацией символа c ∈ Σ0 , а G — интерпретацией символа F ∈ Σ0 , истинны все
формулы из (2.2), а значит, и формулы из (2.1).
Напротив, если все формулы из (2.1) истинны в системе A0 = hA; Σ0 i,
то, очевидно, формулы (2.2) и Φ1 , Φ2 будут истинны и в системе A = hA; Σi.
Приведем формулы из (2.2) к КлНФ и исследуем на выполнимость с по-
мощью метода резолюций получившееся множество дизъюнктов
{¬P1 (x, z)∨P2 (x), ¬P1 (x, z)∨P3 (c), P4 (c), ¬P4 (u)∨¬P3 (u), P1 (u, F (u))}. (2.3)
Имеем
res(¬P1 (x, z) ∨ P3 (c), P1 (u, F (u))) = P3 (c),
res(P3 (c), ¬P4 (u) ∨ ¬P3 (u)) = ¬P4 (c),
res(¬P4 (c), P4 (c)) = 0.
Построили резолютивный вывод нуля. Следовательно, множество дизъ-
юнктов (2.3) невыполнимо. Тогда и множество предложений (2.1) невыпол-
нимо, что равносильно невыполнимости множества предложений {Φ1 , Φ2 }. ¤
84 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Пример 2.8.13. Выполнимо ли множество предложений {Φ1 , Φ2 , Φ3 }?
Если выполнимо, построить систему, на которой эти предложения истинны:
Φ1 ∃x (P1 (x) ∧ ∀y(P2 (y) → P3 (x, y)));
Φ2 ∀x (P1 (x) → ∀y (P4 (y) → ¬P3 (x, y)));
Φ3 ∀x (P2 (x) → ¬P4 (x)).
Приведем формулы Φ1 , Φ2 , Φ3 к ПКлНФ:
Φ1 ≡ ∃x ∀y (P1 (x) ∧ (¬P2 (y) ∨ P3 (x, y)));
Φ2 ≡ ∀z, u (¬P1 (z) ∨ ¬P4 (u) ∨ ¬P3 (z, u));
Φ3 ≡ ∀v (¬P2 (v) ∨ ¬P4 (v)).
Из полученных формул получаем следующие формулы, находящиеся
в КлНФ:
P1 (c) ∧ (¬P2 (y) ∨ P3 (c, y)), ¬P1 (z) ∨ ¬P4 (u) ∨ ¬P3 (z, u), ¬P2 (v) ∨ ¬P4 (v).
Так же, как в примере 2.8.12, строим множество дизъюнктов:
{P1 (c), ¬P2 (y) ∨ P3 (c, y), ¬P1 (z) ∨ ¬P4 (u) ∨ ¬P3 (z, u), ¬P2 (v) ∨ ¬P4 (v)}. (2.4)
Исследуем это множество на выполнимость с помощью метода резолюций:
res(P1 (c), ¬P1 (z) ∨ ¬P4 (u) ∨ ¬P3 (z, u)) = ¬P4 (u) ∨ ¬P3 (c, u);
(2.5)
res(¬P2 (y) ∨ P3 (c, y), ¬P4 (u) ∨ ¬P3 (c, u)) = ¬P2 (y) ∨ ¬P4 (y).
Других резольвент для множества (2.4) нет, поэтому резолютивный вывод
нуля из (2.4) не существует. Рассмотрим множество, составленное из кон-
стант, входящих в формулы (2.4), т. е. множество {c}. Определим на {c}
предикаты P1 , P2 , P3 , P4 так, чтобы множество формул из (2.4) и (2.5) вы-
полнялось на системе h{c}; P1 , P2 , P3 , P4 i. Из (2.5) следует, что необходимо
потребовать c ∈ / P4 , или hc, ci ∈ / P3 и c ∈ / P2 . Положим c ∈
/ P4 , hc, ci ∈
/ P3 ,
c∈/ P2 . Из (2.4) следует, что необходимо потребовать c ∈ P1 . Таким образом,
на системе h{c}; P1 , P2 , P3 , P4 , ci выполняются все формулы из (2.4). Более
того, на ней истинны все формулы из (2.4) с навешанными на них кванто-
рами всеобщности по переменным x, y, что равносильно истинности формул
Φ1 , Φ2 , Φ3 на системе h{c}; P1 , P2 , P3 , P4 i. ¤
2.8. МЕТОД РЕЗОЛЮЦИЙ В ИСЧИСЛЕНИИ ПРЕДИКАТОВ 85
Пример 2.8.14. Выполнимо ли множество предложений {Φ1 , Φ2 }? Если
выполнимо, построить систему, на которой эти предложения истинны:
Φ1 ∃u ∀x ∃z ∀y (P3 (z) ∧ ((P2 (x, z) ∧ ¬P1 (u)) ∨ ¬((P3 (y) → P1 (y)) → P1 (u))));
Φ2 ∀x (∃y P2 (x, y) → ¬P3 (x)).
Преобразуем формулы Φ1 и Φ2 к предклазуальной нормальной форме:
Φ1 ≡ ∃u ∀x ∃z ∀y (P3 (z) ∧ (P2 (x, z) ∨ ¬P3 (y) ∨ P1 (y)) ∧ ¬P1 (u));
Φ2 ≡ ∀v, w (¬P2 (v, w) ∨ ¬P3 (v)).
Исследуем на выполнимость множество дизъюнктов
{P3 (F (x)), P2 (x, F (x)) ∨ ¬P3 (y) ∨ P1 (y), ¬P1 (c), ¬P2 (v, w) ∨ ¬P3 (v)}, (2.6)
которое получается из преобразованных формул после введения символов
скулемовской константы c и скулемовской функции F . Имеем
res(¬P1 (c), P2 (x, F (x)) ∨ ¬P3 (y) ∨ P1 (y)) = P2 (x, F (x)) ∨ ¬P3 (c);
res(P2 (x, F (x)) ∨ ¬P3 (c), ¬P2 (v, w) ∨ ¬P3 (v)) = ¬P3 (c) ∨ ¬P3 (x);
res(P2 (x, F (x)) ∨ ¬P3 (y) ∨ P1 (y), ¬P2 (v, w) ∨ ¬P3 (v)) =
(2.7)
= ¬P3 (y) ∨ P1 (y) ∨ ¬P3 (x);
res(¬P3 (y) ∨ P1 (y) ∨ ¬P3 (x), P3 (F (x))) = P1 (F (x));
res(¬P2 (v, w) ∨ ¬P3 (v), P3 (F (x))) = ¬P2 (F (x), w).
Таким образом, резолютивного вывода нуля из множества (2.6) не су-
ществует. Построим алгебраическую систему A = hA; P1 , P2 , P3 , F, ci, в ко-
торой будут истинны формулы (2.6) и (2.7) с навешанными на них кван-
торами всеобщности по переменным x, y. Ясно, что c ∈ A. Так как A |=
¬P3 (c) ∧ ∀x P3 (F (x)), то c ∈ / P3 , F (c) 6= c. Положим A {c, c0 } и F (c) c0 .
Так как A |= ∀x P3 (F (x)) и c ∈ / P3 , то необходимо, чтобы F (c0 ) = c0 и c0 ∈ P3 .
Поскольку A |= ∀x, w (P1 (F (x)) ∧ ¬P2 (F (x), w)), полагаем c0 ∈ P1 , (c0 , c) ∈ / P2 ,
(c0 , c0 ) ∈
/ P2 . Предикаты P1 и P2 доопределяются произвольно. Таким обра-
зом, в системе h{c, c0 }; P1 , P2 , P3 i такой, что c0 ∈ P1 , (c0 , c), (c0 , c0 ) ∈
/ P2 , c ∈
/ P3 ,
0
c ∈ P3 , истинны формулы Φ1 и Φ2 . ¤
Следующий пример показывает, как формализуются предложения и ме-
тодом резолюций эффективно доказываются теоремы при переходе к соот-
ветствующим формализациям.
86 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Пример 2.8.15. Установить, что из посылки “Студенты суть граждане”
следует заключение “Голоса студентов суть голоса граждан”.
Пусть формулы S(x), C(x) и V (x, y) означают “x — студент”, “x — граж-
данин” и “x есть голос y” соответственно. Тогда посылка и заключение за-
пишутся следующим образом:
∀y (S(y) → C(y)) (посылка);
∀x (∃y(S(y) ∧ V (x, y)) → ∃z(C(z) ∧ V (x, z))) (заключение).
Формула, соответствующая посылке, эквивалентна дизъюнкту ¬S(y) ∨ C(y).
Так как
¬∀x(∃y(S(y) ∧ V (x, y)) → ∃z(C(z) ∧ V (x, z))) ≡
≡ ¬∀x(∀y(¬S(y) ∨ ¬V (x, y)) ∨ ∃z(C(z) ∧ V (x, z))) ≡
≡ ¬∀x∀y∃z(¬S(y) ∨ ¬V (x, y) ∨ (C(z) ∧ V (x, z))) ≡
≡ ∃x∃y∀z(S(y) ∧ V (x, y) ∧ (¬C(z) ∨ ¬V (x, z))),
получаем три дизъюнкта, определяющие отрицание заключения:
S(b), V (a, b), ¬C(z) ∨ ¬V (a, z).
Доказательство заканчивается следующим образом:
res(¬S(y) ∨ C(y), S(b)) = C(b);
res(C(b), ¬C(z) ∨ ¬V (a, z)) = ¬V (a, b);
res(V (a, b), ¬V (a, b)) = 0. ¤
§ 2.9. Логические программы
Приведенный метод резолюций служит основой языков логического про-
граммирования, главным отличием которых от “процедурных” языков яв-
ляется то, что программа не указывает, как что-либо следует делать для
решения задачи, а описывает некоторые элементы и связи между ними (си-
стему определенной сигнатуры) и ставит цель, т. е. задает вопрос об этой
системе (на формальном языке это означает проверить истинность предло-
жения на данной системе или найти элемент, удовлетворяющий заданной
формуле). При этом компьютер самостоятельно ищет стратегию для реше-
ния поставленных вопросов.
2.9. ЛОГИЧЕСКИЕ ПРОГРАММЫ 87
Логическая программа представляет собой конечный набор выражений,
каждая из которых имеет один из следующих видов:
P (t1 , . . . , tn )., (2.8)
Q(s1 , . . . , sk ) :- Q1 (s1 , . . . , sk ), . . . , Qm (s1 , . . . , sk )., (2.9)
где P (t1 , . . . , tn ), Q(s1 , . . . , sk ), Q1 (s1 , . . . , sk ), . . . , Qm (s1 , . . . , sk ) — атомарные
формулы сигнатуры Σ. При этом в конце каждого выражения ставится точ-
ка. Выражения первого вида называются фактами, а второго — правилами.
Каждый факт интерпретируется отношением между объектами, а прави-
ло (2.9) читается как “если истинны Q1 (s1 , . . . , sk ), . . . , Qm (s1 , . . . , sk ), то ис-
тинно Q(s1 , . . . , sk )”. Формула Q(s1 , . . ., sk ) называется заголовком прави-
ла (2.9). Правила позволяют выводить новые факты из уже имеющихся.
Таким образом, логическая программа состоит из конечного числа фак-
тов и правил:
A.
...
M.
N :- N1 , . . . , Nm .
...
Z :- Z1 , . . . , Zm .
В фактах описывается алгебраическая система, для которой с помощью пра-
вил выводятся некоторые ее свойства.
Логическая программа задает множество следствий, которые являются
результатом программы. Таким образом, выполнение логической програм-
мы — это вывод следствий.
Для выполнения программы требуется обратиться к целевому запросу
(цели), который представляет собой последовательность атомарных формул
(с точкой в конце!) вида
R1 (q1 , . . . , ql ), . . . , Rp (q1 , . . . , ql ).. (2.10)
Выполнение программы состоит в попытке решить задачу, т. е. доказать
целевое утверждение (2.10), используя факты и правила, заданные в логи-
ческой программе.
88 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Семантика логической программы представляется в двух видах — логи-
ческая семантика и процедурная семантика. Определим сначала логическую
семантику.
Каждому факту (2.8) поставим в соответствие предложение
ϕ ∀x1 , . . . , xs P (t1 , . . . , tn ),
где x1 , . . . , xs — все переменные, входящие в формулу P (t1 , . . ., tn ).
Каждому правилу (2.9) поставим в соответствие предложение
ψ ∀y1 , . . . , yr (Q1 (s1 , . . . , sk ) ∧ . . . ∧ Qm (s1 , . . . , sk ) →
→ Q(s1 , . . . , sk )),
где y1 , . . . , yr — все переменные, входящие в формулы Q1 (s1 , . . ., sk ), . . .,
Qm (s1 , . . . , sk ), Q(s1 , . . . , sk ).
Запрос (2.10) получит в соответствие формулу
χ ∃z1 , . . . , zd (R1 (q1 , . . . , ql ) ∧ . . . ∧ Rp (q1 , . . . , ql )),
где кванторы существования связывают все переменные.
Пусть ϕ1 , . . . , ϕa — предложения, соответствующие всем фактам,
ψ1 , . . . , ψb — всем правилам. Тогда значение пары hпрограмма, запросi
в логической семантике есть утверждение о том, что секвенция
ϕ1 , . . . , ϕ a , ψ 1 , . . . , ψb ` χ
доказуема. Для того чтобы выяснить, так ли это, применяется метод резо-
люций.
Операционная семантика определяет действия компьютера при ответе
на запрос. При этом предполагается наличие логической машины, называе-
мой интерпретатором, которая осуществляет процесс логического вывода.
Механизм этого вывода использует алгоритм унификации.
Пример 2.9.1. Рассмотрим действия интерпретатора на примере следу-
ющей логической программы:
R(a, b).
Q(b, g(c)).
P (x, f (y)) :- R(x, z), Q(z, f (y)).
P (x, f (y)) :- R(x, z), Q(z, g(y)).
R(x, z) :- Q(f (x), g(z)).
Здесь a, b, c — константы, x, y, z — переменные.
2.9. ЛОГИЧЕСКИЕ ПРОГРАММЫ 89
Предположим, что целевой запрос имеет вид
P (u, f (v)). (2.11)
При вычислении ответа на этот запрос, интерпретатор формулирует цель
P (u, f (v)) и пытается ее достичь, унифицируя цель с фактами. В нашем
случае цель P (u, f (v)) не унифицируется ни с одним из фактов. Тогда ин-
терпретатор пытается ее унифицировать с заголовком одного из правил.
Это можно сделать с заголовком первого правила с помощью подста-
новки {u/x, v/y}. Но предварительно нужно проверить истинность посылок
первого правила. Для этого интерпретатор формирует запрос
R(x, z), Q(z, f (y)).
Цель R(x, z) достигается за счет унификации с первым фактом посред-
ством подстановки σ = {a/x, b/z}. Теперь следующим запросом является
Q(b, f (y)). Но эта цель не достижима, поскольку не унифицируется ни с од-
ним из фактов, ни с заголовками правил.
После этого происходит возврат к запросу P (u, f (v)) и цели R(x, z). Дела-
ется попытка достичь этой цели при помощи второго правила. Цель R(x, z)
снова достигается унификацией с первым фактом при подстановке σ, а цель
Q(b, g(y)) достигается в силу того, что унифицируется со вторым фактом при
помощи подстановки {c/y}. Следовательно, цель (2.11) достигается подста-
новкой {a/u, c/v}. Поэтому интерпретатор на этом заканчивает свою работу
и выдает найденную подстановку. Выполнение программы считается
успешно завершенным, и при этом найдено доказательство формулы
∃u, v P (u, f (v)). ¤
Для реализации идей логического программирования разработаны раз-
личные языки логического программирования, среди которых наиболее за-
метным является язык ПРОЛОГ. В его реализации ТУРБО ПРОЛОГ струк-
тура логической программы имеет следующий вид:
domains<структуры и типы данных>
global domains<внешние структуры и типы данных>
data base<глобальные предикаты динамической базы данных>
predicates<определение предикатов>
global predicates<внешние предикаты>
goal<цели>
clauses<факты и правила>
90 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Пример 2.9.2. Приведем логическую программу для выяснения род-
ственных связей:
domains
name=symbol
predicates
parent(name,name)
father(name,name)
mother(name,name)
grandfather(name,name)
grandmother(name,name)
clauses
mother(Людмила,Сергей).
father(Александр,Сергей).
mother(Раиса,Людмила).
father(Виктор,Людмила).
mother(Валентина,Александр).
father(Василий,Александр).
parent(X,Y) :- mother(X,Y).
parent(X,Y) :- father(X,Y).
grandfather(X,Y) :- father(X,Z),parent(Z,Y).
grandmother(X,Y) :- mother(X,Z),parent(Z,Y).
Рассматривая запрос
?- grandfather(X,Сергей).
(“Кто является дедушкой Сергея?”), программа выдает первый правильный
ответ “Виктор”, а при дополнительном обращении — и второй ответ “Васи-
лий”.
Задачи и упражнения
1. Пусть f (1) , g (2) , h(3) — функциональные, а P (1) , Q(3) — предикатные символы.
Являются ли формулами следующие слова:
а) P (f (x)) ∧ ∀x ¬Q(g(y, z), x, h(z, y, x));
б) P (Q(x, g(x, y), h(x, y, z)));
в) h(x, g(x, y), f (x))?
ЗАДАЧИ И УПРАЖНЕНИЯ 91
2. Выписать все подформулы формулы:
а) Q(x, g(x, y), h(x, y, z));
б) (∀x ¬P (x) → ¬∃y (∀z P (x) ∧ Q(x, y, z))).
3. Перечислить свободные и связанные вхождения в следующих формулах:
а) ∃x (P (x, y) ∨ ¬∀y Q(x, y));
б) (¬∀x P (x, y) → Q(f (x, y))).
4. Определим на множестве людей следующие отношения:
отец(x, y) — x является отцом для y;
мать(x, y) — x является матерью для y;
муж(x, y) — x является мужем для y;
жена(x, y) — x является женой для y;
м(x) — x имеет мужской пол;
ж(x) — x имеет женский пол.
В сигнатуре указанных отношений описать следующие отношения:
а) брат(x, y) — x является братом для y;
б) сестра(x, y) — x является сестрой для y;
в) сын(x, y) — x является сыном для y;
г) дочь(x, y) — x является дочерью для y;
д) племянник(x, y) — x является сыном брата или сестры для y;
е) племянница(x, y) — x является дочерью брата или сестры для y;
ж) зять(x, y) — x является мужем дочери или сестры для y;
з) невестка(x, y) — x является женой сына или брата для y.
5. Пусть M — множество точек, прямых и плоскостей трехмерного евклидова
пространства со следующими отношениями:
точка(x) — x является точкой;
прямая(x) — x является прямой;
плоскость(x) — x является плоскостью;
I(x, y) — x лежит на y;
M = hM ; Σi, где Σ = {точка(1) , прямая(1) , плоскость(1) , I (2) }.
92 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
Написать формулы сигнатуры Σ, задающие:
а) существование прямой, проходящей через любые две точки, а также
единственность такой прямой, если точки различны;
б) существование плоскости, проходящей через любые три точки, а также
единственность такой плоскости, если точки не лежат на одной прямой;
в) определение параллельности прямых;
г) существование параллельных прямых;
д) отсутствие параллельных прямых;
е) определение параллельности плоскостей;
ж) существование параллельных плоскостей;
з) отсутствие параллельных плоскостей;
и) определение параллельности прямой и плоскости;
к) существование скрещивающихся прямых.
Какие из написанных формул являются предложениями, какие из этих пред-
ложений истинны в системе M?
6. Написать предложение, истинное в системе hN; ·i и ложное в системе hZ; ·i.
7. Написать формулу сигнатуры Σ = {+, ·}, имеющую одну свободную пере-
менную x и истинную в системе N = hN; +, ·i тогда и только тогда, когда:
а) x = 0;
б) x = 1;
в) x = 2;
г) x четно;
д) x нечетно;
е) x — простое число;
ж) x — составное число.
8. Написать формулу сигнатуры Σ = {+, ·}, имеющую две свободные перемен-
ные x, y и истинную в системе N из задачи 7 тогда и только тогда, когда
а) x = y;
б) x ≤ y;
в) x < y;
г) x делит y;
д) x и y взаимно просты.
ЗАДАЧИ И УПРАЖНЕНИЯ 93
9. Написать формулу сигнатуры Σ = {+, ·}, имеющую три свободные перемен-
ные x, y, z и истинную в системе N из задачи 7 тогда и только тогда, когда
a) z = НОД(x, y);
б) z = НОК(x, y);
в) z находится между x и y.
10. Решить задачи 7–9 для системы Z = hZ; +, ·i вместо системы N.
11. Решить задачи 6–10 после замены функциональной сигнатуры {+(2) , ·(2) }
на предикатную сигнатуру {S (3) , P (3) }, где (a, b, c) ∈ S ⇔ a + b = c,
(a, b, c) ∈ P ⇔ a · b = c.
12. Выполнимы ли следующие формулы:
а) ∀x P (x);
б) ∃x P (x);
в) ∀x, y (P (x) ∧ ¬P (y));
г) ∃x, y (P (x) ∧ ¬P (y));
д) P (x) → ∀y P (y);
е) ∃x∀y (Q(x, x) ∧ ¬Q(x, y));
ж) ∀x∃y (Q(x, y) ∧ ¬(x ≈ y));
з) ∀x Q(x, x);
и) ∀x, y (Q(x, y) → Q(y, x));
к) ∀x, y (Q(x, y) ∧ Q(y, x) → (x ≈ y));
л) ∀x, y, z (Q(x, y) ∧ Q(y, z) → Q(x, z));
м) ∀x, y (Q(x, y) ∨ Q(y, x));
н) ∃x∀y Q(x, y);
о) ∀x ∀y ∃z (Q(x, z) ∧ Q(z, y) ∧ ¬(x ≈ z) ∧ ¬(z ≈ y))?
13. Для каждой тройки (ϕ, ψ, χ) формул из задачи 12 проверить, будет ли мно-
жество {ϕ, ψ, χ} выполнимо. Каковы могут быть мощности моделей для этих
выполнимых множеств?
14. Установить, удовлетворяет ли формула ϕ условию на запись (ϕ)xt :
а) (∀y P (x, y))xf(x,z) ;
б) (P (x, z) → ∃y Q(y, z))zf (x,y) .
94 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
15. Доказать тождественную истинность формул:
а) ∀x ϕ → (ϕ)xy ;
б) (ϕ)xy → ∃x ϕ;
в) ∀x (ϕ(x) → ¬ψ(x)) → ¬(∃x ϕ(x) ∧ ∀x ψ(x));
г) (∀x ¬ϕ(x) ∧ ∃x ψ(x)) ∨ (∃x ψ(x) → ∃x ϕ(x));
д) (∃x ϕ(x) ∧ ∀x ¬ψ(x)) ∨ (∃x ϕ(x) → ∃x ψ(x));
e) ∀x (ϕ(x) → ψ(x)) ∨ ∃x (ϕ(x) ∧ ¬ψ(x));
ж) ∃x (ϕ(x) ∧ (ψ → χ(x))) → (∀x (ϕ(x) → ¬χ(x)) → ¬ψ), где переменная x
не входит свободно в формулу ψ.
16. Доказать выводимость в ИПС секвенций:
а) ` (∀x∀y ϕ(x, y) → ∀x ϕ(x, x));
б) ` (∃x ϕ(x, x) → ∃x∃y ϕ(x, y));
в) ∀x (ϕ ↔ ψ) ` (∀x ϕ ↔ ∀x ψ);
г) ∀x (ϕ ↔ ψ) ` (∃x ϕ ↔ ∃x ψ).
17. Доказать выводимость в ИПС формул из задачи 15.
18. Проверить, выводимы ли в ИПС формулы:
а) ∃x ϕ(x) ∧ ∃x ψ(x) → ∃x (ϕ(x) ∧ ψ(x));
б) (ϕ(x) → ψ(x)) → (∃x ϕ(x) → ∀x ψ(x));
в) ∃x (ϕ(x) → ψ(x)) ↔ (∀x ϕ(x) → ∃x ψ(x)).
19. Гипотеза четырех красок утверждает, что любую карту можно раскрасить
четырьмя красками так, что никакие соседние страны не будут иметь оди-
наковый цвет. Показать, что если гипотеза четырех красок справедлива для
карт с конечным числом стран, то она справедлива для всех карт.
20. Привести к ПНФ, ПКлНФ и КлНФ формулы:
а) ¬∃x∀y∃z∀u (P (x, y) ∧ Q(z, u));
б) ∃x∀y P (x, y) ∧ ∀y∃x Q(x, y);
в) ∀x∃y P (x, y) ∨ ∃x∀y Q(x, y);
г) ∀x (∃y P (x, y) → ∃y Q(x, y)) → ∀x∃y R(x, y);
ЗАДАЧИ И УПРАЖНЕНИЯ 95
д) ∃x∀yP (x, y) ∧ ∃x(∀y P (x, y) → ∀y Q(x, y));
е) ∀x(∃y P (x, y) → ∀y Q(x, y)) ∧ ∃x(∀y P (x, y) → ∃y Q(x, y));
ж) ¬(∃x∃y P (x, y) ∨ ¬∃x∃y Q(x, y)) ∧ ∀x∃y R(x, y);
з) ¬∃x(∀y P (x, y) ∨ ∃y Q(x, y) ∨ ∀z(∃y P (y, z) ∧ ∀y Q(y, z)));
и) ∃x∀y P (x, y) ∧ ∃x∀y Q(x, y) ∧ ∃x∀y (P (x, y) → Q(x, y));
к) ∀x(∃y P (x, y) ∨ ∀y Q(x, y) ∨ ∃y R(x, y)) ∧ ∀x∀y P (x, y);
л) ∃x∃y (P (x, y) → Q(x, y)) → ∀x∃y R(x, y);
м) (P (x, y) ∧ ∀x∃y Q(x, y)) → ∀x∃y R(x, y);
н) ¬((∃x∀y P (x, y) ∨ ∃x∃y Q(x, y)) ∧ ∃x∃y R(x, y));
о) ∀x(∃y P (x, y) ∧ ∃y Q(x, y)) ∨ ∀x∃y Q(x, y);
п) (∃x∃y P (x, y) ∨ ∃x∀y Q(x, y)) ∧ ∃x∃y R(x, y);
р) ∀x∃y P (x, y) → ∃x∃y Q(x, y) ∧ ∀x∃yR(x, y);
с) ¬(∀x ∀y P (x, y) → ∀x ∀y R(x, y)) ∨ ∀x ∀y P (x, y).
21. Построить все попарные композиции θi ◦ θj подстановок сигнатуры
(0) (0) (1) (2)
Σ = {c1 , c2 , F1 , F2 }:
θ1 = {F1 (y)/x, F2 (x, z)/y, c1 /z};
θ2 = {F2 (F1 (x), y)/x, F1 (c1 )/y, F1 (z)/z};
θ3 = {F1 (c1 )/x, c2 /y, x/z};
θ4 = {y/x, z/y, x/z}.
22. Определить, унифицируемо ли множество W . В случае унифицируемости
найти наиболее общий унификатор:
а) W = {P (c1 ), P (c2 )};
б) W = {P (c, x), P (c, c)};
в) W = {P (c, x, F (x)), P (c, y, y)};
г) W = {(F (u, F1 (x, y)) ≈ x), (F (y, z) ≈ x), (F (u, F1 (c, z)) ≈ x)};
д) W = {P (x, y, z), P (u, F (v, v), u)};
е) W = {(F (x, F1 (c, y), x) ≈ u), (F (F2 (c), u, F2 (c)) ≈ F1 (c, y))};
ж) W = {P (x, y, F (z)), P (F (c), F (F1 (y, c)), c)};
з) W = {P (F (x), F (y, c), x), P (F (c), z, u), P (F (x), F1 (u, c), y)};
96 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
и) W = {(F (x, y, F1 (x, y)) ≈ z), (u ≈ z), (F (u, y, F1 (x, y)) ≈ z)};
к) W = {(F (x, F1 (x, y)) ≈ z), (F (F1 (z, c), F1 (F1 (u, y), y)) ≈ c),
(F (F1 (c, y), F1 (u, c)) ≈ z)};
л) W = {P (F (x), u, F1 (u, c)), P (F (y), z, c)};
м) W = {P (x, y, u, c), P (c, F (x), c, x), P (u, F (c), c, c)};
н) W = {(F (x, c, F1 (y, z)) ≈ z), (F (y, x, F1 (z, F1 (x, c))) ≈ z)};
о) W = {P (F (x, y), z, F (c, z)), P (F (x, c), z, u), P (u, c, F (c, c))};
п) W = {P (F (c), x, F1 (y, z)), P (F (u), F1 (u, c), F1 (y, F (c)))};
р) W = {(F (x, y, z) ≈ F1 (x, y)), (F (F1 (c, y), c, z) ≈ u),
(F (F1 (c, y), c, F1 (x, x)) ≈ u)};
с) W = {P (x, F (x, y, c), z), P (F1 (y), F (F1 (c), y, z), c)};
т) W = {P (F (x), F1 (F (x), y), c), P (y, F1 (F (c), F (z)), c), P (F (x), u, x)};
у) W = {(F (F (x, y, c), y, c) ≈ F1 (x)), (F (u, u, x) ≈ F1 (y))}.
23. Определить, имеют ли склейки следующие дизъюнкты. Если да, построить
их:
а) P1 (x) ∨ P2 (y) ∨ P1 (F (x));
б) P1 (x) ∨ P1 (c) ∨ P2 (F (x)) ∨ P2 (F (c));
в) (F1 (x) ≈ F2 (y)) ∨ (F1 (F2 (c)) ≈ F2 (y)) ∨ (F1 (z) ≈ F2 (z));
г) P (x, y) ∨ P (c, F (c));
д) P (c1 ) ∨ P (c2 ) ∨ P (x);
е) P1 (x) ∨ P1 (F (y)) ∨ P2 (x, y);
ж) (F1 (c1 ) ≈ x) ∨ (F1 (F1 (x)) ≈ x);
з) ¬P1 (x, c1 ) ∨ P2 (F (x, y), c2 ) ∨ ¬P1 (F1 (c2 ), y).
24. Найти все возможные резольвенты следующих пар дизъюнктов:
а) ¬P1 (x) ∨ P2 (x, c1 ), P1 (c2 ) ∨ P2 (c2 , c1 );
б) ¬P1 (x) ∨ P2 (x, x), ¬P2 (c, F (c));
в) (F1 (x) ≈ F2 (y, c1 )) ∨ P1 (x), ¬(F1 (F1 (y)) ≈ z) ∨ ¬P1 (F1 (y));
г) ¬P (x, y, u) ∨ ¬P (y, z, v) ∨ ¬P (x, v, w) ∨ P (u, z, w), P (F (x, y), x, y);
д) ¬P (v, z, v) ∨ P (w, z, w), P (w, F (x, x), w).
ЗАДАЧИ И УПРАЖНЕНИЯ 97
25. Проверить выполнимость следующих множеств формул:
а) {¬P1 (x) ∨ (F1 (x) ≈ x), P1 (F2 (c)) ∨ ¬(y ≈ x)};
б) {P1 (c1 ), ¬P2 (y) ∨ P3 (c1 , y), ¬P1 (x) ∨ ¬P4 (y) ∨ ¬P3 (x, y), P2 (c2 ), P4 (c2 )};
в) {(y ≈ c) ∨ (F (y) ≈ y), ¬(x ≈ y) ∨ ¬(y ≈ c)};
г) {P1 (c) ∨ P2 (x), ¬P1 (x) ∨ P2 (x), ¬P2 (c) ∨ ¬P3 (c), P3 (x)};
д) {P1 (x, y, u, v) ∨ (F1 (x, y) ≈ F2 (u, v)), ¬P2 (c1 , c2 , c4 , c3 , c4 , c2 ),
¬(F1 (x, y) ≈ F2 (u, v)) ∨ P2 (x, y, v, u, v, y), ¬P1 (c1 , c2 , c3 , c4 )};
е) {P (F1 (x, y), x, y), ¬P (x, F2 (x, y), y), ¬P (F3 (x), x, F3 (x)),
¬P (x, y, u) ∨ P (y, z, v) ∨ ¬P (x, v, w) ∨ P (u, z, w)};
ж) {¬P1 (x) ∨ P2 (x) ∨ P3 (x, F (x)), ¬P1 (x) ∨ P2 (x) ∨ P4 (F (x)), P5 (c), P1 (c),
¬P3 (c, y) ∨ P5 (y), ¬P5 (x) ∨ ¬P2 (x), ¬P5 (x) ∨ ¬P4 (x)};
з) {P (F1 (x, y), x, y), P (x, F2 (x, y), y), ¬P (F4 (x), x, F4 (x)), P (x, y, F3 (x, y)),
¬P (x, y, u) ∨ ¬P (y, z, v) ∨ ¬P (x, v, w) ∨ P (u, z, w),
¬P (x, y, u) ∨ ¬P (y, z, v) ∨ ¬P (u, z, w) ∨ P (x, v, w)};
и) {P (x, c, F (x)), ¬P (c, c, v) ∨ ¬P (c, v, w),
¬P (x, y, z) ∨ ¬P (z, y, u) ∨ P (x, F (y), u)};
к) {P1 (x, y, z) ∨ P2 (x, c, z, u) ∨ ¬P3 (x, y), ¬P1 (c, c, F2 (z)), P3 (y, z),
P1 (x, z, y) ∨ ¬P2 (x, x, y, F1 (x, y))};
л) {P1 (x, y, z) ∨ P2 (F1 (x), u) ∨ (F2 (y, z) ≈ F3 (u, v)), ¬P2 (x, F4 (c, c)),
¬(F2 (x, y) ≈ F3 (F4 (x, y), u)), ¬P1 (F1 (x), x, y) ∨ (F2 (x, y) ≈ F3 (z, x))};
м) {P1 (x, F1 (x, y)) ∨ ¬P2 (F1 (x, y), z) ∨ P3 (F2 (z), x), P2 (x, c2 ) ∨ P3 (F (c2 ), x),
¬P1 (F2 (c1 ), y), ¬P3 (F (c2 ), x)}.
26. Установить, выполнимо ли множество предложений {Φ1 , . . . , Φn }. Если мно-
жество выполнимо, построить для него модель:
а) Φ1 ¬∀x (P (x) → ∀y (P (y) → ((Q(x) → ¬Q(y)) ∨ ∀z P (z))));
б) Φ1 ∀y∃x ¬(P (y) → ((P (x) → Q(x)) → ((Q(x) → R(x)) → R(y))));
в) Φ1 ∃y∀x (P (x) ↔ ¬P (y));
г) Φ1 ∀x∃y (P (x) ↔ ¬P (y));
д) Φ1 ∀x ∀y (P1 (x, y) → P2 (x, y)),
Φ2 ∀x ∀y (P2 (x, y) → P3 (x, y)),
Φ3 ∃x ∃y P1 (x, y);
98 Глава 2. ЛОГИКА И ИСЧИСЛЕНИЯ ПРЕДИКАТОВ
е) Φ1 ∀x ((P1 (x) ∧ ¬P2 (x)) → ∃y (P3 (x, y) ∧ P4 (y))),
Φ2 ∃x (P5 (x) ∧ P1 (x) ∧ ∀y (P3 (x, y) → P5 (y))),
Φ3 ∀x (P5 (x) → ¬P2 (x));
ж) Φ1 ¬∀x∃y (¬P3 (F (x), x) → ¬(¬P2 (y, x) → P3 (F (x), y))),
Φ2 ∃x∀y∀z∃v∀u¬(¬P1 (F (x), z) → ¬(P2 (v, u) → (P3 (F (v), y) ∨ P1 (y, v)))),
Φ3 ∀x (F (F (x)) ≈ F (x));
з) Φ1 ∀x∀y (P1 (x) → (P4 (y) → ¬P3 (x, y))),
Φ2 ∃x∀y ¬(P1 (x) → (P2 (y) ∧ ¬P3 (x, y))),
Φ3 ∃x (P2 (x) ∧ P4 (x)).
27. Установить, справедливы ли секвенции ϕ1 , . . . , ϕn ` ψ, если формулы ϕi и ψ
символизируют следующие утверждения:
а) ϕ1 : Каждый студент честен;
ϕ2 : Пьер нечестен;
ψ: Пьер — не студент;
б) ϕ1 : Каждый атлет силен;
ϕ2 : Каждый, кто силен и умен, добьется успеха в своей карьере;
ϕ3 : Иван умен;
ϕ4 : Иван — атлет;
ψ: Иван добьется успеха в своей карьере;
в) ϕ1 : Святого Франциска любит каждый, кто любит кого-нибудь;
ϕ2 : Каждый кого-нибудь любит;
ψ: Найдется тот, кто не любит Святого Франциска;
г) в условиях пункта в) заключение ψ заменено на следующее: каждый лю-
бит Святого Франциска;
д) ϕ1 : Каждый, кто хранит деньги, получает проценты;
ψ: Если не выплачивается никаких процентов, то никто не хранит
деньги;
е) ϕ1 : Те, кто не изучил материал, не решили ни одной задачи;
ϕ2 : Степан решил задачу;
ψ: Степан изучил материал.
Глава 3
ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Теория моделей — раздел математической логики, изучающий связи меж-
ду формальным языком (синтаксисом, или информацией) и его интерпре-
тациями (семантикой, или реальными объектами). Взаимовлияние синтак-
сических и семантических объектов позволяет устанавливать их однознач-
ную или неоднозначную определенность, выявлять возможности варьиро-
вания, проводить классификацию. В самостоятельную область математики
теория моделей выделилась в 50-е годы двадцатого века благодаря рабо-
там А. И. Мальцева, А. Тарского, К. Гёделя, Л. Лёвенгейма, Т. Скулема,
Г. Биркгофа и других.
Мы будем рассматривать теорию моделей логики первого порядка,
техника которой получила наиболее существенное развитие.
§ 3.1. Элементарная эквивалентность.
Теоремы Лёвенгейма — Скулема
В § 2.1 (теорема 2.1.3) было показано, что на изоморфных системах ис-
тинны одни и те же предложения, т. е. изоморфные системы идентичны
в описательном смысле. Вместе с тем зачастую описательная часть не мо-
жет гарантировать однозначности их моделей с точностью до изоморфизма.
В этом параграфе мы покажем, что истинность одних и тех же предложе-
ний на алгебраических системах равносильна возможности расширения ко-
нечных частичных изоморфизмов. В частности, будет установлено, что для
конечных систем из истинности на них одних и тех же предложений следует
их изоморфность.
100 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Две алгебраические системы A и B сигнатуры Σ называются элементар-
но эквивалентными (обозначаются A ≡ B), если для любого предложе-
ния ϕ сигнатуры Σ истинность A |= ϕ равносильна истинности B |= ϕ.
Множество предложений {ϕ | A |= ϕ} сигнатуры Σ называется элемен-
тарной теорией или просто теорией системы A и обозначается через Th(A).
Очевидно, что условие A ≡ B равносильно равенству Th(A) = Th(B).
Заметим, что слово “элементарная” в терминах “элементарная эквива-
лентность” и “элементарная теория” объясняется тем, что любая формула
исчисления предикатов выражает свойства систем через указание связей
между их элементами, поскольку кванторы навешиваются лишь на пере-
менные из множества V .
Пример 3.1.1. Рассмотрим систему A1 hZ; s(1) i с одной одноместной
функцией следования s: Z ↔ Z, где s(n) = n + 1 для каждого n ∈ Z. Обо-
значим через An систему сигнатуры {s}, имеющую n компонент связности,
каждая из которых изоморфна системе A1 , n ∈ ω \ {0}. Нетрудно заметить,
что все системы An имеют одну и ту же элементарную теорию. При этом
модели Am и An изоморфны тогда и только тогда, когда m = n. Модель Aω ,
состоящая из ω компонент связности, изоморфных A1 , также элементарно
эквивалентна всем моделям An , но ни одной из них не изоморфна. ¤
Пусть A и B — алгебраические системы сигнатуры Σ. Разнозначное отоб-
ражение f : X → B, где X ⊆ A, называется частичным изоморфизмом A
в B, если для любых элементов a1 , . . . , an ∈ X выполняются следующие
условия:
1) для любого функционального символа F (n) ∈ Σ, соответствующих
функций FA и FB в системах A и B выполняется
f (FA (a1 , . . . , an )) = FB (f (a1 ), . . . , f (an ));
2) для любого предикатного символа P (n) ∈ Σ, соответствующих преди-
катов PA и PB в системах A и B выполняется
(a1 , . . . , an ) ∈ PA ⇔ (f (a1 ), . . . , f (an )) ∈ PB .
Частичный изоморфизм f : X → B называется конечным, если множе-
ство X конечно.
3.1. ЭЛЕМЕНТАРНАЯ ЭКВИВАЛЕНТНОСТЬ 101
Теорема 3.1.1. Пусть A и B — алгебраические системы сигнатуры Σ.
Следующие условия эквивалентны:
1) системы A и B элементарно эквивалентны;
2) для любого n ∈ ω и любой конечной сигнатуры Σ0 ⊆ Σ существуют
непустые множества Φ1 (Σ0 , n), . . . , Φn (Σ0 , n) конечных частичных изомор-
физмов A ¹ Σ0 в B ¹ Σ0 такие, что для любого f ∈ Φi (Σ0 , n), 1 ≤ i < n,
и любых a ∈ A, b ∈ B существуют g1 , g2 ∈ Φi+1 (Σ0 , n), для которых a ∈ δg1 ,
b ∈ ρg2 и f ⊆ g1 ∩ g2 . ¤
Следствие 3.1.2. Если A и B — алгебраические системы сигнатуры Σ
и система A конечна, то A ≡ B тогда и только тогда, когда A ' B.
Доказательство. Импликация A ' B ⇒ A ≡ B установлена в теоре-
ме 2.1.3. Предположим, что A ≡ B и A — конечная система, содержащая m
элементов. Поскольку в системе A истинно предложение
ÃÃ ! Ãm !!
^ _
∃x1 , . . . , xm ¬(xi ≈ xj ) ∧ ∀x0 (x0 ≈ xi ) ,
1≤i<j≤m i=1
в системе B это предложение также истинно и B содержит ровно m элемен-
тов. Так как на конечном множестве имеется лишь конечное число попарно
различных отношений и операций фиксированной местности, существует не
более чем счетная сигнатура Σ0 ⊆ Σ, интерпретации которой в системе A
представляют в системе A интерпретации всех сигнатурных символов из Σ.
Поэтому достаточно показать, что A ¹ Σ0 ' B ¹ Σ0 .
Рассмотрим
S последовательность сигнатур Σk , k ∈ ω, таких, что
Σ0 = Σk , где Σk конечны и Σk ⊆ Σk+1 , k ∈ ω. Для любых k, n ∈ ω
k∈ω
и 1 ≤ i ≤ n рассмотрим множества конечных частичных изоморфизмов
Φi (Σk , n) из теоремы 3.1.1. Из условий на множества Φi (Σk , n) и
конечности носителя системы A следует существование изоморфизма
fk : A ¹ Σk f
→ B0 ¹ Σk , где B0 ⊆ B. Так как мощности систем B0 , A и B
равны, то B0 = B. Поскольку число биекций f : A ↔ B конечно, найдется
такое число k0 ∈ ω, что fk0 : A ¹ Σk f
→ B ¹ Σk для всех k ∈ ω. Следовательно,
fk0 — изоморфизм систем A и B. ¤
Следующим определением выделяется множество подсистем данной си-
стемы, сохраняющих свойства наборов элементов.
Подсистема A = hA; Σi системы B = hB; Σi называется элементарной
подсистемой (обозначается A 4 B), если для любой формулы ϕ(x1 , . . . , xn )
102 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
сигнатуры Σ и любых элементов a1 , . . ., an ∈ A условие A |= ϕ(a1 , . . . , an )
равносильно условию B |= ϕ(a1 , . . . , an ). При этом система B называется
элементарным расширением системы A. Если A 6= B, вместо записи A 4 B
пишут A ≺ B. Если A ⊆ B и условие A 4 B (A ≺ B) не выполняется, будем
писать A 64 B (соответственно A ⊀ B).
Для проверки элементарности подсистемы используются следующие два
предложения.
Предложение 3.1.3. Пусть A и B — алгебраические системы сигна-
туры Σ, A ⊆ B. Следующие условия эквивалентны:
(1) A 4 B;
(2) для любой формулы ϕ(x0 , x1 , . . . , xn ) сигнатуры Σ и любых элемен-
тов a1 , . . . , an ∈ A из выполнимости B |= ∃x0 ϕ(x0 , a1 , . . ., an ) следует су-
ществование элемента a0 ∈ A такого, что B |= ϕ(a0 , a1 , . . . , an ).
Доказательство. Импликация (1) ⇒ (2) очевидна. Для доказатель-
ства (2) ⇒ (1) индукцией по длине формулы ϕ(x1 , . . . , xn ) сигнатуры Σ по-
кажем, что для любых a1 , . . . , an ∈ A справедливо
A |= ϕ(a1 , . . . , an ) ⇔ B |= ϕ(a1 , . . . , an ).
Если ϕ — атомарная формула, то требуемая эквивалентность следует
из определения подсистемы. Если ϕ = ¬ψ, ϕ = ψ1 ∧ ψ2 , ϕ = ψ1 ∨ ψ2
или ϕ = ψ1 → ψ2 , искомое соотношение вытекает из индукционно-
го предположения. Так как ∀x ψ ≡ ¬∃x ¬ψ, достаточно рассмотреть
случай ϕ(x1 , . . . , xn ) = ∃x0 ψ(x0 , x1 , . . . , xn ), для которого требуемое соотно-
шение выполняется по условию предложения. ¤
Предложение 3.1.4. Пусть A и B — алгебраические системы сигна-
туры Σ, A ⊆ B. Если для любой конечной сигнатуры Σ0 ⊆ Σ и любых эле-
ментов a1 , . . . , an ∈ A, b ∈ B существует автоморфизм системы B ¹ Σ0 ,
для которого f (ai ) = ai , 1 ≤ i ≤ n, и f (b) ∈ A, то A 4 B.
Доказательство. Воспользуемся предложением 3.1.3 и предположим,
что B |= ∃x0 ϕ(x0 , a1 , . . . , an ), a1 , . . . , an ∈ A. Тогда по определению истин-
ности имеем B |= ϕ(b, a1 , . . . , an ) для некоторого элемента b ∈ B. По усло-
вию существует автоморфизм f обеднения системы B до конечной сигна-
туры формулы ϕ, который оставляет элементы a1 , . . . , an на месте и пе-
реводит элемент b в элемент f (b) ∈ A. Тогда по теореме 2.1.3 получаем
B |= ϕ(f (b), a1 , . . . , an ). ¤
3.1. ЭЛЕМЕНТАРНАЯ ЭКВИВАЛЕНТНОСТЬ 103
Пример 3.1.2. 1. Пусть A и B — счетные плотные линейно упорядочен-
ные множества без наименьшего и наибольшего элементов такие, что A ⊆ B
и для любых элементов b1 < b2 из B существует элемент a ∈ A, для которого
b1 < a < b. Покажем, что A 4 B. Действительно, пусть a1 , . . . , an — элемен-
ты из A, b — элемент из B. По условию существует элемент a0 ∈ A, для
которого a0 < ai (ai < a0 ) ⇔ b < ai (ai < b), 1 ≤ i ≤ n. Тогда отображение
f0 = {(b, a0 ), (a1 , a1 ), . . . , (an , an )} является частичным изоморфизмом систе-
мы B на себя. По предложению 3.1.4 остается доказать, что f0 расширяется
до некоторого автоморфизма f системы B.
Пусть h: ω → B — нумерация множества B, которая каждому элементу
из B ставит в соответствие как четный, так и нечетный номер из ω. Постро-
им
S автоморфизм f в виде объединения конечных частичных изоморфизмов
fn , fn ⊆ fn+1 , индукцией по n. Предположим, что отображение fn уже
n∈ω
построено и число n + 1 четно. Если h(n + 1) ∈ δfn (т. е. элемент h(n + 1)
уже имеет образ), положим fn+1 fn . В противном случае в силу плот-
ности найдем элемент c, который по отношению < соотносится с элемен-
тами из ρfn так же, как элемент h(n + 1) с элементами из δfn . Положим
fn+1 fn ∪ {(h(n + 1), c)}. Если на шаге индукции число n + 1 нечетно и
h(n+1) ∈ ρfn (т. е. элемент h(n+1) уже имеет прообраз), положим fn+1 fn .
В противном случае в силу плотности порядка найдем элемент c, который по
отношению < соотносится с элементами из δfn так же, как элемент h(n + 1)
с элементами из ρfn . Положим
S fn+1 fn ∪ {(c, h(n + 1))}. По выбору нуме-
рации h объединение fn является автоморфизмом системы B.
n∈ω
2. Рассмотрим системы A = hω \ {0}; ≤i и B = hω; ≤i. Ясно, что A ⊆ B,
A ' B и A ≡ B. Вместе с тем A ⊀ B, так как A |= ∀x ((x ≤ 1) → (x ≈ 1))
и B |= ¬∀x ((x ≤ 1) → (x ≈ 1)). ¤
Множество {An | n ∈ ω} алгебраических систем называется элементар-
ной цепью, если An 4 An+1 для любого n ∈ ω.
Теорема 3.1.5 (теоремаSоб элементарных цепях, теорема Тарского —
Воота). Объединение A∞ = An элементарной цепи {An | n ∈ ω} является
n∈ω
элементарным расширением каждой системы An из этой цепи.
Доказательство. Индукцией по длине формулы ϕ покажем, что
An |= ϕ(a1 , . . . , ak ) ⇔ A∞ |= ϕ(a1 , . . . , ak )
104 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
для любого n ∈ ω и любых элементов a1 , . . . , ak ∈ An . Как и в доказатель-
стве предложения 3.1.3, достаточно рассмотреть случай ϕ = ∃x ψ. Допустим,
что An |= ∃x ψ(x, a1 , . . . , ak ). Тогда An |= ψ(a0 , a1 , . . . , ak ) для некоторого
a0 ∈ An и по индукционному предположению A∞ |= ψ(a0 , a1 , . . . , ak ), отку-
да получаем A∞ |= ∃x ψ(x, a1 , . . . , ak ). Обратно, пусть имеет место
A∞ |= ∃x ψ(x, a1 , . . . , ak ), где a1 , . . . , ak ∈ An . Тогда A∞ |= ψ(a0 , a1 , . . . , ak )
для некоторого a0 ∈ Am , m ≥ n. По индукционному предположению
Am |= ψ(a0 , a1 , . . . , ak ), следовательно, Am |= ∃x ψ(x, a1 , . . . , ak ). Так как
An 4 Am , то An |= ∃x ψ(x, a1 , . . . , ak ). ¤
Пусть A — алгебраическая система сигнатуры Σ и X ⊆ A. Рассмотрим
множество CX = {ca | a ∈ X} константных символов, не пересекающееся с Σ
и удовлетворяющее условиям ca 6= cb для всех a 6= b. Обозначим через ΣX
сигнатуру Σ ∪ CX , через AX — обогащение системы A до сигнатуры ΣX ,
в котором каждая константа ca интерпретируется соответствующим элемен-
том a.
Очевидно, что если A — подсистема системы B, то A 4 B тогда и только
тогда, когда AA ≡ BA .
Множество D(A, X) (соответственно D∗ (A, X)) атомарных предложений
и отрицаний атомарных предложений сигнатуры ΣX (предложений сигнату-
ры ΣX ), истинных в системе AX , называется диаграммой (полной диаграм-
мой) множества X в системе A.
Очевидно, что D∗ (A, X) = Th(AX ).
Диаграмма (полная диаграмма) множества A в системе A называется
диаграммой (полной диаграммой) системы A и обозначается через D(A)
(соответственно D∗ (A)).
Предложение 3.1.6. Пусть A — алгебраическая система сигнату-
ры Σ, B — модель диаграммы D(A) (полной диаграммы D∗ (A)) сигна-
туры ΣA , то A ' B0 ¹ Σ для некоторой подсистемы B0 ⊆ B (некоторой
B0 4 B).
Доказательство. Очевидно, что требуемый изоморфизм получается
сопоставлением элементам a ∈ A интерпретаций сигнатурных символов ca
в системе B. ¤
Следующие две теоремы позволяют по любым бесконечным системам на-
ходить их элементарные подсистемы и элементарные расширения, имеющие
заданную бесконечную мощность.
3.1. ЭЛЕМЕНТАРНАЯ ЭКВИВАЛЕНТНОСТЬ 105
Теорема 3.1.7 (теорема Лёвенгейма — Скулема о спуске). Если A —
алгебраическая система сигнатуры Σ, X ⊆ A и max{|X|, |Σ|, ω} ≤ λ ≤ |A|,
то в A существует такая элементарная подсистема B 4 A мощности λ,
что X ⊆ B.
Доказательство. Воспользуемся следующей конструкцией, применя-
ющей теорему компактности. Построим такую счетную возрастающую це-
почку X0 ⊆ X1 ⊆ X2 ⊆ . . . подмножеств A, чтобы выполнялись следующие
условия:
• X ⊆ X0 ;
• |Xn | = λ;
• для любого предложения ∃x ϕ(x) сигнатуры Σ ∪ CXn , истинного в си-
стеме AXn , существует элемент из Xn+1 , на котором выполняется
формула ϕ(x). S
Тогда подсистема B системы A с носителем B = Xn удовлетворяет
n∈ω
всем описанным условиям. ¤
Из теоремы Лёвенгейма — Скулема о спуске вытекает следующее след-
ствие.
Следствие 3.1.8. Для любой бесконечной алгебраической системы A
не более чем счетной сигнатуры Σ существует счетная элементарная под-
система B 4 A, для которой Th(A) = Th(B).
Теорема 3.1.9 (теорема Лёвенгейма — Скулема о подъеме). Пусть A —
бесконечная алгебраическая система сигнатуры Σ. Для любого кардинала
λ ≥ max{|A|, |Σ|, ω} существует элементарное расширение B системы A,
имеющее мощность λ.
Доказательство. Пусть C — множество константных символов мощ-
ности λ, не пересекающееся с сигнатурой Σ ∪ CA . Обозначим через T мно-
жество предложений
Th(AA ) ∪ {¬(c1 ≈ c2 ) | c1 , c2 ∈ C, c1 6= c2 }
сигнатуры Σ ∪ CA ∪ C. Множество T локально выполнимо и, следователь-
но, по теореме компактности имеет модель B0 . При этом без ограничения
общности можно считать, что интерпретациями константных символов ca
в B0 являются соответствующие элементы a ∈ A. По предложению 3.1.6
обеднение B00 системы B0 до сигнатуры Σ является элементарным расши-
рением системы A. Более того, B00 имеет мощность не меньше λ. По теоре-
ме Лёвенгейма — Скулема о спуске существует подсистема B мощности λ
и с условием A 4 B 4 B00 . ¤
106 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
§ 3.2. Элементарные теории
Множество T предложений сигнатуры Σ, замкнутое относительно выво-
димости (т. е. содержащее все предложения, выводимые из T в ИПΣ ), назы-
вается элементарной теорией или просто теорией сигнатуры Σ. Теория T
называется (не)противоречивой, если множество предложений T (не)проти-
воречиво. Непротиворечивая теория T называется полной, если ϕ ∈ T или
¬ϕ ∈ T для любого предложения сигнатуры Σ.
Очевидно, что для любой алгебраической системы A теория Th(A) полна.
Любое подмножество Ax теории T , из которого выводимы все предложе-
ния из T , называется системой аксиом для теории T .
Если F — некоторое множество предложений сигнатуры Σ, то множество
T (F) предложений, выводимых из F в ИПΣ , является теорией с системой
аксиом F. При этом теория T (F) называется теорией, порожденной мно-
жеством F.
Пример 3.2.1. 1. Теория функциональной сигнатуры {·(2) }, порожден-
ная системой аксиом F = {ϕsg }, где ϕsg ∀x, y, z ((x · y) · z ≈ x · (y · z)),
представляет собой теорию полугрупп Tsg . Любая полугруппа является мо-
делью теории Tsg . Теория Tsg неполна, поскольку, например, ее моделями
являются как полугруппы, удовлетворяющие закону коммутативности
∀x, y (x · y ≈ y · x) (такие как, например, hω; ·i), так и полугруппы, в которых
этот закон нарушается. К примеру, в системе hE3 ; ·i, где E3 — множество
геометрических векторов, а · — операция векторного произведения, истинно
предложение ¬∀x, y (x · y ≈ y · x).
2. Теория полей TF порождается системой следующих аксиом сигнатуры
{+, −, ·, −1 , 0, 1}:
С1) ∀x, y, z ((x + y) + z ≈ x + (y + z));
C2) ∀x, y (x + y ≈ y + x);
С3) ∀x (x + 0 ≈ x);
С4) ∀x (x + (−x) ≈ 0);
У1) ∀x, y, z ((x · y) · z ≈ x · (y · z));
У2) ∀x, y (x · y ≈ y · x);
У3) ∀x (x · 1 ≈ x);
У4) ∀x (¬(x ≈ 0) → (x · x−1 ≈ 1));
СУ) ∀x, y, z ((x + y) · z ≈ (x · z) + (y · z));
Д) ¬(0 ≈ 1).
Моделями теории TF являются в точности все поля.
3.2. ЭЛЕМЕНТАРНЫЕ ТЕОРИИ 107
3. Теория сигнатуры {≤(2) }, порожденная системой аксиом Γdlo из при-
мера 2.1.9 является теорией плотных линейных порядков Tdlo . Добавляя
к системе аксиом Γdlo аксиому ∀x∃y, z ((y ≤ x)∧¬(y ≈ x)∧(x ≤ z)∧¬(x ≈ z))
отсутствия наименьшего и наибольшего элементов, получаем систему акси-
ом Γ∗dlo , порождающую теорию Tdlo ∗
плотных линейных порядков без конце-
∗
вых элементов. Теория Tdlo полна.
4. Пусть A = hA; C (3) i — алгебраическая система, состоящая из множе-
ства точек A и отношения коллинеарности C ((a, b, c) ∈ C ⇔ точки a, b и c
лежат на одной линии), удовлетворяющего следующим условиям:
а) (a, a, a) ∈ C для любой точки a ∈ A;
б) любая линия l ⊆ A однозначно определяется любыми двумя различ-
ными точками a, b ∈ l: l = {c | A |= C(a, b, c)}.
Тогда система A называется геометрической системой и определяет гео-
метрическую теорию Th(A). При этом система A может быть как конечной,
так и бесконечной, удовлетворять или не удовлетворять аксиоме параллель-
ности о существовании для любой точки не более одной линии, проходящей
через эту точку и параллельной данной линии.
Пусть G1 = hG1 ; ·, ei — группа с единицей e, позволяющая измерять рас-
стояния между точками на линиях: если a и b — точки на линии l, то опре-
делено расстояние |aˆb|l ∈ G1 от точки a до точки b на линии l. При этом
будем считать, что |aˆa|l = e и для любой точки c ∈ l выполняется од-
но из равенств (|aˆc|l )±1 = |aˆb|l · (|bˆc|l )±1 . Пусть G2 = hG2 ; ·, ei — группа
с единицей e, позволяющая измерять расстояния между пересекающимися
линиями: если l1 и l2 — линии, пересекающиеся в точке a, то определен угол
∠(l1 , l2 )a ∈ G2 от линии l1 до линии l2 относительно точки a. При этом будем
считать, что ∠(l1 , l1 )a = e и для любой линии l3 , содержащей точку a, выпол-
няется одно из равенств (∠(l1 , l3 )a )±1 = ∠(l1 , l2 )a · (∠(l2 , l3 )a )±1 . Группы G1
и G2 называются группой сторон и группой углов соответственно.
Последовательность точек S (a1 , . . . , an ) называется многоугольником
или n-угольником, если существуют линии l1 , . . . , ln , для которых справед-
ливо a1 , a2 ∈ l1 , a2 , a3 ∈ l2 , . . ., an−1 , an ∈ ln−1 , an , a1 ∈ ln . Параметры
g11 |a1 ˆa2 |l1 , . . ., g1,n−1 |an−1 ˆan |ln−1 , g1n |an ˆa1 |ln сторон
и g21 ∠(l1 , l2 )a2 , . . ., g2,n−1 ∠(ln−1 , ln )µan , g2n ∠(ln , l1 )¶a1 уг-
g11 g12 . . . g1n
лов n-угольника S задаются в виде матрицы . При
g21 g22 . . . g2n
n = 3 n-угольник называется треугольником, при n = 4 — четырехугольни-
ком и т.д.
108 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Обогатим геометрическую систему A = hA; Ci двухместными отношени-
ями Qg1 {(a, b) | |aˆb|l = g1 для некоторой линии l} для всех g1 ∈ G1 ,
а также трехместными отношениями
Rg2 = {(a, b, c) | ∠(l1 , l2 )b = g2 , где a ∈ l1 , b ∈ l2 , c ∈ l1 ∩ l2 }
для всех g2 ∈ G2 . Полученная система A(G1 , G2 ) hA; C, Qg1 , Rg2 ig1 ∈G1 ,g2 ∈G2
называется полигонометрической системой над парой групп (G1 , G2 ).
Если через любые две точки проходит линия, т. е. любой многоугольник
разбивается на треугольники, то полигонометрическая система называется
тригонометрической. Полигонометрическая (тригонометрическая) система
A(G1 , G2 ) определяет полигонометрическую (соответственно тригономет-
рическую) теорию Th(A(G1 , G2 )).
5. Как известно, для любой конечной системы A конечной сигнатуры
существует (может быть, достаточно длинная) формула ϕA , описывающая
все взаимоотношения элементов из A. В силу следствия 3.1.2 моделями тео-
рии, порожденной системой аксиом {ϕA }, являются в точности все системы,
изоморфные системе A. ¤
Формула ϕ называется ∀-формулой (соответственно ∃-формулой, ∀∃-фор-
мулой), если ϕ = ∀x1 , . . . , xk ψ
(ϕ = ∃x1 , . . . , xk ψ, ϕ = ∀x1 , . . . , xk ∃y1 , . . . , yn ψ)
для некоторой бескванторной формулы ψ.
Теория T называется конечно аксиоматизируемой (соответственно ∀-
аксиоматизируемой или универсально аксиоматизируемой, ∃-аксиомати-
зируемой, ∀∃-аксиоматизируемой), если T порождается конечным мно-
жеством предложений (множеством ∀-предложений, множеством ∃-предло-
жений, множеством ∀∃-предложений).
В примерах 3.2.1 теории Tsg и TF конечно ∀-аксиоматизируемы. Теория
∗
Tdlo конечно ∀∃-аксиоматизируема. Теория Th(A1 ) системы A1 hZ; s(1) i
из примера 3.1.1 не является конечно аксиоматизируемой, поскольку нельзя
одним предложением первого порядка описать функцию следования.
Следующая теорема представляет семантические характеризации ∀-, ∃-
и ∀∃-аксиоматизируемости. Ее доказательство проводится с помощью пред-
ложения 3.1.6.
Теорема 3.2.1. 1. Теория T сигнатуры Σ ∀-аксиоматизируема, если
и только если для любых систем A ⊆ B сигнатуры Σ из B |= T следует
A |= T .
3.2. ЭЛЕМЕНТАРНЫЕ ТЕОРИИ 109
2. Теория T сигнатуры Σ ∃-аксиоматизируема, если и только если для
любых систем A ⊆ B сигнатуры Σ из A |= T следует B |= T .
3. Теория T сигнатуры Σ ∀∃-аксиоматизируема, если и только если для
любой элементарной цепи {An | n ∈ ω} систем
S сигнатуры Σ истинность
An |= T для всех n ∈ ω влечет истинность An |= T . ¤
n∈ω
Формулы ϕ и ψ сигнатуры Σ называются T -эквивалентными (обозна-
чается ϕ ≡T ψ), где T — теория сигнатуры Σ, если в ИПΣ из T выводима
формула (ϕ ↔ ψ).
Как уже отмечалось в § 2.7, возможность нахождения “несложных” фор-
мул, представляющих все классы T -эквивалентности, существенно упрощает
понимание структур моделей данной теории T . Простейшим здесь являет-
ся класс теорий T , у которых любая формула T -эквивалентна некоторой
бескванторной.
Теория T сигнатуры Σ называется теорией с элиминацией кванторов
или теорией, допускающей элиминацию кванторов, если любая формула
сигнатуры Σ T -эквивалентна некоторой бескванторной формуле.
Пусть ∆ — некоторое множество формул сигнатуры Σ. Под булевой ком-
бинацией формул из множества ∆ понимается всякая формула, полученная
из формул множества ∆ в результате их соединения произвольным числом
связок ¬ и ∧.
Очевидно, у любой теории T с элиминацией кванторов каждая формула
данной сигнатуры T -эквивалентна некоторой булевой комбинации атомар-
ных формул.
Следующие теории обладают элиминацией кванторов.
Пример 3.2.2. 1. Теория T∅ любой бесконечной модели пустой сигнату-
ры. Каждая формула пустой сигнатуры T∅ -эквивалентна булевой комбина-
ции формул вида (x ≈ y).
∗
2. Теория Tdlo плотных линейных порядков без концевых элементов. Каж-
∗
дая формула сигнатуры {≤} Tdlo -эквивалентна булевой комбинации формул
вида (x ≈ y) и (x ≤ y).
3. Теория TACF алгебраически замкнутых полей, которая получается из
теории полей TF добавлением бесконечной системы аксиом существования
корней любого многочлена ненулевой степени n:
∀y1 , . . . , yn ∃x (xn + y1 xn−1 + . . . + yn−1 x + yn ≈ 0).
−1
Поле комплексных чисел hC; +, −, ·, , 0, 1i является моделью теории TACF .
110 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
4. Теория TRCF вещественно замкнутых полей, которая получается
из теории полей TF добавлением двухместного предикатного символа <
и следующих аксиом:
П1) ∀x ¬(x < x);
П2) ∀x, y, z ((x < y) ∧ (y < z) → (x < z));
П3) ∀x, y ((x < y) ∨ (x ≈ y) ∨ (y < x));
П4) ∀x, y ((0 < x) ∧ (0 < y) → (0 < x · y));
П5) ∀x, y, z ((x < y) → (x + z < y + z));
П6) ∀x ((0 < x) → ∃y (x ≈ y 2 ));
Р) ∀y1 , . . . , yn ∃x(xn + y1 xn−1 + . . . + yn−1 x + yn ≈ 0), где n = 2k + 1 > 0.
Упорядоченное поле вещественных чисел hR; +, −, ·, −1 , 0, 1, <i является
моделью теории TRCF .
Согласно известному свойству элиминация кванторов для формулы
∃x(x2 + px + q ≈ 0) теории TRCF означает, что эта формула эквивалентна
бескванторной формуле (p2 − 4q > 0) ∨ (p2 − 4q ≈ 0). ¤
Консервативным расширением или консервативным обогащением тео-
рии T сигнатуры Σ называется всякая теория T 0 ⊇ T сигнатуры Σ0 ⊇ Σ
такая, что любая модель M теории T может быть обогащена до модели M0
теории T 0 .
Существует два основных вида консервативных расширений теорий, при-
водящих к теориям с элиминацией кванторов. Первая операция — уже из-
вестная из § 2.7 операция полной скулемизации, которая теорию T сигнату-
ры Σ преобразует в теорию T cS сигнатуры ΣcS добавлением аксиом Скулема
для каждой формулы ϕ = ∃x0 ψ(x0 , x1 , . . . , xn ) сигнатуры ΣcS .
Предложение 3.2.2. Теория T cS допускает элиминацию кванторов.
Доказательство проводится индукцией по числу шагов построения
формулы ϕ(x1 , . . . , xn ) из атомарных сигнатуры ΣcS . Нетривиальным явля-
ется лишь шаг, на котором навешивается квантор существования, т. е. для
формулы ϕ(x1 , . . . , xn ) вида ∃x0 ψ(x0 , x1 , . . . , xn ). Из аксиомы Скулема, на-
писанной для формулы ϕ, вытекает T cS ` ∃x0 ψ(x0 ) ↔ ψ(cϕ ) при n = 0 и
T cS ` ∀x1 , . . . , xn (∃x0 ψ(x0 , x1 , . . . , xn ) ↔
↔ ψ(fϕ (x1 , . . . , xn ), x1 , . . . , xn )),
если n > 0. По индукционному предположению для формулы ψ(cϕ )
(соответственно ψ(fϕ (x1 , . . . , xn ), x1 , . . . , xn )) существует T cS -эквивалентная
ей бескванторная формула χ. Но тогда T cS ` ϕ(x1 , . . . , xn ) ↔ χ. ¤
3.2. ЭЛЕМЕНТАРНЫЕ ТЕОРИИ 111
Предикатное консервативное расширение теории T сигнатуры Σ, допус-
кающее элиминацию кванторов, предложено М. Морли и называется мор-
лизацией. Оно получается следующими преобразованиями.
Обозначим набор переменных x1 , . . . , xn через x. Определим сигнату-
ру ΣM добавлением к сигнатуре Σ для каждого n ∈ ω и каждой форму-
(n)
лы ϕ(x) сигнатуры Σ нового предикатного символа Rϕ . Морлизация тео-
рии T есть теория T M сигнатуры ΣM , порожденная теорией T и аксиомами
Морли ∀x (ϕ(x) ↔ Rϕ (x)) для всех n ∈ ω и формул ϕ(x) сигнатуры Σ.
Предложение 3.2.3. Теория T M допускает элиминацию кванторов.
Доказательство. Очевидно, что, заменяя в формуле ϕ(x) сигнату-
ры ΣM подформулы, начинающиеся с символов Rψ , на T M -эквивалентные им
формулы сигнатуры Σ, получаем формулу ϕ0 (x) сигнатуры Σ, для которой
ϕ(x) ≡T M ϕ0 (x). Так как ϕ0 (x) ≡T M Rϕ0 (x), формула ϕ(x) T M -эквивалентна
бескванторной формуле Rϕ0 (x). ¤
Непротиворечивая теория T сигнатуры Σ называется модельно полной,
если для любых моделей A и B теории T из условия A ⊆ B следует A 4 B.
Очевидно, что любая непротиворечивая теория с элиминацией кванторов
модельно полна.
Пример 3.2.3. 1. Модельно полны следующие теории:
• Th(hω; 0, si);
• Th(hZ; <, si), где s — функция следования;
• теория счетного множества независимых одноместных предикатов
(1)
Pk , k ∈ ω, задаваемая всевозможными аксиомами
∃x (Pi1 (x) ∧ . . . ∧ Pim (x) ∧ ¬Pj1 (x) ∧ . . . ∧ ¬Pjn (x)),
{i1 , . . . , im } ∩ {j1 , . . . , jn } = ∅;
• теория безатомных булевых алгебр, т. е. теория сигнатуры {∧, ∨, , 0, 1},
порожденная аксиомами булевой алгебры, а также аксиомой
∀x (¬(x ≈ 0) → ∃y (¬(y ≈ 0) ∧ (y ≤ x) ∧ ¬(y ≈ x)))
отсутствия атомов (элементов, покрывающих 0).
112 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
2. Полными, но не модельно полными являются следующие теории:
• теория плотного линейного порядка с наименьшим и наибольшим эле-
ментами;
• Th(hω; si);
• Th(hω; <i);
• Th(hω; 0, s, +, ·, <i). ¤
Следующая теорема показывает, что модельно полные теории являются
“почти” теориями с элиминацией кванторов.
Теорема 3.2.4. Для любой непротиворечивой теории T сигнатуры Σ
следующие условия эквивалентны:
1) теория T модельно полна;
2) для любой модели M теории T теория, порожденная множеством
предложений T ∪ D(M), полна;
3) любая формула сигнатуры Σ T -эквивалентна некоторой ∃-формуле;
4) любая формула сигнатуры Σ T -эквивалентна некоторой ∀-фор-
муле. ¤
§ 3.3. Типы. Основные классы моделей
В этом параграфе мы определим классы моделей, играющих ключевую
роль в описании всех моделей данных теорий, и установим важнейшие свой-
ства этих моделей.
Поскольку каждая непротиворечивая теория расширяется до полной, ин-
формация о моделях данной теории T сводится к информации о моделях
полных расширений теории T . Поэтому для определения классов моделей
всюду в этом параграфе будем считать, что рассматриваемые теории полны.
Кроме того, ограничимся случаем, когда сигнатура Σ не более чем счетна
(а значит, счетна сама теория T ) и T имеет бесконечные модели.
Для множества X и кортежа a = (a1 , . . . , an ) запись a ∈ X будет означать,
что все координаты кортежа a принадлежат множеству X.
Пусть T — теория сигнатуры Σ, M — модель теории T , A — некоторое
подмножество множества M , a = (a1 , . . . , an ) — кортеж элементов из M , x =
= (x1 , . . . , xn ) — кортеж переменных. Типом от переменных x кортежа a
над множеством A в модели M называется множество формул
tpxM (a/A) {ϕ(x, b) | M |= ϕ(a, b), b ∈ A}.
3.3. ТИПЫ. ОСНОВНЫЕ КЛАССЫ МОДЕЛЕЙ 113
В дальнейшем, если из контекста ясно, о каком кортеже x и о какой моде-
ли M идет речь, мы будем опускать соответствующие индексы и обозначать
тип через tp(a/A). Если A = ∅, то вместо записи tp(a/∅) используется за-
пись tp(a).
Множество всех типов tpM (a), a ∈ M , называется конечной диаграммой
модели M и обозначается через FD(M).
Тип кортежа a над множеством A содержит полную информацию о взаимо-
отношениях элементов, составляющих кортеж a и множество A. Таким об-
разом, равенство tp(a/A) = tp(b/A) означает, что информация о кортеже a
над множеством A совпадает с информацией о кортеже b над множеством A.
При этом равенство tpM (a/A) = tpM (b/A) равносильно равенству tpMA (a) =
= tpMA (b). В конечную диаграмму FD(M) заносятся все информационные
представители, присутствующие в модели M.
Теперь мы дадим несколько более общее понятие типа, не “привязанное”
к конкретной модели.
Множеством A в теории T сигнатуры Σ называется подмноже-
ство A ⊆ M носителя некоторой модели M теории T вместе со следующим
множеством формул сигнатуры ΣA : tp(A, M) {ϕ(a) | M |= ϕ(a), a ∈ A}.
Пусть ϕ(x, y) — формула сигнатуры Σ, a — кортеж элементов в T дли-
ны l(a), равной длине l(y) кортежа y. Тогда формула ϕ(x, a) — формула
сигнатуры Σa — называется формулой в теории T .
Пусть T — теория сигнатуры Σ, A — некоторое множество в T , x — набор
переменных некоторой длины l(x) = n. Множество Φ(x, A) формул сигнату-
ры ΣA называется множеством формул в теории T над множеством A,
если каждая формула из Φ(x, A) имеет вид ϕ(x, a), где a ∈ A. Множество
формул Φ(x, A) называется совместным с теорией T , если совместно мно-
жество T ∪ tp(A, M) ∪ Φ(x, A).
Под n-типом или просто типом над множеством A от переменных x
понимается любое совместное с T множество формул Φ(x, A). Множество
всех n-типов от переменных x над множеством A обозначается через ⊆ Sxn (A).
По теореме компактности из совместности любого типа Φ(x, A) с тео-
рией T следует существование модели N теории T , элементарно расширя-
ющей модель M, A ⊆ M , и кортежа элементов b ∈ N , l(b) = l(x), таких,
что N |= ϕ(b, a) для всех ϕ(b, a) из Φ(x, A). В этом случае будем говорить,
что тип Φ(x, A) реализуется в модели N, писать N |= Φ(b, A) и называть
кортеж b реализацией типа Φ(x, A) в модели N. Реализации типа Φ(x, A)
называются Φ(x, A)-однотипными. Если в модели N нет кортежа b, удов-
летворяющего всем формулам из Φ(x, A), будем говорить, что тип Φ(x, A)
опускается в модели N.
114 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Тип Φ(x, A) называется полным, если Φ(x, A) — максимальное совмест-
ное с T множество формул ϕ(x, a) сигнатуры ΣA . Множество всех полных
n-типов от переменных x над множеством A обозначается через Sxn (A). Обо-
значим через ⊆ S n (A) и S n (A) соответственно множество всех типов и мно-
жество всех полных типов от n переменных над множеством A. Положим
[ [
⊆ ⊆ n
S(A) S (A), S(A) S n (A).
n∈ω\{0} n∈ω\{0}
Множество D(T ) S(∅) называется конечной диаграммой теории T .
В силу теоремы компактности каждый тип из D(T ) реализуется в неко-
торой модели теории T . Таким образом, конечная диаграмма теории T пред-
ставима в виде объединения конечных диаграмм ее моделей.
Будем говорить, что тип Φ(x, A) определяет или изолирует тип Ψ(x, A),
и писать Φ(x, A) ` Ψ(x, A), если любая формула типа Ψ(x, A) выводима
из множества T ∪ tp(A, M) ∪ Φ(x, A). Тип Φ(x, A) называется главным или
изолированным, если Φ(x, A) изолируется конечным или, что эквивалентно,
одноэлементным множеством. При этом формула ϕ(x, a) ∈ Φ(x, A), для ко-
торой {ϕ(x, a)} ` Φ(x, A) (если такая существует), называется главной или
изолирующей для типа Φ(x, A).
Пример 3.3.1. Рассмотрим теорию T = Th(hZ; <, si), где s — функция
следования. Множество Sx1 (∅) одноэлементно, т. е. любой 1-тип над ∅ изо-
2
лируется формулой вида (x ≈ x). Множество S(x,y) (∅) состоит из главных
типов pn (x, y), определяемых формулами (y ≈ s (x)), где sn (x) = x+n, n ∈ Z,
n
и неглавного типа p∞ (x, y), изолируемого множеством формул ¬(y ≈ sn (x)),
n ∈ Z. При этом типы pn (x, y), n ∈ Z, реализуются в модели M = hZ; <, si
(pn (x, y) = tpM (k, k + n), где k ∈ Z), а тип p∞ (x, y) опускается в модели M.
Для любого элемента a некоторой модели теории T множество Sx1 ({a})
состоит из типов pν (x, a), где ν ∈ Z ∪ {∞}. ¤
Очевидно, любой главный тип реализуется в любой модели данной тео-
рии T . С другой стороны, для любого неглавного типа существует модель,
в которой он опускается. Более того, справедлива следующая теорема.
Теорема 3.3.1 (теорема об опускании типов). Для любого счетного мно-
жества A в теории T сигнатуры Σ и любой последовательности (pn (xn ))n∈ω
неглавных типов из ⊆ S(A) существует модель M теории T , M ⊇ A, опус-
кающая все типы pn (xn ), n ∈ ω.
3.3. ТИПЫ. ОСНОВНЫЕ КЛАССЫ МОДЕЛЕЙ 115
Доказательство теоремы для простоты проведем для случая, когда
последовательность состоит из одного неглавного типа p(x) ∈ S 1 (∅). Пусть
C = {ci | i ∈ ω} — множество константных символов, не входящих в сиг-
натуру Σ. Рассмотрим множество {ϕj (x) | j ∈ ω} всех формул сигнатуры
Σ0 = Σ ∪ C с одной свободной переменной x. Пусть h: ω → ω — функция,
удовлетворяющая следующим условиям:
• если k < l, то h(k) < h(l);
• если k ≤ l, то ch(l) не входит в формулу ϕk (x).
Обозначим через ψj аксиому ∃x ϕj (x) → ϕj (ch(j) ), j ∈ ω. Опреде-
лим по индукции расширяющуюся последовательность непротиворечивых
теорий {Ti | i ∈ ω}, где T0 = T .
Если число i = 2j четно, то обозначим через Ti+1 теорию, порожденную
множеством Ti ∪{ψj }. Предполагая по индукции, что ch(j) не входит в форму-
лы теории Ti , аналогично доказательству теоремы о существовании модели
устанавливаем, что Ti+1 — непротиворечивая теория.
Пусть число i = 2j + 1 нечетно и совместная теория Ti порождена мно-
жеством T ∪ {χ(cj1 , . . . , cjn , cj )}, где cj 6= cjk при 1 ≤ j ≤ n. Если существу-
ет формула θ(x) ∈ p(x) с условием совместности множества Ti ∪ {¬θ(cj )},
то через Ti+1 обозначим теорию, порожденную множеством Ti ∪ {¬θ(cj )} для
некоторой такой формулы θ(x).
Покажем, что требуемая формула θ(x) ∈ p(x) существует. Допу-
стим противное, т. е. несовместность множества Ti ∪ {¬θ(cj )} для каж-
дой формулы θ(x) ∈ p(x). Тогда из множества T выводима формула
χ(cj1 , . . . , cjn , cj ) → θ(cj ) для каждой формулы θ(x) ∈ p(x). Так как констан-
ты cj1 , . . . , cjn , cj не входят в T , то
T ` ∃x1 , . . . , xn χ(x1 , . . . , xn , x) → θ(x)
для каждой формулы θ(x) ∈ p(x). Последнее означает, что p(x) — главный
тип, а это противоречит условию.
S
Положим T∞ Ti и рассмотрим любое максимальное непротиворечи-
i∈ω
вое расширение S теории T∞ , которое существует по теореме Куратовского —
Цорна. Как и в теореме 2.5.2, множество S определяет модель для теории T ,
элементы которой являются классами эквивалентности вида [cj ]. При этом
никакой класс [cj ] не реализует тип p(x), поскольку ¬θ(cj ) ∈ T2j+1 ⊂ S для
некоторой формулы θ(x) ∈ p(x). ¤
116 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Мы теперь готовы определить основные классы моделей. Начнем опре-
деление с моделей, имеющих минимальные конечные диаграммы.
Модель M0 теории T называется простой, если для любой модели M1
теории T существует элементарная подмодель M2 4 M1 , изоморфная
модели M0 .
Пример 3.3.2. 1. Система M0 = hZ; <, si является простой моделью
теории Th(M0 ).
2. Простой моделью теории алгебраически замкнутого поля hC; +, −, ·,
−1
, 0, 1i является поле алгебраических чисел, т. е. расширение поля рацио-
нальных чисел Q решениями уравнений вида xn +a1 xn−1 +. . .+an−1 x+an = 0,
где a1 , . . . , an ∈ Q. ¤
Очевидно, что простая модель M0 счетна. Поскольку ее конечная диа-
грамма FD(M0 ) содержится в конечной диаграмме любой модели данной
теории, по теореме об опускании типов FD(M0 ) состоит из изолированных
типов. Верно и обратное утверждение, т. е. указанные условия характеризу-
ют простоту модели.
Теорема 3.3.2 (теорема Воота). Модель M теории T проста, если
и только если M — счетная модель и любой тип из S(∅), реализующийся
в M, является изолированным.
Доказательство. По замеченному выше достаточно установить, что
счетная модель M теории T с носителем M = {ai | i ∈ ω}, реализую-
щая лишь главные типы из S(∅), проста. Пусть N — произвольная мо-
дель теории T . Построим изоморфизм f модели M на некоторую элемен-
тарную подсистему модели N. Зафиксируем n ∈ ω и допустим, что уже
определены значения f (ai ) для любого i < n и при этом выполнено условие
M{a0 ,...,an−1 } ≡ N{f (a0 ),...,f (an−1 )} . Пусть p(x) ∈ S(∅) — тип кортежа (a0 , . . . , an ).
Так как в M реализуются лишь главные типы, тип p(x) изолируется неко-
торой формулой ϕ(x). Тогда
M{a0 ,...,an−1 } |= ∃x ϕ(a0 , . . . , an−1 , x),
поэтому
N{f (a0 ),...,f (an−1 )} |= ϕ(f (a0 ), . . . , f (an−1 ), b)
для некоторого b ∈ N . Полагая f (an ) = b и продолжая процесс расшире-
ния частичного изоморфизма, получаем элементарную подмодель модели N
с носителем f (M ), изоморфную модели M. ¤
3.3. ТИПЫ. ОСНОВНЫЕ КЛАССЫ МОДЕЛЕЙ 117
Теорема 3.3.3 (теорема единственности для простых моделей). Любые
две простые модели полной теории T изоморфны.
Доказательство. Пусть M и N — простые модели теории T . По тео-
реме 3.3.2 модели M и N являются счетными и реализуют лишь главные
типы из S(∅). Перенумеруем носители моделей M и N: M = {ai | i ∈ ω},
N = {bi | i ∈ ω} и построим по индукции изоморфизм f = {(ci , di ) | i ∈ ω}
модели M на модель N. Зафиксируем n < ω и предположим, что множество
{(ci , di ) | i < n} уже определено и удовлетворяет условию
M{c0 ,...,cn−1 } ≡ N{d0 ,...,dn−1 } .
Если n четно, рассмотрим тип p(x) ∈ S(∅) кортежа (c0 , . . ., cn ). По усло-
вию тип p(x) изолируется некоторой формулой ϕ(x). Тогда
M{c0 ,...,cn−1 } |= ∃x ϕ(c0 , . . . , cn−1 , x),
поэтому
N{d0 ,...,dn−1 } |= ϕ(d0 , . . . , dn−1 , b)
для некоторого b ∈ N . Полагаем dn = b.
Если n нечетно, проводим расширение частичного изоморфизма так же,
как для четного случая с заменой M на N. ¤
Теорема 3.3.4 (теорема существования для простых моделей). Тео-
рия T сигнатуры Σ имеет простую модель, если и только если любая фор-
мула сигнатуры Σ, совместная с T , принадлежит некоторому изолиро-
ванному типу.
Доказательство. Если M — простая модель теории T , то любая фор-
мула ϕ(x), совместная с T , выполняется в M и, следовательно, принадлежит
некоторому изолированному типу. Предположим теперь, что любая совмест-
ная с T формула принадлежит некоторому изолированному типу. Аналогич-
но доказательству теоремы об опускании типов строится счетная модель M,
реализующая лишь главные типы из S(∅). Эта модель проста по теореме
3.3.2 ¤
Следующий класс, который мы рассмотрим, — класс однородных моде-
лей. Эти модели обладают тем свойством, что любые кортежи, имеющие оди-
наковый тип, связаны автоморфизмом, т. е. наборы элементов, обладающие
118 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
одинаковой информацией, можно перемещать друг в друга с сохранением
всех свойств модели.
Счетная алгебраическая система A называется однородной, если для лю-
бых элементов a1 , . . . , an , b1 , . . . , bn , a ∈ A из A{a1 ,...,an } ≡ A{b1 ,...,bn } следует
A{a1 ,...,an ,a} ≡ A{b1 ,...,bn ,b} для некоторого b ∈ A.
Последовательным расширением частичных изоморфизмов {(a1 , b1 ), . . . ,
(an , bn )} однородной системы A строятся автоморфизмы системы A, содер-
жащие данный частичный изоморфизм f : a ↔ b, который характеризуется
соотношением tpA (a) = tpA (b). Этим свойством расширения обладает любая
простая модель.
Предложение 3.3.5. Любая простая модель является однородной.
Доказательство. Пусть a1 , . . . , an , b1 , . . . , bn , a — элементы простой
модели M, удовлетворяющие условию M{a1 ,...,an } ≡ M{b1 ,...,bn } . Так как
тип p(x1 , . . . , xn , y) = tp(a1 , . . . , an , a) изолирован, найдется главная форму-
ла ϕ(x1 , . . . , xn , y), изолирующая этот тип. Поскольку M |= ϕ(a1 , . . . , an , a),
справедливо M |= ∃y ϕ(a1 , . . . , an , y). Тогда M |= ∃y ϕ(b1 , . . . , bn , y) и M |=
|= ϕ(b1 , . . . , bn , b) для некоторого b ∈ M . Так как ϕ(x1 , . . . , xn , y) — главная
формула, то M{a1 ,...,an ,a} ≡ M{b1 ,...,bn ,b} . ¤
Теорема 3.3.6 (теорема об изоморфизме однородных моделей). Пусть
M и N — счетные однородные модели теории T . Тогда следующие условия
эквивалентны:
(1) M ' N;
(2) в M и N реализуются одни и те же типы из S(∅), т. е. FD(M) =
= FD(N).
Доказательство. Импликация (1) ⇒ (2) очевидна. Импликация
(2) ⇒ (1) устанавливается пошаговым построением изоморфизма с исполь-
зованием свойств однородности моделей M и N. ¤
Теорема 3.3.7 (теорема существования для однородных моделей). Для
любой счетной системы A существует счетное элементарное однородное
расширение B < A.
Доказательство проводится последовательным построением счетных
элементарных расширений системы A, позволяющих продолжать всевоз-
можные частичные изоморфизмы. ¤
3.3. ТИПЫ. ОСНОВНЫЕ КЛАССЫ МОДЕЛЕЙ 119
Следующие две разновидности систем — системы, содержащие “большое”
количество информации.
Счетная алгебраическая система A называется универсальной, если в A
реализуются все типы из S(∅) теории Th(A), т. е. FD(A) = D(Th(A)).
Счетная алгебраическая система A называется насыщенной, если для
любого конечного множества A0 ⊂ A в A реализуются все типы из S 1 (A0 )
теории Th(A), т. е. FD(AA0 ) = D(Th(AA0 )).
Пример 3.3.3. Система M, состоящая из счетного числа компонент
связности системы hZ; <, si, является насыщенной моделью теории
Th(hZ; <, si). ¤
Предложение 3.3.8. Для любой счетной алгебраической системы A
следующие условия эквивалентны:
(1) система A насыщена;
(2) система A универсальна и однородна.
Доказательство. (1) ⇒ (2). Пусть A — насыщенная система. Индук-
цией по n покажем, что любой n-тип p(x1 , . . ., xn ) ∈ S(∅) теории Th(A)
реализуется в системе A. Если n = 1, то реализуемость p в A следует из опре-
деления насыщенности. Если n > 1, рассмотрим (n − 1)-тип
∃xn p(x1 , . . . , xn ) {∃xn ϕ(x1 , . . . , xn ) | ϕ(x1 , . . . , xn ) ∈ p}.
По индукционному предположению тип ∃xn p(x1 , . . . , xn ) реализуется в A
некоторым набором (a1 , . . . , an−1 ). Рассмотрим 1-тип
p(a1 , . . . , an−1 , xn ) {ϕ(a1 , . . . , an−1 , xn ) | ϕ(x1 , . . . , xn ) ∈ p}.
Из насыщенности системы A следует существование элемента b, реализую-
щего тип p(a1 , . . . , an−1 , xn ). Тогда тип p(x1 , . . . , xn ) реализуется в A набором
(a1 , . . . , an−1 , b).
Установим однородность системы A. Возьмем элементы a1 , . . . , an ,
b1 , . . . , bn , a ∈ A с условием A{a1 ,...,an } ≡ A{b1 ,...,bn } . Рассмотрим тип
p(x, a1 , . . . , an ) = tp(a/{a1 , . . . , an }). Из условия A{a1 ,...,an } ≡ A{b1 ,...,bn } и насы-
щенности системы A следует, что тип
p(x, b1 , . . . , bn ) = {ϕ(x, b1 , . . . , bn ) | ϕ(x, a1 , . . . , an ) ∈ p(x, a1 , . . . , an )}
реализуется в A некоторым элементом b. Тогда A{a1 ,...,an ,a} ≡ A{b1 ,...,bn ,b} .
120 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
(2) ⇒ (1). Пусть A — универсальная и однородная система, p(x, a1 , . . .
. . . , an ) — тип из S 1 ({a1 , . . . , an }). Рассмотрим n-тип tp(x1 ,...,xn ) (a1 , . . . , an )
и (n + 1)-тип
p(x, x1 , . . . , xn ) = {ϕ(x, x1 , . . . , xn ) | ϕ(x, a1 , . . . , an ) ∈ p(x, a1 , . . . , an )}.
В силу универсальности системы A тип p(x, x1 , . . . , xn ) реализуется в A неко-
торым набором (b0 , . . . , bn ). Так как tp(a1 , . . . , an ) ⊂ p(x, x1 , . . . , xn ), то
A{a1 ,...,an } ≡ A{b1 ,...,bn } . Из однородности системы A получаем A{a,a1 ,...,an } ≡
≡ A{b0 ,b1 ,...,bn } для некоторого элемента a ∈ A. Тогда элемент a реализует тип
p(x, a1 , . . . , an ). ¤
Из теоремы 3.3.6 и предложения 3.3.8 вытекает следующее следствие.
Следствие 3.3.9 (теорема единственности для насыщенных моделей).
Если A и B — насыщенные элементарно эквивалентные системы,
то A ' B.
Теорема 3.3.10 (теорема существования для насыщенных моделей).
Для любой теории T , имеющей бесконечные модели, следующие условия
эквивалентны:
(1) T имеет насыщенную модель;
(2) конечная диаграмма D(T ) счетна.
Доказательство. Если теория T имеет насыщенную модель M,
то по предложению 3.3.8 эта модель универсальна, т. е. в ней реализуются
все типы из D(T ). Из счетности модели M следует, что реализоваться в M
может лишь счетное число типов, т. е. |D(T )| = ω.
(2) ⇒ (1). Пусть диаграмма D(T ) счетна. Каждый тип p(x1 , . . . , xn ) ∈
∈ D(T ) преобразуем заменой переменных в тип p(xp1 , . . ., xpn ) ∈ D(T ) так,
чтобы разные типы не имели общих свободных переменных. Множество
S
p(xp1 , . . . , xpn ) счетно и совместно. Следовательно, существует счетная
p∈D(T )
модель M |= T , в которой реализуются все типы из D(T ), т. е. M — универ-
сальная модель. Взяв счетное однородное элементарное расширение N < M,
получаем счетную однородную универсальную, т. е. насыщенную модель. ¤
Пример 3.3.4. Теория T счетного множества независимых одноместных
предикатов не имеет насыщенной модели, поскольку |D(T )| = 2ω . ¤
3.4. КАТЕГОРИЧНОСТЬ. СПЕКТРЫ МОДЕЛЕЙ ПОЛНЫХ ТЕОРИЙ 121
Следствие 3.3.11. Если теория T имеет насыщенную модель, то T
имеет простую модель.
Доказательство. Предположим, что T не имеет простой модели. То-
гда по теореме 3.3.4 имеется совместная формула ϕ(x), не содержащаяся
ни в каком изолированном типе из S(∅).
S В этом случае найдется совместное
n
с T множество формул ϕδ (x), δ ∈ {0, 1} , для которых
n∈ω\{0}
• T
` ϕ0 (x) → ϕ(x);
• T
` ϕ1 (x) → ϕ(x);
• T
` ϕδ ˆ 0 (x) → ϕδ (x);
• T
` ϕδ ˆ 1 (x) → ϕδ (x);
• ` ¬∃x (ϕδ ˆ 0 (x) ∧ ϕδ ˆ 1 (x))
T
S
при любом δ ∈ {0, 1}n . Отсюда вытекает, что |D(T )| = 2ω и по теореме
n∈ω\{0}
3.3.10 теория T не имеет насыщенной модели. ¤
Из приведенного доказательства также вытекает, что если |D(T )| > ω,
то |D(T )| = 2ω . Таким образом, конечная диаграмма любой счетной теории
счетна или континуальна. Если |D(T )| = ω, то теория T называется малой.
§ 3.4. Категоричность.
Спектры моделей полных теорий
В этом параграфе мы будем рассматривать непротиворечивые счетные
теории T сигнатуры Σ, имеющие бесконечные модели. Зафиксируем такую
теорию. Для каждой бесконечной мощности λ обозначим через I(T, λ) число
попарно неизоморфных моделей теории T , имеющих мощность λ. Функция
I(T, ·), сопоставляющая каждой бесконечной мощности λ значение I(T, λ),
называется спектральной функцией, или спектром теории T .
Очевидно, что значение I(T, λ) не может превосходить мощности множе-
ства всех подмножеств данного множества мощности λ, т. е. I(T, λ) ≤ 2λ .
С другой стороны, из теорем Лёвенгейма — Скулема вытекает, что для лю-
бой бесконечной мощности λ существует по крайней мере одна модель тео-
рии T , имеющая мощность λ. Таким образом, 1 ≤ I(T, λ) ≤ 2λ .
Из неравенства 1 ≤ I(T, λ) следует, что получить однозначное, с точно-
стью изоморфизма, или категоричное описание модели в виде элементарной
теории можно лишь для конечных моделей. Следующее понятие выделяет
класс теорий, однозначно описывающих модели фиксированной мощности.
122 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Теория T называется категоричной в мощности λ или λ-категоричной,
если I(T, λ) = 1.
Категоричность теории в некоторой бесконечной мощности позволяет
устанавливать полноту теории.
Теорема 3.4.1 (теорема Лося — Воота). Если теория T категорична
в некоторой бесконечной мощности λ и содержит формулы
à !
^
∃x1 , . . . , xn ¬(xi ≈ xj ) , n ∈ ω,
i<j≤n
то теория T полна.
Доказательство. Пусть M и N — две бесконечные модели теории T .
Достаточно показать, что M ≡ N. По теореме Лёвенгейма — Скулема о спус-
ке существуют счетные элементарные подсистемы M1 4 M и N1 4 N. По
теореме Лёвенгейма — Скулема о подъеме найдутся элементарные расшире-
ния M2 < M1 и N2 < N1 мощности λ. Так как по условию системы M2 и N2
изоморфны, то M2 ≡ N2 . Следовательно, M ≡ N. ¤
∗
Пример 3.4.1. Рассмотрим теорию Tdlo плотных линейных порядков
без концевых элементов (см. пример 3.2.1). Аналогично примеру 3.1.2 дока-
∗
зывается, что любые две счетные модели теории Tdlo изоморфны, т. е. тео-
∗ ∗
рия Tdlo ω-категорична. Из отсутствия конечных моделей теории Tdlo по тео-
∗
реме 3.4.1 получаем, что теория Tdlo полна. ¤
Далее в этом параграфе будут рассматриваться полные теории.
Следующая теорема представляет синтаксическую характеризацию ω-кате-
горичности.
Теорема 3.4.2 (теорема Рыль-Нардзевского). Теория T является ω-ка-
тегоричной тогда и только тогда, когда для любого n ∈ ω \ {0} множество
n-типов Sxn (∅) конечно.
Доказательство. Пусть T — ω-категоричная теория и M — счетная
модель теории T . В силу теоремы Лёвенгейма — Скулема о спуске модель M
проста. Так как D(T ) = FD(M), то в силу теоремы 3.3.2 каждый тип из S(∅)
изолирован. Если бы теория T имела бесконечно много типов от перемен-
ных x, то множество отрицаний главных формул от x было бы совместно
и содержалось бы в неизолированном типе. Следовательно, множество Sxn (∅)
конечно.
3.4. КАТЕГОРИЧНОСТЬ. СПЕКТРЫ МОДЕЛЕЙ ПОЛНЫХ ТЕОРИЙ 123
Предположим теперь, что множество Sxn (∅) конечно. Тогда каждый тип
из Sxn (∅) изолирован. Поэтому по теореме 3.3.2 каждая счетная модель тео-
рии T проста. В силу теоремы единственности для простых моделей теория T
ω-категорична. ¤
∗
Пример 3.4.2. 1. Теория Tdlo ω-категорична и допускает элиминацию
кванторов. Поэтому для любого n ∈ ω конечное множество типов от перемен-
ных x1 , . . . , xn определяется относительным порядком элементов x1 , . . . , xn .
2. Рассмотрим теорию T = Th(hZ; s(1) i) c функцией следования s. Как
показано в примере 3.3.1, теория T имеет счетное число 2-типов p(x, y) ∈
∈ S(∅). В силу теоремы Рыль-Нардзевского теория T не ω-категорична. ¤
Для теорий, категоричных в несчетных мощностях, справедлива следу-
ющая теорема.
Теорема 3.4.3 (теорема Морли). Если теория T категорична в неко-
торой несчетной мощности λ, то T категорична в любой несчетной мощ-
ности. ¤
Таким образом, если I(T, λ) = 1 для некоторой мощности λ > ω,
то I(T, λ) = 1 для любой мощности λ > ω. Теория T , категоричная в неко-
торой (любой) несчетной мощности, называется несчетно категоричной.
Дж. Болдвином и А. Лахланом установлено, что из несчетной категорич-
ности теории T следует, что I(T, ω) = 1 или I(T, ω) = ω.
Пример 3.4.3. Теория T = Th(hZ; s(1) i) c функцией следования s име-
ет ω счетных моделей. При этом наличие изоморфизма счетных моделей
равносильно совпадению конечного или счетного числа их компонент связ-
ности. В любой несчетной мощности λ теория T категорична, поскольку
единственной, с точностью до изоморфизма, моделью мощности λ является
модель с λ компонентами связности. ¤
Пусть M — алгебраическая система сигнатуры Σ, содержащая кортеж a,
ϕ(x, y) — формула сигнатуры Σ, l(y) = l(a). Множество
ϕ(M, a) {b | M |= ϕ(b, a)}
называется множеством решений формулы ϕ(x, a) в системе M. Множество
X ⊆ M n называется (формульно) определимым или формульным в систе-
ме M, если X = ϕ(M, a) для некоторой формулы ϕ(x, a).
124 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Формула ϕ(x, a) в теории T называется сильно минимальной, если
множество ее решений в любой (некоторой) модели теории T бесконечно,
но для любой формулы ψ(x, b) в T множество решений одной из формул
ϕ(x, a) ∧ ψ(x, b), ϕ(x, a) ∧ ¬ψ(x, b) конечно (т. е. любое формульное подмно-
жество множества ϕ(M, a) конечно или коконечно).
Формула ϕ(x, y) в теории T называется недвукардинальной, если для лю-
бой модели M теории T и любого кортежа a ∈ M , где l(y) = l(a), множество
решений формулы ϕ(x, a) в M либо конечно, либо имеет мощность |M |.
Синтаксическую характеризацию несчетной категоричности представля-
ет следующая теорема.
Теорема 3.4.4 (теорема Болдвина — Еримбетова — Лахлана). Теория T
несчетно категорична, если и только если T имеет недвукардинальную
сильно минимальную формулу. ¤
В 2000 г. Б. Харт, Е. Хрушовский и К. Ласковский завершили описание
функций спектра счетных теорий для моделей несчетных мощностей. Здесь
наиболее существенную роль сыграли работы С. Шелаха. Отметим один
из основных его результатов в этом направлении.
Теория T называется стабильной в мощности λ или λ-стабильной, если
для любого множества A в T мощности λ имеет место |S(A)| ≤ |A|. Теория T
называется стабильной (суперстабильной), если T стабильна в некоторой
бесконечной мощности λ (T стабильна во всех мощностях λ ≥ 2ω ).
Теорема 3.4.5 (теорема Шелаха). Если теория T несуперстабильна
(в частности, нестабильна), то I(T, λ) = 2λ для любой несчетной мощно-
сти λ. ¤
Нестабильность теории T характеризуется существованием некоторой
формулы ϕ(x, y) и такой бесконечной последовательности кортежей an в T ,
l(x) = l(y) = l(an ), n ∈ ω, что в некоторой модели M теории T выполняется
M |= ϕ(am , an ) ⇔ m ≤ n. В частности, с помощью формулы (x ≤ y) про-
∗
веряется нестабильность теории Tdlo плотных линейных порядков, и в силу
∗
теоремы Шелаха имеет место I(Tdlo , λ) = 2λ для любой несчетной мощно-
сти λ.
Типом изоморфизма алгебраической системы A называется класс всех
алгебраических систем, изоморфных A.
3.4. КАТЕГОРИЧНОСТЬ. СПЕКТРЫ МОДЕЛЕЙ ПОЛНЫХ ТЕОРИЙ 125
Рассмотрим класс теорий T с условием I(T, ω) > 1.
Покажем, что если теория T не мала, то значение I(T, ω) максимально.
Предложение 3.4.6. Если |D(T )| = 2ω , то I(T, ω) = 2ω .
Доказательство. Предположим противное, т. е. I(T, ω) < 2ω .
Обозначим через X множество мощности I(T, ω), содержащее
S типы изомор-
физмов всех счетных моделей теории T . Тогда D(T ) = FD(M) и, значит,
M∈X
|D(T )| ≤ ω · |X| < 2ω , что противоречит условию |D(T )| = 2ω . ¤
Пример 3.4.4. В теории T независимых одноместных предикатов число
1-типов из S(∅) континуально, поскольку любая последовательность δ ∈ 2ω
однозначно задает полный 1-тип, определяемый типом
δ(i)
pδ (x) {Pi (x) | i ∈ ω},
причем pδ1 и pδ2 несовместны при δ1 6= δ2 . В силу предложения 3.4.6 получа-
ем, что I(T, ω) = 2ω . ¤
Предполагая, что теория T мала, укажем возможные значения I(T, ω),
строго меньшие 2ω .
Пусть M — модель теории T , A — конечное подмножество в M . Обозна-
чим через TA теорию Th(MA ).
Очевидно, что малость теории T влечет малость теории TA и, в частно-
сти, существует модель M0 |= T , для которой система M0A является простой
моделью теории TA . Такая модель M0 называется простой моделью над мно-
жеством A.
Пусть a — кортеж элементов, составляющих множество A в некоторой
модели M, p(x) — тип из S(∅), реализуемый кортежем a в модели M. Модель
M называется простой над реализацией a типа p(x), если M проста над
множеством A. Поскольку все простые модели над реализациями одного
и того же типа p изоморфны, такие модели мы будем обозначать через Mp .
Предложение 3.4.7. Для любой теории T значение I(T, ω) не равно 2.
Доказательство. Допустим, что I(T, ω) = 2. Пусть M0 и M1 — неизо-
морфные счетные модели теории T . Так как в силу предложения 3.4.6 тео-
рия T мала, по теореме 3.3.10 теория T имеет насыщенную модель, на-
пример M1 . Из следствия 3.3.11 вытекает существование простой модели,
и значит, модель M0 проста. Так как I(T.ω) 6= 1, то по теореме Рыль-
Нардзевского существует неглавный тип p ∈ S(∅). Простая модель Mp
126 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
над реализацией a типа p не может быть ни простой (так как реализует
неглавный тип), ни насыщенной (так как (Mp )A является простой моделью
не ω-категоричной теории TA , где множество A состоит из элементов корте-
жа a). Таким образом, I(T, ω) 6= 2. ¤
Теория T называется эренфойхтовой, если 1 < I(T, ω) < ω.
Примеры таких теорий, приводимые ниже, впервые были построены
А. Эренфойхтом.
Пример 3.4.5. 1. Рассмотрим систему A = hQ; ≤i и выделим в ней
константы C = {cn | n ∈ ω} с условием cn < cn+1 , n ∈ ω. Теория T3 = Th(AC )
имеет ровно три счетные модели:
• простую модель M0 , где lim cn = ∞;
n→∞
• простую модель Mp∞ над реализацией типа p∞ (x), определяемого ти-
пом {cn < x | n ∈ ω}; здесь предел lim cn рационален;
n→∞
• насыщенную модель M1 , где предел lim cn иррационален.
n→∞
2. Расширим сигнатуру Σ = {≤, cn }n∈ω одноместными предикатными
символами P1 , . . . , Pn−2 и добавим к теории T3 следующие аксиомы:
∀x (P1 (x) ∨ . . . ∨ Pn−2 (x)); ∀x (Pi (x) → ¬Pj (x)), i 6= j;
∀x, y ((x ≤ y) ∧ ¬(x ≈ y) →
→ ∃z ((x ≤ z) ∧ ¬(x ≈ z) ∧ (z ≤ y) ∧ ¬(z ≈ y) ∧ Pi (z))), 1 ≤ i ≤ n − 2.
Тем самым порождается теория Tn с условием I(Tn , ω) = n. Теория Tn имеет
простую модель, насыщенную модель и n − 2 модели Mpi , где pi (x) — тип,
определяемый типом {cn < x | n ∈ ω} ∪ {Pi (x)}, 1 ≤ i ≤ n − 2. ¤
Укажем синтаксическую характеризацию класса эренфойхтовых теорий.
Тип p ∈ S(∅) называется властным, если Mp — универсальная модель.
Предложение 3.4.8. Любая эренфойхтова теория T имеет властный
тип.
Доказательство. Предположим противное. Тогда по индукции суще-
ствует последовательность типов pn ∈ S(∅) таких, что pn ⊂ pn+1 и в Mpn
опускается тип pn+1 . Из Mpm 6' Mpn при m 6= n вытекает, что I(T, ω) ≥ ω. ¤
В примерах Эренфойхта 3.4.5 властными являются тип p∞ (x) и типы
pi (x), 1 ≤ i ≤ n − 2.
3.4. КАТЕГОРИЧНОСТЬ. СПЕКТРЫ МОДЕЛЕЙ ПОЛНЫХ ТЕОРИЙ 127
Для типов p, q ∈ D(T ) будем писать p ≤RK q и говорить, что тип p
не превосходит тип q по предпорядку Рудин — Кейслера или тип p под-
чиняется типу q, если модель Mq содержит реализацию типа p. В то же
время будем писать Mp ≤RK Mq и говорить, что модель Mp подчиняется
модели Mq , если p ≤RK q. Через RK(T ) обозначим множество всех типов
изоморфизма моделей Mp с отношением подчинения, соответствующим от-
ношению ≤RK для моделей Mp .
Будем говорить, что модели Mp и Mq взаимно подчиняются,
если Mp ≤RK Mq и Mq ≤RK Mp . Типы изоморфизма M1 и M2 из RK(T )
называются взаимно подчиняющимися (обозначается M1 ∼RK M2 ), если
взаимно подчиняются их представители.
Модель M называется (строго) предельной над типом p, если M 6' Mp
и M изоморфна объединению элементарной цепи (Mn )n∈ω , для которой
Mn ' Mp , n ∈ ω.
Пусть RK(T ) — конечная система. Для каждого класса M f ∈ RK(T )/∼RK ,
состоящего из типов изоморфизма взаимно подчиняемых моделей
f число попарно неизоморфных пре-
Mp1 , . . . , Mpn , обозначим через IL(M)
дельных моделей, каждая из которых предельна над некоторым типом pi .
Следующая теорема, доказанная С. В. Судоплатовым в 2001 г., представ-
ляет синтаксическую характеризацию теорий с конечным числом счетных
моделей.
Теорема 3.4.9 [42]. Для любой теории T следующие условия эквива-
лентны:
1) I(T, ω) < ω;
2) теория T мала, |RK(T )| < ω и IL(M) f < ω для любого класса
f ∈ RK(T )/∼RK .
M
Если выполняется какое-либо из условий 1 или 2, то теория T удовле-
творяет следующим условиям:
а) RK(T ) имеет наименьший элемент M0 (тип изоморфизма простой
модели) и IL(Mg0 ) = 0;
б) RK(T ) имеет наибольший ∼RK -класс M g1 (класс типов изомор-
физма всех простых моделей над реализациями властных типов),
g1 ) ≥ 1;
и из |RK(T )| > 1 следует IL(M
f > 1, то IL(M)
в) если |M| f ≥ 1.
128 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Более того, справедлива следующая декомпозиционная формула:
|RK(T )/∼RK |−1
X
I(T, ω) = |RK(T )| + fi ),
IL(M
i=0
g0 , . . . , M|RK(T
где M ^ )/∼RK |−1 — все элементы частично упорядоченного мно-
жества RK(T )/∼RK . ¤
Таким образом, эренфойхтовость теории характеризуется двумя пара-
метрами: предупорядоченным множеством RK(T ) и функцией распределения
IL(·) числа предельных над типами моделей.
Следующая теорема, также доказанная С. В. Судоплатовым, показыва-
ет, что любая из описанных в теореме 3.4.9 ситуаций реализуется, причем
эти реализации существуют как в классе стабильных, так и в классе неста-
бильных теорий.
Теорема 3.4.10 [42]. Для любого конечного предупорядоченного множе-
ства hX, ≤i с наименьшим элементом x0 и наибольшим классом xe1 в упо-
рядоченном фактор-множестве hX, ≤i/∼ по отношению ∼ (где x ∼ y ⇔
⇔ x ≤ y и y ≤ x), а также для любой функции f : X/∼ → ω, удовлетво-
ряющей условиям f (xe0 ) = 0, f (xe1 ) > 0 при |X| > 1, f (e
y ) > 0 при |e
y | > 1,
существуют (не)стабильная теория T и изоморфизм g: hX, ≤i f → RK(T )
такой, что IL(g(e
y )) = f (e
y ) для любого ye ∈ X/∼. ¤
В силу теоремы 3.4.10 положительно решается известная с начала 1970-х
годов проблема Лахлана о существовании стабильной эренфойхтовой
теории.
Приведенные выше примеры показывают, что для любой мощности
λ ∈ (ω \ {0, 2}) ∪ {ω, 2ω } существует теория Tλ с условием I(Tλ , ω) = λ.
Изложение результатов о числе счетных моделей теорий завершим рас-
смотрением известной с 1961 г. проблемы Воота о существовании теорий T
c условием ω < I(T, ω) < 2ω .
В теории множеств имеется аксиома, утверждающая об отсутствии мощ-
ностей, лежащих строго между ω и 2ω . Эта аксиома называется континуум-
гипотезой и не зависит от остальных аксиом теории множеств, т. е. с рав-
ным успехом может быть принята или отвергнута. Обозначим через
ω0 , ω1 , . . . , ωn , . . . первый бесконечный кардинал, второй бесконечный карди-
нал и т.д. Тогда ω0 = ω и континуум-гипотеза утверждает, что ω1 = 2ω .
3.5. СИСТЕМА АКСИОМ АРИФМЕТИКИ ПЕАНО 129
М. Морли доказал, что для любой счетной теории T справедливо
I(T, ω) ∈ (ω \ {0, 2}) ∪ {ω, ω1 , 2ω }. Таким образом, при отрицании континуум-
гипотезы проблема Воота сводится к вопросу о существовании теории, име-
ющей ровно ω1 счетную модель. До настоящего времени проблема Воота
не решена.
§ 3.5. Система аксиом арифметики Пеано.
Нестандартные модели арифметики
Представим аксиомы сигнатуры Σ0 = {s(1) , +(2) , ·(2) , 0(0) , ≤(2) }, порожда-
ющие элементарную теорию арифметики:
S1) ∀x, y ((s(x) ≈ s(y)) → (x ≈ y));
S2) ∀x ¬(s(x) ≈ 0);
S3) ∀x (¬(x ≈ 0) → ∃y (x ≈ s(y)));
C1) ∀x ((x + 0 ≈ x) ∧ (0 + x ≈ x));
C2) ∀x, y ((x + s(y) ≈ s(x + y)) ∧ (s(x) + y ≈ s(x + y)));
У1) ∀x ((x · 0 ≈ 0) ∧ (0 · x ≈ 0));
У2) ∀x, y (x · s(y) ≈ x · y + x);
П) ∀x, y, z ((x ≤ x) ∧ ((x ≤ y) ∧ (y ≤ x) → (x ≈ y))∧
∧((x ≤ y) ∧ (y ≤ z) → (x ≤ z)) ∧ ((x ≤ y) ∨ (y ≤ x)));
ПС) ∀x, y ((x ≤ y) ↔ ∃z (x + z ≈ y)).
Обозначим множество всех перечисленных аксиом через A0 . Отметим,
что приведенные аксиомы согласуются с аксиомами Дедекинда — Пеано,
представленными в § 1.3∗ . Аксиома математической индукции явля-
ется единственной в аксиоматике Дедекинда — Пеано, не выразимой в ло-
гике первого порядка, поскольку в этой аксиоме “навешивается” квантор
не по элементам, а по предикатам. Элементарным аналогом аксиомы мате-
матической индукции будет следующая схема аксиом для всех формул ϕ(x)
сигнатуры Σ0 с одной свободной переменной x:
Иϕ ) (аксиома математической индукции для формулы ϕ(x))
ϕ(0) ∧ ∀x (ϕ(x) → ϕ(s(x))) → ∀y ϕ(y).
Множество аксиом A0 вместе с аксиомами математической индукции для
формул составляют систему аксиом арифметики Пеано, обозначаемую че-
рез P. Теория TP , порожденная системой аксиом P, называется теорией
арифметики Пеано.
130 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Очевидно, теория TP непротиворечива и система N = hN; s, +, ·, 0, ≤i
является ее моделью, называемой стандартной моделью арифметики.
Обозначим через ∆0 константный символ 0, через ∆n+1 — терм s(∆n ),
n ∈ ω.
Перечислим некоторые основные свойства, выводящиеся из системы
аксиом P. В частности, покажем, что арифметика на термах ∆n согласуется
с обычной арифметикой на натуральных числах.
Предложение 3.5.1. Из аксиом A0 выводимы следующие предло-
жения:
1) ∀x (0 ≤ x);
2) ∀x ((x ≤ ∆n ) → (x ≈ ∆0 ) ∨ . . . ∨ (x ≈ ∆n ));
3) ¬(∆m ≈ ∆n ), если m 6= n;
4) (∆k + ∆m ≈ ∆n ), если k + m = n;
5) ¬(∆k + ∆m ≈ ∆n ), если k + m 6= n;
6) (∆k · ∆m ≈ ∆n ), если k · m = n;
7) ¬(∆k · ∆m ≈ ∆n ), если k · m 6= n.
Доказательство. 1. По теореме Гёделя о полноте достаточно устано-
вить, что предложение ∀x (0 ≤ x) истинно в любой модели M множества A0 ,
т. е. M |= (0 ≤ a) для любого a ∈ M . Рассмотрим произвольный элемент
a ∈ M . В силу аксиомы С1 справедливо 0 + a = a. Тогда M |= ∃z (0 + z ≈ a)
и из аксиомы ПС следует M |= (0 ≤ a).
2. Докажем утверждение индукцией по n. Если n = 0, то из посылки
x ≤ ∆0 и условия ∆0 ≤ x, справедливого по п. 1, на основании аксиомы П
выводим формулу (x ≈ ∆0 ). Если n > 0, то в силу аксиомы ПС из посылки
(x ≤ ∆n ) выводится формула ∃z (x + z ≈ ∆n ). Если z = 0, то по аксиоме С1
выводима формула (x ≈ ∆n ). Если z 6= 0, то в силу аксиомы S3 получаем
∃y (s(y) ≈ z) и из аксиомы С2 выводим s(x + y) ≈ x + s(y) ≈ ∆n = s(∆n−1 ).
Тогда по аксиоме S2 получаем (x + y ≈ ∆n−1 ), откуда вытекает x ≤ ∆n−1 .
Используя индукционное предположение, выводим
(x ≈ ∆0 ) ∨ . . . ∨ (x ≈ ∆n−1 ).
3. Индукцией по n покажем, что из m < n следует доказуемость формулы
¬(∆m ≈ ∆n ). Если n = 0, то посылка ложна и доказывать нечего. Предполо-
жим, что m < n + 1. Если m = 0, то ∆m = ∆0 = 0. При этом ∆n+1 = s(∆n ) и
из аксиомы S2 вытекает требуемое. Если m 6= 0, то ∆m = s(∆m−1 ). Предпола-
гая доказуемость (∆m ≈ ∆n+1 ), из ∆n+1 = s(∆n ) в силу аксиомы S1 выводим
3.5. СИСТЕМА АКСИОМ АРИФМЕТИКИ ПЕАНО 131
(∆m−1 ≈ ∆n ). Тогда имеем m − 1 = n, т. е. m = n + 1, а это противоречит
условию m < n + 1.
4. Докажем утверждение индукцией по n. Если k + m = 0, то k = m = 0 и
(∆0 + ∆0 ≈ ∆0 ) выводится из аксиомы С1. Если k + m = n + 1, то при m = 0
получаем ∆k + ∆m = ∆k + 0 ≈ ∆k = ∆n+1 , откуда следует выводимость
формулы (∆k + ∆m ≈ ∆n+1 ). Если m 6= 0, то
∆k + ∆m = ∆k + s(∆m−1 ) ≈ s(∆k + ∆m−1 ).
По индукционному предположению имеем (∆k + ∆m−1 ≈ ∆k+m−1 ), и, значит,
(∆k + ∆m ≈ s(∆k+m−1 ) = ∆k+m ).
Выводимость формул п. 5 вытекает из выводимости формул пп. 3 и 4.
Доказательство формул из пп. 6 и 7 устанавливается аналогично пп. 4, 5
и оставляется читателю в качестве упражнения. ¤
Из предложения 3.5.1 вытекает, что стандартная модель арифметики N
является простой моделью теории T = Th(N). Вместе с тем описательные
возможности логики первого порядка не позволяют говорить о категорич-
ности теории T ни в какой мощности. Более того, в каждой бесконечной
мощности число попарно неизоморфных моделей теории T максимально.
Теорема 3.5.2. Для любой бесконечной мощности λ имеет место ра-
венство I(Th(N), λ) = 2λ .
Доказательство. Покажем сначала, что для теории T = Th(N) спра-
ведливо I(T, ω) = 2ω . В силу предложения 3.4.6 достаточно показать, что
|S 1 (∅)| = 2ω . Так как модель N проста и любой ее элемент представляется
в виде константного терма (т. е. терма, не содержащего переменных), до-
статочно установить, что |S 1 (N )| = 2ω . Каждому множеству P , состоящему
из некоторого непустого множества простых чисел, поставим в соответствие
множество формул
qP (x) = {∃y (p · y ≈ x) | p ∈ P }∪
∪{¬∃y (p · y ≈ x) | p — простое число и p 6∈ P }.
Локально совместное, а значит, в силу теоремы компактности совместное
множество qP (x) реализуется элементами, делящимися на все простые числа
из P и не делящимися на простые числа, не входящие в P . Тогда число
попарно несовместных типов qP (x) совпадает с 2ω и, следовательно,
|S 1 (∅)| = |S 1 (N )| = 2ω .
132 Глава 3. ЭЛЕМЕНТЫ ТЕОРИИ МОДЕЛЕЙ
Пусть теперь λ — произвольный несчетный кардинал. Наличие бесконеч-
ного линейного порядка в модели N влечет нестабильность теории T и в силу
теоремы 3.4.5 получаем I(T, λ) = 2λ . ¤
Из теоремы 3.5.2 вытекает существование континуума счетных нестан-
дартных моделей арифметики. Каждая такая модель содержит по крайней
мере один аномальный элемент, т. е. элемент, не интерпретирующийся ни-
каким натуральным числом.
В завершение покажем, что добавление к системе аксиом A0 аксиомы
математической индукции в полном объеме гарантирует однозначность опи-
сания модели арифметики. Алгебраическая система M = hM ; s, +, ·, 0, ≤i
называется системой Дедекинда — Пеано или DP -системой, если M явля-
ется моделью теории TP и удовлетворяет аксиоме математической индукции
∀A ⊆ M ((0 ∈ A) ∧ ∀x ((x ∈ A) → s(x) ∈ A) → A = M ).
Из аксиомы математической индукции следует отсутствие аномальных
элементов в любой DP -системе. Таким образом, на основании предложения
3.5.1 справедлива следующая теорема.
Теорема 3.5.3. Любые две DP -системы изоморфны. ¤
Задачи и упражнения
1. Пусть M ⊂ N — множество четных чисел, M = hM ; ≤i, N = hN; ≤i, где ≤ —
обычный порядок. Является ли M элементарной подмоделью модели N?
2. Является ли поле комплексных чисел hC; +, ·i элементарным расширением
поля действительных чисел hR; +, ·i?
3. Пусть сигнатура Σ состоит из одного двухместного предикатного символа P ,
T — теория сигнатуры Σ, порожденная аксиомами ∀x, y (P (x, y) → ¬P (y, x)),
∀x, y, z (P (x, y) → (P (y, z) → P (x, z))). Является ли T полной теорией?
4. Пусть T — теория плотных линейных порядков. Показать, что T имеет ровно
четыре полных расширения сигнатуры {≤}.
5. Пусть T — теория константной сигнатуры {cn | n ∈ ω}. Показать, что T
допускает элиминацию кванторов.
6. Пусть T — модельно полная теория, имеющая простую модель. Показать,
что теория T полна.
ЗАДАЧИ И УПРАЖНЕНИЯ 133
7. Булева алгебра называется безатомной, если она не содержит атомов. До-
казать полноту теории безатомных булевых алгебр.
8. Булева алгебра называется атомной, если в ее диаграмме Хассе под каж-
дым ненулевым элементом имеется некоторый атом. Доказать, что теория
бесконечных атомных булевых алгебр полна, но не модельно полна.
9. Доказать, что теория бесконечных атомных булевых алгебр с дополнитель-
ным одноместным предикатом At, выделяющим атомы, модельно полна.
10. Описать полные теории сигнатуры {Pn | n ∈ ω} одноместных предикатов.
Найти все возможные функции спектра для этих теорий.
11. Описать полные теории сигнатуры {En | n ∈ ω} отношений эквивалентно-
сти. Найти все возможные функции спектра для этих теорий.
12. Унаром называется алгебраическая система сигнатуры одной одноместной
функции. Описать полные теории унаров. Найти все возможные значения
числа счетных моделей для этих теорий.
13. Описать полные теории ациклических графов. Найти все возможные значе-
ния числа счетных моделей для этих теорий.
14. Описать полные теории линейно упорядоченных множеств. Найти все воз-
можные значения числа счетных моделей для этих теорий.
15. Показать, что любая ω-стабильная теория имеет простую модель.
16. Пусть I(T, ω) > 1 и каждая счетная модель теории T однородна. Показать,
что I(T, ω) ≥ ω.
17. Пусть I(T, ω) > ω и каждая счетная модель теории T однородна. Показать,
что I(T, ω) = 2ω .
18. Определить интерпретации сигнатурных символов теории арифметики Пе-
ано так, чтобы моделью теории TP стала система с носителем:
а) N ∪ {a}, где a 6∈ N;
б) N ∪ {a, b}, где a, b 6∈ N;
в) N ∪ {an | n ∈ ω}, где an 6∈ N для всех n ∈ ω.
Глава 4
ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
При изучении дискретной математики и формальных исчислений мы
рассматривали большое количество различных алгоритмов. Это и алгоритм
Евклида нахождения наибольших общих делителей, и алгоритмы нахожде-
ния кратчайших маршрутов во взвешенном графе, и алгоритм распознава-
ния доказуемости формул исчисления высказываний.
Отметим несколько основных общих черт алгоритмов.
1. Алгоритм — это процесс последовательного построения (вычисления)
величин, протекающий в дискретном времени так, что в начальный момент
времени задается исходная конечная система величин, а в каждый последу-
ющий момент система величин получается по определенному закону (про-
грамме) из системы величин, которые имелись в предыдущий момент вре-
мени (дискретность алгоритма).
2. Система величин, получаемых в любой не начальный момент време-
ни, однозначно определяется системой величин, полученных в предыдущие
моменты времени (детерминированность алгоритма).
3. Закон получения последующей системы величин из предшествующей
должен быть простым (элементарность шагов алгоритма).
4. Если способ получения последующей величины из какой-нибудь задан-
ной величины не дает результата, то должно быть указано, чтó надо считать
результатом алгоритма (направленность алгоритма).
5. Алгоритм должен быть пригоден для решения всех задач из заданного
класса (массовость алгоритма).
Приведенные свойства определяют, конечно, не строгое понятие алго-
ритма, которое называется интуитивным. Оно практически не вызывает
разногласий относительно того, является ли данный процесс алгоритмиче-
4.1. МАШИНЫ ТЬЮРИНГА 135
ским. Однако ситуация существенно изменяется, если есть предположение
об алгоритмической неразрешимости задачи, т. е. о невозможности решить
ее алгоритмическими методами.
В 20-х — 30-х гг. XX в. предпринимались попытки формализовать поня-
тие алгоритма. В результате было предложено несколько моделей алгорит-
мов (машины Поста и Тьюринга, рекурсивные функции, нормальные алго-
рифмы Маркова (1954 г.) и др.). Впоследствии было установлено, что классы
решаемых ими задач совпадают. На основании этого появился тезис о мо-
делях алгоритмов, опубликованный впервые А. Чёрчем в 1936 г. для класса
рекурсивных функций и носящий его имя в следующем современном виде.
Тезис Чёрча. Класс задач, решаемых в любой формальной алгоритми-
ческой модели, совпадает с классом задач, которые могут быть решены
интуитивно алгоритмическими методами.
Тезис Чёрча доказать нельзя, поскольку интуитивное понятие алгоритма
строго не определяется.
Любое вычисление по алгоритму A можно представить в виде функ-
ции fA : X → N, где X ⊆ Nn , у которой для любых числовых данных
(x1 , . . . , xn ) ∈ X значение fA (x1 , . . . , xn ) совпадает с результатом A(x1 , . . . .xn )
работы алгоритма A на данных x1 , . . . , xn . Таким образом, в классе всех
функций f : X → N, где X ⊆ Nn , выделяется подкласс вычислимых функ-
ций, т. е. функций вида fA . Тем самым тезис Чёрча утверждает, что совпа-
дают классы вычислимых и рекурсивных функций.
Формальное определение понятия алгоритма создало предпосыл-
ки для разработки теории алгоритмов. Прогресс вычислительной техники
стимулировал дальнейшее развитие этой теории.
В настоящей главе мы рассмотрим две основные модели вычислимо-
сти — машины Тьюринга и рекурсивные функции, установим эквивалент-
ность этих моделей и на основе этих моделей укажем некоторые пределы
вычислимости.
§ 4.1. Машины Тьюринга
1. Определение и примеры
Машина Тьюринга T представляет собой систему, работающую в дис-
кретные моменты времени t = 0, 1, 2, . . . и состоящую из следующих частей
(рис. 4.1).
136 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
qj
@
@¡¡
ai
Рис. 4.1
1. Конечная лента, разбитая на конечное число ячеек . При этом в каж-
дый момент времени t в ячейках записаны буквы из некоторого алфавита
A = {a0 , a1 , . . . , am } (где a0 = 0, a1 = 1, m ≥ 1), называемого внешним алфа-
витом машины. Ячейка, в которой записан символ 0, называется пустой.
В процессе работы машины каждая ячейка может менять свое состояние пу-
тем замены приписанного к ней символа ai на другой символ al ∈ A. Слева
и справа от всех существующих ячеек можно пристраивать неограничен-
ное число дополнительных ячеек, которые изначально считаются пустыми.
Лента считается направленной, и ее ячейки будут просматриваться слева на-
право. Таким образом, если в какой-то момент времени лента имеет r ячеек,
то состояние ленты полностью описывается словом ai1 ai2 . . . air , где ai1 —
состояние первой (слева) ячейки, ai2 — состояние второй ячейки и т.д.
2. Управляющая головка, представляющая собой устройство, которое мо-
жет перемещаться вдоль ленты так, что в каждый рассматриваемый момент
времени оно находится напротив определенной ячейки и имеет некоторое со-
стояние qj из конечного множества внутренних состояний Q = {q0 , q1 , . . .
. . . , qn }, Q ∩ A = ∅. Состояние q0 называется заключительным и означает
завершение работы машины, а состояние q1 — начальным и означает начало
работы машины.
3. Программа Π, т. е. совокупность выражений T (i, j) (где i = 1, . . . , n,
j = 0, . . . , m), каждое из которых имеет один из следующих видов:
• qi aj → qk L (сдвиг головки, находящейся в состоянии qi напротив ячейки
с буквой aj , на одну ячейку влево с заменой состояния qi на qk );
• qi aj → qk R (сдвиг головки, находящейся в состоянии qi напротив ячейки
с буквой aj , на одну ячейку вправо с заменой состояния qi на qk );
• qi aj → qk al (замена буквы aj в текущей ячейке на букву al , а также
замена состояния qi головки на состояние qk ).
Выражения T (i, j) называются командами. При этом команды не могут
начинаться со слов q0 aj . Символы L и R не принадлежат множеству A ∪ Q.
4.1. МАШИНЫ ТЬЮРИНГА 137
Таким образом, машина Тьюринга T есть пятерка hA, Q, Π, q0 , q1 i, а рабо-
та машины T состоит в изменении ее конфигурации K, состоящей из состо-
яния ленты, состояния головки и положения текущей ячейки. Дискретным
моментам времени t = 0, 1, 2, . . . соответствуют конфигурации K0 , K1 , K2 , . . .
Конфигурация K0 называется начальной, а конфигурация Kt , содержа-
щая q0 , — заключительной. Конфигурации будут задаваться в виде машин-
ных слов M = αqi aj β, где αaj β — состояние ленты, qi — состояние головки,
находящейся напротив ячейки с состоянием aj , занимающей то же положе-
ние среди других ячеек, что и буква aj в слове αqi aj β.
Опишем преобразование M →T M 0 машинного слова M = αqi aj β в ма-
шинное слово M 0 за один шаг работы машины T .
Пусть команда T (i, j) равна qi aj → qk L. Если α — пустое слово Λ,
то M2 = qk a0 aj β. Если же α = α0 al , то M2 = α0 qk al aj β.
Если T (i, j) = qi aj → qk R, то M2 = αaj qk a0 при β = Λ и M2 = αaj qk al β 0
при β = al β 0 .
Если T (i, j) = qi aj → qk al , полагаем M2 αqk al β.
Будем говорить, что машинное слово M 0 получается из машинного сло-
ва M c помощью машины T , и писать M ⇒T M 0 , если существует после-
довательность преобразований Mi →T Mi+1 , i = 0, . . . , k − 1, для которой
M0 = M , Mk = M 0 .
Преобразование M ⇒T M 0 , при котором на каждом переходе Mi →T Mi+1
не достраиваются ячейки слева, обозначается через M VT M 0 .
Преобразование M ⇒T M 0 , при котором на каждом переходе Mi →T Mi+1
не достраиваются ячейки ни слева, ни справа, обозначается через
M |VT M 0 .
В дальнейшем в записях →T , ⇒T , VT и |VT индекс T будет опускаться,
если из контекста будет ясно, о какой машине T идет речь.
Зафиксируем алфавит A = {a0 , a1 , a2 , . . . , am }. Через axi будем обозначать
слово ai ai . . . ai алфавита A, состоящее из x букв ai . Приведем список машин,
которые будут использоваться в дальнейшем в качестве составляющих для
других, более сложных машин.
1. A (перенос нуля): q1 001x 0 |V q0 01x 00.
2. Б+ (сдвиг вправо): q1 ai 1x 0 |V ai 1x q0 0.
3. Б− (сдвиг влево): 01x q1 ai |V q0 01x ai .
4. В (транспозиция): q1 01x 01y 0 |V q0 01y 01x 0.
138 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
5. К (копирование): q1 01x 00x 0 |V q0 01x 01x 0.
6. Л (стирающая машина): q1 01x 0 |V q0 00x 0.
7. R (удаление 1): q1 01x+1 0 |V q0 01x 00.
8. S (добавление 1): q1 01x 0 |V q0 01x+1 .
9. Сложение: q1 01x+1 01y+1 0 |V q0 01x+y+1 000.
10. Умножение: q1 01x+1 01y+1 0 V q0 01x·y+1 0.
Приведем примеры программ для машин Б+ и Сложение, оставив на-
писание остальных программ читателю в качестве упражнения.
Программа для машины Б+ , например, выглядит так:
q1 0 → q2 R, q2 0 → q0 0,
q1 ai → q2 R, q2 ai → q2 R, i = 1, . . . , m.
Для написания программы машины Сложение приведем сначала
упрощенные преобразования, позволяющие перерабатывать машинное слово
q1 01x+1 01y+1 0 в слово q0 01x+y+1 000:
q1 01x+1 01y+1 0 |V 01x+1 01y+1 qα 0 |V
½
01x+1 qβ 01y−1 000 |V q0 01x+y+1 000, если y 6= 0,
|V
q0 01x+1 000, если y = 0.
Программу, соответствующую указанной схеме, представим в виде следу-
ющей таблицы команд , в которой на пересечении строки с символом ai ∈ A
и столбца с символом qj ∈ Q, j > 0, имеется запись qk ∗ (∗ ∈ A ∪ {L, R}),
содержащаяся в команде qi aj → qk ∗, а пустая ячейка соответствует произ-
вольной записи qk ∗ и для определенности будет означать q0 0:
q1 q2 q3 q4 q5 q6 q7 q8 q9
0 q2 R q3 R q4 L q5 L q6 L (где y = 0) q0 0 q8 L q9 1 q0 0
1 q2 R q3 R q4 0 q7 0 (где y 6= 0) q6 L q8 L q9 L
Определим основные операции над машинами Тьюринга.
4.1. МАШИНЫ ТЬЮРИНГА 139
2. Композиция машин Тьюринга
Пусть Π — некоторая программа. Обозначим через [Π]qqij результат замены
во всех командах из Π вхождений символов qi на символы qj .
Пусть Ti = hAi , Qi , Πi , q0Ti , q1Ti i, i = 1, 2, — машины Тьюринга с условиями
A1 = A2 = A, Q1 ∩ Q2 = ∅. Машина
¿ À
¡ T1
¢ T
q0 1 T2 T1
T = A, Q1 \ {q0 } ∪ Q2 , [Π1 ] T2 ∪ Π2 , q0 , q1
q1
называется композицией машин T1 и T2 и обозначается через T1 ◦ T2 или
через T1 T2 .
Очевидно, для любого машинного слова M машины T1 преобразование
M ⇒T M 0 означает, что найдется слово M 00 = αq0T1 β с условиями M ⇒T1 M 00
и αq1T2 β ⇒T2 M 0 .
Условимся считать, что для машин T1 , T2 , T3 запись T1 T2 T3 означает ком-
позицию машин T1 T2 и T3 , а запись (T1 )n совпадает с записью n машин
T1 T1 . . . T 1 .
Следующие машины представляются в виде композиции машин из списка
1 – 10.
11. Цn , n ≥ 2 (циклическая перестановка n аргументов):
q1 01x1 01x2 01x3 . . . 01xn 0 |V q0 01xn 01x1 01x2 . . . 01xn−1 0.
12. Кn , n ≥ 2 (удвоение n аргументов):
q1 01x1 01x2 . . . 01xn 0 V q0 01x1 01x2 . . . 01xn 01x1 01x2 . . . 01xn 0.
Машина Ц2 совпадает с машиной В. Машина Ц3 соответствует следую-
щей цепочке преобразований:
+ −
q1 01x1 01x2 01x3 0 |VБ 01x1 qα 01x2 01x3 0 |VЦ2 01x1 qβ 01x3 01x2 0 |VБ
−
|VБ qγ 01x1 01x3 01x2 0 |VЦ2 q0 01x3 01x1 01x2 0.
Таким образом, Ц3 = Б+ Ц2 Б− Ц2 . В общем случае по индукции выво-
дится равенство Цn+1 = Б+ Цn Б− В.
Машина К2 представляется в виде следующей композиции:
К2 = Б+ КБ− (Ц3 )2 (Б+ )2 К(Б− )2 Ц4 (Б+ )2 Ц2 (Б− )2 ,
а машина Кn+1 выражается через Кn по следующей формуле:
Кn+1 = Б+ Кn Б− (Ц2n+1 )2n (Б+ )2n К(Б− )2n Ц2n+2 (Б+ )n+1 Цn+1 (Б− )n+1 .
140 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
3. Условные операторы
Пусть T1 , T2 — машины Тьюринга, удовлетворяющие условиям предыду-
щего пункта. Определим машину T , содержащую начальное состояние q1T ,
заключительное состояние q0T и обладающую следующими свойствами для
любых символов a, b, c ∈ A, слов α, β ∈ W (A), машинных слов Mi , содержа-
Ti
q
щих заключительные состояния q0Ti , и машинных слов [Mi ]q0T , получающихся
0
из Mi заменой q0Ti на q0T , i = 1, 2:
T1
q
а) если abc = 010 и αq1T1 abcβ ⇒T1 M1 , то αq1T abcβ ⇒T [M1 ]q0T ;
0
T
q 2
б) если abc 6= 010 и αq1T2 abcβ ⇒T2 M2 , то αq1T abcβ ⇒ T
[M2 ]q0T .
® 0
Положим T A, Q, Π, q0T , q1T , где
Q = (Q1 \ {q0T1 }) ∪ (Q2 \ {q0T2 }) ∪ {q0T , q1T , q2T , q3T , q4T , q5T };
T1 T2
q q
Π = [Π1 ]q0T ∪ [Π2 ]q0T ∪ Π0 ,
0 0
0
Π — программа, осуществляющая проверку условия abc = 010 и задание
альтернатив по следующей таблице команд:
q1T q2T q3T q4T q5T
0 q2T R q1T2 L q4T L q1T2 L
1 q1T2 1 q3T R q5T L q1T1 L q1T2 L
a2 q1T2 a2 q1T2 L q5T L q1T2 L
... ... ... ... ... ...
am q1T2 am q1T2 L q5T L q1T2 L
Отображение E(·, ·), ставящее в соответствие машинам T1 и T2 машину T ,
называется условным оператором и обозначается через E(T1 , T2 ) или
½
T1
E .
T2
4.1. МАШИНЫ ТЬЮРИНГА 141
Пусть Ti = hAi , Qi , Πi , q0Ti , q1Ti i, i = 0, 1, 2, — машины Тьюринга с условия-
ми A0 = A1 = A2 = A, Q0 ∩ Q1 = ∅, Q0 ∩ Q2 = ∅, Q1 ∩ Q2 = ∅, T = E(T1 , T2 ),
T = hA, Q, Π, q0T , q1T i. Условным оператором с циклом называется оператор,®
ставящий в соответствие машинам T0 , T1 , T2 машину T ∗ = A, Q∗ , Π∗ , q0T , q1T0
c множеством внутренних состояний Q∗ = (Q0 \ {q0T0 }) ∪ Q и программой
T0 T1 T
q q q0 2
Π∗ = Π00 ∪ Π01 ∪ Π02 ∪ Π0 , где Π00 = [Π0 ]q0T , Π01 = [Π1 ]q0T , Π02 = [Π2 ] T .
1 0 q1 0
∗
Значение T условного
( оператора с циклом от машин T0 , T1 , T2 обозна-
• T1
чается через T0 E • . При этом для различных условных операторов
T2
•
с циклом внутри одной машины следует использовать разные метки вида ·.
Работа машины T ∗ с машинным словом M0 , содержащим начальное со-
стояние q1T0 машины T ∗ , состоит в следующем. Сначала машина с програм-
мой Π00 перерабатывает слово M0 в слово αq1T abcβ, соответствующее слову
αq0T0 abcβ, на котором завершается работа машины T0 . Затем с помощью про-
граммы Π0 проводится проверка равенства abc = 010. В случае равенства ма-
шина с программой Π01 перерабатывает слово αq1T abcβ в некоторое слово M1 ,
содержащее q0T , и завершает свою работу или работает неограниченное
время.
Если же abc 6= 010, машина с программой Π02 перерабатывает слово
αq1 abcβ в некоторое слово M2 , содержащее q1T0 , соответствующее слову, на ко-
T
тором завершается работа машины T2 , или работает неограниченное время.
При получении слова M2 снова применяется машина с программой Π00 , и про-
цесс продолжается неограниченное время или после прохождения некоторо-
го числа циклов останавливается после работы машины с программой Π01 .
4. Функции, вычислимые на машинах Тьюринга
Для любого натурального числа n ∈ N обозначим через n слово, состоя-
щее из n + 1 числа единиц: 11 . . . 1.
Функция f : D X → N, где X E⊆ Nk , называется вычислимой на машине
T T
Тьюринга Tf = A, Q, Π, q0 f , q1 f , если выполняются следующие условия:
а) из (n1 , . . . , nk ) ∈ X следует
T T
q1 f 0n1 0n2 . . . 0nk 0 ⇒Tf αq0 f 0f (n1 , n2 , . . . , nk )0β;
142 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
T
б) из (n1 , . . . , nk ) ∈ Nk \ X следует q1 f 0n1 0n2 . . . 0nk 0 ⇒∞ , т. е. начиная
T
со слова q1 f 0n1 0n2 . . . 0nk 0 машина Tf работает неограниченно долго, не при-
T
ходя в заключительное состояние q0 f .
Таким образом, вычислимость функции f на машине Тьюринга Tf озна-
чает, что по любому набору (n1 , . . . , nk ) из области определения δf (закодиро-
ванному в виде наборов единиц длин ni +1, разделенных нулями) машина Tf
выдает значение f (n1 , . . . , nk ) (закодированное в виде набора единиц длины
f (n1 , . . . , nk ) + 1), а для любого набора (n1 , . . . , nk ) ∈ Nk \ X машина Tf
не завершает работу за конечное время.
DФункция f называется E правильно вычислимой на машине Тьюринга Tf =
T T
= A, Q, Π, q0 f , q1 f , если выполняются следующие условия:
а) из (n1 , . . . , nk ) ∈ X следует
T T
q1 f 0n1 0n2 . . . 0nk 0 VTf q0 f 0f (n1 , n2 , . . . , nk )0β
и ячейка, напротив которой находится головка в начальный момент времени,
совпадает с ячейкой, напротив которой находится головка в заключитель-
ный момент времени;
б) из (n1 , . . . , nk ) ∈ Nk \ X следует
T
q1 f 0n1 0n2 . . . 0nk 0 V∞ ,
T
т. е. начиная со слова q1 f 0n1 0n2 . . . 0nk 0 машина Tf работает неограниченно
T
долго, не приходя в заключительное состояние q0 f , и при этом не достраи-
ваются ячейки слева.
Функция f называется правильно вычислимой (сокращенно ПВФ), ес-
ли f правильно вычислима на некоторой машине Тьюринга.
Преимущество правильной вычислимости по сравнению с обычной вы-
числимостью на машинах Тьюринга состоит в том, что левее ячейки, на-
против которой стоит головка в начальном состоянии, можно записывать
информацию, которая не изменяется в процессе “правильного вычисления”.
Пример 4.1.1. 1. 0-Функция o: N → N, для которой o(x) = 0, x ∈ N,
правильно вычислима на машине ЛS.
2. Функция следования s: N → N, для которой s(x) = x + 1, x ∈ N,
правильно вычислима на машине S.
4.1. МАШИНЫ ТЬЮРИНГА 143
n
3. n-Местная функция проекции на m-ю координату Im : Nn → N, для
n
которой Im (x1 , . . . , xn ) = xm , x1 , . . . , xn ∈ N, 1 ≤ m ≤ n правильно вычислима
на машине Цm (Б+ )n−1 (ЛБ− )n−1 .
4. Функции +: N2 → N, +(x, y) = x + y, и ·: N2 → N, ·(x, y) = x · y, пра-
вильно вычислимы на машинах Сложение и Умножение соответственно.
При этом машина Умножение представима в виде следующей машины:
(
Б− ВБ+ ЛБ−
Б+ E •
RБ− ВБ+ КБ− ВБ+ E
( −
Б Ц3 (Б+ )2 (ЛБ− )2
• .
RБ+ A(Б− )2 Ц23 (Б+ )2 К(Б− )2 Ц3 (Б+ )2 Сложение Б−
5. Функция усеченной разности −̇: N2 → N, где
½
0, если x ≤ y,
x −̇ y =
x − y, если x > y,
правильно вычислима на машине
−
•
ЛБ
( +
Б+ E −
Б ЛБ− . ¤
RБ E •
RБ+ А
Теорема 4.1.1. Если функции f1 (x1 , . . . , xn ), . . . , fm (x1 , . . . , xn ) и
g(y1 , . . . , ym ) правильно вычислимы, то функция
h(x1 , . . . , xn ) = g(f1 (x1 , . . . , xn ), . . . , fm (x1 , . . . , xn ))
правильно вычислима.
Доказательство. Для простоты рассмотрим случай m = 2. Пусть
Tf1 , Tf2 , Tg — машины Тьюринга, правильно вычисляющие функции f1 , f2
и g соответственно. В качестве машины Th для правильного вычисления
функции h годится машина
Кn (Б+ )n Tf1 (Б− )n Цn+1 Б+ Tf2 Б− Tg . ¤
Таким образом, любая суперпозиция правильно вычислимых функций
правильно вычислима, и список правильно вычислимых функций, представ-
ленных в примере 4.1.1, существенно расширяется.
144 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
§ 4.2. Рекурсивные функции и отношения
1. Примитивно рекурсивные функции
Рассмотрим сначала всюду определенные числовые функции f : Nk → N,
k ∈ N \ {0}, т. е. не нуль-местные операции на множестве N, и определим
понятие примитивно рекурсивной функции (сокращенно ПРФ).
n
Функции o(x), s(x), Im , 1 ≤ m ≤ n, называются простейшими прими-
тивно рекурсивными функциями.
Пусть f1 , . . . , fm — n-местные операции на множестве N, g — m-местная
операция на множестве N. Оператор S, ставящий в соответствие операциям
f1 , . . . , fm и g n-местную операцию h, удовлетворяющую тождеству
h(x1 , . . . , xn ) = g(f1 (x1 , . . . , xn ), . . . , fm (x1 , . . . , xn )),
называется оператором суперпозиции (подстановки). При этом всюду опре-
деленная функция
h S(f1 , . . . , fm , g)
является, очевидно, суперпозицией функций f1 , . . . , fm и g.
Оператор примитивной рекурсии R каждой n-местной операции f
и (n+ 2)-местной операции g на множестве N ставит в соответствие
(n + 1)-местную операцию
h R(f, g),
удовлетворяющую следующей схеме примитивной рекурсии:
½
h(x1 , . . . , xn , 0) = f (x1 , . . . , xn ),
h(x1 , . . . , xn , y + 1) = g(x1 , . . . , xn , y, h(x1 , . . . , xn , y)).
Для n = 0 схема примитивной рекурсии имеет следующий вид:
½
h(0) = a,
h(y + 1) = g(y, h(y)),
где a — постоянная одноместная функция, равная числу a.
Схема примитивной рекурсии образует некоторый индукционный про-
цесс построения функции h, при котором на нулевом шаге используется
функция f , а на каждом последующем шаге — значение функции g от ар-
гументов x1 , . . . , xn , номера y предыдущего шага и значения функции h, вы-
численного на предыдущем шаге.
Функция f называется примитивно рекурсивной, если существует по-
следовательность функций f0 , . . . , fn , в которой fn = f и всякая функция fi
4.2. РЕКУРСИВНЫЕ ФУНКЦИИ И ОТНОШЕНИЯ 145
является простейшей ПРФ или получается из предыдущих функций с помо-
щью оператора суперпозиции S или оператора примитивной рекурсии R.
По определению примитивно рекурсивные функции можно рассматри-
вать как формулы в исчислении примитивно рекурсивных функций ИПРФ,
аксиомами которого являются простейшие ПРФ, а правила вывода
f1 , . . . , f m , g f, g
и
S(f1 , . . . , fm , g) R(f, g)
соответствуют операторам подстановки и примитивной рекурсии.
Пример 4.2.1. 1. Функция сложения x+y примитивно рекурсивна в си-
лу схемы примитивной рекурсии
½
x + 0 = I11 (x),
x + (y + 1) = s(x + y).
2. Схема примитивной рекурсии
½
x · 0 = o(x),
x · (y + 1) = x · y + x
обосновывает примитивную рекурсивность функции умножения x · y.
Таким образом, x + y = R(I11 , S(I33 , s)),
x · y = R(o, S(I33 , I13 , +)) = R(o, S(I33 , I13 , R(I11 , S(I33 , s)))).
Доказательство примитивной рекурсивности следующих функций
оставляется читателю в качестве упражнения.
3. xy , где 00 = 1, — функция возведения в степень.
4. x!, где 0!½= 1, — x-факториал.
0, если x = 0,
5. sg(x) = — знак числа x.
1, если x > 0,
½
1, если x = 0,
6. sg(x) = — дополнение знака числа x.
0, если x > 0,
½
0, если x = 0,
7. x −̇ 1 = — усеченное вычитание единицы.
x − 1, если x > 0,
½
0, если x ≤ y,
8. x −̇ y = — усеченная разность.
x − y, если x > y,
9. |x − y| — модуль разности.
10. max(x, y) — максимум чисел x и y.
146 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
11. min(x, y) — минимум чисел x и y.
12. [x/y], где [x/0] = x, — частное от деления x на y.
13. rest(x, y), где rest(x, 0) = x, — остаток от деления x на y.
14. px — x-е простое число (p0 = 2, p1 = 3, p2 = 5, . . .).
15. long(x) — номер наибольшего простого делителя числа x.
16. ex(x, y), где ex(0, y) = 0, — показатель степени y-го простого чис-
ла py в разложении числа x на неприводимые сомножители (т. е. если
x = pn0 0 · pn1 1 · . . . · pnk k , то ex(x, y) = ny ). ¤
Пусть f (x1 , . . . , xn , i) — (n + 1)-местная операция на множестве N. Опре-
делим операторы суммирования и произведения g1 , g2 , g3 , g4 :
y
X
g1 (x1 , . . . , xn , y) = f (x1 , . . . , xn , i);
i=0
y
Y
g2 (x1 , . . . , xn , y) = f (x1 , . . . , xn , i);
i=0
z
X
g3 (x1 , . . . , xn , y, z) = f (x1 , . . . , xn , i) =
i=y
½
f (x1 , . . . , xn , y) + . . . + f (x1 , . . . , xn , z), если y ≤ z,
=
0, если y > z;
z
Y
g4 (x1 , . . . , xn , y, z) = f (x1 , . . . , xn , i) =
i=y
½
f (x1 , . . . , xn , y) · . . . · f (x1 , . . . , xn , z), если y ≤ z,
=
1, если y > z.
Предложение 4.2.1. Если f — примитивно рекурсивная функция, то
функции g1 , g2 , g3 , g4 примитивно рекурсивны.
Доказательство. Установим примитивную рекурсивность функции g1 .
Рассмотрим примитивно рекурсивную функцию
h(x1 , . . . , xn , x, y) y + f (x1 , . . . , xn , s(x)).
Следующая схема примитивной рекурсии описывает функцию g1 :
½
g1 (x1 , . . . , xn , 0) = f (x1 , . . . , xn , 0),
g1 (x1 , . . . , xn , y + 1) = h(x1 , . . . , xn , y, g1 (x1 , . . . , xn , y)).
4.2. РЕКУРСИВНЫЕ ФУНКЦИИ И ОТНОШЕНИЯ 147
Примитивная рекурсивность функции g3 вытекает из примитивной ре-
курсивности функции g1 и формулы
z
X
g3 (x1 , . . . , xn , y, z) = f (x1 , . . . , xn , i) · sg(y −̇ i).
i=0
Примитивная рекурсивность функций g2 и g4 устанавливается ана-
логично. ¤
2. Примитивно рекурсивные отношения
Отношение P ⊆ Nk называется примитивно рекурсивным (сокращенно
ПРО), если примитивно рекурсивна характеристическая функция
½
1, если x ∈ P,
χP (x) =
0, если x 6∈ P,
где x = (x1 , . . . , xk ).
Пример 4.2.2. Отношения равенства x = y и делимости x | y (x де-
лит y) примитивно рекурсивны. Действительно, характеристические функ-
ции χ= (x, y) = sg(|x−y|) и χ| (x, y) = sg(rest(y, x)) примитивно рекурсивны. ¤
Покажем, что теоретико-множественные операции над ПРО, а значит,
и булевы комбинации формул сигнатуры Σ0 сохраняют примитивную ре-
курсивность.
Пусть P, Q ⊆ Nk — некоторые отношения. Положим P ∧ Q P ∩ Q,
P ∨ Q P ∪ Q, ¬P Nk \ P , P ⇒ Q ¬P ∨ Q.
Предложение 4.2.2. Если P, Q ⊆ Nk и R ⊆ Nl — примитивно рекур-
сивные отношения, то отношения P ∧ Q, P ∨ Q, ¬P , P ⇒ Q и P × R
примитивно рекурсивны.
Доказательство. Поскольку по условию примитивно рекурсивны
функции χP (x), χQ (x), χR (y), примитивно рекурсивными являются также
характеристические функции χP ∧Q (x) = χP (x) · χQ (x), χ¬P (x) = sg(χP (x)),
χP ×R (x, y) = χP (x) · χR (y). Теперь из соотношений P ∨ Q = ¬(¬P ∧ ¬Q)
и P ⇒ Q = ¬(P ∧ ¬Q) вытекает примитивная рекурсивность характеристи-
ческих функций χP ∨Q (x) и χP ⇒Q (x). ¤
148 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Записи (∀z ≤ y) и (∃z ≤ y) называются ограниченными кванторами
(всеобщности и существования). Пусть P ⊆ Nk+1 — некоторое отношение.
Обозначим через (∀z ≤ y) P (x1 , . . . , xk , z) (k + 1)-местное отношение
{(a1 , . . . , ak , b) | (a1 , . . . , ak , c) ∈ P для любого c ≤ b},
а через (∃z ≤ y) P (x1 , . . . , xk , z) — (k + 1)-местное отношение
{(a1 , . . . , ak , b) | (a1 , . . . , ak , c) ∈ P для некоторого c ≤ b}.
Отметим, что запись (∀z ≤ y) P соответствует формуле ∀z((z ≤ y) → P ),
а (∃z ≤ y) P — формуле ∃z((z ≤ y) ∧ P ).
Следующее утверждение показывает, что примитивная рекурсивность
отношений (формульно определимых множеств в стандартной модели ариф-
метики) сохраняется при навешивании ограниченных кванторов.
Предложение 4.2.3. Если P ⊆ Nk+1 — примитивно рекурсивное от-
ношение, то примитивно рекурсивны отношения
Q1 (x1 , . . . , xk , y) (∀z ≤ y) P (x1 , . . . , xk , z),
Q2 (x1 , . . . , xk , y) (∃z ≤ y) P (x1 , . . . , xk , z).
Доказательство. Примитивная рекурсивность отношений Q1 и Q2 вы-
текает из следующих соотношений:
y
à y !
Y X
χQ1 (x, y) = χP (x, i), χQ2 (x, y) = sg χP (x, i) ,
i=0 i=0
где x = (x1 , . . . , xk ). ¤
Пример 4.2.3. 1. Поскольку справедливо соотношение
x ≤ y ⇔ (∃z ≤ y) (x + z = y),
отношение x ≤ y примитивно рекурсивно в силу предложения 4.2.3.
2. Аналогично из x < y ⇔ (∃z ≤ y) (s(x + z) = y) вытекает примитивная
рекурсивность отношения x < y.
3. Множество простых чисел совпадает с примитивно рекурсивным от-
ношением (x ≥ 2) ∧ (∀z ≤ x) ((z | x) ⇒ ((z = x) ∨ (z = 1))). ¤
4.2. РЕКУРСИВНЫЕ ФУНКЦИИ И ОТНОШЕНИЯ 149
Пусть α(x) — некоторая k-местная операция на множестве N, P ⊆ Nk+1 .
Обозначим через (µy ≤ α(x))P (x, y) k-местную операцию, значение которой
на наборе x равно
min{y | (y ≤ α(x)) ∧ P (x, y)}, если выполняется P (x, y)
для некоторого y ≤ α(x),
α(x) + 1 в противном случае.
Оператор, ставящий в соответствие каждой операции α ⊆ Nk+1 и отношению
P ⊆ Nk+1 операцию µ(α, P ) (µy ≤ α(x))P (x, y), называется оператором
ограниченной минимизации.
Предложение 4.2.4. Если α — ПРФ, P ⊆ Nk+1 — ПРО, то µ(α, P ) —
ПРФ.
Доказательство. Рассмотрим примитивно рекурсивную функцию
z
à y !
X Y
G(x, z) sg (χP (x, i)) .
y=0 i=0
Примитивная рекурсивность функции µ(α, P ) вытекает из следующих соот-
ношений:
α(x)
à y !
X Y
µ(α, P )(x) = sg (χP (x, i)) = G(x, α(x)). ¤
y=0 i=0
√
Пример 4.2.4. Функция [ x], которая каждому натуральному числу x
ставит в соответствие целую часть от квадратного корня из x, примитивно
рекурсивна в силу предложения 4.2.4, поскольку
£√ ¤ ¡ ¢
x = (µy ≤ x) (y + 1)2 > x . ¤
3. Нумерации кортежей натуральных чисел
на
Нумерацией множества X называется любая сюръекция ν: N −→ X.
В предложении 1.4.3∗ представлена “диагональная” нумерация множества N2 ,
устанавливающая биекцию между множествами N и N2 . Отображение
c: N2 → N, ставящее в соответствие каждой паре натуральных чисел (x, y) ее
“диагональный” номер c(x, y), называется канторовской нумерующей функ-
цией. По номеру n = c(x, y) однозначно определяются его левая координата
l(n) x и правая координата r(n) y.
150 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Функции c, l и r удовлетворяют следующим тождествам:
c(l(n), r(n)) = n, l(c(x, y)) = x, r(c(x, y)) = y.
Примитивная рекурсивность функций c, l и r вытекает из следующих
равенств: · ¸
(x + y) · (x + y + 1)
c(x, y) = + x,
2
µ· √ ¸ ¶ ·√ ¸
[ 8n+1]+1 [ 8n+1]+1
2
−̇ 1 · 2
l(n) = n −̇ ,
2
" £√ ¤ #
8n + 1 + 1
r(n) = −̇ (l(n) + 1).
2
Используя канторовскую функцию c, определяем последовательность
примитивно рекурсивных функций c1 , c2 , . . . , ck , . . . такую, что ck — k-местная
функция, осуществляющая взаимно однозначное отображение Nk на N:
c1 (x1 ) x1 ,
c2 (x1 , x2 ) c(x1 , x2 ),
...
ck+1 (x1 , . . . , xk , xk+1 ) c(ck (x1 , . . . , xk ), xk+1 ),
...
Координаты x1 , . . . , xk , xk+1 , для которых ck+1 (x1 , . . . , xk , xk+1 ) = n,
определяются соответствующими одноместными примитивно рекурсивными
функциями ck+1 k+1 k+1
1 , . . . , ck , ck+1 , k ∈ N, такими, что
c11 (n) = n,
c21 (n) = l(n), c22 (n) = r(n),
...
ck+1 k k+1 k k+1
1 (n) = c1 (l(n)), . . . , ck (n) = ck (l(n)), ck+1 (n) = r(n),
...
Функция ck называется k-сверткой, а набор (ck1 , . . . , ckk ) из k одноместных
функций — k-разверткой. Очевидно, свертки и развертки удовлетворяют
следующим тождествам:
ck (ck1 (n), . . . , ckk (n)) ≈ n, cki (ck (x1 , . . . , xk )) ≈ xi , i = 1, . . . , k.
4.2. РЕКУРСИВНЫЕ ФУНКЦИИ И ОТНОШЕНИЯ 151
4. Частично рекурсивные функции
Будем говорить, что функция h(x) получается из функций f (x, y) и g(x, y)
с помощью оператора минимизации M , и обозначать
h(x) = µy (f (x, y) ≤ g(x, y))
или h(x) = M (f (x, y), g(x, y)), если выполнено следующее условие: значе-
ние h(x) определено и равно y тогда и только тогда, когда определены f (x, 0),
g(x, 0), . . ., f (x, y), g(x, y) и справедливы соотношения f (x, i) > g(x, i),
i = 0, . . . , y − 1, f (x, y) ≤ g(x, y).
Функция f : X → N, где X ⊆ Nk , называется частично рекурсивной (со-
кращенно ЧРФ), если она может быть получена из простейших ПРФ с по-
мощью конечного числа применений операторов S, R и M . Частично рекур-
сивная функция называется рекурсивной (РФ), если она всюду определена.
По определению частично рекурсивные функции можно рассматривать
как формулы в исчислении частично рекурсивных функций ИЧРФ, расши-
ряющем ИПРФ с помощью правила вывода
f, g
.
M (f, g)
Обозначим через M o (f, g) значение M (f, g), если функции f , g и M (f, g)
всюду определены.
Функция f : Nk → N называется общерекурсивной (ОРФ), если она может
быть получена из простейших ПРФ с помощью конечного числа применений
операторов S, R и M o .
Класс ЧРФ строго содержит класс РФ, поскольку, например, нигде не
определенная функция f (x) = µy (s(x) ≤ x) частично рекурсивна.
Класс РФ совпадает с классом ОРФ. Включение ОРФ ⊆ РФ очевид-
но. Обратное включение будет вытекать из теоремы о нормальной форме
(теорема 4.3.7).
Класс ОРФ строго содержит класс ПРФ. В качестве примеров общере-
курсивных, но не примитивно рекурсивных функций можно взять так
называемые быстрорастущие функции, т. е. такие общерекурсивные
функции f (x), что для каждой ПРФ g(x) существует число a с условием
g(x) < f (x) при x ≥ a.
Рассмотрим функцию B(n, x), удовлетворяющую следующим тождествам:
B(0, x) = x + 2, B(n + 1, 0) = sg(n),
B(n + 1, x + 1) = B(n, B(n + 1, x)).
152 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Быстроту роста значений функции B(n, x) можно проследить, например,
на основе следующих соотношений:
2
B(3, 0) = 1, B(3, 1) = 2, B(3, 2) = 22 , B(3, 3) = 22 , . . .
Функции B(n, x) при фиксированных n называются функциями Аккер-
мана, а функция A(x) B(x, x) — диагональной функцией Аккермана.
Теорема 4.2.5 (теорема Аккермана). Функция A(x) является рекурсив-
ной быстрорастущей функцией. ¤
Примитивно рекурсивная функция Γ(x, y) rest(l(x), 1 + (y + 1) · r(x))
называется функцией Гёделя.
Лемма 4.2.6. Для любой конечной последовательности чисел a0 , a1 ,
. . . , ak ∈ N существует такое число n ∈ N, что
Γ(n, 0) = a0 , Γ(n, 1) = a1 , . . . , Γ(n, k) = ak .
Доказательство. Зафиксируем конечную последовательность a0 , a1 ,
. . . , ak и положим
b (1 + k + a0 + a1 + . . . + ak )!, mi 1 + (i + 1)b, 0 ≤ i ≤ k.
Покажем, что для любых 0 ≤ i < j ≤ k числа mi и mj взаимно просты.
Действительно, предполагая противное, найдем простое число p, делящее mi
и mj . Тогда число p делит ненулевое число mi −mj , равное (i−j)b, и, значит,
p делит b или делит (i − j), откуда по выбору числа b снова p делит b.
Из условий p | mi , p | b и равенства my 1 + (y + 1)b выводим p | 1, что
невозможно.
Из взаимной простоты чисел mi и mj , 0 ≤ i < j ≤ k, следует взаимная
простота чисел mi и
Mi m0 · m1 · . . . · mi−1 · mi+1 · . . . · mk , 0 ≤ i ≤ k.
Значит, существуют числа zi и ti , для которых Mi zi = 1 + mi ti . Положим
u a0 M0 z0 + a1 M1 z1 + . . . + ak Mk zk .
Покажем, что rest(u, mi ) = ai для любого i ≤ k. Действительно, среди чисел
M0 , . . . , Mk число mi не делит лишь Mi . С другой стороны, из равенства
Mi zi = 1+mi ti следует ai Mi zi = ai +ai mi ti и, значит, rest(u, mi ) = rest(ai , mi ).
4.3. ЭКВИВАЛЕНТНОСТЬ МОДЕЛЕЙ АЛГОРИТМОВ 153
По выбору mi имеем ai < mi и, следовательно, rest(u, mi ) = rest(ai , mi ) = ai .
Положим n c(u, b). Тогда для любого i ≤ k справедливо
Γ(n, i) = rest(u, 1 + (i + 1)b) = rest(u, mi ) = bi . ¤
Следующая теорема показывает, что при построении частично рекурсив-
ных функций вместо оператора примитивной рекурсии можно использовать
арифметические операции.
Теорема 4.2.7 (теорема об элиминации примитивной рекурсии). Любая
ЧРФ может быть получена из простейших ПРФ и функций + и · с помо-
щью операторов S и M . ¤
Доказательство. По определению частично рекурсивной функции до-
статочно показать, что оператор примитивной рекурсии выражается через
простейшие ПРФ и функции + и · с помощью операторов S и M , т. е. если
функции f (x) и g(x, y, z) получаются из указанных функций с помощью опе-
раторов S и M , то функция h(x, y) = R(f, g) также получается из этих функ-
ций с помощью операторов S и M . Воспользовавшись функцией Гёделя,
удовлетворяющей заключению теоремы, а также соотношением
h(x, y) = Γ(µz((Γ(z, 0) = f (x)) ∧ (∀i < y)(Γ(z, i + 1) = g(x, i, Γ(z, i)))), y),
получаем требуемое. ¤
§ 4.3. Эквивалентность моделей алгоритмов
В предыдущих двух параграфах мы определили два класса вычисли-
мых функций: класс ПВФ функций, правильно вычислимых на машинах
Тьюринга, и класс ЧРФ частично рекурсивных функций. В этом параграфе
устанавливается совпадение этих классов, на основе которого делается вывод
о совпадении класса интуитивно вычислимых функций с классом функций,
вычислимых в любой из приведенных выше алгоритмических моделей.
1. Правильная вычислимость частично рекурсивных функций
По теореме об элиминации примитивной рекурсии доказательство пра-
вильной вычислимости для ЧРФ сводится к проверке правильной вычисли-
n
мости функций o, s, Im , +, ·, а также к проверке сохранения правильной
вычислимости при переходе к результатам действия операторов суперпози-
ции и минимизации.
154 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Правильная вычислимость вышеперечисленных функций установлена
в примере 4.1.1. Сохранение правильной вычислимости при переходе к су-
перпозиции функций показано в теореме 4.1.1. Таким образом, импликация
ЧРФ ⇒ ПВФ сводится к доказательству следующей теоремы.
Теорема 4.3.1. Если функции f (x1 , . . . , xn , y) и g(x1 , . . . , xn , y) правиль-
но вычислимы, то функция
h(x1 , . . . , xn ) = µy (f (x1 , . . . , xn , y) ≤ g(x1 , . . . , xn , y))
правильно вычислима.
Доказательство. Пусть Tf и Tg – машины, правильно вычисляющие
функции f и g соответственно. Представим машину Th , правильно вычисля-
ющую функцию h, в виде следующей схемы преобразований:
•
+ n
q1 0x1 0x2 . . . 0xn 0 V(Б ) S
− n
0x1 0x2 . . . 0xn qα 000 V(Б )
qβ 0x1 0x2 . . . 0xn 000 VКn+1
+ n+1
Tf (Б− )n+1
qγ 0x1 0x2 . . . 0xn 000x1 0x2 . . . 0xn 000 V(Б )
+
Кn+1 (Б+ )n+1 Tg
qδ 0x1 0x2 . . . 0xn 000f (x1 , . . . , xn , 0)0 VЦn+2 Б
− n+2 n+1 (Б+ )n+1
0f (x1 , . . . , xn , 0)0x1 0x2 . . . 0xn 00qε 0g(x1 , . . . , xn , 0)0 V(Б ) (Ц n+2 )
0x1 0x2 . . . 0xn 00qζ 0f (x1 , . . . , xn , 0)0g(x1 , . . . , xn , 0)0 VT−̇
0x1 0x2 . . . 0xn 00qη 0f (x1 , . . . , xn , 0) −̇ g(x1 , . . . , xn , 0)0 V
(
q0 0y0, если f (x1 , . . . , xn , 0) −̇ g(x1 , . . . , xn , 0) = 0,
•
Л Б− , если f (x1 , . . . , xn , 0) −̇ g(x1 , . . . , xn , 0) > 0.
Таким образом, машина Th равна
•
(Б+ )n S (Б− )n Кn+1 (Б+ )n+1 Tf (Б− )n+1 Цn+2
Б+ Кn+1 (Б+ )n+1 Tg (Б− )n+2 (Цn+2 )n+1 (Б+ )n+1 T−̇
(
(Б− )n+1 Цn+1 (Б+ )n+1 (ЛБ− )n+1
E • . ¤
Л Б−
4.3. ЭКВИВАЛЕНТНОСТЬ МОДЕЛЕЙ АЛГОРИТМОВ 155
2. Частичная рекурсивность правильно вычислимых функций
Определим числовую кодировку машин Тьюринга, которая позволяет
по коду машины Тьюринга Tf , правильно вычисляющей функцию f , строить
частично рекурсивную схему для вычисления функции f .
Пусть A = {am | m ∈ N} — некоторый счетный алфавит, W (A) — мно-
жество всех слов алфавита A, включающее пустое слово Λ. Определим ко-
дирующую функцию код: W (A) → N для множества W (A) по следующим
правилам:
код(Λ) = 21 , код(ai1 ai2 . . . aik ) = 21 · p1i1 +1 · pi22 +1 · . . . · pikk +1 .
Лемма 4.3.2. Множество
код(W (A)) {m | m = код(w) для некоторого слова w ∈ W (A)}
является примитивно рекурсивным отношением.
Доказательство. Примитивная рекурсивность характеристической
функции χкод(W (A)) вытекает из следующего равенства:
1, если (ex(m, 0) = 1)∧
χкод(W (A)) (m) = ∧(∀i ≤ long(m)) (i ≥ 1 ⇒ ¬(ex(m, i) = 0)),
0 в противном случае. ¤
Рассмотрим теперь алфавит A вместе со счетным множеством
Q = {qn | n ∈ N} внутренних состояний и расширим функцию “код” на мно-
жество всех машинных слов αqj ai β, полагая
код(αqj ai β) 22 · 3j · 5i · 7код(α) · 11код(β) .
Аналогично лемме 4.3.2 доказывается следующая лемма.
Лемма 4.3.3. Множество M0 всех кодов машинных слов является при-
митивно рекурсивным отношением. ¤
Снова расширим функцию “код”, теперь на множество машинных команд
qi aj → qk d, где d ∈ {L, R} ∪ A, полагая
0, если d = L,
код(d) k
код(qi aj → qk d) p2c(i,j)+2·3 , код(d) 1, если d = R,
m + 2, если d = am .
156 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Лемма 4.3.4. Множество K0 всех кодов машинных команд является
примитивно рекурсивным отношением.
Доказательство аналогично доказательству леммы 4.3.2. ¤
Последнее расширение функции “код” позволяет примитивно рекурсивно
закодировать все машины Тьюринга. Для машины
T = h{a0 , . . . , am }, {q0 , . . . , qn }, {T (i, j) | 1 ≤ i ≤ n, 0 ≤ j ≤ m}, q0 , q1 i
положим n Y
m
Y
3 m n
код(T ) 2 · 3 · 5 · код(T (i, j)).
i=1 j=0
Аналогично предыдущим леммам справедлива следующая лемма.
Лемма 4.3.5. Множество T0 всех кодов машин Тьюринга является
примитивно рекурсивным отношением. ¤
Теорема 4.3.6. Следующие отношения примитивно рекурсивны:
(0) отношение T0 , состоящее из всех наборов (n, x, y, t) таких, что ма-
шина Тьюринга с кодом n, начиная работу на слове с кодом x, заканчивает
свою работу на слове с кодом y в состоянии q0 не более чем за t шагов;
(k) отношение Tk , k ≥ 1, состоящее из всех наборов (n, x1 , . . . , xk , y, t)
таких, что машина Тьюринга с кодом n, начиная работу на сло-
ве q1 0x1 0x2 0 . . . 0xk , заканчивает свою работу не более чем за l(t) шагов
на слове αq0 0y0β, где c(код(α), код(β)) = r(t).
Доказательство. (0). Обозначим через π двухместную примитивно ре-
курсивную функцию, значение π(x, y) которой равно 1, если x — код машины
Тьюринга Tx и y — код машинного слова в алфавите машины Tx , и равно 0
в противном случае. Из примитивной рекурсивности функции π вытекает
примитивная рекурсивность двухместной функции R, значение R(x, y) ко-
торой равно коду машинного слова, полученного из машинного слова с ко-
дом y за один шаг работы машины Tx , если x — код машины Tx и π(x, y) = 1;
R(x, y) = y в противном случае. В свою очередь из примитивной рекурсив-
ности функции R следует примитивная рекурсивность трехместной функ-
ции S, задаваемая по следующей схеме примитивной рекурсии:
½
S(x, y, 0) = y,
S(x, y, n + 1) = R(x, S(x, y, n)).
4.3. ЭКВИВАЛЕНТНОСТЬ МОДЕЛЕЙ АЛГОРИТМОВ 157
Очевидно, что значение S(x, y, n) (если x — код машины Тьюринга Tx и y —
код машинного слова My в алфавите машины Tx ) равно коду машинного сло-
ва M , которое получается из слова My за n шагов работы машины Tx . Тогда
отношение T0 (n, x, y, t) совпадает со следующим примитивно рекурсивным
отношением:
{(n, x, y, t) | π(n, x) = 1 ∧ (∃k ≤ t)(y = S(n, x, k)) ∧ ex(y, 1) = 0}.
(k). Отношение Tk примитивно рекурсивно, поскольку принадлежность
набора (n, x1 , . . . , xk , y, t) отношению Tk равносильна истинности (в стандарт-
ной модели арифметики, обогащенной предикатами T0 и код(W (A))) фор-
мулы
T0 (n, код(q1 0x1 0x2 0 . . . 0xk ), код(αq0 0y0β), l(t))∧
∧(l(r(t)) ≈ код(α)) ∧ код(W (A))(код(α))∧
∧(r(r(t)) ≈ код(β)) ∧ код(W (A))(код(β)). ¤
Теорема 4.3.7 (теорема Клини о нормальной форме). Если функция
f (x1 , . . . , xk ) вычислима на некоторой машине Тьюринга, то существует
номер n ∈ N, для которого
f (x1 , . . . , xk ) = l(µt (1 ≤ χTk (n, x1 , . . . , xk , l(t), r(t)))).
Доказательство. Пусть n — код машины Tf , вычисляющей функ-
цию f . Если f (x1 , . . . , xk ) = y, то
q1 0x1 0x2 0 . . . 0xk ⇒Tf αq0 0y0β
и переход из состояния q1 в состояние q0 (т. е. вычисление значения
f (x1 , . . . , xk )) происходит за некоторое t0 число шагов. Тогда для числа t =
c(y, c(t0 , c(код(α), код(β)))) выполняется отношение Tk (n, x1 , . . . , xk , l(t), r(t)).
Взяв наименьшее число t1 с условием (n, x1 , . . . , xk , l(t1 ), r(t1 )) ∈ Tk ,
получаем
l(µt (1 ≤ χTk (n, x1 , . . . , xk , l(t), r(t)))) = l(t1 ) = y.
Предположим теперь, что значение f (x1 , . . . , xk ) не определено. Тогда ма-
шина Tf , начиная со слова q1 0x1 0x2 0 . . . 0xk , работает неограниченно долго
и не приходит в состояние q0 . Тогда χTk (n, x1 , . . . , xk , l(t), r(t)) = 0 для любо-
го t и значение l(µt (1 ≤ χTk (n, x1 , . . . , xk , l(t), r(t)))) также не определено. ¤
158 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Следствие 4.3.8. Для любой функции f : X → N, где X ⊆ Nk , следу-
ющие условия эквивалентны:
(1) функция f вычислима на некоторой машине Тьюринга;
(2) функция f правильно вычислима на некоторой машине Тьюринга;
(3) функция f частично рекурсивна.
Доказательство. Импликация (1) ⇒ (3) вытекает из теоремы Клини
о нормальной форме. Импликация (3) ⇒ (2) установлена в п. 1 настоящего
параграфа, а импликация (2) ⇒ (1) очевидна. ¤
Из теоремы Клини о нормальной форме и следствия 4.3.8 вытекает, что
любую ЧРФ f (x1 , . . . , xk ) можно представить в виде функции
Uk (n, x1 , . . . , xk ) l(µt (1 ≤ χTk (n, x1 , . . . , xk , l(t), r(t)))),
где оператор минимизации используется только однажды, а значение n фик-
сировано. Таким образом, справедливо следующее следствие.
Следствие 4.3.9. Класс ОРФ совпадает с классом РФ.
§ 4.4. Универсальные частично рекурсивные функции.
Теорема Райса
Пусть K — некоторый класс k-местных функций g: X → N, X ⊆ Nk .
(k+1)-местная функция f (n, x1 , . . . , xk ) называется универсальной для класса
K, если выполняются следующие условия:
1) для любого фиксированного числа n0 ∈ N k-местная функция
f (n0 , x1 , . . . , xk ) принадлежит классу K;
2) для любой функции g ∈ K существует такое число n0 ∈ N (называемое
f -номером функции g), что g(x1 , . . . , xk ) = f (n0 , x1 , . . . , xk ).
Следующая теорема показывает, что функция U1 (n, x1 ) универсальна для
класса всех одноместных ЧРФ и при каждом k ≥ 1 порождает универсаль-
ную функцию U k для класса всех k-местных ЧРФ.
Теорема 4.4.1 (теорема об универсальности). Для любого натурального
числа k ≥ 1 функция
U k (n, x1 , . . . , xk ) U1 (n, ck (x1 , . . . , xk ))
(где ck — k-свертка) универсальна для класса всех k-местных ЧРФ.
4.4. УНИВЕРСАЛЬНЫЕ ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ 159
Доказательство. Универсальность функции U 1 (n, x1 ), равной
U1 (n, x1 ), вытекает из теоремы Клини о нормальной форме. Зафиксируем
теперь число k ≥ 2. Частичная рекурсивность функции U k очевидна по опре-
делению. Пусть g(x1 , . . . , xk ) — произвольная k-местная ЧРФ. Рассмотрим
одноместную ЧРФ h(x) g(ck1 (x), . . . , ck1 (x)), где (ck1 , . . . , ckk ) — k-развертка.
В силу универсальности функции U 1 (n, x) существует такой номер n0 , что
h(x) = U 1 (n0 , x) для любого x ∈ N. Тогда
g(x1 , . . . , xk ) = h(ck (x1 , . . . , xk )) =
= U 1 (n0 , ck (x1 , . . . , xk )) = U k (n0 , x1 , . . . , xk ). ¤
Следствие 4.4.2. Существует ЧРФ v(x), которая не может быть до-
определена до рекурсивной функции.
Доказательство. Покажем, что ЧРФ v(x) sg(U 1 (x, x)) не до-
определяется до ОРФ. Предположим противное и рассмотрим рекурсив-
ную функцию v0 (x), которая доопределяет v(x). Тогда в силу универсаль-
ности функции U 1 существует такой номер n, что v0 (x) = U 1 (n, x) для
всех x. В частности, имеем v0 (n) = U 1 (n, n), откуда получаем sg(U 1 (n, n)) =
= U 1 (n, n), а это невозможно. ¤
Положим
[x] x, [x, y] c(l(x), c(r(x), y)),
[x]21 c(l(x), l(r(x))), [x]22 r(r(x)),
[x1 , x2 , . . . , xn+1 ] [[x1 , x2 , . . . , xn ], xn+1 ] (где n ≥ 2),
[x]n+1,1 [[x]21 ]n,1 , . . . , [x]n+1,n [[x]21 ]nn ,
[x]n+1,n+1 [x]22 (где n ≥ 2).
Функции [x1 , . . . , xn ] называются функциями Клини.
Отметим основные свойства функций Клини.
Предложение 4.4.3. Для любого n ≥ 1 функция [x1 , . . . , xn ] прими-
тивно рекурсивна и осуществляет взаимно однозначное соответствие
между Nn и N.
Доказательство. Утверждение очевидно для n = 1. Также очевидна
примитивная рекурсивность функций [x1 , . . . , xn ]. Покажем, что функция
[x1 , x2 ] инъективна. Возьмем два различных набора (x1 , x2 ) и (x01 , x02 ). Если
160 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
x1 6= x01 , то l(x1 ) 6= l(x01 ) или r(x1 ) 6= r(x01 ). Тогда в силу биективности
функции c получаем
[x1 , x2 ] = c(l(x1 ), c(r(x1 ), x2 )) 6= c(l(x01 ), c(r(x01 ), x02 )) = [x01 , x02 ].
Если x2 6= x02 , аналогично получаем [x1 , x2 ] 6= [x01 , x02 ].
Покажем, что [x1 , x2 ] — сюръекция. Действительно, для любого n ∈ N
справедливо
[[n]21 , [n]22 ] = c(l([n]21 ), c(r([n]21 ), [n]22 )) =
= c(l(n), c(l(r(n)), r(r(n)))) = c(l(n), r(n)) = n.
Биективность функций [x1 , . . . , xn ] (n ≥ 3) устанавливается аналогично
с помощью индукции по числу аргументов. ¤
Предложение 4.4.4. Для любых ненулевых натуральных чисел k < n
справедливы следующие соотношения:
а) [x1 , . . . , xn ] = [[x1 , . . . , xk ], xk+1 , . . . , xn ];
б) cn (x1 , . . . , xn ) = cn−k+1 (ck (x1 , . . . , xk ), xk+1 , . . . , xn ).
Для доказательства соотношения а) используем индукцию по n − k. Если
n − k = 1, то
[[x1 , . . . , xk ], xk+1 , . . . , xn ] = [[x1 , . . . , xn−1 ], xn ],
что по определению равно [x1 , . . . , xn ]. Если n − k > 1, из индукционного
предположения выводим следующие соотношения:
[x1 , . . . , xn ] = [[x1 , . . . , xn−1 ], xn ] =
= [[[x1 , . . . , xk ], xk+1 , . . . , xn−1 ], xn ] = [[x1 , . . . , xk ], xk+1 , . . . , xn ].
Соотношение б) устанавливается аналогично. ¤
Из последовательности тождеств
[c(x0 , x1 ), x2 ] = c(l(c(x0 , x1 )), c(r(c(x0 , x1 )), x2 )) = c(x0 , c(x1 , x2 ))
вытекает следующее предложение.
Предложение 4.4.5. Справедливо тождество
[c(x0 , x1 ), x2 ] = c(x0 , c(x1 , x2 )). ¤
4.4. УНИВЕРСАЛЬНЫЕ ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ 161
Положим
K 2 (x1 , x2 ) U 1 (l(x1 ), c(r(x1 ), x2 )),
K n+1 (x1 , . . . , xn+1 ) K n ([x1 , x2 ], x3 , . . . , xn+1 ) (где n ≥ 2).
Функции K n называются клиниевскими нумерующими функциями.
Покажем, что клиниевские нумерующие функции являются универсаль-
ными для классов всех ЧРФ соответствующей местности.
Лемма 4.4.6. Для любого натурального числа n ≥ 2 выполняется сле-
дующее тождество:
K n (c(x0 , x1 ), x2 , . . . , xn ) = U n (x0 , . . . , xn ).
Доказательство. Воспользуемся индукцией по n. При n = 2 по опре-
делению получаем
K 2 (c(x0 , x1 ), x2 ) = U 1 (l(c(x0 , x1 )), c(r(c(x0 , x1 )), x2 )) =
= U 1 (x0 , c2 (x1 , x2 )) = U 2 (x0 , x1 , x2 ).
Индукционный переход обосновывается следующими соотношениями:
K n+1 (c(x0 , x1 ), x2 , . . . , xn+1 ) = {по определению K n+1 } =
= K n ([c(x0 , x1 ), x2 ], x3 , . . . , xn+1 ) = {по предложению 4.4.5} =
= K n (c(x0 , c(x1 , x2 )), x3 , . . . , xn+1 ) =
= {по индукционному предположению} =
= U n (x0 , c(x1 , x2 ), x3 , . . . , xn+1 ) = {по определению U n } =
= U 1 (x0 , cn (c(x1 , x2 ), x3 , . . . , xn+1 )) = {по предложению 4.4.4} =
= U 1 (x0 , cn+1 (x1 , x2 , . . . , xn+1 )) = {по определению U n+1 } =
= U n+1 (x0 , x1 , . . . , xn+1 ). ¤
Теорема 4.4.7 (теорема об универсальности клиниевских функций).
Для любого натурального числа n ≥ 1 функция K n+1 (x0 , x1 , . . . , xn ) являет-
ся универсальной для класса всех n-местных ЧРФ.
162 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Доказательство. Частичная рекурсивность n-местной функции
n+1
K (a, x1 , . . . , xn ) для любого фиксированного числа a вытекает из опреде-
ления. Пусть теперь f (x1 , . . . , xn ) — произвольная n-местная ЧРФ. На осно-
вании универсальности функции U n+1 и леммы 4.4.6 справедливы следую-
щие соотношения для некоторого числа a0 :
f (x1 , . . . , xn ) = 0 · x0 + f (x1 , . . . , xn ) =
= U n+1 (a0 , x0 , x1 , . . . , xn ) = K n+1 (c(a0 , x0 ), x1 , . . . , xn ).
Таким образом, любое число c(a0 , x0 ) годится в качестве K n+1 -номера функ-
ции f , и таких K n+1 -номеров у каждой n-местной ЧРФ бесконечно много. ¤
Для каждого n ≥ 1 функция κn , действующая из множества N на множе-
ство всех n-местных ЧРФ по правилу κn (a) K n+1 (a, x1 , . . . , xn ), называ-
ется клиниевской нумерацией n-местных частично рекурсивных функций.
При этом номер a, для которого κn (a) = f , называется клиниевским номе-
ром функции f . Из замечания в доказательстве теоремы 4.4.7 вытекает, что
каждая ЧРФ имеет бесконечно много клиниевских номеров.
Теорема 4.4.8 (теорема о неподвижной точке). Для любого натураль-
ного числа m ≥ 1 и любой ЧРФ g(x0 , x1 , . . . , xn ) существует такая ПРФ
h(x1 , . . . , xn ), что выполняется равенство
κm (h(x1 , . . . , xn )) = κm (g(h(x1 , . . . , xn ), x1 , . . . , xn ))
для любых (x1 , . . . , xn ) ∈ Nn . В частности, для любой одноместной ЧРФ
g(x) найдется такое число a ∈ N, что κm (a) = κm (g(a)).
В формулировке теоремы предполагается, что κm (f (x1 , . . . , xn )) — нигде
не определенная функция, если значение f (x1 , . . . , xn ) не определено.
Доказательство. Покажем, что для (n + 1)-местной функции g иско-
мой является n-местная функция h(x1 , . . . , xn ) [a, a, x1 , . . . , xn ] для неко-
торого числа a ∈ N. В силу универсальности функции K n+m+2 существует
такое число a, что для любых x0 , . . . , xn , y1 , . . . , ym имеет место
K m+1 (g([x0 , x0 , x1 , . . . , xn ], x1 , . . . , xn ), y1 , . . . , ym ) =
= K n+m+2 (a, x0 , x1 , . . . , xn , y1 , . . . , ym ).
4.4. УНИВЕРСАЛЬНЫЕ ЧАСТИЧНО РЕКУРСИВНЫЕ ФУНКЦИИ 163
Используя индукцию по n, устанавливаем, что
K n+m+2 (a, x0 , x1 , . . . , xn , y1 , . . . , ym ) =
= K m+1 ([a, x0 , x1 , . . . , xn ], y1 , . . . , ym ).
Подставляя число a вместо x0 , получаем искомое соотношение
K m+1 (g([a, a, x1 , . . . , xn ], x1 , . . . , xn ), y1 , . . . , ym ) =
= K m+1 ([a, a, x1 , . . . , xn ], y1 , . . . , ym ). ¤
Теорема 4.4.9 (теорема Райса). Пусть F — некоторое непустое семей-
ство n-местных ЧРФ, не совпадающее с совокупностью всех n-местных
ЧРФ. Тогда множество AF {a | κn (a) ∈ F } всех клиниевских номеров
функций, входящих в F , нерекурсивно.
Доказательство. Предположим противное, т. е. рекурсивность мно-
жества AF . Из условия следует, что множество AF непусто и не совпадает
с множеством N. Рассмотрим два числа a ∈ AF , b 6∈ AF и определим рекур-
сивную функцию f (x) = a·sg(χAF (x))+b·χAF (x). По теореме о неподвижной
точке найдется такое число c ∈ N, что κn (c) = κn (f (c)).
Предположим, что c ∈ AF . Тогда κn (c) ∈ F и f (c) = b. Однако значение
κ (b) не принадлежит F и, следовательно, κn (c) 6= κn (f (c)), а это невозможно
n
по выбору c.
Допустим теперь, что c 6∈ AF . Тогда κn (c) 6∈ F и вместе с тем
из f (c) = a получаем κn (f (c)) = κn (a) ∈ F . Снова приходим к со-
отношению κn (c) 6= κn (f (c)), что противоречит выбору c. Таким образом,
предположение о рекурсивности множества AF приводит к противоречию,
и множество AF нерекурсивно. ¤
Непосредственно из теоремы Райса вытекает следующее следствие.
Следствие 4.4.10. Каково бы ни было нетривиальное свойство P
n-местных ЧРФ (т. е. свойство, которым обладают некоторые, но не все
n-местные ЧРФ), задача распознавания этого свойства алгоритмически
неразрешима, т. е. не существует машины Тьюринга T 0 , для которой вы-
полняются следующие условия:
0
1) q1 код(Tf ) ⇒T q0 0110, если n-местная ЧРФ f обладает свойством P ;
0
2) q1 код(Tf ) ⇒T q0 010, если n-местная ЧРФ f не обладает свойством P .
164 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Теорема Райса объясняет природу многих трудностей, возникающих
в практике программирования и создания алгоритмических языков. Из этой
теоремы, в частности, вытекает, что невозможно алгоритмически распозна-
вать, является ли данная одноместная функция:
• тождественно равной нулю;
• нигде не определенной;
• рекурсивной;
• монотонной;
• взаимно однозначной и т.д.
На практике это означает, что если имеется некоторая программа, по ней,
вообще говоря, автоматически нельзя ничего сказать о функции, реализуе-
мой программой. Точно также нельзя установить, реализуют ли две задан-
ные программы одну и ту же функцию. Наконец, в любом нетривиальном
алгоритмическом языке неразрешима задача обнаружения “бессмысленных”
программ, т. е. программ, задающих нигде не определенные функции.
§ 4.5. Рекурсивно перечислимые отношения
Отношение P ⊆ Nk называется рекурсивным (сокращенно РО) или вы-
числимым, если рекурсивна характеристическая функция χP . Отношение
P ⊆ Nk называется рекурсивно перечислимым (сокращенно РПО) или вы-
числимо перечислимым, если существует такое рекурсивное отношение
Q ⊆ Nk+1 , что P = ∃y Q(x1 , . . . , xk , y), где
∃y Q(x1 , . . . , xk , y)
{(x1 , . . . , xk ) | (x1 , . . . , xk , y) ∈ Q для некоторого y ∈ N}.
По определению рекурсивная перечислимость отношения означает, что
оно является проекцией рекурсивного отношения по некоторой координате y.
Покажем, что проекция рекурсивного отношения по нескольким координа-
там также дает рекурсивно перечислимое отношение.
Предложение 4.5.1. Если Q ⊆ Nk+m , m ≥ 1, — рекурсивное отноше-
ние, то рекурсивно перечислимо отношение
∃y1 , . . . , ym Q(x1 , . . . , xk , y1 , . . . , ym )
{(x1 , . . . , xk ) | (x1 , . . . , xk , y1 , . . . , ym ) ∈ Q для некоторых y1 , . . . , ym ∈ N}.
4.5. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ ОТНОШЕНИЯ 165
Доказательство. Обозначим через Q0 (k + 1)-местное отношение
{(x1 , . . . , xk , y) | (x1 , . . . , xk , cm m
1 (y), . . . , cm (y)) ∈ Q}.
Отношение Q0 рекурсивно в силу рекурсивности отношения Q и функций cm i .
m
С другой стороны, поскольку m-свертка c осуществляет взаимно однознач-
ное соответствие между N и Nm , РПО ∃y Q0 (x1 , . . . , xk , y) совпадает с отно-
шением ∃y1 , . . . , ym Q(x1 , . . . , xk , y1 , . . . , ym ). ¤
Из предложения 4.5.1 вытекает следующее следствие.
Следствие 4.5.2. Если Q ⊆ Nk+1 — РПО, то ∃yQ(x1 , . . . , xk , y) — РПО.
Аналогично предложению 4.2.2 доказывается следующее предложение.
Предложение 4.5.3. Если P, Q ⊆ Nk и R ⊆ Nl — рекурсивные отноше-
ния, то отношения P ∧ Q, P ∨ Q, ¬P , P ⇒ Q и P × R рекурсивны.
Следующая теорема устанавливает рекурсивность функции, составлен-
ной из рекурсивных частей.
Теорема 4.5.4 (теорема о составном определении рекурсивной функ-
ции). Если f1 , . . . , fn , fn+1 — k-местные рекурсивные функции, P1 , . . . , Pn —
попарно не пересекающиеся k-местные рекурсивные отношения, то рекур-
сивна функция
f1 (x), если x ∈ P1 ,
...... ......
f (x) =
fn (x), если x ∈ Pn ,
f (x), если x ∈ ¬P ∧ . . . ∧ ¬P .
n+1 1 n
Доказательство. Искомой является рекурсивная функция
n
à n !
X X
f (x) = fi (x) · χPi (x) + fn+1 (x) · sg χPi (x) . ¤
i=1 i=1
Теорема 4.5.5 (теорема Поста). Отношение P ⊆ Nk рекурсивно тогда
и только тогда, когда отношения P и ¬P рекурсивно перечислимы.
166 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Доказательство. Если отношение P рекурсивно, то P рекурсивно пе-
речислимо в силу рекурсивности отношения P × N и равенства
P = ∃y (P × N)(x1 , . . . , xk , y). Рекурсивность, а значит, и рекурсивная пере-
числимость отношения ¬P вытекает из предложения 4.5.3.
Пусть теперь отношения P и ¬P рекурсивно перечислимы и
P = ∃y Q0 (x, y), ¬P = ∃y Q1 (x, y),
где Q0 , Q1 — рекурсивные отношения. Рассмотрим ЧРФ
f (x) µy (1 ≤ χQ0 (x, y) + χQ1 (x, y)),
которая по условию всюду определена, т. е. является рекурсивной функцией.
Тогда рекурсивность отношения P вытекает из равенства
½
1, если χQ0 (x, f (x)) = 1,
χP (x) = ¤
0, если χQ1 (x, f (x)) = 1.
Пусть f : X → Y — некоторая функция. Графиком функции f называется
множество Γf {(x, y) | y = f (x)}.
Теорема 4.5.6 (теорема о графике). Функция f : X → N, где X ⊆ N k ,
частично рекурсивна тогда и только тогда, когда график Γf рекурсивно
перечислим.
Доказательство. Предположим, что f — ЧРФ. Тогда по теореме Кли-
ни о нормальной форме справедливо соотношение f (x) = l(µz (1 ≤ χT (x, z)))
для некоторого примитивно рекурсивного отношения T . В силу последнего
равенства принадлежность набора (x, y) отношению Γf равносильна выпол-
нимости формулы
∃z (T (x, z) ∧ (l(z) ≈ y) ∧ (∀t < z)¬T (x, t)). (4.1)
Указанная формула определяет рекурсивно перечислимое отношение, по-
скольку навешивание ограниченного квантора всеобщности на ПРО сохра-
няет примитивную рекурсивность, а любая булева комбинация ПРО снова
дает ПРО.
Предположим теперь, что Γf — РПО, т. е. Γf = ∃z P (x, y, z) для неко-
торого рекурсивного отношения P . Покажем, что функция f (x) совпадает
4.5. РЕКУРСИВНО ПЕРЕЧИСЛИМЫЕ ОТНОШЕНИЯ 167
с ЧРФ g(x) l(µt (1 ≤ χP (x, l(t), r(t)))). Допустим, что f (a) = b, т. е.
(a, b) ∈ ∃z P (x, y, z). Тогда для некоторого t выполняется (a, l(t), r(t)) ∈ P .
Рассматривая наименьшее число t0 с условием (a, l(t0 ), r(t0 )) ∈ P , получаем
f (a) = l(t0 ) = g(a). Допустим, наконец, что значение f (a) не определено.
Тогда ни для какого числа b не выполнится (a, b) ∈ ∃z P (x, y, z), т. е. не най-
дется числа t с условием (a, l(t), r(t)) ∈ P . Отсюда получаем, что значение
g(a) также не определено и, следовательно, f = g. ¤
Из формулы (4.1), выражающей график ЧРФ через ПРО, вытекает сле-
дующее следствие.
Следствие 4.5.7. Если f — ЧРФ, то Γf = ∃z T (x, y, z) для некоторого
примитивно рекурсивного отношения T . ¤
Следствие 4.5.8. Если f — ЧРФ, то δf и ρf — РПО.
Доказательство. Рекурсивная перечислимость отношений δf и ρf вы-
текает из равенств δf = ∃y Γf (x, y), ρf = ∃x Γf (x, y) и следствия 4.5.2. ¤
Лемма 4.5.9. Если Q1 и Q2 — РПО, то Q1 ∧ Q2 и Q1 ∨ Q2 — РПО.
Доказательство. Если Qi = ∃yi Pi (x, yi ), где Pi — рекурсивные от-
ношения, i = 1, 2, то отношения Q1 ∧ Q2 и Q1 ∨ Q2 рекурсивно перечис-
лимы в силу равенств Q1 ∧ Q2 = ∃y1 , y2 (P1 (x, y1 ) ∧ P2 (x, y2 )), Q1 ∨ Q2 =
= ∃y1 , y2 (P1 (x, y1 ) ∨ P2 (x, y2 )). ¤
Теорема 4.5.10 (теорема о составном определении частично рекурсив-
ной функции). Если f1 , . . . , fn — k-местные ЧРФ, P1 , . . . , Pn — попарно не
пересекающиеся k-местные РПО, то частично рекурсивна функция
f1 (x), если x ∈ P1 ,
...... ......
f (x) =
fn (x), если x ∈ Pn ,
не определено, если x ∈ ¬P1 ∧ . . . ∧ ¬Pn .
Доказательство. По теореме о графике достаточно показать, что от-
ношение Γf рекурсивно перечислимо. Последнее вытекает из рекурсивной
перечислимости отношений Γf1 , . . . , Γfn , леммы 4.5.9 и следующего соотно-
шения: n
_
(a, b) ∈ Γf ⇔ выполняется (Pi (a) ∧ Γfi (a, b)) . ¤
i=1
168 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Теорема 4.5.11 (теорема об эквивалентных определениях рекурсивно
перечислимых отношений). Для любого непустого множества A ⊆ N сле-
дующие условия эквивалентны:
(1) A рекурсивно перечислимо;
(2) A = δf для некоторой ЧРФ f ;
(3) A = ρf для некоторой ЧРФ f ;
(4) A = ρf для некоторой ОРФ f ;
(5) A = ρf для некоторой ПРФ f ;
(6) A = ∃y P (x, y) для некоторого ПРО P ⊆ N2 .
Доказательство. (1) ⇒ (2). Если A = ∃y P (x, y) для рекурсивного
отношения P , то A = δf для ЧРФ f (x) µy (1 ≤ χP (x, y)).
(2) ⇒ (3). Если A = δf для ЧРФ f (x), то A = ρg для ЧРФ g(x) =
= sg(f (x) + 1) · x.
(3) ⇒ (5). Если A = ρf для ЧРФ f (x), то в силу теоремы Клини о нор-
мальной форме имеем f (x) = l(µy(1 ≤ χT (x, y))) для некоторого примитивно
рекурсивного отношения T . Тогда ρf = ρg для ПРФ
l(y), если выполняется
g(c(x, y)) = T (x, y) ∧ (∀z ≤ y)(z < y ⇒ ¬T (z, y)),
a в противном случае,
где a — произвольный фиксированный элемент из ρf .
Импликация (5) ⇒ (4) очевидна, а (4) ⇒ (1) вытекает из теоремы о гра-
фике.
(2) ⇒ (6). В силу следствия 4.5.7 из частичной рекурсивности функции f
следует существование такого ПРО T (x, y, z), что Γf = ∃z T (x, y, z). Тогда
δf = ∃y P (x, y) для ПРО P (x, y) T (x, l(y), r(y)).
(6) ⇒ (5). Если P (x, y) — ПРО и A = ∃y P (x, y), то A = ρf для ПРФ
½
x, если (x, y) ∈ P,
f (x, y) =
a в противном случае,
где a — произвольный фиксированный элемент из A. ¤
Для последовательности f (f1 , . . . , fk ) функций fi : X → Y обозначим
через ρf множество {(f1 (x), . . . , fk (x)) | x ∈ X}.
Из теоремы 4.5.11 и примитивной рекурсивности k-сверток и k-разверток
вытекает следующее следствие.
4.6. НЕРАЗРЕШИМОСТЬ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ 169
Следствие 4.5.12. Для любого непустого отношения A ⊆ Nk сле-
дующие условия эквивалентны:
1) A рекурсивно перечислимо;
2) ck (A) рекурсивно перечислимо;
3) A = δf для некоторой ЧРФ f ;
4) A = ρf для некоторой последовательности ЧРФ f = (f1 , . . . , fk );
5) A = ρf для некоторой последовательности ОРФ f = (f1 , . . . , fk );
6) A = ρf для некоторой последовательности ПРФ f = (f1 , . . . , fk );
7) A = ∃y P (x, y) для некоторого ПРО P ⊆ Nk+1 .
§ 4.6. Неразрешимость исчисления предикатов.
Теорема Гёделя о неполноте.
Разрешимые и неразрешимые теории
Следующей нашей целью является доказательство неразрешимости ис-
числения предикатов арифметической сигнатуры
Σ0 = {s(1) , +(2) , ·(2) , 0(0) , ≤(2) }.
Напомним, что формальное исчисление I называется разрешимым, если
существует алгоритм, позволяющий по любому выражению Φ исчисления I
узнавать, доказуемо ли Φ в исчислении I или нет. В противном случае ис-
числение I называется неразрешимым.
Гёделевской нумерацией множества X ⊆ W (A) слов алфавита A назы-
вается такая разнозначная функция g: X → N, что существует алгоритм G,
вычисляющий по слову w ∈ X его номер g(w), и существует алгоритм G0 ,
выписывающий по числу n ∈ N слово w, если n = g(w), и выдающий число 0,
если n ∈ N \ g(X).
Ясно, что в силу тезиса Чёрча вопрос о разрешимости исчисления I, име-
ющего гёделевскую нумерацию g для всех выражений I, сводится к вопросу
о рекурсивности множества гёделевских номеров всех теорем исчисления I.
Поставим в соответствие каждой формуле исчисления ИПΣ0 некоторый
гёделевский номер γ, по которому можно эффективно распознать структуру
самой формулы.
Для множества T (Σ0 ) термов сигнатуры Σ0 и множества F (Σ0 )
формул сигнатуры Σ0 определим индукцией по числу шагов построения тер-
мов и формул гёделевскую нумерацию γ: T (Σ0 ) ∪ F (Σ0 ) → N в соответствии
со следующими правилами:
170 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
0) γ(0) = c(0, 1);
1) γ(vn ) = c(1, n), где vn — n-я переменная из множества V ;
2) γ(s(t)) = c(2, γ(t)), где t ∈ T (Σ0 );
3) γ(t1 + t2 ) = c(3, c(γ(t1 ), γ(t2 ))), где t1 , t2 ∈ T (Σ0 );
4) γ(t1 · t2 ) = c(4, c(γ(t1 ), γ(t2 ))), где t1 , t2 ∈ T (Σ0 );
5) γ(t1 ≈ t2 ) = c(5, c(γ(t1 ), γ(t2 ))), где t1 , t2 ∈ T (Σ0 );
6) γ(t1 ≤ t2 ) = c(6, c(γ(t1 ), γ(t2 ))), где t1 , t2 ∈ T (Σ0 );
7) γ(ϕ ∧ ψ) = c(7, c(γ(ϕ), γ(ψ))), где ϕ, ψ ∈ F (Σ0 );
8) γ(ϕ ∨ ψ) = c(8, c(γ(ϕ), γ(ψ))), где ϕ, ψ ∈ F (Σ0 );
9) γ(ϕ → ψ) = c(9, c(γ(ϕ), γ(ψ))), где ϕ, ψ ∈ F (Σ0 );
10) γ(¬ϕ) = c(10, γ(ϕ)), где ϕ ∈ F (Σ0 );
11) γ(∃vn ϕ) = c(11, c(n, γ(ϕ))), где vn ∈ V , ϕ ∈ F (Σ0 );
12) γ(∀vn ϕ) = c(12, c(n, γ(ϕ))), где vn ∈ V , ϕ ∈ F (Σ0 ).
Используя примитивную рекурсивность функций c, l и r, устанавливает-
ся следующее предложение.
Предложение 4.6.1. 1. Множество γT0 {γ(t) | t ∈ T (Σ0 )} гёделев-
ских номеров термов сигнатуры Σ0 рекурсивно.
2. Множество γF0 {γ(ϕ) | ϕ ∈ F (Σ0 )} гёделевских номеров формул
сигнатуры Σ0 рекурсивно. ¤
Обозначим через Fr характеристическую функцию двухместного отно-
шения, состоящего из всех пар (m, n), для которых m является гёделевским
номером некоторой формулы ϕ, содержащей свободную переменную vn . Для
функции Fr справедливо следующее соотношение:
1, если l(m) ∈ {5, 6} и vn входит
в терм t1 с условием γ(t1 ) = l(r(m))
или в терм t2 с условием γ(t2 ) = r(r(m));
1, если l(m) ∈ {7, 8, 9}, m ∈ γF0 ,
Fr(m, n) = и Fr(l(r(m)), n) = 1 или Fr(r(r(m)), n) = 1;
1, если l(m) = 10, m ∈ γF0 и Fr(r(m), n) = 1;
1, если l(m) ∈ {11, 12}, m ∈ γF0 , l(r(m)) 6= n
и Fr(r(r(m)), n) = 1;
0 в противном случае.
Из приведенного соотношения вытекает рекурсивность функции Fr,
а также функции Sb(m, n, k), устанавливающей по гёделевскому номеру m
терма q и гёделевскому номеру k терма t гёделевский номер результата под-
становки (q)vt n в терм q терма t вместо переменной vn , а по гёделевскому
4.6. НЕРАЗРЕШИМОСТЬ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ 171
номеру m формулы ϕ и гёделевскому номеру k терма t гёделевский номер
результата подстановки (ϕ)vt n в формулу ϕ терма t вместо переменной vn .
Из рекурсивности множества γF0 , функций Fr и Sb следует рекурсивность
множеств гёделевских номеров формул для каждой из 14 аксиом исчисления
ИПΣ0 . Таким образом, справедливо следующее предложение.
Предложение 4.6.2. Для любого i ∈ {1, . . . , 14} множество Ai гёде-
левских номеров для множества i-х аксиом исчисления ИПΣ0 рекурсивно. ¤
В качестве примера приведем пример рекурсивного описания характе-
ристической функции для множества A1 гёделевских номеров аксиом, име-
ющих вид ϕ → (ψ → ϕ):
1, если χγF0 (n) = 1, l(n) = 9, l(r(r(n))) = 9
χA1 (n) = и l(r(n)) = r(r(r(r(n)))),
0 в противном случае.
Для каждого из трех правил вывода исчисления ИПΣ0 определим ха-
рактеристические функции χR1 (x, y, z), χR2 (x, y), χR3 (x, y) соответствующих
отношений R1 , R2 , R3 такие, что
1, если формула ψ с номером γ(ψ) = k
получается из формулы ϕ
χR1 (n, m, k) = с номером γ(ϕ) = n и формулы (ϕ → ψ)
с номером γ(ϕ → ψ) = m по правилу 1,
0 в противном случае,
1, если формула (ψ → ∀x ϕ)
с номером γ(ψ → ∀x ϕ) = m
χR2 (n, m) = получается из формулы (ψ → ϕ)
с номером γ(ψ → ϕ) = n по правилу 2,
0 в противном случае,
1, если формула (∃x ϕ → ψ)
с номером γ(∃x ϕ → ψ) = m
χR3 (n, m) = получается из формулы (ϕ → ψ)
с номером γ(ϕ → ψ) = n по правилу 3,
0 в противном случае.
Из приведенных описаний вытекает рекурсивность отношений R1 , R2 , R3 .
172 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Теорема 4.6.3. Множество гёделевских номеров доказуемых формул
исчисления ИПΣ0 рекурсивно перечислимо.
Доказательство. В силу леммы 4.2.6 для любого вывода ϕ0 , . . . , ϕk
в ИПΣ0 функция Гёделя по некоторому номеру m задает последователь-
ность Γ(m, 0) = γ(ϕ0 ), . . . , Γ(m, k) = γ(ϕk ). Тогда множество гёделевских
номеров n доказуемых в ИПΣ0 формул определяется следующей формулой,
задающей рекурсивно перечислимое отношение:
à à 14
_
∃m, k (Γ(m, k) ≈ n) ∧ (∀i ≤ k) Al (Γ(m, i))∨
l=1
∨(∃j1 , j2 < i)R1 (Γ(m, j1 ), Γ(m, j2 ), Γ(m, i))∨
!!
∨(∃j < i)(R2 (Γ(m, j), Γ(m, i)) ∨ R3 (Γ(m, j), Γ(m, i))) . ¤
Следствие 4.6.4. Если X — множество формул сигнатуры Σ0 , у ко-
торого множество γ(X) рекурсивно перечислимо, то множество
{γ(ϕ) | X ` ϕ} рекурсивно перечислимо.
Доказательство. В силу теоремы 4.6.3 достаточно рассмотреть слу-
чай, когда множество X непусто. Тогда по теореме об эквивалентных опре-
делениях рекурсивно перечислимых отношений имеем γ(X) = ρf для неко-
торой ПРФ f : N → γ(X). В силу теоремы компактности V условие X ` ϕ
равносильно условию X0 ` ϕ, а значит, и условию ` ( X0 ) → ϕ для неко-
торого конечного множества X0 ⊆ X. Тогда рекурсивная перечислимость
множества {γ(ϕ) | X ` ϕ} равносильна рекурсивной перечислимости отно-
шения
( ¯ ÃÃ m ! !
¯ ^
¯
P ∃m (m, n) ¯ n = γ(ϕ) и γ γ −1 (f (i)) → ϕ —
¯
i=0
)
гёделевский номер доказуемой формулы .
Определим рекурсивную схему для множества номеров
ÃÃ m ! !
^
γ γ −1 (f (i)) → ϕ .
i=0
4.6. НЕРАЗРЕШИМОСТЬ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ 173
Положим g(0) f (0), g(n + 1) c(7, c(g(n), f (n + 1))), n ∈ N. Тогда
ÃÃ m ! !
^
γ γ −1 (f (i)) → ϕ = c(9, c(g(m), n)).
i=0
Обозначим через Q(k) рекурсивно перечислимое отношение, состоящее из
всех гёделевских номеров доказуемых формул (такое ПРО существует по
теореме 4.6.3). Теперь рекурсивная перечислимость отношения P вытекает
из равенства P = ∃m Q(c(9, c(g(m), n))). ¤
Напомним, что через A0 обозначается система аксиом арифметики Пеано
без аксиом математической индукции. Функция f : Nk → N называется пред-
ставимой в A0 , если для некоторой формулы ϕ(x1 , . . . , xk , y) сигнатуры Σ0
и любых чисел n1 , . . . , nk , m ∈ N выполняются следующие условия:
• если f (n1 , . . . , nk ) = m, то A0 ` ϕ(∆n1 , . . . , ∆nk , ∆m );
• если f (n1 , . . . , nk ) 6= m, то A0 ` ¬ϕ(∆n1 , . . . , ∆nk , ∆m ).
При этом формула ϕ называется представляющей для функции f .
Теорема 4.6.5 (теорема о представимости в A0 ). Любая рекурсивная
функция представима в A0 .
Доказательство. В силу теоремы об элиминации примитивной рекур-
n
сии достаточно установить представимость в A0 функций o(x), s(x), Im (x),
+, ·, а также проверить сохранение представимости в A0 при применении
операторов S и M 0 .
Представимость в A0 функций + и · показана в предложении 3.5.1. Функ-
цию o(x) представляет формула (x ≈ x) ∧ (y ≈ 0). Функция s(x) представ-
n
ляется формулой (y ≈ s(x)). Функцию Im (x1 , . . . , xn ) представляет формула
(y ≈ xm ).
Пусть всюду определенные функции f1 (x), . . . , fn (x) представляют-
ся формулами ϕ1 (x, y), . . . , ϕn (x, y) соответственно, а всюду определенная
функция g(y1 , . . . , yn ) представляется формулой ψ(y1 , . . . , yn , z). Тогда супер-
позиция h(x) = g(f1 (x), . . . , fn (x)) представима в A0 формулой
à n
^
∃y1 , . . . , yn (ϕi (x, yi ) ∧ ∀yi0 ((yi0 ≤ yi ) ∧ ¬(yi0 ≈ yi ) → ¬ϕi (x, yi0 ))) ∧
i=1
!
0 0 0 0
∧ψ(y1 , . . . , yn , z) ∧ ∀z ((z ≤ z) ∧ ¬(z ≈ z) → ¬ψ(y1 , . . . , yn , z )) .
174 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Пусть всюду определенные функции f1 (x, y) и f2 (x, y) представляются
формулами ϕ1 (x, y, z) и ϕ2 (x, y, z) соответственно. Тогда всюду определенная
функция g(x) = µy (f1 (x, y) ≤ f2 (x, y)) представляется формулой
∃z1 , z2 (ψ(x, y, z1 , z2 ) ∧ (z1 ≤ z2 ) ∧ ∀y 0 ((y 0 ≤ y) ∧ ¬(y 0 ≈ y) →
→ ∀z10 , z20 (ψ(x, y 0 , z10 , z20 ) → ¬(z10 ≤ z20 )))),
где
ψ(x, y, z1 , z2 ) ϕ1 (x, y, z1 ) ∧ ϕ2 (x, y, z2 )∧
∧∀z ((z ≤ z1 ) ∧ ¬(z ≈ z1 ) → ¬ϕ1 (x, y, z))∧
∧∀z ((z ≤ z2 ) ∧ ¬(z ≈ z2 ) → ¬ϕ2 (x, y, z)). ¤
Теорема 4.6.6. Если X — непротиворечивое множество формул сиг-
натуры Σ0 , содержащее множество A0 , то множество γ(TX ), где
TX = {ϕ | X ` ϕ}, нерекурсивно.
Доказательство. Рассмотрим термы ∆n и примитивно рекурсивную
функцию Nm(n), определяемую схемой
Nm(0) c(0, 1), Nm(n + 1) c(2, Nm(n))
и задающую гёделевские номера термов ∆n : Nm(n) = γ(∆n ). Обо-
значим через Sb0 (x, y) примитивно рекурсивную функцию Sb(x, 0, Nm(y)),
где для любой формулы ϕ сигнатуры Σ0 и любого n ∈ N имеет место
Sb(γ(ϕ), 0, Nm(n)) = γ((ϕ)v∆0n ).
Предположим, что существует рекурсивная характеристическая функ-
ция χγ(TX ) . Рассмотрим формулу ϕ(x, y, z), не содержащую переменную v0
и представляющую в A0 рекурсивную функцию χγ(TX ) (Sb0 (x, y)). Положим
¡ ¢
n0 γ (¬ϕ(x, y, z))x,y,z
v0 ,v0 ,∆1 .
Если χγ(TX ) (Sb0 (n0 , n0 )) = 1, то γ(¬ϕ(∆n0 , ∆n0 , ∆1 )) ∈ γ(TX ) и, следова-
тельно, X ` ¬ϕ(∆n0 , ∆n0 , ∆1 ). Однако в силу представимости в A0
функции χγ(TX ) (Sb0 (x, y)) справедливо A0 ` ϕ(∆n0 , ∆n0 , ∆1 ), а значит,
ϕ(∆n0 , ∆n0 , ∆1 ) ∈ TX на основании A0 ⊆ X. Таким образом, из множества X
выводимы некоторая формула и ее отрицание, что невозможно для непро-
тиворечивого множества X.
4.6. НЕРАЗРЕШИМОСТЬ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ 175
Допустим теперь, что χγ(TX ) (Sb0 (n0 , n0 )) = 0. Тогда γ −1 (Sb0 (n0 , n0 )) 6∈ TX ,
т. е. ¬ϕ(∆n0 , ∆n0 , ∆1 ) 6∈ TX . С другой стороны, из χγ(TX ) (Sb0 (n0 , n0 )) 6= 1
и представимости функции χγ(TX ) (Sb0 (x, y)) в A0 формулой ϕ(x, y, z) полу-
чаем A0 ` ¬ϕ(∆n0 , ∆n0 , ∆1 ). Следовательно, ¬ϕ(∆n0 , ∆n0 , ∆1 ) ∈ TX в силу
A0 ⊆ X. Таким образом, формула ¬ϕ(∆n0 , ∆n0 , ∆1 ) одновременно принадле-
жит и не принадлежит множеству TX . Полученное противоречие означает,
что множество γ(TX ) нерекурсивно. ¤
Непротиворечивая теория T сигнатуры Σ0 называется разрешимой, если
множество гёделевских номеров предложений из T рекурсивно. Из теоремы
4.6.6 вытекает следующее следствие.
Следствие 4.6.7 (теорема о неразрешимости элементарной теории
арифметики). Для любого непротиворечивого множества X предложений
сигнатуры Σ0 , содержащего множество A0 , теория TX , порожденная
множеством X, неразрешима.
Приведенное утверждение означает, что не существует универсального
алгоритма решения всех математических задач.
Следствие 4.6.8 (теорема Гёделя о неполноте теории арифметики Пе-
ано). Пусть X — непротиворечивое множество формул сигнатуры Σ0 ,
содержащее множество A0 , и γ(X) — рекурсивно перечислимое отноше-
ние. Тогда теория TX , состоящая из всех предложений, выводимых в ИПΣ0
из множества X, неполна.
Доказательство. Предположим противное, т. е. полноту теории TX .
По условию множество γ(X) рекурсивно перечислимо, а значит, по след-
ствию 4.6.4 рекурсивно перечислимо множество γ(TX ). С другой сторо-
ны, в силу полноты теории TX рекурсивно перечислимо множе-
ство ¬γ(TX ), поскольку оно состоит из всех натуральных чисел, не яв-
ляющихся гёделевскими номерами предложений сигнатуры Σ0 , а также
из гёделевских номеров предложений ϕ, для которых ¬ϕ ∈ TX . На осно-
вании теоремы Поста заключаем, что множество γ(TX ) рекурсивно, а это
противоречит теореме о неразрешимости элементарной теории арифме-
тики. ¤
Следствие 4.6.9 (теорема Чёрча о неразрешимости ИПΣ0 ). Множе-
ство гёделевских номеров теорем исчисления ИПΣ0 нерекурсивно.
176 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Доказательство. Пусть ϕ0 — конъюнкция формул из A0 . Очевидно,
что для любой формулы ψ сигнатуры Σ0 условие A0 ` ψ рав-
носильно тому, что ϕ0 → ψ — теорема ИПΣ0 . Предположим, что
множество B {γ(ϕ) | ϕ — теорема ИПΣ0 } рекурсивно. Тогда рекурсивна
функция f (x) = χB (c(9, c(n0 , x))), где n0 = γ(ϕ0 ). При этом f (x) является
характеристической функцией для множества Y гёделевских номеров фор-
мул, выводимых из A0 . Последнее невозможно, поскольку по теореме 4.6.6
множество Y нерекурсивно. ¤
В силу теоремы о неразрешимости элементарной теории арифметики воз-
никла задача нахождения других неразрешимых теорий, а также разреши-
мых теорий. Неразрешимыми являются, например, теория класса всех ко-
нечных графов, теория класса всех групп и теория класса алгебраических
систем, сигнатура которых содержит по крайней мере один предикатный
символ местности ≥ 2, по крайней мере один функциональный символ мест-
ности ≥ 2 или по крайней мере два одноместных функциональных сим-
вола. Разрешимы теория класса всех систем, сигнатура которых состоит
из счетного числа одноместных предикатных символов, теория всех абеле-
вых групп, теория всех булевых алгебр, теория любой булевой алгебры,
а также теория класса систем, сигнатура которых состоит из одного
одноместного функционального символа. Согласно доказательству теоре-
мы Гёделя о неполноте к разрешимым теориям относятся полные теории,
имеющие множества аксиом, у которых множества гёделевских номеров ре-
курсивно перечислимы. В частности, разрешимыми являются следующие
теории:
Th(hN; +, s, 0i); Th(hN; ·, 0i); Th(hZ; +, −, 0i);
Th(hQ; <i); Th(hQ; +, −, 0i); Th(hR; +, ·, <, 0, 1i); Th(hC; +, ·, 0, 1i).
§ 4.7. Характеристики сложности алгоритмов
1. Определение и связь основных характеристик
До сих пор мы рассматривали принципиальную возможность алгоритми-
ческого решения той или иной задачи. Однако существуют задачи, которые
хотя и могут быть решены на машине, требуют столь большого объема вы-
числений, что их решение практически недоступно. Настоящий параграф
будет посвящен изучению и классификации алгоритмических задач относи-
тельно их вычислительной сложности.
4.7. ХАРАКТЕРИСТИКИ СЛОЖНОСТИ АЛГОРИТМОВ 177
Поскольку основные сложностные характеристики переносятся от одной
модели вычисления к другой, в качестве модели вычислительного устрой-
ства достаточно рассмотреть машину Тьюринга, а в качестве характеристик
сложности — необходимое время (число шагов вычисления) и память (раз-
мер используемой ленты).
Пусть T — машина Тьюринга, вычисляющая функцию f (x). Обозначим
через tT (x) число шагов работы машины T , вычисляющей значение f (x), ес-
ли f (x) определено, и будем считать, что tT (x) не определено, если не опре-
делено значение f (x). Функция tT (x) называется временно́й сложностью
машины T .
Пусть значение f (x) определено. Активной зоной при работе машины T
на числе x называется минимальное множество ST (x) ячеек ленты, содер-
жащее все ячейки, которые являются активными, т. е. используются при
вычислении f (x).
Ленточной сложностью машины T называется функция sT (x), кото-
рая равна мощности активной зоны ST (x), если значение f (x) определено,
и sT (x) не определено, если не определено значение f (x).
Если в машине Тьюринга T = hA, Q, Π, q0 , q1 i внешний алфавит A состо-
ит из m элементов, множество внутренних состояний Q — из n элементов
и значение f (x) определено, то справедливы следующие неравенства, поз-
воляющие оценивать величину ленточной сложности через временну́ю и на-
оборот:
sT (x) ≤ x + 3 + tT (x), tT (x) ≤ (n + 1) · sT (x) · (m + 1)sT (x) .
Приведенные оценки показывают, что для исследования сложности алго-
ритма в качестве основной характеристики достаточно рассматривать вре-
менну́ю сложность.
2. О верхней границе сложности вычислений
Следующая теорема дает отрицательный ответ на вопрос о существо-
вании единой временно́й рекурсивной границы для вычисления значений
функций, т. е. о существовании такой рекурсивной функции h(x), что для
любой вычислимой функции f (x) существует машина T , на которой время
вычисления значения f (x) (если оно определено) не превосходит h(x).
178 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Теорема 4.7.1. Для любой рекурсивной функции h(x) существует та-
кая рекурсивная функция f (x), что ρf = {0, 1}, и для любой машины T ,
вычисляющей функцию f (x), найдется число n ∈ N, для которого
tT (n) > h(n).
Доказательство. Зафиксируем рекурсивную функцию h(x). Рассмот-
рим универсальную функцию U1 (n, x) для класса всех одноместных ЧРФ.
Для каждого числа n0 ∈ N, являющегося кодом некоторой машины Тью-
ринга, обозначим через Tn0 машину Тьюринга с кодом n0 , вычисляющую
одноместную функцию U1 (n0 , x). Определим рекурсивную функцию
½
sg(U1 (x, x)), если U1 (x, x) определено и tTx (x) ≤ h(x),
f (x) =
0 в противном случае.
Пусть T = Tn — машина Тьюринга, вычисляющая функцию f (x). Тогда
условие tTn (n) ≤ h(n) выполниться не может, поскольку f (x) = U1 (n, x),
а U1 (n, x) 6= sg(U1 (n, x)). ¤
Несложная модификация доказательства теоремы 4.7.1 приводит к ее
следующему усилению.
Теорема 4.7.2. Для любой рекурсивной функции h(x) существует та-
кая рекурсивная функция f (x), что ρf = {0, 1}, и для любой машины T ,
вычисляющей функцию f (x), найдется число n ∈ N, начиная с которого
справедливо неравенство tT (x) > h(x). ¤
Задача получения нижних оценок сложности вычислений важна,
поскольку на основе этих оценок можно делать заключения о качестве ис-
пользуемых методов вычислений, устанавливать их оптимальность.
3. О наилучших вычислениях
Следующая теорема показывает, что любое вычисление некоторой рекур-
сивной функции можно улучшить, начиная с некоторого шага. Тем самым
не существует вычисления, наилучшего в абсолютном смысле.
Теорема 4.7.3 (теорема Блюм об ускорении). Для любой рекурсивной
функции r(x) существует такая рекурсивная функция f (x), что ρf = {0, 1},
и для любой машины T , вычисляющей функцию f (x), найдутся машина T 0 ,
вычисляющая функцию f (x), и число n ∈ N, начиная с которого справедливо
неравенство tT (x) > r(tT 0 (x)). ¤
4.8. ПЕРЕБОРНЫЕ ЗАДАЧИ 179
Пример 4.7.1. Если r(x) = 2x , то для функции f (x) и машины T , о ко-
торых идет речь в теореме 4.7.3, найдется машина T 0 с условием tT 0 (x) <
< log2 (tT (x)), начиная с некоторого числа n. В свою очередь для машины T 0
найдется машина T 00 с условием tT 00 (x) < log2 (tT 0 (x)) < log2 (log2 (tT (x))), на-
чиная с некоторого n0 ≥ n, и т.д. ¤
§ 4.8. Переборные задачи
Пример 4.8.1. Рассмотрим задачу проверки совпадения булевых функ-
ций f (x1 , . . . , xn ) и g(x1 , . . . , xn ). Как известно, решение задачи состоит в со-
ставлении таблиц истинности функций f и g, т. е. в переборе всевозможных
наборов (δ1 , . . . , δn ) ∈ {0, 1}n для проверки 2n соотношений f (δ1 , . . . , δn ) =
= g(δ1 , . . . , δn ). ¤
Приведенный пример является одной из задач переборного типа. Ниже
мы дадим общее определение переборной задачи и перечислим некоторые
основные примеры переборных задач, которые являются самыми сложными
среди всех переборных задач. Суть подхода к определению наиболее слож-
ных задач, называемых универсальными, состоит в сведении к ним любой
переборной задачи. Решение универсальной задачи в этом смысле дает реше-
ние любой переборной задачи, и поэтому универсальная задача оказывается
не проще любой из переборных задач.
Пусть Z — некоторая массовая задача, т. е. задача нахождения алго-
ритма для решения бесконечной серии однотипных задач z. При этом будем
считать, что данные каждой задачи z ∈ Z записаны в виде некоторого слова
s(z) конечного алфавита A, которое называется входным и кодирует исход-
ные данные задачи z. Для любой задачи z ∈ Z длину слова s(z) обозначим
через l(z).
Пример 4.8.2. Задача z нахождения таблицы истинности булевой функ-
ции f может быть записана в виде задачи нахождения таблицы истинности
формулы ϕ, представляющей функцию f . При этом величина l(z) равна
длине слова s(z) ϕ. ¤
Трудоемкостью или сложностью алгоритма решения массовой задачи Z
называется функция f , ставящая в соответствие каждому натуральному
числу n максимальное время f (n) работы алгоритма по всем входным сло-
вам данной задачи, имеющим длину n. Анализ эффективности алгоритма
заключается в выяснении вопроса о том, насколько быстро растет функ-
ция f (n) с ростом n. При ответе на этот вопрос обычно используется
O-символика.
180 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Говорят, что неотрицательная функция f (n) не превосходит по порядку
функцию g(n), и пишут f (n) = O(g(n)), если существует такая констан-
та C, что f (n) ≤ C · g(n) для любого n ∈ N. Выражениям “трудоемкость
(сложность) алгоритма составляет O(g(n))”, “решение задачи требует по-
рядка O(g(n)) операций” или “алгоритм решает задачу за время O(g(n))”
обычно придается именно этот смысл. Например, трудоемкость O(1) озна-
чает, что время работы соответствующего алгоритма не зависит от длины
входного слова.
Алгоритм с трудоемкостью O(n) называется линейным. Линейный ал-
горитм ограниченное константой число раз просматривает входную инфор-
мацию и для подавляющего большинства практических задач является не
улучшаемым по порядку. Поэтому отысканием линейного алгоритма (при
его существовании) обычно заканчивается алгоритмическое решение данной
массовой задачи.
Алгоритм, сложность которого равна O(nc ), где c — константа, назы-
вается полиномиальным. Говорят, что массовая задача Z решается эффек-
тивно, если существует алгоритм, имеющий полиномиальную сложность.
Таким образом, эффективное вычисление представляет собой вычисление
с полиномиальной сложностью.
Указанная формализация эффективности алгоритмов не лишена недо-
статков. Например, сомнительно, что эффективно будет работать алгоритм,
имеющий порядок O(n1000000 ). Однако на практике отмеченный недостаток
оказывается не столь серьезным, поскольку обычно появление какого-либо
полиномиального алгоритма приводит в конце концов к алгоритму, трудо-
емкость которого оценивается по порядку полиномом небольшой степени.
В большинстве случаев эта степень не превосходит трех√и оценка, как прави-
ло, имеет один из следующих видов: O(n3 ), O(n2 ), O(n n), O(n logn), O(n).
Пример 4.8.3. 1. Полиномиальными являются алгоритмы нахождения
кратчайших маршрутов во взвешенных графах. Как отмечено в § 4.5∗ ,
сложность алгоритма Форда — Беллмана равна O(n3 ), а алгоритма
Дейкстры — O(n2 ).
2. Сложность алгоритма нахождения остова минимального веса во взве-
шенном графе (см. § 4.8∗ ), содержащем n вершин, равна O(n log2 n). ¤
Алгоритм, сложность которого равна O(cn ), где c — константа, c ≥ 2,
называется экспоненциальным.
Как замечено в примере 4.8.1, массовая задача проверки совпадения буле-
вых функций требует экспоненциального времени и поэтому решается неэф-
фективно.
4.8. ПЕРЕБОРНЫЕ ЗАДАЧИ 181
Далее мы будем рассматривать так называемые распознавательные мас-
совые задачи, т. е. задачи, решение которых заключается в получении ответа
“да” или “нет”. Всякий алгоритм решения такой задачи, будучи применен-
ным к соответствующему входу, работает какое-то время, а затем, сообщив
ответ “да” либо “нет”, останавливается. Для некоторых задач их изначаль-
ные постановки являются распознавательными. Таковы, например, задачи
распознавания изоморфизма или изоморфной вложимости алгебраических
систем, а также задачи распознавания эйлеровости, гамильтоновости или
планарности графов.
Однако на практике чаще исходная задача является оптимизационной.
В оптимизационной задаче требуется выбрать из множества допустимых
решений X такое решение x, вес (стоимость или какая-либо другая характе-
ристика) w(x) которого минимален. Каждой оптимизационной задаче поста-
вим в соответствие ее распознавательный вариант, который выглядит сле-
дующим образом. По заданным множеству X, весовой функции w и числу k
требуется выяснить, существует ли элемент x ∈ X, для которого w(x) ≤ k.
Очевидно, что из наличия полиномиального алгоритма решения оптими-
зационной задачи следует существование эффективного решения для соот-
ветствующей распознавательной задачи. Можно показать, что при наличии
естественных условий для функции w верно и обратное.
Класс, состоящий из всех распознавательных массовых задач, каждая из
которых может быть решена некоторым полиномиальным алгоритмом, обо-
значается через P. В примере 4.8.2 перечислены некоторые задачи, соответ-
ствующие задачам из класса P. В то же время принадлежность к классу P
распознавательных задач, соответствующих, например, задачам проверки
гамильтоновости или изоморфизма графов, до сих пор не установлена и
считается сомнительной.
Отметим общее свойство, которым обладают как задачи из класса P,
так и задачи, вызывающие указанное сомнение: если вход задачи таков, что
имеет место ответ “да”, то существует полиномиальный алгоритм, доказы-
вающий этот факт.
Пример 4.8.4. 1. Рассмотрим задачу о кодовом замке. Требуется опре-
делить последовательность (k1 , . . . , kn ) (ключ) из всевозможных 10n после-
довательностей цифр длины n, которая подходит в качестве ключа к замку.
Общее число последовательностей показывает, что задача решается за экс-
поненциальное время. Однако при наличии ключа проверка требует всего
O(n) операций.
182 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
2. Если положительным является ответ на вопрос о гамильтоновости гра-
фа G, т. е. в G имеется гамильтонов цикл C, то проверка гамильтоновости
цикла C требует всего O(n) операций, где n = |G|. Если же граф G не явля-
ется гамильтоновым, то понадобится перебрать все (|G| − 1)! простых цик-
лов длины |G| полного графа, проверяя каждый раз, содержится ли цикл
в графе G. Такой алгоритм требует O(n!) операций и, конечно, не является
полиномиальным. ¤
Определим класс переборных задач, который содержит класс P
и включает задачи, имеющие полиномиальные алгоритмы для проверки по-
зитивной информации. Для этого мы введем понятие недетерминированного
алгоритма.
Пусть A = (A1 , . . . , Am ) — последовательность операторов, по которым
в соответствии с некоторыми алгоритмами входные слова перерабатывают-
ся в выходные, B(·, ·) — оператор передачи управления, который на каждой
паре (l1 , l2 ), где l1 , l2 ∈ {1, 2, . . . , m}, действует по следующей схеме. Если
Q = (q1 , . . . , qp ) — последовательность из {l1 , l2 }p , то в результате k-го (k ≤ p)
выполнения оператора B(l1 , l2 ) управление передается оператору Al1 , если
qk = l1 , и Al2 , если qk = l2 , а при k > p вычисления прекращаются. Итак,
последовательности операторов A и последовательности индексов Q ставит-
ся в соответствие обычный (детерминированный) алгоритм. Этот алгоритм
представляет собой пару AQ hA, Qi, в которой A — недетерминированный
алгоритм, а Q — угадывающая последовательность.
Пусть A — недетерминированный алгоритм, с помощью которого реша-
ется массовая задача Z. Устройство, выдающее для каждой задачи z ∈ Z
соответствующую угадывающую последовательность, называется оракулом.
Таким образом, отличие недетерминированного алгоритма от детерминиро-
ванного состоит в наличии оракула.
В силу тезиса Чёрча любой недетерминированный алгоритм можно про-
интерпретировать в виде недетерминированной машины Тьюринга, где ал-
горитмы A1 , . . . , Am интерпретируются обычными, детерминированными
машинами Тьюринга, а оператор передачи управления в зависимости от
угадывающей последовательности запускает соответствующие машины.
Говорят, что недетерминированный алгоритм A решает распознаватель-
ную задачу за полиномиальное время, если найдется полином P (n), для ко-
торого выполняется следующее условие: каждое входное слово s для данной
задачи имеет ответ “да” тогда и только тогда, когда для s существует такая
4.8. ПЕРЕБОРНЫЕ ЗАДАЧИ 183
угадывающая последовательность Q, что алгоритм AQ , будучи применен-
ным к этому входу, останавливается, сообщив ответ “да”, и время его рабо-
ты не превосходит P (n). Заметим, что согласно этому определению каждому
входу с ответом “да” ставится в соответствие свой алгоритм AQ .
Массовая задача называется недетерминированно разрешимой за поли-
номиальное время или переборной, если существует недетерминированный
алгоритм, решающий эту задачу за полиномиальное время.
Класс всех переборных задач обозначается через N P.
Нетрудно заметить, что любая эффективно решаемая задача является
переборной и, следовательно, P ⊆ N P. Действительно, любой полиноми-
альный алгоритм A можно превратить в полиномиальный алгоритм вида
AQ , положив A A.
Класс N P чрезвычайно широк. Например, большинству задач, рассмот-
ренных нами в части теории графов соответствуют распознавательные за-
дачи, принадлежащие классу N P.
Пример 4.8.5. Рассмотрим задачу об изоморфизме графов. Пусть Gi =
= hMi ; Ri i, i = 1, 2, — два графа, в которых M M1 = M2 = {1, 2, . . . , n}.
Требуется установить, существует ли такая подстановка σ: M ↔ M , для
которой имеет место (k, m) ∈ R1 ⇔ (σ(k), σ(m)) ∈ R2 для всех k, m ∈ M .
Пусть Ai — матрица смежности графа Gi , i = 1, 2, S = (sij ) — матрица
подстановки σ, имеющая размер n × n и состоящая из элементов
½
1, если σ(j) = i,
sij =
0 в противном случае.
С помощью прямых вычислений проверяется, что при наличии изоморфизма
σ справедливо соотношение A2 = SA1 S −1 . Таким образом, задачу об изомор-
физме графов можно сформулировать так: определить, существует ли такая
матрица подстановки S, что A2 = SA1 S −1 .
Недетерминированный алгоритм A для решения этой задачи выглядит
следующим образом (:= — оператор присваивания).
1. Выполнить пп. 2–4 для всех 1 ≤ k ≤ n2 и перейти к п. 5.
2. B(3, 4).
3. tk := 0.
4. tk := 1.
5. sij := ti(n−1)+j для всех i, j ∈ {1, . . . , n}.
6. A0 := SA1 S −1 .
7. Если A2 = A0 , то конец и ответ “да”. Иначе — конец.
184 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
Записав угадывающую последовательность Q, по которой строится
матрица S, получаем алгоритм AQ , работа которого состоит из двух эта-
пов. На первом этапе (пп. 1–5) с помощью Q строится матрица подстановки,
обеспечивающая изоморфизм. Содержанием второго этапа (пп. 6–7) являет-
ся проверка того, что матрица S обладает нужным свойством. Полиноми-
альность алгоритма AQ очевидна. ¤
Тот факт, что большинство “естественных” массовых задач входят
в класс N P, свидетельствует о чрезвычайной важности вопроса о совпа-
дении классов P и N P. Эта не решенная до сих пор проблема считается
важнейшей в науке о вычислениях и выделена в ряд важнейших общема-
тематических проблем. Большинство исследователей склоняются к мнению,
что P 6= N P. При этом, как будет показано ниже, из условия P 6= N P сле-
дует, что ни для одной из “трудных” задач не существует полиномиального
алгоритма, а наличие такого алгоритма хотя бы для одной из них влечет
P = N P.
Изложение соответствующих результатов опирается на понятие полино-
миальной сводимости одной задачи к другой.
Пусть существует полиномиальный алгоритм F , который, будучи приме-
ненным ко всякому входному слову s задачи Z1 , строит некоторое входное
слово F (s) задачи Z2 . Если при этом слово s дает ответ “да” тогда и только
тогда, когда ответ “да” дает слово F (s), то говорят, что задача Z1 (полино-
миально) сводится к задаче Z2 , и пишут Z1 ∝ Z2 .
Пример 4.8.6. Задача нахождения сокращенной ДНФ сводится к за-
даче о покрытии заданного множества (множества единиц в карте Карно)
минимальной системой заданных подмножеств (множествами единиц, соот-
ветствующими простым импликантам). ¤
Нетрудно показать, что если Z1 ∝ Z2 и Z2 ∈ P, то Z1 ∈ P. Действительно,
пусть алгоритм F имеет сложность O(P1 (n)), а некоторый алгоритм A для
решения задачи Z2 — сложность O(P2 (n)), где P1 (n), P2 (n) — некоторые по-
линомы. Покажем, что полиномиальную сложность имеет алгоритм A0 для
задачи Z1 , согласно которому каждое входное слово s задачи Z1 перерабаты-
вается по алгоритму F во входное слово F (s) задачи Z2 , а затем полученное
слово по алгоритму A выдает ответ “да” или “нет” для слова F (s), а значит,
и для слова s. Если s — входное слово для задачи Z1 , имеющее длину n, то
по алгоритму F это слово перерабатывается в слово F (s) за время O(P1 (n))
и длина этого слова равна O(P1 (n)). Применение алгоритма A к слову F (s)
4.8. ПЕРЕБОРНЫЕ ЗАДАЧИ 185
потребует O(P2 (P1 (n))) операций. Таким образом, сложность алгоритма A0
есть O(P1 (n) + P2 (P1 (n))).
Точно так же доказывается, что из Z1 ∝ Z2 и Z2 ∝ Z3 следует Z1 ∝ Z3 .
Переборная задача Z называется N P-полной, если любая задача из клас-
са N P сводится к Z.
Неформально N P-полнота задачи Z означает, что Z не проще, чем лю-
бая задача из класса N P. Поэтому, доказав N P-полноту некоторой задачи,
мы получаем веские доводы считать ее трудной.
Приведем список некоторых основных N P-полных задач.
ВЫПОЛНИМОСТЬ: Дана КНФ, представляющая булеву функцию.
Определить, является ли КНФ выполнимой.
КЛИКА: Даны граф G и натуральное число k. Определить, содержит
ли граф G клику мощности k (кликой графа G называется подмножество
множества вершин графа G, у которого любые две различные вершины яв-
ляются смежными).
НЕЗАВИСИМОСТЬ: Даны граф G и натуральное число k. Определить,
содержит ли граф G независимое k-элементное множество вершин (множе-
ство вершин графа называется независимым, если никакие две вершины
из этого множества не смежны).
ИЗОМОРФНАЯ ЧАСТЬ ГРАФА: Даны два графа G1 = hM, R1 i
и G2 = hM, R2 i. Определить, существует ли подстановка σ: M ↔ M , для
которой истинна импликация
(a, b) ∈ R1 ⇒ (σ(a), σ(b)) ∈ R2 .
ВЕРШИННОЕ ПОКРЫТИЕ: Даны граф G и натуральное число k. Опре-
делить, существует ли в графе G вершинное покрытие мощности не более k
(подмножество M 0 множества вершин неорграфа G называется вершинным
покрытием, если каждое ребро из G инцидентно хотя бы одной вершине
из M 0 ).
ДОМИНИРУЮЩЕЕ МНОЖЕСТВО: Даны граф G и натуральное чис-
ло k. Определить, существует ли в графе G доминирующее множество мощ-
ности не менее k (подмножество M 0 множества вершин графа G = hM, Ri
называется доминирующим, если каждая вершина из M \ M 0 смежна с неко-
торой вершиной из M 0 ).
186 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
ГАМИЛЬТОНОВ ЦИКЛ: Дан граф G. Определить, содержит ли
граф G гамильтонов цикл.
ЯДРО: Дан орграф G. Определить, содержит ли граф G ядро (ядром гра-
фа G называется множество вершин, которое является одновременно и неза-
висимым, и доминирующим).
РАСКРАСКА: Даны граф G и натуральное число k. Определить, суще-
ствует ли правильная раскраска вершин графа G посредством k цветов.
Имеется ряд задач, входящих в класс N P, для решения которых до сих
пор не найдено полиномиальных алгоритмов и относительно которых неиз-
вестно, являются ли они N P-полными. К таким задачам, например, отно-
сится задача об изоморфизме графов.
С другой стороны, большинство встречающихся на практике задач
не принадлежат классу N P, поскольку не являются распознавательными.
В то же время ко многим из них удается свести некоторые N P-полные за-
дачи. В этой ситуации оказывается полезным следующее определение.
Массовая задача называется N P-трудной, если к ней сводится некото-
рая N P-полная задача.
Теория N P-полноты представляет не только теоретический, но и чисто
практический интерес. Доказав, что задача N P-трудна, разработчик алго-
ритмов получает достаточные основания для отказа от поиска эффектив-
ного и точного алгоритма. Дальнейшие его усилия могут быть направлены,
например, на получение приближенного решения либо решения для важней-
ших случаев.
Подведем некоторые итоги. Мы определили два класса массовых задач,
P и N P, и показали, что имеется включение P ⊆ N P. При этом остается от-
крытым вопрос о совпадении этих классов. Вместе с тем имеется, например,
задача непустоты дополнения полурасширенного выражения, предполага-
ющая создание башен неограниченной высоты при фиксированном объеме n
входной информации. Эта задача решаема алгоритмически, но для ее реше-
ния требуется больше чем (. . . ((22 )2 ) . . .)2 единиц памяти. Подобные задачи
не принадлежат классу N P и образуют класс труднорешаемых задач. Кро-
ме того, как показано в § 4.4, имеется обширный класс массовых задач —
класс нерешаемых задач, которые нельзя решить алгоритмически. Таким
образом, имеются четыре основных класса массовых задач: P, N P, класс
труднорешаемых задач и класс нерешаемых задач.
4.9. АЛГОРИТМЫ СОРТИРОВКИ 187
§ 4.9. Алгоритмы сортировки
В этом параграфе мы рассмотрим задачу сортировки, классификацию
алгоритмов, решающих задачу сортировки, а также сравним вычислитель-
ные возможности основных алгоритмов сортировки и укажем преимущества
и недостатки этих алгоритмов для различных классов задач.
Пусть имеется некоторый список R = (R1 , . . . , Rn ), каждому элементу Ri
из этого списка поставлен в соответствие некоторый ключ ki , и при этом все
ключи являются элементами некоторого линейно упорядоченного множе-
ства hK; ≤i (множества целых чисел с естественным порядком, множества
слов некоторого алфавита с лексикографическим порядком и др.). Задача
сортировки состоит в том, чтобы упорядочить список R по возрастанию
ключей.
Алгоритмы сортировки по принципам воздействия на список делятся
на следующие четыре вида сортировки.
1. Сортировка посредством выбора состоит том, что среди всех эле-
ментов находится наименьший и отделяется от остальных. Затем выбира-
ется наименьший из оставшихся и т.д. до тех пор, пока не будут выбраны
все элементы. При работе алгоритма требуется выполнить порядка O(n2 )
операций. Преимущество алгоритма состоит в том, что при работе произво-
дится мало пересылок данных, поскольку требуемый список сразу строится
по возрастанию, начиная с наименьшего элемента.
2. Сортировка подсчетом представляет собой алгоритм, по которому
каждый элемент сравнивается со всеми остальными, и его окончательное по-
ложение определяется подсчетом числа меньших ключей. Для реализации
алгоритма вводятся счетчики C1 , . . . , Cn , каждому из которых изначально
присваивается значение 0. При работе алгоритма происходит попарное срав-
нение всех ключей ki и kj , 1 ≤ j ≤ i, 1 < i ≤ n. В случае ki < kj полагают
Cj := Cj + 1, а в случае ki ≥ kj — Ci := Ci + 1. После прохождения всех
пар значение Ci указывает то место, куда нужно переслать элемент Ri . При
этом допускается совпадение ключей. Приведенный алгоритм за счет попар-
ного сравнения ключей так же, как и предыдущий, требует порядка O(n2 )
операций.
Следующая разновидность сортировки подсчетом — сортировка распре-
деляющим подсчетом — имеет сложность O(n), но может использоваться
лишь для случая, когда число возможных значений для ключей ограниче-
но некоторым фиксированным числом N . При первом просмотре ключей
происходит подсчет числа ключей, равных 1, 2, . . . , N , а при втором — рас-
положение элементов в соответствующих местах списка.
188 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
3. Сортировка вставками предполагает поочередный просмотр эле-
ментов, и каждый последующий элемент вставляется в подходящее место
среди ранее упорядоченных элементов.
При сортировке простыми вставками на каждом шаге i, 1 ≤ i ≤ n,
ключ ki последовательно сравнивается с уже размещенными по возрастанию
ключами k1 , k2 , . . . , ki−1 до тех пор, пока не найдется минимальный интер-
вал, концами которого являются уже упорядоченные ключи kj и kj 0 (или
какой-то ключ kj и один из символов бесконечности −∞ или +∞). Затем
ключ ki помещается между ключами kj и kj 0 (или между ключом kj и од-
ним из символов бесконечности) и на соответствующее место устанавливает-
ся элемент Ri . После прохождения всех ключей получается упорядоченный
список. При этом из необходимости выполнения попарной проверки ключей
следует, что алгоритм требует O(n2 ) операций.
Сортировка с помощью бинарных вставок позволяет уменьшить поря-
док сложности до O(n · log2 n). Алгоритм состоит в следующем. На каждом
шаге i, 1 ≤ i ≤ n, ключ ki сравнивается со средним из уже размещен-
ных по возрастанию ключей k1 , k2 , . . . , ki−1 . Если ki меньше среднего ключа
k[(i−1)/2] , то последовательность упорядоченных ключей уменьшается до по-
следовательности k1 , k2 , . . . , k[(i−1)/2] и ki сравнивается со средним ключом
этой последовательности. Если же ki > k[(i−1)/2] , то элемент ki сравнивается
со средним ключом последовательности k[(i−1)/2]+1 , . . . , ki−1 . Продолжая про-
цесс сравнения ключа ki со средними ключами за O(log2 i) шагов находится
окончательное положение ключа ki среди ключей k1 , . . . , ki−1 . После про-
хождения всех n ключей определится окончательное положение элементов
списка R, и на это требуется O(n · log2 n) единиц времени.
Другой разновидностью сортировки вставками является сортировка
с убывающим шагом. Множество ключей разбивается на двухэлементные
множества, и при первом просмотре происходит упорядочение этих двух-
элементных множеств. Затем из этого разбиения с частичным упорядоче-
нием составляется разбиение исходного множества ключей на четырехэле-
ментные множества, каждое из которых составляется из двух уже рассмот-
ренных двухэлементных множеств. Происходит упорядочение полученных
четырехэлементных множеств. Затем аналогично рассматриваются восьми-
элементные, шестнадцатиэлементные и т.д. разбиения, которые на конечном
шаге приводят к упорядочению всего списка R. При этом на каждом этапе
участвуют короткие или хорошо упорядоченные последовательности. Поэто-
му на каждом этапе можно использовать простые вставки. Быстродействие
алгоритма имеет порядок O(n3/2 ).
4.9. АЛГОРИТМЫ СОРТИРОВКИ 189
Пример 4.9.1. Рассмотрим список R = (R1 , . . . , R16 ). Первый просмотр
при работе алгоритма сортировки с убывающим шагом состоит в упорядоче-
нии списков (R1 , R9 ), (R2 , R10 ), . . . , (R8 , R16 ). При втором просмотре упоря-
дочиваются 4 списка (R1 , R5 , R9 , R13 ), . . ., (R4 , R8 , R12 , R16 ). Третий просмотр
позволяет упорядочить два списка (R1 , R3 , . . . , R15 ) и (R2 , R4 , . . . , R16 ). При
последнем, четвертом просмотре упорядочивается сам список R. ¤
В случае, когда список R можно разбить на m = n/c (где c = const)
списков так, что каждый ключ попадает в соответствующий отрезок с веро-
ятностью 1/m, используется сортировка с вычислением адреса. Сортировка
состоит в выборе отрезка и упорядочении по возрастанию списков, соот-
ветствующих отрезкам. Алгоритмическая реализация такой сортировки
линейна.
4. Обменная сортировка основывается на следующем: если при про-
смотре какие-то два элемента располагаются не по порядку, то они меняются
местами, и этот процесс повторяется до окончательного упорядочения.
Простейшим вариантом обменной сортировки является метод пузырька,
который состоит в следующем. Ключ k1 сравнивается с ключом k2 , и если
ключи не упорядочены, элементы R1 и R2 меняются местами. Затем ана-
логично сравниваются ключи k2 и k3 и при необходимости переставляются
соответствующие элементы, k3 и k4 и т.д. При многократном выполнении
процесса бо́льшие элементы “всплывают” на соответствующую позицию, ес-
ли список рассматривается вертикально. Работа алгоритма требует O(n2 )
операций.
Следующий алгоритм быстрой обменной сортировки позволяет упорядо-
чить список в среднем за O(n log2 n) единиц времени (алгоритм с указанной
скоростью работает с плохо упорядоченными списками, а с почти упорядо-
ченными списками со скоростью O(n2 )). На первом шаге полагаем i := 1,
j := n и сравниваем ключи ki и kj . Если обмен ключей не требуется, пола-
гаем j := j − 1. Продолжая сравнивать ключи ki и kj , после первого обмена
увеличиваем i на единицу до тех пор, пока не произойдет еще один обмен.
Тогда опять уменьшаем j и т.д. Процесс “сжигания свечки с обоих концов”
продолжаем до тех пор, пока не совпадут i и j. При i = j список R1 за-
нимает окончательную позицию и задача упорядочения полученного списка
0
(R10 , . . . , Ri−1 0
, R1 , Ri+1 , . . . , Rn0 ) распадается на две подзадачи: задачу упоря-
0 0 0
дочения списка (R1 , . . . , Ri−1 ) и задачу упорядочения списка (Ri+1 , . . . , Rn0 ).
Применяя тот же самый метод к указанным спискам, приходим к разбие-
нию каждой из задач на две подзадачи. Продолжая процесс разбиения задач,
на конечном шаге приходим к искомому упорядоченному списку.
190 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
§ 4.10. Конечные автоматы
Рассмотрим вкратце еще одну вычислительную модель, эквивалентную
уже изученным моделям, — модель вычислений на конечных автоматах.
Детерминированным конечным автоматом называется конечная систе-
ма M hQ, Σ, t, q0 , F, pi, где
Q — непустое множество состояний,
Σ — непустой входной алфавит,
t: Q × Σ → Q — функция переходов,
q0 ∈ Q — начальное состояние,
F ⊆ Q — множество заключительных (принимающих) состояний,
p: Q × Σ → Σ — функция печати (функция выходов).
Выберем некоторое слово w = s1 . . . sn и зададим работу автомата M
на слове w. На первом шаге автомат находится в начальном состоянии q0 ,
и после прочтения первого символа s1 слова w определяется состояние
qi1 = t(q0 , s1 ). После этого автомат переходит в состояние qi1 . При наличии
непустой информации, выдаваемой значением p(q0 , s1 ), это значение пода-
ется на выход. Продолжая последовательно читать слово w и определяя
состояния qij по функции t (где qij = t(qij−1 , sj )), на каждом шаге выводится
соответствующая информация p(qij−1 , sj ) (если она не пуста). Работа автома-
та заканчивается после прочтения символа sj , не принадлежащего входному
алфавиту Σ, а если слово w принадлежит W (Σ), то после прочтения всего
слова.
Входное слово w называется представимым автоматом M, если со-
стояние, в которое переходит M после прочтения слова w, принадлежит
множеству F .
Изображением автомата M называется изображение помеченного гра-
фа, состоящего из множества вершин Q c выделенными вершинами из мно-
жества F , а также из множества дуг {(qi , qk ) | ((qi , sj ), qk ) ∈ t}, где каждая
дуга (qi , qk ) помечается символом sj , который определяется из соотношения
qk = t(qi , sj ), а если p(qi , sj ) = sl 6= ∅, то соответствующим словом sj : sl .
При этом каждая дуга может иметь несколько таких меток, а вершина q0
дополнительно помечается входящей дугой.
Пример 4.10.1. Рассмотрим конечный автомат M, изображенный
на рис. 4.2. Автомат M имеет 4 вершины — q0 , q1 , q2 , q3 . При этом входящая
вершина q0 выделена и образует одноэлементное множество заключитель-
ных состояний F . Функция печати для всех дуг выдает пустые значения,
т. е. не дает никакой информации на выход.
4.10. КОНЕЧНЫЕ АВТОМАТЫ 191
q0 a q1
-•my z• @
º º @ q0 (1,1) : 0 q1
a ¿ R•m
@ z¿
y •m
K Á
(0,0) : 1
b b b b ÁÀ ÁÀ
(0,1) : 1 (0,1) : 0
a (1,0) : 1 (1,0) : 0
(0,0) : 0 (0,0) : 1
•²y z•²
q3 a q2
Рис. 4.2 Рис. 4.3
При чтении слова w abbaa автоматом M возникает последователь-
ность состояний q0 q1 q2 q1 q0 q1 . Поскольку состояние q1 не является заключи-
тельным, слово w не представимо автоматом M. Нетрудно заметить, что
произвольное непустое слово w ∈ W ({a, b}) представимо в автомате M то-
гда и только тогда, когда w содержит четное число символов a и четное
число символов b. ¤
Пример 4.10.2. Рассмотрим конечный автомат M, изображенный
на рис. 4.3.
Автомат M для любой пары чисел, записанных в двоичной системе счис-
ления (т. е. для двух последовательностей нулей и единиц), вычисляет и вы-
водит их сумму. При этом данные начинаются с битов, имеющих наимень-
шие разряды, и числа читаются справа налево. Недостатком автомата M
является то, что он не распознает условий переполнения и не работает с от-
рицательными числами. ¤
Пример 4.10.3. Конечный автомат M, изображенный на рис. 4.4, яв-
ляется модификацией автомата из примера 4.10.2 и позволяет на выходах q0
и q1 получать арифметически правильную сумму двоичных чисел. При этом
с помощью состояний q2 и q3 проверяется наличие ошибок, связанных с вне-
сением значений в знаковый бит и их вынесением из знакового бита. ¤
Отметим, что аналогично машинам Тьюринга любой конечный автомат
можно проинтерпретировать в виде конечного автомата с алфавитом
Σ = {0, 1}.
Конечная система M hQ, Σ, t, q0 , F, pi называется недетерминирован-
ным конечным автоматом, если Q, Σ, q0 , F и p — соответствующие элемен-
192 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
(0,1) : 1
¿
(1,0) : 1
(0,0) : 0 ²¯
(1,1) : 0
q3
-•)
ÁÀ -•
±° *
6q0
(1,1) : 0
(0,1) : 1 (0,1) : 0
(1,0) : 1 (1,0) : 0
(0,0) : 0 (0,0) : 1 (1,1) : 1
q1²¯
#Ã
•¼
¾ •?
±° (0,1) : 0
q2 (0,0) : 1 Á
(1,0) : 0
"!
(1,1) : 1
Рис. 4.4
ты детерминированного конечного автомата, а функция переходов t каждой
паре (q, s) ∈ Q × Σ ставит в соответствие некоторое, не обязательно одно-
элементное, подмножество множества Q (t: Q × Σ → P(Q)), т. е. позволяет
выдавать несколько значений из Q, в которые может переходить пара (q, s).
Таким образом, понятие недетерминированного конечного автомата обоб-
щает понятие детерминированного конечного автомата, а отличие состоит
в том, что функция переходов может быть многозначной.
Использование недетерминированных конечных автоматов упрощает
задачу построения сложных машин. Ниже будет установлено, что любой
недетерминированный конечный автомат может быть естественным образом
проинтерпретирован в виде детерминированного конечного автомата.
Определим множество A(M) слов алфавита Σ, представимых недетер-
минированным конечным автоматом M.
Пусть w s1 . . . sn — некоторое слово алфавита Σ. Определим
S по индук-
ции множество T (w), положив T (Λ) {q0 }, T (σsk ) t(q, sk ), где
q∈T (σ)
σ = s1 . . . sk−1 . Очевидно, T (w) — множество всех состояний автомата M,
которые могут быть достигнуты под действием входного слова w.
Будем говорить, что слово w представимо автоматом M, если
T (w) ∩ F 6= ∅. Таким образом, A(M) = {w | T (w) ∩ F 6= ∅}.
ЗАДАЧИ И УПРАЖНЕНИЯ 193
Теорема 4.10.1. Для любого недетерминированного конечного автома-
та M1 существует детерминированный конечный автомат M2 , для ко-
торого A(M1 ) = A(M2 ).
Доказательство. Рассмотрим недетерминированный конечный авто-
мат M1 = hQ1 , Σ1 , t1 , q0 , F1 , p1 i и построим детерминированный конечный
автомат M2 = hQ2 , Σ2 , t2 , q00 , F2 , p2 i с условием A(M1 ) = A(M2 ). Положим
Q2 P(Q1 ), Σ2 Σ1 , q00 {q0 }, F2 {T (w) | w ∈ W (Σ1 ) и T (w)∩F1 6= ∅}.
Функцию p2 зададим произвольно, а функцию t2 определим по шагам:
1) t2 (q00 , s1 ) t1 (q0 , s1 ); S
2) t2 (t2 (q00 , s1 ), s2 ) t1 (q, s2 );
q∈t2 (q00 ,s1 )
3) если на шаге k − 1S некоторое значение t2 (·, sk−1 ) уже определено,
то t2 (t2 (·, sk−1 ), sk ) t1 (q, sk );
q∈t2 (·,sk−1 )
4) на множествах X ∈ P(Q1 ), для которых значение t2 (X, s) не задает-
ся ни на каком шаге, описанном в пп. 1–3, положим для определенности
t2 (X, s) ∅.
Непосредственно проверяется, что построенный таким образом детерми-
нированный автомат M2 является искомым. ¤
Задачи и упражнения
1. Какую функцию f (x) вычисляет машина Тьюринга со следующей програм-
мой:
q1 0 → q2 R, q1 1 → q0 1,
q2 0 → q3 1, q2 1 → q2 R,
q3 0 → q0 0, q3 1 → q3 L?
2. Пусть машина Тьюринга T имеет следующую программу: q1 0 → q0 0. Какие
функции f1 (x1 ), f2 (x1 , x2 ), . . . , fn (x1 , . . . , xn ), . . . вычисляет эта машина?
3. Построить машину Тьюринга, которая правильно вычисляет функцию
o(x) = 0.
4. Построить машины Тьюринга A, Б− , В, К, Л, R.
5. Построить машины Тьюринга для правильного вычисления функций
а) x −̇ 1; б) sg(x); в) sg(x); г) x −̇ y; д) x − y; е) [x/2]; ж) x/2; з) x2 .
194 Глава 4. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
6. Доказать, что если f (x1 , . . . , xn ) — ПРФ, то следующие функции примитивно
рекурсивны:
а) f1 (x1 , x2 , x3 , . . . , xn ) f (x2 , x1 , x3 , . . . , xn ) (перестановка аргументов);
б) f2 (x1 , x2 , . . . , xn ) f (x2 , . . . , xn , x1 ) (циклическая перестановка аргумен-
тов);
в) f3 (x1 , . . . , xn , xn+1 ) f (x1 , . . . , xn ) (введение фиктивного аргумента);
г) f4 (x1 , . . . , xn−1 ) f (x1 , x1 , x2 , . . . , xn−1 ) (отождествление аргументов).
7. Доказать, что следующие функции примитивно рекурсивны:
а) f (x) = x + n;
б) f (x) = n;
в) f (x) = x!, где 0! 1;
г) f (x, y) = xy , где 00 1.
8. Записать аналитическое выражение для функции R(f, g), если
а) f (x) = x, g(x, y, z) = z x ;
б) f (x) = x, g(x, y, z) = xz ;
в) f (x) = 2x , g(x, y, z) = 2x · z;
г) f (x) = 3x , g(x, y, z) = 3y · z.
9. Доказать, что следующие функции примитивно рекурсивны:
a) sg(x); к) x ⊕ y (сложение по модулю 2);
б) sg(x); л) τ (x) (число делителей числа x, τ (0) = 0);
в) x −̇ 1; м) lh(x) (число простых делителей числа x, lh(0) = 0);
г) x −̇ y; н) π(x) (число простых чисел, не превосходящих x);
д) |x − y|; о) px (x-е простое число);
е) max(x, y); п) long(x);
ж) min(x, y); р) £ex(x,
√ ¤y);
з) [x/y]; с) x 2 ;
и) rest(x, y); т) [ex ].
10. Доказать, что:
а) множество всех частично рекурсивных функций счетно;
б) существует частичная числовая функция, не являющаяся частично ре-
курсивной;
в) существует всюду определенная числовая функция, не являющаяся обще-
рекурсивной.
ЗАДАЧИ И УПРАЖНЕНИЯ 195
11. Доказать, что частично рекурсивны следующие функции:
½
x − y, если x ≥ y,
а) f (x, y) =
не определена в противном случае;
½
x/y, если y делит x,
б) f (x, y) =
не определена в противном случае;
½
z, если x = z y ,
в) f (x, y) =
не определена в противном случае;
г) функция с конечной областью определения.
12. Доказать, что если f (n+1) и g (n+1) — ЧРФ, то частично рекурсивны следу-
ющие функции:
а) µy (f (x, y) = g(x, y));
б) µy (f (x, y) 6= g(x, y));
в) µy (f (x, y) < g(x, y));
г) µy (f (x, y) = 0 и g(x, y) = 0).
13. Доказать, что следующие предикаты примитивно рекурсивны:
а) x + y = z;
б) x · y = z;
в) x четно;
г) x и y взаимно просты.
14. Доказать, что любое конечное множество натуральных чисел примитивно
рекурсивно.
15. Доказать, что существует множество X ⊂ N, не являющееся рекурсивно
перечислимым.
16. Доказать, что следующие множества не рекурсивны:
а) {x | κ1 (x) — константа};
б) {c(x, y) | κ1 (x) = κ1 (y)}.
17. Построить алгоритм линейной сложности для отыскания а) центра, б) диа-
метра конечного дерева.
18. Построить алгоритм линейной сложности для раскраски вершин планарного
графа в шесть цветов.
19. Построить конечный автомат для вычисления произведения двоичных
чисел.
Глава 5
НЕКЛАССИЧЕСКИЕ ЛОГИКИ
В предыдущих разделах мы изучили основные формальные исчисле-
ния — исчисление высказываний и исчисление предикатов. Рассмотрение
этих исчислений не случайно. Практика математических исследований
позволяет сформулировать тезис о выразимости всех утверждений и доказа-
тельств классической математики с помощью исчисления предикатов. Таким
образом, эмпирически справедлив
Тезис Гильберта. Любое математическое утверждение может быть
записано на языке исчисления предикатов, а любое математическое дока-
зательство можно провести в рамках исчисления предикатов.
Вместе с тем формализация утверждений и доказательств вызывает из-
вестные неудобства, и на практике рассматриваются различные модифика-
ции логики высказываний и логики предикатов (неклассические логики),
приспособленные для решения соответствующих им задач.
Ниже мы рассмотрим основные неклассические логики, которые делятся
на пропозициональные (т. е. модифицирующие логику высказываний) и пре-
дикатные (т. е. видоизменяющие логику предикатов). Кроме того, мы изло-
жим некоторые элементы темпоральных и алгоритмических логик, которые
используются для создания и анализа программ.
§ 5.1. Пропозициональные логики
1. Интуиционистские логики
Интуиционистские логики — логики, с помощью которых описываются
способы вывода высказываний, истинных с точки зрения интуиционизма,
т. е. совокупности идей и методов, для которой основным критерием ис-
5.1. ПРОПОЗИЦИОНАЛЬНЫЕ ЛОГИКИ 197
тинности математического суждения является интуитивная убедительность
возможности мысленного эксперимента, связываемого с этим суждением.
Основное отличие интуиционистского исчисления высказываний ИИВ со-
стоит в замене в ИВ закона исключенного третьего (состоящего в дока-
зуемости всевозможных формул ϕ ∨ ¬ϕ) или эквивалентного ему закона
двойного отрицания (¬¬ϕ → ϕ) более слабым принципом противоречия:
ϕ → (¬ϕ → ψ). Таким образом, ИИВ получается из ИВ заменой десятой
схемы аксиом на принцип противоречия.
Всякая формула, выводимая в ИИВ, приемлема с интуиционистской точ-
ки зрения.
Аналогично ИИВ интуиционистские исчисления предикатов являются
ослаблениями исчислений ИПΣ . При этом становятся недоказуемыми фор-
мулы вида ∀x (ϕ(x) ∨ ¬ϕ(x)), а из ¬∃x ϕ(x) не выводится ∀x¬ϕ(x).
2. Многозначные логики
Рассмотренная в главе 6∗ двузначная логика допускает следующее обоб-
щение на k-значный случай.
Функцией k-значной логики от n переменных x1 , x2 , . . . , xn называется
любая функция
f : {0, 1, . . . , k − 1}n → {0, 1, . . . , k − 1}.
В качестве формул k-значной логики рассматриваются термы сигнатуры
Σk = {∧(2) , ∨(2) , ·δ }δ∈{0,1,...,k−1} , интерпретации которых определяются по ин-
дукции согласно следующим соотношениям для любых формул ϕ и ψ:
½
δ k − 1, если f (ϕ) = δ,
• f (ϕ ) =
0, если f (ϕ) 6= δ,
• f (ϕ ∧ ψ) = min{f (ϕ), f (ψ)},
• f (ϕ ∨ ψ) = max{f (ϕ), f (ψ)}.
Аналогично теореме о функциональной полноте для двузначной логики
доказывается следующая теорема.
Теорема 5.1.1. Всякая функция f k-значной логики представляется
в виде
_
f (x1 , . . . , xn ) = f (δ1 , . . . , δn ) ∧ xδ11 ∧ . . . ∧ xδnn . ¤
(δ1 ,...,δn )∈{0,...,k−1}n
198 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
Правая часть в последнем равенстве называется совершенной дизъюнк-
тивной нормальной формой (сокращенно СДНФ).
По аналогии с двузначной логикой в k-значной логике система функ-
ций {fi | i ∈ I} называется полной, если любая функция k-значной логики
представима в виде терма сигнатуры {fi | i ∈ I}.
Из представления произвольной функции k-значной логики в виде СДНФ
следует, что совокупность функций x ∧ y, x ∨ y, δ, xδ , где δ ∈ {0, 1, . . . , k − 1},
образует полную систему.
Обобщениями k-значной логики являются счетнозначная и континуум-
значная логики, в которых функции f имеют соответственно счетное или
континуальное число значений.
3. Нечеткие логики и нечеткие подмножества
Одним из важнейших классов, который можно рассматривать как моди-
фикацию класса многозначных логик, является класс вероятностных или
нечетких логик , составляющий основу теории вероятностей. Каждая нечет-
кая логика представляет исчисление высказываний, у которого всякая про-
позициональная переменная A интерпретируется некоторым значением
P (A) = c (где c — элемент числового интервала [0, 1]), называемым веро-
ятностью для переменной A. Число c задает степень определенности или
степень четкости для переменной A. При этом, если значение c равно или
близко к нулю, считается, что степень четкости, т. е. вероятность для пере-
менной A, мала, а если c равно или близко к единице, то степень четкости
или вероятность для переменной A велика.
В нечетких логиках формулы исчисления высказываний называются со-
бытиями, а их интерпретации P — вероятностями. Если P (ϕ) = 1 (соответ-
ственно P (ϕ) = 0), то событие ϕ называется достоверным (невозможным).
При этом вероятности событий определяются в соответствии со следую-
щими соотношениями для любых событий ϕ и ψ:
1) P (ϕ ∨ ¬ϕ) = 1 (ϕ ∨ ¬ϕ — достоверное событие);
2) P (ϕ ∧ ¬ϕ) = 0 (ϕ ∧ ¬ϕ — невозможное событие);
3) если P (ϕ ∧ ψ) = 0 (т. е. события ϕ и ψ несовместны), то
P (ϕ ∨ ψ) = P (ϕ) + P (ψ);
4) если секвенция ϕ ` ψ доказуема (т. е. событие ϕ влечет событие ψ),
то P (ϕ) ≤ P (ψ).
Из соотношений 1–4 выводится следующее предложение.
5.1. ПРОПОЗИЦИОНАЛЬНЫЕ ЛОГИКИ 199
Предложение 5.1.2. Для любых событий ϕ и ψ справедливы следую-
щие соотношения:
а) P (¬ϕ) = 1 − P (ϕ) (вероятность события ϕ и вероятность дополни-
тельного события ¬ϕ в сумме равна единице);
б) если секвенция ` ϕ доказуема, то P (ϕ) = 1 (доказуемое событие
является достоверным);
в) если секвенция ϕ ` доказуема, то P (ϕ) = 0 (противоречивое событие
является невозможным);
г) P (ϕ ∨ ψ) ≤ P (ϕ) + P (ψ);
д) P (ϕ ∨ ψ) = P (ϕ) + P (ψ) − P (ϕ ∧ ψ).
Доказательство. Для доказательства пункта а) рассмотрим соотно-
шение 3 при ψ = ¬ϕ, посылка которого выполняется по соотношению 2.
Тогда на основании соотношения 1 получаем P (ϕ) + P (¬ϕ) = P (ϕ ∨ ¬ϕ) = 1.
Пункт б) вытекает из соотношений 1 и 4 и эквивалентности ϕ ≡ ϕ ∨ ¬ϕ
для любой доказуемой формулы ϕ.
Если секвенция ϕ ` доказуема, то доказуема секвенция ` ¬ϕ. Тогда
P (¬ϕ) = 1 и на основании пункта а) получаем P (ϕ) = 0. Тем самым уста-
новлен пункт в).
Для доказательства пункта г) рассмотрим несовместные события ϕ
и ¬ϕ ∧ ψ. Тогда в силу эквивалентности ϕ ∨ ψ ≡ ϕ ∨ (¬ϕ ∧ ψ) и соотношения 3
имеем P (ϕ ∨ ψ) = P (ϕ) + P (¬ϕ ∧ ψ). С другой стороны, из доказуемости
секвенции ¬ϕ ∧ ψ ` ψ на основании соотношения 4 получаем P (¬ϕ ∧ ψ) ≤
≤ P (ψ). Следовательно, P (ϕ ∨ ψ) ≤ P (ϕ) + P (ψ).
Из соотношения (¬ϕ ∧ ψ) ∨ (ϕ ∧ ψ) ≡ ψ и несовместности событий ¬ϕ ∧ ψ
и ϕ ∧ ψ в силу соотношения 3 справедливо равенство
P (¬ϕ ∧ ψ) + P (ϕ ∧ ψ) = P (ψ),
откуда получаем P (¬ϕ ∧ ψ) = P (ψ) − P (ϕ ∧ ψ) и, значит,
P (ϕ ∨ ψ) = P (ϕ) + P (¬ϕ ∧ ψ) = P (ϕ) + P (ψ) − P (ϕ ∧ ψ).
Таким образом, справедлив пункт д). ¤
С нечеткими логиками тесно связаны нечеткие подмножества данного
множества. Пусть M — некоторое множество, A ⊆ M . Принадлежность
элементов из M подмножеству A полностью определяется характеристиче-
ской функцией ½
1, если x ∈ A,
µA (x) =
0, если x ∈ M \ A.
200 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
Теперь допустим, что функция µA может принимать любое значение в ин-
тервале [0, 1]. В соответствии с этим элемент x ∈ M может не принадле-
жать множеству A (µA (x) = 0), может быть элементом A (µA (x) = 1),
а может принадлежать множеству A в некоторой небольшой (когда µA (x)
близко к 0) или большой (когда µA (x) близко к 1) степени. Теперь, как и
функции µA c условием ρµA ⊆ {0, 1}, функции µA с условием ρµA ⊆ [0, 1]
дают полную информацию о степени вхождения каждого элемента множе-
ства M в множество A. На основании последнего замечания любая функция
µ: M → [0, 1] называется нечетким подмножеством множества M . Таким
образом, нечеткое множество A — это множество пар {(x, µ(x)) | x ∈ M }.
Пример 5.1.1. 1. В нечетком множестве
A = {(x1 , 0.9), (x2 , 0), (x3 , 0.2), (x4 , 1), (x5 , 0.3)}
элемент x1 содержится в значительной степени, x2 не содержится, x3 со-
держится в небольшой степени, x4 содержится полностью, а x5 содержится
в немного большей степени, чем x3 .
2. В качестве нечетких можно рассматривать подмножества множества
вещественных чисел, состоящих из чисел, приблизительно равных данному
вещественному числу a. ¤
Определим основные теоретико-множественные отношения и операции
на нечетких подмножествах. Пусть A1 µ1 и A2 µ2 — нечеткие под-
множества множества M . Говорят, что A1 содержится в A2 или имеется
включение A1 в A2 , если µ1 (x) ≤ µ2 (x) для любого x ∈ M . Нечеткие подмно-
жества A1 и A2 называются равными или совпадающими, если µ1 = µ2 .
Нечеткое подмножество A1 называется дополнением нечеткого подмно-
жества A2 , если µ1 (x) = 1 − µ2 (x) для любого x ∈ M .
Нечеткое подмножество B µ называется пересечением (объединением)
нечетких подмножеств A1 и A2 и обозначается через A1 ∧ A2 (соответственно
через A1 ∨ A2 ), если
µ(x) = min{µ1 (x), µ2 (x)} (µ(x) = max{µ1 (x), µ2 (x)})
для любого x ∈ M .
Непосредственно проверяется, что система
F = h{µ | µ: M → [0, 1]}; ∧, ∨, ·, 0, 1i,
5.1. ПРОПОЗИЦИОНАЛЬНЫЕ ЛОГИКИ 201
состоящая из всех нечетких подмножеств данного множества M с опера-
циями пересечения, объединения, дополнения, константами 0: M → {0}
и 1: M → {1}, удовлетворяет следующим теоретико-множественным зако-
нам: ассоциативности, коммутативности, идемпотентности, дистрибутив-
ности, поглощения, де Моргана, двойного отрицания. Кроме того, выпол-
няются действия с константами: A ∨ 0 = A, A ∧ 0 = 0, A ∨ 1 = 1, A ∧ 1 = A.
Таким образом, любая система F является дистрибутивной решеткой. Од-
нако в отличие от булевых алгебр в этой решетке не выполняются законы
дополнения: соотношения A ∧ A = 0 и A ∨ A = 1 верны лишь для кон-
стант 0 и 1.
В § 6.11∗ мы определили понятия контактной схемы и функции проводи-
мости между полюсами, соответствующей формуле логики высказываний.
Заменяя в этих определениях пропозициональные переменные логики вы-
сказываний на пропозициональные переменные (т. е. элементарные события)
нечеткой логики, получаем понятие нечеткой контактной схемы и нечет-
кой функции проводимости. При этом каждому контакту x ставится в соот-
ветствие значение µ(x) ∈ [0, 1], называемое током контакта. Затем по ин-
дукции определяется ток µ нечеткой функции проводимости, исходя из
соотношений µ(x ∧ y) = min(µ(x), µ(y)) (для последовательного соединения
x∧y) и µ(x∨y) = max(µ(x), µ(y)) (для параллельного соединения x∨y). Тока-
ми нечеткой контактной схемы называется совокупность токов нечетких
функций проводимости.
Пример 5.1.2. Если ток контакта x равен 0,3, ток контакта y — 0,6,
то ток последовательного соединения
à (∅−c b−c b−∅) равен 0,3, а ток па-
x∧y!
раллельного соединения x ∨ y −cb
−
a−c −
b `
— 0,6. ¤
При рассмотрении предикатных нечетких логик определяется понятие
нечеткого n-местного отношения P (n) на множествах A1 , A2 , . . . , An в виде
функции µP : A1 × A2 × . . . × An → [0, 1].
Способы задания нечетких отношений соответствуют общим способам за-
дания функций. Это, например, перечисление всех элементов множества µP ,
если множества A1 , A2 , . . . , An конечны, или аналитическое задание в виде
арифметического терма. Бинарные нечеткие отношения P (2) могут задавать-
ся в виде поверхности {(x, y, z) ∈ R3 | z = µP (x, y)}, в виде матрицы весов
W = (wij ), где wij = µP (ai1 , aj2 ), ai1 ∈ A1 , aj2 ∈ A2 , или в виде взвешенного
графа с матрицей весов W .
202 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
Пример 5.1.3. Предположим, необходимо построить нечеткое отноше-
ние µ: A × B → [0, 1], которое описывает упрощенную схему поиска неис-
правности в автомобиле. С этой целью в качестве множества A рассмотрим
множество предпосылок или причин неисправности {a1 , a2 , a3 , a4 }, в кото-
ром a1 — “неисправность аккумулятора”, a2 — “неисправность инжектора”,
a3 — “низкое качество бензина”, a4 — “неисправность системы зажигания”.
В качестве множества B определим множество заключений или проявлений
неисправности {b1 , b2 , b3 }, где b1 — “двигатель не запускается”, b2 — “двига-
тель работает неустойчиво”, b3 — “двигатель не развивает полной мощности”.
При этом между каждым элементом множества предпосылок и каждым эле-
ментом множества следствий существует некоторая, вообще говоря, неодно-
значная, причинно-следственная связь.
Функция µ, описывающая степень уверенности в том, что та или иная
причина неисправности может привести к тому или иному следствию, опре-
деляется исходя из субъективного опыта механика, марки автомобиля, усло-
вий его эксплуатации и учета других факторов.
Нечеткое отношение µ может быть записано, например, в виде следу-
ющего множества: {((a1 , b1 ), 1), ((a1 , b2 ), 0.1), ((a1 , b3 ), 0.2), ((a2 , b1 ), 0.8),
((a2 , b2 ), 0.9), ((a2 , b3 ), 1), ((a3 , b1 ), 0.7), ((a3 , b2 ), 0.8), ((a3 , b3 ), 0.5), ((a4 , b1 ), 1),
((a4 , b2 ), 0.5), ((a4 , b3 ), 0.2)}. Матрица весов для нечеткого отношения µ имеет
следующий вид:
1 0.1 0.2
0.8 0.9 1
0.7 0.8 0.5 . ¤
1 0.5 0.2
Вышеизложенные определения позволяют естественным образом проин-
терпретировать классические логики (исчисления высказываний и предика-
тов) в виде нечетких логик. Более того, нечеткие логики являются обобщени-
ями классических логик, придающими каждому высказыванию некоторую
степень уверенности.
За последние годы теория и практика, связанная с нечеткими логика-
ми, получили весьма заметное развитие. Системы нечеткого вывода позво-
ляют решать задачи автоматического управления, классификации данных,
распознавания образов, принятия решений, машинного обучения и многие
другие. Эта проблематика исследований тесно связана с целым рядом дру-
гих научно-прикладных направлений, таких как нечеткое моделирование,
5.1. ПРОПОЗИЦИОНАЛЬНЫЕ ЛОГИКИ 203
нечеткие экспертные системы, нечеткая ассоциативная память, нечеткие ло-
гические контроллеры, нечеткие регуляторы и нечеткие системы. Подробное
изложение основ нечетких логик, а также моделирования на базе нечетких
логик можно найти в книге [23].
4. Модальные логики
Модальная логика — область логики, в которой наряду с обычными вы-
сказываниями рассматриваются модальные высказывания, т. е. высказыва-
ния, характеризующие степень достоверности суждений.
Различают три типа модальностей, каждый из которых подразделяется
на виды:
• модальности общего вида: “необходимо”, “возможно”, “невозможно”,
“случайно”;
• модальности, связанные с характеристиками действий и поступками
людей в обществе: “обязательно”, “разрешено”, “запрещено”, “безразлично”
и др.;
• модальности, являющиеся характеристиками знаний: “доказано”, “не до-
казано”, “опровергнуто”, “не опровергнуто”, “знает”, “верит”, “убежден”, “со-
мневается”.
Язык основных пропозициональных модальных логик получается добав-
лением к алфавиту исчисления высказываний новых одноместных связок
(модальных операторов) ¤ (необходимо) и ♦ (возможно). В силу эквива-
лентности формул ♦ϕ и ¬¤¬ϕ в качестве исходного берется один модальный
оператор, например ¤, а другой выводится из аксиом ` ♦ ϕ ↔ ¬¤ ¬ϕ.
Определим модальные исчисления I0 и T , называемые исчислениями
Фейса — фон Вригта. Исчисление I0 получается из исчисления высказы-
ваний следующими операциями:
• введением символа ¤;
• добавлением в определение формул фразы “если ϕ — формула, то ¤ ϕ —
формула” (при этом формулы, содержащие модальный символ ¤, называ-
ются модальностями);
• введением дополнительной схемы аксиомы ¤ (ϕ → ψ) ` (¤ ϕ → ¤ ψ);
Γ`ϕ
• введением дополнительного правила вывода , называемого пра-
Γ ` ¤ϕ
вилом Гёделя.
Исчисление T получается из исчисления I0 добавлением схемы аксиом
¤ ϕ ` ϕ.
204 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
Следующее исчисление S4 образуется за счет добавления к исчислению T
аксиомы ¤ ϕ ` ¤ ¤ ϕ. Если же к исчислению T добавить аксиому ¬¤ ϕ `
` ¤ ¬¤ ϕ, то получают исчисление S5. Наконец, исчисление Брауэра получа-
ется добавлением к исчислению T следующей аксиомы Брауэра: ϕ ` ¤ ♦ ϕ.
Можно показать, что все вышеприведенные модальные исчисления не-
противоречивы.
При рассмотрении предикатной модальной логики к модальным аксио-
мам добавляются аксиомы, описывающие действие модальных операторов
на кванторы, например, так называемая аксиома Баркан: ∀x ¤ ϕ ` ¤ ∀x ϕ.
Специфика понятия истинности в модальных логиках позволяет вводить
дополнительные аксиомы и правила вывода и изучать их выразительные
возможности.
Система модальной логики может быть проинтерпретирована в терми-
нах многозначной логики (простейшая система — как трехзначная: “истина”,
“ложь”, “возможно”). Это обстоятельство, а также возможность применения
модальной логики к построению теории “правдоподобных” выводов указы-
вают на ее глубокое родство с вероятностной логикой.
Приведем некоторые семантические интерпретации пропозициональных
модальных логик.
Пусть дана формула ϕ(A1 , . . . , An ). m-означиванием формулы ϕ (где m >
0) называется любая функция
vm (ϕ): {0, 1, . . . , m}n → {0, 1, . . . , m},
которая по любым значениям переменных Ai из множества {0, 1, . . . , m}
выдает значения для формулы ϕ снова из множества {0, 1, . . . , m}. При этом
значению 0 соответствует истина.
Функция vm (·), которая ставит в соответствие каждой формуле ϕ ис-
числения I ее m-означивание vm (ϕ), называется m-означиванием исчис-
ления I.
Формула ϕ называется vm -общезначимой (обозначается |=vm ϕ), если
vm (ϕ) ≡ 0.
Означивание vm называется характеристическим, если выполняются
следующие условия:
а) для любой формулы ϕ(A1 , . . . , An ) исчисления высказываний функция
vm (ϕ) ¹ {0, 1}n совпадает с истинностной функцией f¬ϕ ;
б) класс теорем исчисления I совпадает с классом vm -общезначимых
формул.
5.1. ПРОПОЗИЦИОНАЛЬНЫЕ ЛОГИКИ 205
∗
Очевидно, что m-означивание vm , задаваемое следующими соотношени-
ями, удовлетворяет условию а) определения характеристического означива-
ния: ½ ∗
∗ 0, если vm (ϕ) = m,
vm (¬ϕ) = ∗
m, если vm (ϕ) 6= m;
∗ ∗ ∗
vm (ϕ ∧ ψ) = max(vm (ϕ), vm (ψ));
∗ ∗ ∗
vm (ϕ ∨ ψ) = min(vm (ϕ), vm (ψ));
½ ∗ ∗
∗ 0, если vm (ϕ) ≥ vm (ψ),
vm (ϕ → ψ) = ∗ ∗ ∗
vm (ψ), если vm (ϕ) < vm (ψ);
½ ∗
∗ 0, если vm (ϕ) = 0,
vm (¤ ϕ) = ∗
m, если vm (ϕ) 6= 0;
½ ∗
∗ 0, если vm (ϕ) 6= m,
vm (♦ ϕ) = ∗
m, если vm (ϕ) = m.
Теорема 5.1.3. 1. В модальных исчислениях T , S4 и S5 любая доказуе-
∗
мая формула vm -общезначима.
2. В исчислениях T , S4 и S5 нет характеристического означивания. ¤
Из приведенной теоремы вытекает, что исчисления T , S4 и S5 весьма
существенно отличаются от классической логики и близки к логике интуи-
ционистской.
Среди различных семантических интерпретаций модальных логик важ-
ное место занимает семантика Крипке.
Моделью Крипке называется система hW, R, G, vi, где:
• W — фиксированное непустое множество, называемое множеством воз-
можных миров;
• R — рефлексивное бинарное отношение на множестве W , для которого
условие (w, w0 ) ∈ R означает, что мир w0 достижим из мира w;
• G ∈ W — фиксированный элемент, называемый действительным ми-
ром;
• v — отображение T -означивания или T -оценивания, которое любой
формуле ϕ(A1 , . . . , An ) и любому миру w ставит в соответствие функцию
v(ϕ, w): {0, 1}n → {0, 1}, удовлетворяющую следующим условиям:
v(¬ϕ, w) = 1 ⇔ v(ϕ, w) = 0;
v(ϕ ∧ ψ, w) = 1 ⇔ v(ϕ, w) = v(ψ, w) = 1;
v(ϕ ∨ ψ, w) = 1 ⇔ v(ϕ, w) = 1 или v(ψ, w) = 1;
206 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
v(ϕ → ψ, w) = 1 ⇔ v(ϕ, w) = 0 или v(ψ, w) = 1;
v(¤ ϕ, w) = 1 ⇔ v(ϕ, w0 ) = 1 для любого w0 ∈ R({w});
v(♦ ϕ, w) = 1 ⇔ v(ϕ, w0 ) = 1 для некоторого w0 ∈ R({w}).
По определению необходимость в модели Крипке означает истинность
во всех возможных достижимых мирах, а возможность — истинность хотя
бы в одном из достижимых миров. Таким образом, в моделях Крипке необ-
ходимость ведет себя как всеобщность, а возможность — как существование.
T -означивание v называется B-означиванием (соответственно S4-озна-
чиванием, S5-означиванием), если отношение R является симметричным
(предпорядком, отношением эквивалентности).
Множество формул X называется I-выполнимым, где I ∈ {T, B, S4, S5},
если существует такое I-означивание v, что v(ϕ, G) = 1 для любой форму-
лы ϕ ∈ X. Множество формул, не являющееся I-выполнимым, называется
I-невыполнимым. Формула ϕ называется I-опровержимой (соответственно
I-общезначимой), если множество {¬ϕ} I-выполнимо (I-невыполнимо).
Теорема 5.1.4 (теорема о непротиворечивости модальных исчислений).
В модальных исчислениях T , S4 и S5 любая доказуемая формула cоответ-
ственно T -, S4- и S5-общезначима. ¤
Исчисление I называется полным по Крипке, если всякая не выводимая
в I формула исчисления I является I-опровержимой.
Теорема 5.1.5 (теорема о полноте модальных исчислений). Исчисления
T и S4 полны по Крипке. ¤
Для предикатных модальных исчислений модели Крипке имеют вид
hW, R, G, D, µ, vi, где D = {Dw | w ∈ W }, Dw — носитель мира w, µ — ин-
терпретация предикатных символов в D, S v — означивание, определяющее
истинность формул на элементах Dw . При этом для исчисле-
w∈W
ний, содержащих аксиому Баркан, требуется выполнение импликации
(w, w0 ) ∈ R ⇒ Dw0 ⊆ Dw .
Символы ¤ и ♦ могут пониматься иначе, чем “необходимость” и “возмож-
ность”. Например, допускаются следующие интерпретации:
• ¤ — “обязательность”, а ♦ — “позволение”;
• ¤ — “доказуемость”, а ♦ — “непротиворечивость”;
• ¤ — “везде” или “всегда”, а ♦ — “кое-где” или “иногда”.
Последние модальности называются пространственно-временны́ми
и рассматриваются в следующем пункте.
5.1. ПРОПОЗИЦИОНАЛЬНЫЕ ЛОГИКИ 207
5. Временны́е (темпоральные) логики
Временны́е или темпоральные логики — это модальные логики, которые
получаются добавлением к логике высказываний новых символов, отража-
ющих свойства времени.
Рассмотрение реального процесса во времени заставляет отступиться от
двузначной логики. Например, между периодом, когда идет дождь, и пери-
одом, когда дождь прекратился, имеется промежуточное состояние, когда
количество капель слишком мало для того, чтобы сказать, что идет дождь,
но слишком велико, чтобы утверждать, что дождь уже закончился. Таким
образом, появляется третье значение высказывания: “ни истинно, ни ложно”.
Временна́я логика Прайора — это логика будущего. Она содержит новый
символ F , который называется символом будущего, и новый символ G. При
этом для любой формулы ϕ формула F ϕ интерпретируется как “будет ϕ”,
а формула G ϕ читается “всегда будет ϕ” и связана с формулой F ϕ следую-
щей аксиомой:
` G ϕ ↔ ¬F ¬ϕ.
Кроме того, к исчислению высказываний добавляются схемы аксиом
F (ϕ ∨ ψ) ≡ F ϕ ∨ F ψ, F F ϕ ` F ϕ и правила вывода
Γ`ϕ ϕ`ψ
, .
Γ`Fϕ Fϕ`Fψ
Возможность и необходимость определяются через символы F и G сле-
дующими соотношениями:
♦ ϕ = ϕ ∨ F ϕ, ¤ ϕ = ϕ ∧ G ϕ.
А. Прайор показал, что полученное модальное исчисление, содержащееся
во временно́й логике, сильнее исчисления S4, но слабее S5.
Дж. Леммон предложил минимальную временну́ю логику, основанную
на модальностях P — “было” и “F” — будет. Предложенное им исчисление
добавляет к исчислению высказываний аксиомы
¬F ¬(ϕ → ψ) ` (F ϕ → F ψ), F ¬P ¬ϕ ` ϕ,
¬P ¬(ϕ → ψ) ` (P ϕ → P ψ), P ¬F ¬ϕ ` ϕ
и правила вывода
Γ`ϕ Γ`ϕ
, .
Γ ` ¬F ¬ϕ Γ ` ¬P ¬ϕ
208 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
Данная логика не делает никаких предположений о природе времени: его
бесконечности в прошлом или будущем, непрерывности или неразветвлен-
ности.
Во временно́й логике фон Вригта к исчислению высказываний добавля-
ется бинарная связка T , позволяющая по формулам ϕ и ψ строить формулу
(ϕT ψ), которая читается как “сейчас происходит событие ϕ, а затем, т. е.
в следующий момент времени, происходит событие ψ”.
С помощью формул (ϕ1 T (ϕ2 T (ϕ3 T . . . ϕn . . .))), в которых формулы
ϕ1 , . . . , ϕn являются описаниями состояний, описывается история мира. При
этом любая такая формула называется фрагментом истории. Термин
“история” имеет двойственное значение: он может означать последователь-
ность как самих полных состояний мира, так и их описаний.
К исчислению высказываний добавляются аксиомы
((ϕ1 ∨ ϕ2 )T (ψ1 ∨ ψ2 )) ≡ (ϕ1 T ψ1 ) ∨ (ϕ1 T ψ2 ) ∨ (ϕ2 T ψ1 ) ∨ (ϕ2 T ψ2 ),
(ϕT ψ) ∧ (ϕT χ) ` (ϕT (ψ ∧ χ)),
ϕ ≡ (ϕT (ψ ∨ ¬ψ)),
` ¬(ϕT (ψ ∧ ¬ψ))
и правило вывода
Γ, ϕ1 ` ϕ2 ; Γ, ψ1 ` ψ2
.
Γ, (ϕ1 T ψ1 ) ` (ϕ2 T ψ2 )
Время в этой темпоральной логике дискретно и линейно упорядочено.
Если число полных состояний мира равно 2n , то число возможных историй
в m последующих моментах равно 2mn .
§ 5.2. Предикатные логики
1. Многосортные логики первого порядка
Двусортная логика первого порядка очень похожа на обычную логику
первого порядка (логику предикатов), за исключением того, что имеется
два сорта переменных.
Пример 5.2.1. 1. Аксиомы линейного пространства можно естествен-
ным образом записать, имея один сорт переменных u, v, w, . . . для векторов,
а другой сорт α, β, γ, . . . — для скаляров (элементов поля). Таким образом,
линейное пространство состоит из тройки hV, F, ·i, где F = hF ; +F , ·F , 0, 1i —
поле, а V = hV ; +, 0i — векторная система с операцией сложения векторов
и выделенным нулевым вектором, · — умножение на скаляр.
5.2. ПРЕДИКАТНЫЕ ЛОГИКИ 209
2. При изучении групп нередко рассматривается класс групп A = hA; ·, ei,
в которых все элементы a имеют конечный порядок , т. е. такое наименьшее
натуральное число n > 0, что an = e. Условие конечности порядков всех
элементов выражается формулой ∀x ∃n ≥ 1 (xn ≈ e), которая не являет-
ся формулой исчисления предикатов. Более того, в силу неограниченности
конечных порядков по теореме компактности формулы ИП, описывающей
класс групп, у которых все элементы имеют конечные порядки, не суще-
ствует вовсе. С другой стороны, введение двусортных систем hA, N, (·)· i (где
N = hN; ≤i, (·)· — операция возведения элементов группы A в натураль-
ные степени), а также квантора ∀1 для элементов системы A и квантора ∃2
для элементов системы N позволяют записать искомую формулу в виде
∀1 x∃2 n ((n ≥ 1) ∧ (xn ≈ e)). ¤
В общем случае двусортная или двуосновная алгебраическая система
hA, B, Σi состоит из двух обычных алгебраических систем A и B, а так-
же некоторых операций и отношений на их объединении, соответствующих
символам сигнатуры Σ.
Двусортная (или многосортная) логика только внешне сильнее (хотя ча-
сто более естественна, чем обычная логика), поскольку любую двусортную
систему hA, B, Σi можно превратить в обычную систему hA ∪ B; A, B, . . .i
c одноместными предикатами A и B для выделения различных сортов эле-
ментов. Это сведение позволяет перенести многие результаты логики перво-
го порядка на многосортную логику, предоставляющую известное удобство
для работы.
При рассмотрении двусортных систем hA, B, Σi с фиксированной систе-
мой B получается так называемая B-логика. Например, R-логика удобна
при изучении евклидовых пространств, поскольку поле скаляров R фикси-
ровано. Если система B бесконечна, то B-логика сильнее логики первого
порядка. В частности, для B-логики неверна теорема компактности.
2. Слабая логика второго порядка
Слабая логика второго порядка — это логика, в которой некоторым есте-
ственным образом строится понятие конечного. Пусть дана некоторая сиг-
натура Σ, x, y, z, . . . — переменные, из которых строятся формулы сигна-
туры Σ. Расширим сигнатуру Σ до сигнатуры Σ∗ введением нового пре-
дикатного символа принадлежности ∈ и добавим к старому списку новые
переменные a, b, c, . . .. Таким образом получается двусортный алфа-
210 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
вит hΣ ∪ {x, y, z, . . .}, {∈} ∪ {a, b, c, . . .}i. Данную алгебраическую систему
A = hA; Σi расширим до системы наследственно конечных множеств
HF(A) hA, HF(A); ∈¹ (A ∪ HF(A))i
над A в соответствии со следующей схемой:
HF0 (A) = ∅,
HFn+1 (A) = {X | X — конечное подмножество A ∪ HFn (A)},
[
HF(A) = HFn (A).
n∈ω
Элементы множества HF(A) называются допустимыми множествами
над A. Очевидно, что любое натуральное число, а также любая конечная
последовательность натуральных чисел являются допустимым множеством
над любым множеством A.
В слабой логике второго порядка разрешается использовать формулы
сигнатуры Σ∗ , в которых переменные a, b, c, . . . интерпретируются множе-
ствами из HF(A).
Слабая логика второго порядка имеет ту же силу, что и hω; ≤i-логика,
но значительно более естественна в алгебраическом контексте, поскольку
позволяет непосредственно работать с целыми числами, конечными множе-
ствами, конечными последовательностями и т.д.
3. Бесконечные логики
Слабая логика второго порядка позволяет определить понятие конечно-
го в семантике логики. Бесконечные логики, напротив, вводят в синтаксис
бесконечные конструкции, подобные бесконечной формуле
∀x ((x ≈ 0) ∨ (2x ≈ 0) ∨ . . .).
Логика Lω1 ω допускает дополнительно следующее правило
V образования:
V если
Φ {ϕn | n ∈ ω} — счетное множество формул, то Φ ϕn (конъюнк-
W W n∈ω
ция Φ) и Φ ϕn (дизъюнкция Φ) являются формулами. Обозначение
n∈ω
логики Lω1 ω объясняется тем, что в ней допустимы счетные (< ω1 ) конъ-
юнкции и дизъюнкции и только конечное число (< ω) кванторов. Логика
Lω1 ω позволяет выражать те понятия, которые выразимы в логике первого
порядка по модулю счетного количества информации.
5.2. ПРЕДИКАТНЫЕ ЛОГИКИ 211
Пример 5.2.2. Рассмотрим некоторый тип p(x) ∈ D(T ), состоящий из
формул счетной сигнатуры Σ. Если p(x) — главный тип, то он изолируется
некоторой главной формулой ϕ(x). Если же тип p(x) не является главным, то
он изолируется лишь счетным множеством формул Φ(x) = {ϕn (x) | n ∈ ω}.
Переходя к логике Lω1 ω , получаем, что тип p(x) определяется уже формулой
V
Φ(x). ¤
Для Lω1 ω верна теорема Лёвенгейма — Скулема, а теорема компактно-
сти неверна. Для справедливости теоремы о полноте для счетных теорий T
нужно добавить бесконечное правило вывода.
4. Логика с новыми кванторами
Рассмотрим исчисление предикатов некоторой сигнатуры Σ. Пусть Q —
новый символ. Добавим к правилам образования формул следующее: если
ϕ — формула, то Qx ϕ также является формулой. Существует много различ-
ных интерпретаций для Q. Например, можно определить, что A |= Qx ϕ(x)
тогда и только тогда, когда существует бесконечно много элементов a, для
которых A |= ϕ(a). Эта логика, обозначаемая через L(Q0 ), эквивалентна
слабой логике второго порядка.
Если определить, что A |= Qx ϕ(x) тогда и только тогда, когда суще-
ствует несчетно много элементов a, для которых A |= ϕ(a), то получается
логика с квантором “существует несчетно много”. В этой логике, обозначае-
мой через L(Q), справедлива и теорема компактности, и теорема о полноте,
но неверна теорема Лёвенгейма — Скулема. При этом понятие “существу-
ет несчетно много” обеспечивает математически точную модель для нефор-
мального понятия “много”. Используя терминологию “много” и “мало” для
“несчетности” и “ненесчетности” соответственно, при формализации можно
ввести следующие аксиомы Кейслера:
1) ` ∀y ¬Qx (x ≈ y) (для любого y существует мало x, для которых x = y);
2) ∀x(ϕ → ψ), Qx ϕ ` Qx ψ (если ϕ → ψ для всех x и имеется много x,
удовлетворяющих ϕ, то много x удовлетворяют ψ);
3) Qx (ϕ ∨ ψ) ` Qx ϕ ∨ Qx ψ (если много x удовлетворяют ϕ ∨ ψ, то много
x удовлетворяют ϕ или много x удовлетворяют ψ);
4) ¬Qx ∃y ϕ, ∀x ¬Qy ϕ ` ¬Qy ∃x ϕ (если существует мало x, для которых
∃y ϕ(x, y), и если для каждого x существует мало y, для которых ϕ(x, y),
то существует мало y, для которых ∃x ϕ(x, y)).
212 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
Особая роль логики первого порядка среди всех логик объясняется сле-
дующей теоремой.
Теорема 5.2.1 (теорема Линдстрёма). Логика первого порядка являет-
ся единственной логикой, замкнутой относительно ∧, ¬, ∃ и удовлетво-
ряющей теоремам компактности и Лёвенгейма — Скулема. ¤
§ 5.3. Предикатные временны́е логики
и их приложение к программированию
Временны́е логики используются в программировании для описания и ве-
рификации программ. При этом описание программы состоит в выражении
с помощью языка временно́й логики свойств программы, характеризующих
ее правильное вычислительное поведение, а ее верификация — в использова-
нии аппарата временно́го исчисления для доказательства того, что данная
программа обладает интересующим свойством.
Программы рассматриваются как объекты, выраженные на формальном
языке, обладающие определенной информационной и логической структу-
рой и подлежащие исполнению на автоматических устройствах. Исследова-
ние программ проводится преимущественно на основе двух моделей вычис-
лений: последовательных программ с памятью, или операторных программ,
и рекурсивных программ. При этом обе модели строятся над некоторой ал-
гебраической системой A конечной сигнатуры Σ.
Определение класса программ слагается из трех частей: схемы програм-
мы (синтаксиса), интерпретации и семантики. Схема программы — это кон-
структивный объект, показывающий, как строится программа с использо-
ванием сигнатурных символов. Интерпретация — это задание конкретного
носителя и сопоставление символам сигнатуры конкретных операций и от-
ношений на носителе. Семантика — это способ сопоставления каждой про-
грамме результата ее выполнения. Как правило, с программами связывают
вычисляемые ими функции. Интерпретация обычно входит в семантику как
параметр, поэтому схема программы задает множество программ и вычис-
ляемых ими функций, которое получается при варьировании интерпретаций
над некоторым запасом базовых операций.
5.3. ПРЕДИКАТНЫЕ ВРЕМЕННЫ́Е ЛОГИКИ 213
Схема программы с памятью, или операторная схема, задается в ви-
де конечного ориентированного графа переходов, имеющего обычно одну
входную и одну выходную вершины, вершины с одной (преобразователи)
и двумя (распознаватели) исходящими дугами. С помощью символов сигна-
туры Σ, включающего константные символы, и счетного множества симво-
лов переменных обычным образом строятся множество T (Σ) функциональ-
ных термов и множество PT(Σ) предикатных термов, состоящее из термов
χP (t1 , . . . , tn ) (где t1 , . . . , tn ∈ T (Σ)) от характеристических функций
½
1, если x ∈ P,
χP (x) =
0, если x 6∈ P.
Каждому распознавателю сопоставляется некоторый предикатный терм,
а преобразователю — оператор присваивания, имеющий вид x := t, где x —
символ переменной, а t — функциональный терм. Конечная совокупность
(x1 , . . . , xk ) всех переменных в схеме образует ее память. Интерпретация
в дополнение к конкретизации базовых операций предписывает каждой пе-
ременной область ее изменения. Для программ с памятью наиболее обычна
так называемая операционная семантика, состоящая из алгоритма выпол-
нения программы на заданном состоянии памяти. Программа выполняется
при движении по графу переходов. При попадании на распознаватель вычис-
ляется предикатный терм и происходит переход по дуге, соответствующей
значению характеристической функции. При попадании на преобразователь
с оператором x := t вычисляется значение t и присваивается переменной
x. Результат выполнения программы — состояние памяти при попадании
на выходную вершину.
Схема рекурсивной программы, или рекурсивная схема, использует кро-
ме функциональных так называемые условные термы, образующие вместе
с первыми множество вычислительных термов. Условный терм задает вы-
числение посредством разбора случаев, имеет вид (π|t1 |t2 ), где π — преди-
катный, а t1 и t2 — вычислительные термы, и соответствует конструкции
условного выражения:
if π then t1 else t2 .
Рекурсивная схема состоит из главного вычислительного терма
с входными переменными и конечного набора рекурсивных уравнений вида
f (x1 , . . . , xn ) = t, где f — символ определяемой функции, x1 , . . . , xn — пере-
214 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
менные, t — терм с переменными из множества {x1 , . . . , xn } и с символами
определяемых функций из набора уравнений. При естественных предполо-
жениях на интерпретацию базовых операций система уравнений относитель-
но определяемых функций всегда имеет так называемую наименьшую непо-
движную точку — совокупность функций, удовлетворяющих уравнениям,
с графиками, содержащимися в графиках любых других решений уравне-
ний. Подставляя в главный терм вместо символов определяемых функций
соответствующие компоненты наименьшей неподвижной точки, получают
функциональный терм, задающий некоторую функцию входных перемен-
ных, которая и объявляется функцией, вычисляемой рекурсивной про-
граммой.
Пусть Π — программа, ϕ — формула, относящаяся к входным данным, ко-
торая должна быть истинна перед выполнением программы Π, ψ — формула,
которая должна быть истинна после выполнения программы Π. Формула ϕ
называется предусловием, а ψ — постусловием программы Π.
Программа Π называется частично правильной относительно ϕ и ψ, если
всякий раз, когда предусловие ϕ истинно перед выполнением Π и Π заканчи-
вает работу, постусловие ψ будет также истинно. В этом случае используется
запись
{ϕ}Π{ψ}.
Программа Π называется тотально правильной относительно ϕ и ψ, ес-
ли она частично правильна относительно ϕ и ψ, и обязательно завершает
работу, если ϕ истинна (т. е. исполнение Π обязательно завершается и ψ ис-
тинна в любом состоянии памяти компьютера, которое может получиться
при выполнении Π; последнее условие на ψ соответствует ¤ ψ в модальной
логике). В этом случае используется запись
{ϕ}Π ↓ {ψ}.
Предусловие ϕ и постусловие ψ связаны с конкретной задачей, которую необ-
ходимо решить и для решения которой написана программа Π. Требуется
доказать, что она правильная.
С целью верификации компьютерных программ создана темпоральная
логика Пнуели, позволяющая доказывать наличие у данной программы
свойств, характеризующих ее правильное вычислительное поведение. При
этом понятие внешнего времени, или темпоральности, существенно лишь
5.3. ПРЕДИКАТНЫЕ ВРЕМЕННЫ́Е ЛОГИКИ 215
для верификации программ, связанных с параллельными вычислениями, по-
скольку в последовательных программах имеются “внутренние часы”, а имен-
но само выполнение. Зная метку в последовательной программе, а также
значения программных переменных, можно точно определить, в каком месте
программы находится процесс вычисления. При обращении же к недетерми-
нированным, параллельным программам, в которых выполнение состоит из
перемешанных между собой операций из различных процессов, требуется
различать “где” и “когда” и сохранять внешнюю временну́ю шкалу, незави-
симую от выполнения. Таким образом, логика Пнуели предназначена для
верификации программ, связанных с параллельными вычислениями.
Временная логика Пнуели строится как логика первого порядка с до-
бавлением одноместного предиката L(x), выделяющего множество меток l,
в которых могут находиться вычислительные процессы. Отношение L дает
средства для описания контрольного компонента программных состояний.
Кроме того, логика Пнуели содержит дополнительные символы F (когда-
нибудь будет), G (всегда будет) и ℵ (в следующий момент будет), следующие
аксиомы:
G (ϕ → ψ) ` (G ϕ → G ψ),
ℵ (ϕ → ψ) ` (ℵ ϕ → ℵ ψ),
G ϕ ` ϕ,
G ϕ ` ℵG ϕ,
G ϕ ` ℵ ϕ,
` ℵ ¬ϕ ↔ ¬ℵ ϕ,
ϕ, G (ϕ → ℵ ϕ) ` G ϕ,
а также правила вывода
Γ`ϕ Γ, ψ ` ϕ; Γ ` ∀x (L(x) ∧ ψ → ℵ ϕ)
, .
Γ ` Gϕ Γ, ψ ` G ϕ
Последнее правило называется инвариантным правилом, согласно кото-
рому для установления инвариантности (неизменности) свойства ϕ в данной
программе нужно установить, что это свойство имеет место в начале про-
граммы и сохраняется после выполнения каждой команды этой программы.
С помощью инвариантного правила доказывается следующее свойство
исключения критических связей:
ϕ ` G ¬(L(l1 ) ∧ . . . ∧ L(ln )),
216 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
где ϕ — формула, выражающая исходные условия программы (и включаю-
щая значения программных переменных, предусловие и исходные метки всех
параллельных процессов), li — метка критической секции i-го процесса.
Расшифруем понятие критической секции. В параллельных вычислени-
ях параллельные процессы могут включать блоки (секции), содержащие ко-
манды, критические для кооперирования этих процессов. Иначе говоря, пока
один процесс находится в своей критической секции и выполняет команды
этой секции, второй процесс не должен входить в свою критическую секцию,
поскольку изменения в ячейках памяти, происходящие при выполнении ко-
манд идущего первого процесса, могут исказить вычисления, на которые
сориентирован второй процесс. Второй процесс должен ждать (и для это-
го требуется понятие “внешнего времени”), пока содержимое используемых
им ячеек не окажется требуемым. Ожидание происходит в силу вы-
полнения специальных команд программы, называемых семафорными
инструкциями.
Пример 5.3.1. Рассмотрим параллельную программу с двумя крити-
ческими секциями КС1 и КС2. Семафорная инструкция — оператор “wait
. . . then . . .” с семафорной переменной x1 , которой изначально присваива-
ется значение 1:
процесс 1 процесс 2
l0 : wait x1 > 0 m0 : wait x1 > 0
then x1 := x1 − 1; then x1 := x1 − 1;
l1 : t1 := x3 ∗ x4 ; m1 : t2 := x3 /x2 ;
КС1 l2 : x3 := t1 ; КС2 m2 : x2 := t2 ;
l3 : x1 := x1 + 1; m3 : x1 := x1 + 1;
l4 : end m4 : end
Предположим, что при выполнении процесса 1 значение x1 уменьшилось
до 0. Тогда компьютер вынужден остановить процесс 2, поскольку прегра-
дой к его выполнению является семафорная инструкция под меткой m0 , для
выполнения которой необходимо, чтобы x1 было больше 0. Следовательно,
компьютер начнет выполнять команды с метками l1 , l2 , l3 и только после это-
го перейдет к продолжению выполнения процесса 2. Другими словами, пока
процесс 1 находится в своей критической секции КС1, процесс 2 не достиг-
нет своей критической секции КС2. То же самое будет происходить в случае,
когда процесс 2 начнет выполняться первым. ¤
5.4. АЛГОРИТМИЧЕСКИЕ ЛОГИКИ 217
§ 5.4. Алгоритмические логики
Алгоритмические логики создаются с целью описания семантики языков
программирования и включают формулы вида {ϕ}S{ψ}, читающиеся как
“если до выполнения оператора S было истинно ϕ, то после его выполнения
будет истинно ψ”.
Эти логики были изобретены Р. У. Флойдом (1967 г.), Ч. Хоаром (1969 г.)
и представителями польской логической школы (А. Сальвиницкий и др.,
1970 г.).
Ч. Хоар определил простой язык программирования через логическую
систему аксиом и правил вывода для доказательства частичной правильно-
сти программ. Им показано, что определение семантики языка не в терми-
нах выполнения программы, а в терминах доказательства ее правильности
упрощает процесс построения программы.
На базе работы Ч. Хоара проводились исследования в области аксио-
матических определений языков программирования. Появилось много ра-
бот по аксиоматизации различных конструкций: от оператора присваивания
до различных форм циклов, от вызова процедур до сопрограмм. В 1973 г.
были сформулированы правила доказательства правильности для большин-
ства конструкций языка Паскаль. В 1975 г. была построена автоматическая
система верификации для языка Паскаль, основанная на аксиомах и пра-
вилах вывода. В 1979 г. был определен язык программирования Евклид,
в проект которого с самого начала была заложена идея аксиоматизации.
В 1976 г. Э. Дейкстра предложил метод доказательства правильности
программ. Суть метода заключается в том, чтобы строить программу вместе
с доказательством, причем доказательство должно опережать построение
программы. Э. Дейкстра определил для простого языка программирования
слабейшие предусловия и показал, как их можно использовать в качестве ис-
числения для вывода программ. Стало ясно, что использование формализма
может привести к построению программ более надежным способом.
Опишем принципы построения алгоритмической логики L0 .
Память в L0 разделена на ячейки. Каждая ячейка имеет идентифика-
тор, представляющий собой слово из латинских букв и цифр и начинаю-
щийся с буквы. Ячейки содержат натуральные числа.
Программа в L0 состоит из операторов. Исходный оператор — опера-
тор присваивания x := t, где x — идентификатор, а t — терм сигнатуры
Σ0 = {+(2) , ·(2) , ≤(2) } ∪ {n(0) | n ∈ ω}, в котором в качестве переменных ис-
пользуются идентификаторы.
218 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
Пусть ϕ — формула сигнатуры Σ0 , истинная на состоянии памяти после
присваивания, (ϕ)xt — формула, истинная до присваивания. Тогда по опера-
тору присваивания строится формула {(ϕ)xt }x := t{ϕ}.
Пример 5.4.1. Если формула ϕ равна (x < 2) и t = x + 1, то формула
(ϕ)xt равна (x + 1 < 2). Следовательно, чтобы после присваивания x := x + 1
стало истинным (x < 2), требуется, чтобы до присваивания выполнялось
неравенство x + 1 < 2, т. е. |= {(x + 1 < 2)}x := x + 1{(x < 2)}. ¤
Пусть два оператора S1 и S2 выполняются один за другим. Тогда компо-
зиции S1 S2 операторов S1 и S2 соответствует правило вывода
{ϕ}S1 {ψ}; {χ}S2 {θ}; ψ → χ
.
{ϕ}S1 S2 {θ}
Условный оператор — это конструкция
IF ϕ1 → S1 4 ϕ2 → S2 4 . . . 4 ϕn → Sn FI,
где ϕ1 , . . . , ϕn — бескванторные формулы сигнатуры Σ0 , а S1 , . . . , Sn —
последовательности операторов. При работе условного оператора проверя-
ются формулы ϕi при текущем состоянии памяти. Если ни одна из фор-
мул ϕi не истинна, то фиксируется ошибка. Если же некоторые ϕi истинны,
то по некоторым приоритетам выбирается одна из них и выполняется соот-
ветствующая последовательность операторов Si .
Если каждая из команд Si описана в логике L0 формулой ψi Si χ, то услов-
ный оператор описывается формулой
{(ϕ1 → ψ1 ) ∧ . . . ∧ (ϕn → ψn )}IF ϕ1 → S1 4 ϕ2 → S2 4 . . . 4 ϕn → Sn FI {χ}.
Операторам цикла соответствуют конструкции
DO ϕ1 → S1 4 . . . 4 ϕn → Sn OUT ψ1 → T1 4 . . . 4 ψm → Tm OD.
Выполняется оператор цикла следующим образом. Проверяются форму-
лы ϕ1 , . . . , ϕn , ψ1 , . . . , ψm при текущем состоянии памяти. Если ни одна из них
не истинна, то фиксируется ошибка. Если же некоторые истинны, то по неко-
торым приоритетам выбирается одна из них. Если выбрана ϕi , то выполняет-
ся соответствующая последовательность операторов Si и выполнение цикла
возобновляется. Если выбрана ψj , то выполняется соответствующая после-
довательность операторов Tj и выполнение цикла завершается.
5.4. АЛГОРИТМИЧЕСКИЕ ЛОГИКИ 219
Если каждая из команд Si описана в логике L0 формулой {ϕ0i }Si {χi },
а Tj — формулой {ψj0 }Tj {θ}, то однократное выполнение цикла описывается
формулой
{(ϕ1 → ϕ01 ) ∧ . . . ∧ (ϕn → ϕ0n ) ∧ (ψ1 → ψ10 ) ∧ . . . ∧ (ψ1 → ψ10 )∧
∧(ϕ1 ∨ . . . ∨ ϕn ∨ ψ1 ∨ . . . ∨ ψm )}IF ϕ1 → S1 4 . . . 4 ϕn → Sn 4
4 ψ1 → T1 4 . . . 4 ψm → Tm FI{θ}.
Двукратное выполнение цикла соответствует формулам
{(ϕ1 → ϕ01 ) ∧ . . . ∧ (ϕn → ϕ0n ) ∧ (ψ1 → ψ10 ) ∧ . . . ∧ (ψ1 → ψ10 )∧
∧(ϕ1 ∨ . . . ∨ ϕn ∨ ψ1 ∨ . . . ∨ ψm )}IF ϕ1 → S1 4 . . . 4 ϕn → Sn 4
4 ψ1 → T1 4 . . . 4 ψm → Tm FI{χ1 ∨ . . . ∨ χn },
{(ϕ1 → ϕ01 ) ∧ . . . ∧ (ϕn → ϕ0n ) ∧ (ψ1 → ψ10 ) ∧ . . . ∧ (ψ1 → ψ10 )∧
∧(ϕ1 ∨ . . . ∨ ϕn ∨ ψ1 ∨ . . . ∨ ψm ) ∧ (χ1 ∨ . . . ∨ χn )}IF ϕ1 → S1 4 . . .
. . . 4 ϕn → Sn 4 ψ1 → T1 4 . . . 4 ψm → Tm FI{θ}
и т.д. до бесконечности. Обозначив через DOk {θ} условие правильности k
шагов цикла, V получаем, что корректность цикла равносильна истинности
формулы DOk {θ}. Но эта формула имеет бесконечную длину и не яв-
k∈ω\{0}
ляется формулой логики L0 . Появление таких формул, относящихся к логике
Lω1 ω , порождает серьезные проблемы для алгоритмических логик.
Опишем алгоритмическую логику Хоара, которая является основой для
логики выводов правильных программ и допускает интерпретации в терми-
нах программных конструкций. Следующие аксиомы, называемые аксиома-
ми Хоара или правилами верификации, определяют предусловия как доста-
точные условия, гарантирующие, что исполнение соответствующего опера-
тора при успешном завершении приведет к желательным постусловиям.
А1. {(ϕ)xt }x := t{ϕ} (аксиома присваивания).
А2. {ϕ}S{ψ} ∧ (ψ → χ) → {ϕ}S{χ} (аксиома ослабления постусловия).
А3. {ϕ}S{ψ} ∧ (χ → ϕ) → {χ}S{ψ} (аксиома усиления предусловия).
А4. {ϕ}S1 {ψ} ∧ {ψ}S2 {χ} → {ϕ}S1 S2 {χ} (аксиома композиции).
220 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
A5. {ϕ ∧ ψ}S{χ} ∧ (ϕ ∧ ¬ψ → χ) → {ϕ}if ψ then S {χ} (аксиома условного
оператора).
A6. ({ϕ ∧ ψ}S1 {χ}) ∧ ({ϕ ∧ ¬ψ}S2 {χ}) → {ϕ}if ψ then S1 else S2 {χ} (ак-
сиома альтернативного оператора).
A7. {ϕ ∧ ψ}S{ϕ} → {ϕ}repeat S until ψ{ϕ ∧ ¬ψ} (аксиома оператора
цикла until (до)).
A8. {ϕ ∧ ψ}S{ϕ} → {ϕ}while ψ do S{ϕ ∧ ¬ψ} (аксиома оператора цикла
while (пока)).
В аксиомах А7 и А8 утверждается, что формула ϕ истинна перед выпол-
нением и после выполнения каждого шага цикла. Эта формула называется
инвариантной формулой или инвариантом цикла.
Аксиомы А1 — А8 можно использовать для проверки согласованности пе-
редачи данных от оператора к оператору, для анализа структурных свойств
текстов программ, для установления условий окончания цикла. Кроме то-
го, аксиомы можно использовать для анализа результатов выполнения
программы.
Пример 5.4.2. Рассмотрим задачу нахождения частного q и остатка r
от деления n на m.
Входные данные:
n, m — натуральные числа, где m > 0.
Выходные данные:
q, r — натуральные числа.
Описание программы S:
задать(n, m)
r := n; q := 0;
while m ≤ r do
begin
r := r − m; q := q + 1
end;
выдать(q, r).
Сформулируем предусловие ϕ: m > 0.
Сформулируем постусловие ψ: (r < m) ∧ (n ≈ m · q + r).
Требуется доказать, что |= {ϕ}S{ψ}, т. е.
|= {m > 0}S{(r < m) ∧ (n ≈ m · q + r)}.
ЗАДАЧИ И УПРАЖНЕНИЯ 221
Доказательство.
Аксиомы
№ Формулы и правила
вывода
1 ϕ → (n ≈ n + m · 0) в формальной
арифметике
2 {(n ≈ n + m · 0)}r := n{(n ≈ r + m · 0)} аксиома А1
3 {(n ≈ n + m · 0)}q := 0{(n ≈ r + m · q)} аксиома А1
4 {ϕ}r := n{(n ≈ r + m · 0)} А3 к пунктам 1 и 2
5 {ϕ}r := n; q := 0{(n ≈ r + m · q)} А4 к пунктам 3 и 4
6 (n ≈ r + m · q) ∧ (m ≤ r) → арифметика
→ (n ≈ (r − m) + m · (q + 1))
7 {(n ≈ (r − m) + m · (q + 1))}r := r − m аксиома А1
{(n ≈ r + m · (q + 1))}
8 {(n ≈ r + m · (q + 1))}q := q + 1 аксиома А1
{(n ≈ r + m · q)}
9 {(n ≈ (r − m) + m · (q + 1))}r := r − m; А4 к пунктам 7 и 8
q := q + 1{(n ≈ r + m · q)}
10 {(n ≈ r + m · q) ∧ (m ≤ r)}r := r − m; А2 к пунктам 6 и 9
q := q + 1{(n ≈ r + m · q)}
11 {(n ≈ r + m · q) ∧ (m ≤ r)}while m ≤ r do А8 к пункту 10
begin r := r − m; q := q + 1 end
{(n ≈ r + m · q) ∧ ¬(m ≤ r)}
12 {ϕ}S{(n ≈ r + m · q) ∧ ¬(m ≤ r)} А4 к пунктам 5 и 11
В силу того что система hN; ≤i является вполне упорядоченным множе-
ством и на каждом шаге значение r уменьшается на положительную величи-
ну r, найдется такое значение r, для которого не будет выполняться условие
m ≤ r, и циклический процесс завершится.
Таким образом, установлено, что {ϕ}S ↓ {ψ}, т. е. программа S является
тотально правильной. ¤
Задачи и упражнения
1. Доказать, что
а) все выводимые в ИИВ формулы выводимы в ИВ;
б) формулы (¬¬ϕ → ϕ) и ϕ ∨ ¬ϕ не выводимы в ИИВ;
в) если в ИИВ доказуемо Γ, ϕ ` ψ, то в ИИВ доказуемо Γ ` (ϕ → ψ).
222 Глава 5. НЕКЛАССИЧЕСКИЕ ЛОГИКИ
2. Показать, что система функций, состоящая из функции x∨y и всех функций
½
j, если x = i,
eij (x) =
0, если x 6= i,
является полной в k-значной логике.
3. Доказать, что для любых событий ϕ, ψ, ϕ1 , . . . , ϕn справедливы следующие
соотношения:
a) P (ϕ ∧ ψ) ≤ P (ϕ);
б) P (ϕ ∧ ψ) ≥ P (ϕ) + P (ψ) − 1;
в) P (ϕ1 ∨ . . . ∨ ϕn ) ≤ P (ϕ1 ) + . . . + P (ϕn );
г) если события ϕ1 , . . . , ϕn попарно несовместны, то
P (ϕ1 ∨ . . . ∨ ϕn ) = P (ϕ1 ) + . . . + P (ϕn ).
4. Для нечетких подмножеств A = {(x, 0.3), (y, 0.9), (z, 1)} и B = {(x, 0.7), (y, 0),
(z, 0.1)} найти A, B, A ∧ A, B ∨ B, A ∧ B, A ∨ B.
5. Доказать следующие секвенции:
а) ϕ ` ♦ ϕ;
б) ♦ ∃x ¬ϕ ` ∃x ¬¤ ϕ.
6. Представить алгебру матриц в виде многосортной алгебраической систе-
мы, для которой соответствующей формулой многосортной логики выразимо
множество матриц, имеющих конечный порядок.
7. Написать программу разложения натурального числа на простые сомножи-
тели и доказать ее тотальную правильность с помощью алгоритмической
логики Хоара.
Библиографический список
[1] Ахо, А. Построение и анализ вычислительных алгоритмов / А. Ахо, Дж. Хоп-
крофт, Дж. Ульман. — М. : Мир, 1979. — 536 с. (Гл. 4)1 .
[2] Братко, И. Программирование на языке Пролог для искусственного интел-
лекта / И. Братко. — М. : Мир, 1990. — 560 с. (Гл. 1, 2).
[3] Булос, Дж. Вычислимость и логика / Дж. Булос, Р. Джефри. — М. : Мир,
1994. — 396 с. (Гл. 2–5).
[4] Гаврилов, Г. П. Задачи и упражнения по дискретной математике / Г. П. Гав-
рилов, А. А. Сапоженко. — М. : ФИЗМАТЛИТ, 2005. — 416 с. (Гл. 1, 4).
[5] Гиндикин, С. Г. Алгебра логики в задачах / С. Г. Гиндикин. — М. : Наука,
1972. — 288 с. (Гл. 1, 2, 5).
[6] Гончаров, С. С. Счетные булевы алгебры и разрешимость / С. С. Гончаров. —
Новосибирск : Научная книга, 1996. — 362 с. (Гл. 3, 4).
[7] Гончаров, С. С. Конструктивные модели / С. С. Гончаров, Ю. Л. Ершов. —
Новосибирск : Научная книга, 1999. — 360 с. (Гл. 3, 4).
[8] Горбатов, В. А. Фундаментальные основы дискретной математики /
В. А. Горбатов. — М. : ФИЗМАТЛИТ, 2000. — 540 с. (Гл. 1, 2, 4, 5).
[9] Гуц, А. К. Математическая логика и теория алгоритмов / А. К. Гуц. — М. :
Книжный дом “ЛИБРОКОМ”, 2015. — 120 с. (Гл. 1, 2, 4, 5).
[10] Ершов, Ю. Л. Проблемы разрешимости и конструктивные модели / Ю. Л. Ер-
шов. — М. : Наука, 1980. — 416 с. (Гл. 3, 4).
[11] Ершов, Ю. Л. Определимость и вычислимость / Ю. Л. Ершов. — М. : Эконо-
мика, 2000. — 318 с. (Гл. 3–5).
[12] Ершов, Ю. Л. Математическая логика / Ю. Л. Ершов, Е. А. Палютин. — М. :
ФИЗМАТЛИТ, 2011. — 356 с. (Гл. 1–4).
[13] Ивин, А. А. Логика времени // Неклассическая логика / А. А. Ивин. — М. :
Наука, 1979. (Гл. 5).
[14] Карпов, Ю. Г. Теория автоматов / Ю. Г. Карпов. — СПб. : Питер, 2003. —
206 с. (Гл. 4).
1
В скобках указаны номера глав настоящего учебника, при работе над которыми эта
литература может оказаться полезной.
224 БИБЛИОГРАФИЧЕСКИЙ СПИСОК
[15] Кейслер, Г. Теория моделей / Г. Кейслер, Ч. Ч. Чэн. — М. : Мир, 1977. —
616 с. (Гл. 3).
[16] Кнут, Д. Искусство программирования для ЭВМ. Т. 1 / Д. Кнут. — М. :
Вильямс, 2011. — 712 с. (Гл. 4).
[17] Кнут, Д. Искусство программирования для ЭВМ. Т. 2 / Д. Кнут. — М. :
Вильямс, 2007. — 828 с. (Гл. 4).
[18] Кнут, Д. Искусство программирования для ЭВМ. Т. 3 / Д. Кнут. — М. :
Вильямс, 2007. — 822 с. (Гл. 4).
[19] Кристофидес, Н. Теория графов: алгоритмический подход / Н. Кристофи-
дес. — М. : Мир, 1978. — 432 с. (Гл. 4).
[20] Кук, Д. Компьютерная математика / Д. Кук, Г. Бейз. — М. : Наука, 1990. —
384 с. (Гл. 4).
[21] Лавров, И. А. Задачи по теории множеств, математической логике и теории
алгоритмов / И. А. Лавров, Л. Л. Максимова. — М. : ФИЗМАТЛИТ, 2006. —
256 с. (Гл. 1–5).
[22] Лекции по теории графов / В. А. Емеличев, О. И. Мельников, В. И. Сарванов,
Р. И. Тышкевич. — М. : Наука, 1990. — 384 с. (Гл. 4).
[23] Леоненков, А. В. Нечеткое моделирование в среде MATLAB и fuzzyTECH /
А. В. Леоненков. — СПб. : БХВ-Петербург, 2005. — 736 с. (Гл. 5).
[24] Липский, В. Комбинаторика для программистов / В. Липский. — М. : Мир,
1988. — 200 с. (Гл. 4).
[25] Мальцев, А. И. Алгебраические системы / А. И. Мальцев. — М. : Наука,
1970. — 392 с. (Гл. 3).
[26] Мальцев, А. И. Алгоритмы и рекурсивные функции / А. И. Мальцев. — М. :
Наука, 1986. — 368 с. (Гл. 4).
[27] Мендельсон, Э. Введение в математическую логику / Э. Мендельсон. — М. :
Наука, 1984. — 320 с. (Гл. 1–4).
[28] Непейвода, Н. Н. Прикладная логика / Н. Н. Непейвода. — Новосибирск :
Изд-во НГУ, 2000. — 490 с. (Гл. 1 –3, 5).
[29] Новиков, П. С. Элементы математической логики / П. С. Новиков. — М. :
Наука, 1973. — 400 с. (Гл. 1, 2).
[30] Перетятькин, М. Г. Конечно аксиоматизируемые теории / М. Г. Перетять-
кин. — Новосибирск : Научная книга, 1997. — 318 с. (Гл. 3).
[31] Пинус, А. Г. Основы универсальной алгебры / А. Г. Пинус. — Новосибирск :
Изд-во НГТУ, 2000. — 114 с. (Гл. 3–5).
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 225
[32] Пинус, А. Г. Условные термы и их применение в алгебре и теории вычисле-
ний / А. Г. Пинус. — Новосибисрк : Изд-во НГТУ, 2002. — 238 с. (Гл. 5).
[33] Плоткин, Б. И. Элементы алгебраической теории автоматов / Б. И. Плоткин,
Л. Я. Гринглаз, А. А. Гварамия. — М. : Высшая школа, 1994. — 192 с. (Гл. 4).
[34] Рейнгольд, Э. Комбинаторные алгоритмы: теория и практика / Э. Рейнгольд,
Ю. Нивергельт, Н. Део. — М. : Мир, 1980. — 476 с. (Гл. 4).
[35] Роджерс, Х. Теория рекурсивных функций и эффективная вычислимость /
Х. Роджерс. — М. : Мир, 1972. — 624 с. (Гл. 4).
[36] Сакс, Дж. Теория насыщенных моделей / Дж. Сакс. — М. : Мир, 1976. —
190 с. (Гл. 3).
[37] Свами, М. Графы, сети и алгоритмы / М. Свами, К. Тхуласираман. — М. :
Мир, 1984. — 454 с. (Гл. 4).
[38] Справочная книга по математической логике. Ч. 1–4. / Под ред. Дж. Барвай-
са. — М. : Наука, 1982. (Гл. 1–5).
[39] Столл, Р. Множества. Логика. Аксиоматические теории / Р. Столл. — М. :
Просвещение, 1968. — 232 с. (Гл. 1–3).
[40] Судоплатов, С. В. Полигонометрии групп / С. В. Судоплатов. — Новоси-
бирск : Изд-во НГТУ, 2013. — 302 с. (Гл. 3).
[41] Судоплатов, С. В. Дискретная математика / С. В. Судоплатов, Е. В. Овчин-
никова. — М. : Юрайт, 2016. — 280 с. (Гл. 1–5).
[42] Судоплатов, С. В. Классификация счетных моделей полных теорий. Ч. 1, 2 /
С. В. Судоплатов. — Новосибирск : Изд-во НГТУ, 2014. (Гл. 3).
[43] Тейз, А. Логический подход к искусственному интеллекту / А. Тейз, П. Гри-
бомон, Ж. Луи. — М. : Мир, 1990. — 429 с. (Гл. 1, 2).
[44] Фейс, Р. Модальная логика / Р. Фейс. — М. : Наука, 1974. — 520 с. (Гл. 5).
[45] Чень, Ч. Математическая логика и автоматическое доказательство теорем /
Ч. Чень, Р. Ли. — М. : Наука, 1983. — 360 с. (Гл. 1–3).
[46] Шенфилд, Дж. Математическая логика / Дж. Шенфилд. — М. : Наука,
1975. — 528 с. (Гл. 1–4).
[47] Шоломов, Л. А. Основы теории дискретных логических и вычислительных
систем / Л. А. Шоломов. — СПб. : Лань, 2011. — 432 с. (Гл. 4).
[48] Яблонский, С. В. Введение в дискретную математику / С. В. Яблонский. —
М. : Высшая школа, 2010. — 384 с. (Гл. 1, 4).
Приложение
Варианты типового расчета
Условия задач
1. Из данной совокупности секвенций выбрать доказуемые, построить их
доказательства; для недоказуемых секвенций показать их недоказуе-
мость с помощью алгоритма Квайна, алгоритма редукции и метода
резолюций. Среди доказательств недоказуемости выбрать оптималь-
ное в каждом конкретном случае.
2. Найти предложение исчисления предикатов, истинное на алгебраиче-
ской системе A и ложное на системе B, или доказать, что таких пред-
ложений нет.
3. Построить доказательство формулы в исчислении предикатов.
4. Построить модель для следующей формулы.
5. Привести к пренексной и клазуальной нормальным формам формулу.
6. Методом резолюций проверить, противоречиво ли множество предло-
жений. Если множество непротиворечиво, то построить модель для
этого множества.
7. Построить машину Тьюринга для правильного вычисления функции.
8. Доказать примитивную рекурсивность функции из задачи 7, выражая
ее через простейшие с помощью операторов суперпозиции и примитив-
ной рекурсии.
ВАРИАНТЫ ТИПОВОГО РАСЧЕТА 227
Вариант 1
1. а) (x → y) ∧ (y → x), (y → z) ∧ (z → y) ` (x → z) ∧ (z → x);
б) ` ¬(x ∧ ¬x);
в) (x → y) → x ` y → x;
г) x ∨ y ` ¬x → y.
2. A = hN; ≤i, B = hN; <i.
3. ∀x(P (x) → Q(x)) ∨ ∃x(P (x) ∧ ¬Q(x)).
4. ∃x∃y(¬(x ≈ y) ∧ P (x, y) ∧ ∃zR(x, y, z) ∧ ∃u¬R(x, y, u)).
5. ¬(∃x∀yP (x, y) ∨ ∃x∀yQ(x, y)) ∧ ¬∀x∃yR(x, y).
6. Φ1 = ∃x(P1 (x) ∧ P2 (x));
Φ2 = ∀x∀y(P1 (x) → (P2 (y) → ¬P3 (x, y)));
Φ3 = ∃x∀y¬(P1 (x) → (P2 (y) ∧ ¬P3 (x, y))).
7. f (x) = x −̇ 4.
Вариант 2
1. а) y → ¬x ` ¬y ∨ ¬x;
б) (x → ¬y) ∧ (¬y → x) ` x ∨ y;
в) x ` (x ∧ y) ∨ (x ∧ ¬y ∧ z) ∨ (x ∧ ¬y ∧ ¬z);
г) x, y, ¬z ` x ∨ y ∨ z.
2. A = hR; ≤i, B = hN; ≤i.
3. (∀xP (x) → ∀xQ(x)) ∨ (∀xP (x) ∧ ∃x¬Q(x)).
4. ∀x¬P (x, x) ∧ ∀x, y(P (x, y) → ¬P (y, x)) ∧ ∀x∀y∀z∃u(P (u, x) ∧ P (u, y) ∧ P (u, z)).
5. ∀x(∃yP (x, y) → ∀yQ(x, y)) ∧ ¬∃x(∀yP (x, y) → ∃yQ(y, y)).
6. Φ1 = ¬∀x∀y(¬P3 (f (x), x) → ¬(¬P2 (y, x) → P3 (f (x), y)));
Φ2 = ∀x(f (x) ≈ f (f (x)));
Φ3 = ∃x∀y∀z∃v∀u¬(¬P1 (f (x), z) → ¬(P2 (v, u) → (P3 (f (v), y) ∨ P1 (y, v)))).
7. f (x) = 3x.
228 ВАРИАНТЫ ТИПОВОГО РАСЧЕТА
Вариант 3
1. а) x ∧ y ∧ ¬z ` x ∨ y ∨ z;
б) x ∨ y ` (x → y) ∨ y;
в) x → y ` (x → (y → z)) → (x → z);
г) ¬x, ¬y ` ((x → y) → z) ∨ ((x → y) → ¬z).
2. A = hR; ≤i, B = hZ; ≤i.
3. ∀x∀y P (x, y) → ∀y∀x P (x, y).
4. ∀x¬P (x, x) ∧ ∀x, y(P (x, y) → P (y, x)) ∧ ∀x∀y∀z(P (x, y) ∧ P (y, z) → ¬P (x, z)).
5. ∃x∃y P (x, y) ∧ ∃x((∀yP (x, y) → ¬∀yQ(x, y)) ∧ ∃yR(x, y)).
6. Φ1 = ∀x¬(P5 (x) ∧ (P2 (x) ∨ P4 (x)));
Φ2 = ∀x∃y((P1 (x) → P2 (x)) ∨ (P3 (x, y) ∧ P4 (y)));
Φ3 = ∃x∀y(P1 (x) ∧ ((P5 (x) ∨ P3 (x, y)) → (P5 (x) ∧ P6 (y)))).
7. f (x, y) = x + y + 2.
Вариант 4
1. а) y, ¬y, x ` (x ∨ y) ∧ z;
б) x → y, y → z ` x → z;
в) x ∧ ¬y, x ∧ y ` x → (y → x);
г) (x ∧ y) ∨ z ` (x ∨ z) ∧ x.
2. A = hZ; ≤i, B = hN; ≤i.
3. ∃x∃y P (x, y) → ∃y∃x P (x, y).
4. ∃x∀y P (x, y) ∧ ¬∀x∃y P (x, y).
5. ∀x∃y(P (x, y) → Q(x, y)) → (¬∀x∃yQ(x, y) ∧ ∃x∀yR(x, y)).
6. Φ1 = ∃x∀y∃z∀u(P3 (y, x) → (P1 (y, u) ∨ P2 (x, z)));
Φ2 = ∃x∀y∃z∀u(P4 (y) ∨ (P3 (y, u) ∧ (P1 (x, z) → P2 (y, u)))).
7. f (x, y) = x · y + 1.
ВАРИАНТЫ ТИПОВОГО РАСЧЕТА 229
Вариант 5
1. а) ` x → ¬¬x;
б) ` ((x → y) → y) → x;
в) x, y ∨ z, u ` (x ∧ y) → ((z ∨ x) ∧ u);
г) x, u ∨ y ` (z → x) ∨ (¬z → u).
2. A = hR; ·i, B = hN; ·i.
3. ∀x∀y P (x, y) → ∀x P (x, x).
4. ∀x∀y(P (x, y) → ¬P (y, x)) ∧ ∀x∀y∃z(P (z, x) ∧ P (z, y) ∧ ¬(x ≈ z) ∧ ¬(z ≈ y)).
5. ∀x∃y¬(P (x, y) → ¬Q(x, y)) ∨ ¬∃x∀y R(x, y).
6. Φ1 = ∃x∀y∀z∃u∀v(¬P2 (y, x) ∧ ¬(f2 (y, z) ≈ f3 (u, v)));
Φ2 = ∀x∀y∀z(P1 (f1 (x), x, y) → (f2 (x, y) ≈ f3 (z, x)));
Φ3 = ∀x∀y∀z∀u(P1 (x, y, z) ∨ (¬P2 (f1 (x), u) → (f2 (y, z) ≈ f3 (u, v)))).
½
x − 2, при x > 1,
7. f (x) =
0, при x = 0, 1.
Вариант 6
1. а) x ∨ y ` (x ∧ y) → (x ∨ z);
б) x, y ∨ u, z ∨ y ` (y → x) ∨ (u → y);
в) ` (x → y) ∨ (y → x);
г) x → y, y → z ` (x ∧ z) → y.
2. A = hN; +i, B = hZ; +i.
3. ∃x P (x, x) → ∃x∃y P (x, y).
4. ¬∀x∀y(x ≈ y) ∧ ∀x∀y(P (x, y) ∨ P (y, x)).
5. (¬∀x∃y P (x, y) ∧ ¬∃x∀y Q(x, y)) → ¬∀x∃y R(x, y).
6. Φ1 = ∃x∀y∃z∀u¬(P3 (y, u) → P1 (x, x, z));
Φ2 = ∃x∀y∀z∀u∀v((¬P1 (y, z, u) ∧ P3 (y, z)) → P2 (y, x, u, v)).
7. f (x) = 2x + 1.
230 ВАРИАНТЫ ТИПОВОГО РАСЧЕТА
Вариант 7
1. а) x → y ` ¬y → ¬x;
б) x → y ` (x ∨ z) → (y ∨ z);
в) x → (y → z) ` (x ∧ y) → z;
г) x ∧ y, y ∨ z, z ∨ ¬u ` (x → u) ∨ (z → y).
2. A = hN; ·i, B = hZ; ·i.
3. ∃x (P (x) → Q(x)) ↔ (∀x P (x) → ∃xQ(x)).
4. ∃x∃y¬(x ≈ y) ∧ ∀x∀y∀z(P (x, y) ∧ P (y, z) → P (x, z)).
5. ∀x∀y P (x, y) → ¬(¬∃y∃x Q(x, y) ∧ ∀x∃y R(x, y)).
6. Φ1 = ∀x∀y∃z¬P (z, x, y);
Φ2 = ∀x∀y∀z∀u∀v∀w((P (x, y, u) ∧ P (x, v, w)) → (P (y, z, v) ∨ P (u, z, w)));
Φ3 = ∀x∃z∀y¬(P (x, f (x, y), y) ∨ P (z, x, z)).
7. f (x) = x + 6.
Вариант 8
1. а) x → y ` (z → x) → (z → y);
б) x → y ` (x ∧ z) → (y ∧ z);
в) x ∨ y, (y ∨ ¬z) ∨ u ` (z → x) ∧ (x ∨ u);
г) x ` y → x.
2. A = hR; +i, B = hN; ·i.
3. (P (x) → ∃yQ(y)) ↔ ∃y(P (x) → Q(y)).
4. ∃x∃y P (x, y) ∧ ∀x∀y(P (x, y) ∧ P (y, x) → ¬(x ≈ y)).
5. ∀x (∃y P (x, y) ∨ ∀yQ(x, y)) ∧ ∃x¬(∃yP (x, y) ∨ ∀yQ(x, y)).
6. Φ1 = ∀y(P1 (y) → (P2 (y) ∨ ∃xP3 (x, y)));
Φ2 = ¬∀x(∃y(P1 (y) ∧ P3 (x, y)) → ∃z(P2 (z) ∧ P3 (x, z))).
7. f (x) = 2x.
ВАРИАНТЫ ТИПОВОГО РАСЧЕТА 231
Вариант 9
1. а) ¬x → ¬y ` y → x;
б) ¬(x ∧ ¬y) ` ¬x ∨ y;
в) x ∨ y, x ∨ z, x ∨ ¬z ∨ u ` u ∨ y;
г) x → (y ∨ z) ` (x ∧ ¬y) → z.
2. A = hN; +i, B = hZ; +i.
3. (∀x P (x) → Q(y)) ↔ ∃x(P (x) → Q(y)).
4. ∃x∀y(P (x, y) → ∀z¬R(x, y, z)) ∧ ∃x∃y P (x, y).
5. ∀x(¬(∃yP (x, y) → ∀yQ(x, y)) ∨ (∃yP (x, y) → ∀yQ(x, y))).
6. Φ1 = ∀x(∃y(P1 (x, y) ∧ P2 (y)) → ∃y(P3 (y) ∧ P4 (x, y)));
Φ2 = ¬(¬∃xP3 (x) → ∀x∀y(P1 (x, y) → ¬P2 (y))).
7. f (x) = 2x + 2.
Вариант 10
1. а) x → (¬z ∨ y) ` (x ∧ z) → y;
б) x ∨ y, z ∨ ¬y ∨ u ` (x ∧ y) ∨ (u → z);
в) x → y, y → ¬x `;
г) (x ∧ y) → (x ∨ u) ` u → (x ∨ y).
2. A = hR; ·i, B = hZ; ·i.
3. (∃x P (x) → Q(y)) ↔ ∀x(P (x) → Q(y)).
4. ∀x P (x, x) ∧ ∀x∃y(P (x, y) ∧ ¬(x ≈ y)).
5. (¬∃x∃yP (x, y) ∨ ∃x∀yQ(x, y)) ∧ ¬∀x∃yR(x, y).
6. Φ1 = ∀x((P1 (x) ∧ ¬P2 (x)) → ∃y¬(P3 (x, y) ∨ P4 (y)));
Φ2 = ∃x(P5 (x) ∧ P4 (x) ∧ ∀y(P3 (x, y) → ¬P5 (y)));
Φ3 = ∀x(P2 (x) → ¬P5 (x)).
7. f (x) = x + 5.
232 ВАРИАНТЫ ТИПОВОГО РАСЧЕТА
Вариант 11
1. а) x ∨ y, x → y, y → z ` u ∨ z;
б) ` (x ∧ y) → (x ∨ y);
в) x ∨ y, ¬x ∨ z, u ∧ (x → z) ` (u ∧ y) → z;
г) y ` (y → x) → x.
2. A = hC; +i, B = hN; +i.
3. (P (x) → ∀yQ(y)) ↔ ∀y(P (x) → Q(y)).
4. ∃x¬(f (x) ≈ x) ∧ ∃x(f (f (x)) ≈ x).
5. ¬(∃x∃yP (x, y) ∧ ∃x∀yQ(x, y)) ∨ ∃x∃yR(x, y).
6. Φ1 = ∀x∀y∃z((P1 (x, y) → P2 (x, y)) ∧ P3 (x, y, z));
Φ2 = ∀x∀y∀z(P2 (x, y) → P3 (x, y, z));
Φ3 = ∃x∃y∃z(P1 (x, y) ∧ ¬P3 (x, y, z)).
7. f (x, y) = x + y + 1.
Вариант 12
1. а) x → (y → z) ` (x → y) → z;
б) x → y ` (x ∨ z) → (y ∨ z);
в) x ∧ (y ∨ z), ¬y ∨ z, x ∨ ¬z ∨ y ` y;
г) x → y ` ¬(x ∧ ¬y).
2. A = hC; +i, B = hZ; +i.
3. (∀xP (x) ∨ ∀xQ(x)) → ∀x(P (x) ∨ Q(x)).
4. ∀x(P (x) → Q(x)) ∧ ∃x∃y(¬(x ≈ y) ∧ ¬P (x) ∧ ¬Q(x) ∧ ¬P (y) ∧ ¬Q(y)).
5. ∃x(∃yP (x, y) ∨ ∀yQ(x, y)) → ∃x∀y(P (x, y) ∧ Q(x, y)).
6. Φ1 = ∃x∀y∃z(P1 (x, y) ∧ ¬P2 (x, z) ∧ P3 (x, y, z));
Φ2 = ∀x∀y(P1 (x, y) → P2 (x, y));
Φ3 = ∀x∃y∀z(¬P3 (x, y, z) ∧ ¬P1 (x, y)).
½
x − y, при x ≥ y,
7. f (x, y) =
0, при x < y.
ВАРИАНТЫ ТИПОВОГО РАСЧЕТА 233
Вариант 13
1. а) ` (x → z) ∨ (z → x);
б) y, x ∨ u ` (z → y) ∨ (¬z → y);
в) ` ¬¬x → x;
г) x ∨ y, x ∨ ¬y ∨ u, y ∨ u ` ¬y ∨ u.
2. A = hC; ·i, B = hR; +i.
3. ∃x(P (x) ∧ Q(x)) → (∃xP (x) ∧ ∃xQ(x)).
4. ∀x(¬P (x, x) ∧ ¬P (x, s(x)) ∧ P (x, s(s(x)))).
5. ∃x∀yP (x, y) → ¬(∀x¬(∀yP (x, y) ∧ ∃yQ(x, y))).
6. Φ1 = ∀x∃y((f (x) ≈ f (f (y))) ∧ P1 (x, y));
Φ2 = ∃x∀y∀z(P2 (x, y) ∧ P3 (x, y, z));
Φ3 = ∃x∀y∀z(P1 (x, y) → P3 (x, y, z)).
7. f (x, y) = x · y + 2.
Вариант 14
1. а) x, ¬x, x ∨ u ` x → u;
б) x → u, u → z ` x → z;
в) y ∨ x ∨ u, ¬x ∨ ¬y ∨ u, ¬u ∨ x ` u ∨ y;
г) ` (x → y) → ((y → u) → (x → u)).
2. A = hC; ·i, B = hN; ·i.
3. (P (x) ∨ ∀yQ(y)) ↔ ∀y(P (x) ∨ Q(y)).
4. ∃x∀y(P (x, y) → (¬P (y, x) → (P (x, x) ↔ P (y, y)))).
5. ¬(∀x¬(∀yP (x, y) ∧ ∃yQ(x, y))) → ∃y∀xR(x, y).
6. Φ1 = ∀x((f (x) ≈ g(f (x))) ∧ ¬P1 (x, x));
Φ2 = ∃x¬(g(x) ≈ g(g(x))) ∧ ∀x∃y(¬P1 (x, y) ∧ P2 (x, y));
Φ3 = ∀x∀y((P1 (x, y) → ¬P1 (y, x)) ∧ ∃zP1 (x, z)).
7. f (x, y) = x!, где 0! = 1.
234 ВАРИАНТЫ ТИПОВОГО РАСЧЕТА
Вариант 15
1. а) x, y, y ∨ u, u ∨ x ∨ ¬z ` u ∨ z;
б) ` (x → ((y ∨ x) → z)) → (y → z);
в) x ∨ y ` (z ∧ x) → (y ∧ z);
г) ¬x, ¬y ` (x → z) → (y → z).
2. A = hC; ·i, B = hZ; ·i.
3. (P (x) ∧ ∃yQ(y)) ↔ ∃y(P (x) ∧ Q(y)).
4. ∃x∀y∃z((P (y, z) → P (x, z)) → (P (x, x) → P (y, x))).
5. ∀x∃yP (x, y) ∧ ∀x(∃yQ(x, y) ∧ ¬(∃yR(x, y) ∨ ∃yP (x, y))).
6. Φ1 = ∃x∃y∀z((P1 (x, y) → ¬P2 (y, z)) ∧ (¬P2 (y, z) → P1 (x, y)));
Φ2 = ∀x∃y(P1 (x, y) ∧ ¬P2 (y, x));
Φ3 = ¬∃x∃y(¬P1 (x, y) ∧ P2 (x, y)).
7. f (x) = 4x.
Вариант 16
1. а) ` x ∨ (¬x → x);
б) x ∨ ¬y ` ¬x → ¬y;
в) x ∧ y ∧ z ` (x ∨ y) → (y ∨ z);
г) x ∧ ¬x ` y → ¬y.
2. A = hC; ·i, B = hR; ·i.
3. (P (x) ∨ ∃yQ(y)) ↔ ∃y(P (x) ∨ Q(y)).
4. ∃xP (x, x)∧((∀x∀y∀z(P (x, x)∧(P (x, z) → (P (x, y)∨P (y, z))))) → ∃y∀zP (y, z)).
5. ∀x∀yP (x, y) ∨ ∀x(∃yQ(x, y) ∨ (¬∃yR(x, y) ∧ ¬∃yP (x, y))).
6. Φ1 = ∃x∀y∃z∀u(P1 (x) ∧ ((P2 (x, y) → ¬P3 (y, z)) ∨ ¬(P1 (z) → P3 (z, u))));
Φ2 = ∀x(P1 (x) → ∃y(P2 (x, y) ∧ ¬P3 (x, y))).
½
2x, при x > 2,
7. f (x) =
x, при x ≤ 2.
ВАРИАНТЫ ТИПОВОГО РАСЧЕТА 235
Вариант 17
1. а) ¬x, ¬y ` ((y → x) → z) ∨ ((¬z → y) → x);
б) x ∨ ¬y ∨ u, y ∨ ¬u, x ∨ z ` x ∨ y;
в) x, y, z ` (x → y) ∨ (y → z);
г) x ∨ y ` (x → z) ∨ (y → z).
2. A = hR; ·i, B = hQ; ·i.
3. (P (x) ∧ ∀yQ(y)) ↔ ∀y(P (x) ∧ Q(y)).
4. ∃x∃y∃z¬((x · y) · z ≈ x · (y · z)).
5. ¬(∀x∀yP (x, y) → ∀x∀yQ(x, y)) ∧ ∀x∀yP (x, y).
6. Φ1 = ∃x(∃yP1 (x, y) ∧ ∀y(P1 (x, y) → ¬P2 (y, x)));
Φ2 = ∀x(∃yP1 (x, y) ∧ ∃zP2 (x, z));
Φ3 = ∀x∃y∀z∃u(P2 (x, y) ∧ P1 (y, z) ∧ P2 (z, u)).
½
x − 3, при x > 3,
7. f (x) =
0, при x ≤ 3.
Вариант 18
1. а) x ∨ y ∨ z ` (x ∨ y) → (y → z);
б) ` (x ∧ y) → (y → (z → y));
в) x ∨ y ∨ u, ¬x ∨ u ∨ ¬y, ¬u ∨ y ` u → x;
г) y → x, x → ¬z ` y → (x → ¬z).
2. A = hN; ·i, B = hQ; ·i.
3. (∃xP (x) ∨ ∃xQ(x)) ↔ ∃x(P (x) ∨ Q(x)).
4. ∀x¬P (x, x) ∧ ∀x∀y(P (x, y) → ¬P (y, x)) ∧ ∀x∀y∃z(P (z, x) ∧ P (z, y)).
5. ∀x¬(∀yP (x, y) ∨ ∃yQ(x, y)) ∨ ¬∀x∃yQ(x, y).
6. Φ1 = ∀x(P1 (x) → ¬P2 (x));
Φ2 = ∀x∀y(P1 (x) → ∃zP3 (x, y, z));
Φ3 = ∃x∀y∀z∃u((P1 (x) ∨ P2 (y)) ∧ P3 (x, y, z) ∧ ¬P3 (x, y, u)).
7. f (x) = 7x.
236 ВАРИАНТЫ ТИПОВОГО РАСЧЕТА
Вариант 19
1. а) (x ∧ y) ∨ z ` (x ∧ ¬z) → (y ∨ z);
б) ` x ∧ (y ∨ z) → ((x ∧ y) → (y ∧ z));
в) x ∨ y ∨ z, ¬x ∨ ¬z, y ∨ ¬x ` u ∨ x ∨ z;
г) (x → y) → z ` x → (y → z).
2. A = hZ; ·i, B = hQ; ·i.
3. (∀xP (x) ∧ ∀xQ(x)) ↔ ∀x(P (x) ∧ Q(x)).
4. ∀xP (x, x, x) ∧ ∃x∃y(¬(x ≈ y) ∧ P (x, y, x)) ∧ ¬∀x∀y∀zP (x, y, z).
5. ¬∀x(∃yP (x, y) ∧ ∃yQ(x, y)) ∧ ∀x¬∃yQ(x, y).
6. Φ1 = ¬∀x∃y(P1 (x, f (x)) ∧ (P2 (x, y) → ¬P1 (f (x), y)));
Φ2 = ∃x∀y∃z(¬(f (x) ≈ f (f (x))) ∧ (P1 (x, y) → ¬P (y, z)));
Φ3 = ∀x(∃yP1 (x, y) → ∃z¬P2 (x, z)).
7. f (x, y) = min(x, y).
Вариант 20
1. а) x, ¬y, ¬x ∨ y ` x → y;
б) x ∨ u ∨ ¬z, ¬x ∨ z, ¬u ∨ y ` x → y;
в) ` ¬(x ∧ ¬x);
г) ((x → y) → z) → x ` y ∨ x ∨ z.
2. A = hQ; +i, B = hZ; +i.
3. ¬∃xP (x) ↔ ∀x¬P (x).
4. ∀x∀y(x · s(y) ≈ s(x · y)) ∧ ∃x∃y¬(x · y ≈ y · x).
5. ¬((∃x∀yP (x, y) ∨ ∃x∃yQ(x, y)) ∨ ∃x∃yR(x, y)).
6. Φ1 = ∃x∀y∀z¬P1 (x, y, z);
Φ2 = ∀x∀y∃z(P2 (x) ∧ P1 (x, y, z) ∧ (¬P2 (y) → P1 (y, x, z)));
Φ3 = ∀x∃y∀z∃u(P1 (x, y, z) ∧ ¬P1 (x, y, u)).
7. f (x) = 2x + 3.
ВАРИАНТЫ ТИПОВОГО РАСЧЕТА 237
Вариант 21
1. а) x ∨ z ` ¬x → z;
б) y, z, ¬u ` y ∨ z ∨ u;
в) y ∧ ¬x, y ∧ x ` y → (x → y);
г) (x ∧ z) ∨ y ` (x ∨ y) ∧ x.
2. A = hQ; +i, B = hN; +i.
3. ¬∀xP (x) ↔ ∃x¬P (x).
4. ∃x∃y¬(x ≈ y) ∧ ∀x∀y∃z((f1 (z) ≈ x) ∧ (f2 (z) ≈ y)).
5. ¬(∃x∀yP (x, y) ∨ ∃x∃yQ(x, y)) ∨ ∃x∀yR(x, y).
6. Φ1 = ∃x∀y∀z∃u(P (x, y) ∧ ¬(f1 (x, z) ≈ f2 (x, u)));
Φ2 = ∀x∀y∀z(P (x, y) → (f1 (x, y) ≈ f2 (x, z)));
Φ3 = ∀x∀y(P (f1 (x, y), y) → ¬P (f2 (x, y), y)).
7. f (x) = 3x + 1.
Вариант 22
1. а) y, z ∨ u, x ` (y ∧ z) → ((u ∨ y) ∧ z);
б) y → x ` (y ∧ u) → (x ∧ u);
в) y → z, z → ¬y `;
г) z ` (z → y) → y.
2. A = hC; −i, B = hZ; −i.
3. ∀xP (x) ↔ ¬∃x¬P (x).
4. ∀x∃y∃z(R(y, x) ∧ R(z, x) ∧ ¬(y ≈ z)).
5. ∀x¬(∃yP (x, y) ∨ ∀yQ(x, y) ∨ ∃yR(x, y)) ∧ ¬∀x∀yR(x, y).
6. Φ1 = ∃x∀y∃z∃u¬(P1 (x, y) ∧ ¬(P2 (x, z, u));
Φ2 = ∃x∀y∀z∀u(¬P1 (y, z) → (P2 (x, y, z) ∧ ¬P2 (z, u, x)));
Φ3 = ∀x∀y(P1 (x, y) → ¬P1 (y, x)).
7. f (x) = sg(x) + 3.
238 ВАРИАНТЫ ТИПОВОГО РАСЧЕТА
Вариант 23
1. а) ¬(y ∧ ¬z) ` ¬y ∨ z;
б) x ∨ y, x ∨ z, x ∨ ¬z ∨ u ` u ∨ y;
в) ` (y ∧ z) → (y ∨ z);
г) x ` z → x.
2. A = hQ; −i, B = hC; +i.
3. ∃xP (x) ↔ ¬∀x¬P (x).
4. ∀x∃y∃z∃u(P (x, y) ∧ P (x, z) ∧ P (x, u) ∧ R(y, z, u)) ∧ ∀x¬R(x, x, x).
5. (∃x¬∀yP (x, y) ∧ ∃x∀yQ(x, y)) ∧ ∃x∀y(P (x, y) → R(x, y)).
6. Φ1 = ∀x(P1 (x) ∨ ¬(P2 (x) ∧ P3 (x)));
Φ2 = ∃y∀x(P4 (x, y) ∧ (P4 (y, x) → ¬(P1 (x) ∨ ¬P2 (x))));
Φ3 = ∀x(P3 (x) → ¬∃yP4 (x, y)).
7. f (x) = sg(x) + 4.
Вариант 24
1. а) y → (z → u) ` (y → z) → u;
б) ` ¬¬y → y;
в) y ∨ x ∨ u, ¬x ∨ ¬y ∨ u, ¬u ∨ x ` u ∨ y;
г) x ∨ ¬z ` ¬y → ¬z.
2. A = hN; ≤i, B = hN; P (x, y)i, где P (x, y) означает, что y делится на x.
3. ∃x∀yP (x, y) → ∀y∃xP (x, y).
4. ∀x∃y∃z∃u∃v(R(x, y, z) ∧ R(x, u, v)) ∧ ¬∃xR(x, x, x).
5. ¬∃x(∀yP (x, y) ∨ ∃yQ(x, y)) ∨ ∀x(∃yP (x, y) → ∀yQ(x, y)).
6. Φ1 = ∀x∃y∃z∀u(P1 (x, y) ∧ (P1 (x, y) → P2 (x, z, u)));
Φ2 = ∃x∀y∀z(P2 (x, y, z) ∧ ∃u∃v(P2 (x, y, z) → (P1 (x, u) ∧ P1 (v, x))));
Φ3 = ∀x∀y∃z(P2 (z, x, y) ∧ ¬P1 (z, x)).
7. f (x) = 2x + 4.
ВАРИАНТЫ ТИПОВОГО РАСЧЕТА 239
Вариант 25
1. а) y → x, x → ¬u ` y → (x → ¬u);
б) ` (y ∧ z) → (z → (x → z));
в) y ∧ z ∧ u ` (y ∨ z) → (z ∨ u);
г) x ∧ ¬y, x ∧ y ` z → (x → y).
2. A = hN; ≤i, B = hN; P (x, y)i, где P (x, y) означает, что x и y взаимно просты.
3. ∃x(P (x) → Q(x)) ∨ (∀xP (x) ∧ ∀x¬Q(x)).
4. ∀x¬R(x, x, x) ∧ ∃x∃y∃z∃u∃v(R(x, y, z) ∧ R(x, u, v)∧ ¬∃wR(z, w, v)).
5. ¬(∃x∀yP (x, y) → ∀x(∃yQ(x, y) → ∃yR(x, y))).
6. Φ1 = ∃x∀y∀z∀u(P1 (x, y) ∧ (P2 (y, z, x) ∧ ¬P3 (u, x)));
Φ2 = ∀x∀y(P1 (x, y) → (P3 (x, y) ∨ ∃zP2 (x, y, z)));
Φ3 = ∃x∃y(P1 (x, y) ∧ ∀zP2 (x, y, z)).
7. f (x, y) = max(x, y).
Указатель терминов
Аксиома Алгоритм, 134
Баркан, 204 Квайна, 32
Брауэра, 204 детерминированный, 182
альтернативного оператора, 220 линейный, 180
исчисления, 9 недетерминированный, 182
композиции, 219 полиномиальный, 180
математической индукции для фор- редукции, 34
мулы, 129 решающий распознавательную
оператора цикла until, 220 задачу за полиномиальное
оператора цикла while, 220 время, 182
ослабления постусловия, 219 унификации, 78
параллельности, 107 экспоненциальный, 180
присваивания, 219 Алфавит
усиления предусловия, 219 ИС, 13
условного оператора, 220 входной, 190
Аксиомы исчисления, 9
ИПΣ , 70 исчисления предикатов, 46
ИПСΣ , 54 машины Тьюринга внешний, 136
ИC, 13 Атом булевой алгебры, 111
ИВ, 28
Кейслера, 211 Булева алгебра
Морли, 111 атомная, 133
Скулема, 74 безатомная, 133
Хоара, 219 Булева комбинация формул, 109
Алгебра Линденбаума, 27 Верификация программы, 212
Алгебраическая система Вероятность, 198
двуосновная, 209 события, 198
двусортная, 209
УКАЗАТЕЛЬ ТЕРМИНОВ 241
Включение нечеткого Диаграмма
подмножества, 200 множества в системе, 104
Вхождение полная, 104
выражения в дерево, 11 модели конечная, 113
заключительное, 11 системы, 104
начальное, 11 полная, 104
подформулы, 20 теории конечная, 114
Вхождение переменной Дизъюнкт, 21
свободное, 48 сигнатуры Σ, 80
связанное, 48 унитарный, 38
Вывод негативный, 38
в исчислении I, 10 позитивный, 38
выражения, 10 хорновский, 40
по правилу согласия, 39 негативный, 40
резолютивный, 36, 81 точный, 40
Выполнение программы, 87 Дизъюнктивная нормальная форма,
Выражение 21, 63
выводимое в исчислении, 10 Дизъюнкция, 13, 210
доказуемое в исчислении, 10 Дискретность алгоритма, 134
Высказывание модальное, 203 Длина кортежа, 113
Вычитание единицы усеченное, 145 Добавление 1, 138
Доказательство
Гипотеза, 28 в виде дерева, 11
четырех красок, 94 в исчислении I, 10
Головка управляющая, 136 линейное, 10
Граф переходов, 213 выражения в виде дерева, 11
График функции, 166 теоремы, 10
Группа Дополнение
сторон, 107 знака числа, 145
углов, 107 нечеткого подмножества, 200
ДНФ, 21 Заголовок правила, 87
Дерево Задача
вывода, 11 N P-полная, 185
выражений, 10 N P-трудная, 186
семантическое, 32 недетерминированно разрешимая
Детерминированность алгоритма, 134 за полиномиальное время, 183
242 УКАЗАТЕЛЬ ТЕРМИНОВ
непустоты дополнения полурасши- частичный, 100
ренного выражения, 186 конечный, 100
нерешаемая, 186 Импликация, 13
о вершинном покрытии, 185 Инвариант цикла, 220
о выполнимости, 185 Инструкция семафорная, 216
о гамильтоновом цикле, 186 Интерпретатор, 88
о доминирующем множестве, 185 Интерпретация
о клике, 185 ИС, 22
о кодовом замке, 181 главная, 23
о независимости, 185 программы, 212
о раскраске, 186 Интуитивное понятие алгоритма, 134
о ядре, 186 Истинность
об изоморфизме графов, 183 секвенции сигнатуры Σ, 60
об изоморфной части графа, 185 формулы сигнатуры Σ, 49
переборная, 183 История мира, 208
сортировки, 187 Исчисление
труднорешаемая, 186 I0 , 203
Заключение правила, 9 T , 203
Закон S4, 204
двойного отрицания, 197 S5, 204
исключенного третьего, 197 Брауэра, 204
Замыкание формулы ПРФ, 145
универсальное, 82 Фейса — фон Вригта, 203
Запрос целевой, 87 ЧРФ, 151
Знак числа, 145 высказываний, 13, 28
Зона активная, 177 генценовского типа, 12
гильбертовского типа, 12
ИВ, 12, 28 интуиционистское, 197
ИИВ, 197 независимое, 27
ИП, 12 непротиворечивое, 12
ИПРФ, 145 неразрешимое, 12, 169
ИПС, 12, 61 полное по Крипке, 206
ИС, 12, 13 предикатов
ИЧРФ, 151 гильбертовского типа, 70
Идентификатор, 217 секвенциальное, 53
Изображение конечного автомата, 190 разрешимое, 12, 169
Изоморфизм
УКАЗАТЕЛЬ ТЕРМИНОВ 243
резольвент, 36 Литера, 21
сигнатуры Σ, 82 отрезаемая, 81
формальное, 9 сигнатуры Σ, 80
Логика, 5
КНФ, 21 k-значная, 197
Квантор, 46 алгоритмическая, 217
всеобщности, 46 Хоара, 219
ограниченный, 148 бесконечная, 210
существования, 46 вероятностная, 198
КлНФ, 76 временна́я, 207
Клазуальная нормальная форма, 76 Прайора, 207
Клика, 185 Леммона, 207
Ключ, 181 минимальная, 207
Команда, 136 фон Вригта, 208
Композиция второго порядка слабая, 209
машин Тьюринга, 139 двузначная, 197
операторов, 218 интуиционистская, 196
подстановок, 77 континуумзначная, 198
Конечный автомат математическая, 5
детерминированный, 190 модальная, 203
недетерминированный, 191 неклассическая, 196
Константа скулемовская, 74 нечеткая, 198
Контактная схема нечеткая, 201 первого порядка, 45
Континуум-гипотеза, 128 многосортная, 208
Конфигурация, 137 предикатная, 196
заключительная, 137 предикатов, 45
начальная, 137 пропозициональная, 196
Конъюнкт, 21 символическая, 5
Конъюнктивная нормальная форма, счетнозначная, 198
21, 63 темпоральная, 207
Конъюнкция, 13, 210 Пнуели, 214
Координата Ложность секвенции сигнатуры Σ, 60
левая, 149
правая, 149 Максимум чисел, 145
Копирование, 138 Массовая задача, 179
оптимизационная, 181
Лента конечная, 136 распознавательная, 181
244 УКАЗАТЕЛЬ ТЕРМИНОВ
решаемая эффективно, 180 состояний, 190
Массовость алгоритма, 134 формул
Матрица, 63 I-выполнимое, 206
весов, 201 I-невыполнимое, 206
подстановки, 183 ИС, 13
Машина Тьюринга, 135 в теории, 113
детерминированная, 182 непротиворечивое, 65
недетерминированная, 182 несовместное, 65
Машина стирающая, 138 противоречивое, 31, 65
Метод совместное, 65
пузырька, 189 формул сигнатуры Σ
резолюций выполнимое, 52
в ИВ, 35 локально выполнимое, 69
для хорновских дизъюнктов, 39 унифицируемое, 77
Минимум чисел, 146 формул,
Мир совместное с теорией, 113
возможный, 205 формульно определимое, 123
действительный, 205 формульное, 123
достижимый, 205 Модальности пространственно-времен-
Многоугольник, 107 ны́е, 206
Множества Модальность, 203
нечеткие равные, 200 Модели взаимно подчиняющиеся, 127
нечеткие совпадающие, 200 Модель
Множество Крипке, 205
в теории, 113 арифметики стандартная, 130
вершин независимое, 185 множества формул, 52
внутренних состояний, 136 насыщенная, 119
выражений исчисления, 9 однородная, 118
доминирующее, 185 подчиняющаяся модели, 127
допустимое, 210 предельная над типом, 127
заключительных состояний, 190 простая, 116
конечное, 209 простая над множеством, 125
определимое, 123 простая над реализацией типа, 125
принимающих состояний, 190 универсальная, 119
рассогласований, 78 Модуль разности, 145
решений формулы, 123 Морлизация теории, 111
УКАЗАТЕЛЬ ТЕРМИНОВ 245
НОУ, 78 условный, 140, 218
Направленность алгоритма, 134 с циклом, 141
Неразрешимость цикла, 218
алгоритмическая, 135 Описание программы, 212
Номер Оракул, 182
гёделевский, 169 Остаток, 146
наибольшего простого Отношение
делителя, 146 n-местное нечеткое, 201
функции клиниевский, 162 вычислимо перечислимое, 164
Нумерация вычислимое, 164
гёделевская, 169 коллинеарности, 107
клиниевская n-местных частично примитивно рекурсивное, 147
рекурсивных функций, 162 рекурсивно перечислимое, 164
множества, 149 рекурсивное, 164
Отрицание, 13
ОРФ, 151
Обеднение алгебраической системы, 74 ПВФ, 142
Область действия вхождения ПКлНФ, 63
квантора, 48 ПНФ, 63
Обогащение ПРО, 147
алгебраической системы, 74 ПРФ, 144
консервативное теории, 110 Память
Объединение нечетких в алгоритмической логике, 217
подмножеств, 200 схемы, 213
Означивание Переменная, 46
формулы, 204 пропозициональная, 13
характеристическое, 204 свободная, 48
Оператор, 217 связанная, 48
возможности, 203 Перенос нуля, 137
минимизации, 151 Пересечение нечетких подмножеств, 200
модальный, 203 Перестановка циклическая, 139
необходимости, 203 Переход, 11
ограниченной минимизации, 149 Подмножество нечеткое, 200
подстановки, 144 Подсистема элементарная, 101
примитивной рекурсии, 144 Подстановка
присваивания, 213, 217 пропозициональных переменных, 17
суперпозиции, 144 пустая, 76
246 УКАЗАТЕЛЬ ТЕРМИНОВ
сигнатуры Σ, 76 за один шаг работы машины Тью-
Подформула, 20, 47 ринга, 137
Показатель степени простого числа, Преобразователь, 213
146 Принцип
Покрытие вершинное, 185 максимума, 65
Поле алгебраических чисел, 116 противоречия, 197
Порядок Приставка кванторная, 63
линейный плотный, 53 Проблема
элемента конечный, 209 Воота, 128
Последовательность угадывающая, Лахлана, 128
182 Программа, 134, 136, 212, 217
Постусловие программы, 214 тотально правильная, 214
Посылка, 9, 40 частично правильная, 214
Правило, 87 Программа логическая, 87
Гёделя, 203
верификации, 219 РО, 164
вывода ИПΣ , 71 РПО, 164
вывода ИПСΣ , 54 РФ, 151
вывода в ИВ, 28 Работа конечного автомата на слове,
вывода исчисления, 9 190
вывода независимое, 27 Разность усеченная, 145
допустимое, 15 Разрешимость ИС, 27
заключения, 28 Распознаватель, 213
инвариантное, 215 Расстояние, 107
согласия, 39 Расширение
Предклазуальная нормальная консервативное теории, 110
форма, 63 элементарное, 102
Предложение сигнатуры Σ, 48 Реализации Φ(x, A)-однотипные, 113
Предусловие программы, 214 Реализация типа, 113
Пренексная нормальная форма, 63 Резольвента
Преобразование машинного бинарная, 81
слова, 137 дизъюнктов, 35, 81
без достраивания ячеек по литере, 35
слева, 137 СДНФ, 198
без достраивания ячеек слева Сводимость полиномиальная, 184
и справа, 137
УКАЗАТЕЛЬ ТЕРМИНОВ 247
Свойство исключения критических эквивалентные, 100
связей, 215 Склейка, 80
Сдвиг Скулемизация
влево, 137 алгебраической системы, 74
вправо, 137 полная, 75
Секвенции равносильные, 17 полная, 110
Секвенция, 13 сигнатуры, 74
ИПСΣ , 53 полная, 75
истинная на наборе, 24 Следование, 13
исчисления, 9 Следствие
тождественно истинная, 24, 60 выражений непосредственное, 9
Секция критическая, 216 логическое, 65
Семантика, 212 Слово
Крипке, 205 входное, 179
логическая, 88 исчисления, 9
операционная, 88, 213 машинное, 137
Семантика исчисления, 23 представимое
Символ, 9 детерминированным конечным
будущего, 207 автоматом, 190
вспомогательный, 13 конечным автоматом, 192
логический, 13 Сложность алгоритма, 179
Синтаксис исчисления, 23 Сложность машины Тьюринга
Система временна́я, 177
Дедекинда — Пеано, 132 ленточная, 177
аксиом арифметики Пеано, 129 Событие, 198
аксиом для теории, 106 дополнительное, 199
геометрическая, 107 достоверное, 198
наследственно конечных множеств, невозможное, 198
210 События несовместные, 198
насыщенная, 119 Совершенная дизъюнктивная нормаль-
однородная, 118 ная форма, 198
полигонометрическая, 108 Сортировка
тригонометрическая, 108 бинарными вставками, 188
универсальная, 119 вставками, 188
функций полная, 198 обменная, 189
Системы элементарно обменная быстрая, 189
248 УКАЗАТЕЛЬ ТЕРМИНОВ
подсчетом, 187 Воота, 116
посредством выбора, 187 Гёделя о неполноте теории
простыми вставками, 188 арифметики Пеано, 175
распределяющим подсчетом, 187 Гёделя о полноте, 69
с вычислением адреса, 189 Клини о нормальной форме, 157
с убывающим шагом, 188 Куратовского — Цорна, 65
Состояние Лёвенгейма — Скулема
заключительное, 136 о подъеме, 105
ленты, 136 о спуске, 105
начальное, 136, 190 Линдстрёма, 212
Спектр теории, 121 Лося — Воота, 122
Степень Мальцева о компактности, 69
определенности, 198 Морли, 123
четкости, 198 Поста, 165
Схема Райса, 163
аксиом ИПΣ , 71 Рыль-Нардзевского, 122
аксиом ИВ, 28 Тарского — Воота, 103
аксиом ИС, 13 Чёрча о неразрешимости ИПΣ0 , 175
аксиом независимая, 27 Шелаха, 124
операторная, 213 единственности для насыщенных
примитивной рекурсии, 144 моделей, 120
программы, 212 единственности для простых
программы с памятью, 213 моделей, 117
рекурсивная, 213 исчисления, 10
рекурсивной программы, 213 о графике, 166
о дедукции, 29, 72
Таблица о замене, 20, 63
истинности, 24 о неподвижной точке, 162
команд, 138 о непротиворечивости ИПСΣ , 60
Тезис о непротиворечивости модальных
Гильберта, 196 исчислений, 206
Чёрча, 135 о неразрешимости элементарной тео-
Теорема рии арифметики, 175
Аккермана, 152 о подстановке, 18
Блюм об ускорении, 178 о полноте, 26
Болдвина — Еримбетова — Лахла- метода резолюций, 36, 82
на, 124
УКАЗАТЕЛЬ ТЕРМИНОВ 249
о полноте для исчисления преди- безатомных булевых алгебр, 111
катов, 60 вещественно замкнутых полей, 110
о полноте модальных геометрическая, 107
исчислений, 206 допускающая элиминацию
о представимости в A0 , 173 кванторов, 109
о составном определении рекурсив- категоричная в мощности, 122
ной функции, 165 конечно аксиоматизируемая, 108
о составном определении частично малая, 121
рекурсивной функции, 167 моделей, 5, 99
о существовании модели, 65 модельно полная, 111
об изоморфизме однородных независимых одноместных преди-
моделей, 118 катов, 111
об опускании типов, 114 непротиворечивая, 106
об универсальности, 158 несчетно категоричная, 123
клиниевских функций, 161 плотных линейных порядков, 107
об эквивалентности ИПCΣ и ИПΣ , плотных линейных порядков без кон-
73 цевых элементов, 107
об эквивалентности ИС и ИВ, 30 полигонометрическая, 108
об элементарных цепях, 103 полная, 106
об элиминации примитивной полугрупп, 106
рекурсии, 153 порожденная множеством предло-
существования для насыщенных мо- жений, 106
делей, 120 противоречивая, 106
существования для однородных мо- разрешимая, 175
делей, 118 с элиминацией кванторов, 109
существования для простых моде- сигнатуры Σ, 106
лей, 117 стабильная, 124
Теория, 100 стабильная в мощности, 124
∃-аксиоматизируемая, 108 суперстабильная, 124
∀-аксиоматизируемая, 108 тригонометрическая, 108
∀∃-аксиоматизируемая, 108 универсально
λ-категоричная, 122 аксиоматизируемая, 108
λ-стабильная, 124 элементарная, 100, 106
алгебраически замкнутых полей, 109 эренфойхтова, 126
алгебраических систем, 5 Терм
алгоритмов, 5 вычислительный, 213
арифметики Пеано, 129 предикатный, 213
250 УКАЗАТЕЛЬ ТЕРМИНОВ
условный, 213 Факт, 38, 87
Тип Факториал, 145
властный, 126 Формула
главный, 114 I-общезначимая, 206
изолированный, 114 I-опровержимая, 206
изолирующий, 114 ИПΣ , 70
изоморфизма алгебраической ИПСΣ , 53
системы, 124 vm -общезначимая, 204
кортежа над множеством, 112 тождественно
над множеством, 113 истинная, 24
не превосходящий типа по предпо- ложная, 24
рядку Рудин — Кейслера, 127 ИВ, 28
определяющий, 114 атомарная, 13
опускающийся в модели, 113 бескванторная, 46
подчиняющийся типу, 127 в теории, 113
полный, 114 выводимая
реализующийся в модели, 113 из формул, 28
Типы изоморфизма взаимно главная, 114
подчиняющиеся, 127 декомпозиционная, 128
Ток доказуемая в ИС, 14
контакта, 201 изолирующая, 114
инвариантная, 220
нечеткой контактной схемы, 201
истинная на наборе, 24
функции проводимости, 201
исчисления, 9
Точка наименьшая неподвижная, 214
ложная на наборе, 24
Транспозиция, 137
недвукардинальная, 124
Треугольник, 107
представляющая, 173
Трудоемкость алгоритма, 179
сигнатуры Σ, 46
Угол, 107 атомарная, 46
Удаление 1, 138 выполнимая в системе, 50
Удвоение аргументов, 139 замкнутая, 48
Унар, 133 истинная, 49
Унификатор, 77 ложная, 49
наиболее общий, 78 общезначимая, 50
противоречивая, 50
УКАЗАТЕЛЬ ТЕРМИНОВ 251
тождественно истинная, 50 представимая в A0 , 173
тождественно ложная, 50 примитивно рекурсивная, 145
сильно минимальная, 124 простейшая, 144
элементарная, 13 проводимости нечеткая, 201
Формулы проекции на m-ю координату, 143
T -эквивалентные, 109 распределения числа предельных
сигнатуры Σ эквивалентные моделей, 128
в ИПСΣ , 61 рекурсивная, 151
эквивалентные, 18 скулемовская, 74
Фрагмент истории, 208
следования, 100, 142
Функция
сложения, 145
k-значной логики, 197
спектральная, 121
не превосходящая по порядку функ-
умножения, 145
цию, 180
универсальная для класса, 158
Аккермана, 152
усеченной разности, 143
диагональная, 152
Гёделя, 152 характеристическая, 147, 213
Клини, 159 частично рекурсивная, 151
быстрорастущая, 151
Цель, 40, 87
возведения в степень, 145
Цепь элементарная, 103
всюду определенная, 144
выходов, 190 ЧРФ, 151
вычислимая, 135 Частное, 146
вычислимая на машине Четырехугольник, 107
Тьюринга, 141 Число простое, 146
истинностная формулы, 24
канторовская нумерующая, 149 Элемент аномальный, 132
кодирующая для множества Элементарность шагов алгоритма, 134
слов, 155
нумерующая клиниевская, 161 Ядро
общерекурсивная, 151 графа, 186
переходов, 190 дизъюнктивное, 63
печати, 190 конъюнктивное, 63
правильно вычислимая, 142 Ячейка, 136, 217
на машине Тьюринга, 142 пустая, 136
Указатель обозначений
{ϕ}Π ↓ {ψ}, 214 B-означивание, 206
{ϕ}Π{ψ}, 214 B(n, x), 151
(T1 )n , 139 CX , 104
(∃z ≤ y), 148 D(T ), 114
(∀z ≤ y), 148 D(A), 104
(µy ≤ α(x))P (x, y), 149 DP -система, 132
(ϕT ψ), 208 D∗ (A), 104
(ϕ)xt11,...,t
,...,xn
n
, 53 E(I), 9
(ϕ ↔ ψ), 18 E(T1 , T2 ), 140
(ϕ → ψ), 13, 46 F , 207, 215
(ϕ ∨ ψ), 13, 46 G, 207, 215
(ϕ ∧ ψ), 13, 46 I(T, λ), 121
(ck1 , . . . , ckk ), 150 n (x , . . . , x ), 143
Im 1 n
(t1 ≈ t2 ), 46 I0 , 203
+, 143 K n (x1 , . . . , xn ), 161
0, 35, 81, 136 L, 136
0-функция, 142 L(x), 215
1, 39 L(Q), 211
A(I), 9
L(Q0 ), 211
A(x), 152
Lω1 ω , 210
A(M), 192
M (f, g), 151
A0 , 21
M ⇒T M 0 , 137
A1 , 21
M →T M 0 , 137
A1 ∨ A2 , 200
M VT M 0 , 137
A1 ∧ A2 , 200
M |VT M 0 , 137
УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ 253
M o (f, g), 151 Tsg , 106
O-символика, 179 Tdlo , 107
O(g(n)), 180 U k (n, x1 , . . . , xk ), 158
P (A), 198 Uk (n, x1 , . . . , xk ), 158
P (t1 , t2 , . . . , tn ), 46 V , 46
PT(Σ), 213 W (I), 9
P ⇒ Q, 147 W θ, 77
P ∨ Q, 147 Z1 ∝ Z2 , 184
P ∧ Q, 147 [c], 67
R, 136 [x1 , . . . , xn ], 159
R(f, g), 144 ⊆ S(A), 114
S(A), 114 ⊆ S n (A), 114
S(Σ), 74, 75 ⊆ S n (A), 113
x
S(f1 , . . . , fm , g), 144 ¤, 203
S n (A), 114 ∆n , 130
Sxn (A), 114 ♦, 203
S1 ! S2 , 17 Γ(x, y), 152
T , 203 Γ `, 13, 31
T -означивание, 205 Γ ` ψ, 13
T -оценивание, 205 Γf , 166
T (Σ), 46, 213 Γdlo , 53, 107
T (i, j), 136 Γlo , 53
T (w), 192 Φ(x, A) ` Ψ(x, A), 114
T (F), 106 Φθ, 77
T M , 111 ⇒∞ , 142
∗ , 107
Tdlo Σ, 46
T cS , 110 ΣM , 111
T1 T2 , 139 ΣS , 74
T1 T2 T3 , 139 ΣcS , 75
T1 ◦ T2 , 139 ΣX , 104
TA , 125 ℵ, 215
TF , 106 αqj ai β, 137
TP , 129 ≈, 46
TRCF , 110 a ∈ X, 112
254 УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ
n, 141 A 4 B, 101
x, 111 A ¹ Σ0 , 74
W
Φ, 210 AX , 104
V
Φ, 210 M |= Γ, 52
resA (K1 , K2 ), 39 Mp , 125
·, 143 Mp ≤RK Mq , 127
−̇, 143 N |= Φ(b, A), 113
≡, 18, 61 R(I), 9
≡P , 61 ИПΣ , 45, 46, 70
∃x ϕ, 46 ИПСΣ , 45, 53
∃x1 , . . . , xn ϕ, 46 ИРΣ S , 82
∃y Q(x1 , . . . , xk , y), 164 ИРS , 36
∃, 46 |= ϕ, 50
∃-формула, 108 |=vm ϕ, 204
∀x ϕ, 46 µy (f (x, y) ≤ g(x, y)), 151
∀x1 , . . . , xn ϕ, 46 µ(α, P ), 149
∀, 46 µA , 199, 200
∀-формула, 108 µP , 201
∀∃-формула, 108 ¬P , 147
γ, 169 ¬, 13, 46
κn , 162 ¬ϕ, 13, 46
код(·), 155 π(x), 194
[Π]qqij , 139 res(Φ1 , Φ2 ), 81
↔, 18 res(D1 , D2 ), 35
A0 , 129, 173 resA (D1 , D2 ), 35
P, 129 τ (x), 194
A(G1 , G2 ), 108 θ ◦ λ, 77
B-логика, 209 →, 13, 46
A ≡ B, 100 V∞ , 142
A |= ϕ(a1 , . . . , an ), 49 ε, 76
A 6|= ϕ(a1 , . . . , an ), 49 ϕ(A1 , . . . , Ak ), 24
A 64 B, 102 ϕ(M, a), 123
A ⊀ B, 102 ϕ(t1 , . . . , tn ), 54
A ≺ B, 102 ϕ(x1 , . . . , xn ), 48
УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ 255
ϕ ≡ ψ, 18, 61 qi aj → qk al , 136
ϕ ≡P ψ, 61 qj ai → qk L, 136
ϕ ≡T ψ, 109 r(n), 149
ϕ0 , 15 s(x), 142
ϕ1 , 15 sT (x), 177
ϕ1 , . . . , ϕm ` ϕ, 28 tθ, 77
{ϕ1 , . . . , ϕm } ` ϕ, 28 tT (x), 177
ϕA , 108 vm , 204
∗ , 205
vm
ϕsg , 106
`, 13 x := t, 213, 217
∨, 13, 46 DOk {θ}, 219
L0 , 217
∧, 13, 46
M1 ∼RK M2 , 127
{ϕ}S{ψ}, 217
N P, 183
{t1 /x1 , . . . , tn /xn }, 76
P, 181
axi , 137
Ax, 106
c(x, y), 149
Ax(I), 9
ck , 150
FD(M), 113
f -номер функции, 158
Fr, 170
fϕ , 24
HF(A), 210
k-развертка, 150 HF(A), 210
k-свертка, 150 f 127
IL(M),
l(a), 113 Nm(n), 174
l(y), 113 RK(T ), 127
l(n), 149 SF(ϕ), 47
l(z), 179 Sb, 170
m-означивание Th(A), 100
исчисления, 204 lh(x), 194
формулы, 204 tp(A, M), 113
n-тип, 113 tp(a), 113
n-угольник, 107 tp(a/A), 113
o(x), 142 tpxM (a/A), 112
p ≤RK q, 127 S4-означивание, 206
qi aj → qk R, 136 S5-означивание, 206