Text
                    МАТЕМАТИЧЕСКАЯ ЛОГИКА
КУРС ЛЕКЦИЙ И ПРАКТИЧЕСКИХ ЗАНЯТИЙ
Алгебра и исчисление высказываний
Логика и исчисление предикатов Рекурсив» е функции и машины Тьюринга 400 задач с решениями и ответами
УЧЕБНОЕ ПОСОБИЕ
С. Д. Шапорев
МАТЕМАТИЧЕСКАЯ ЛОГИКА
КУРС ЛЕКЦИЙ И ПРАКТИЧЕСКИХ ЗАНЯТИЙ
УДК 681.3.06+519.6(075.8)
ББК 32.973я73
Ш24
Шапорев С. Д.
Ш24 Математическая логика. Курс лекций и практических занятий. — СПб.: БХВ-Петербург, 2005. — 416 с.: ил.
ISBN 5-94157-702-8
В учебном пособии представлены разделы, традиционно изучаемые в курсе математической логики: алгебра логики и исчисление высказываний, логика и исчисление предикатов, рассмотрены вопросы содержательного и формального определения логики высказываний и логики предикатов. Дается введение в теорию алгоритмов и вычислимых функций. Содержание разделов книги взаимно связано друг с другом и снабжено большим количеством примеров и решенных задач, помогающих усвоить и закрепить излагаемый материал.
Для студентов, аспирантов и преподавателей технических вузов
УДК 681.3.06+519.6(075.8)
ББК 32.973я73
Рецензенты:
Попов М. С. — доктор технических наук, профессор, заведующий кафедрой высшей математики Балтийского государственного технического университета "Военмех" (БГТУ)
Дегтярев В. Г. — доктор технических наук, профессор, заведующий кафедрой высшей математики Петербургского государственного университета путей сообщения (ПГУПС)
Группа подготовки издания:
Главный редактор Зам. гл. редактора Зав. редакцией Редактор
Компьютерная верстка Корректор
Дизайн обложки Зав. производством
Екатерина Кондукова Людмила Еремеевская Григорий Добин Наталья Довгулевич Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай Тверских
Лицензия ИД Ns 02429 от 24.07.00. Подписано в печать 27.09.05.
Формат 70х100’/ц. Печать офсетная. Усл. печ. л. 33,54. Тираж 3000 экз. Заказ Ns 4306 "БХВ-Петербург",194354, Санкт-Петербург, ул. Есенина, 5Б.
Санитарно-эпидемиологическое заключение на продукцию Ns 77.99,02.953.Д.006421.11.04 от 11Л1.2004 г. выдано Федеральной службой по надзору в сфере защиты прав потребителей и благополучия человека.
Отпечатано с готовых диапозитивов в ГУП “Типография "Наука-199034, Санкт-Петербург, 9 линия, 12
ISBN 5-94157-702-8
С Шапорев С. Д„ 2005
© Оформление, издательство "БХВ-Петеобург", 2005
Оглавление
ЧАСТЬ I. МАТЕМАТИЧЕСКАЯ ЛОГИКА.................................1
Глава 1. Алгебра логики (алгебра высказываний).................3
1.1.	Введение..................................................3
1.2.	Операции над высказываниями...............................5
1.3.	Формулы алгебры логики....................................9
1.4.	Равносильные группы формул и равносильные преобразования.11
1.5.	Практическое занятие № 1. Алгебра высказываний...........16
1.6.	Алгебра Буля.............................................20
1.7.	Функции алгебры логики...................................23
1.8.	Разложение булевых функций по переменным.................25
1.9.	Дизъюнктивная и конъюнктивная нормальные формы...........28
1.10.	Закон двойственности....................................32
1.11.	Практическое занятие № 2. Функции алгебры логики. Закон двойственности.........................................34
1.12.	Минимизация булевых функций в классе ДНФ................37
Карты Карно...................................................37
1.13.	Проблема разрешимости...................................42
1.14.	Полиномы Жегалкина......................................45
1.15.	Полнота и замкнутость функций алгебры логики............48
1.16.	Производные от булевых функций..........................53
1.17.	й-значные логики........................................59
1.18.	Практическое занятие № 3. Минимизация в классе дизъюнктивных нормальных форм. Замкнутые классы и полнота систем функций алгебры логики, Аг-значные логики............................68
1.19.	Схемы из функциональных элементов. Релейно-контактные схемы, оценка сложности схем........................................71
1.20.	Решение логических задач................................83
1.21.	Практическое занятие № 4. Реализация булевых функций схемами и формулами. Решение логических	задач....................87
IV
Оглавление
Глава 2. Исчисление высказываний...............................93
2.1.	Язык, система аксиом и правила вывода исчисления высказываний...................................................93
2.2.	Некоторые дополнительные производные правила вывода.......98
2.3.	Теорема дедукции и другие законы исчисления высказываний.106
Теорема дедукции..............................................106
Обобщение теоремы дедукции....................................108
Закон перестановки посылок....................................108
Закон соединения посылок......................................109
Закон разъединения посылок ....................................НО
2.4.	Практическое занятие № 5. Исчисление высказываний: правила вывода и доказуемость формул..........................117
2.5.	Монотонность и эквивалентность формул исчисления высказываний.......................................120
2.6.	Связь между формулами алгебры высказываний и исчисления высказываний.....................................122
2.7.	Некоторые алгоритмы проверки выводимости формул в исчислении высказываний.....................................128
Алгоритм Квай на 129
Алгоритм метода редукций......................................131
Метод резолюций...............................................131
2.8.	Проблемы аксиоматического исчисления высказываний........134
2.9.	Практическое занятие № 6. Эквивалентность формул исчисления высказываний и теорема о выводимости. Алгоритмы Квайна, редукций и резолюций..........................................137
Глава 3. Логика предикатов....................................141
3.1.	Определение предикатов и логические операции над ними....141
3.2.	Кванторные операции......................................146
3.3.	Формулы логики предикатов..............................  149
3.4.	Практическое занятие № 7. Логические и кванторные операции над предикатами...............................................153
3.5.	Равносильные формулы логики предикатов...................156
3.6.	Предваренная нормальная форма. Общезначимость и выполнимость формул логики предикатов.......................159
Случай конечных областей......................................163
Проблема разрешимости для формул, содержащих в предваренной нормальной форме кванторы одного типа..........164
3.7.	Практическое занятие № 8. Выполнимость формул логики предикатов......................................166
3.8.	Применение языка логики предикатов для записи математических предложений.........................168
Оглавление
V
Запись математических определений.............................168
формулировка математических теорем............................170
Построение противоположных утверждений и доказательство методом от противного.........................................171
формулировка обратных и противоположных теорем................173
Формулировка необходимых и достаточных условий................175
3.9.	Практическое занятие № 9. Применение языка логики предикатов в математике..................................................176
Глава 4. Исчисление предикатов................................181
4.1.	Синтаксис языка исчисления предикатов....................181
4.2.	Аксиомы и основные правила вывода........................183
4.3.	Производные правила вывода в исчислении предикатов.......187
4.4.	Некоторые теоремы исчисления предикатов..................188
4.5.	Эквивалентные формулы....................................193
4.6.	Дедуктивная эквивалентность..............................196
4.7.	Получение V -формул. Скулемовские функции................197
4.8.	Унификация формул исчисления предикатов..................200
4.9.	Метод резолюций в исчислении предикатов..................204
4.10.	Практическое занятие № 10. Унификация формул. Метод резолюций в исчислении предикатов.......................210
4.11.	Некоторые проблемы аксиоматического исчисления предикатов.212
Разрешимость..................................................212
Непротиворечивость и независимость............................212
Полнота в узком смысле........................................213
Полнота в широком смысле......................................214
Глава 5. Теория алгоритмов....................................215
5.1.	Характерные черты алгоритма..............................215
5.2.	Вычислимые, частично рекурсивные и общерекурсивные функции.....................................218
Примитивная рекурсия..........................................219
Операция минимизации..........................................229
5.3.	Примитивная рекурсивность некоторых арифметических функций........................................232
5.4.	Практическое занятие № 11. Рекурсивность функций.........236
5.5.	Словарные множества и функции............................239
5.6.	Машины Тьюринга..........................................244
5.7.	Неразрешимые алгоритмические проблемы....................257
5.8.	Практическое занятие № 12. Словарные функции. Построение программ для машин Тьюринга........................259
VI
Оглавление
ЧАСТЬ II. ОТВЕТЫ, РЕШЕНИЯ, УКАЗАНИЯ.............................261
Глава 6. Алгебра высказываний...................................263
6.1.	Ответы и решения задач....................................263
практического занятия № 1.......................................263
6.2.	Ответы и решения практического занятия №2.................273
6.3.	Ответы и решения практического занятия №3.................284
6.4.	Ответы и решения практического занятия №4.................307
Глава 7. Исчисление высказываний................................319
7.1. Ответы и решения практического занятия № 5.................319
7.2. Ответы и решения практического занятия №6..................329
Глава 8. Логика иредикатов......................................345
8.1.	Ответы и решения практического занятия № 7................345
8.2.	Ответы и решения практического занятия № 8................351
8.3.	Ответы и решения практического занятия № 9................357
Глава 9. Исчисление иредикатов..................................367
9.1. Ответы и решения практического занятия № 10................367
Глава 10. Теория алгоритмов...................................  383
10.1. Ответы и решения практического занятия № 11................383
10.2. Ответы и решения практического занятия № 12................395
Сиисок литературы...............................................405
Предметный указатель............................................406
Часть I
Математическая логика
Глава 1. Алгебра логики (алгебра высказываний)
Глава 2. Исчисление высказываний
Глава 3. Логика предикатов
Глава 4. Исчисление предикатов
Глава 5. Теория алгоритмов
Глава 1
Алгебра логики (алгебра высказываний)
1.1.	Введение
Формальная логика существует уже более двух тысячелетий. Зачатки логики явно прослеживаются в работах Аристотеля . Идеи о построении логики на математической основе, т. е. по сути математической логики, были высказаны Лейбницем * ** в начале 18-го века.
Впервые идеи Лейбница реализовал Д. Буль*** в 40-х гг. девятнадцатого столетия. Он создал алгебру, в которой буквами обозначены высказывания, и это привело к появлению алгебры высказываний. Применение математики к логике позволило представить логические теории в новой удобной форме и применить вычислительный аппарат к решению задач, малодоступных человеческому мышлению из-за особенностей человеческой психики.
Современная математическая логика определяется как раздел математики, посвященный изучению математических доказательств и вопросов основания математики. Одна из главных причин широкого распространения математической логики— применение аксиоматического метода в построении различных математических теорий. В нем сначала выбираются некоторые понятия, которые не определяются, а лишь поясняются. Затем без доказательства принимается некоторый набор аксиом, а уже потом из этих аксиом логически строго выводятся и доказываются все оставшиеся положения теории. Самым ранним примером аксиоматической теории являются "Начала" Евклида ***. Однако система аксиом, положенная Евклидом в основу теории, не является единственной и содержит небесспорный пятый постулат (аксиому о параллель
* Аристотель (384-322 до п.э.) — древнегречески)! математик.
** Готфрид Вильгельм Лейбниц (1646-1716) — немецкий математик.
*” Джордж Буль (1815-1864) — английский математик и логик.
Евклид Александрийский (около 325 — около 265 до и. э.) — древний математик.
4
Часть I. Математическая логика
ных прямых). Это не означает, что построенная затем теория (классическая геометрия) была неверной, но указывает на возможность построения иных геометрий (геометрии Лобачевского , например).
Отличительная черта математической логики — использование доказательств, а не наблюдений. Однако ясно, что невозможно доказать все математические законы, т. к. самые первые из них не могут быть доказаны: нет более ранних законов, из которых они могут быть выведены. Поэтому необходимо выбрать некоторые начальные законы, называемые аксиомами, которые принимаются без доказательств, остальные законы — теоремы — могут быть доказаны исходя из аксиом.
К системе аксиом предъявляется одно непременное требование — она должна быть непротиворечивой. Это значит, что из данной системы аксиом (непротиворечивой) нельзя логическим путем вывести два противоречащих друг другу утверждения. Основным методом доказательства непротиворечивости является метод моделирования, или метод интерпретаций, который строится для математических теорий на базе теории множеств.
С математическими понятиями происходит процесс сведения сложных понятий к простым. Многие из них можно определить в терминах других понятий. Но опять же самые первые понятия не могут быть определены, т. к. нет более ранних понятий, в терминах которых их можно было бы определить. Поэтому нужно выбрать некоторые понятия, называемые основными, которые будут лишь поясняться, оставаясь формально неопределенными. Остальные понятия, называемые производными, определяются в терминах основных.
Совокупность основных и производных понятий, аксиом и теорем называется аксиоматической системой. Все составляющие аксиоматической системы могут рассматриваться с двух точек зрения: в виде объекта, имеющего собственную внутреннюю структуру, или в виде предложения, выражающего определенный факт. Изучение внутренней структуры аксиом и теорем называется синтаксическим изучением аксиоматических систем, изучение их смысла — семантическим изучением.
Современная теория множеств— база математической логики— не содержит "парадоксов” (типа парадокса Рассела о "нормальном" множестве), однако средства этой аксиоматической теории не позволяют доказать ее непротиворечивость.
‘Николай Иванович Лобачевский (1792—1856) — русский математик.
Глава 1. Алгебра логики (алгебра высказываний) 5
1.2.	Операции над высказываниями
Учение о высказываниях — алгебра высказываний, или алгебра логики, — является простейшей логической теорией. Она рассматривает конечные конфигурации символов и взаимоотношения между ними. Знакомство с законами алгебры высказываний облегчает изучение более сложных логических исчислений.
Высказывание — это всякое повествовательное предложение, утверждающее что-либо о чем-либо, при этом непременно истинное или ложное. Логическими значениями высказываний являются "истина” и "ложь", обозначаемые I и 0. Высказывание— это те первичные понятия теории, которые не определяются строго, а лишь поясняются.
Высказывания, представляющие собой одно утверждение, называются простыми или элементарными', высказывания, получающиеся из элементарных с помощью грамматических связок "не", "и", "или", "если..., то...", называются сложными. Эти названия не носят абсолютного характера, высказывания, которые в одной ситуации можно считать простыми, в другой ситуации будут сложными. В алгебре высказываний исследуется вопрос об истинности сложного высказывания в зависимости от истинности входящих в него простых высказываний. При этом необходимо иметь в виду, что высказывание может быть истинно в определенной ситуации. Эта ситуация бывает определена или не определена в самом высказывании. Существуют высказывания истинные (или ложные) во всех возможных ситуациях. Такие высказывания называются абсолютно истинными (соответственно абсолютно ложными). Абсолютно истинные и абсолютно ложные высказывания называются логическими константами. В алгебре логики все высказывания рассматриваются только с точки зрения их логического значения, житейское содержание игнорируется. Каждое высказывание может быть либо истинным, либо ложным, ни одно высказывание не может быть одновременно истинным и ложным. Элементарные высказывания обозначаются строчными буквами латинского алфавита: а, Ь, с. Из высказываний с помощью логических связок образуются новые высказывания. Рассмотрим теперь несколько логических связок.
Отрицанием высказывания х называется новое высказывание, которое является истинным, если высказывание х ложно, и ложным, если х истинно. Обозначается х, читается "не х" или "неверно, что х". Все логические значения высказывания х можно описать с помощью табл. 1.2.1. Если х — высказывание, то х — противоположное высказывание. Тогда можно образовать х, которое называется двойным отрицанием высказывания. Логические
6
Часть I. Математическая логика
значения б, очевидно, совпадают со значениями х. Эта операция одноместная в том смысле, что из одного данного простого высказывания х строится новое высказывание х.
Конъюнкцией (логическом умножением) двух высказываний х и у называется новое высказывание z, которое истинно только тогда, когда оба высказывания х и у истинны, и ложно, когда хотя бы одно из х и у ложно. Обозначается х&у или хлу, читается "х и у". Таблица истинности конъюнкции дана в табл. 1.2.2.
Таблица 1.2.1
X	X
1	0
0	1
Таблица 1.2.2
X	У	хлу
1	1	1
1	0	0
0	1	0
0	0	0
Из определения операции конъюнкции видно, что союз "и" в алгебре логики употребляется в том же смысле, что и в повседневной речи. Однако в алгебре логики этой связкой можно связывать любые, сколь угодно далекие по смыслу высказывания.
Конъюнкцию часто называют логическим умножением. В современной математике слово "умножение" часто обозначает различные математические операции, обладающие свойствами, более или менее похожими на свойства арифметического умножения. При построении таблицы истинности использовался союз "и". Однако результат был бы тот же самый, если бы были взяты союзы "а", "но1’, "однако", "хотя" и т. п. Таким образом, хотя соответствующие этим союзам логические связки имеют различные смысловые оттенки, с точки зрения алгебры высказываний они неразличимы.
Дизъюнкцией (логическим сложением) двух высказываний х и у называется новое высказывание, которое считается истинным, если хотя бы одно из высказываний х и у истинно, и ложным, если они оба ложны. Обозначается х v у, читается "х или у ". Логические значения дизъюнкции описываются в табл. 1.2.3.
Глава 1. Алгебра логики (алгебра высказываний)
7
Таблица 1.2.3
X	У	XV у
1	1	1
1	0	1
0	1	1
0	0	0
В повседневной речи союз "или" употребляется в различном смысле: исключающем и иеисключающем. В алгебре же логики связка "или" употребляется всегда в ненсключающем смысле (объединяющем смысле). Аналогично в латинском языке имеется союз "vel" для включителыюй дизъюнкции и "aut" для разделительной. Символ v происходит от первой буквы союза "vel".
Импликацией (логическим следованием) двух высказываний х и у называется новое высказывание, которое считается ложным, когда х истинно, а у ложно, и истинным во всех остальных случаях. Обозначается х —> у, читается "если х, то у" или "из х следует у". Высказывание х называется условием, посылкой или антецедентом, высказывание у — следствием, заключением или консеквенпюм. Таблица истинности этой операции приведена в табл. 1.2.4. Из таблицы истинности видно, что если условие х истинно и истинна импликация х —» у , то верно и заключение у . Это классическое правило вывода, которое постоянно используется в математике при переходе от одних высказываний к другим с помощью доказываемых теорем, которые, как правило, имеют форму импликаций. Распространенная ошибка в математических рассуждениях состоит в том, что к высказыванию х, истинность которого не установлена, применяется правильная теорема х —» у и из истинности предложения у делается вывод об истинности х.
В обыденной речи высказывание типа "если х, то у" носит объясняющий характер. Оно как бы разъясняет, почему имеет место событие у — потому, что имело место событие х. Объясняющий характер импликации тесно связан с причинно-следственным отношением, при котором х выступает в роли причины, а у —следствия.
Употребление союзов "если..., то..." в алгебре логики отличается от употребления их в обыденной речи, где по обыкновению считают, что если х ложно, то у вообще не имеет смысла. Кроме того, в обыденной речи подразумевается, что из предложения х всегда вытекает у. В математической
8
Часть I. Математическая логика
логике последнего не требуется, т. к. смысл высказываний игнорируется, кроме их свойств быть истинными или ложными, В случае импликации несоответствие между обычным пониманием истинности сложного высказывания и идеализированной точкой зрения алгебры высказываний еще заметнее, чем для других логических операций. Здесь истинность импликации в некоторой ситуации означает лишь, что если в этой ситуации истинна посылка, то истинно и заключение.
Эквиваленцией (эквивалентностью, логической эквивалентностью) двух высказываний х и у называется новое высказывание, которое истинно, когда оба высказывания х и у либо одновременно истинны, либо одновременно ложиы, и ложно во всех остальных случаях. Обозначается у, читается "для того чтобы х, необходимо и достаточно, чтобы у" или "х тогда и только тогда, когда у". Эквивалентность играет значительную роль в математических доказательствах. Известно, что большое число теорем формулируется в форме необходимых и достаточных условий. Это теоремы существования. Например, "для того, чтобы два вектора а и b были линейно зависимы, необходимо и достаточно, чтобы они были коллинеарны". Логические значения операции эквиваленции описываются в табл. 1.2.5.
Символы , а, V,—>, <-> называются пропозициональными связками или связками исчисления высказываний. Вместо употребляемого нами зиака часто пишут - или =, вместо —> пишут э, вместо & или а часто употребляют точку, причем точку иногда опускают, вместо употребляют знак —। перед высказыванием.
Таблица 1.2.5
X	У	у
1	1	1
1	0	0
0	1	0
0	0	1
Таблица 1.2.6
X	У	X | у
1	1	0
1	0	1
0	1	1
0	0	1
Логическим связкам приписываются ранги в следующем порядке убывания старшинства: , а, V,—>,«-». Таким образом, связка более высокого ранга имеет большую область действия.
Глава 1. Алгебра логики (алгебра высказываний)
9
Не следует думать, что этим набором исчерпываются все логические связки. Например, существует такая операция, как штрих Шеффера*. Она обозначается символом х | у и определяется следующей таблицей истинности (табл. 1.2.6).
Как мы покажем в дальнейшем, всякую формулу алгебры логики путем эквивалентных преобразований можно заменить формулой, содержащей только две логические операции: конъюнкцию и отрицание или дизъюнкцию и отрицание. Дальнейшее исключение логических операций невозможно. Операция же штрих Шеффера характерна тем. что с ее помощью может быть выражена любая из пяти операций. Например, х - х | х. Таблица истинности для этой формулы приведена в табл. 1.2.7.
Для операции конъюнкции, например, выражение через штрих Шеффера имеет вид х л у = (х | у )|( х | у )• Его таблица истинности дана в табл. 1.2.8.
Таблица 1.2.7
X	X	х |х	X
1	1	0	0
1	1	0	0
0	0	1	1
0	0	1	1
Таблица 1.2.8
X	У	(г 1 у)	(X 1 7)	(X 1 у)|(х 1 у)	хлу
1	1	0	0	1	1
1	0	1	1	0	0
0	1	1	1	0	0
0	0	1	1	0	0
1.3.	Формулы алгебры логики
С помощью логических операций над высказываниями можно строить различные новые, более сложные высказывания. Обычно при этом порядок операций указывается скобками. Определим понятие формулы логики высказы
* Генри Мориц Шеффер (1882-1964) — английский математик и логик.
10
Часть I. Математическая логика
ваний. Первой частью любой формальной системы является ее язык. Чтобы определить язык, нужно прежде всего определить алфавит и его символы.
Алфавитом будем называть любое непустое множество. Элементы этого множества называются символами данного алфавита. Любая конечная последовательность символов алфавита называется словом, или выражением, данного языка. Алфавит логики высказываний содержит такие символы: высказывания— буквы латинского алфавита с индексом или без него, логические связки л, v, <->, , разделители (,).
Слово в алфавите логики высказываний называется формулой, если оно удовлетворяет следующим условиям:
1. Любое высказывание (высказывательное переменное) — формула.
2. Если А и В формулы, то А, А л В, Av В, А —> В, А В — тоже формулы.
Подформулой формулы А называется любое подслово А, само являющееся формулой. Таким образом, из приведенного формального определения формулы как определенной конструкции языка алгебры логики можно определить более простое понятие формулы.
Всякое сложное высказывание, которое может быть получено из элементарных высказываний с помощью логических связок, называется формулой алгебры логики.
Формулы алгебры логики обозначаются большими буквами латинского алфавита А, В, С,... При этом скобки можно опускать, придерживаясь следующих правил: конъюнкция выполняется прежде всего, дизъюнкция выполняется второй, импликация и эквиваленция равноправны и выполняются последними. Каждая формула алгебры логики принимает свое логическое значение, которое определяется логическими значениями входящих в нее элементарных высказываний. Например, составим таблицу истинности для формулы (х —> у)—» (х л у v х —> у). Получим табл. 1.3,1,
Таблица 1.3.1
X	У	X	У	хлу	XAJ'VX	ХА у V х-+ у	XV у	Итог
1	1	0	0	0	0	1	1	1
1	0	0	1	1	1	1	1	1
0	1	1	0	0	1	0	1	0
0	0	1	1	0	1	1	0	1
Глава 1. Алгебра логики (алгебра высказываний)
11
Если формула состоит из п элементов, то ее таблица истинности состоит из 2“ строк.
Приписывание значений истинности или ложности высказываниям, входящим в формулу, называется интерпретацией этих высказываний. Под интерпретацией формулы понимается приписывание значений истинности высказываниям, входящим в эту формулу.
1.4. Равносильные группы формул и равносильные преобразования
Две формулы алгебры логики А и В называются равносильными, если они принимают одинаковые логические значения при любом наборе значений входящих в формулы элементарных высказываний. Равносильность обозна-
чается знаком = Очевидно, например, д = д, д v л = х и т. д.
Между понятием равносильности и знаком эквивалентности существует следующая связь: если формулы А и В равносильны, то формула А <-> В принимает значение I при всех значениях переменных, и обратно: если формула А «-> В принимает значение 1 при всех значениях входящих в нее высказываний, то формулы А и В равносильны, т. е. As В. При этом следует помнить, что знак является символом формального языка, с помощью которого строятся формулы, а символ = заменяет слово "равносильно".
Для любых формул А, В, С справедливы следующие равносильности.
1.	Основные равносильности:
1.1.	АлА = А —закон идемпотентности конъюнкции.
1.2.	A v А = А — закон идемпотентности дизъюнкции.
1.3.	Ал\ = А, 1 —истина.
1.4.	v 1 = 1.
1.5.	,1л0^0. О —ложь.
1,6.	ЛуО=Л.
1.7.	АлА^О—закон противоречия.	(1-4.1)
1.8.	Av As[ —закон исключенного третьего.
1.9.	А = А — закон снятия двойного отрицания.
12
Часть I. Математическая логика
1.10.	Aa(BvA)sA —первый закон поглощения.
1.11,	A v (В a A) s А — второй закон поглощения.
1.12.	A = (AaB)v[aab] — первая формула расщепления.
1.13.	A = (Av B)a(a.v~b) — вторая формула расщепления.
Все эти соотношения легко проверяются по таблицам истинности.
2.	Равносильности, выражающие одни логические операции через другие.
2.1.	A^Bs(A-+B)a(P^A)=(AaB)v(aab)=$vb)a$vA) — ос-новная формула доказательств теорем существования.
2.2.	A->S^ AvB = (AaB).
2.3.	AvB = A-^B=AaB.
2.4.	Ал В = (А—> В) = A v В .	(1.4.2)
2.5.	Ал В = Av В — первый закон де Моргана*.
2.6.	Av В = АлВ — второй закон де Моргана.
2.7.	AaB=AvB.
2.8.	AvB=AaB.
Именно из равносильностей этой группы формул следует, что всякую формулу алгебры логики можно заменить равносильной ей формулой, содержащей только две логические операции: конъюнкцию и отрицание или дизъюнкцию и отрицание.
3.	Равносильности, выражающие основные законы алгебры логики.
3.1.	АлВ = В л А —коммутативный закон конъюнкции.
3.2.	Av В = Bv А — коммутативный закон дизъюнкции.
3.3.	Аа(ВаС)=(АаВ)аС — ассоциативность конъюнкции. (1.4.3)
3.4.	Av(BvC)=(AvB)vC — ассоциативность дизъюнкции.
3.5.	А а (В v С)= (A a B)v (А а С) — дистрибутивность конъюнкции относительно дизъюнкции.
3.6.	Av (в аС)= (Av B)a(Av С) — дистрибутивность дизъюнкции относительно конъюнкции.
* Огастес Морган (де Морган)(1806-1875) — шотландский математик и логик.
fjjaga 1. Алгебра логики (алгебра высказываний)
13
Любая из равносильностей легко может быть доказана с помощью таблиц истинности. Часто равносильность произвольной формулы логики высказываний экономнее доказывать без составления таблицы, с помощью логического рассуждения и упрощения формулы с использованием приведенных равносильностей. При этом обычно операции эквивалентности и импликации заменяют операциями конъюнкции и дизъюнкции, а отрицание относят к элементарным высказываниям.
Можно еще упростить запись формул, опуская некоторые скобки и используя старшинство логических связок. Кроме того, знак отрицания, стоящий над формулой, делает излишними скобки, в которые она заключена.
Отношение равносильности есть отношение эквивалентности. Оно рефлексивно, т. к. для любой формулы А: А= Л; симметрично, т. к. для любых формул А и В: если A s В, то В = А; транзитивно, т. к. для любых формул А, В, С: если А = В и В s С .то А = С.
Рассмотрим несколько примеров.
(х -> у)л (у -> z)-» (z	х) = £ V у)л (у V г)-> £ V х)=
2.	(xAXAX~>yAy->z)vxv(yAz)v(yAz) =
S (1Г Л О -» 0-У z)v X V (у Л z)v (у Л z)s (х Л О -» 0 -» z)v х v (у л z)^
= (х л 0 —> z)v X V (у Л z)s О V Z V X V (у л z) =
Si VXv(yAz)^l v(yAz)sl.
3. Доказать равносильность (х v у) л (х v у) = х.
(XV у) л (xvy) = X Л X V у лх v XAyvyAy =
= X V у Л X V ХА у = X A(lv у V у ) = х(1 V 1) = X.
Приведем теперь несколько правил, с помощью которых можно переходить от одних равносильностей к другим.
14
Часть I. Математическая логика
Теорема 1.1. Пусть А — В н С — произвольная формула. Тогда А= В. ЛлС=ВлС, СлЛ = СлВ, ^vC = SvC, CvJ = CvB, а^с = в^с,с^а^с^в,а^с=в^с,с^а^с^в.
Докажем, например, формулу A v С = В v С. Так как А = В, то при одинаковом наборе входящих в них простых высказываний А и В принимают одинаковые логические значения. Пусть, например, это будет ]. Пусть при том же наборе значение С равно 0. Тогда обе части рассматриваемой равносильности принимают одно и то же значение 1 v 0 = 1 v 0 .
Теорема 1.2. Пусть А= В и С— формула, в которой выделено одно вхождение переменной х{. Пусть C(j) получается нз С заменой этого вхождения X' на Д,а С(в)— из С заменой того же вхождения х, на В, Тогда С(л)= С(в).
Оставим данную теорему без доказательства, отметим только, что любой символ алфавита может несколько раз появиться в данной формуле. Каждое такое появление называется вхождением этого символа в формулу.
Теорема 1.3. Пусть С(А)— формула, содержащая А в качестве своей подформулы. Пусть С(В) получается нз заменой А в этом вхождении на В. Тогда, если А = В, то с(л>с(в).
Формула А называется тавтологией (тождественно истинной), если она принимает значение 1 при всех значениях входящих в нее переменных. Формула А называется тождественно ложной или противоречивой, если она равна 0 при всех значениях входящих в нее переменных.
Формула А называется выполнимой, если при каком-то наборе входящих в нее переменных она принимает значение 1.
Формула А называется опровержимой, если при каком-то наборе входящих в нее переменных она принимает значение 0.
С точки зрения логики тавтологии это логические законы, т. к. они принимают истинные значения при любом наборе переменных. В практических вычислениях часто используют следующие тавтологии (А, В, С — произвольные формулы).
1.	A v А — tertLum nondatur — закон исключенного третьего.
2.	А^А.
з.	а-+(в^а).
4.	(^^((ВчСЬ^чС)) — цепное рассуждение.
Глава 1. Алгебра логики (алгебра высказываний)is
5.	(А->(ВчС))ч((А4й)->(А4С)).	(1.4.4)
6.	(АлВ)-4А, (АлВ)-4В.
7.	А—>(В—>АлВ).
8.	A^>(AvB), В—>(AvB).
9.	(в-Л)-+((в^А)-+в).
10.	((A-4«)-»A)4A — закон Пирса*.
Эти формулы тоже можно легко проверить по таблицам при произвольных значениях А, В, С. При доказательстве утверждений различных математических теорий обычно используют рассуждения, которые на языке логики можно выразить формулами. При этом рассуждение называется правильным, если из конъюнкции посылок следует заключение, т. е. всякий раз, когда все посылки истинны, заключение тоже истинно. Правило вывода заключения
в этом случае можно записать в виде —"	’ ГДе	~~ П0СЬ1Л-
ки, причем запись Pi,P2,...,Pfl понимается как Р1 л Р? л... л Pit, Р— заключение.
А-+В,А А^В,В Распространенные схемы правильных рассуждений: -—-, ——=-.
Легко проверить, что формулы ((Л —» В)л j) -> В и ((Л —> В)л в)-+ А являются тождественно истинными. Например, логические значения последней при всех наборах аргументов приведены в табл. 1.4.1.
Таблица 1.4.1
А	в	А	в	А —> В	(АчВ)лВ	((Л4й)ля)ч А
I	1	0	0	1	0	1
1	0	0	1	0	0	i
0	1	1	0	1	0	1
0	0	1	1	1	1	1
Чарлз Пирс (1839-1914) — американский математик и логик.
16
Часть I. Математическая логика
Один из способов доказательства математических предложений — метод доказательства от противного. Предположим, что некоторое утверждение в форме импликации А—> В ложно. Тогда необходимо прийти к противоречию, т. е. доказать, что другое утверждение С одновременно выполняется и не выполняется.
Доказательство выполняется по следующей схеме:
в)->(слС)=(алв)-»(сл с).	(1.4.5)
Приведем в заключение еще две более простые схемы доказательства от противного:
А -> В = (а л В -> а), а->в = (алв->в).
(1.4.6)
1.5.	Практическое занятие № 1.
Алгебра высказываний
1.5.1.	Среди следующих предложений выделить те, которые являются высказываниями, и установить, если это возможно, истинны они или ложны.
1)	Для произвольных множеств А и В верно включение Лс Ли В.
2)	Сумма углов в треугольнике равна 180°.
3)	Т2е N.
4)	Солнечная система насчитывает девять больших планет.
5)	На улице светит солнце.
6)	Летайте самолетами Аэрофлота!
7)	Всякое подмножество конечного множества конечно.
1.5.2.	Даны два высказывания:
О Р ~ { число 3 является делителем числа 174 },<? = { идет дождь }.
В чем заключаются высказывания
А р v q, р л q, p^q, P^q, р О q?
2)	р — { конъюнкция коммутативна },<? = { если число простое, то оно нечетное }.
Гпава_1. Алгебра логики (алгебра высказываний)_____________/7
В чем заключаются высказывания q, q—^p, {p^q}~>p, (gv р')-~У ql Какие из этих высказываний истинны, а какие ложны?
1.5.3.	Какие из следующих утверждений являются высказываниями и какие из высказываний истинны и какие ложны?
1)	Сумма корней приведенного квадратного уравнения равна свободному члену.
2)	Сумма корней любого приведенного квадратного уравнения равна свободному члену.
3)	Существует приведенное квадратное уравнение, сумма корней которого равна свободному члену.
1.5.4.	В каких случаях приведенные ниже данные противоречивы?
1)	a = 1, a л b = 1;
2)	а = О, а л 6 = 1;
3)	a = 1, av6 = 0;
4)	a = 0, a v b - 1.
1.5.5.	Определить, является ли данная последовательность формулой:
1)	(-Л Л Д )^2 А ’
2)((4-»4)л4);
3)	(4 -» 4 )-» 4 vJ3 ;
4)	4 л 4	44;
5)	(4	4)v(4-> 4 л 4).
1.5.6. Выписать все подформулы следующих формул:
1)((4->4)Л(4 -^4))-^4v4;
2) (4 ^4)^ (4 ^4);
3) 4 л (4 v4a(BvC)).
1.5.7. Проверить, не составляя таблиц истинности, являются ли следующие формулы тождественно истинными:
D Р~»р;
18
Часть]. Математическая логика
2) р-> рл(р-> рлр);
3) (pv р)->р.
1.5.8. Известно, что х^> у имеет значение 1. Что можно сказать о значениях Z —> (х —» у\ х —> у —> у, (х —> 7) —> Z ?
1.5.9. Составить таблицы истинности для формул: d(4^4)a(4v4);
2)	(4 (4 -> 4)Ы(4 -* 4)->(4 -»4));
з)	(р«е)^(рЛе);
4)	(Pa(Q-P P))vP;
5)	(рл(еУр))л(е-»р)Уе;
6)	Р-^блР-4 Pv R;
7)	(рл(еУр))л((е^р)Уе);
8)	(P^e)v(P-4(6AP)).
1.5.10.	Доказать выполнимость формул:
1)	Р-^ Р;
2)	(Q -» РЛ Я)л PvP->2;
3)	(p^>Q)^(Q-*p).
1.5.11.	Какие из высказываний P,Q,R должны быть истинны, а какие ложны, чтобы формула (pv Рл Р была истинной?
1.5.12.	Доказать тождественную истинность формул:
1)	р^(в^рлв).
2)	(р^2)^((р^2)^?);
3)	(Р^ Л)-> ((2^ R)^ (PvQ^R))-
4)	(2^P)^(Pv2^PvP);
5)(q^p)-,((cUp)^q);
Глава 1. Алгебра логики (алгебра высказываний)
19
6)
7) (р-> е)-> ((е-> я)->*));
8)Р-»Р-
1.5.13. При каких значениях переменных P,Q,R следующие формулы ложны?
1)
2)((pve)v2?)-4((pve)A(pv«));
з) (pve)-»((?Ae)v (рлй).
1.5.14.	Доказать, что:
1)	Если формулы Pv Q и Av R тождественно истинны, то формула Q v R тождественно истинна.
2)	Если формулы Pv Q и Av Q тождественно истинны, то формула А—> R тождественно истинна.
3)	Если формулы PvQ. P^R, Q —4 W тождественно истинны, то формула Av W тождественно истинна.
1.5.15.	Сколько имеется различных (т. е. отличающихся истинностными таблицами) двуместных логических операций?
1.5.16.	Выразить все основные операции через конъюнкцию и отрицание, через дизъюнкцию и отрицание.
1.5.17.	Пусть имеется некоторая логическая операция Ф над простыми высказываниями Aj,A- •••’ Ат • Операция Ф с точностью до равносильности характеризуется истинностной таблицей. Например, возьмем (табл. 1.5.1) некоторую конкретную операцию над тремя простыми высказываниями:
Таблица 1.5. /
4	4	4	ф	4	4	4	ф
1	1	1	0	0	1	1	0
1	1	0	1	0	1	0	0
1	0	1	1	0	0	1	1
1	0	0	0	0	0	0	1
20
Часть I. Математическая логика
Тогда операцию, имеющую данную истинностную таблицу, можно получить, перечисляя ситуации, в которых высказывание © истинно, т. е. (4 л А-. л 4 )v (4 л 4 л 4) v (4 л А2 л А3 )v (4 л А2 л 4 )• Обобщить приведенную конструкцию на случай произвольных логических операций ®.
1.5.18.	Доказать следующие равносильности:
1)	Д—>й = ЛлВ;
2)	Дл(ДуС)л(ВуС)=(ДлВ)у(ЛлС);
3)	Ал As А;
4)	Av(SaA)s А;
5)	Av(BaC)s(AvB)a(AvC)-,
6)	(Ал S)v ((Av S)a(Avs))s Av S;
7)	AvSsAaS.
1.5.19.	Доказать, что для любой формулы существует эквивалентная ей формула с тесными отрицаниями, т. е. формула, в которой нет символа —> и отрицания относятся только к пропозициональным переменным.
1.6. Алгебра Буля
Равносильности (1.4.3) говорят о том, что алгебра логики обладает коммутативным, ассоциативным и дистрибутивным законами точно так же, как алгебра чисел. Это значит, что над формулами алгебры логики можно производить те же преобразования, что и в алгебре чисел (раскрывать скобки, выносить общие множители и т. д.).
Однако здесь есть и дополнительные возможности, основанные, например, ха (у v х) = х]
на формулах (1.4.1) и (1.4.2), типа xvl = l,	>—законы по-
х v (у а х) = х]
глощения, законы де Моргана и др. Эти новые возможности позволяют сделать несколько обобщений в виде интерпретаций формул алгебры логики.
Представим непустое множество М элементов любой природы М ={о, о, z,..}, на котором определены две двуместные операции: х, у => х • у — умножение и х, у => х + у — сложение и одна одноместная
Глава t Алгебра логики (алгебра высказываний)21
операция х=^ X — отрицания и выделены два элемента 0 и 1 G М, причем для этих операций и элементов выполняются следующие аксиомы.
о + 6 = 6 + б 1
1	,	z > —коммутативный закон.
о  б = б • б J
o + (o+z) = (o+ d) + zl
2	— ассоциативным закон.
x(yz)=(jr-y)z J
(o+d)-z = (oz) + (o-z)l
3	.	— дистрибутивным закон.
(о- о) + Z = (о+ z)-(o+ z)J
5+ б = (51 > —законы идемпотентности.	(1.6.1)
б- б- б J
б+ б = б- б I
___ _ _> —законы де Моргана.
5- 6 = о + б]
4. х = х — закон двойного отрицания.
б + (б • о) = <51 > —законы поглощения.
б • (б + б) = б]
Тогда такое множество М называется булевой алгеброй. Если под основными операциями	" ", "=" понимать дизъюнкцию, конъюнкцию, отри-
цание и равносильность, то из формул (1.4.1)—(1.4.3) видно, что все аксиомы булевой алгебры выполняются. В таких случаях говорят, что имеется интерпретация (модель) данной системы аксиом. Итак, алгебра логики— интерпретация алгебры Буля.
Можно было бы при определении булевой алгебры исходить из одной двуместной операции, например умножения, доопределив другую при помощи законов де Моргана.
Булевы алгебры являются примерами аксиоматически заданного алгебраического объекта. Эти объекты представляют собой множества, в которых выделены некоторые элементы (например 0 и I) и определены некоторые операции. Эти элементы и операции должны удовлетворять конечному набору аксиом.
Существуют и иные нелогические множества, также образующие алгебру Буля. Например, известная интерпретация— теория множеств, а
" •— объединение, пересечение и дополнение в теории множеств.
22
Часть I. Математическая логика
Укажем еще одну систему, удовлетворяющую (1.6,1). Пусть М — ограниченное множество действительных чисел х таких, что 0<х< А, А^О. Положим х = А-х, х + у - шах(х, у), х-у = min(x, у). Роль нулевого элемента будет играть нижняя грань данного числового множества, т. е. число 0, роль единичного элемента— верхняя грань— число А. Закон противоречия и закон исключенного третьего из (1.4.1) будут иметь вид х • х = О, х + х = А . Тогда множество М с так определенными операциями и так определенными элементами 0, 1 является булевой алгеброй.
В том случае, когда множество М состоит из двух чисел 0 и 1, эта система представляет собой алгебру высказываний, в которой истина заменяется выделенной единицей, а ложь — нулем.
Пусть М и N — две булевы алгебры. Отображение х=5> х, ставящее каждому ХЕ М в соответствие элемент ХЕ N, называется гомоморфизмом булевой алгебры М в булеву алгебру N, если
Од/ =
1/w = In ’
х=Я,	(1.6.2)
для всех х, уЕ М. Нижние индексы у 0 и 1 указывают, в какой алгебре они являются выделенными элементами.
Если гомоморфизм х устанавливает взаимно однозначное соответствие между М и N, то он называется изоморфизмом булевых алгебр М и N, а сами булевы алгебры в этом случае называются изоморфными. Примеров изоморфизма булевых алгебр очень много. Первый пример — алгебра высказываний и алгебра множеств. Другой важный пример изоморфизма относится к самой алгебре высказываний. Аксиомы (1.6.1) булевой алгебры таковы, что если всюду поменять местами 0 и 1, дизъюнкцию и конъюнкцию, то получится та же аксиоматика.
Пусть М — булева алгебра. Построим новую булеву алгебру М+, которая будет состоять из тех же элементов, что и М, но с другими операциями. Элементы х, у,... из М, рассматриваемые как элементы М+, будем обозначать х+,	,...; элементы 0, 1 для М+ —через 0+, 1+. Тогда положим
1. 0+ = 1+ (0 в М+ — это 1 в
Глава 1. Алгебра логики (алгебра высказываний)	23
2 1 = 0+ (1 в А/' — это 0 в М);
* vi\ = (хл >’)т (дизъюнкция элементов в М+ соответствует конъюнкции этих элементов в му,
4. х а у+ = (xvy) (конъюнкция элементов в М^ совпадает с их дизъюнкцией в му
Булева алгебра называется двойственной к М. Очевидно, что (л/j = м-
1.7.	Функции алгебры логики
Формула алгебры логики является функцией входящих в нее элементарных высказываний, ее аргументы принимают два значения: 0 и I. при этом значение формулы может быть равно 0 или I.
Функцией алгебры логики п переменных (или функцией Буля) называется функция п логических переменных, т. е. функцией алгебры логики f{xy ,x2,...,xtl) от п переменных Х‘ ,х2 ,...,хп называегся функция, принимающая значения О, I, аргументы которой также принимают значения О, I.
Функция f(x} ,х2,...,хп ) задается своей истинностной таблицей (табл. 1.7.1).
Таблица 1.7.1
X	х2		Хч	X,		V.)
0	0		0	0	/(о, о,..., о, о)
1	0		0	0	/(1,0,..., 0,0)
					
1	1	1	1	0	/(1.1,..., 1.0)
1	1	1	1	1	./(1,1,-..и)
Из этой таблицы видно, что число различных двоичных наборов длины п конечной равно 2".
Ясно, что тавтологии и тождественно ложные функции алгебры логики представляют собой постоянные функции, а две равносильные формулы выражают
24
Часть I. Математическая логика
одну и ту же функцию. Каждая функция определяется таблицей истинности, состоящей из 2п строк, т. е. принимает 2Л значений (каждое 0 или 1). Общее число наборов из 0 и 1 длины 2" равно 22 . Это число равно числу различных функций алгебры логики н переменных.
Функция алгебры логики	...хп) зависит сущест-
венным образом от аргумента xf, если существуют такие значения al,...aJ_1,ai,ai+1,...a/J переменных x],...,xi_],xi,xi+l,...,xn, что /(a1,..,,a/4,0,aJ+l,...,aH)^ /’(aI,.,.,aI_1,l,al+1„..,an). В этом случае переменная xi называется существенной, в противном случае — несущественной, или фиктивной. Очевидно, что постоянные функции не имеют существенных переменных.
 Пример. f(x) — функция одной переменной. Ее возможные значения приведены в табл. 1.7.2.
Таблица 1.7.2
X	лМ	л(*)	Лз(*)	лМ
1	1	1	0	0
0	1	0	1	0
(х) = 1 (постоянная, не зависит от х, х — фиктивная переменная), 0 (постоянная, не зависит от х, х — фиктивная переменная), /2(х)=х, /3(х)=х, в /2 и /3 х—существенная переменная.
22
Если п = 2, то 2 =16. Именно столько существует различных функций двух переменных. Перечислим их в таблице истинности (табл. 1.7.3).
Таблица 1.7.3
X	У	л	Л	Л	л	л	л	л	л	л	Ло	л,	Лз	Лз	Ли	Лз	Л 6
1	1	I	1	1	1	0	0	0	0	0	1	0	1	0	1	1	0
1	0	1	1	1	0	1	0	0	1	0	0	1	0	1	0	1	0
0	1	1	1	0	0	0	1	0	1	1	0	0	1	1	1	0	0
0	0	1	0	0	0	0	0	1	0	1	1	1	0	1	1	1	0
fjtaea 1. Алгебра логики (алгебра высказываний)	25
Выразим теперь все эти функции через значения аргументов х и у :	= 1,
f2S XV у, f3=x. /4=хлу , /5 = X -> 7 , /6 = у -> х, /7 = X V у, fg=x<r^y.	/и^у. /12ЭУ. Лз^хлу,
/|4 - Х ~* У ’ /15 = У • /|6 = ^ 
Определим теперь операцию суперпозиции функций. Интуитивный смысл этой операции состоит в том, что в аргументы функции подставляются другие функции, некоторые переменные могут отождествляться. Пусть
G = ^Р1 (*|,1 5 *1,2 x\,kt )’ Ф2(*2,['Х2,2’"-’*2Л2	(*„;,!	*»,,/„, )} —
конечная система функций алгебры логики. Функция ф называется суперпозицией первого ранга, или элементарной суперпозицией ryeG^, если она может быть получена одним из следующих способов:
1. Из какой-то функции <р. g G переименованием какой-то ее переменной xjt, например \|/ = <р(;ху,, х; х}, y,xJi+l ,...,xjti) .
2. Подстановкой некоторой функции ф, G G вместо какого-нибудь аргумента х^ в функции ф; G G, т. е.
V = ^>(xJI,xj2,...,x7,_l,(P/(x/l,x/,2,...,x/(./)xw+l,...,x/i.J.
Суперпозиции г + 1-го ранга являются элементарными суперпозициями функций из суперпозиции г -го ранга, т. е. = (g*^)^.
Каждой формуле алгебры логики соответствует своя функция. Если формулы А и В эквивалентны, то соответствующие им функции равны: Z<(*i>*2>—,*„) =Это значит, что при всех значениях переменных х],х2,...,хп значения и fB совпадают.
1.8. Разложение булевых функций по переменным
Рассмотрим вопрос представления //-местной булевой функции -/"(*!»*2 >•••>*„ ) какой-нибудь формулой алгебры высказываний.
введем обозначение: лс = хо v ха . где о — параметр, равный 0 или 1.
Очевидно, что л° = !Х’ ° О’
I Л', 0 = 1.
26
Часть I. Математическаялогика
при ЛЮ-
(1.8.1)
псремеп-
функции т пере-
Теорема 1.4. Каждую функцию алгебры логики бом m §.<m<n) можно представить в следующей форме:
где дизъюнкция берется по всевозможным наборам значений ных
Доказательство. Указанное в теореме представление /(^,х2,...,хт,хя1+|,...,хв) называется разложением функции по менным Ху,Х2^...ьхп1.
Рассмотрим произвольный набор	значений всех переменных дан-
ной функции. Покажем, что на этом наборе левая и правая часть формулы (1.8.1) принимают одно и то же значение. Левая часть равна /(ара2,...,а„ ), правая
V а°' ла?2 л...а’“ л/(а|,а2,...,а„„а„,+......,а„) = а“! ла? л...а“" л
л/(а1,а2,...,а„„а,„+1,...,а„) = /(а|,а2,...,а,„,а„,+1,...,а„),
т. к. ар = 1, если только а = о, если же а о, то ар = 0 и соответствующее логическое слагаемое можно отбросить.
Следствие 1 (разложение по одной переменной). ./(х1,х2,...,х„_,>х„)=	a/(x„x-2,...1x,,_„1)v
—	,	ч	(1.8.2)
В этом случае функции	и	называются
компонентами разложения.
Следствие 2 (разложение по всем переменным).
7(х1,х2,...,х„_|,х„)= V X,’1 ЛХр Л...Х®” Л
О1.а2’-’ан л/(а|,а2„..,а„_|,а„) Очевидно, что если f(x} ,х2,...,хг1	0, то
v хр лхр л...хр‘ л/(о1,о2,...,о„_|,оп) = °1-о2..°»1
—	\/	vc> л v°2 л Vе'1
—	V	Л] лл2 Л...Л<(
Ло1-°2..°,i-l -олл1
(1.8.3)
(1.8.4)
Глава 1. Алгебра логики (алгебра высказываний)_______________________27
Итак если функция /(л* ,х2,...,х„) не является тождественно ложной функцией, то она может быть выражена равносильной формулой, представляющей собой логическую сумму различных произведений вида х°', причем такое представление единственно.
формула (1.8.3) называется дизъюнктивной нормальной формой. Ее вид может быть значительно упрощен. Известно, что всякая формула алгебры логики может быть путем эквивалентных преобразований по формулам (1.4.1)-(1.4.3) сведена к формуле, содержащей только конъюнкцию и отрицание или дизъюнкцию и отрицание. В результате проведения эквивалентных преобразований могут получиться несколько формул, однако только одна из них будет обладать следующими свойствами:
1.	Каждое логическое слагаемое содержит все переменные, входящие в фор-мулу /(.^,Х2,...,Х„).
2.	Ни одно логическое слагаемое нс содержит одновременно переменную и ее отрицание.
3.	Все логические слагаемые в формуле различны.
4.	Ни одно логическое слагаемое не содержит одну и ту же переменную дважды.
Эти четыре свойства называются свойствами совершенства.
Если /(л', х,хп) задана таблицей истинности, то соответствующая формула алгебры логики восстанавливается довольно просто. Для всех значений аргументов л*,х2,...,хн, при которых f принимает значение 1, нужно записать конъюнкцию элементарных переменных высказываний, взяв за член конъюнкции х, если х( = 1, и х;, если х =0. Дизъюнкция всех записанных конъюнкций и будет необходимой формулой. О значениях /‘ = 0 можно не беспокоиться, т. к. соответствующее слагаемое в формуле будет равно 0 и его можно отбросить в силу условия f v 0 = f.
 Пример. Задана таблица истинности (табл. 1.8.1) функции F(x,y.,z).
Таблица 1.8.1
X	У	7.	дх.у.д	X	У	z	f’(x,y,z)
1	1	1	1	0	1	1	1
1	1	0	0	0	1	0	1
1	0	1	0	0	0	1	1
1	0	0	°	0	0	0	1
28
Часть I. Математическая логика
Отсюда f(x, у, z) = xyzv xyzv xyz v xyz v xyz. Упростим эту формулу.
f(x,y,z) s yz(x v x) v xz(y v y) v xyz = yzv xzv xyz s = yzv x(z v yz) = yzv x(z v y)(z v z) = yzv x(z V y) =
= (yz v x) л(уг v zv y) = ((y v x) л (z v х))л (у v z vy)A(zvz vy) =
= (у V x) A (z V x) A (z V 1) л (y V 1) = (y V x) л (z V x) = (x V у) л (x v z) = = X V (у A z) = X —> yz.
1.9.	Дизъюнктивная и конъюнктивная нормальные формы
Формула X]’1 лх22 л...лх°", где о = {о,,о2,...,а„}— какой-нибудь дво-ичный набор, а среди переменных xt могут быть совпадающие, называется элементарной конъюнкцией, или конъюнктом.
Всякая дизъюнкция элементарных конъюнкций называется дизъюнктивной нормальной формой (сокращенно ДНФ). О ней уже упоминалось в следствии 2 теоремы 1.4.
Элементарная конъюнкция называется правильной, если каждая переменная входит в нее не более одного раза, включая вхождения под знаком отрицания. Правильная элементарная конъюнкция называется полной относительно переменных	если каждая из переменных входит в нее один и
только один раз. Например,	— полная правильная элементарная
конъюнкция, а х, х, х2 —неправильная элементарная конъюнкция.
Для любой формулы алгебры логики путем элементарных преобразований можно получить ее ДНФ, причем не единственную (не все формулы в цепочке преобразований будут ДНФ, но многие: именно те, которые содержат лишь операции , v и а ). Однако среди многих ДНФ лишь одна будет удовлетворять всем условиям совершенства.
ДНФ формулы алгебры логики, удовлетворяющей всем четырем условиям совершенства, называется совершенной дизъюнктивной нормальной формой. Условиями совершенства называются следующие:
1	. Все логические слагаемые в ДНФ различны.
2	. Каждое логическое слагаемое содержит все переменные.
Глава 1. Алгебра логики (алгебра высказываний)	29
3	Ни одно логическое слагаемое не содержит х;. и х, одновременно.
4	Ни одно логическое слагаемое не содержит xt дважды.
Таким образом, совершенной дизъюнктивной формой (СДНФ) относительно переменных xXix1,...ixn называется такая ДНФ, в которой нет одинаковых элементарных конъюнкций и все элементарные конъюнкции правильны и полны относительно переменных xx,x2i...bx/1. Итак, для всякой функции алгебры логики /(xj, х2), не равной тождественно нулю, справедливо ее следующее представление в виде СДНФ:
f(x1,x2,...,x„)= v	л.г?2 л...лх’«,	(1.9.1)
где символ v означает, что берутся дизъюнкции по тем наборам переменных, которые указаны под ним.
Если функция /(х,, х2 ,...,хп) задана не истинностной таблицей, а формулой, то ее СДНФ можно получить путем равносильных преобразований. Заметим, что формулы, являющиеся ДНФ, можно охарактеризовать как формулы, содержащие только дизъюнкцию, конъюнкцию и отрицание, в которых отрицания стоят только над аргументами, и вначале выполняются все конъюнкции, а потом дизъюнкции.
Итак, алгоритм получения СДНФ таков:
1.	Для формулы А получаем любую ДНФ.
2.	Если в ДНФ есть слагаемое В, не содержащее х;-, то заменяем В = Вл(х(. v Xi) = (Вл х.) v (Вл х,) .
3.	Если в ДНФ встретится два одинаковых слагаемых В, то лишнее можно отбросить, т. к. 2? v В= В.
4.	Если в некоторое слагаемое В в ДНФ A xt входит дважды, то лишнюю xt можно отбросить, так как х,. л х;- = х..
5.	Если слагаемое В в ДНФ А содержит конъюнкцию хг-лх/, то х, л х, = 0 и В = 0, и это слагаемое можно отбросить.
Формула вида xf1 v х£2 v ...v х„п называется элементарной дизъюнкцией или дизъюнктом. Пустым дизъюнктом называется константа 0. Дизъюнкт невыполним в том и только в том случае, если он пустой.
30
Часть I. Математическая логика
Конъюнктивной нормальной формой (КНФ) формулы А называется равносильная ей формула, представляющая собой конъюнкцию элементарных дизъюнкций. Если КНФ не содержит ни одного дизъюнкта, т. е. пуста, то она эквивалентна 1.
Элементарная дизъюнкция называется правильной, если в нее каждая переменная входит не более одного раза, включая и вхождения под знаком отрицания. Правильная элементарная дизъюнкция называется полной относительно переменных х],х2,...>хп, если каждая из этих переменных входит в нее один и только один раз.
Пусть Х| ,х2 ,...,хп — набор логических переменных, а о = (oj ,о2,...,оп) — произвольный двоичный набор этих переменных. Конституенпюй единицы набора о называется коиъюнкт х°[ х22 ...х°п. Конституентой нуля набора о называется дизъюнкт х, 1 vх2 v...vx* . Очевидно, что xf1 х22= 1 и Xj1’"1 v х2°2 v ... v х,* °" = 0 тогда и только тогда, когда Xj = Oj, х2 = о2’---’ х„ =	.
Совершенной конъюнктивной нормальной формой (СКНФ) относительно переменных Х|,х2называется конъюнктивная нормальная форма, в которой нет одинаковых элементарных дизъюнкций и все элементарные дизъюнкции правильны и полны относительно переменных ху,х2,...,хп.
Всякую функцию f{xy, х2,...,хП), отличающуюся от тоясдественно истинной, можно представить в виде СКНФ следующим образом:
f(x„x2,...,xn) = .п_. *Г v...vx°’,	(1.9.2)
/(вро2.Он )=о
где символ П означает, что конъюнкции берутся по тем наборам переменных, которые указаны под ним.
Здесь ситуация та же, что и для ДНФ. Для любой формулы А существует несколько КНФ, среди них есть только одна, удовлетворяющая условиям совершенства. Эта КНФ называется совершенной конъюнктивной нормальной формой.
Свойства совершенства для КНФ:
1	. Все сомножители (дизъюнкции) различны.
2	. Каждый сомножитель содержит все переменные.
Глзвз 1- Алгебра логики (алгебра высказываний)	31
3	Ни один из сомножителей не содержит х. и х, одновременно.
4	Ни один из сомножителей не содержит двух одинаковых переменных.
СКНФ, так же как и СДНФ, может быть получена двумя способами: из таблицы истинности для формулы А и путем эквивалентных преобразований. Действительно, найдем связь между СДНФ и СКНФ. При этом надо помнить следующие факты: полная правильная элементарная дизъюнкция xf1 v х°2 v ... v х°" равна нулю лишь на наборе о1,о2,...,аи ; аналогично полная правильная элементарная конъюнкция Л'01 ал’2 л...лЛ'“" равна единице на одном наборе о, ,о2,...,о11. Тогда если
СДНФ/= V X' л^л...лл-:«.
ДО|,О2'-> ^п)~ 1
то СДНФ 7 = ,______V . х"' Л X? л... л х°"
/(О1.а2. . .<,„)= О
и СДНФ/ =__________V х“' Л х^ л... л х,7 =
/ (°1Л2.aiJ=0
= п	П Х?1 VX? V...VX°”.
../ДС|.О2’-.-<М=0
Таким образом,
СКНФ f = СДНФ J.	(1-9.3)
Алгоритм получения СКНФ путем эквивалентных преобразований похож на алгоритм получения СДНФ:
1.	Для формулы А получаем любую КНФ.
2.	Если элементарная дизъюнкция В, входящая в КНФ, не содержи!- х,. то B^Sv(x,.Ax,) =(Sv.yJa(Sv7).
3.	Если в некоторую элементарную дизъюнкцию В входит дважды, то лишнюю переменную х; можно отбросить, т. к. x. v Л‘ = х.
4.	Если КНФ содержит два одинаковых сомножителя В, то лишнюю элементарную дизъюнкцию можно отбросить, Т. К. В А В= В .
5.	Если в элементарную дизъюнкцию В входит пара xi vxi, то ее можно отбросить, т. к. xz v х, = 1, а £? а 1 = В..
32
Часть I. Математическая логика
Совершенные нормальные формы позволяют дать критерий равносильности двух произвольных формул А и В. В самом деле, каковы бы ни были формулы А и В, в том случае если они содержат одни и те же переменные, их можно заменить равносильными им формулами, которые необходимо привести к совершенным дизъюнктивным или конъюнктивным нормальным формам. Если А и В — равносильные формулы, то в силу единственности совершенных нормальных форм как конъюнктивные, так и дизъюнктивные нормальные формы этих формул должны полностью совпадать. Таким образом, сравнение совершенных нормальных форм формул А и В решает вопрос об их равносильности.
При упрощении ДНФ или КНФ удобно пользоваться следующими равносильностями:
XV ху= X, x(xv >)= X,
XV ху = XV у,
XV ху= XV у, x^xv ху, х(х vy)= ху.
(1.9.4)
1.10.	Закон двойственности
Операция конъюнкции называется двойственной операции дизъюнкции и наоборот, операция дизъюнкции называется двойственной операции конъюнкции.
Функция /*(х^ ,х2,...,хл ) = ~f^x2,...,xn) называется двойственной к функции /(х,, х2 ,...,хп). Функция, равносильная своей двойственной, т. е. такая, что /(х,, х2,...,хп ) =	/(х^,х2 ,...,хп), называется
самодвойственной. Очевидно, что самодвойственная функция принимает на противоположных наборах а(,а2,...,ап и а|,а2,...,ал противоположные значения.
Среди элементарных функций алгебры логики 0, 1, х, х, Хх л х2, x]v х2 О двойственна 1; 1 двойственна 0; х двойственна х; х двойственна х; Х| а х2 двойственна х, v х2; х, v х2 двойственна х, а х^.
Глава !• Алгебра логики (алгебра высказываний)
33
Из определения двойственности следует, что /** = (/*) = f, т. е. функция У является двойственной к /* (свойство взаимности).
формулы алгебры логики А и А* называются двойственными, если А* получается из А путем замены каждой операции на двойственную ей операцию. Рассмотрим формулу А = х л у v (х —» у) л х = хлу v (xv у)лх . Двойственная ей формула будет иметь вид А* = xv у л ((хл y)v х)= ху(ху v х). Пусть теперь /(х, у)= хл у v (х—> у) л х. По определению двойственной
Теорема 1.5. Функция, двойственная суперпозиции некоторых функций, равносильна соответствующей суперпозиции двойственных функций, т. е. если
V*(x,. х2,...,х„)= ) <Р2^2,1^2,2>-’Л2А )
где через x}ix2,...,xn обозначены все различные символы переменных, встречающиеся в наборах (х] । ,Xj 2	(х2 । ,х2 2,...,х2 ),
»хи1 'kni).
Доказательство. По определению двойственной функции
34
Часть I. Математическая логика
В заключение приведем без доказательства еще две теоремы о двойственных функциях.
Теорема 1.6. Если для функции /(х,, х2 ,...,х(1) двойственной является У*(х, ,х2,.-.,хп), то справедлива равносильность f(xl,x2,...,xn) = = f*(x\,X2,...,xn). Эта формула доказывается методом математической индукции.
На основании теоремы 1.6 легко доказывается следующая.
Теорема 1.7. Если формулы А и В равносильны, то равносильны и двойственные им формулы, т. е. А = В А* = В*.
1.11.	Практическое занятие № 2. Функции алгебры логики. Закон двойственности
1.11.1.	Показать, что каждой формуле А алгебры высказываний можно сопоставить функцию /(Л) алгебры логики так, что если Д = Л2, то /(4)=/(Л)-
1.11.2.	Сколько имеется различных функций алгебры логики от п переменных?
1.11.3.	По таблице истинности, приведенной в табл. 1.11.1, найти формулы, определяющие функции f\(xXix2ixi),	УзС*!’^»-^)’
/4 (%,, х2, Xj), и придать им более простой вид.
Таблица LILI
	Х2	Xj		Уз (х| , Х2 , Xj )		/4(^,x2,x3)
1	1	1	0	0	0	1
1	1	0	1	1	0	0
1	0	1	1	1	0	1
1	0	0	0	1	0	1
0	1	1	0	1	0	0
0	1	0	1	1	0	0
0	0	1	1	1	1	1
0	0	0	0	1	1	0
Глава 1 Алгебра логики (алгебра высказываний)
35
1 114. Найти все существенные переменные следующих функций:
1)	(m^az);
2)	(xAfJvx;
3)	(х -» (j> -» Д) -» ((.v -» у) -А- (х -A Д).
1.11.5.	Выразить с помощью суперпозиций:
1)	а и —> через v и
2)	а и v через —> и
3)	через -> и 0.
4)	v через —> .
1.11.6.	Привести к дизъюнктивной и конъюнктивной нормальной форме:
1)	({А-а B^fC-i А))-а(в^с).
2)((((а-ав)^а)-ав)^с).
3)	(j _> (в _> с))—> ((л -4 с)-* (а в)).
1.11.7.	По данному набору значений переменных построить элементарную конъюнкцию, истинную для данного набора значений переменных.
1-11.8. Для следующих формул найти СДНФ, при этом для формул 1, 2, 3 и 5 использовать два способа.
1)	((Д —> в)—> ((вл С)—> (Да С))];
2)	((Л->В)-^ а)->(А-а(АлВ))-,
3)	(АлВ)-а Ал(АлВ)-а В-,
4)	Д^(4^(...^(Д,Ч^Д,)...));
5)	(/i-»c)-»S-» Z
1-11.9. Следующие формулы привести к совершенной конъюнктивной нормальной форме:
1)	(C->/1)->(bvC-»/1);
2)	{Ал В)-> A v (А л {В v С));
36
Часть I. Математическая логика
3)	Aa(BvC) -> (А л в) V С;
4)	(a vB —> Ал с)—> А—> A v .8 л С ;
5)	A, v Aj v... v А„ —> В, л fi2 л... л Вп.
1.11.10.	Найти СДНФ для всякой тождественно истинной формулы, содержащей:
1)	Одну переменную.
2)	Две переменных.
3)	Три переменных.
1.11.11.	Найти СКНФ для всякой тождественно ложной формулы, содержащей:
1)	Одну переменную.
2)	Две переменных.
3)	Три переменных.
1.11.12.	Построить формулу от трех переменных, которая истинна в том и только том случае, когда ровно две переменные ложны.
1.11.13.	Построить формулу от трех переменных, которая принимает такое же значение, как и большинство (меньшинство) переменных.
1.11.14.	Построить формулу f от переменных х, у, z так, чтобы
{ха f = хл у,
XV f = xv z.
1.11.15.	По данным СДНФЛ и СДНФВ построить: СДНФ(ЛуВ) и СКНФ(л V в).
1.11.16.	По СКНФ А построить СДНФ Л*, где А * — формула, двойственная к Л.
1.11.17.	Построить функции, двойственные следующим функциям:
1)	Основным логическим операциям и константам 0, 1.
2)	Функции от трех переменных, равной I, если четное число переменных равно единице.
1.11.18.	Показать, что функция xyv xzv yz является самодвойственной.
1.11.19.	Сколько имеется самодвойственных функций от п переменных?
f/issa 1- Алгебра логики (алгебра высказываний)	37
1.11.20.	Дана произвольная несамодвойственная функция. Отождествить у нее переменные так, чтобы получилась песамодвойственная функция от возможно меньшего числа переменных. Каким может быть это число?
1.12. Минимизация булевых функций в классе ДНФ
Карты Карно*
Как было ранее показано, произвольная булева функция может быть представлена в дизъюнктивной и конъюнктивной нормальной форме. Очевидно, что среди этих форм будут такие, какие содержат меньшее число переменных, чем исходная.
Дизъюнктивная нормальная форма называется минимальной, если она содержит наименьшее число вхождений переменных по сравнению со всеми равносильными ей ДНФ.
Формула А(лГ|,х2»--мХ ) называется импликанпюй формулы В[хх,х2,...,хп\ если А — правильная элементарная конъюнкция и Ал В = В. Импликанта А(х1(л2 хп)= х?1 х^2...xfk формулы В называется простой, если после отбрасывания любой переменной из А не получается формула, являющаяся импликантой формулы В.
 Пример. Пусть А = xyz v xyz v xyz v xyz . Найдем все импликанты и простые импликанты этой формулы по табл. 1.12.1.
Таблица 1.12.1
X	У	Z	X	7	Z	ху	XZ	yz	ху
1	1	1	0	0	0	1	1	1	0
1	1	0	0	0	1	1	0	0	0
1	0	1	0	1	0	0	1	0	0
1	0	0	0	1	I	0	0	0	0
0	1	1	1	0	0	0	0	1	1
0	1	0	1	0	1	0	0	0	1
0	0	1	1	1	0	0	0	0	0
0	0	0	1	1	1	0	0	0	0
Лазар Никола Карло (Camot)( 1753-1823) — французский математик.
38
Часть I. Математическая логика
Таблица 1,12.1 (продолжение)
xz	yz	ху	ху	XZ	xz	zy	yz	xyz	xyz
0	0	0	0	0	0	0	0	1	0
0	0	0	0	0	1	1	0	0	0
0	1	0	1	0	0	0	0	0	0
0	0	0	1	0	1	0	1	0	0
1	0	0	0	0	0	0	0	0	1
0	0	0	0	1	0	1	0	0	0
1	1	1	0	0	0	0	0	0	0
0	0	1	0	1	0	0	1	0	0
Таблица 1.12.1 (окончание)
xyz.	xyz	xyz	xyz	xyz	xyz	xyz V xyz	xyz v xyz	A
0	0	0	0	0	0	0	0	0
1	0	0	0	0	0	1	0	1
0	0	0	0	0	.1	1	0	1
0	0	0	1	0	0	0	1	1
0	0	0	0	0	0	0	0	0
0	0	1	0	0	0	0	0	0
0	1	0	0	0	0	0	1	1
0	0	0	0	1	0	0	0	0
Правильных элементарных конъюнкций у этой формулы 26, оии все приведены в табл. 1.12.1. Импликанты по таблице находятся очень легко; импликант всего семь: yz, ху, xz, xyz, xyz, xyz и xуz. Каждую из них можно проверить аналитически, например, А л yz = (xyz v xyz v xyz v xyz)/\ yz = = xyzyz v xyzyz v xyzyz v xyzyz = xyz v xyz = yz(r v x)= yz. Простыми импликантами являются формулы yz, ху и xz • Таким образом, сокра
Глзвз 1. Алгебра логики (алгебра высказываний)	39
щенная ДНФ формулы Л будет дизъюнкцией этих простых импликант: со-крашенная ДНФА = ху v xz v yz.
Очевидно, что всякая булева функция, не равная нулю, представима в виде сокращенной ДНФ. Сокращенная ДНФ может содержать лишние импликан-уы удаление которых не меняет таблицы истинности. Если удалить эти лишние импликанты, то получается ДНФ, называемая тупиковой.
Тупиковая ДНФ, содержащая наименьшее число вхождений переменных вы-сказываний, называется минимальной ДНФ (МДНФ).
'Сокращенную ДНФ можно получить и с помощью аналитических преобразований без таблицы истинности. Для этого используются три операции:
1,	Полное склеивание Ах v Ах = А (к v х) = А.
2.	Неполное склеивание Ах v Ах = а(х v x)v Ax v Ax s A v Ax v Ax.
3.	Элементарное поглощение Axc v A = a(x° v 1)= A, oe {0,l}.
Теорема 1.8 (Теорема Квайна). Если в СДНФ формулы А произвести все возможные операции неполного склеивания, а затем операции элементарного поглощения, то получится сокращенная ДНФ, т. е. дизъюнкция всех простых импликант.
Рассмотрим формулу А из предыдущего примера. Произведем в ней все возможные операции неполного склеивания, а затем элементарного поглощения. Тогда
А = xyz v xyz v xyz v xyz =
=	xz(y V y)v yz(x V x)v xy(z V 7,)v xyz v xyz v xyz V xyz = XZ v yz v v xy v xyz V xyz v xyz v xyz = xz(l v y)v yz(l V x) v xy(l v z)v xyz =
= xzv xyv yz(l v x)= xy V xz v yz .
Для получения минимальной ДНФ из сокращенной используется матрица Квайна, имеющая следующую структуру: в заголовки столбцов матрицы записываются конституенты единицы СДНФ, а в заголовки строк— простые импликанты сокращенной ДНФ. В матрице звездочками отмечаются те пересечения строк и столбцов, для которых элементарная конъюнкция, стоящая в заголовке строки, входит в констигуенту единицы, стоящую в заголовке Столбца.
40
Часть I. Математическая логика
Составим матрицу Квайна для формулы А в табл. 1.12.2. Поскольку формула А дана в виде СДНФ (см. табл. 1.12.1), матрица будет иметь следующий вид.
Таблица 1.12.2
Простые импликанты	Конституенты единицы СДНФ			
	xyz	xyz	xyz	xyz
*У	-	*	*	-
XZ	*	-	*	-
yz	-	*	-	*
В тупиковую ДНФ выбирается минимальное число простых импликант, дизъюикция которых сохраняет все конституенты единицы СДНФ, т. е. каждый столбец матрицы Квайна содержит по крайней мере одну звездочку, стоящую на пересечении со строкой, соответствующей одной из выбранных импликант. Затем из тупиковой выбирается минимальная ДНФ. В нашем случае тупиковая ДНФ равна xz v yz, она же будет равна МДНФ.
Еще один, на наш взгляд, более громоздкий способ получения минимальной ДНФ дает использование карт Карно. Карта Карио содержит 2п клеток, каждая из которых соответствует одной из 2п возможных комбинаций значений п логических переменных х1,х2,...,хп. Обычно карта строится в виде матрицы размером 2к на 2п~к так, что ее столбцы соответствуют значениям переменных х1,х2,...,хк, строки—значениям переменных xk+l,xk+2,...txn, а соседние клетки отличаются только значением одной переменной как по вертикали, так и по горизонтали. Для каждой функции может быть построено несколько различных карт Карно.
Для формулы А, содержащей три переменных, карта Карно может иметь вид, показанный на рис. 1.1 и 1.2. В этих картах все клетки, отмеченные скобкой, представляют комбинации соответствующей переменной со значением "единица", неотмеченные клетки соответствуют переменной со значением "нуль".
В карте Карно каждая клетка может иметь не более четырех соседних клеток (по горизонтали и по вертикали), поэтому для представления точек, отли
^лавз t Алгебра логики (алгебра высказываний)	41
чающихся только на одну координату, часто бывает необходимо использовать более удаленные клетки.
Булева функция может быть представлена на карте Карно выделением клеток в которых она принимает значение, равное единице. Для построения простых импликант берутся всевозможные наборы клеток, образующих вершины некоторого к -куба, т. е. 2* точек таких, что пары соседних отличаются ровно одной координатой. Совпадающие координаты образуют набор (а ..,о t), и нужная импликация имеет вид х?*х?2...х?и-*, где х, — ХУ1* 2* п-к /	t] »2 1п-к	1
перемениая, соответствующая .
у
ООО	010	110	100
001	011	111	101
Рис. 1.1
После просмотра всех пар точек, образующих 1-кубы, нужно перебрать четверки точек, входящих в 2-кубы и т. д. Следует отметить, что простые им-пликанты находятся только в к -кубах, не содержащихся в кубах более высокого порядка.
Для формулы А(л, у, z)= xyz. v xyz. v xyz v xyz карта Карно пред-ставлена на рис. 1.3. Здесь А(0,0,0) = А(0,1,0)= А(О,1,1)= А(1,1,1)=0, а А(1,1,0)= А(1,0,0)= А(0,0,1)= А(1,0,1)= 1.
На этой карте для формулы А можно выделить только 1-кубы, 2-кубов здесь Нет. Имеется три пары точек (1,1,0)-(1,0,0), (1,0,0)-(1,0,1) и (1,0,1)-(0,0,1), отличающихся значением ровно одной координаты. Соответствующие простые импликанты имеют вид для первой пары: xz (или xyz v xyz = xz ), для второй ху и для третьей пары yz. Таким образом, сокращенная ДНФ будет равна ху v xz v yz .
42
Часть I. Математическая логика
После нахождения простых импликант построение МДНФ сводится к изучению матрицы Квайна. На картах Карно простой структуры удается непосредственно находить МДНФ, выбирая те простые импликанты, которые покрывают все единицы и имеют наименьшее возможное число вхождений переменных. В случае нашего примера это две пары точек: (1,1,0)—(1,0,0) и (0,0,1)—(1,0,1), т. е. МДНФ = xz v yz 
В силу принципа двойственности все приведенные рассуждения могут быть применены после необходимого преобразования для нахождения минимальных конъюнктивных нормальных форм (МКНФ).
1.13. Проблема разрешимости
Все формулы алгебры логики делятся натри класса:
1.	Тавтологии.
2.	Тождественно ложные.
3.	Выполнимые.
Формулу А называют выполнимой, если она принимает значение единицы хотя бы на одном наборе входящих в нее переменных и не является тождественно истинной.
Вопрос, к какому классу формул относится текущая формула А, и называется проблемой разрешимости, которая элементарно решается с помощью таблицы истинности, однако для больших формул таблицы очень громоздки и их использование затруднительно.
Другой способ основан на приведении формулы А к КНФ или ДНФ и использовании специального алгоритма, который позволяет определить, является ли данная формула тождественно истинной или нет. Одновременно с этим решается проблема разрешимости.
{-лдва 1. Алгебра логики (алгебра высказываний)43
Вышеназванный алгоритм таков. Сначала рассматривается формула А . Если As 1, то задача решена. Если это не так, то рассматривается формула А. Если А = 1, то А = 0 и задача решена. Если это не так. то А — выполнимая формула. Установление тождественной истинности формулы А основано на следующих теоремах.
Теорема 1.9. Для того чтобы элементарная дизъюнкция была тождественно истинной, необходимо и достаточно, чтобы в ней содержалась переменная и ее отрицание.
Например, л'( v х, =1.
Теорема 1.10. Для того чтобы элементарная конъюнкция была тождественно ложной, необходимо и достаточно, чтобы в пей содержалась переменная и ее отрицание.
Здесь то же самое: для одной переменной это очевидно х а л( s 0, для набора п переменных это утверждение легко доказывается.
Теорема 1.11. Для того чтобы формула алгебры логики А была тождественно истинна, необходимо и достаточно, чтобы любая элементариаи дизъюнкция, входящая в КНФ А, содержала переменную и ее отрицание.
Доказательство.
1.	Необходимость. Пусть А = 1. Тогда КНФ А = 1 и КНФА = л А2 а А3 а ... а Ап = 1 и V/ А( = 1. Так как Д - элементарная дизъюнкция, то по теореме 1.7 А( содержит переменную и ее отрицание.
2.	Достаточность. Пусть Д содержит переменную и ее отрицание. Тогда ---------------------------	п
По теореме 1.7 А = 1, / = 1,п. Но КНФ4 = П Aj = 1. Следовательно i=l
А —тождественно истинная формула.
Теорема 1.12. Для того чтобы формула алгебры логики А была тождественно ложной, необходимо и достаточно, чтобы любая элементарная конъюнкция, входящая в ДНФ А, содержала переменную н ее отрицание.
• Пример. А = (ху—> х) л (ху-> у). Получить СДНФ и СКНФ с помощью таблицы истинности (табл. 1.13.1) и путем элементарных преобразований.
44
Часть I. Математическая логика
Таблица 1.13.1
X	У	X	У	ху	ху X	ху	ху —> у	ху->У	А	А
1	1	0	0	0	1	1	0	1	1	0
1	0	0	1	0	1	0	1	0	0	1
0	1	1	0	0	1	0	1	0	0	1
0	0	1	1	1	1	0	1	0	0	1
Из табл. 1.13.1 сразу получаем СДНФ А = х л у. Из этой же таблицы видно, что формула А — выполнимая формула. Найдем теперь СКНФ по формуле
СКНФ А = СДНФ А, СДНФА = (х л у) v (х л у) v (х л у).
СКНФ^ = (х л у) v (х л у) v (х л у) = (х л у) л
л (X Л у) V (л л у) = (х V у) л (х л у) л (х л у) = (х V у) л (х V у) л (х V у). Элементарными преобразованиями исходной формулы получить СДНФ и СКНФ часто бывает значительно сложней, чем из таблицы истинности
А = (ху -у х) Л (ху -> у) = (ху V х) Л (ху V у) =
= (ху V х) Л (ху л у) = (ху V х) Л (ху Л у) = (ху V х) Л (ху) = ху(х V 1) =
= ху = х л у — сразу ДНФ и СДНФ. СДНФ — дизъюнкция элементар-ных конъюнкций. В ней только одно слагаемое ху, других нет. Найдем теперь СКНФ, для этого нужна хоть какая-то КНФ. Например, ху — КНФ, т. к. х и у можно считать элементарными дизъюнкциями.
лу — (х v (у л у)) л (у v (х л х)) = (х V у) Л (х V у) Л (у V х) Л (у V х) =
= (х V у) Л (XV у) Л (XV у).
Полученная СДНФ А не является тождественно ложной, т. к. входящая в нее элементарная конъюнкция не содержит переменную и ее отрицание. Следовательно, формула А или тождественно истинна или выполнима.
СКНФ А не является тождественно истинной, т. к. все элементарные дизъюнкции не содержат какую-то переменную и ее отрицание. Таким образом, А — выполнимая формула.
f rfoga 1. Алгебра логики (алгебра высказываний)__________45
1.14. Полиномы Жегалкина*
Конъюнкция ху в булевой алгебре {0,1} совпадает с арифметической операцией умножения над числами. Обычное арифметическое сложение выводит за пределы множества {0,1}, но можно использовать сложение по модулю 2.
Рассмотрим логическую связь, определяемую в табл. 1.14.1.
Таблица 1.14.1
X	У	X® у
1	1	0
1	0	1
0	1	1
0	0	0
В результате возникает новая логическая операция, которую мы будем обозначать x©j>. Жегалкин И. И. предложил эту логическую связь называть суммой х и у и обозначать х © у . Сумма истинна тогда и только тогда, когда истинно одно и только одно составляющее высказывание, т. е. знак ® Здесь означает союз "или", употребленный в строго разделительном смысле. Сравнивая таблицы истинности основных логических связок, заметим, что х ® у = х «-> у. Подобным же образом могут быть арифметизированы все 16 операций, ранее рассматривавшихся для функций двух переменных.
Для двух введенных операций: введенного сложения по модулю 2 и умножения (конъюнкции) имеют место все основные логические законы: коммутативность, ассоциативность, дистрибутивность умножения относительно сложения. Операция сложения по модулю 2 используется в логических функциях, называемых полиномами (многочленами) Жегалкина.
Многочленом Жегалкина называется многочлен, являющийся суммой константы 0 или 1 и различных одночленов, в которых все переменные входят не выше, чем в первой степени:
’ <114Л)
‘I -‘2.‘к
Жегалкин Иван Иванович (1869-1947) — советский математик.
46
Часть I. Математическая логика
причем на каждом наборе	все ij (j = 1,2,...,&) различны,
а а-- ; G {0,1}.
Подсчитаем число полиномов Жегалкина от переменных х, ,х^,...,х?1, т. е. число выражений вида (1.14.1). Число членов х^х^ ...xik равно количеству подмножеств вида ,г2,.множества из п чисел {1,2,...,п}, т. е. 2Л . Поскольку =0 или 1, то общее число многочленов 22 . Так как число булевых функций от п переменных также равно 22 , то каждая булева функция может быть представлена многочленом Жегалкина. Заметим, что какова бы ни была булева функция от двух переменных /(х(, х2), ее логическое значение /(otpO^) при любом наборе (ара2) выражается формулой
«2) = /(l.l)aia2 ® /(1,0)а, (1Фа2)® /(0,1X1 © )«2 ®
©/(O.oXieajXlffiaJ,	(1.14.2)
в справедливости которой легко убедиться.
Рассмотрим несколько примеров. Сначала с помощью таблицы истинности 1.14.2 найдем, как выражается многочлен Жегалкина для х.
Таблица 1.14.2
X	X	Х®1
1	0	0
0	1	1
1. Таким образом, х = хФ1.
X, V х2 = Л1 л Х2 = (*! ф 1Х*2 © 1)® 1 = Х,Х2 ф X, ф х2 ® 1 ф 1 =
= XjX2 Ф X] Ф х2. То же самое получается по формуле (1.14.1): Х| v х2 = aXj х2 Ф Z?Xj Ф сх2 Ф d , при Х] = х2 = 0 имеем d = 0; при Х| = 0, х2 = 1, с = 1; при х( = 1, х2 = 0, Ъ = 1; при х, = х2 = 1, a = 1, тогда Х| V Х2 = Х]Х2 Ф х, Ф х2 .
Глява 1. Алгебра логики (алгебра высказываний)
47
2. X, v х2 v х, = х, л х2 л х3 = (х, © 1\х2 © 1\х3 © 1)® 1 =
= х]Х2-хЗ ® Л2Л3 ® Х1%3 ® Х3 ® Х1Х2 ® -*2 ® %, ® 1 © 1 = ^Л’зЛ'з Ф Х]Х2 ® ®Х1Х3ФХ|®Х2Фл-3.
g.заключение приведем вновь таблицу всех булевых функций (табл. 1.14.3) от двух переменных и их представление многочленами Жегалкина.
Таблица 1 14.3
X	У	А	А	А	А	А5	А,	А
1	1	1	1	1	1	0	0	0
1	0	1	1	1	0	1	0	0
0	1	1	1	0	0	0	1	0
0	0	1	0	0	0	0	0	1
к	А	/10	Ai	Аг	Аз	Ад	/|5	А<,
	0	1	0	1	0	1	1	0
1	0	0	1	0	1	0	1	0
1	1	0	0	1	1	1	0	0
0	1	1	1	0	1	1	1	0
А^1 = 1,	Аг =X'J	 у - xy® X © у,
А = х = X,	ft =	v = xy ’
__			
/5 5 л* у = ху ® х,	f6 = У	—> X = ху Ф у ,
/7^ХУу = лу©хФу©1,		у = X ® у,
/» = х= х®1,	Ao = x	у = X Ф у Ф 1,
Al sy = д>ф 1,	f,2=y	= у,
Аз S х л 7 = ху О 1,	f\4 = л	—> у = ху ® X ® 1 ,
As S у —> X = ху © у © 1.	fl6 =0	= 0.
48
Часть I. Математическая логика
1.15. Полнота и замкнутость функций алгебры логики
Система булевых функций G = {fx ,f2 ,,/„} называется полной, если любая булева функция может быть выражена через функции из G с помощью суперпозиций. Система Р2 — множество всех булевых функций — является полной системой.
Теорема 1.13. Пусть даны две системы функции	н
fepS’z’--•jS’a-}» относительно которых известно, что первая система полна н любая из ее функций может быть выражена с помощью суперпозиции через функции g|,g2>--->gv Тогда система {g,.} также является полной системой.
Доказательство.
Пусть ф— произвольная функция из Р2. Так как система функций {fx.fl.-j,,} полна, то ф = ф(/|,л,•>/».)> причем переменных в ф может быть любое конечное число от 1 до т.
/1 =<Plfep£2..8к\
По условию теоремы	Теперь функция ф может быть
fin ~ Ф,н (&i * 82Sk
выражена через систему функций fei><?2»•••’<?£} с помощью суперпозиции
->Рв(?1,?2>->^))=р(?1,?2--..,?4). Таким образом, произвольная функ-ция из Р2 выражена через функции системы {gpgj,.т. е. эта система функций полна.
Рассмотрим несколько примеров и докажем полноту следующих систем функций:
1. { , л, v}. Полнота этой системы непосредственно следует из формул (1.9.1) и (1.9.2).
{ ,v}m { , а]. Для доказательства полноты системы { , v} воспользуемся теоремой 1.8. Здесь роль системы {/п f2,/3} играют функции { ,л, v}.
f Алгебра логики (алгебра высказываний)
49
а роль системы fe,,g2}— функции { ,v). Тогда /, = g„ f3 = g2, f2=Xt VX2 =(P2(g!,g2)-
Полнота системы { , л} доказывается аналогично с использованием раз-
носильности Х\ v х2 — Х| Л х2 .
{,©,1}— система, связанная с полиномами Жегалкина. Доказательство ее полноты проводится аналогично: возьмем {У1»/*2}= { , л], а	Тогда поскольку х=хФ1, то /, = Ф|(^2>^з)’
/2 = g,, т. е. система функций {•, Ф, 1} полна.
Таким образом, мы получили результат, который можно сформулировать в виде следующей теоремы.
Теорема 1.14. Каждая функция из Р2 может быть выражена при помощи полинома по модулю 2 (полинома Жегалкина).
Класс функций G называется функционально замкнутым, если вместе с функциями из этого класса он содержит и все их суперпозиции. Функционально замкнутыми классами являются класс всех булевых функций Р2, класс, содержащий только тождественные функции вида /(х)=х, класс функций от одной переменной, т. к. все суперпозиции над функциями из этих классов не выводят результат из соответствующих классов. Функционально замкнутые классы, отличные от пустого класса и от совокупности всех функций алгебры логики, называются собственными функционально замкнутыми классами. Рассмотрим некоторые важнейшие замкнутые классы функций из Р2.
1.	Обозначим через Ро класс всех булевых функций	сохра-
няющих нуль, т. е. функций, для которых /(0,0,...,0) = 0. Очевидно, что в этот класс входят функции 0, х, %, л х2, Х( v х2, х, © х,, а функции 1 и х не входят в него.
Для обоснования замкнутости Ро достаточно показать, что функция Ч» = фСЛ.А.../,)еро, если	Но <р(0,0,..., 0)=
= ф(/|(О, О,..., О), f2(О, О,..., О),...,(О, О,..., О)) = 0. Следовательно, <ре Ро.
2-	Через 7] обозначим класс булевых функций f(xl,x2,...,x„), сохраняю-Щих единицу, т. е. функций, для которых / (1,1,..., 1) = 1. К этому классу
50
Часть I. Математическая логика
принадлежат функции 1, х, %! а х2, Xj v х2 , напротив, функции 0 и х не входят в . Доказательство замкнутости этого класса аналогично преды-- дущему.
3.	Обозначим через 5 класс всех самодвойственных функций, т. е. функций f е Р2, для которых /* =/. Докажем, что класс 5 замкнут. Для самодвойственной функции имеет место тождество /"'(^,х2,...,х„) = /(^,Х2,...,хв)= f(x\ ,х2,...,хв). Для доказательства замкнутости покажем, что ф = ф(/„/2,...,/„,)б5,еслИ
Найдем <р* =ф,(/1’,/2*;)=ф(а,Л............Л)=ф(/|.Л.-./„,)е 5.
Этот же результат следует и из теоремы 1.5.
4.	Функция f(x},x2,...,xn) называется линейной, если
/(х|,х2,...,х„)=а0Фа1х1Ф...Фа„х„,
где «, G {0,1}. Класс линейных функций обозначается через L. Он, очевидно, содержит константы 0 и 1, тождественную функцию х, функции X, Х| Ф х2 . Функции %! А х2 И X, V х2 £ L.
Класс линейных функций L функционально замкнут. Если ft =aa ®a^ ®...®a„xni e L и /2 = b0 ®blX} ®...®\x„2 e L, to a0 ®a,x, ®...®аД ®b[xl®...®bl,ixl,i )®aMxM®...®a„xni e L. Это очевидно, если вспомнить, что хФх = 0, х• х — х, ОФх = х. Переименование переменных также не выводит из L.
5.	Последний класс наиболее важных замкнутых булевых функций— монотонные.
Введем отношения частичного порядка на наборах переменных х, ,х2,...,х?). Для двух наборов а - (p\,a2,...,aH) и р = (рьр2,...,рп) выполнено отношение предшествования а<:р,если eq < pj,а2 р2,...,а/Г <р„ . Например, (0,1,0,1)<(1,1,0,1). Оценки (о, 1,0,1) и (1,1,0,1) называются сравнимыми, а оценки (о, 1,0,1) и (1,0,1,1) — несравнимыми. Введенное отношение ч или < есть отношение частичного порядка.
Функция /(х|,Х2,...,хн) называется монотонной, если для любых двух наборов а и Р таких, что а<р, имеет место неравенство /(а)< /(р). Класс
gjfiga t. Алгебра логики (алгебра высказываний)
51
монотонных функций обозначается через М. Очевидно, что монотонными функциями будут 0, 1, х, X] л л2 и Х| v х2. Функция л; —> х2 не монотонна, т.к. (0,0)^(1,0), но /(0,0)=/(1,0)= 0.
Покажем, что класс монотонных функций замкнут. Для установления замкнутости класса М достаточно показать, что функция ф = ф(/|. Л.-’fm )е М’ если <РТ|./2--.Л„6 М . Пусть
^=(X|,JC2...Х,Л Х ~ \А'|,1’-Х|.2’-">Л1А J’ Х -\X2,t’X2.2’—’X2,k2)’—’X	~
= (*m.l’xw.2v-.-W,J—~ наборы переменных функций <р,/,/,,...,/„, соот-ветственно, причем множество переменных функции ф состоит из тех и Только тех переменных, которые встречаются у функций /], /2fm. Пусть аир — два набора переменных х. причем а<Р . Эти два набора опреде-
_	-(') „О) “(2) ~(2)	—р(»,)	~0) “(2)	-(и)
ляют наборы а ,р ,а ,р	,р переменных х ,х
“(1) р(0 -(2) 77(2) -ММ
причем такие, что а =^р ,а <р	<р
Функции ф,/|,/2£ М , т. е.
>рр"рри).......ср/Х/р"')./?1/.......лр'-'/в
силу монотонности (по условию) функции (р получим:
*-»(/,!,.I.V-M
Классы Pa,P^S,L и М неполные и попарно различные, т. к. можно привести примеры булевых функций, не принадлежащих ни одному из этих классов, и примеры функций, принадлежащих одному из любых двух классов, но Не принадлежащих другому. Но оказывается, что для проверки полноты системы булевых функций можно ограничиться рассмотренными пятью функционально замкнутыми классами.
Теорема 1.15 (теорема Поста* о функциональной полноте). Для того чтобы система булевых функций {/,, /2v, fm} была полной, необходимо
Эмиль Леон Пост (1897-1954) — американский математик и логик.
52
Часть I. Математическая логика
н достаточно, чтобы она целиком не содержалась ни в одном из пяти замкнутых классов Pq,Px,S,Lh М.
Для проверки, выполняются ли для некоторой системы функций условия теоремы Поста, можно составлять таблицы, которые называются таблицами Поста. Рассмотрим следующий пример: доказать полноту системы функций л:© у© г, ху, 0,1. Таблица Поста будет иметь следующий вид (табл. 1.15.1).
Таблица 1.15.]
Функция	Ро		S	L	м
х® д>® z	+	+	+	+	-
ху	+	+	-	-	+
0	+	-	-	+	+
1	-	+	-	+	+
В клетках этой таблицы пишется знак "+” или в зависимости от того, принадлежит рассматриваемая функция заданному функционально замкнутому классу или нет. Для полноты системы функций необходимо и достаточно, чтобы в каждом столбце был хотя бы один минус.
1.	/^(х,у,2’) = х®у©z. f— функция, сохраняющая нуль, ибо 0©0©0 = 0, аналогично она сохраняет единицу 1©1Ф1 = 1. Найдем двойственную ей функцию f* = /1(x,y,z)=(x®l)©(y©l)©(z©l)©l = = x©y©Z©l©l©l©l = x©y©z,T. е. / G S. Очевидно, что / — линейная функция. Осталось проверить ее на монотонность. Выберем два набора значений переменных (0,1,0)ч (0,1,1), /](0,1,0) = 1>/1(0,1,1) = 0.Итак,	.
2.	f2 (х, у) = ху. Проверим принадлежность f2 к каждому из пяти классов функций. 0-0 = 0, f2e Ро, 1-1 = 1, f2e Pt, ft = fjx,y)=x*y = xvy, т. е- /г — несамодвойственная функция. f2 не линейна, т. к. содержит произведение переменных ху. Наконец, /2 G М, потому что имеется семь сравнимых наборов значений переменных: (0,0)<:(0,0),
Глава 1. Алгебра логики (алгебра высказываний)	53
-	——----------- ---------------------------------------------—
(0,0р (1, о), (0,0)-:(0,1), (1, ор (1,1), (о,1)^(1,1), (О,О)-<(1,1) и (1,1)< (1,1). Очевидно, что для любого из них
3.	/3 = 0 и f4 - 1 проверяются элементарно.
Собственный функционально замкнутый класс называется предполным, если он не содержится ни в каком функционально замкнутом классе, отличном от самого себя и от класса всех функций алгебры логики. Итак, какой-то класс функций К называется предполным (или максимальным), если К — неполный, а для любой f 6 Р2 и f £ К, класс К {/} — полный. Из определения следует, что предполный класс является замкнутым. В алгебре логики существуют только пять предполных классов, а именно: Ро, Р}, S, L и М.
Система функций G = {/|,/2называется независимой, если никакая функция f системы G не представима суперпозициями функций из
Независимая система функций G называется базисом замкнутого класса К, если всякая функция из К есть суперпозиция функций из G . Таким образом, система функций G из замкнутого класса К называется его базисом, если она полна в К, а всякая ее собственная подсистема не является полной в К.
Теорема 1.16. Каждый замкнутый класс нз Р2 имеет конечный базис.
1.16.	Производные от булевых функций
В дискретной математике и математической логике отсутствует понятие предела, однако используется термин производная. Это связано с разложением булевой функции в ряд, аналогичный ряду Маклорена в точке (на наборе) (О, О,..., О) или ряд Тейлора** в произвольной точке (на произвольном наборе).
Производной первого порядка -— от булевой функции /(.¥, ,х2 ,...,хц ) по Эх,-
переменной х,- называется
= f(xl,x2„...	...,J„)®/(л,,Л,,.О,Л',+|,...,Х„), (1.16.1)
Колин Маклорен (1698-1746) — шотландский математик.
Брук Тейлор (1685-1731) — английский ма гема гик.
54
Часть I. Математическая логика
где f(xi>x2,...,xi_] ,l,x;+].xH)— единичная остаточная функция,
/(x,,	,0,xz+l ,...,xn) —• нулевая остаточная функция, © — операция
суммирования по модулю два.
Производная первого порядка —— от булевой функции /(х^ OXj
ределяет условия, при которых эта функция изменяет значение при переключении переменной х..
оп-
dkf
Смешанной производной ——-—— от булевой функции f(xt, х2 d\,^i2-dx,t
называется выражение вида
э‘
(1.16.2)
Эх„
_ э э*'7 Эх,,9^...^	Эх,Д dx^xl2...dxit Г
Эту производную вычисляют, применяя соотношение (1.16.1) к раз при фиксации переменных xt- ,xJ2 ,.,.,xZfc по порядку (порядок фиксации переменных не существенен).
Производной к-го порядка от булевой функции /’(х|,х2,...,х„) по переменным xj]txi2i...,xik называется выражение, равное сумме по модулю числа 2 всех производных первого порядка, вторых, третьих,..., к-х смешанных производных при фиксации переменных х,- ,xz- ,...,xf :
9*/	_ у Э/ ф у Э2/
Э(у,х,г,...,у ) “ Эх, ,-dxfiXj
э3/ „
---------ф Эх-Эх Эх,
дк
Эх дХ: ...Эх
(1.16.3)
где суммирование под знаком суммы в этой и последующих формулах, посвященных производным от булевых функций, производится также по модулю два.
Производная к-го порядка определяет условия, при которых функция f(xy,x2,...,xn) изменяет значение при одновременном изменении значений
переменных xi ,xi .
Глава 1. Алгебра логики (алгебра высказываний)
55
Рассмотрим пример. Пусть / (х, у) = (л'у-> х)л	Очевидно, что
= (ху V л)л (4у л = (ху V х)л ху s V у)л лу =
= хху v хуу = ху .
Тогда
—- = 1-у © 0-у = у, = х-1ФхО = х, ох	оу
d2f УСУ] дхду ду дх )
= 1Ф0 =
4^=^ Э(х, у) дх ду
f
®^-= уФх©1 =
дхду
= У © X = (у л xjv л xjs ху V X V , т. К. X © у = х <-» у =
= (х л y)v (х л у), а х = х Ф 1.
Практическое использование введенные понятия производных от булевых функций находят при проектировании и расчете логических схем переключательных устройств, а именно: условия переключения различных каналов таких схем зависят от значений производных от булевых функций.
Выражение (1.14.1) для многочлена Жегалкина (частный случай (1.14.2)) можно более подробно расписать в следующем виде:
Лад,= /»®1/л® 1у,-\\®-® ’’k	'l-1	'Г'2-1
'1*'2
®	®-®.А’.ад-л,.	(И6.4)
'p'2’-4t=1 Ч*'2’/1*Г3.'к-[*'к
где а„ = /0. a. = fit и т. д., /0.	/|2 е {0,1}.
Последовательно продифференцируем полином Жегалкина от функции /(xi,х2,...,хп) по переменным	и найдем значения всех произ-
водных в точке (О, О,..., О). При этом поскольку полиномы Жегалкина состоят из одночленов, в которые все переменные входят не выше, чем в первой сте-д ( "	"
пени, то ---- Дх/ 1“ Лх/ • Кроме того, по свойству производной
Э-\1/=| )
56
Часть I. Математическая логика
9(/,®g)r.9/(l!ag дх дх дх
Тогда после дифференцирования получаем
Действительно, после дифференцирования по переменным х1,х2,...,хд. все члены в разложении (1.16.4) до /,2 А. обращаются в нуль, а в результате подстановки хА,+) = х&+2 =... = хп =0 остальные члены этого разложения, кроме /27., также будут равны нулю. Тогда из (1.16.4) после несложных преобразований получаем следующую теорему.
Теорема 1.17. Любая булева функция	представима своим
значением на наборе (0,0,...,0) н значениями всех производных --------------,
dxt д1/ dnf	. . _
———— -----------------—, i, ] = 1,2,...,л, i* j на этом наборе в виде
dXjdXj	дх}дх2...дхп
Эх(Эх2...Эх„
(0,0,....0)
(1.16.5)
Это разложение аналогично разложению в ряд Маклорена для функции п переменных. Для получения разложения булевой функции в ряд, аналогичный ряду Тейлора на наборе (aj,a2,...,o/z), воспользуемся параллельным переносом начала координат.
Пусть	х2 = х2 ©о2’-» Хп=хп®°п- Тогда точка
(oi,g2,...,o/j) в системе координат x],x2,...,xtt будет соответствовать точке (о, 0,..., 0) в системе х{ ,х>2,...,х^1.
.Глава 1. Алгебра логики (алгебра высказываний) 57 Разложим булеву функцию f(x],x2,...,xil) по формуле (1,16.5) в точке (о, о,..., о) и заменим каждую переменную х^ на xi Фо-; получим формулу и теорему о разложении булевой функции f(x]tx2,...,xll') на произвольном наборе	).
Теорема 1.18. Любая булева функция f{xi,x2,...,xil) представима своим значением на наборе (о|,о2,...,о„ ) н значениями всех своих произвол* д/ э2/	Э'7	. . 1О
НЫХ -г— , —-— , 1, J - 1,2,...,n, на этом наборе ox	dXjdXj	dx(dx2...drn
в виде
Рассмотрим все этапы получения разложения по формуле (1.16.5) для конкретной булевой функции /(х,у, z) = (ху —> yz)—> ((х—» у)—> (- —» у))-Упростим эту формулу.
/(х, у, z) = ху v yz V х V у V Z V у j = (ху л yz)v (fx А у)v Z V у s (ху л (у v z))v (х v у v z)s хуу v xyz vxvyvz^xvyvz.
Получим вначале представление этой функции полиномом Жегалкина
/(х, у, z) - х v у v z = х л у л z = (х © 1Ху ® О2 ® 1 -
= (ху ® у © X © l)z Ф1 = xyz © yz Ф XZ © Z Ф 1.
58
Часть I. Математическая логика
Найдем теперь все необходимые производные:
'Xf	_	_	_ ________ _
— = 1 v у v zФ0 v у v г = 1 @ у v г = у v z ~ yz 
То же самое получается из дифференцирования самого полинома Жегалкина
^- = yz ФО © z ©0© 0 = yz © Z = z(y Ф1)=zy  Далее аналогично: ох
'ХГ	_	_	_	_=	_	_
-^- = xvlvz®xvOvz = l©xvz = xvz = xz, T“ = XVyvl©XVyvO = ду	dz
у;э!£=эш=1,геб.г=г;
дхду ду дх )
d2f d(df} , -Лп - - d2f д dxdz dz Эх)	dydz Э;
Э3
= 1®0 = 1.
dxdydz dz
Тогда формула (1.16.5) для данной булевой функции от трех переменных будет иметь вид
f (x,y,z)= X V у V z = l©(yz)l, чЛХ©(хг)| AV©(xy)l
V 7	V '1(0,0,0)	' '1(0,0,0)	'	' '1(0,0,0)
л г ® 61(0,0.0) ЛХУ® Й(0.0,0) л xz ® 01(0,0.0) л	®11(0,0.0) л	=
= 1©0®0©1-г©0©1-хг©1'уг©1' xyz =
= 1® z® xz® yz® xyz-
Глава 1. Алгебра логики (алгебра высказываний)	59
1.17. к-значные логики
Рассмотренная в предыдущих разделах двузначная логика допускает обобщение па /<-значпый случай. При этом хотя в А'-значпых логиках сохраняются многие свойства и результаты двузначной логики, часто наблюдаемые факты и явления обнаруживают принципиальное отличие от рассмотренной алгебры логики. Многие решенные задачи двузначной логики не имеют такого исчерпывающего решения в /с-значной логике, а иные и вовсе не решены. Функция /(л* ,х2,...,хп ) называется функцией k-значиой логики, если ее аргументы определены на множестве {о, 1, 2,..., к -1}, состоящем из к элементов, а сама функция принимает значения из того же множества.
Множество всех функций /с-значпой логики обозначается через Рк . Очевидно, что функция	полностью определена, если задана ее ис-
тинностная таблица (табл. 1.17.1).
Таблица 1.17.1
	лу		Т-!	л;	/(.V, ,Л-2	, -V, )
0	0		0	0	/(ОД-,0,0)
0	0		0	1	/(0,0,..,0,1)
0	0		0	2	/(0,0,.,0,2)
					
0	0		0	к -1	/(0,0,,,0,/с-1)
0	0		1	0	/(0,0,.,Д,0)
0	0		1	1	/(0,0,, .J,l)
					
0	0		1	/с-1	/(0,0,,2,/с-1)
					
/<-|	/с-1		/с-1	/с-1	/(/<-1Л-1,,Л-1,/с-1)
3 Зак. 4306
60
Часть I. Математическая логика
Так как число /с-значных наборов длины п равно /с", то число функций от ,п п переменных в /с-значной логике Рк равно* .
Из сказанного ясно, что в Рк в значительной степени возрастают трудности по сравнению с Р2, даже в возможности перебора функций. Например, если функций от двух переменных в Р2 всего 16, то уже в Р-, их З3 = ЗВ 9 = 19683. Число строк в истинностной таблице, равное кп, тоже растет очень быстро. Например, при к = п = 3 таблица имеет следующий вид (табл. 1.17.2).
Таблица 1.17.2
	х2				Х2		X,)
0	0	0	/(0,0,0)	1	1	2	/0,1,2)
0	0	1	/(0,0,1)	1	2	0	/С.2,0)
0	0	2	/(0,0,2)	1	2	1	/0,2,1)
0	1	0	/(0,1,0)	1	2	2	/0,2,2)
0	1	1	/(0,1,1)	2	0	0	/(2,0,0)
0	1	2	/(0,1,2)	2	0	1	/(2,0,1)
0	2	0	/(0,2,0)	2	0	2	/(2,0,2)
0	2	1	/(0,2,1)	2	1	0	/(2,1,0)
0	2	2	/(0,2,2)	2	1	1	/(2,1,1)
1	0	0	/(1,0,0)	2	1	2	/(2,1,2)
1	0	1	/0,0,1)	2	2	0	/(2,2,0)
1	0	2	/0,0,2)	2	2	1	/(2,2,1)
1	1	0	/(1,1,0)	2	2	2	/(2,2,2)
1	1	I	/0,1,1)				
В как ив Р2, вводятся понятия существенной и несущественной (фик-
тивной) переменной, понятие равенства и суперпозиции функций.
Глава 1. Алгебра логики (алгебра высказываний)
61
рассмотрим примеры некоторых конкретных функций из Pk, которые можно считать элементарными.
1.	х = (л + 1)тпосЦ—отрицание Поста.	(1.17.1)
х в этой функции представляет собой обобщение отрицания в смысле "циклического" сдвига значений. Например, при к = 3 для x = (x + l)mod3 будем иметь следующую таблицу истинности (табл. 1.17.3).
Таблица 1. 17.3
X	х- (x+l)mod3
0	1
1	2
2	0
Таблица 1.17.4
X	Ж'= к -1 - х
0	2
1	1
2	0
2.	~х = Nx=k-\-x.	(1.17.2)
Это другое обобщение отрицания в смысле "зеркального" отображения значений. Эта функция носит название отрицания Лукасевича . Для к — 3 таблица истинности этой функции приведена в табл. 1.17.4.
/ \ [ к -1, х = i,
3.	Л(х)=	,	.	(1.17.3)
Эта функция называется характеристической функцией второго рода числа i и обобщает некоторые свойства отрицания. Если £=3, то т / \	[	2, х = 7,
1 2у атаблица истинности представлена втабл. 1.17.5.
Таблица 1.17.5
i	X		i	X		i	X	
0	0	2	0	1	0	0	2	0
1	0	0	1	1	2	1	2	0
2	0	0	2	1	0	2	2	2
Ян Лукасевич (1878-1956) — польский математик и логик.
62
Часть I. Математическая логика
1-х	[	1, Х = 1,
4.	]Ах)=1	,	.	(1.17.4)
[О.х * г, (i = 0,1,2,...,*-1)
(характеристическая функция первого рода значения /). min(x|,x2),	(1.17.5)
(первое обобщение конъюнкции).
5.	(х, • л, )mod/<	(1.17.6)
(произведение по модулю /< и второе обобщение конъюнкции).
Таблицы истинности для этих функций приведены в табл. 1.17.6 и 1.17.7 (* = 3)
Таблица 1.17.6
*1	*2	min(^,x2)
0	0	0
0	1	0
0	2	0
1	0	0
1	1	1
1	2	1
2	0	0
2	1	1
2	2	2
Таблица 1.17.7
	Х2	(х, • х2 )mod3
0	0	0
0	1	0
0	2	0
1	0	0
1	1	1
1	2	2
2	0	0
2	1	2
2	2	1
6.	тах(х,,х2)
(обобщение дизъюнкции) (см. табл. 1.17.8).
7.
(сумма по модулю Л') (см. табл. 1.17.9).
[ 0, 0 < л- < у < к -1,
8.	Усеченная разность х + у =
[х- у, 0<у<х <к-1.
(1.17.7)
(1.17.8)
Глава 1- Алгебра логики (алгебра высказываний)
63
[	к-1, 0<х< у <к-1.
о Импликация х —> у = {, ч
Ц*-1)-л + у, 0<у<х<к-1.
При к - 3 операция
в табл. 1.17.10.
импликации имеет вид
а ее таблица истинности дана
Х|	х2	тах(х,, х,)
0	0	0
0	1	1
0	2	2
1	0	1
1	1	1
1	2	2
2	0	2
2	1	2
2	2	2
Таблица 1.17.8	Таблица 1.17.9
X,	Х2	(х, + х2)тос13
0	0	0
0	1	I
0	2	2
1	0	1
1	1	2
1	2	0
2	0	2
2	1	0
2	2	1
Таблица 1.17.10
X	У	X -> У	X	7	х -> у	X	у	X у
0	0	2	1	0	1	2	0	0
0	1	2	1	1	2	2	1	1
0	2	2	1	2	2	2	2	2
10. Функция Вебба: (max(jt, у)+ l)mod£ .
И. Разность по модулю к: х - у =
л - у, 0 < у < х < к -1, к - (у - х), 0 < х < у < к -1.
64
Часть I. Математическая логика
Г х- у, 0 < у < х< 2, При к = 3 получим х-у = ^ z ч	Таблица истин-
13-(у-4 0<х<у<2.
ности этой операции приведена в табл. 1.17.11.
Таблица 1.17.11
X	У	(х-у)то<13	X	У	(х-у)тос13	X	У	(х- y)mod3
0	0	0	1	0	1	2	0	2
0	1	2	1	1	0	2	1	1
0	2	1	1	2	2	2	2	0
Из этого списка функций видно, что элементарные функции алгебры логики имеют при к > 3 по несколько аналогов, каждый из которых обобщает соответствующее свойство функции.
Функции min, max,+,-(или- ) обладают свойствами коммутативности и ассоциативности:
хх-х2=х2-хх\
%! + х2 = х2 + %,;
2 (*1 *2)*3 =*1 (*2 *з);
(Х| +Х2)+Х3 = Х, + (х2 + Х3)
Кроме того, справедливы следующие соотношения:
1.	(%i 4-х2)’	~ (Ai ‘хз)+ (Л2 ' *з)— дистрибутивность умножения
относительно сложения.
2.	тах(тга(л;, х2), х,) = min(max(^, х3), тах(х2, х )) — дистрибутив-ность операции max относительно операции min.
3.	min(max(x,, х2), х3) = тах(тт(^, Xj ), min(x2, xi)) — дистрибутивность операции min относительно операции max.
4.	max(x, х) = х, min(x, х) = х — идемпотентность операций min и max.
min(~x, ~х2) =~max(xl, Xj),
5.	~ ч ~	, х —аналоги правил де Моргана.
тах( х,, х2)= minfjq, х2)
Плава 1. Алгебра логики (алгебра высказываний)
65
[ 0, х = О,
6.	- х -
[к - х, х Ф О.
функция	Pk называется существенной, если она сущест-
венно зависит не менее чем от двух переменных и принимает все А' значений из множества {0,1,2....Д -1}.
Обобщим теперь понятие совершенной дизъюнктивной нормальной формы иа /с-значный случай. Это можно сделать не единственным образом. Будем обозначать функции min(x^,x^) и тах(х^. х2) соответственно через fa Л^г) и fa v *2)-
функция Л'| лх, л...лли = min(^,x2,...,x4) называется конъюнкцией на k-значнои логике. Тогда элементарная конъюнкция будет иметь вид 4, fa )л < fa> )л -л Л, fa» ) Она отлична от нуля лишь на наборе (Gj,G2»-’°rt) и равна к — 1 на этом наборе.
Для функции /(.xj,x,,...,x,() СДНФ при А = 2 имеет вид (1.8.3) /(х1.х2,...,х„) = V /(а],а2,...,а„)лл-|'’'Л%22	, где дизъ-
o|(g2,...,o„
юнкция берется по всем двоичным наборам.
Функция от п переменных А’-значной логики единственным образом представляется в виде
/(х,,х2>.v	(x,)aJ (л-2)л...л./Ол(х„) =
G] ,а2-
= max {minfa(al.a2,...,a„p(,l(x1V(!,fa2),-,At,„faI))} (L179> °1-°2....
Эта формула — аналог СДНФ для функции /(х* ,х2,...,х; ) в /с-зиачной логике. В литературе данное разложение называется первой формой. Доказывается формула прямой проверкой.
/(x,,x2,...,xf() в формуле (1.17.9) разложена по системе функций {0,1,2,..., к -1, J0(x), Jj (х),..., Jn (х), min(xj, х2), maxfo ,х2)}. Поскольку это разложение справедливо для любой произвольной функции /(х, ,х2 ,...,хн ), то данная система функций полна. С этой полной системой связано несколько групп тождеств, которые позволяют перейти от любой формулы над данным множеством функций к другой эквивалентной ей формуле.
-66
Часть I. Математическая логика
/<-значная логика, определяемая полной системой функций {0,1,2,...,k -1, J0(x), (х),..., Jп(х), min(x1,х2), max(xj,х2)}, называется в литературе алгеброй Россера* *-Тъюкета**. Другими часто встречающимися /с-значными логиками являются логики, определяемые следующими полными системами функций:
П алгебра Поста {О,-1, max(x1,x2), ~}, где ~х = (х + l)modfc ;
Л алгебра Вебба {0,1	-1,° }, где х, о х2 = (max(x|,x2)+ l)mod& .
 Пример. Пусть f(x,y)= ( xv y)v (~у v х). Представим эту формулу при к = 3 аналогом СДНФ в форме (1.17,9). Метод равносильных преобразований, которым мы пользовались в Р2, здесь применить значительно труднее. Для этого необходимо иметь все тождества в Р3, связанные с системой функций {0,1,2, JQ(x), J, (х), J2 (х), min(x], х2), max(x,, х2)}. Воспользуемся истинностной таблицей для f(x,y) (табл. 1.17.12).
Таблица 1.17.12
X	У	~Х	~У	У	~У V X	~(~*V	Л*, у)
0	0	2	2	2	2	0	2
0	1	2	1	2	1	0	1
0	2	2	0	2	0	0	0
1	0	1	2	1	2	1	2
1	1	1	1	1	1	1	1
1	2	1	0	2	1	0	1
2	0	0	2	0	2	2	2
2	1	0	1	1	2	1	2
2	2	0	0	2	2	0	2
Джои Барклей Россер (1907-1989) — американский математик.
* Этвел Руфус Тьюкет (р. 1914) — американский математик.
Глава 1. Алгебра логики (алгебра высказываний)
67
СДНФ /(х, у) = V f (с,, а,) л J (х) л J (у) = (/(о,0) л J,,(х) лJ0(у))v
v (/(0,1) л Jo (х) л J, (у)) v (/(0,2) л Jo (х) л J2 (у)) v (/ (1,0) л J, (х) л
л J0(y))v(/(1,1) л J, (х)а J,(y))v (/(1,2)л / (х)л J2(y))v (/(2,0)л 7,(х)л л Jo (у))v (.Л2-1) л J2 (х) л J, (у)) v (/(2,2) л J2 (х) л J2 (у)) = (2 л Jo (х) л
л Jo (у)) v (1 л J0(x) л J, (у)) v (0 л J0(x) л J2 (у)) v (2 л J, (х) л J„ (у)) v
v (1 л J, (х) л J, (у)) v (1 л J, (х)л J2(y)) v (2 л J2 (х) л J0(y)) v (2 л J2 (х) л
AJ,(y))v(2Aj2(x)AJ2(y))
Проверим, например, значение функции на наборе (1,2):
/(1,2) = 1 = (2 Л Jo (1) л Jo (2)) V (1 л Jo (1) л J, (2)) V (0 л J, (1) л Jo (2)) v
v (2 a J,(1)a J„(2))v (1 л J,(1)a J,(2))v (1 л J,(1)a J2(2))v (2 л Л(|)л
л J0(2)) v (2 л J, (1)л J,(2)) v (2 л Л(1)л J2(2)) = (2 л 0 л 0) v (l л 0 л 0)v
v (0 л 0 л 2)v (2 л 2 л 0)v (1 л 2 л 0) v (1 л 2 л 2)v (2 л 0 л 0)v (2 л 0 л 0)v v(2a0a2) = 0v0v0v0v0v1v0v0 = 1.
При использовании формулы (1.17.9) особо отмстим необходимость присутствия констант 0,1,2,..., к -1, чего не было в Л, т.н. там можно было в СДНФ опустить коэффициен ты, перейдя к дизъюнкции по наборам, на которых /(о|,о2,...,ап)=1.
Если в разложении f(x{ ,х2,...,л'и) использовать характеристические функции первого рода, то для любой функции	из Рк имеет место
представление, называемое второй формой'.
f(xt,x2,...,xn) =	(х,)д (х2)..Д (х„)/(а,,a2,..„a„))mocU. (1.17.10)
О । >^2 >• • Л/1
Эта формула по структуре аналогична формуле (1.9.1).
В /с-значной логике можно рассмотреть вопрос о представимости функций полиномами (аналоги полиномов Жегалкина). При этом оказывается, что такое представление возможно только для простых /с.
Теорема 1.19. Система полиномов по mod/c полна в Pt тогда и только тогда, когда к - р , где р — простое число.
68
Часть I. Математическая логика
В теории /с-значных логик в последнее время получены значительные результаты. Они показывают существенное отличие /с-значных логик от двузначного случая, кроме того, многие результаты зависят от значения числа /с.
1.18.	Практическое занятие № 3.
Минимизация в классе дизъюнктивных нормальных форм. Замкнутые классы и полнота систем функций алгебры логики. k-значные логики
1.18.1.	Найти сокращенную, все тупиковые и минимальные ДНФ булевой функции f(x,y,z) двумя способами: а) методом Квайна и б) с помощью карт Карно. Каким классам Поста принадлежит эта функция? 1) /(0,0,0)= /(0,0,1)= /(1,0,1)= /(1,1,1)= 1;
2)	/(0,0,0)=/(1,1,1)=/(1,1,0)= 0;
3)	/(1,0,0)=/(0,1,1)=/(0,1,0)= 0;
4)	/(0,1,1)= /(0,1,0)= /(1,0,1)= /(1,1,1)= 1;
5)	/(0,1,1)=/(1,0,0)=/(1,0,1)= 1.
1.18.2.	Представить хФ у в виде СДНФ и СКНФ, найти (хФ у)*.
1.18.3.	Представить полиномами Жегалкина:
1)	Основные логические операции.
2)	xv у v z.
3)	xyv yzv xz.
4)	xyz v xyz v xyz v xyz.
1.18.4.	Доказать, что функция, представленная полиномом Жегалкина, существенно зависит от всех входящих в него переменных.
1.18.5.	Представив функцию f полиномом, выяснить, является ли она линейной:
1)	/ = (х-> у)® ху;
2)	f = Xyv Ху v z ;
Глава 1. Алгебра логики (алгебра высказываний)
3)	f = xy(x^ у);
4)	f = (xv yz)® xyz.
1,18.6.	Найти число всех линейных функций от п переменных.
1.18.7.	Найти число линейных функций f(x{ ,х2,...,хп) таких, что /(o,o„..,o)=/(i,i,...,i)=i.
1,18.8.	Выяснить, принадлежит ли функция f множеству Р{\Р0'.
о f = (*, -> х2 Х*2	Х*3	);
2)	f = т(х1,х2,х2');
3)	/ =	v.v, ;
4	1./ = (х, v х2 Jy” v х, ,v2 v х,.
1,18.9.	Какие из указанных функций являются монотонными?
1)	xj’v xzv xz ;
2)	х_>(х-^у)-,
3)	‘ZT^Jvy;
4)	xvyn ху;
5)	ху v Л’ v л< .
1.18.10.	Перечислить все монотонные функции от двух переменных.
1.18.11.	Можно ли из функции / = xyz v t(xy —> z) получить:
1)	функцию .V отождествлением переменных;
2)	функцию х подстановкой констант 0, 1;
3)	функцию " отождествлением переменных?
1-18.12. Доказать полноту следующих систем функций:
1)	ху, Л';
2)	х V у, х ;
3)	.W у;
4)	х ® у, .V v у, 1;
5)	.г —> у, 0 .
70
Часть I. Математическая логика
1.18.13.	Показать, что полные системы из задачи 1.18.12 являются базисами.
1.18.14.	Доказать, что базис не может содержать:
1.	Более пяти функций.
2)	Более четырех функций.
1.18.15.	Из полной в Р2 системы функций G выделить всевозможные базисы:
1)	G = {О, хФ _у, х—> у, ху^ xz};
2)	G = {хФ у, ху® z, хФ jp Ф z Ф1, xj>® j>z© xz};
3)	G = {x;pv xz, х,х—> у,0, хФ yz].
1.18.16.	Для функции /(xj,х2,х3)= Х'Х2 v х, х3 найти все ее производные (в том числе смешанные) до третьего порядка включительно.
1.18.17.	Представить следующие булевы функции значениями в точке (о, О,..., О) и значением всех производных в этой же точке:
1)	/(x,y,z)=xvy->z;
2)	f(x,y)=xv у^(х<-+ у}-,
3)	f(x, у, z) = (х -у z\y -у z) -> (х -> у).
1.18.18.	Доказать справедливость следующих равенств:
1)	-(х)=~х;
2)	'£+у)=(~х)+(~>);
3)	min(x, у) + J„ (у + х)-	(х)• у = min(x, у).
1.18.19.	Для заданного /с представить функцию f в первой и второй формах (полученные выражения упростить):
1)	f - х, к = 3 ;
2)	f =~х> к = 4\
3)	f = х+у2, к = 3.
1.18.20.	Разложить в полином по модулю/с функцию f из Рк :
1)	f = х2 +х, к = 5-,
2)	/ = тах(2х + у, х  у), к = 3.
Глава 1. Алгебра логики (алгебра высказываний)
71
1.19. Схемы из функциональных элементов. Релейно-контактные схемы, оценка сложности схем
Схемой из функциональных элементов (СФЭ) называется ориентированная бесконтактная сеть с помеченными вершинами. Пусть имеется некоторое устройство с п упорядоченными входами и одним выходом (рис. 1.4). На каждый из входов может подаваться два сигнала, которые можно обозначить символами 0 и I. Очевидно, что набор сигналов на входах однозначно определяет сигнал на выходе. Такое устройство называется функциональным элементом. Ясно, Ч1О каждому функциональному элементу отвечает функция алгебры логики /(.у , л, ,...,Л';). Схема из функциональных элементов получается путем проведения следующих операций:
1. Один из входов какого-то функционального элемента соединяется с выходом другого функционального элемента.
2. Некоторые входы функционального элемента отождествляются, т. е. на эти входы подается один и тот же сигнал. На рис. 1.5 изображена допустимая схема из функциональных элементов.
Ясно, что функция, которая реализуется этой схемой, является суперпозицией функций, реализуемых теми функциональными элементами, из которых эта схема построена. Схемы, полученные с помощью операций 1-2, называются допустимыми.
72
Часть I. Математическая логика
Вход х функционального элемента f называется фиктивным, если при любом наборе сигналов на остальных входах сигнал на выходе не зависит от сигнала на входе х. Функциональные элементы называются эквивалентными, если они отличаются лишь нумерацией входов и фиктивными входами.
Очевидно, что язык схем из функциональных элементов в целом эквивалентен языку суперпозиции функций алгебры логики. Однако при построении схем возникают некоторые ограничения:
1.	Не могут соединяться выходы.
2.	У схемы должен быть лишь один выход.
3.	Нельзя соединять какой-то вход элемента схемы с выходом, т. е. ие допускаются циклы.
Совокупность элементов f ,f2 ,...,fk называется циклом (рис. 1.6), если выход элемента J\ соединен с каким-то входом элемента /2, выход элемента f2 с каким-то входом f3 и т. д., выход fk_} — с каким- то входом fk, а выход fk с каким-то входом . В таком случае говорят, что в соединении элементов существует обратная связь. Работа схем из функциональных элементов может происходить двумя способами. Первый состоит в предположении, что элементы схемы срабатывают мгновенно. Другое предположение заключается в том, что для получения выходного сигнала каждого функционального элемента требуется некоторое время. Тогда на входы внутренних элементов схемы сигналы могут приходить не одновременно, т. к. им необходимо пройти разное число элементов, да и время, требующееся различным функциональным элементам для обработки сигналов, может быть различным. Однако можно предположить, что сигналы подаются на входы схемы сколь
Глава 1. Алгебра логики (алгебра высказываний)
73
угодно долго до тех пор, пока на выходе не появится сигнал, соответствующий тем сигналам, что подаются на вход схемы. Второе предположение более соответствует реальной ситуации, однако оно требует введения времени задержки функционального элемента — времени /, которое проходит между подачей входных сигналов и появлением выходного.
Кроме того, вводится понятие такта. Время работы функциональных элементов изменяется дискретно и принимает натуральные значения 1,2,..../:,.... Единица времени называется тактом. Состояния входов и выходов элементов исследуются лишь в моменты времени, кратные такту.
Обычно при рассмотрении схем из функциональных элементов вводят упрощающие предположения, например, все схемы рассматриваются как однотактные, т. е. между сигналами на входе и результирующим сигналом на выходе происходит один такт, сигналы также можно подавать через один такт.
Схема из функциональных элементов реализует некоторую функцию алгебры логики f с задержкой I. если ее входы можно отождествить с аргументами f так, что при подаче в любой момент времени на входы схемы некоторого набора сигналов на выходе через I тактов возникает сигнал, соответствующий значению функции f при значениях аргументов, отвечающих поданным сигналам. Схема, реализующая какую-либо функцию алгебры логики, называется правильной.
Схемы из функциональных элементов, работающие мгновенно, называются нультактными\ схемы из однотактных функциональных элементов — многотактными.
В общем случае при рассмотрении схем из однотактных элементов учитываются обратные связи (рис. 1.6). Оказывается, во многих случаях можно непротиворечивым образом описать работу СФЭ с обратными связями. Дальнейшее исследование этого вопроса приводит к понятию конечного автомата. Рассмотрим еще один способ реализации функций алгебры логики —релейно-контактные схемы (РКС), широко используемые в электронно-вычислительной технике. Описание и конструирование таких схем в силу их громоздкости весьма затруднительно. Однако оказалось, что при конструировании РКС можно использовать аппарат булевых функций.
Исходное замечание состоит в том, что если логической переменной х поставить в соответствие проводник, по которому идет или нет ток в зависимости от того, х = I или х = 0, то последовательному соединению проводников отвечает конъюнкция переменных, а параллельному— дизъюнкция. Часто проводники на схемах заменяют обозначением специальных устройств— переключателей, которые могут быть механическими и электрон
74
Часть I. Математическая логика
ными. Многократно используя параллельно-последовательные соединения, можно строить сложные схемы. Очевидно, что при этом можно реализовать лишь монотонные функции.
Для реализации произвольных функций необходимо уметь реализовать отрицание. Это можно сделать при помощи устройства, называемого реле с размыкающим контактом (рис. 1.7). Если по обмотке катушки А ток не идет(л:=0), то пружина оттягивает контакт 2? вверх, и цепь замыкается. В результате на клемме С будет ток (х = 1). Если же по обмотке А идет ток (х - 1), то контакт В притягивается вниз и на выходе С нет тока (х = 0).
Рис. 1.7
с
1'
Рис. 1.8
Для РКС также существует проблема задержки сигналов на элементах схемы. Мы не будем рассматривать эту проблему, а ограничимся только схемами, в которых соединяются лишь контакты. Контакт или переключатель будем изображать отрезком или прямоугольником, концы контакта называть полюсами. Конструкция, изображенная на рис. 1.8, называется двухполюсником. Двухполюсник будем снабжать символом переменной х, если контакт замыкающий, и х, если размыкающий. Двухполюсники соединяются полюсами. В результате схема будет представлять из себя граф.
Граф Г с /с полюсами, в котором каждое ребро помечено буквой из алфавита Хп —	, х2,...,хп,х,, х2,...,х,; }, называется к-полюсной контактной
схемой, реализующей булевы функции переменных xj,x^,...,xw, или (к,п)-схемой. Контактная схема называется связной (сильно связной, параллельно-последовательной), если таковым является ее граф. Параллельнопоследовательная схема называется к-схемой. Две схемы называются изоморфными, если их графы изоморфны и при этом соответствующие ребра и полюса помечены одинаково. В графе выделяются две вершины: вход и выход. Часто вход изображает полюс в виде светлого кружка, остальные полюса изображаются темными кружками.
Релейно-контактные схемы отличаются от схем из функциональных элементов тем, что в СФЭ каждый имеющийся сигнал можно было размножить без дополнительных устройств (выход элемента можно соединять с любым числом
Глава 1. Алгебра логики (алгебра высказываний)
75
входов), в то время как для размножения сигнала в РКС его нужно подать на обмотку катушки с нужным числом положительных контактов. Второе различие заключается в том, что в РКС дизъюнкция реализуется путем параллельного соединения проводников, в СФЭ для этого необходим специальный элемент. Какую же функцию алгебры логики реализует контактная схема? Эта функция равна единице при тех значениях аргументов, при которых в схеме есть проводимость, и нулю, если проводимости нет. Пусть а и Ъ — два полюса контактной схемы S, |д,/э]— некоторая цепь, соединяющая а и Ъ и
— конъюнкция букв, приписанных ребрам цепи [«,£>]. Функция fab (Л'?1)’ определяемая формулой
(L.J9.1)
в которой дизъюнкция берется по всем простым цепям схемы, соединяющим полюса а и b, называется функцией проводимости между полюсами а и b схемы S. На самом деле для получения функции проводимости достаточно брать дизъюнкцию не по всем цепям, а лишь по некоторым.
Цепь Г, называется существенной. если опа ни через какую вершину графа не проходит дважды. Оказывается, что дизъюнкция конъюнкций, соответствующих существенным цепям, равносильна функции проводимости. Действительно, пусть имеется некоторая цепь, в которой некоторая вершина встречается дважды. Отбросим все контакты, которые встречаются между двумя прохождениями через эту вершину. Ясно, что при этом мы вновь получим цепь, причем если все контакты исходной цепи были замкнуты, то будут замкнуты и все контакты вновь полученной цепи. Таким образом, последовательно сокращая цепь, можно получить существенную цепь, в которой будет проводимость, если была проводимость в исходной цепи.
Посмотрим теперь, как обстоит дело с обратной задачей: построением по функции реализующей се схемы. Представим функцию в виде ДНФ. Каждой входящей в ДНФ элементарной конъюнкции х*1 л х°г	поставим
в соответствие схему (рис. 1.9), состоящую из последовательно соединенных контактов Л'а| ,х?	.
Это схема элементарной конъюнкции. На рис. 1.9 и I.10 величины х°' обозначены через у,. После отождествления между собой с одной стороны входов всех этих схем, с другой стороны — выходов, получим функцию, соответствующую заданной схеме. Естественно, можно реализовать функцию по схемам также исходя из КНФ. Каждой элементарной дизъюнкции
76
Часть I. Математическая логика
л^1 v хр v •••v x°k поставим в соответствие схему, изображенную на рис. 1.10. Затем последовательно соединим все эти схемы для всех элементарных дизъюнкций, входящих в КНФ, так, чтобы вход последующей схемы совпадал с выходом предыдущей.
Схему, состоящую из одного контакта, называют элементарной. Ясно, что любая л-схема может быть получена из элементарных за некоторое число шагов при помощи параллельных и последовательных соединений. Каждому способу построения л-схемы из элементарных схем отвечает представление функции проводимости в виде формулы, содержащей только дизъюнкции, конъюнкции и отрицания.
Если контактная схема является л-схемой, то ее можно разбить на несколько схем, соединенных либо последовательно, либо параллельно. Обратное тоже верно. Если схема не допускает разбиения на две схемы, соединенные либо последовательно, либо параллельно, она не является л-схемой. Для примера рассмотрим схему "мостик" (рис. 1.11), которая не является элементарной. Если две схемы соединены последовательно, то у полученной общей схемы все полюсы, кроме соединяющего, либо не имеют общих контактов ни с входом, ни с выходом всей схемы, либо имеют общий контакт или только с входом, или только с выходом. Очевидно, что какой бы из внутренних полюсов на рис. 1.11 мы не приняли за соединяющий подсхемы, оставшийся полюс будет иметь общий контакт как с входом, так и с выходом схемы. Поэтому схему "мостик" нельзя получить последовательным соединением двух схем.
Если общая схема — результат параллельного соединения двух схем, то ее контакты и полюсы можно разбить на две части так, чтобы либо в одной части содержались контакты, непосредственно соединяющие вход и выход, либо полюсы, входящие в рассматриваемые различные две части схемы и отличные от входа и выхода, не будут иметь общих контактов. Ни первая, ни вторая возможность на схеме рис. 1.11 не может реализоваться. Следовательно, эта схема не является л-схемой.
Глава 1. Алгебра логики (алгебра высказываний)
77
Две контактные схемы называются эквивалентными, если они реализуют одну и ту же булеву функцию или одну и ту же систему функций. Схема называется минимальной, если она содержит наименьшее возможное число контактов среди всех схем, имеющих ту же функцию проводимости.
Пусть	—булева функция п переменных. Обозначим через
l\f) число контактов в реализующей ее минимальной схеме, а через Ln — число контактов в минимальной л -схеме этой функции, тогда
Д/)<Лд(/).	(1.19.2)
Наибольшее значение £(/) для f(x^, х2 ) называется функцией Шеннона* l(n). Величина или называется сложностью булевой функции f в классе контактных схем или в классе я-схем. Сложностью булевой функции f в классе формул (над множеством связок |v,a, ^называется число вхождений символов переменных. Сложность функции / в этом классе формул обозначается через (/).
Оценим L(n) сверху, используя индуктивный способ реализации функции. Разложим функцию	, х2 ) по переменной х/ +|:
/ = xi+1(p(x1,x2,..;, xA.)v xt+1v(x1,x2,---’xa-). Если функции (р и ф уже реализованы, то функция f реализуется, как показано на рис. 1.12. Если для реализации функций от к переменных требуется не более контактов, то Для реализации f их нужно не более 2с к + 2, т. е. сЛ + 1 < 2с к + 2 . Так как =1,то	<2* +2*"' +2^3 + ... + 22 +2 = 3-2*_| -2. Итак,
L(n)<2-2n-x -2.	(1.19.3)
Клод Элвуд Шеннон (|9|6-200!) — американский математик.
78
Часть I. Математическая логика
Рассмотрим теперь способ реализации функций, не приводящий к я-схемам. При построении схемы с помощью СДНФ нужно отдельно реализовать каждую элементарную конъюнкцию, а потом параллельно соединить все полученные схемы. Можно, однако, реализовать все элементарные конъюнкции одновременно. Это делается с помощью многополюсников следующим образом. Схема с k +1 полюсами называется ^.,к)-полюсником с одним входом и /с выходами. На выходах (1Д)-полюсника реализуется одновременно к функций алгебры логики. Универсальным (1,2Л )-полюсником называется (1,2" ^-нолюсник (рис. 1.13), на выходах которого реализуются все полные правильные элементарные конъюнкции от п переменных.
Рис. 1.13
Он получается при отождествлении входов элементарных конъюнкций (рис. 1.9) или методом, изображенным на рис. 1.13. Укажем способ построения схемы для функции алгебры логики, использующий универсальный многополюсник. Пусть нужно реализовать функцию f(xy , х2 )• Представим ее в виде СДНФ. Отождествим у универсального (1,2й )-полюсника выходы, на которых реализуются элементарные конъюнкции, входящие в СДНФ. Объявим получившийся в результате полюс выходом схемы. Эта схема, очевидно, реализует /(х,, х2ь...,хп).
Можно похожим образом описать схему, реализующую любую булеву функцию /(х,,х2,...,хл), разложенную в СДНФ по последним п-к переменным:
/(jc1,...,xt;xt+1,...,x„)= V <р„л+|........ (х......jJa'”',11 А...лх°”. (1.19.4)
Wfc-t-1.
Глава 1. Алгебра логики (алгебра высказываний)
79
Схема для формулы 1.19.4 состоит из двух частей (рис. 1.14): первая часть Д/ представляет собой универсальный (1,2“ * )-полюсник для переменных Xfc+i, Х/-+2... Каждый выход схемы соответствует некоторой элементарной конъюнкции л	а ... а х°“ в формуле (1.19.4). Вторая часть
Д/2 представляет собой совокупность схем для всех 2" функций <р от к -iii—k переменных Aj, х2 ,...,хА, у которых отождествлены выходы. 2 из этих функций — коэффициенты при элементарных конъюнкциях в (1.19.4).
Схема для J (х(, х2 ,...,хп) конструируется следующим образом: отождествляется вход М2, соответствующий функции (р, стоящей коэффициентом при конъюнкции А’й1 а л^.22 а... ах,^" с выходом . отвечающим этой конъюнкции. Если провести отождествление всех выходов , получим схему для функции ,/(а' , х2 ,...,х/?).
Рис. 1.14
Рис. 1.15
 Пример 1. Найти функции, реализуемые схемами на рис. 1.15.
Первые две функции представлены я-схемами, поэтому их восстановление довольно просто:
О /(хрА?) = Xjх2 v XjA2 = АгХ2 =(x,(x-2 Ф |)©1Х(х, ©1)х2 ©1)Ф1 =
= (х,х2 © Х| © !) (х,х2 © х2 © 1) = А, © х2;
80
Часть I. Математическая логика
О	VA'z)/'(^Vxj^(^AxJx[ ЛХ,') =
= ((Xj Ф1Хх2 Ф 1)Ф1Х^|^2 ®0= (^]^2 © *1 © *гХХ1Х2 ® 1)= *1 ®Х2 
Для последнего пункта составим по формуле (1.19.1) функцию проводимости. Для этого необходимо перечислить все цепи, соединяющие начальный а и конечный Ъ полюсы схемы: Л»(^2)=	= v ^гон =xi*2	VX’-V3A'> VX,X3X, vx,x3x3x, V
	(a, ft]	’ J	"	’	’
V X(X3X2X2 S XtX2 v XjX, V X2X3 = X,X2 A X]X2 A x3x2 = (x,(x2 Ф1)® ])•
• ((x, Ф l)x2 Ф 1 Х(л'э Ф l)x2 Ф 1)Ф 1 = (x, Ф X, Ф 1 X*2Л3 Ф X, Ф 1)Ф 1 =
= X,X2X3 Ф Х|Х2 Ф X, Ф X, = X]X2 x3 Ф x, Ф x2.
 Пример 2. Построить контактную схему сложности, не превышающей /, реализующую функцию f(x3 )= х' х2 Ф х2х3 Ф хгх. Ф1, 1 = 5.
Представим функцию f в базисе {v, л, }. Если число букв окажется равным /, то построим соответствующую схему. Если же число букв будет больше I, то реализуем отдельные подформулы схемами и попытаемся совместить куски схем так, чтобы не возникло "ложных" цепей.
Так как хФ у = ху v ху, то /(хрх2,х3) = х,х2 Фх2х3 Фх,х3 Ф1 = = x2(xj Фх3)Фх1Х3 = Х2(х]Х3 УХзХ^Фх^з =XjX2A3 VX]X2X3 ФХ[Х3 -
VX(X3 VX2X3 =XjX2 VX2%3 VX]X3 =Х2\Л| VX3/V XjX3.
Итак, число вхождений символов переменных равно пяти. Построим теперь схему (рис. 1.16) для функции /(х) = х( х2 Ф х2х3 Ф х(х3 Ф1.
Рис. 1.16

Глава 1. Алгебра логики (алгебра высказываний)
81
Рассмотрим в заключение метод каскадов, применяемый для построения контактных схем. Пусть требуется построить схему для булевой функции /(^,Х2,...,х)(), п > 2. Обозначим через U,, i - 1,2,...,п , совокупность всех подфункций	ауе{0,1} / = 1,г, функции f и пусть
U* - множество, составленное из попарно различных функций из Ц . Каждому множеству U*, / = 1,п-1 взаимно однозначно сопоставим множество Vt точек плоскости, называемых вершинами i -го ранга. К ним добавляется еще три полюса: входной полюс а и выходные полюса b и с. Полюс а является вершиной нулевого ранга, полюса b и с — вершинами //-го ранга. Полюсу а сопоставим функцию	полюсам b и с— кон-
станты 1 и 0. Рассмотрим множество И= {д,£>,с}и О V и разобьем его на классы эквивалентности, отнеся к одному классу вершины разных рангов только тогда, когда они соответствуют равным функциям.
Пусть v —произвольная вершина /-го ранга, а фр(лн|,Х(+2»-,*„)— соответствующая ей функция. Если ф1.(1,х/+2хп (pv(0,xi+2,...,.v,( ), соединим вершину v ранга / контактом х/+| с вершиной и ранга / +1, которая соответствует подфункции ф1,(1,х/+2,...,х/,), и контактом ,у+| с вершиной и/, соответствующей подфункции ф,,(0,х/+2,..., хп). Если же Фр(1,Х/+2,...,хн )= фг(0,х,-+2,...,хп ), то обе подфункции тождественно равны функции фр(х(+1,х/+2,...,х/() и контакты между соответствующими вершинами не проводятся. Все вершины из одного класса эквивалентности отождествляются. В результате будет получена схема S такая, что fa,b^n )= ffan )> а	/(х"). Вершина с может быть удалена вме-
сте с инцидентными ей контактами.
Построим с использованием метода каскадов контактную схему для функции / (х3)= х,х2х3 ®	® х3 © 1. Выразим функцию в базисе {v,a, }
и выясним, можно ли для нее построить л-схему, /(х], х2, х3 ) = Х2Х3(Х] © 1)® х3 = Х^Хз ® х3 - х)х2х3х3 v х,х2х3х3 = = X, Х3 V (х, V х2 V X, Jxj" = Л' х2 х3 V X, X. V х2 Х3 V X. = X, X, Х3 V Л3 , т. к. X© у = ху v ху. л-схема этой функции изображена на рис. 1.17.
82
Часть I. Математическая логика
х2
Рис. 1.17
Построим теперь схему методом каскадов:
71 = 3, 7=1,2,3; г = 1, (/, : /(а, ,.х2,х3), /(1,л2,х3) = х3 ф 1, /(0,л2,х3)=х2х3Фх3®1.
г = 2, и2 : /(а,,а2,л:3), /(1,1,л3)= л3Ф1, /(1,0,х3)= х3Ф1, /(0,1,х3)=1,/(о, 0,х3)=х3 Ф1.
7 = 3, 1/3 : /(а(,а2 ,а3),/(1,1,1 )= 0, /(1,1,0)=1, /(1,0,1)=0, /(1,0, о)=1, /(0,1,1)=1, /(о,1,о)=0, /(о, 0,1)=О, /(о, о, о)=1.
U* = J х3 Ф1, х2х^ Ф х3 Ф1L
1.	a — вершина нулевого ранга. (ря (1, х2, х3) = х3 Ф1 Ф фй (0, х2, х3) =
=	следовательно, полюс а соединяется контактом с
вершиной 1, соответствующей функции фй (1,х2,х3) = х3 Ф1, а контактом %! с вершиной 2, соответствующей функции фй (0, х2, х3) = х2х^ Фх3 Ф1 (рис. 1.18).
2.	1 и 2 — вершины первого ранга ф] (1, х3 ) = х3 Ф1, <рг (0, х3) = х3 Ф1, т. е. (pj,(l,xl+2,...,x<i)=(pv(0,x,+2,...,x„), и вершина 1 ни с какой другой вершиной контактами не соединяется. ф2(1,х3)=1, ф2(0,х3)= х3 Ф1, (pv(l,x(-+2,...,xJ2)^(pv(O,x/+2,...5x;i). Полюс 2 соединяется контактом х2 с вершиной 4, т. к. Ф2&’хз) = 1» и контактом х2 с вершиной 3, соответствующей функции х3 Ф1.
3.	3 и 4 — вершины второго ранга. ф3(1)=0, (р3(0)=1, т. е. (pv(l,x/+2......хп) Ф ф„ (0, х|+2,-.., хп ). Соединим полюс 3 с вершиной с.
. Глава 1. Алгебра логики (алгебра высказываний)	83
соответствующей функции (р3(1) = 0, контактом Д' .. и с вершиной b , соответствующей функции ф3(0)= 1, контактом . <р4 =1, т. е. эту вершину соединять контактами с какой-либо другой вершиной не нужно.
Отождествим теперь вершины 1 и 3, 4 и b, т. к. они соответствуют равным функциям, и удалим вершину с вместе с инцидентным контактом Л'3.
В результате получим контактную схему для функции f = х{х2х3 © х2х3 © х3 © 1, изображенную в правой части рис. 1.18, которая
эквивалентна схеме рис. 1.17, хотя и не совпадает с ней. Действительно, из рис. 1.18 и формулы 1.19.1 следует:
/(л‘|, Л'2,Л'з) - Л]Л'3 V XjX? V .?! Х2Х2 V	- Д', А'3 V Х, Х2 V Л', А'2Л'-, -
1.20.	Решение логических задач
Правильно составленные логические задачи легко решаются методами алгебры логики. Для этого необходимо конкретные условия задачи записать в виде формулы алгебры логики, а затем упростить эту формулу путем равносильных преобразований. Простейший вид формулы, как правило, дает ответы на все вопросы. К одной формуле алгебры логики условия задачи сводятся разными способами, чаще всего истинные высказывания соединяются знаком конъюнкции для получения истинной формулы, упрощение которой и приводит к цели.
84
Часть I. Математическая логика
В логике высказываний все доказательства строятся на отношении порядка, т. е. на отношении, которое существует между причиной и следствием.
Рассмотрим несколько примеров.
 Пример 1. Четыре студентки, имена которых начинаются на буквы А, Е, С, Р, посещают институт по очереди и ведут общий конспект лекций. Необходимо составить график посещения на ближайшую неделю, учитывая, что:
1.	Понедельник — день самостоятельной работы на курсе, и в институт не ходит никто, а в субботу необходимо быть всем.
2.	С и Р не смогут пойти на занятия во вторник в связи с большой загруженностью в понедельник.
3.	Если С выйдет в среду или Р — в четверг, то Е согласится побывать на занятиях в пятницу.
4.	Если А не пойдет в институт в четверг, то Е позволит себе сходить туда в среду.
5.	Если А или Р будут в институте в среду, то С сможет пойти в пятницу.
6.	Если Р в пятницу вместо института пойдет на свадьбу подруги, то А придется сходить на занятия во вторник, а С в среду.
Решение.
Обозначим все возможные комбинации распределения студенток по оставшимся дням недели именем с индексом дня недели, например, Ад, А^ Ах , А/ , и запишем все условия задачи в виде истинных формул алгебры логики.
1.	Afi = 1, Eft = 1, С ft = 1,1}/ = 1, т. е. Апи = О, Епн = 0, С пн — 0. Епи = 0.
2.	Св =0, Рв = 0,т.е.	~Р~В=\.
3.	Сс v Рч —> En = 1.
4.	Ад Ес = 1.
5.	Ас v Рс —> Сп = 1.
-^/7	л Су = 1.
Глава 1. Алгебра логики (алгебра высказываний)
85
Совокупность этих условий очень быстро дает требуемый результат. Высказывания 3-6 — истинны, следовательно, истинной будет и конъюнкция этих высказываний:
^a^v£,)a(Ax vEc)a(va^vC,)a(P,- vVCj.l.
Раскроем скобки и упростим полученную формулу:
vAscx)<U V
vTsy/l* ViV.jP. Ec v E} E^Af-PfPj \/Nj Pi v ^PqAqC^ vN, AfiCx ).
Очевидно, что логическое слагаемое, содержащее одно имя с разными индексами (днями недели), равно нулю, т, к. студентки по условию задачи ходят в институт один раз в оставшиеся пять дней недели.
&Т-Т v£, Л	xA^.A^C^A^Pf V
vE/44^P/-	vQ^Ax^^AfiCx vE, А^А^РсЛвСх v
\/N^PKEcAcPcABCx ^CfjP^A^AQpfjP/ vNfjP^Ef-Af-P^ v
VM?J?x Ar^cAi^x S Q-^x Аг^с(Л< Л V	V ) = 1-
Итак, имеем следующую систему тождеств:
^Р^Р~ 1,
-Ах£7 vEcP} vEcArCx si, QsO, P^O.
Для быстрого решения этой системы составим вспомогательную таблицу (табл. 1.20.1).
Таблица 1.20.1
Вторник	Среда	Четверг	Пятница
Ав	Ас	Ах	А,
Ев	£г	£,	Еп
св	Сс	С,	Сп
Рв	Рс	Рч	Рп
86
Часть I. Математическая логика
Св = О, Рв = О из третьего условия. Из первого условия Q Л/ 4? -^с =1 следует, что Сс = 1, Рч = 1, Д. = 1, Рс = 1, т. е. Сс = 0, Рч = О, Д- =0,	= 0. Тогда из второго столбца таблицы
очевидно, что Ес = 1, но тогда Ев = Еч = Еп = 0.
Далее первый столбец дает Ав = 1, т. е. Д/ = Ап = 0, аналогично из третьего столбца получаем Сч s 1, следовательно, Сп = 0 и, наконец, Рп = 1. Таким образом, Ав в Ес = Сч = Рл = 1, расписание составлено. Второе условие системы тождеств также выполняется, у дизъюнкции два истинных логических слагаемых: Ес Рп = ЕсАвСч = 1.
 Пример 2. Однажды следователю пришлось одновременно допрашивать трех свидетелей: Клода, Жака и Дика. Их показания противоречили друг другу, и каждый из них обвинял кого-нибудь во лжи.
1.	Клод утверждал, что Жак лжет.
2.	Жак обвинял во лжи Дика.
3.	Дик уговаривал следователя не верить ни Клоду, ни Жаку.
Но следователь быстро вывел их на чистую воду, не задав им ни одного вопроса. Кто из свидетелей говорил правду?
Решение.
Обозначим буквами К — Клода, Ж — Жака и Д — Дика и запишем условия задачи.
(КлЖ)у^л«)е1.
(ж лД%(д лж)в1.
{fl л(к лж))у(? a(Kv Ж))м.
Как и в предыдущей задаче, результат находится путем равносильных преобразований. Сначала упростим условия задачи:
(к Л ж) V (к л ж)= (к V К)Д< V к\к V Ж)(ж v ж)= (К v Ж)(ж v к)= sKKvWKvКЖч ЖЖ^КЖуКЖ = 1-
(ЖлД)у{дуЖ)^(ЖуД^ДуД^уЖ^ДуЖ^(ЖуД^уЖ^ =ЖДуДДуЖЖуДЖ=ЖДуДЖ=1-,
Глава 1. Алгебра логики (алгебра высказываний)
87
(fl л (/{л ж))У (fl л (К V Ж)) = ДКЖ v ДК v ДЖ. Конъюнкция этих трех формул тоже будет истинна.
(кж v кж\жд v д ж\дкж удку дж)=
= (кжжд v КЖЖД v ТоКДЖ V КЖДЖ^ДКЖ v ДК v дж)= = КЖДДКЖ V КЖДДКЖ V КЖДДК V КЖДДК V КЖДДЖ V v К~ЖДДЖ = ~КЖ~Д = \.
Итак, Жак говорит правду, Клод и Дик лгут.
1.21.	Практическое занятие № 4.
Реализация булевых функций схемами и формулами. Решение логических задач
1.21.1.	Пусть система функциональных элементов Ф состоит из элемента задержки ф>, реализующего Л‘, и элемента Шеффера ф2, реализующего л|)’ = л;у. Построить схемы, реализующие: а) %: б) л*у; в) х v у; г) 1; д) 0; с) ,v© у . Указать величину задержки.
1.21.2.	Найти функции проводимости для схем, изображенных на рис. 1.19.
Рис. 1.19
1-21.3. Какие из указанных на рис. 1.20 соединений являются схемами?
1-21.4. Реализовать релейно-контактными схемами функции: а) xyv z\ б) xyv zt; в) xyv yzv xz.
1-21.5. Реализовать контактными схемами следующие функции: а) (у v z)-> ху; б) ху «-> ух; в) х © у © z •
88
Часть I. Математическая логика
Рис. 1.21
1.21.6.	Построить л-схемы для формул: a) (xv ;pzj(xyv zi);
6) v z)v "t)x.
1.21.7. Найти функции, реализуемые контактными схемами, изображенными на рис. 1.21.
1.21.8. Составить л-схемы для формул: a) xfy’zv
6) ((*-v)Л 6' z)) -> (x ->z);
в) штрих Лукасевича xly (читается "ни х, ни у"), которое истинно в том и только том случае, когда оба высказывания ложны.
1.21.9.	Упростить следующие релейно-контактные схемы (рис. 1.22).
Рдавз Алгебра логики (алгебра высказываний)	89
Рис. 1.22
1.21.10.	С использованием метода каскадов построить контактную схему для функции / : a) J (.¥3) — .у © Л'2 © Х3 © 1;
6) /(?)=.VrV2 VAYV3 V,V3.V,.
1.21.11.	Брауну, Джонсу и Смиту предъявлено обвинение в соучастии в ограблении банка. Похитители скрылись на поджидавшем их автомобиле. На следствии Браун показал, что преступники были па синем "Бьюике", Джонс сказал, что это был черный "Крайслер", а Смит утверждал, что был "Форд" и ни в коем случае не синий. Стало известно, что. желая запутать следствие, каждый из них указал правильно либо только марку машины, либо только ее цвет. Какого цвета был автомобиль и какой марки?
1.21.12.	На вопрос, кто из трех студентов изучал логику, был получен ответ: если изучал первый, то изучал и третий, но неверно, что если изучал второй, то изучал и третий. Кто изучал логику?
1.21.13.	Определить, кто из четырех студентов сдал экзамен, если известно, что:
1)	Если первый сдал, то и второй сдал.
2)	Если второй сдал, то третий сдал или первый не сдал.
3)	Если четвертый не сдал, то первый сдал, а третий не сдал.
4)	Если четвертый сдал, то и первый сдал.
90
Часть I. Математическая логика
1,21.14.	Для полярной экспедиции из восьми претендентов A,B,C,D, Е, F,G и Н надо отобрать шесть специалистов: биолога, гидролога, синоптика, радиста, механика и врача. Обязанности биолога могут выполнять Е и G, гидролога В и F, синоптика F и G, радиста С и D, механика С и Н, врача А и D. Хотя некоторые претенденты владеют двумя специальностями, в экспедиции каждый сможет выполнять только одну обязанность. Кого и кем следует взять в экспедицию, если F не может ехать без В, D — без Н и без С, С не может ехать одновременно с G, а А не может ехать вместе с В^
1.21.15.	Виктор, Роман, Юрий и Сергей заняли на математической олимпиаде первые четыре места. Когда их спросили о распределении мест, они дали три таких ответа:
1)	Сергей — первый, Роман — второй.
2)	Сергей — второй, Виктор — третий.
3)	Юрий — второй, Виктор — четвертый.
Как распределились места, если в каждом из ответов только одно утверждение истинно?
1.21.16.	Известно следующее: если Петя не видел Колю на улице, то либо Коля ходил в кино, либо Петя сказал правду; если Коля не ходил в кино, то Петя не видел Колю на улице, и Коля сказал правду; если Коля сказал правду, то либо он ходил в кино, либо Петя солгал. Выясните, ходил ли Коля в кино?
1.21.17.	Четыре друга Антонов (А), Вехов (В), Сомов (С) и Деев (Д) решили провести каникулы в четырех разных городах— Москве, Одессе, Киеве и Ташкенте. Определить, в какой город должен поехать каждый из них, если имеются следующие ограничения:
1)	Если А не едет в Москву, то С не едет в Одессу.
2)	Если В не едет ни в Москву, ни в Ташкент, то А едет в Москву.
3)	Если С не едет в Ташкент, то В едет в Киев.
4)	Если Д не едет в Москву, то В не едет в Москву.
5)	Если Д не едет в Одессу, то В не едет в Москву.
1.21.18. В школе, перешедшей на самообслуживание, четырем старшеклассникам: Андрееву, Костину, Савельеву и Давыдову поручили убрать
[•frgga 1. Алгебра лотки (алгебра высказываний)
91
7-й, 8-й, 9-й и 10-й классы. При проверке оказалось, что Ю-й класс убран плохо. Не ушедшие домой ученики сообщили о следующем:
1)	Андреев: "Я убирал 9-й класс, а Савельев — 7-й".
2)	Костин: "Я убирал 9-й класс, а Андреев — 8-й".
3)	Савельев: "Я убирал 8-й класс, а Костин — 10-й".
Давыдов уже ушел домой. В дальнейшем выяснилось, что каждый ученик в одном из двух высказываний говорил правду, а во втором ложь. Какой класс убирал каждый ученик?
Глава 2
Исчисление высказываний*
2.1.	Язык, система аксиом и правила вывода исчисления высказываний
Исчисление высказываний как формальную теорию можно определить с помощью аксиоматического метода, который характеризуется следующими тремя частями:
1.	Явная формулировка исходных аксиом той или иной теории.
2.	Явная формулировка правил вывода, используемых для последовательного построения этой теории.
3.	Использование искусственно построенных формальных языков для изложения всех теорем рассматриваемой теории.
В понятие исчисления входят такие компоненты, как формальный язык исчисления, аксиомы исчисления и правила вывода. Они позволяют дать строгое математическое определение понятия доказательства и получить точные утверждения о возможности или невозможности доказательства тех или иных предложений теории.
В любом исчислении различают синтаксические и семантические вопросы исчисления. В синтаксической части изучают понятие доказательства (теория Доказательств), в семантической— структуру формальных языков (теория моделей).
Исчисления позволяют формализовать многие разделы математики и других наук. Исчисление высказываний — это аксиоматическая логическая система, описывающая тождественно истинные схемы, а ее интерпретация — алгебра высказываний.
•Излагаемое исчисление называется в литературе исчислением П. С. Новикова. Петр Сергеевич Новиков (1901-1975) — советский математик.
94
Часть I. Математическая логика
Описание всякого исчисления включает в себя описание его алфавита, формул, являющихся конечными конфигурациями символов, аксиом и правил вывода.
Множество абстрактных букв называется алфавитом. Конечный ряд написанных друг за другом букв алфавита называется словом в этом алфавите. Слово, не содержащее ни одной буквы, называется пустым и обозначается символом Л. Два конкретных слова а}а2..ли и b{b2..bn алфавита А равны, если =Ь}, а2 = Ь2,..., ап =Ьп. Если а^а2..Ди — слово алфавита А, состоящее из п букв а{ ,а2,...,ап, то число п называется длиной этого слова.
Два слова аир определяют слово сф , которое получается приписыванием к слову а слова р. Слово сф называется соединением слов а и р. Очевидно, что для любых слов аир имеем Ла = аЛ = а, аЛр = ар . Слово а алфавита А называется подсловом слова р этого же алфавита, если Р = уа8 для некоторых слов у и 8. Может оказаться, что 3 = уа8 = у । aS, и у * у,. В этом случае говорят о различных вхождениях подслова а в 3 .
Алфавит исчисления высказываний состоит из объединения четырех множеств о = о, Uo2 Ua3 Uo4, где о, = {a,b,...,z, А1 ,В2 ,...,2л}< o2={x,v,—>, }, a3 ={(,)„}, о4 = {|-}. Других символов в алфавите исчисление высказываний не содержит. Буквы множества о( называются пропозициональными переменными. Символ |— называется символом следования.
Формулой исчисления высказываний называется слово алфавита исчисления высказываний, удовлетворяющее следующим условиям:
1. Пропозициональная переменная является формулой, которая называется элементарной, или атомарной.
2. Если А и В формулы, то (Ал В), (Av В), (А->В) и А — тоже формулы.
Никакое другое слово формулой исчисления высказываний не является. Из этого определения следует, что (Av В)лС — не формула, т. к. она не имеет внешних скобок. Однако в целях сокращения записи очень часто внешние скобки опускают.
Подформулой А формулы В исчисления высказываний называется подслово В, являющееся формулой.
Глава 2. Исчисление высказываний 95
Теорема 2.1. Всякая неатомарная формула А исчисления высказываний представима в одном н только в одном из следующих видов: (ВлС), (BvC), (В^С) нли В для однозначно определенных формул В и С.
Секвенциями называются выражения следующего вида:
1.	А},А2,...,Ап ьА, где п > О, А,, А2,..., Ац, А— любые формулы. Читается "из А,, А^,..., Ап следует А".
2.	нВ . Читается " В доказуема".
3.	А|,А2,...,АП ь, п > 0. Читается "система А1?А2,...,АЯ противоречива".
Если формулы исчисления высказываний можно рассматривать как формы сложных высказываний, то секвенции являются формами утверждений и теорем, в которых можно отчетливо выделить условия (посылки) и заключения.
Правилом вывода называется выражение вида --------------—-----, где
E1,E2,...,Sjt,S — произвольные секвенции. Выражение S называется непосредственным следствием секвенций SpS2,...,St поданному правилу вывода.
Исчисление высказываний определяется своей схемой аксиом и правилами вывода. Схема аксиом состоит из одиннадцати формул, поделенных на четыре группы.
I.	1. х~> (у х),
2.	(х -> (у z))-> ((х	у)^> (х -> г)).
П. 3. х л у —> х;
4.	х л у —> у;
5.	(г —> х)—> ((г	у)-> (г чхлу)).
Ш. 6. х —> х v у;	(2.1.1)
7. y->xvy;
8. (х ?)-> ((у	г)-> (х v у г)).
IV. 9. (х —> у)—> (у —> х);
10. х -> х;
96
Часть I. Математическая логика
Все правила схемы проверяются непосредственно.
Правил вывода в исчислении высказываний довольно много. Среди них выделяются основные и производные правила. Перечислим некоторые из них, которые впоследствии будем использовать без доказательства. Пусть ГРГ2,Г3,Г— конечные последовательности формул, возможно пустые, А, В, С —любые формулы. Тогда справедливы следующие правила вывода исчисления высказываний:
г, |-А;Г2|- в
Г,,Г2|-(АлВ)
правило введения конъюнкции; здесь и далее
г,.г>г, иГ2 —объединение последовательностей формул.
Г|-(АлВ) Г|-(АлВ)
2. ---j— --,  zj—  — удаление конъюнкции.
Г|— А	1|— В
Г|-А	П-В
3- Zj—7Т—ЗТ, ТЗ—7Т—Зл—введение дизъюнкции.
Г||-(АуВ);Г2,а|-С;Г3,В|-С
--------- I ---------------—удаление дизъюнкции.
11 3 2»
г,д|-в
5.	—(д ' > д'у — введение импликации (теорема дедукции).
Г,|-(А -> в);Г,|-А
6.		—- ^"i— -— удаление импликации (правило заключения).
1 Р 1 21- °
7.	—j—=—введение отрицания.	(2.1.2)
Г|-А
г,а|-
8.	-q—— —удаление отрицания. Г|- А
Г,|-А;Г2|-А
9.	—	।----— сведение к противоречию.
10.	тз———правило утончения.
Глава 2. Исчисление высказываний
97
11
Г|-А Г,В|-Л
— правило расширения.
г,, а, в, г2|-с _
11	Г,.в,дг2|-с
правило перестановки.
Г„А,А,Г,|-С
13. ---- 'i—— правило сокращения.
Г|, А, Аз |~ С
Правила вывода исчисления высказываний формализуют определенные стандартные логические способы рассуждений. Правило вывода называется допустимым в исчислении высказываний, если его добавление в исчисление не расширяет множество доказуемых секвенций.
Основных правил вывода в исчислении высказываний два: правило подстановки и правило простого заключения. Если формула А доказуема в исчислении высказываний, х — переменная, В — произвольная формула исчисления высказываний, то формула, получающаяся в результате замены в формуле А переменной ,г всюду, где она входит в формулу А, формулой В, является также доказуемой формулой. Это правило подстановки.
в
Символически оно записывается так [(а), т. е. если а(л) выводимая
формула, то замена Л' на В тоже дает выводимую формулу, или
если А(х) доказуема, то А(в) тоже доказуема. Частные случаи формулы в	в	в	в
J(A) могут быть, например, такие j(x)=B, j(y) = у, |(а)=А, X	XXX
, где под знаком * понимается любой
из символов л, v, . Эти подстановки очевидны.
Второе основное правило вывода в исчислении высказываний называется
I- А;|—А—>В
правилом простого заключения (ППЗ). Оно имеет вид ------:------ и
г в
читается "если формулы А и А —» В доказуемы, то формула В тоже
98
Часть I. Математическая логика
доказуема". Правило широко распространено и известно очень давно, на латыни оно называется modus ponens.
Аксиомой называется всякое выражение, полученное из схемы аксиом I—IV подстановкой вместо переменных x,y,z конкретной формулы.
Линейным доказательством (выводом) в исчислении высказываний называется конечная последовательность секвенций	такая, что
для каждого i, 1 < i < k, S, есть либо аксиома, либо непосредственное следствие предыдущих секвенций по применяемым в исчислении правилам вывода. Секвенция 2 называется доказуемой в исчислении высказываний или теоремой исчисления, если существует доказательство 21,£2,...,2/., у которого ХА. = 2. Формула А называется доказуемой, если доказуема секвенция А.
Очевидно, что всякая секвенция является деревом; если	—
деревья и X — секвенция, то ----—--------также дерево. Одна и та же
секвенция может входить в дерево несколько раз. Дерево может иметь много начальных секвенций, но заключительная секвенция только одна.
Дерево D называется доказательством в исчислении высказываний в виде дерева, если все его начальные секвенции— аксиомы, а переходы — применения допустимых правил вывода. Если 2 является заключительной секвенцией' доказательства D в виде дерева, то D называется доказательством 2 в виде дерева или деревом вывода 2 в исчислении высказываний.
Схема секвенций называется доказуемой в исчислении высказываний, если ее добавление к исчислению в качестве схемы аксиом не расширяет множество доказуемых секвенций. Это эквивалентно тому, что все частные случаи этой схемы будут доказуемы в исчислении высказываний.
2.2.	Некоторые дополнительные производные правила вывода
Из списка перечисленных тринадцати правил вывода (2.1.2) некоторые практически всегда применяются при доказательстве теорем. Рассмотрим доказательство еще нескольких правил вывода. Они получаются с помощью
Глава 2. Исчисление высказываний
99
правил подстановки и простого заключения и поэтому являются производными от них.
1.	Правило одновременной подстановки.
Пусть А — доказуемая формула; х{,х2,..., хн — переменные, а В[,Вт,...,Ви — любые формулы исчисления высказываний. Тогда результат одновременной подстановки в А вместо Х|,х2,...,хн соответственно формул |-А
—1-------. Способ
в{,вг..в„
Blt является доказуемой формулой, т. е.
доказательства очевиден. Формула выводится применением правила простой подстановки последовательно ко всем переменным по порядку.
2.	Правило сложного заключения.
Если формулы А,, А2,..., А, и А, —> (а2 —> (аз —> (...(а, —> в)...))) доказуемы, то и формула В доказуема, т. е.
|- Д;|- Л;...,|-Д,;|-Д -> (л (а, (...(д, в)...)))
Действительно, если по условию доказуемы формулы А, и д^(л^(д^Цд,^в)...))). то по правилу простого заключения будет выводима формула А, —> (аз ->(...(а,( —>#)...)). Далее, аналогично
рассуждая, заключаем, что если выводимы А, и Aj —> (/\, —> (...(а^ —> в)...)), то выводима и формула А3 —> (...(а,? —> в)...). Продолжая такие рассуждения и раз, получим, что формула В доказуема.
3.	Правило силлогизма.
Если доказуемы формулы А—> 2? и В —> С, то доказуема и формула
Для доказательства возьмем две первые аксиомы и сделаем в них соответствующие замены. К первой аксиоме применим следующую
подстановку:
S Дх —> (у	х)) = |- (В —» С)—> (А -у (В -у С)).
100
Часть I. Математическая логика
Вторую аксиому преобразуем так
- J(x -> (у z))-> ((х -> у)-> (х -> z))s|-(Л -» (В -» С))-> х,у,2
->((А->в)->(А->С)).
По правилу простого заключения:
|-В-» С;|-(в —» с) —»(А —»(в-» с)) |-А->(В->с)
аналогично
|-А —> (Д —> С); |— (А	(в С)) ((А ->b)->U-> С))
|-(а->в)->(а->с)
Наконец, применяя еще раз правило простого заключения, находим |-А -> В;|-(А -> В) -> (А -> С)
----------1— --—-----------. Итак, формула А —» С выводима при |“ А —С
данных предположениях.
4.	Правило контрпозиции.
Если доказуема формула А —> В, то доказуема и формула В А, т. е.
|-А—»В
|-в-> А'
Правило доказывается очень просто с использованием только одной формулы из списка аксиом исчисления высказываний, а именно девятой аксиомы (х —> у) —> (у —> х). Сделаем в ней следующую замену переменных:
По правилу простого заключения
|—А —> В; |-(А->в)-»(в->а) |-В->А
т. е. исходная формула доказана.
pflgaa 2. Исчисление высказываний
101
5.	Правило сиятия двойного отрицания.
Если доказуема формула А —> В, то доказуема формула А —> В, наоборот,
если доказуема А В, то доказуема формула А —» В, т. е.
-А-> В
-А—ьВ
-А^В
-А—>В
Воспользуемся десятой и одиннадцатой аксиомами и проведем в них
аналогичные подстановки
А-> А,
Тогда по условию и по правилу силлогизма
|-А —> А;|- А	В
|-А—> В
-А->В;|-В->В
\-А—^В И
Доказательства для пяти приведенных правил могут быть записаны в виде деревьев:
1	Г| *2
Г|- А(В1,х2,...,х11)
Г|-А(В,,В2,...,В„).
2	Г|- А,, Г|- А, -4 (А2 -4 (А, -4 ...(А, ч В)..))
г|-а2^(а3^...(а,^в)..),г|-а2
Фа, -> в,г|-а,.
фв^С,ф(В^Сф(А-фВ-*С))
3	Г|-А —> (В —> С)	’Г|~Ф|
Г|-(А -> в) (а -> с), Г|- А -> В Г|- А-^С
где Ф, = (А -> (в -ч. С))-> ((А	В)-» (А С)).
102
Часть I. Математическая логика
Приемы доказательств, подобные уже приведенным, применяются для получения правил вывода из совокупности формул.
Пусть Г — произвольная конечная совокупность формул, т. е. Г = {А,,Выводом из совокупности формул называется всякая конечная последовательность формул, любой член которой удовлетворяет следующим условиям.
1.	Всякая формула Ауе Г выводима из Г, т. е. г|-д (а1,а2,...,д,...,д,|-д).
|-в
2.	Всякая доказуемая формула выводима из Г, т. е. —-----------1-- или
A, Aa,...,AJ-5
1-д
г|-в
3.	Если С и С —» В выводимы из совокупности формул Г, то В также Г|-С;Г|-С—>В
выводима из Г, т. е. ---тт—~------— формула, аналогичная правилу
Г|-В
простого заключения.
Очевидно, что класс формул, выводимых из Г, совпадает с классом доказуемых формул (см. разд. 2.1), если Г содержит только доказуемые формулы. Если же Г содержит хотя бы одну недоказуемую формулу, то класс формул, выводимых из Г, шире класса доказуемых формул.
Из определения выводимой формулы и вывода из совокупности формул следуют очевидные свойства вывода:
1.	Всякий начальный отрезок вывода из Г есть вывод изГ.
2.	Между двумя соседними членами вывода из Г можно вставить любой вывод из Г.
3.	Всякий член вывода из Г является формулой из Г.
Глава 2. Исчисление высказываний 103
4.	Если Г, С Г, то всякий вывод из Г, является выводом из Г.
5.	Д'151 того чтобы формула А была выводима из Г, необходимо и достаточно, чтобы существовал вывод А из Г.
рассмотрим еще несколько правил, при доказательстве которых используются свойства вывода.
1.	Правило расширения.
----1, т. е. если А выводима из Г, то она выводима и из Ги W. где Г, W А
Г и W — некоторые конечные совокупности формул.
Пусть Г| = Го W , тогда Г С Г, и вывод из Г есть вывод из Г(, т. е. если Г|— А, то и Г,|— А, что доказывает данное правило вывода.
Г,с|- А; Г|-С
2.	Правило удаления выводимой гипотезы ----——-----.
Это правило доказывается включением в вывод из Г вывода из С. Пусть совокупность формул Г, С = {б, ВпЧ, а}, а Г=
Если в первом выводе пет С, то он является только выводом из Г и Г|-А. Если же в	А присутствует С. то вместо С в
В}, В2,..., Вп_{, А вставим С^С^.-.С^С. Это можно сделать в соответ^ ствии с определением вывода, тогда получим вывод только из Г и Г|—А.
3.	Правило удаления импликации.
Г|-С->А
Это правило обратное теореме дедукции	. Здесь дано
Г|— С—>А. т. е. существует вывод	из Г такого типа
Г: А|, A,,..., A j, С —» А. Перейдем теперь к объединению формул Г.С = ГиС. Тогда к предыдущему выводу можно присоединить формулу С, т. е. Г,С: Д,	~> А,С. Но тогда по правилу
С;|-С —> А
простого	заключения	------j—-------,	т. е.
|- А
Г,С : А,, А2,..., А^С —> А,С, А. Это доказывает исходное правило
удаления импликации.
104
Часть I. Математическая логика
Рассмотрим теперь несколько примеров на выводимость формул.
	Пример 1. Показать выводимость формулы A v В —> А л В .
Воспользуемся	сначала	восьмой	аксиомой
(x->z)-»(G —> z) —> (х v у —> zj), сделав в ней следующую
А.В.ЛлВ
замену: J((х -> z)—> ((у -> z)-> (х V у -> z))).
x.y,z
Получим доказуемую формулу
|- (а -» Ал в) -> ((в -> Алв) -> (a v В -> Алв)).
Аналогичные операции проведем с третьей и четвертой аксиомами
А.В
- ]"(х л у —» х) = |-Ал В —» А,
А.В
|( X л У-> у)^ А л В —> В
х,У
и применим к двум последним формулам правило контрпозиции:
|-АлВ-»А |-АлВ—>В
] —	---- И 1 —	---- .
|-А->АлВ |-В->АлВ
Теперь по правилу сложного заключения имеем
-Ф,;|-Ф2;|-Ф3
-Av В -> АлВ
где Ф, = А —> А л В, Ф2 = В —> А л В,
Ф3 = (а —> А л в)-> ((в -> А л в))-» (a v В —> А л в)
Итак, формула AvB—>АлВ доказуема. Она является одной из форм закона двойственности в алгебре логики.
	Пример 2. Доказать, что Г = {А}|- В —> А — секвенция.
Имеем Г: Г|— А. Возьмем первую аксиому х —> (у —> х) и сделаем в АВ
ней подстановку	получим доказуемую формулу
А—»(В—> С). Теперь по правилу простого заключения сразу |-А;|-А->(В-»А) получаем конечный результат----j— ---------.
fflgga 2. Исчисление высказываний
105
•	Пример 3. Доказать, что Г = (А —>	А —секвенция.
Дано г|- А -> В, ij- В. Возьмем девятую аксиому (х —> у) -> (у -> х) и проведем следующую замену переменных:
” j ((х—> у)~> (у —> х))= |-(А—» Z?)—> (#-» А). Для достижения
конечного результата необходимо дважды применить правило простого
|-А —> В;|-(А —> В) —> (в —> а) |-В;|—В—>А заключения  ------;——---=---------- и '-;——-----
В -> А	|- А
	Пример 4. Доказать, что Г = {А —> в}|- (с —> А) -> (С -> В).
Дано Г|— А —> В. Используем первую аксиому х—>(у—»х).
Подстановка
(у -» *)) * I- (Л -> В)	(С -4 (А -4 В)). По
правилу простого заключения
|-А->В;|-(А-»в)-»(С-»(А-»В)) |-с-»(а->в)
Воспользуемся теперь второй аксиомой, проведя в ней следующую
замену переменных:
= |-(С -» (А -» В)) -» ((с —> А) —> (С —> в)).
Еще один раз modus ponens
|-С —> (А —> В);|-(С —> (А —» В)) —> ((С —» А) —> (С —> В)) |-(с -»а)->(с -»в)
н
	Пример 5. Доказать следующее правило вывода: i— -	. Сначала
|- Ал В
I Л.В
—	| (х л у —> х) = |— Ал В —» А . Теперь по правилу контрпозиции
106
Часть I. Математическая логика
\-АлВ^А
|-А—>АлВ’
наконец,
по правилу простого заключения
А; -Л^АлВ
-АлВ
2.3. Теорема дедукции и другие законы исчисления высказываний
Теорема дедукции
Правило введения импликации носит название теоремы дедукции и имеет Г, С|-А
следующий вид: ;•	----.
Докажем эту теорему подробно методом математической индукции по длине вывода. Пусть Г,С-{д,Д,...,д}— вывод из исходной совокупности формул. Сначала покажем, что для любого подобного вывода справедливо Г}—С—> Д. В дальнейшем в роли Д, которая может быть получена при выводе из Г, С любым дозволенным методом, может выступать А.
При п = 1 вывод формулы А из Г, С имеет вид Г, с|- Д , т. е. формула А совпадает с Д. Согласно определению вывода возможны три случая:
1.	Д е Г.
2.	Д —доказуемая формула из множества Г.
3.	Д = С.
В первых двух случаях имеем г|- Д . Тогда вывод из Г можно написать в виде Г: Д, Д —»(С —» Д ),	С—>Д	. Таким образом,
| -.т^(у-»л), по простому заключению
N»	Н'^л|
г|- С —> А] . В третьем случае имеем А, = С, и надо доказать, что Г|- С —> С, но формула С —> С доказуема в любой совокупности формул.
Ёдава 2. Исчисление высказывании	107
Действительно, |- С,|- ,v—> (j —> л),|- С —> (С —> С),
j-^cd-C -»(с —> с)
	|-С-»С	'
Пусть теперь теорема справедлива при /</?-!; докажем, что она справедлива и при i = п . Здесь вывод из исходного множества формул имеет вид Г, С = {д, А^,..., Ап}. Однако теперь для формулы Д( появились дополнительные возможности, а именно, она может определяться как:
1.	Д, е Г;
2.	А — доказуемая формула;
з.	А,= с-
4.	А получается по правилу простого заключения из любых двух _ ,	|-А; |—А-—> Л,
предшествующих ей формул, т. е. ---------i---------, причем вторая
г А,
формула в правиле простого заключения (обозначим ее А ) должна иметь вид Aj = Д —> Д(. Для первых трех случаев доказательство полностью аналогично уже рассмотренному, только индекс "единица" надо заменить на 11. В четвертом случае Д( получено по правилу простого заключения из Д и А • = Д —> А. При этом вывод из Г может быть таким Г = {Д,Л.....А,}:АМ2,.,А,. А^(с^А) , С->А
/рл—>( V—>л).	но нросгому заключению
c-^Aj ,с->(а->А,)-
аналогично
предыдущему
Последняя формула в выводе имеет такой вид в силу допущений пункта 4.
Т. к. С , а А; = А —> А 
Возьмем теперь вторую аксиому (х —А (у —a z))—А ((х —> у)~> (х —> z)) и
С. А, ,Л„
сделаем в ней подстановку	j((х —> (у	z))“> ((х —> у)—> (х —> <)))
108
Часть I, Математическая логика
Получим доказуемую формулу
|-(с^ (4 4)Ь ((с^ 4)-* (с^ 4,))-
Тогда по правилу сложного заключения
|-c->4;|-c-»(4-»4J|-(c->(4->4))-»((c-»4)-»(c-»4)) |-с^4,
Итак, доказано, что Г[— С —> Д , причем Д может определяться четырьмя указанными способами.
Вернемся теперь к началу теоремы. Пусть r,Cj— А. Тогда Г, С: А^ Д,...,Д_П т. е. роль Д играет Л. Тогда по предыдущему доказательству Г|— С А и теорема дедукции доказана.
Обобщение теоремы дедукции
Д, Д, Д,...,Д I- А
Справедлива формула -j--------------------г—гг. Докажем ее.
|-д ^(д ^(д->...(д->4..))
итак, г = {4,4,..„4}, г|-л, но г = {4,4,...,4,_1}и{4,}=г„_1>4, и г„ч,4,|_ А- Тогда по теореме дедукции справедливо ГпЧ|“ Д —> А. Аналогично множество ГД можно представить в виде ГД = ГП_2,Д_(, тогда Гл_2|— Д_] —>(Д —>4 и т- Д- Применив эту процедуру п раз, получим |- Д —> (Д (Д —> ...(Д, —> 4--))-
Д|-Л
В частном случае при п = I получим --*----. Эта же формула
|-4->л
получается и из простой теоремы дедукции, если Г, С = {4 }•
Закон перестановки посылок
Рассмотрим множество формул Г =-{Д—> (2?—> С), Д .#}• Из этой совокупности формул после применения дважды правила простого
Гдава 2. Исчисление высказываний
109
заключения	находим:
Г: Л —> (в —> С), А,В,
В С ,	С	. Теперь применим обобщенную
ПО простому заключению по простому заключению
>(Д—>С)	\-В,\-В-)С
\-В^С	|-с
А^(В^С\В,А-С
теорему дедукции:
-(л^(в^с)Ь
Из закона перестановки посылок следует правило |-Л-Щв^С) доказуемых формулах ।——-------которое
простого заключения из формул
перестановки посылок в получается по правилу |-Л-»(В->С) и

Закон соединения посылок
|-(Л->(В->С))-»(ЛлВ^С).
Пусть множество исходных формул Г = {А —> (В	С), А л В]. Получим
вывод всех необходимых нам формул из этого множества
Г: Л -> (Я -> С), А л В, А л В—> А, А л ВВ, В , '	по третьей по четвертой поППЗ
\-АлВ\\-АлВ-+В аксиоме аксиоме I----и------
I-S
А , В->С , С поППЗ	по ПИЗ	поППЗ
|-/1ла;Р.<лД->Л |-И;|-Л-<(В->С) |-а;|-В—>с |-л	|-а->с	|-с
Отсюда на основании обобщенной теоремы дедукции получим:
А	д
А—>(В—>С),АлВ-С
---------------------------. Из этого закона при условии, что
-(А->(В-^С))-> АлВ-^С
	у
110
Часть I. Математическая логика
|т А —Ъ (В —> С), по правилу простого заключения немедленно получается
правило соединения посылок:
|-Л->(В->С)
\-АаВ^>С
Закон разъединения посылок

Рассмотрим систему формул Г = {А л В —> С, А, В} и сначала покажем, что из нее выводима формула АлВ. Пусть R — любая выводимая формула, тогда Г : А (В->C\A,B,R,
j (/, )«|-л->(/г->л)	i-r_
c.v	1
R,A.B
аналогично предыдущему	no ППЗ
|-я->л,|-(к—>л)->((я->а)->(«->лла)) (4я->а)->(к->лла)
Л—> АлВ по ППЗ
АлВ
по ППЗ

|-Ллй
| ~ R—>АлВ
Итак, формула АлВ выводима из формул АлВ—>С,А,В. Продолжим
вывод	до	применения	теоремы	дедукции:
Г: А л В, С ,(А л В —> (А -у (В -у С)). Отсюда следует и по ППЗ	по обобщенной теореме дедукции
|-ЛлД,|-ЛлД-»С	АлВ->СЛВ[~С
|-С	(ЛлД->СНл->(Я-»С))
|-Иа5-^С правило разъединения посылок rJ-------г, ибо
|-Л—>(В-»С)
А Л В С,|- (Л Л В С) -> (А (В С))
|-Д-4(Д->С)
Рассмотрим теперь несколько примеров на доказательство формул исчисления высказываний с использованием всех ранее рассмотренных теорем.
Глава 2. Исчисление высказываний
111
 Пример 1. Доказать допустимость следующего правила вывода: Г,В|- ~А —------------правило для доказательства теорем от противного.
При доказательстве новых правил, естественно, могут использоваться уже известные правила вывода. Пусть А = {А}, тогда очевидно, что
А. Воспользуемся уже рассмотренным правилом расширения
—— По условию Г,^|- А, по правилу сведения к противоречию
Г(|-4Г21- А	Г,3- ДГ^- А
—1----;--- в нашем случае получим -----------—=— -----, ибо
г,.г2|-_	_	г, в, 4-
Г|5Г2 = Г,В, А = ГиЙи А. Последнее необходимое правило
Г,1-	Г, А, Si-
удаления отрицания ——5-j. В нашем случае	. Итак, доказано
Г,2?|- А исходное правило вывода-------.
Г,А|-5
 Пример 2. Вывести следующую секвенцию {А —> В, В С}|- А —> С.
Итак, Г = {Л-^В,В-^С}, следовательно, г|-	в,г|-в^с.
I- А^В;\-В-+ С
Тогда по правилу силлогизма  -1——---—------.
	Пример 3.	Вывести	следующую	секвенцию
(А-»(В->С))|-В->(А-»С).
Из исходного множества результат следует немедленно, если А —> (.8 —> С) воспользоваться правилом перестановки посылок ।-.
	Пример 4. Вывести следующую секвенцию Av А— закон исключенного третьего.
Исходное множество не задано, следовательно, оно может быть произвольным. Выведем сначала две вспомогательные формулы
112
Часть I. Математическая логика
х—*\х—>у) и xv у—> хл у. Воспользуемся пятой, девятой и
шестой аксиомами. Итак, замена в пятой аксиоме
- j((z->x)->((z->y)->(z->XAy)))s|-(^77->x)->
_>((xv^->^)->(xv^-> хлу))), теперь в девятой
- j((*(ух))= |-(х-> xv }>)-> (х v	х) .
Применим правило простого заключения и шестую аксиому в качестве
I- х —> х v у; |-(хх v у) —> (xv у —> х) посылки -----------1—-  ---=------------, теперь сделаем
|—xvy—>х
подстановку в доказанной формуле
наконец, применим правило сложного заключения, получим:
- х v у —> х л у
Таким образом, доказана одна из двух вспомогательных формул. Докажем теперь вторую из них. Для этого используем первую и девятую аксиомы, сделав в них следующие замены переменных:
- J (х -> G -* х)) = |-х —У (у -> х)
- j ((х-> у)-> (у *Н-(у-> *)-» -» у)-х.у
Теперь применим несколько известных правил вывода. По правилу
\-А^В,В^С	|-х-^^х)|-(Р->x)->(i->у)
силлогизма J:--------- получим J-------i----т-—;
Гдава 2. Исчисление высказывании
113
по правилу соединения посылок
\-А^(в^С)
—:-------- в нашем случае
l-ЛлВ^С	У
Ц-----—---=-; по правилу снятия двойного отрицания
-ХЛ X—> у
-А^В
-А—>В
будем иметь - хл х—> у; наконец, по правилу разъединения посылок
\-АлВ—»С
\-А—>(В—*-С)
получим доказуемость второй вспомогательной
-хлх—> у
формулы р---7=---
|-х->(х->^
В дальнейшем доказательстве используются две полученные выводимые формулы. Сначала сделаем в них подстановки
Затем применим закон соединения посылок
, тогда
По правилу силлогизма
получим
; правило контрпозиции
дает
-	xv х—> у
—	=-===. Правило снятия двойного отрицания
-	у -» х v х
- А^В
-А->В
114
Часть I. Математическая логика
позволяет получить доказуемую формулу
Воспользуемся теперь правилом удаления импликации
Г.р-У^ГЛ-Л	г ,
—*------1. Пусть Г2 = где R — любая доказуемая
Г ,Г>г в
формула. Тогда -1 (у —> (х v х)) = |- R —> (х v х). Правило удаления >
импликации применительно к этой формуле будет иметь вид
I-	R —> х v х; |- R
-----j----=------. Наконец, сделаем последнюю подстановку -XV х
А _	_
— J (х v а') = |- A v А. Итак, исходная формула доказана.
I- Л->В;|- Л-,В
 Пример 5. Доказать выводимость  -1—=----
р
В этом примере исходное множество формул имеет вид Г = {л —> В, А -> в]. Воспользуемся выводимой формулой, полученной на основе девятой аксиомы I- (А В)—> (в а). По
правилу	простого	заключения	имеем
I- л-> в-1- (л-> в)-> л) ----------j—=---=------------, тогда по правилу силлогизма |-В-> Л
|-Л-^В;|-В-> А получается вспомогательная формула -----;-----=-------. Пусть
- А—> А
теперь А — любая доказуемая формула. По правилу удаления
|-4р-> ~А импликации -----:——----.
р
Глава 2. Исчисление высказываний
115
	Пример 6. Доказать Г = {А —> В}|- А л С В л С .
Г:А-~+В. В множестве Г нет формулы С. Введем ее дополнительно, положив Г, = {А —> В,АлС], ГсГг Тогда
Г :А^В,АлС, АлС-уА , АлС^С , А ло третьей аксиоме по четвертой аксиоме по ПИЗ
п'пз ’ гшз ' правИЛУ введения КОНЪЮНКЦИИ |-/МС;|-.‘1лС—>С	>В
be	Hi
Г,|- Л Г,|- В
----—— ------. Здесь Ц = Г2 и Г|5Г2 = Ц. Воспользуемся теперь Г, Д г|“ ^л В
Г,с1-Л
теоремой дедукции —--------------. В данном случае получим
А—>В,АлС
-ВлС
-АлС-^ВлС
. Итак, формула А л С —» Вл С выводима
только из Г, введение Г, с формулой Ал С было лишь вспомогательным действием.
	Пример 7. Докажем более сложное, чем указано в списке правил исчисления высказываний, правило введения дизъюнкции Г,п|- С; Г,В|-С
r,Jv5|-C
По условию Г, л|- С, Г, Bl- С . По теореме дедукции ------
1	Г|- С А
Г,Л-С	г,51-С
имеем —;---1---- и —-----1-----. Сделаем в восьмой аксиоме
Г|-Я-^С	Г|-5-»С
следующую замену переменных:
- J((x-^z)-^((j-^z)-^(xv><-^z))) =
116
Часть I. Математическая логика
= |-(Л->С)->((5-»С)->(Яv5—>С)) и применим правило сложного заключения
|-Л—> С;|- В-> С; |-(Л	С)((ВС)(Л v ВС))
|-ЛуВ—>С	'
Для доказательства требуемой формулы воспользуемся правилом Г|-С-»Л	Г|-ЛуВ->С
удаления импликации	. В нашем случае	.
Следовательно, правило введения дизъюнкции доказано.
г|-Л; г|-в
 Пример 8. Докажем правило введения конъюнкции —Lj—--.
П— Ал В
По условию Г|-А, Г|-В. Докажем сначала, что {А, В}|-Ал5. Для этого сделаем подстановки в пятой и первой аксиоме:
- J ((z -> х) -> ((z -> у) -> (z -> х л у))) s|- (а -> а) -> ((л -> в) ->
^(А^АлВ)),
В. А
- j(x—» (.У —> х)) = |-В—> (А —> В). Ранее уже
показывалось, что формула А —> А выводима из любой совокупности формул, в том числе и {А,/?}(—А—> А. Применим несколько раз
правило простого заключения
|-Л->Д|-(Л-»Л)-»((Л->Л)-»(Л-МлЛ)) |- (Л->й)->(Л-> Ал в)
|- В; |- В -> (А -> В) |-Л—>В;(Л—> В)-»(Л-> ЛлВ) |- Л-> В	’	|-Л—>ЛлВ
Глава 2. Исчисление высказываний
117
2.4.	Практическое занятие №5.
Исчисление высказываний: правила вывода и доказуемость формул
2.4.1.	Выписать все подформулы формул:
а)	А^ВуАлВ-
б)	Я-»(в-»(Л-»В)); вф->В)л(В-»С))->М;
г)	(4 -> 4 v 4)-» 4.
2.4.2.	Применяя только правило подстановки, доказать, что выводимы следующие формулы:
а)	АлВ-^ АлВуС;
б)	(?1->у|)->((^чйлС)ч(^ч/1лВлС));
в)	(АлВ->(С-^ВлС))-^((АлВ-^С)-^(АлВ-^ВлС));
г)	(av В->с)->(с-^ Ллв).
2.4.3.	Являются ли выводами в исчислении высказываний следующие последовательности формул:
а)	A-»(AvB);
б)	A—>(AvB), (A-»(/1vB))-»(B-»(/1-»(/1vB))), Я-ф(АВ));
в)	J), (А-+(В^ A))-+ В, В.
2.4.4.	Выводами из каких множеств формул Г является следующая последовательность формул;
а)	А -> (В -> С), А, ВС, В, С;
б)	(а в)-4 (в а), А В, В А, В, А;
в)	А-+В, А, В, В Bv С, BvC,(A-+	BvC).
118
Часть I. Математическая логика
2.4.5.	Доказать допустимость следующих правил вывода:
Г,В,В\- А
а)----—-----—правило сокращения;
г,,г2|-в ’
г,,ддг2|-с
в)-------i----правило перестановки.
Ц, В, А, Г2 — С
2.4.6.	Применяя производные правила вывода, показать выводимость формул:
а)	|- А л А —> F;
б)	|-(Л->5)лВ-» Л;
в)	|- Av А—> А-,
г)	|- Лл В —> Av В;
а)\-А^(В->АлВ)-,
е) р->(Л-»В).
2.4.7.	Вывести следующие секвенции:
а)	Л—> (В-> С]-(Лл В)-> С;
б)	А^ $-(АлС)->(ВлС);
в)	Д- А—> В;
г)	Л—Л;
д)	А -> В, В -> С|- А С;
е)	Л)->(С-^В);
ж)	А—> В|- Л v С —> Bv С;
з)	ДЛ->В|-В;
и)	А-, В,^-~А-
к)	Л|- В —> А.
[дава 2. Исчисление высказываний
2.4.8.	Доказать производные правила вывода:
4,4„.„4,И
а) 1------------;
|-4л4л...л4,^в
-д|-5
- А^> В
\-АлВ
\~А ’
|- А-^А
2.4.9.	Используя обобщенную теорему дедукции, доказать следующие формулы:
б) (Л-»В)-»((С-М)-»(С->В));
в)
2.4.10.	Введем следующее исчисление (исчисление Лукасевича): множество предметных переменных и констант состоит из бесконечного числа букв и знаков . Все буквы есть формулы, если ф — формула, то (р также формула; если (риф — формулы, то ф —>\|/ тоже формула. Система аксиом следующая:
а)(Л^В)^((В^С)^(Л-^С));
б)	(л-> л)-> А;
в)	а-^(а^в).
Справедливы правило подстановки и правило заключения. Доказать, что в Исчислении Лукасевича выводима формула А-~^ А.
120
Часть I. Математическая логика
2.5.	Монотонность и эквивалентность формул исчисления высказываний
Формула в(а), содержащая переменное высказывание А, называется монотонно возрастающей (убывающей) по А, если из выводимости Д —> А, следует выводимость В(Д)—> В(А2) (в(Аз)—> В(А,)).
Говорят, что формула В сильнее формулы D, если |-2? —>D. Эти два понятия позволяют упрощать доказательства, в которых производится замена части какой-нибудь формулы более слабой или более сильной формулой.
Из определения монотонности следует, что если формула В[А}) монотонно возрастает по и |- В(А(), то, заменив А1 более слабой формулой А2, получим также выводимую формулу. Действительно, пусть |— А^ А2 и |- В(А,). Из определения монотонности |-B(Aj)—» В(А2). Тогда по правилу
простого заключения-------1—)-------------•
Наоборот, если B(Aj) убывает по А,, то 2?(А,) остается выводимой при замене А, более сильной формулой.
Теорема 2.2. Все основные логические операции монотонны по всем участвующим в инх переменным высказываниям: формулы Ал В н Av В монотонно возрастают по А и В, А убывает по А, А—» В убывает но А н возрастает по В.
Доказательство.
Докажем только, что Av В монотонно возрастает по А. Пусть |— А[ —> А2.
Из аксиомы ЛЬ (см. формулы (2.1.!)) подстановкой получим В, А-i
j (у —> х v у) = |- В —> А2 v В.	Подстановка в ПТ дает
У,х
Аг.В
j (л —> X V y) = i~A2	отсюда по правилу силлогизма
I-	4 —> Л2,|~ А2 —> Л; V в
J. Наконец, сделаем подстановку в аксиому III я, 4 -н 4 v В
Глава 2. Исчисление высказываний
121
Ах.В,Аг^В
тогда j’(x->z)-»((y->z)->(xvy>-^z))s
= |-(А, —> А2 v В)—> ((В —> А2 v в)—>(A, v В —> А2 v В)).
Теперь, применяя дважды правило простого заключения, получим
I-А, ->А2 vB,|-(a, —> А2 v В) —> ((В —> A, v В) —> (Aj v В —> А2 v В)) “	P(B —> A2 v В) —> (A, v В —> A, v В)	’
|-B-> A, v B,|-(B-> Аг v B)-> (A, v 4 v B) |-4vB-m2vB
Итак, |—4 v B —> A2 v В, т. e. формула Av В монотонно возрастает.
Прочие положения теоремы 2.2. доказываются аналогично.
Из алгебры высказываний имеем [А —> В)л (В —» А) = А <-> В. Знак не является символом исчисления высказываний и может употребляться лишь для сокращения выражений. Этот знак— символ языка, на котором доказываются утверждения об исчислении. Иногда этот язык называют метаязыком.
Две формулы А и В называются эквивалентными., если |—/4 <-> В. Очевидно, что всякие две выводимые формулы исчисления высказываний эквивалентны. Действительно,
Г : А,В, А —> (В —> А), В-+А , В-+(а^>В) ,А-> В, Л'.х—»(у—»х)	. поППЗ аналогично предыдущему
А,В	|-/Ц-Л-»(Д->Л)
(А —> В)л (В —> А) но правилу введения конъюнкции
Таким образом, если |- А и В, то А В. Можно продолжить вывод, Г|-Л-> А воспользовавшись правилом удаления импликации ---------п----• Тогда
Г. В\- А
l-B~>A	1-А->В
справедливы формулы —-j------- и — -------. Следовательно, если две
В\-А а^-В
формулы эквивалентны, т. е.	В, то А|- В и В|- А.
122
Часть /. Математическая логика
Соотношение эквивалентности рефлексивно: А О А, симметрично, т. е. если А О В, то В <-» А; транзитивно: если Ло В и В «-> С, то Лн С.
Теорема 2.3. Пусть А — формула исчисления высказываний, а В— ее подформула. Пусть А' получается из А путем замены некоторого вхождения В на формулу В1. Тогда если В^В1, то	т.с.
\-(в^ В']^(а{В)^ А^).
Понятие эквивалентности имеет большое практическое значение, т. к. основные свойства формул исчисления высказываний сохраняются при переходе к эквивалентным формулам. Поэтому важно уметь находить для каждой формулы эквивалентную ей формулу, но устроенную по возможности более просто.
2.6.	Связь между формулами алгебры высказываний и исчисления высказываний
Как уже упоминалось, алгебру высказываний можно представить в качестве интерпретации исчисления высказываний. Исчисление высказываний построено как аксиоматическая теория путем формализации алгебры высказываний. Покажем, как множество теорем исчисления совпадает со множеством тождественно истинных формул алгебры высказываний.
Введем понятие значения формулы исчисления высказываний. Пусть А — формула исчисления высказываний, а л,, х2 ,...,хп— ее переменные, а(,а2,...,а/£ —набор значений этих переменных. Так как a, G {0,1} 1 = 1,и, вектор (а],а2,...,ап)Т имеет 2Л значений.
Теорема 2.4. Всякая формула, доказуемая в исчислении высказываний, является тождественно истинной формулой в алгебре высказываний.
Доказательство.
Необходимо рассмотреть и доказать три случая:
а)	тождественную истинность аксиом исчисления высказываний;
б)	тождественную истинность формул, полученных применением к тавтологиям правила подстановки;
в)	тождественную истинность формул, полученных из тавтологий по правилу простого заключения.
Глава 2. Исчисление высказываний	123
Тождественная истинность аксиом исчисления проверяется непосредственно перебором всех значений их переменных по таблицам истинности. Проверим по табл. 2.6.1, например, аксиомы, содержащие три переменные.
Таблица 2.6.1
X	У	Z	((.г	у)-, (х -ч .-))	ч((:-х,Н—.►))	(х -> ((>’-> =)->(х« V -> :))
1	1	1	1	1	1
1	1	0	1	1	1
1	0	1	1	1	1
1	0	0	1	1	1
0	1	1	1	1	1
0	I	0	1	1	1
0	0	1	1	1	1
0	0	0	1	1	1
Прочие аксиомы проверяются аналогично.
Пусть %,, х2 ,х — перечень всех переменных, входящих в формулы А и В, например, А(хрх2,...,а';(,х) и ^(л'рЛ^,...,^.), /с < и . Тогда значения формул А и В на наборе а15а2,...,аи,а будут равны А(аьа2,...,аи,а) = а, В(а(,а2,...,аА )= р. Рассмотрим значения формул при различных в
подстановках: |(х/)=л/ , х(-|а = ам X
J(4)=4x,,x2,...,.хп,В), а(х„х2,...>хя,В](^2 =
= А(а1,а2,...,а„,В(а|,а2,...,а1.)) = А(а|>а2,...,а„,р)= а,.
Если А—тавтология,то А(аьа9>...,а,|5а)= А(а|,а2».p)sЪ
в
т. е. если А(х],х2,...,xlt ,х) = 1, то J(a)=A(x],x2,....хн,В)= 1.
5 Зак. 4306
124
Часть /. Математическая логика
Пусть А и А—> В — тождественно истинные формулы. Тогда из свойств импликации при любом наборе aj3a2,...,an,a 1—>В = 1. Отсюда В = 1. Следовательно, любая выводимая формула тождественно истинна.
Теорема 2.5 (теорема о выводимости). Пусть А — некоторая формула исчисления высказываний; х]3Х2,...,хя — набор всех переменных, входящих в формулу А; а},а2,...,ал — произвольный фиксированный набор значений этих переменных. Пусть конечная совокупность формул
Г	1	а (Xj, если 0L = 1,
Г = ^',Хл2,...,х“''L где х/ = <-	Тогда, если значение
|х/,еслиа; =0.
формулы А при наборе al3a2,...,a/t переменных хрх2,...,хи равно 1, то Г|— А, если же значение формулы А при наборе a!,a2,...,an равно 0, то г|- А.
Доказательство.
Докажем теорему методом математической индукции по длине рассматриваемой формулы.
Пусть формула А есть переменная ху. Тогда, если xj =1, то xf|—х, и х?' |— х, т. е. х“' А. Но Г — {х“‘ }, следовательно Г|- А. Если же Х;|п =0, то х“‘’= х; и х“' |-х(-, т. е. х^-А. Аналогично, Г = {x“J } иГ|-Л.
Увеличим теперь длину формулы А.
Очевидно, что А может иметь один из следующих четырех видов: а) В} , б) В} л В2, в) В} v В2, г) Д —> В2, причем по только что доказанному для В{ и В2 теорема 2.5 справедлива.
Рассмотрим лишь случаи а) и г),
а) Пусть А имеет вид Bt .Если B|(a1,a2,...,an) = 1, то Bl(a|,a2,...,aH) = 0 и, следовательно, г|-Д , т. е. Г|— А. Если же В{ (a1,a2,...,a)l )= 0, то
Глава 2. Исчисление высказываний 125
5|	)= 1 и rj— В, . Продолжим теперь вывод по правилам
исчисления высказываний
Г : Bj, В] —>	, В{ . Но В. = А, тогда г|— А.
г) Пусть А= В} —^В2. Если A(al,a2,...,a,i)= 1, то по свойству импликации либо B1(a1,a2,...,a„) = 0, либо B2(aj,a2,...,a„)= 1. Если В](ана2,...,а?1) = 0,то г|-	. Запишем вывод из Г.
Г:В?, В,^(в7^В,) , (в^В,)-^-»^) ,
В[.^2	,_	\ #2-^1	| ___	\ /___  
В,-а>(д^д)	, в.лД^вТ В|ЛД-»В2
cnjuioin3M	соединение посылок снятие двойного отрицания
|-а, Дв^в,)|-(в1->в,	[-bi->[b7~>^2^	[-a,A^->B2
[-/^[в^вТ]	|-B[aB|—>b2
В, —> (д —> B2), В, —> (B| —> B2),	В, —> B2 . Таким образом,
разъединение посылок перестановка посылок по ППЗ
|-«|->(в[->й2)	>'ъ)	|-^->Д2
г|-з^я2.
Если же B2(aj,a2,...,aM)= 1, Г|~ В2 . Тогда вывод из Г имеет следующий вид: Г : В2, В2 —> (б{ —> В2) , В{ В2 . Итак, и в этом случае /рл—>(v—>.т)	по ППЗ
(,,>|-bUb,^2) I	--
г|-д ^в2.
Пункты б) и в) этой теоремы доказываются аналогично. Предоставляем читателям сделать это самостоятельно.
126
Часть I. Математическая логика
Теорему 2.5 часто применяют для добавления в вывод из множества Г какой-нибудь сложной формулы, включающей в себя предыдущие члены вывода в качестве составных частей.
 Пример. Дана формула А = (xv у)—> (хл z) и наборы значений переменных: а) (1,0,0) и б) (0,1,1). Записать вывод формул А или А из соответствующей совокупности формул.
a)	A(1,0,0)=(1v0)->|1a0)=(1v1)->(0a1)s1->0 = 0.
Следовательно, из множества Г = {с, у, z А, т. е.
{х, У'z (х v у)-* Л z). Действительно,
Г: х,y,z,x —>х,(х v у —>хл z)—> (х v у —> хл z), f (х—>x)s|-(xvy—>xaz)—*(xvy—>xaz)
X V у —> (х V у —» ХЛ г)—> ХА Z, x->xvy , XV у , перестановка посылок_	lllf.x-bxvy по ППЗ
|-(jvy->XAz)-»(*vy->JCAz) У. V| - |-x,|-x->xvy L----J {Hl I M-X4xvy 1---------------------------------------
| ~ X vy —> ^X V_V —> X A Z > X A z	у	~XV)>
XV у X A Z = A.
___по ППЗ________
-XAxJ-XAX—>XVy—»XAZ
X—> XAZ	, ХЛХ ,
снятиедвойногоотрицания по ППЗ
-X—AJ	—J, — x—»X AX
-xvy—>XAZ
Каждую из формул этого вывода можно было непосредственно поставить в вывод, проверив ее значение на наборе (1,0,0), например, xaz| = 1лб = 0л1 = б = 1.
б)	Д(0Д,1)= (о vl)—> (рл1)= (0 vO)—> (1 л0)= 0 —> 0 = 1.
Значит, Г = у, А.
.Глава 2. Исчисление высказываний
127
Проверим это.
х —> у , х_у	у^хлг), х л у .
по ППЗ xvy А	___ _ правило введения
:|x>(x>v) J (x^>kxvj.->(.Yv_r->.vAz) конъюнкции
X л Д' —> XV у	, XV У , XVJ'—>XAZ = /1.
XAy,xvj'	_ но ППЗ	по ППЗ
Д,	|-ХА>-,|-ха>>->ху7 |-.гуу,|-ху^-»(ху^->ха7)
|-xy;	|-X-Vy~>XAJ
Проверка по теореме 2.5 для каждого члена приведенного вывода дает аналогичный результат. Например, Л ^l(o 11) “	= ’
х -> (х у)|(о1 л) = 0 -» (о -> 1)= 1 -» 1 = 1 и т. д.
Теорема 2.6. Каждая тождественно истинная формула алгебры высказываний доказуема в исчислении высказываний.
Доказательство.
Пусть А — тождественно истинная формула алгебры высказываний, а	— список всех ее переменных. Рассмотрим произвольный
набор этих переменных а, ,а2,...,а„.	A(%|5x2)...,хп )|(а] а2 = 1 ’
следовательно, по теореме 2.5 Гн|- А, где Гм = ,xj2}, причем Гн|- А на всех 2'1 различных и-ках чисел ((Х|,а2,...,а„).
128
Часть I. Математическая логика
Пусть Г|(_1 =	}, тогда если а„=1, имеем Гн_,,лгиА,
„	—I . „	Г„_|,л:„|-Л
а в случае а((=0 I дЧ ,лгд|-Л. По теореме дедукции ——।— ---------— ,
Гд_,,лЛ-Л
-----:—=---. Запишем теперь вывод из Г ,.
r..,h А
Г„-,:	Л,*„ 4 (х„-> Л)->((Г->л)->л) ,
на любом наборе переменных, формула выводима ио теореме 2.5
Хи, Л	,,_ .	.
А.В 1
(х~ —> А—> А , А по ппз 7	, _ "° ППЗ.
Итак, Г„_||-Л. Точно так же, обозначая через Г„-2 = W'>-4'’•••’^-2 г получим Г„_2|- А. Тогда и Ц = {*“' }|- А. Если а, =1,то {х,}]- А, если же
Г—1
<Х| =0, то ]Х]/кА. По теореме дедукции  -----------------, ]—=-----.
|-*i -> Л |-^ ->А
Аналогичный вывод дает |— А, т. е. формула А доказуема в любой совокупности формул, если она тождественно истинна.
2.7.	Некоторые алгоритмы проверки выводимости формул в исчислении высказываний
Выявление того, что из некоторого множества формул исчисления логически следует другая формула, является по существу одной из основных задач исчисления высказываний. Для доказательства выводимости часто используется теорема 2.6.
Гпава 2. Исчисление высказываний
129
Алгоритм Квайна
Для проверки тождественной истинности формулы А(х, ,А'2,...,хя) используется так называемое семантическое дерево, представляющее собой бинарное однокорневое дерево (рис. 2.1). удовлетворяющее следующим условиям:
□	каждое ребро помечено х°';
□	ребра, выходящие из одной вершины, соответствуют противоположным переменным х, и ;
□	ребра соответствуют одной и той же переменной тогда и только тогда, когда они находятся на одинаковом расстоянии от корня. Граф, изображенный на рис. 2.1, имеет 2" висячих вершин, т. е. вершин последнего ряда, и для проверки тождественной истинности в общем случае нужно исследовать 2" маршрутов от корня до каждой текущей вершины.
Алгоритм Квайна позволяет проходить лишь часть дерева и заключается в последовательном переборе переменных xt и придании им значений 0, 1. Для каждого такого набора анализируется таблица истинности формулы Л(х[,Х2,-.;Х11), причем эта таблица из-за фиксированного значения xt
содержит меньшее число переменных.
130
Часть /. Математическая логика
	Пример 1. A(x,y,z) = (х^ z)~> ((у —> z)-> (xv у —> z)).
Пусть х = 1. Тогда формула А преобразуется следующим образом: 4l,y>z)= (1 —У z)—У ((у-у z)—У (1 V у -уz))= (1 -у z)—У ((у -у z)—у —> (1 —> z)). О значении полученной формулы определенный вывод сделать еще нельзя. Придадим значение У = 1, получим A(l,l,z) = (1 —> z)—> ((1 —> z)-> (1 —> z))= (1 z)—> 1 = 1. Если же y=0, то A(l,O,z) = (l^z)^((o^z)—>(l-^z))=(l—>z)^(l—>(1—>z)). Продолжим процесс последовательного перебора значений переменных:	z = 1,	А(1,1,1) = (1 —> 1)—> (1 -> (1 —> 1))= 1,
Л(1,1,0) = (1 ~> 0)-> (1 -> (1 0)) = 0-^(1—>0)=0—>0 = 1.
Рассмотрим теперь случай х = 0. Получим
Л(0,у,г)= (0 —У z)-y ((у —у z)—у (0 v у -у z))s s 1 -У ((у —у z)—У (у —у z)) = 1-У 1 = 1.
Таким образом, все рассмотренные случаи приводят к тождественно истинным формулам, и формула А тождественно истинна, а значит доказуема. На рис. 2.2, а изображен граф, соответствующий формуле, а на рис. 2.2, б его подграф, использованный для проверки выводимости.
	Пример 2. Д(х,у)= хл (х—> у)л (х—> у). Придадим значение х = 1. А(1,у)= 1 л (1 —у у)л (1 —У у)= (1 -у у)л (1 -у у); у = 1, А(1,1)= (1 -> 1)-У (1 —у 0)= 1 —у 0 s 0.
Формула А выполнима и не выводима из произвольного (может быть пустого) множества формул (рис. 2.3).
Гпава 2. Исчисление высказываний
131
Рис. 2.3
Алгоритм метода редукций
Алгоритм метода редукций похож на алгоритм только что рассмотренного метода Квайна. При переборе наборов значений переменных исследуемой формулы используется свойство импликации быть ложной только тогда, когда посылка истинна, а следствие ложно. Метод эффективен для формул, содержащих много импликаций.
Рассмотрим ту же функцию Л(х, y,z)- (х —> г)—> ((у —> г)—> (л v у —> г)). Предположим, что формула А ложна при некотором наборе переменных (GpG2,Gj). Тогда по свойству импликации x—>z = l, а (у	(л v у —> z) = 0, т. е. уz = 1 и xvy->z-0,
х v у = 1, z = Gj = 0. Но если z, - 0, то х —> z = 0 и у —> z = 0, а не I, как было получено раньше. Данное противоречие говорит о том, что исходное предположение о ложности формулы А неверно. Таким образом, формула А тождественно истинна.
Метод резолюций
Рассуждения, являющиеся основой метода логического вывода, называемого методом резолюций, заключаются в следующем. Чтобы доказать, что {Д, А2,...,	необходимо показать, что Д л А2 л... л Ап -> А —
тавтология.
Действительно, пусть Г = {Д ,А2,...,Д, }. Так как ДеГ,/ = 1,п,то Г|-Д.
г|-дг|-в
По правилу введения конъюнкции —Ц-------, т. е. если Г|—Д, Д,..., Д,,
то Г|-Д л А2 л... л Д . Следовательно, формулу Д л А2 Л Л можно
Г,А|-В добавить в Г. Тогда по теореме дедукции	—:— -----—, т. е.
132
Часть I. Математическая логика
1.	,	' *13 f'1 * * ''	I
—:-----------------1----. Таким образом, если - А, а А а ... а А —> А,
Г|- А, а Аз а ... а Д; —> А
то формула А] а А2 а ... л Ап —> А = 1 (тавтология).
Введем еще несколько определений. Пусть Д = A, v В , Д = A'2v В . Дизъюнкт А[ v Д называется резольвентой дизъюнктов Aj и А^ по переменной В и обозначается через гауДАрД). Резольвентой дизъюнктов Д и Д называется резольвента по некоторой переменной и обозначается ге^(Д,д). Если дизъюнкты А| и Д не содержат противоположных переменных, то резольвент у них не существует. Очевидно, что res^A, а)= 0. Если res’(A1,A2) существует, то {А], А2 }|—res,(A1, А2). Действительно, пусть A]=A1/vB, Аз=А^уВ, resB(A{,A2)= А{ v А^. Очевидно, что {д7 v В, А2 v ВA,7 v А2. Для доказательства достаточно воспользоваться правилами удаления и введения дизъюнкции.
Пусть Г = {Д,А2,...,Д1} — множество дизъюнктов. Последовательность формул ВрВ0,...,В?| называется резолютивным выводом из Г, если для каждой формулы Bhi = 1, л, выполняется одно из условий:
1. В, еГ;
2. 3/,k < i, такие, что В( = reslflj, Bk).
Теорема 2.7 (теорема о полноте метода резолюций). Множество дизъюнктов Г противоречиво в том и только в том случае, когда существует резолютивный вывод из Г, заканчивающий нулем.
Применим эту теорему для проверки выводимости формулы А из данного множества формул Г = {Д, А2,..., Ап}. Условие {АрД,...,Д}- А равносильно условию {д, А2,...,Ал, а]|—. Действительно, если {Д, А2,..., Ан}|- А, то А, л А2 л...л Д —> А = 1,	тогда,
Д л А2 Л...Л Д, v А = 0 ,	’ А, л А2 Л...Л Д л А = 0,	т. е.
Г( = {д,А2,..., Дра]|“-. Это равносильно условию, что В|-, где В = Д л Д л...л Д л А.
Гпава 2. Исчисление высказываний
133
Приведем формулу В к КНФ, т. е. к виду В = л С2 л... л СН1. Тогда если В|—, то С{ лС2 а... аСи|-. Таким образом, задача проверки выводимости {Д, А2,..., Ан А сводится к проверке противоречивости множества дизъюнктов Г, = {СРС2,...,СМ}, а это равносильно существованию резолютивного вывода нуля из Г(.
 Пример 3. Проверим методом резолюций выводимость Г — {а —> F а С, В —у D,С —У Е, А —> Fj|- (О л E)v F. Выводимость данной формулы из Г по этому методу следует из противоречивости множества Г, = \a^Ba.C,B^D,C^E,A-^F,DEvf}. Приведем все формулы из Г, к КНФ: Г, = ^4 v ВС, В v D, С v Е,A v F, F a(dv£)}={<v 1<рчС\В< D,Cv E,Av F,f(5ve)}.
Таким образом, множество дизъюнктов
Г,' =^vB,AvC,BvD,CvE,AvF,F,Dve}.
Построим возможный резолютивный вывод пуля из Г/ ;
1.	г^л(а v В, A v f)= В v F\
2.	resA^Av C,Av f)= С v F-,
3.	resB(Bv D,B v f)= Dv F;
4.	raf(cvF,Cv^)=£vF;
5.	resE(E vF,Dv E^= D v F;
6.	resD(pvF,Dv f)= F v F = F;
7.	res[FtF)=0.
На практике в общем случае метод резолюций не эффективен, т. к. число переборов резольвент может быть очень большим, оно экспоненциально зависит от числа дизъюнктов и содержащихся в них переменных. Метод успешно применяется к одному классу дизъюнктов — хорповским дизъюнктам.
Дизъюнкт А называется хорновским, если он содержит не более одной позитивной переменной, например А v В v С, Av С, А, В. В общем случае
134
Часть I. Математическая логика
хорновские дизъюнкты имеют вид Д v Aj v... v или Aj v А2 v... v An v В . Хорновский дизъюнкт вида A1vA2v...vAn называется негативным, а дизъюнкт Aj vA2 v.,.v Ал v5— точным. Дизъюнкт А называется унитарным позитивным дизъюнктом.
Если Г — множество хорновских дизъюнктов, то его проверка на противоречивость происходит следующим образом. В Г выбирается унитарный позитивный дизъюнкт В и дизъюнкт Се Г, содержащий В.
Далее Г заменяется на Г\{с}и{ге5(с,в)}. Этот процесс продолжается до тех пор, пока либо Г не будет содержать 0, либо не найдется дизъюнктов В и С указанного вида. В первом случае исходное множество Г противоречиво, во втором непротиворечиво.
 Пример 4. Проверим на противоречивость множество
Г = {а -> В, С -> D, В -> Е, D -> F, EF, А -> С, а}=
= {AvB,CvD,Bv EJ) vF,EvF,AvC,a}.
Множество содержит только хорновские дизъюнкты. Применим к нему описанный алгоритм по шагам:
1.	resA(A,Av в)= В, {а,В,С v D,B v E,D v F,E vF.Av c};
2.	resB(p,BvE)=E, \a,B,E,CvD,DvF,EvF,~Avc},
3.	resE(E,EvF)=F, {a,B,E,F,C v D,Dv F,Av c},
4.	resF(p,D v p)= D, {a.B.D.E, F,C v D, A v c};
5.	resA(A,Avc)=C, {a,B,C,D,E,F,C v d};
6.	resc(c,C v d)= D, {a,B,C,D,D,E,f},
7.	res(p,£>)=0. Множество Г противоречиво.
2.8.	Проблемы аксиоматического исчисления высказываний
Исчисление высказываний как всякая аксиоматическая теория для своего обоснования требует решения четырех проблем: разрешимости, непротиворечивости, полноты, независимости. Рассмотрим их все кратко.
Глава 2. Исчисление высказываний
135
Первая проблема — проблема разрешимости — заключается в том, что должен существовать алгоритм, позволяющий для любой заданной формулы исчисления высказываний определять, является ли она доказуемой или нет, Такой алгоритм существует. Действительно, любая формула исчисления высказываний может рассматриваться как формула алгебры высказываний, для которой эта проблема решается с помощью теорем 1.9-1.12 (см. разд. 1.13).
Вторая проблема— непротиворечивость исчисления высказываний. Формальную аксиоматическую теорию называют непротиворечивой;, если не существует формулы А такой, что в исчислении одновременно выводимы А и А.
Теорема 2.8. Исчисление высказываний непротиворечиво.
Действительно, по теореме 2.4 всякая выводимая формула тождественно истинна. Отрицание этой формулы не является тождественно истинной формулой. Следовательно, ни для какой формулы А невозможно, чтобы одновременно |-Л и |-Л.
Третья проблема— это проблема полноты. Она имеет два аспекта: полноту в узком и в широком смысле.
Аксиоматическое исчисление называется полным в узком смысле, если добавление к списку его аксиом любой недоказуемой в исчислении формулы в качестве новой аксиомы приводит к противоречивому исчислению.
Теорема 2.9. Исчисление высказываний полно в узком смысле.
Доказательство.
Пусть А — произвольная невыводимая формула (по теореме 2.7 в качестве А можно взять любую нетождественно истинную формулу), а — список ее переменных. Так как А — невыводимая формула, то существует набор значений а1,а2,...,а„ переменных такой, что
=о.
Пусть В1,В2,...,Вп — любые тождественно истинные формулы, зависящие от переменных , х2 ,...,хп. Рассмотрим следующий набор формул:
В(* ,В2г ,...,В*", где 5“'	и осуществим их подстановку
fifi X2..
в формулу А:	1а = а(в“' ,В*2 ,...,В*п )= 0. Действительно, для
136
Часть L Математическая логика
любого набора о1,о2,..,,он значений переменных о fl sl, т. к. В.— тождественно истинная формула.
Тогда	=а, и л(В‘-	)= Л(а|,а2,...,а„) = 0.
1а1,о2,...р,|
Таким образом, если	)= 0, то а{в^1 ,В^г )= 1, т. е.
тождественно истинная формула и, следовательно, по теореме 2.6 выводима в исчислении высказываний.
С другой стороны, если формулу	добавить к списку аксиом
исчисления, то она станет выводимой в новом исчислении как аксиома.
Л'1
В новом исчислении формула А(В“' ,В^г ,..-,В*и )= Г Л(х, ,х2,...,хн) ^.х2....Лм
получается в результате одновременной подстановки, т. е. также будет выводимой. Следовательно, новое исчисление высказываний будет противоречивым,^ к. в нем А и |— А.
Аксиоматическое исчисление называется полным в широком смысле, если любая тождественно истинная формула в нем доказуема. Проблема полноты в широком смысле решается также положительно. Справедливость этого факта следует из теоремы 2.6.
Наконец, последняя проблема— проблема независимости— заключается в независимости системы ее аксиом, т. е. в невыводимости любой из них из остальных аксиом по правилам вывода данной системы. Оказывается, что система аксиом исчисления высказываний независима. Этот факт довольно легко проверяется непосредственно, если явным образом определить множество, из которого принимают значения переменные х, у, z.
Теорема 2.10. Система аксиом исчисления высказываний независима.
Доказательство независимости всех одиннадцати аксиом исчисления высказываний довольно громоздко н основано на некоторых интерпретациях переменных и логических операций исчисления. Независимость самых простых аксиом можно доказать по следующей схеме. Допускается, что переменные в аксиомах могут принимать только два значения: 1 и 0. Все логические операции , а, V,—>, кроме одной, определяются так же, как и в алгебре высказываний, причем 1 играет роль истины, а 0 — лжи. Одну же из логических операций специально определяют так, чтобы та аксиома, в которую эта операция входит и независимость которой доказывается, не являлась тождественно равной I.
Глава 2. Исчисление высказываний
137
При такой интерпретации все аксиомы, кроме исследуемой, принимают значение 1. Все формулы, выводимые из совокупности аксиом, кроме исследуемой, также будут принимать значений 1 при всех значениях входящих в них параметров.
Ясно, что если такая интерпретация возможна, то исследуемая аксиома не зависит от остальных, т. к. если бы она была выводима из остальных, то она, как и все формулы, выводимые из совокупности аксиом, кроме исследуемой, принимала бы только значение, равное 1.
2.9.	Практическое занятие № 6. Эквивалентность формул исчисления высказываний и теорема о выводимости. Алгоритмы Квайна, редукций и резолюций
2.9.1.	Вывести следующие секвенции:
а)	1-АлЯ^> Вл А;
б)	А v В В V А.
2.9.2.	Доказать, что в исчислении высказываний выводимы секвенции:
а) |-А^ А;
2.9.3.	Доказать, что следующие формулы выводимы в исчислении высказываний:
а)	|- AvB <-> А л В;
б)	~А о ~А.
2.9.4.	Используя свойство монотонного возрастания или убывания функций, доказать выводимость следующих формул:
а)	А = х—> (х—> (х —> у л х));
б)	Д = хлу->у^у.
2.9.5.	Используя свойство монотонного возрастания дизъюнкции по обеим переменным, доказать выводимость формулы
138
Часть I. Математическая логика
2.9.6.	Дана формула	А=хлуу(х—>у)лх и наборы значений
переменных а) (1,1), б) (О,о). Записать вывод формул А или А из соответствующей совокупности формул.
2.9.7.	Формула А = х, v х2 —» х3 задана на наборах а) (0,0,1) и б) (1,0,0). Вывести А или А из соответствующей совокупности формул.
2.9.8.	Формула А = (х —> у) л (у —> z) —> (z —> х) задана на наборах а) (0,0, l) и б) (1,1,1). Записать вывод формулы А или ее отрицания из множеств Г( = {х, у, z} и Г2 = {х, у, z}.
2.9.9.	Дана формула Л = х, v х2 —> х^ и наборы значений переменных а) (1,1,1), б) (1,0,1), в) (0,1,0). Записать вывод А или А из соответствующей совокупности формул.
2.9.10.	Формула ?4 = х—>(х—»у) задана на наборах а) (1,0) и б) (о, 1). Вывести формулу А или ее отрицания из соответствующих множеств Г, = {х, у} и Г2 = {х, у}.
2.9.11.	С помощью алгоритма Квайна проверить тождественную истинность следующих формул:
а)	(А —> В)—> (В —> А);
б)	(AvB)->((Aab)v(baa));
в)	(AvB)-^(c^b);
г)	A v В —> (с «-> а).
2.9.12.	Используя алгоритм редукции, проверить тождественную истинность следующих формул:
а)	(А л В —> С)—> (А —> (В —> С));
б)	А, (А,	... -> (д_,	(А„ —> В v В))..);
в)	(А —> В)л(а—> в)—» А.
2.9.13.	С помощью алгоритма Квайна и алгоритма редукции доказать тождественную истинность аксиом исчисления высказываний.
2.9.14.	Методом резолюций проверить следующие соотношения:
a)	{a vC,C->B,B-»Aj|-A-^(B^C);
Глава 2. Исчисление высказываний
t39
б)	{a.v С В,С Av В,ВС Av в}- В ,
в)	%2,Avb}\-(B^C)-> А.
£.9.15. Проверить на противоречивость множество хорновских дизъюнктов:
a)	{AvBvCvD,B,AvBvC,C,BvD},
б)	{длВ->С,А,В,с};
в)	^vDvE,EvF,C,D,A,f}.
Глава 3
Логика предикатов
3.1.	Определение предикатов и логические операции над ними
В исчислении высказываний изучались логические отношения, составленные из простых высказываний и принимающие только два значения 0 или 1 ©помощью операций д, v, , —. Однако для задания более сложных логических рассуждений исчисления высказываний недостаточно. В любой /<-значной логике можно определить наличие того пли иного свойства па конечном множестве элементов, в случае же бесконечных множеств необходимо введение функций, аргументы которых пробегают бесконечное число значений на множестве М.
Все высказывания, используемые до сих пор, рассматривались как нераздельные целые и только с точки зрения их истинности или ложности. Структура высказываний и их содержание игнорировались. Однако, очевидно, что на практике используются заключения, зависящие как от структуры, так и от содержания используемых в них высказываний.
Не всякие высказывания и не любые логические рассуждения могут быть описаны на языке исчисления высказываний. В некоторых случаях высказывания касаются свойств объектов или отношений между объектами. Кроме того, необходимо иметь возможность утверждать, что любые или какие-то объекты обладают определенными свойствами или находятся в некоторых отношениях.
Поэтому следует расширять логику высказываний и построить такую логическую систему, в рамках которой можно было бы исследовать структуру и содержание тех высказываний, которые в рамках алгебры высказываний считались бы элементарными.
Такой логической системой является логика предикатов, а алгебра высказываний — ее составной частью. Помимо элементарных высказываний в логике
142
Часть I. Математическая логика
предикатов рассматриваются высказывания, отнесенные к предмету, т. е. высказывания расчленяются на субъект и предикат. Субъект — это то, о чем что-то утверждается, предикат — это то, что утверждается о субъекте. Логика предикатов— это расширение логики высказываний за счет использования предикатов в роли логических функций.
Одноместным предикатом Р(х) называется произвольная функция переменного х, определенная на множестве М и принимающая значения из множества {0,1}.
Множество М , на котором определен предикат Р(х), называется предметной областью или областью определения предиката. Множество всех a'G М , при которых Р(х)— 1, называется множеством истинности предиката Р(х): 1Р={х/хеМ,р(х)=1}.
Предикат Р(х), определенный на множестве М , называется тождественно истинным, если I р = М , и тождественно ложным, если 1Р = 0. Булева функция однородна в том смысле, что для нее область значений функции и область изменений аргумента по типу одна и та же — логическая (либо истина, либо ложь). Для предикатов же область значений функции — логическая, а область изменения аргументов — предметная. Обобщение понятия одноместный предикат— понятие многоместного предиката, с помощью которого выражаются отношения между предметами.
п-местным предикатом называется всякая функция п переменных <2(^1,л:2,...,хп), определенная на множестве М = М1 хМ2 х...хМп (декартово произведение) и принимающая на этом множестве одно из двух значений: "истина” или "ложь", т. е. и-местный предикат Q(xlyx2,...,xn) есть функция Q : М —> В, где М — произвольное множество, а В = {0,1}.
Высказывания можно считать нульместными предикатами.
Говорят, что предикат Р(%) является следствием предиката е(х) р(д) , если Ia С 1Р, и предикаты Р(х) и й(х) равносильны (р(х) «-> е(х)), если 1В = 1Р.
Так как предикаты принимают два значения 0 и 1, то к ним применимы все операции логики высказываний.
Конъюнкцией двух предикатов Р(х) и <2(х) называется новый предикат Р(х)л2(х), который принимает значение "истина" при тех и только тех
Глава 3. Логика предикатов 143
значениях хе М , при которых каждый из предикатов принимает значение '’истина", и принимает значение "ложь" во всех остальных случаях. Очевидно, что областью истинности предиката Р(х) a Q(x) является IQC\IP .
Дизъюнкцией двух предикатов Р(х) и £>(*) называется новый предикат p(x)v Q(x), который принимает значение "ложь" при тех и только тех значениях х Е М. , при которых каждый из предикатов принимает значение "ложь", и принимает значение "истина" во всех остальных случаях. Ясно, что IQ\J Iр.
Отрицанием предиката Р(х) называется новый предикат Р(х\ который принимает значение "истина" при всех значения хе М , при которых Р(х) принимает значение "ложь" и наоборот. Здесь очевидно, I- = М \ Iр.
Импликацией Р(х) и £)(Л‘) называется новый предикат f(-x)—> <2(л), кото-рый является ложным при тех и только тех значениях хе М , при которых одновременно Р(х) принимает значение "истина", a Q(x) — значение "ложь", и принимает истинное значение во всех остальных случаях.
	Пример 1. а) Луна есть спутник Венеры — ложное высказывание, не являющееся предикатом, т. к. в нем нет аргумента — переменного х; б) 5 +V?0-V10 > 150 —тоже самое;
в) х2 + 3% + 2 = 0 — предикат. Здесь хЕ М = R, IР = {-2,-1}
	Пример 2. На множестве М = {3,4,5,6,7,8} заданы два предиката Р(х): " х — простое число”, Q(x): "х — нечетное число". Составить их таблицы истинности (см. табл. 3.1.1). Равносильны ли предикаты Р(х} и <2(х) на множествах L = {2, 3,4, 5, 6, 7, 8} К = {3, 4, 5,6, 7, 8, 9} ?
Таблица 3,1.1
X	3	4	5	6	7	8
	1	0	1	0	1	0
е(л)	1	0	1	0	1	0
Очевидно, что 1Р = {3,5, 7} Iq = {З,5, 7} Таким образом, на множестве М P(x) = Q(x). На L и К предикаты не равносильны, ибо на L,
144
Часть I. Математическая логика
например, 2— простое число и четное, а на К 9— нечетное, но составное число.
	Пример 3. Исследовать, является ли один из двух данных предикатов Р(х, у) и Q(x, у) следствием другого, если
= !5}, Q(x,y)={]xy =15}
Рис. 3.2
Найдем области определения обоих предикатов и изобразим их на рис. 3.1 и 3.2.
Глава 3. Логика предикатов
145
_ f(x,у)е Я2/	1
|	/(х >0, у >0)v(x<0, у <0)|'
Области определения обоих предикатов на рисунках заштрихованы.
Следовательно, /рС/б,т.е, P(x,y)—>Q(x,y) и предикат G(x,y) является следствием предиката Р(х, у).
	Пример 4. Найти область истинности предиката х-у2 >0 и изобразить на плоскости.
Неравенство, составляющее исходный предикат, ограничивает часть плоскости, заключенной между ветвями параболы х = у2 (рис. 3.3).
	Пример 5. На множестве М - {1,2,3,..., 20} заданы предикаты А(а): " х не делится на 5", В(х)'. " х — четное число", С(х): "а — число простое", D(x): "а кратно трем". Найти множества истинности предикатов А(х)л в(х)л D(x), A(x)vB(x), Z)(x)-^C(x).
1.	А(х)л В(х)л D(x)={ х не делится на 5 и х — четное число и х кратно трем}={ х не делится на 5 и х делится на 6}. Действительно, ={6,12,18}.
2.	A(x)vB(x)={ х не делится на 5 или х — четное число}. 1Р = М \{5,15}.
3.	D(x)—> С(х) = D(x)v С(х) = { а не кратно трем или х—непростое число}. Здесь рассуждения сложнее, однако, если перебрать все элементы множества М , то легко установить, что Iр = М \ {З}.
146
Часть I. Математическая логика
3.2.	Кванторные операции
Функциональная природа предиката влечет за собой введение еще одного понятия — квантора. Кванторные операции можно рассматривать как обобщение операций конъюнкции и дизъюнкции в случае бесконечных областей. Рассмотрим это подробнее. Пусть дан Р(х) — одноместный предикат. Если fl G М, то Р(а)— высказывание. Здесь как в обычной функции одного переменного при фиксации аргумента функция превращается в число. В логике предикатов существуют еще две особые операции, которые превращают одноместный предикат в высказывание, т. е. связывают аргумент предиката.
□	Квантор всеобщности V.
Пусть Р(х) — предикат, xG М . Под выражением VxP(x) понимают высказывание, истинное, если Р(х) истинно для каждого элемента xG М , и ложное в противном случае.
Символ V называется квантором всеобирюсти (all— всякий). Соответствующее ему словесное выражение звучит так: "для всякого х р(х) истинно". Переменная х в предикате Р(х) называется свободной (х любое из М), в высказывании VxP(x) переменную х называют связанной переменной.
Рассмотрим предикат Р(х), определенный на множестве М = {ара2,...,а }, содержащем конечное число элементов. Если Р(х) является тождественно истинным, то истинными будут высказывания Р(а[),Р(а2),...,Р(ап). При этом истинными будут высказывание \fxP(x) и конъюнкция Р(«])л Р(а2)л... л Р(ап). Если же хотя бы для одного элемента акем Р(ак) = 0 , то ложными будут высказывание VxP(x) и конъюнкция Р(а} )л Р(а2)л... л Р(ап). Следовательно, справедлива равносильность УхР(х)ЕР(в,)л4)л...лР(а,).
□	Квантор существования 3.
Пусть Р(х) — предикат, х G М , Под выражением ЗхР(х) понимают высказывание, истинное, если существует элемент xG М , для которого Р(х) истинно, и ложное в противном случае. Символ 3 называется квантором существования (exist— существовать). Словесное выражение звучит так:
Глава 3. Логика предикатов 147
"существует х, при котором Р(х) истинно". Высказывание ЗхР(х) уже не зависит от х, переменная х связана квантором 3.
Аналогичные рассуждения, как и в предыдущем случае, позволяют установить равносильность ЗлР(л) = Р(а, )v f(a2)v ... v f(a„). Ясно, что высказывание VxP(x) истинно только в том единственном случае, когда Р(х) — тождественно истинный предикат, а высказывание ЗхР(х) ложно только тогда, когда Р(х) —тождественно ложный предикат.
Кванторные операции применяются и к многоместным предикатам. Применение кванторной операции к предикату Р(х, у) по переменной х ставит в соответствие двухместному предикату Р(х, у) одноместный предикат XfxP(x, у) или Э.гР(л,у) , зависящий от у и не зависящий от х.
К двухместному предикату можно применить кванторные операции по обеим переменным. Тогда получим восемь высказываний:
1.	VxVyPfx, у);
2.	ELcVyP(.x, у);
3.	\/хЭуР(х, у);
4.	ЕНуР(х, у)-,
5.	\/у\/хР(х, у);
6.	Зу\/хР(х, у);
7.	УуЭхР(х,у);
8.	ЗуЗлР(х,у).
В общем случае изменение порядка следования кванторов изменяет смысл высказывания и его логическое значение, т. е. например, высказывания VxVyP(x, у) и VyVxP(x, у) различны.
Пусть предикат М(х, у) означает, что х является матерью для у, тогда Vy3xAf(x, у) означает, что у каждого человека есть мать— истинное утверждение. 3xVyM (х,у) означает, что существует мать всех людей. Истинность этого утверждения зависит от множества значений, которые могут принимать у: если это множество братьев и сестер, то оно истинно, в противном случае оно ложно. Таким образом, перестановка кванторов все
•148
Часть I. Математическая логика
общности и существования может изменить сам смысл и значение выражения.
Квантор существования 3 можно выразить через квантор всеобщности применительно к предикату ^(х), 3x4 (х) = УхЛ(х) (см. разд. 3.5).
Полезно выяснить теоретико-множественный смысл кванторов. Оказывается, кванторы связаны с геометрической операцией проектирования. Рассмотрим одноместный предикат F(x)= ЗуР(х, у). Пусть множество истинности предиката F(x) — IF. Однако выражение ЗуР(х,у) истинно для данного конкретного х0 только тогда, когда существует такое у , что Р(хй, у) истинно. Таким образом, функции Р(х,у) отвечает часть 1р множества М, X М} = М2. Тогда I F состоит из всех тех элементов х области Л/,, для которых найдена пара (х, у)е 1Р.
Если считать х0 проекцией пары (л'о, у), тогда IF есть проекция I р. Множество истинности Iр С М2 двумерного предиката Р(х, у) можно рассматривать как плоскость, а Л/, — как ось Ох этой плоскости. Таким образом, множество IF, являющееся областью истинности предиката F(x), совпадает с ортогональной проекцией множества 1Р на ось Ох, т. е.
ZF=np/P.	(3.2.1)
Квантор всеобщности можно выразить с помощью квантора существования (см.разд. 3.5). Пусть Fj (х)= VyP(x,y), тогда УуР (х, у )= Зу Р{х?у). Операции отрицания соответствует теоретико-множественная операция дополнения. Следовательно,
Ц. =и\ирх(и\1р),	(3.2.2)
т. е. множество, отвечающее функции УуР (х, у), есть дополнение к проекции на A/j —дополнения к IР.
 Пример 1. Установить истинность или ложность высказывания Зх(хе {2,5}—» (х2 -6х + 8 = о)).
х2 - 6х + 8 = 0, х, 2 = 3 ± л/9^8 = 3 ± 1, Xj =2, х2 = 4.
Исходное высказывание преобразуем к виду:
Зх(х е {2,5}^ (х2 - 6х + 8 = о))= Зх(хеГ{2,5}v (х2 - 6х + 8 = о))^
Глава 3. Логика предикатов
149
s Эл(ле {2,5}vхе {2,4}) = Эл(ле {2,4}),
Исходное высказывание истинно.
• Пример 2. Установить \/х(х' -5л+ 6 = о).
истинность или ложность высказывания
Действуем аналогично:
,	5	25
л -5л + 6 = 0 л., = — + J—
'	2 14
5
2
24
4
+ —, л, = 2, л, = 3.
2 '
Но (т2 - 5л 4-6 = 0)= (л < 2 v л > 3), поэтому любым л не может быть, исходное высказывание ложно.
3.3. Формулы логики предикатов
В логике предикатов пользуются следующей символикой:
1.	Символы Ре,*?! ,1'2,- ' — переменные высказывания.
2.	Предметные переменные и предметные константы х0,У1,х2,... Х0,УьZ2^M .
3.	P^’^eN— предикатные символы, Р”' — ^-местный предикатный символ.
4.	— функциональные символы, f"1— /? -местный функци-
ональный символ.
5.	Символы логических операций a,v,—>,	.
6.	Символы кванторпых операций Х/,3.
7.	Вспомогательные символы: скобки, запятые.
Множество предикатных букв вместе с множеством функциональных букв и констант называются сигнатурой языка данной теории. Термом сигнатуры языка логики предикатов являются:
1-	Предметные переменные и предметные константы.
2. Если fr — п -местный функциональный символ и	—термы.
то	,1„) —терм.
150
Часть I. Математическая логика
Атомной (или атомарной) формулой сигнатуры называется выражение где — «-местный предикатный символ, a	—
термы.
Формулой логики предикатов называется всякое выражение, содержащее символику 1-7 и удовлетворяющее следующим требованиям:
□	атомарная формула есть формула;
□	если А и В — формулы, то А л В, A v В, А —> В — тоже формулы при условии, что одна и та же предметная переменная не является в А свободной, а в В связанной или наоборот;
□	если А — формула, то и А —- тоже формула;
□	если А(х) — формула, то Ул-Л(х) И ЭлЛ(х) являются формулами, причем если в А(х) х — свободная переменная, то в VxA(a') и ЗлА(х) будет уже связанной переменной.
Все предметные переменные атомарных формул свободные, связанных переменных нет. Литеральными называются формулы А или А, где А — атомарная формула.
Из этого определения ясно, что всякая формула алгебры высказываний является формулой логики предикатов. Если F — символ предиката, а х15х2,...,хп — символы предметных переменных, не обязательно различные, то F(x, ,х2,...,хи) — формула.
Пусть А— формула, содержащая свободную переменную х. Тогда VxA и ЗхА тоже формулы. В \/хА формула А называется областью действия квантора V, в ЗлА областью действия квантора 3. Формула А называется замкнутой формулой, если всякое вхождение переменной в А является связанным.
Подслово формулы А, которое само является формулой, называется подформулой формулы А.
Значение формулы определено лишь тогда, когда задана какая-нибудь интерпретация входящих в нее символов. Под интерпретацией понимается система М ={м,/}, состоящая из непустого множества М (область определения) и соответствия (функции) f, сопоставляющего каждому предикатному символу Р определенный «-местный предикат Р(-,При заданной интерпретации считают, что предметные переменные пробегают множество М , а символы а, v, —V,3 имеют свой обычный смысл.
•Глава 3. Логика предикатов 151
Для данной интерпретации каждая формула без свободных переменных представляет собой высказывание, которое истинно или ложно, а всякая формула со свободными переменными выражает некоторый предикат на множестве М , который истинен при одних значениях переменных из этого множества и ложен при других.
О логическом значении формулы логики предикатов можно говорить лишь тогда, когда задано множество М , на котором определены входящие в эту формулу предикаты. Логическое значение формулы логики предикатов зависит от значений трех видов переменных: значений переменных высказываний, входящих в формулу, значений свободных предметных переменных из множества М, т. е. х, у,..., и значений предикатных переменных P(-),G(v,Если фиксировать значения каждого из этих трех видов переменных, формула алгебры логики предикатов становится высказыванием, имеющим истинное или ложное значение.
Истинность или ложность формул логики предикатов может быть проверена путем приписывания смысла языковым конструкциям, т. е. их интерпретации. Формула в зависимости от интерпретации может быть истинной или ложной, но может от нее и не зависеть. Для того чтобы определить интерпретацию, необходимо задать множество значений, которые могут принимать свободные переменные, операции, приписываемые функциональным символам, отношения для предикатных символов.
 Пример 1. Является ли данное выражение формулой логики преди-ка-тов?
a)	(P(x)oG(%))v 3>(Vy«(y)) не является формулой, т. к. квантор существования употреблен для уже связанной квантором всеобщности переменной у;
б)	Р VxQ(xt у)— формула алгебры предикатов. А' — связанная переменная, у — свободная;
в)	VxP(x)v VyQ(xt у) не является формулой, ибо в первом логическом слагаемом х —связанная переменная, а во втором слагаемом свободная.
 Пример 2. Даны утверждения А(п) : "число п делится на 3", В(п): "число и делится па 2", С(п): "число п делится на 4", £)(//.): "число п делится на 6", Е(п)-. "число п делится на 12". Указать, какие из следующих утверждений истинны, а какие ложны.
1. \/п(а(п)а В(п)—> Е(п)). Рассмотрим составляющие части этой формулы. А(и)а В(п): "число п делится на 6", А(п)л В(п)-> Е(п):
152
Часть I. Математическая логика
"если число п делится на 6, то оно делится на 12”. При п = 6 импликация ложна, следовательно, исходная формула в общем ложна.
2. Зп(в(п)лС(п)—» D(«)). Поступаем аналогично В(п)лС(л): "число делится на 4", В(и)лС(п)->й(п): "если число делится на 4, то оно не делится на 6". Такое может быть, например, при п = 16. Следовательно, В(п)лС(й)->р(п)— не тождественно ложная формула, а тогда Нп(в(п)л С(п)—> Р(п))— истинная формула алгебры предикатов.
	Пример 3. Большая теорема Ферма* утверждает, что для любого целого п>2 не существует натуральных чисел х, y,z, удовлетворяющих равенству хп + у” = zn. Если этому равенству поставить в соответствие предикат Р(х, y,z,n), истинный тогда и только тогда, когда оно выполняется, а через М(х) обозначить предикат {х — натуральное число }, то теорема Ферма формулируется так:
Х/хХ/уХ/гХ/п(ту(х)л Л^(у)л 7V(z)a N(/z)a (и > 2)—» P(x,y,z,n)).
	Пример 4. ЭхР(х, у)—> \/хР(х, у) — формула, содержащая свободную переменную у. Пусть Р(х,у) интерпретируется как х>у на М = [a,b]. Если b > у > a, то посылка истинна, а заключение ложно и формула ложна. Если взять у — a , то и левая, и правая части истинны и вся формула истинна, следовательно, формула выполнима в данной интерпретации. Если Р(х,у) интерпретируется как х> у, М = (a,b), то левая часть будет всегда истинна (при любом у), а правая — всегда ложна, следовательно, формула тождественно ложна в данной интерпретации.
	Пример 5. Формула Vx(p(x)v р(х)) содержит только связанную переменную х. Эта формула является тождественно истинным высказыванием в любой интерпретации. Напротив, формула Зх(р(х)а Р(х)] — тождественно ложная формула в любой интерпретации.
Пьер Ферма (1601—1665) — французский математик.
Глава 3. Логика предикатов 153
3.4.	Практическое занятие № 7. Логические и кванторные операции над предикатами
3.4.1.	Найти области истинности следующих предикатов:
в) sinx = siny;
г) lgx=lgy.
3.4.2.	Изобразить на диаграммах Эйлера-Венна области истинности для следующих предикатов:
а)
б)	X*)->(sWv6£*));
в)	Р(х)л2(х)->л(х).
3.4.3.	Записать предикаты, полученные в результате логических операций над предикатами р(*). ей и R(x), области истинности которых заштрихованы на рис. 3.4-3.7.
Рис. 3.4
154
Часть I. Математическая логика
Рис. 3.7
3.4.4.	Установить, какие из следующих высказываний истинны, а какие ложны, при условии, что область определения предикатов М совпадает с a) Vx((x2 -6х+8 > o)v (х2 -6х+8 < о));
б)	Нх(х2 + х + 0.5 = о);
frtaea 3. Логика предикатов 155
в)	Vx(x2 — 5х + 6>о);
г)	Эх((ле {2,5})-> (х2-6х + 8 = о)).
3,4.5.	Пусть /' — одноместный, g2 — двухместный, h3 — трехместный функциональные символы. Являются ли термами следующие выражения?
a)	>*,));
б)
в)
3.4.6.	Пусть /', g2, h3 те же, что и в предыдущей задаче, Р1 — одноместный, Q — трехместный предикатные символы. Являются ли формулами следующие выражения?
а)	pi(s2U,)));
б)	e3HU/W./',(*2));
в)
3.4.7.	Какие вхождения переменных являются свободными, а какие связанными в следующих формулах:
а)	Чх0 (Р(х0, х,) -> Vx, Q(x, ));
б)	3x2g(x2,x2)л Я(/(л; , х3)).
3.4.8.	Пусть S,(x,y,z)=(x+у= z), Р'(х, y,z')= (х-у = z). x,y,zeN. Записать формулу с одной свободной переменной х, истинную тогда и только тогда, когда:
а)	х = 0;
б)	х = 2;
в)	х — четно.
3.4.9.	При исходных данных задачи 3.4.8 записать формулу, выражающую:
а)	коммутативность сложения;
б)	ассоциативность сложения;
в)	бесконечность множества простых чисел.
6 Зак 4306
156
Часть I. Математическая логика
3.4.10.	Привести примеры таких значений а, для которых данное высказывание:
1.	Истинно
2.	Ложно (М = /?).
а)	Зх< о(х2 +ах+а = о);
б)	Вхе [а, а + 1](х2 - х- 2 < о).
Записать, введя необходимые предикаты, в виде формулы логики предикатов следующие рассуждения.
3.4.11.	Если всякий разумный философ— циник, и только женщины являются разумными философами, то тогда, если существуют разумные философы, некоторые из женщин — циники.
3.4.12.	Все политики— лицедеи. Некоторые лицедеи— лицемеры. Значит, некоторые политики — лицемеры.
3.4.13.	Глупец был бы способен на это. Я на это не способен. Значит я не глупец.
3.4.14.	Друг моего друга — мой друг.
3.4.15.	Каждый любит сам себя. Значит, кого-то кто-нибудь любит.
3.5.	Равносильные формулы логики предикатов
Две формулы логики предикатов А и В равносильны в данной интерпретации, если на любом наборе значений свободных переменных они принимают одинаковые значения, т. е. формулы выражают в данной интерпретации один и тот же предикат.
Две формулы логики предикатов А и В называются равносильными на области М, если они принимают одинаковые логические значения при всех входящих в них переменных, отнесенных к области М .
Две формулы логики предикатов называются равносильными, если они равносильны на всякой области.
Все равносильности алгебры высказываний будут верны, если в них вместо переменных высказываний подставить формулы алгебры предикатов. Кроме того, имеются равносильности самой логики предикатов, связанные с кван-
Глава 3. Логика предикатов 157
торами, Пусть А(х),В(х) — переменные предикаты, а С — переменное высказывание. Тогда имеют место следующие формулы:
1.	VjkA^x) = НхА(х) , читается: "высказывание "не верно, что для любого х А(х) истинно" эквивалентно высказыванию "найдется х, для которого А(х) ложно"".
2.	УхА(я).
3.	Vx4(x)= НхЛ(л).
4.	ЭлА(х)= \/хА(л).
5.	Ул'Л(х)л Ул7?(л) з Va(A(x)a В(х)), т. е. квантор всеобщности можно вносить и выносить за скобки в конъюнкции.
б.	Сл 7хВ(х)з \/л-(СлВ(л )).
7.	С У УлВ(л) з V,v(C v В(.х)).
8.	С—>\/хВ(х)з Vx(C-+B(x)).
9.	Ул(в(л) С)з VxB(a)-> С.
Для формул 6-9 справедливо утверждение: постоянное высказывание можно вносить под знак квантора всеобщности и выносить из-под знака этого квантора в конъюнкции, дизъюнкции и импликации.
10.	ЭхА(л)v	= 3a(a(x)v В(л))— квантор существования можно
вносить и выносить за скобки в дизъюнкции.
И. С лЗхВ(л)зЭх(С лВ(х)).
12.	С v ЭхВ(х) = 3x(C v в(х)).
13.	С -> ЗхВ(х) з Зх(С -> В(х)).
14.	Эх(в(х)^ c)s3xB(x)-+ С.
Для формул 11—14 справедливо утверждение: постоянное высказывание можно выносить и вносить под знак квантора существования и выносить из-под этого квантора в конъюнкции, дизъюнкции и импликации.
15.	ЭхА(х)лЭхВ(х)зЭхЭ7(а(х)лВ(у)).
16.	V.M(.r)v VxB(x)s VxVv(a(*)v В(у)).
158
Часть I. Математическая логика
Все приведенные равносильности могут быть доказаны. Первые две формулы называются правилами переноса кванторов через отрицание. Докажем, например, первую из них.
Пусть х1,х2,...,хп — множество (может и пустое) всех свободных переменных формулы А, отличных от х. Пусть М ={Л/,/}—• произвольная интерпретация. Рассмотрим произвольный набор значений свободных переменных ара2,...,ая 6 М и исследуем, какие логические значения при этом наборе примут формулы VxA(x) и Эх А(х) . Здесь возможны два случая:
1. Для любого элемента a G М А(х1 =1.
2. Для некоторого элемента а0 G М А(х)|я я л а = 0.
В первом случае для любого элемента ае М А(х1 = 0. Отсюда по 1л,Д1,Л'>..............................................<1„
определению ЭхА(х1 = 0. Но с другой стороны, VxA(xl = 1, ..........................а„	1о1-я2.ап
т. к. VaG М А(х1 =1, отсюда VxA(x> =0, т. е.
4	.4 'Ц.д,....»,,
VxA(x)s НхА(х).
Во втором случае для а0 G М А(х1 = 1, отсюда ЭхА(х1 = 1.
С другой стороны, в этом случае VxA(x^n д = 0. Следовательно, VxA(x1 = 1. Таким образом, исходная равносильность полностью до-ЬрЛх........
казана.
Обратим внимание на формулы 5, 10, 15 и 16. Видно, что, например. НхА(х)лЭх5(х)^ Нх(а(х)л #(х)). Для квантора всеобщности такая формула имеется. Здесь же ЭхА(х)аЭхВ(х) = ЭхА(х)лЭу5(у) = ^Эх(а(х)лЗуВ(у)) = ЭхЭу(а(х)лВ(у)) — формула 13. Аналогично, Vx4(x)v VxB(x)* \/х(А(л)у В(х)). Так же получим VxA (х ) v XfxB (х ) s = VxA(x)v VyB(y) = Vx(a(x)v VyB(y))s VxHy(A(x)v в(у)).
В заключение упомянем правило переименования связанных переменных. Очевидно, заменяя связанную переменную формулы А другой переменной, не входящей в эту формулу, в кванторе и всюду в области действия квантора получаем формулу, равносильную А.
Глава 3. Логика предикатов 159
3.6. Предваренная нормальная форма. Общезначимость и выполнимость формул логики предикатов
формула логики предикатов имеет нормальную форму, если она содержит только операции конъюнкции, дизъюнкции и кванторные операции, а операция отрицания отнесена к элементарным формулам.
Используя равносильности алгебры высказываний и логики предикатов, каждую формулу логики предикатов можно привести к нормальной форме.
Теорема 3.1. Для любой формулы существует равносильная ей нормальная форма, причем множества свободных и связанных переменных этих формул совпадают.
Среди нормальных форм особое значение имеют предваренные (или пре-иексные) нормальные формы. Предваренной нормальной формой формулы логики предикатов называется такая нормальная форма, в которой либо полностью отсутствуют кванторные операции, либо они используются после всех операций алгебры логики. Эта форма имеет вид (о X] )(а л2 )...(о хи )a(xj ,х2,...,х,н ), n<m, где под символом ох- понимается один из кванторов Vx;. или Эх., а формула А кванторов не содержит.
Если все о- равны V, то эта форма называется V-формулой (или универсальной формулой)-, если же все о, равны В, то такая форма называется 3 -формулой. Если существует i (0 < i < п), такое, что О|,с2,...,с- суть В, а о/+| суть V, то такая форма называется скулемовской* нормальной формой (или 3V-формулой).
Теорема 3.2. Всякая формула логики предикатов может быть приведена к равносильной ей предваренной нормальной форме.
Обратим внимание только на некоторые особенности доказательства, имеющие практическое значение. Если формула имеет вид А, то с помощью равносильностей VxA(x) = ЗхА(х) и ЗхА(х) = VxA(x) отрицание вводится под знак кванторов. Если формула имеет вид A, v или А( л А2, тогда последовательность действий может быть такова. Сначала переименовываются
Альбер г Торальф Скулем (1887-1963) — норвежский математик.
160
Часть I. Математическая логика
в А, связанные предметные переменные так, чтобы в А, и А2 все связанные переменные были различны. Получаем
4	р^п.
Далее воспользуемся равносильностями Сл \/хВ(х) = Ух(Сл В(х)), С v VxB(x) = Vx(C v в(х)), С л ЗхВ(х) = Эх(С л В(х))
и С v Ял7?(л') = Эх(С v В(х)). Перепишем, например, формулу Aj v Aj следующим образом:
Д V А2 = (а X, Ха х2 }..(а х,„ Wx, ,х2,...,х„ )v (а у. Ха у2)...
•••(а УрХб'гУг>•••>?„)]= (° *i Х° xi)-(p х,„ Х° -Vi Х° УР)'
- [<Х1 (*1.*2 х« )v а2 Gн У2. Уп )]> т. Р «•
Формула А логики предикатов называется выполнимой в области М (в данной интерпретации), если существуют значения переменных, входящих в эту формулу из области М , при которых формула А принимает истинные значения. Формула А называется выполнимой, если существует область, на которой эта формула выполнима.
Формула А называется тождественно истинной в области М, если она принимает истинные значения для всех значений переменных из М , входящих в эту формулу.
Формула А называется общезначимой, если она тождественно истинна на всякой области. Общезначимую формулу называют логическим законом.
Формула А общезначима тогда и только тогда, когда формула А не является выполнимой, и формула А выполнима тогда и только тогда, когда формула А не является общезначимой. Очевидно, что если F и G — равносильные в логике предикатов формулы, то F «-> 6 —общезначимая формула.
Теорема 3.3. Формула VaA(x)—> А(у), где переменная у не входит в формулу А(х), общезначима.
Доказательство.
Пусть хрх,....х — все свободные переменные формулы А(х), тогда
у,х1,х2,...,хп — перечень свободных переменных формулы VxA(.x)—> А(у). Рассмотрим произвольную интерпретацию с множеством М. Пусть
Глава 3. Логика предикатов
161
b,al,a2f...,an, be М, at G М, i - 1,п— произвольный набор значений свободных переменных доказываемой формулы. Покажем, что \fxA(x)^A(y\ii ii2 =1.
Для формулы а(х) либо существует a0 G М такой, что А(,х1	=0.
либо для любого a G М (в том числе и для a = b) А(х)|д n a = 1. В первом случае если А(х]	=0, то VaA(xi =0 и тогда
J	Л|.я,.ач	' /1Д|,гь... ,л;,
/ \	[0 “> 1 = 1,
\/хА(л)—> A(yj|&([ a = 1, т. к. для импликации j	Во втором
случае У^Н,Л..Л, =1’	а = 1, тогда VaA(x)~> A(v)= 1.
т. к. 1	1 = 1.
Теорема 3.4. Формула А(у)—> ЭлА(х), где переменная у не входит в формулу А(х), общезначима.
Докажем эту теорему, опираясь на предыдущую. Имеем Х/хА(х) —» А(у) = 1.
Тогда VxA(x) —> Л (у) = VxA(x)v Л (у) =
= ЗхА(х) v Л (у) = ЗхЛ(д) v Л (у) s Л(у)у ЭдЛ(х) = Л(у) -> ВхЛ(д) = 1. Следовательно, формула А(у)—> ЗхА(х) общезначима.
Теорема 3.5. Пусть А — тождественно истинная формула алгебры высказываний, х),х2,...,х/1 — список ее переменных. Подставив вместо каждой переменной xt формулу логнкн предикатов Bt так, чтобы при этом не нарушались пункты определения формулы логнкн предикатов, получим общезначимую формулу логики предикатов.
Доказательство равносильностей формул логики предикатов требует либо детального рассмотрения значений формул, либо использования известных равносильностей.
	Пример 1. Доказать VxA(x) ЗхА(х). Этот пример легко решается. Воспользуемся первой формулой из списка равносильных формул логики предикатов VxA(x) = ЭхА(х). Если от нее взять отрицание, получим искомый результат VxA(x”) = VxA(x)= ЗхА(х).
162
Часть I. Математическая логика
	Пример 2. Пусть Д(х) и В(х) два одноместных предиката, определенных на множестве М и таких, что высказывание Нх(а(х)-> (a(x)v (fl(л)-> А(х))))= 1. Доказать, что высказывание \/хА(л)^ 0.
Упростим исходное высказывание.
Эх^ А(х) —>	v ^в(х) —> л(х)^ = Нх(л(х)—> (a(x)v (b(x)v A(x))))s
= Эх
^)у(в0л^х)))
А(х) по закону поглощения
= Э.х(а(х)—> А(х))= 3x(/1(x)v а(х))=
= ЭхА(х) = VxA(x) = 1. Тогда VxA(x) = VxA(.v) s 0.
	Пример 3. Привести к предваренной нормальной форме следующие формулы логики предикатов:
1. В s р —> Зх7?(,х).
р—>3x7?(x) = pv3xR(x)= р лЗхЯ(х)= рл Vx7?(x)s \fx(pл7?(х)).
2. В = УхЗу(Л(х) О А(у))=3х3у(л(х)	А(у)) s ЗлУу(Л(х) О Л(у)) s
=	Л(у))л(А(т)-> А(х))= 3xVy^A(x)-> A(y))v
v	3xV}^(a(x)v A(y))v (a(p)v A(x)J) = 3xVv(XA')A
лА(у)уА(у)лА0)
Для определения общезначимости формулы логики предикатов иногда бывает достаточно равносильных преобразований. Чаще всего этого недостаточно. Поэтому связь между общезначимостью и выполнимостью устанавливают теоремами.
Теорема 3.6. Для того чтобы формула А была общезначима, необходимо и достаточно, чтобы ее отрнцаине было не выполнимо. (Невыполнимость означает, что формула тождественно ложна на всякой области.)
Доказательство.
1.	Необходимость. Пусть формула А общезначима. Тогда А — тождественно ложная формула на всякой области и, следовательно, не выполнима.
Глава 3. Логика предикатов
163
2.	Достаточность. Пусть А не выполнима на всякой области М. Тогда она там тождественно ложна по определению невыполнимой формулы. Следовательно, А — тождественно истинная формула в любой области Л/, т. е. она общезначима.
Теорема 3.7. Для того чтобы формула А была выполнимой, необходимо и достаточно, чтобы формула А была необщезначнмой.
Доказательство этой теоремы очень просто и аналогично доказательству теоремы 3.6. Поясним смысл последней теоремы. Выполнимость формулы А означает, что для этой формулы существуют две области М и М', причем в одной из них, например, М, она истинна, а в другой М' —ложна.
Задача распознавания общезначимости формул логики предикатов существенно сложнее, чем формул алгебры высказываний. Она также называется проблемой разрешимости, но решается гораздо труднее. Метод перебора всех вариантов в общем случае здесь не применим, т. к. вариантов может быть бесконечно много. В 1936 г. американский математик А. Черч доказал, что в общем виде проблема разрешимости логики предикатов не имеет алгоритмического решения.
Теорема 3.8 (теорема Черча*). Не существует алгоритма, который для любой формулы логики предикатов устанавливает, общезначима она
илн нет.
Задача распознавания общезначимости может быть решена в некоторых частных случаях.
Случай конечных областей
Например, если в формулах логики предикатов рассматривать только одноместные предикатные символы, то такой алгоритм существует. Логика, в которой употребляются только одноместные предикаты, соответствует логике, описанной еще Аристотелем. Здесь кванторные операции можно заменить операциями конъюнкции и дизъюнкции и тем самым свести формулу логики предикатов к формуле алгебры логики, для которой проблема разрешимости может быть решена. Алгоритм проверки общезначимости формул, содержащих только одноместные предикатные символы, основан на следующей теореме.
Теорема 3.9. Пусть А — формула, содержащая ровно п одноместных предикатных символов. Для того чтобы формула А была выполнимой, необходимо н достаточно, чтобы она была выполнима во всех иптерпре-тацних {м.Л с множеством М , содержащим не более 2" элементов.
Алонзо Черч (1903-1995) — американский математик и логик.
164
Часть I. Математическая логика
 Пример 4. Является ли приведенная формула общезначимой?
Зх(/} (х) л Р2 (х)) —> (Зх/{ (х) л ВхР2 (х)) = 3x(/J (х) л Р2 (х)) v (Зх/{ (х) л
л ЗхР2(х)) = Vx(/’(x)v P2(x))v ЭхЗу(/’(х)л Р, (у)) = 3y(vx(/’(x)v P2(x))v v Эх(^(х)л Р2(у))) = 3v(vz(/^) v Зх(/](х)л Р2(у)))-
= 3vVz3x((/J (х) л Р2 (у)) v v ^)))
Исходная формула приведена к предваренной нормальной форме. Получено высказывание, т. к. все переменные связаны кванторами. Проанализируем его на истинность. Пусть Р^х) = Р2(х) = 1 (для Vx е М или Нс 6 М}. Тогда (p1(x)AP2(y)v^)v^))=((lAl)v(ovo))=(lvo)Sl, Пусть, наоборот, P,(x)s Р2(х)=0 (для Vxe М или Зхе М). Тогда (Ол О) v (1 v 1) = 0 v 1 з 1.	Наконец,	7](x)s 0, P2(x)s 1
(для Vxe М или Зхе м). Тогда (1 л 0) v (о v 1) s0 v 1 = 1. Итак, искомая формула общезначима.
Проблема разрешимости для формул, содержащих в предваренной нормальной форме кванторы одного типа
Если формула логики предикатов А содержит свободные переменные х,,х2,...,хя, то формула В = Vx1Vx2...VxwA(xl,x2,...xn) называется замыканием общности формулы А, формула С = 3xi3x2...3x/iA(x1,x2,...xh) называется замыканием существования формулы А.
Проблема общезначимости формул логики предикатов с предваренной нормальной формой с кванторами одного типа решается с помощью следующих теорем.
Теорема 3.10. Если замкнутая формула логики предикатов в предварен* ной нормальной форме содержит только кванторы существования, число которых равно п, и тождественно истинна в любой области, состоящей из одного элемента, то она общезначима.
Доказательство.
Теорема доказывается методом от противного. Пусть формула А в предваренной нормальной форме имеет вид 3-формулы, т. е. А ~ 3х13х2..3хпв(д] ,q2,—, Р', Pi.где В— бескванторная
рлава 3. Логика предикатов
165
формула, <7. — логические переменные, Ptl — одноместные предикаты, Q? —двухместные предикаты и т. д.
По условию теоремы на любой области М = {«}, содержащей один элемент, А = 1, но тогда будет тождественно истинной и формула
, q2,..., Р/ (a), Pi (a),..., Q,2 (a,a),	(я, а),...). Эта формула является фор-
мулой алгебры логики.
Предположим, что формула А не является общезначимой. Это значит, что существует такая область М} и такой набор значений переменных 0|.‘72>--./’|'(*,).	\-.,Qi(x,,xI\Qt(x,,xl),..., Х^Х^М,, на котором
формула А принимает значение 0, т. е.
Зх.Зх, . „Нт, B(qf ,qa2,...,P; (х,. \ Р} (х,.2,2 (х,., хД & (х„ х Д= 0 .
Тогда Зх1Зх2„.З.г„/?(<?^9^„.,Р11(х,),рДхД„„еДх,,хДеДх/,хД„>
= Vx, Vx,...Vx„	(х, >2‘ (хД...,212(х1,хДе22(х,,хД„> 1.
Следовательно, формула
Л,1 (х, ), Д' (х,Q* (х,, ху \ й2 (х,, х,)...) тождественно истинна независимо от выбора предметных переменных из области М}. Выберем одно значение х0 G и поставим его в последнюю формулу вместо всех предметных переменных.
1 огда ,q2,...,Px (^о)»^2 (хо)’—»^2i	(-^О’-^о)’•)= 1»
т. е. B(q°,q*.... ,Д(х0), Д‘(х„2,2(х0, X,),222(х0, х„),...)= О, что противоречит тождественной истинности формулы
Таким образом, предположение, что формула А не является общезначимой, неверно. А — общезначимая формула.
Теорема 3.11. Если замкнутая формула логики предикатов в предваренной нормальной форме содержит только кванторы общности, число которых равно и, н тождественно истинна на всяком множестве, содержащем не более чем п элементов, то она общезначима.
V
166
Часть I. Математическаялогика
Теорема доказывается способом, аналогичным способу, примененному для теоремы 3.10.
	Пример 5. Доказать тождественную ложность формулы 3x3y((F(x)-> F(?))a (f(x)^ f(?))a F(x))= ЗхЗу ((f(x) v F(?))a a (f(x)vF(?))a F(x))s3x3y((F(x)V f(7))a (f(x)a F(x)v F(y )a a f(x))> 3x3y((r(x)v F(?))a F(y) a F(x))s ЗхЗу((р(х)л 7(у)л a F(x))v (F(y)A ?(у)л F(x)))s 3x3y(0 v0> 0.
	Пример 6. Привести к предваренной нормальной форме следующую формулу логики предикатов:
В = VxA’(x)v Зх<2(х, у)= Зх7?(х)v 3xQ(x, у) = 3x(r(x)v Q(x, у)) Требуемая форма получена. В данном случае формула содержит только один квантор существования, следовательно, ее всеобщность зависит от вида предикатов 7?(л) и (Хл, у). Если Нл’е М, что В = 1, то она общезначима.
3.7.	Практическое занятие №8. Выполнимость формул логики предикатов
3.7.1.	На множестве М определены одноместные предикаты F(x) и G(x). Каким условиям удовлетворяют области их истинности, если истинны: a) Vx(F(x)->G(x))a3x(f(x)aG(x));
б)	3x(f(x)aG(x))a3x(f(x)—> G(x)).
3.7.2.	Выполнимы ли следующие формулы:
а)	Зл'Р(х);
б)	ЗхУу(р(х,х)л<2(х,у));
в)	3xVy(e(x,y)->VzK(x,y,z)).
3.7.3.	Являются ли тождественно истинными следующие формулы:
а)	VxP(x);
б)	Vx/’(x)—> ЗхР(х);
Глава 3. Логика предикатов
167
в)	ЗхР(х) v Зх<2(х) <-> З.т(р(х) v <2(х));
г)	axVy<X*,yj-»vyaxe(x,y);
д)	Р(х)-> VyP(y);
е)	ах(р(л)л(г^<2(х)))-»(vx(p(x)->ё£))~»7).
3.7.4.	Доказать тождественную истинность следующих формул:
а)	ЗлР(л-)—> УхР(х);
б)	ёЯИ (ЭлР(х)л VxG(x));
в)	Чх(р(х)^> <2(*))-> (ухР(х)л Зх<2(х)).
3.7.5.	Доказать, что если С не содержит свободных вхождений х, то:
a)	3xf(x)= VxP(x);
б)	\/хР(х)л С = Ух(р(х)л С).
3.7.6.	Привести к предваренной нормальной форме следующие формулы логики предикатов, считая Р и Q бескванторными формулами:
а)	ЭхУуЗгУиР(х, у, z, и );
б)	ЗхУуР(х,у)лЗхУу<2(х,у);
в)	3xVyP(x,y)vHxVy2(x,y);
г)	3xVyP(x,y)—>3xVy<2(x,y);
д)	Vx3y(/J(x)<^Q(y));
е)	Ух(р(х)—> Зу<2(у)).
3.7.7.	Привести к скулемовской нормальной форме:
а)	УхЗу<2(х, у)—> ЗхУу<2(х, у);
б)	3x(p(x)->(Vy<2(x,y)-> Vz«(x,z))).
3.7.8.	Доказать общезначимость следующих формул:
а)	Ух(р(х)—> <2(х)) —У (Vxf(x)-> Vx<2(x));
б)	Vx(P(x)-> 2(х))-> (ЗхР(х)-> Зх<2(х));
в)	Vxfe -у Р(х))«-У (д -У VxP(x)).
168
Часть I. Математическая логика
3.7.9.	Доказать тождественную ложность формулы
3.7.10.	Пусть o = {P1,P2,...,P/J}, где Р1,Р2,...,Р11 —одноместные предикатные символы. Доказать, что для любой формулы А сигнатуры о существует формула В, эквивалентная А, построенная с помощью a, v и из Н -составляющих, т. е. формул вида Эх(В( а В2 а ... а Вх ), где s > 1 и В, (1 < i < п) имеют вид Р(х) или Р(х) для некоторого Р из о.
3.8.	Применение языка логики предикатов для записи математических предложений
При переводе словесных выражений в логическую символику надо иметь четкое представление об интерпретации этой символики. Поэтому необходимо четко очертить множество М , содержащее все высказывания, к которым применяются логические методы и приемы. Затем надо выбрать перечень предикатов, которые будут служить основными независимыми предикатами, участвующими в формулировках. Каждый из этих предикатов становится высказыванием, когда все его переменные будут элементами из множества М , называемого предметной областью.
Полностью решить логические проблемы, возникающие в "словесных" языках, можно было бы только переведя все фразы в символику используемого исчисления, а затем пользоваться только формальным аппаратом этого исчисления.
Кванторы сочетаются друг с другом и логическими связками многими способами, поэтому переводы выражений, содержащих кванторы, обычно неоднозначны. Однако в некоторых областях знания, в частности математике, этот перевод наиболее естественен. Сам язык логики предикатов очень удобен для записи математических предложений. Он дает возможность выражать логические связи между понятиями, записывать определения, теоремы, доказательства. Выбор перечня необходимых предикатов, описывающих заданные свойства или условия, также сравнительно прост. Рассмотрим несколько примеров.
Запись математических определений
□	Определение бесконечно малой функции. Функция а(х) называется бесконечно малой при ха, если lima(x)=0. Это классическое определе
Глава 3. Логика предикатов
169
ние, представляющее, по сути дела, определение предела функции, равного нулю. Перепишем это определение на языке е — 8:
lima(x)= 0 <=> Ve > 0Н8(е)> 0 Vxe Ma(v)P(x,£,3),
где Р(х,е,8)=(о < |лг — а\ < 8 —> |а(х)| < е) — трехместный предикат, определяющий условия предельного перехода.
□	Определение экстремума функции (минимума в точке лг0, рис. 3.8).
Зх0 е М е М Vx2 е М Р(х0,х{,х2),
где
P(x0,-*i »-*г) = ((xi < хо)~>(/(JCi)> ЛАо)))л ((х2 > ло)—>(/(хг)>/(-^о))) Здесь использован трехместный предикат Р(х0,х1,х2).
□	Определение выпуклости (вогнутости) функции f(x} (рис. 3.9).
Если во всех точках интервала (a,b) вторая производная fl,(x) <0, то /(л) на (a,b) выпукла. Это можно выразить совсем просто с помощью следующего выражения: VxG /’//(х)л///(х)< о). Использован одноместный предикат Р(х).
□	Определение четной функции.
Функция f(x} называется четной, если область ее определения симметрична относительно начала координат и для каждого х из области определения выполняется равенство /(х) = /(-л). Тогда Vxe Л/((-хе Л/)л(/(х) = /(-%))).
170
Часть I. Математическая логика
Формулировка математических теорем
Теоремы математики допускают формулировки в виде условных предложений. Говоря о строении многих теорем, можно выделить в них три части: условие теоремы— предикат Р(х), заданный на множестве 7?2; заключение теоремы— предикат Qix), заданный на множестве 7?2; разъяснительная часть, описывающая множество объектов, о которых идет речь в теореме.
Например, строение теоремы может быть таким: "Если любой элемент х из множества М обладает свойством Р(х), то он обладает свойством Qix)". Таким образом, теорема формулируется так: Vxe м(р(х
Вспомним, например, теорему о конечных приращениях (теорему Лагранжа). Если fix) непрерывна на [<?,£?] и дифференцируема на то найдется на (д,2>) такая точка с, что
Пусть предикат р(а,Ь,х) выражает свойство функции у = fix) быть непрерывной на [a,b] и дифференцируемой на (д, b), a Q(a,b,c) =
Тогда сама теорема Лагранжа может быть сформулирована так: BcG (a,b\p(p,b,x
В свою очередь, предикат р(а,Ь,х) может быть расшифрован более подробно:
□ fix) непрерывна в точке х0, т. е. lim fix) = f(x0) или Vs>0H8>0Vxe е М(о <|л -х0|< 5 ^|/(х)-/(х0)| < е), где М —область определения fix)-,
О /(л)	непрерывна	на	[a,b]
или Vye[a,Z?](Ve>03S>0VxeAf(0<|x-y|<S-^|/(x)-/(y)|<e)),
Аналогично с помощью языка £ — 8 может быть выражено свойство дифференцированности на (a,b). Напомним, что если существует производная
f( 1	г	,( \
j\x) в точке х0,то lim-----------= j \х0/. Излишняя детализация ус-
ловий часто не нужна, т. е. можно ограничиться формулой Зсе (a,b\P^Q).
Слава 3. Логика предикатов
171
форма теоремы может быть иной. Рассмотрим следующую теорему из линейной алгебры.
Любые четыре вектора в R линейно зависимы. Эта теорема может быть сформулирована в виде Vxe R Р(х), где Р(х) —доказываемое свойство (предикат, выражающий это свойство). Действительно, пусть a,b, с и d — векторы из R5, а а,р,у и 5 — ненулевые действительные числа. Тогда
Vae R3Vbe R3\/ce R3Vde R3Bae K\{o}3|3e R\{o}3yg Я\{о}35б R\ \ {Ь}(аа + р/> + ус + &d = о).
Построение противоположных утверждений и доказательство методом от противного
Это задача, легко сводящаяся к формальным преобразованиям. Если есть утверждение А, то построить А можно с помощью равносильных преобразований. Иногда это, правда, приводит к тому, что А дает негативное (неконструктивное) определение. Чаще и здесь получаются положительные (конструктивные) определения.
Например, возьмем определение бесконечно малой и найдем его отрицание Ve > 035(e)> 0 Vxe М (о < |х- й| < 5 —>|а(х)| < е) = Эе > 0 V5(e)> 0Эхе М |р<|х-л| <5 v|а(х < е)= Эе > 0 V5(e)> 0Эхе М(о <|х-<5 а|а(х}> е). Это негативное определение. Оно подойдет для формирования контрпримера для того, чтобы доказать, что а(х) — не бесконечно малая величина в точке a . Позитивное определение бесконечно большой такое: lima(x)==», т. е. Ve > 0 35 > 0 Vx е м(о < |х - а| < 5 |а(х) > е).
Особый интерес представляет построение утверждения, отрицающего справедливость некоторой теоремы: Vxe м[р{х) —> <2(х)).
Vxe М(р(х)-^ Q(x))s SxG м(р(х)аЩх)). Следовательно, чтобы доказать, что теорема Vx е м(р(х) —> <2(х)) неверна, достаточно указать такой элемент хе М, для которого Р(х) истинно, a Q(x) ложно, т. е. привести контрпример. Продемонстрируем это на следующем примере. Рассмотрим утверждение "если функция непрерывна в точке х0, то она и дифференци
172
Часть I. Математическая логика
руема в этой точке". Конечно, это не так. Из курса математического анализа известно, что дифференцируемость более строгое требование. Из дифференцируемости следует непрерывность, из непрерывности дифференцируемость не следует. Сформулируем основное утверждение.
Пусть М — множество всех функций, определенных в точке х0, p(f) — предикат, выражающий свойство функции быть непрерывной, a Q(f) — свойство быть дифференцируемой в точке xQ. Тогда основная теорема имеет стандартный вид V/ С М (p(f) —>
Противоположное утверждение имеет вид 3 f G м(р(/)л Q(f)), т. е. найдется функция, определенная в точке х0, которая непрерывна, но не имеет производной в Л'о.
Таких функций множество, это все функции, содержащие точку излома или точку возврата. Простейшая из них у = |х| (рис. 3.10). В точке х = 0 она непрерывна, но не дифференцируема. Следовательно, основная теорема неверна. Аналогично обстоит дело и с формой \/хР(х). Рассмотрим уже разобранный пример из линейной алгебры и найдем к нему противоположное высказывание.
Vae R3Vbe R3\/ce R3\/de R33ae R\{о}зре R\{o}3ye R\{o}38e R\
\ {о](аа + pi + ус + 8</= о) = За е R33i е R33c е R33d е R3Va е R \ {o]vp е е R\{0]Vye R\{0]V8g R \ {о](аа + pi + ус + 8rf = о)=3ае R33ie R33ce е R33Je R3 Vae R\{o}vpe R\{o}Vye R\{o}V8e R\{0} (aa + pi + ус + 8rf o).
Глава 3. Логика предикатов
173
Схема доказательства от противного очень похожа на только что рассмотренный случай и такова: предполагается, что теорема Vxe м(р(х)-ь (?(х)) неверна, т. е. истинно противоположное утверждение \/хЕ М(Р(х) —»<2 (х )) s = ELy(E Л/(р(х)л £?(х)) Если из последней формулы путем логических рас-суждений приходят к неверному утверждению, то делается вывод о том, что исходная теорема верна. По этой схеме противоположное высказывание надо свести к ложному, т. е. доказать истинность формулы Vxe м(р( ф —> Q(x)) —> с ас , где с — некоторое высказывание. Деист-вительно, Vxe M(p(x)—>Q(x)) —>слс = Ухе M(p(x')—>Q(x)) v(с лф s Vxe М(Р(х) —> Q(x)).
Формулировка обратных и противоположных теорем
Рассмотрим четыре схемы теорем:
1.	Vxe м(р(л)-><2(х));
2.	Ухем(<2(х)->/’(л));
3.	Vxe
4.	Ухе Л/(<2(х)->ф7)).
Две теоремы, у которых условие одной является заключением другой, а условия второй заключением первой, называются взаимно обратными, т. е. Ух е М(р(х) —> Q(x)) и Ух е m{q(x)—> р(х)) взаимно обратны и Xfx е М (р(х) Q(x)) и Vxe m(q(x) -э- Р(х)) также взаимно обратны. Первая теорема обычно называется прямой теоремой, а вторая — обратной.
Две теоремы, у которых условие и заключение одной являются отрицанием условия и заключения другой, называются взаимно противоположными.
В нашей схеме Vx G м(р(х) -> Q(х)) и Vx g м(р(х) Q(xj) — взаимно противоположны и VxG М(о(х)^ р(х)) и Vx G m[q(x) —> Р(х)) также взаимно противоположны. Прямая и обратная теоремы в общем случае не равносильны, т. е. одна из них может быть истинной, а другая ложной. Но теоремы 1 и 4 и 2 и 3 всегда равносильны, и это легко доказывается: Ух е м(р(х) Q(x))s Ух е м(р(х) v Q(x))= Ухе М syxe vXxj)= Vxe m(q(x) v p{7))= Ух e m(q(x) -^P(xj).
174
Часть I. Математическая логика
Аналогично Vx G m(q(x) —> р(х))= Ух е М(р(х) —> £>(х)).
 Пример 1. Возьмем простую теорему из теории дифференциальных уравнений. Пусть у + а1у/ + а2у = 0 — линейное однородное дифференциальное уравнение с постоянными коэффициентами, а уДх) и у2(х) — два частных решения этого уравнения из множества М всех частных решений. /’(урУг) — предикат, выражающий тот факт, что у((х) и у2(х) являются частными решениями уравнения у11 + аху‘ + а2у = 0, a <2(S)= у/х)+ у2(х) — также частное решение этого уравнения.
Если У[(х) и у2(х) — два любых частных решения уравнения у" + а}у' + а2у = 0, то yi(x) + y2(x) есть также решение этого уравнения.
Итак, основная теорема У^УУг е М(Р(у|, у2 )—> £>(s)) верна. Тогда обратная теорема Уу(Уу2 е	—> Р(у(, у2}} неверна. Действи-
тельно, она звучит следующим образом: ’’если У](х) + у2(х) решение уравнения у" + аху' + а2у - 0, то у/х) и у2(х) тоже решения этого уравнения". Противоположная теорема Уу,Уу2 G М (р(уи у2) —> QfZ)) также неверна, ибо утверждает, иго "если у,(х) и у2(х) не являются частными решениями уравнения у" + аху' + а2у = 0, то У](х) + у2(х) также не частное решение этого уравнения". Наконец, теорема, противоположная обратной УУ1Уу2 ё	—>Р(у1,у2)), верна: "если
у । (х) + у2 (х) не является частным решением уравнения у11 +аху‘ + д2у = 0, то уДх) и у2(х) — также не частные решения данного дифференциального уравнения". Проверим все сделанные утверждения на простейшем примере.
у// + у/-2у = 0, к2 + £-2 = 0, кх =1, кг =-2, у, = ех, у2 = е~2х.
Истинность основной теоремы проверяется подстановкой
У! + у2 =ех + е~2х, У) +у2 = ех-2е~2х, у” + у2 = ех + 4е~2л, у" + у' - 2 у = ех + 4е"2х + ех - 2е~2х - 2ех - 2е~2х = 0.
Проверим истинность обратной теоремы. Пусть
+ Уг = Ji + У2
(ех+е~2х^ _е2х+2е~х+е~4х ех+е~2х ех+е~2х
е2х+2е-х е~4х
-------— +-----
Глава 3. Логика предикатов
175
е2х + 2е~х ~	е-4’1
тогда, например, j'f + У1 ~ ^У1 * ® > т- е- обратная теорема неверна. Точно также проверяется истинность всех остальных ранее высказанных предложений.
Формулировка необходимых и достаточных условий
Некоторые теоремы математики, в частности теоремы существования, сформулированы в виде "... для того чтобы..., необходимо и достаточно, что...", или " ... тогда и только тогда, когда...". Эта конструкция приводит к эквива-ленции, т. е. имеет вид V* G М(р(х)	. Если вернуться к уже рассмотренной форме Vx (Е м(р(х	, то можно вспомнить, что в им-
пликации предикат Q(x) логически следует из предиката Р(х), поэтому Р(х) называют достаточным условием для Q(x), a Q(x) называют необ-
( А н ходнмым условием для Р(х) : Х/х еМ P(x)^Q(x)
Если теорема имеет форму VxG M(p(x)eQW) , то Vxe М(р(х)^ 2(х)> Vxe М((р(х)^ е(х))л (е(хН
= Vxg М(р(х)—>Q(x))aVxG	Р(х)\Таким образом, р(х) яв-
ляется необходимым и достаточным условием для ^(x), a Q(x) необходимо и достаточно для Р(х).
 Пример 2. В следующих предложениях поставить слова "необходимо, но недостаточно", "достаточно, но не необходимо", "не необходимо и недостаточно" или "необходимо и достаточно".
Для того чтобы х2 -5х + 6 = 0..., чтобы х = 3.
Пусть P(,v) = (х2-5х + 6 = о), <2(х) = (.v = 3) . Корни уравнения л'-5х + 6 = 0 равны А'|=2, х2 = 3. Рассмотрим V.v е {2,3^рСг) еГх)}  При л- = 2, Р(2)=1, £?(2) = 0, 1	0 = 0,
т. е. рСх) £>L). Следовательно, для Р(х) не является необходимым. Теперь рассмотрим противоположную импликацию
176
Часть I. Математическая логика
Vxe {2,3}^х)->	 Здесь при х = 2, ?(2)=1, б(2)= О, О —»1 = 1
и при х = 3, р(з)=1, е(з)=1, i->i = 1, вторая импликация верна. Значит, для Р(х) Q(x) является достаточным условием. Итак, первоначальное предложение должно быть сформулировано следующим образом: "Для того, чтобы х2 -5х + 6 = 0 достаточно, но не необходимо, чтобы х = 3".
 Пример 3. Для того чтобы функция /(х) была интегрируема на отрезке [a, b],..., чтобы /(х) была ограничена.
Пусть Р(х) — предикат, выражающий свойство функции /(х) быть интегрируемой на [a,b], а предикат 0(х) выражает свойство ограниченности этой функции на отрезке Из курса математического анализа известно, что если функция интегрируема по Риману на |а, b], то она и ограничена; если же функция ограничена, то из этого не следует ее интегрируемость по Риману. Как пример можно привести , х [ 1, х — рациональное,
функцию Дирихле d(x)=\	Таким образом,
[О, б — иррациональное.
VxG [o,&]^pfx)-4- и Vx[a,h]^(2fx)^ Р(х)^, т. е. для Их) Q(x) является необходимым, но не достаточным условием. Итак, для того чтобы функция /(х) была интегрируема на отрезке [a,b], необходимо, но не достаточно, чтобы /(х) была ограничена.
3.9. Практическое занятие №9. Применение языка логики предикатов в математике
3.9.1.	Записать на языке логики предикатов следующие определения:
1.	Двух равных вещественных чисел (Два вещественных числа х и у называются равными х = у , если не выполнено ни одно из соотношений х > у или у > х).
2.	Ограниченного сверху (снизу) числового множества А (Множество Ac R называется ограниченным сверху (снизу), если существует
Гпава 3. Логика предикатов
177
такое вещественное число хт, что для всех чисел аЕ А выполнено условие а<х1П (а>ли)).
3.	Линейно независимых векторов х},х2,...,хк (Векторы xpx2,...,xt называются линейно зависимыми, если существуют такие вещественные числа	не все равные нулю, что
сцх, +а2*2 + --- + otj(.xi. =0- противном случае векторы х[,х2,...,хк называются линейно независимыми).
4.	Определение двух перпендикулярных векторов из R (Два вектора а и b из R3 перпендикулярны, если их скалярное произведение равно нулю).
5.	Предела числовой последовательности {хи}. (Последовательность {х„} называется сходящейся к числу х, если существует такое число х, что для любого е > 0 найдется такой номер N = 7У(е), что при всех n > N имеет место неравенство |х0-х|<£. х называется пределом последовательности {хя}.)
6.	Строго монотонной последовательности. (Последовательность {хм} называется возрастающей (убывающей), если при и = 1,2,... хя+! > xn (xil+i <ха). Возрастающие и убывающие последовательности называются строго монотонными.)
7.	Фундаментальной последовательности {х,}. (Последовательность {хи} называется фундаментальной, если для любого е > 0 найдется такой номер N = 7У(е), что при всех n,l > 7У(е) выполняется неравенство |х?1 - х,| < £.)
8.	Периодической функции. (Функция /(х) называется периодической, если существует такое число Т ?0. что при любом х из области определения функции числа х-Т и х + Т также принадлежат этой области и выполняется условие f(x ± т’)=/(4)
9.	Монотонно возрастающей функции. (Функция /(х) называется монотонно возрастающей, если из неравенства х{ < х2, х},хгЕ М следует, что /СО </(*2))
178
Часть I. Математическая логика
10.	Предела функции f(x) при х—>+<». (Число А называется пределом функции f(x) при х —>+°°, если для любого £>0 найдется N(s)> 0, что при всех хе М , удовлетворяющих условию х > N, выполняется неравенство |/(х)- А| < е.)
3.9.2.	Сформулировать на языке логики предикатов следующие теоремы из математического анализа:
1.	Признак Лейбница. (Пусть хп>х(1+|>0 и Пт х(1 = 0. Тогда знакочередующийся ряд ^(_1)Я+'Хи сходится.)
2.	Теорему Вейерштрасса* (Непрерывная на отрезке [a,Z>] функция f(x) ограничена на этом отрезке.).
3.	Теорему Ролля**. (Пусть функция f(x) непрерывна на отрезке [а,2>], дифференцируема на интервале (a,b) и /(л) = тогда найдется хотя бы одна точка сЕ (a,b) такая, что //(с)= 0.)
4.	Теорему о среднем для определенного интеграла. (Пусть функция /(х) непрерывна на отрезке [а,&]. Тогда существует такая точка
ь
се [a,b], ЧТО jf(x)dx = f(c\b-a).)
5.	Критерий Коши’** для последовательностей. (Для того чтобы последовательность {х„} была сходящейся, необходимо и достаточно, чтобы она была фундаментальной.)
3.9.3.	Доказать несправедливость утверждений:
1.	Если функция f(x) интегрируема на отрезке [a,b], то она монотонна на этом отрезке.
2.	Если дифференцируемая функция f(x) имеет в точке х0 вторую производную, равную нулю (///(х0)= о), то точка х0 — точка экстремума функции.
* Карл Вейсрштрасс (1815-1897) — немецкий математик.
** Мишель Ролль (1652-1715) — французский математик.
Августин Луи Коши (1789-1857) — французский математик.
Глава 3. Логика предикатов
179
3.	Если функция f(x) ограничена на отрезке [a,b], то она интегрируема (по Риману*) на этом отрезке.
4.	Если функция f(x) дифференцируема в точке х0, то она имеет в этой точке локальный экстремум.
5.	Если функция /(х) представима рядом Тейлора на отрезке то этот ряд сходится к fix') во всех точках этого отрезка.
6.	Если формула логики предикатов выполнима, то она общезначима.
3.9.4.	Используя приведенную основную теорему, сформулировать к ней обратную, противоположную и обратную к противоположной теореме, и проверить их истинность, приведя необходимые примеры.
1.	Если в четырехугольнике диагонали взаимно перпендикулярны, то этот четырехугольник — ромб.
2.	Пусть функция /(х) непрерывна на отрезке [a,b] и на концах этого отрезка принимает значения разных знаков. Тогда между точками a и b найдется по крайней мере одна точка сё(а,Ь), в которой функция обращается в нуль: f(c) = Q.
3.	Если функция f (х) дифференцируема в некоторой точке х0, то она в этой точке непрерывна.
4.	Если дифференцируемая функция /(х) имеет в точке х0 максимум или минимум, то ее производная обращается в нуль в этой точке.
5.	Если числовой ряд сходится, то его п -й член стремится к ну-/1=1
ЛЮ при п .
3.9.5.	Дополнить следующие предложения словами "необходимо и достаточно", "необходимо и недостаточно", "достаточно, но не необходимо" или "не необходимо и недостаточно", сформулировав необходимые и достаточные условия.
1.	Для того чтобы два треугольника были равны,..., чтобы все углы одного треугольника были равны соответствующим углам другого.
Бернгард Риман (1826-1866) — немецкий математик.
180
Часть I. Математическая логика
2.	Для того чтобы все стороны многоугольника были равны,..., чтобы этот многоугольник был правильным.
3.	Для того чтобы два вектора в R2 были линейно зависимы,..., чтобы они были коллинеарны.
4.	Для того чтобы функция у = CjJi + С2у2 + ... + Спуп, где С1,С2,...,Сп — произвольные постоянные, была общим решением дифференциального уравнения у^^ + а1у^"1^ + ... + аиун =0,..., чтобы функции У1,У2т--’Уп были линейно независимыми решениями этого уравнения.
5.	Для того чтобы функции F](x) и F2(x) были двумя первообразными от функции f(x) на отрезке [а,/?],..., чтобы разность между ними была равна постоянному числу.
Глава 4
Исчисление предикатов
4.1.	Синтаксис языка исчисления предикатов
Исчисление высказываний —• очень узкая логическая система. Есть такие типы логических рассуждений, которые не могут быть осуществлены в рамках исчисления высказываний, например, "простое число два— четное, следовательно, существуют простые четные числа". Корректность этого умозаключения основана на внутренней структуре самого предложения и на смысле слова "существует". Поэтому возникает потребность расширения исчисления путем введения в него дополнительных понятий и символов. Дополнительными понятиями являются предикаты, а символами — символы кванторов.
Для того чтобы формально описать язык исчисления предикатов как язык формальной теории, необходимо задать множество его символов и правила построения формул языка, т. е. синтаксис.
В алфавит исчисления предикатов входят:
□	строчные латинские буквы с индексами и без них а,Ь, у, г,../?,— предметные переменные;
□	прописные латинские буквы с индексами внизу и без них Л, Д...,4,	— переменные высказывания;
О прописные латинские буквы с индексами вверху Fp,GP,...,SP,ТР и эти же символы с индексами внизу Fp ,FP ,GP ,G2 ,...,SP ,S2 — переменные предикаты от p переменных;
О символы логических операций a,v,—->, ;
О скобки и запятые
О символы кванторов V, 3.
182
Часть I. Математическая логика
Так же как в исчислении высказываний, в исчислении предикатов определяется формула и подформула. Формулой считаются следующие последовательности символов алфавита:
□	каждое переменное высказывание;
□	Fp(al,a2,...,ap^ — формула, если Fp — символ переменного предиката, a	—-символы предметных переменных;
□	если А — формула, содержащая переменную х, то слова \fxA и ВхА также формулы, причем переменная х в VxA и Эх А называется связанной;
□	если А и В формулы, то А л В, Av В, А—> В, А тоже формулы.
Примеры формул:
1. 3xF* (х)—> VyG2(y, z). Это формула, т. к. G2(y,z)— предметный предикат, содержащий две свободные переменные, т. е. элементарная формула, VyG2^, z) — также формула, содержащая свободную переменную z и переменную у, связанную квантором всеобщности. В формулах F‘(x) и G2(y,z) нет переменных, связанных в одной формуле и свободных в другой.
2. 3xF1(x)a3j'G2(x, j) — не формула, т. к. в F1 (х) переменная х связана, a G2(x,y) свободна.
Подформулой элементарной формулы А является, во-первых, она сама. Если ЧхА или ЭхА—• формулы, то А — подформула, и всякая ее часть— подформула. Если А* В формула, где * =	>, }, то ее подформулами яв-
ляются А и В и все их подформулы.
Вводится понятие области действия квантора. Пусть формула имеет вид VxJ или ВхА. Тогда областью действия квантора Vx (соответственно Нх) называется формула А. При этом необходимо, чтобы выполнялись следующие условия:
1. В формуле свободные и связанные переменные обозначаются разными буквами.
2. Если какой-либо квантор находится в области действия другого квантора, то переменные, связанные этими кванторами, обозначаются ||азными буквами.
Гпава 4. Исчисление предикатов
183
Нарушение этих двух условий в исчислении предикатов называется коллизией переменных. Например, выражение Vx(f(x)—» HxG(x, у)) не является формулой, т. к. не удовлетворяет второму условию.
Теорема 4.1. Если в формуле А изменить обозначения как свободных, так и связанных переменных, меняя букву на другую всюду, где она входит, так, чтобы при этом удовлетворялись первое н второе условия, то полученное таким образом новое выражение будет формулой.
4.2.	Аксиомы
и основные правила вывода
Аксиомы входят в конечное число некоторых заданных формул, которые заранее считаются выводимыми. Аксиомы делятся на пять групп, причем первые четыре группы представляют собой не что иное, как аксиомы исчисления высказываний.
I.	1. А->(В-»А);
2.
П. 3. А л В —> А ;
4.	А Л В —> В ;
5.	(А -4 в)-> ((А -> С)-4 (А -> В л С));
Ш. 6. А^ Av В;
7.	В -> Av В;
8.	(A-4C)->((B->C)->(AvB->C));	(4.2.1)
9.	(Л-4В)->(в-4л);
Vi. ю. а-Ра-,
11. 1-4 А;
V. 12. ''J.x/ppv F(y);
13. F(^)-4 3xF(x).
Рассмотрим теперь несколько правил образования выводимых формул. Заметим, что секвенции в исчислении предикатов определяются так же, как в исчислении высказываний.
184
Часть I. Математическая логика
1. Правило заключения (простого заключения). Оно такое же, как в исчислении высказываний, только объем формул, к которым применяется это правило, шире.
|- А ;|- А-> В й '
2. Правило подстановки. В исчислении высказываний заменялись только переменные высказывания в выводимой формуле на любую формулу. В исчислении предикатов можно заменять переменные высказывания и переменные предикаты. Это требует учета некоторых дополнительных условий, чтобы в результате подстановки получилась формула исчисления предикатов.
а) Замена переменного высказывания. Пусть формула А[В) содержит переменное высказывание В. Тогда можно заменить В любой формулой G , удовлетворяющей следующим условиям:
•	свободные переменные в G обозначены буквами, отличными от связанных переменных в А, и связанные переменные в G — буквами, отличными от свободных переменных в А \
•	если В в А находится в области действия квантора, обозначенного какой-то буквой, то эта буква не входит в G . Тогда
J(4s)) |-4g).
в
 Пример 1. Пусть А(в)= WxWyfCv \fzH(z,x)л (с v F(x,;>))). Здесь С нельзя заменить, например, формулой \fxG(x) или 3xF(x), т. к. не будет соблюдаться второе условие коллизии переменных. Замена же высказывания С формулой VzV/(Ca	LaF(z,/)) возможна,
т. к. оба условия будут выполнены. В результате получим выражение, являющееся формулой
VxVy(VzVr(C л L л F(z,/))v XfzH(z, х)л
a Vz\/r(c л Я (z, /) V L Л F(z, 0) v (л'й )) •
б)	Замена переменного предиката. Пусть формула A(f) содержит переменный предикат F от п переменных и пусть имеется формула С(Г|,/25.содержащая п свободных переменных	. ^сли
свободные переменные в G обозначены буквами, отличными от свя
Глава 4. Исчисление предикатов
185
занных переменных в F, т. е. выполняется первое правило замены переменных и следующее правило: если F в А находится в области действия квантора, связывающего какую-либо букву, то эта буква не входит в G; тогда возможна подстановка формулы F в А вместо предиката F.
При подстановке нужно следить (указывать), какой из переменных в G соответствует каждое пустое место в F(...). Например, пусть А = Bx3t3z(f(x, y)v F(xt z)). Требуется заменить F формулой Vw3v(h(m,/|)v T/(v,Z2)). Здесь выполнено первое и третье условие, следовательно, подстановка возможна. Лучше отдельно выписать, чему равно F в каждом месте формулы А, и возвратить старые переменные. Тогда F(x, у)= Vidv(//(w,x)v Н(у,у)) и F(x,z) = \fu3v(H(u,x)v Н(у, z)), формула А будет иметь вид
А =	v(tt(и,a)v Н(у, у))v Vw3v(h(m,a)v н(у, z))).
Если же первое и третье условия не выполняются, то могут получиться выражения, не являющиеся формулами. Например, пусть /4 = FvVxF(a') и необходимо подставить U(x) вместо В. Получится выражение L/(x)v VxF(x), которое не является формулой, т. к. нарушено первое условие. Аналогично, пусть А = Vx(F —> F(x)) и надо подставить вместо В	Получим Va*(Va* £/(.*)—» F(x)). Это не
формула исчисления предикатов, ибо при подстановке нарушено третье условие.
Операция подстановки переменного предиката в общем случае выра-
жается следующим образом: J (/1). Это правило можно выразить т(..)
так. Если формула А содержит переменный предикат F, то подстановка применяется, если для формул G(t},t2i’-’An) и выполняются первое и третье условия и, кроме того, следующее: отмеченные переменные	не должны входить в формулу А. При этом спра-
ведливы следующие формулы:
а)
/СМх)) есть VxJ (а(х))
в	в
С(Г] 42 ••• 4П )	*-'01-Ь Л, )
J (VvA (х)) есть Vx	J (- ЦЛ ))
. т(-)	'()
186
Часть I. Математическая логика
J (ЗхА (х)) есть Зх j (д(х)) в	в
°) 1с(М2,..Л) чч G^-;tn) ' J (ВхЛ(х)) есть Эх j (а(х))
Л-)	Ft-.)
в)	Замена свободной предметной переменной. Пусть формула А является выводимой формулой в исчислении предикатов, а формула А получена из А заменой любой свободной предметной переменной другой свободной предметной переменной так, что заменяемая переменная заменяется одинаковым образом всюду, где она входит в А, тогда А' является выводимой формулой в исчислении предикатов. Например, Vx(f(x)^> б(у))л -> 3xG(x)). Заменим у на 2, получим Vx(f(x)^> G(z))a > Зхб(х)). Здесь нельзя заменить переменную у переменной х, т. к. свободная переменная должна заменяться только свободной переменной.
г)	Правило переименования связанных предметных переменных. Если |— А в исчислении предикатов, то А1, полученная заменой в А связанных переменных другими связанными переменными, отличными от всех свободных переменных формулы А, также выводима в исчислении предикатов. При этом заменяемая связанная переменная в формуле А должна заменяться одинаковым образом всюду в области действия квантора, связывающего данную переменную, и в самом кванторе. Например, если 3xF(x)--> VxG(x), то возможны следующие варианты переименования: 3yF(y)-> VzG(z) или 3xF(x)—> VzG(z) ИЛИ 3yF(y) —> VxG(x).
Приведем теперь два правила связывания квантором:
1. Если G А(х) — выводимая формула в исчислении предикатов и G не содержит переменной х, то формула G —> VxA(x) тоже выводима в ис-
|-G^A(x)
числении предикатов, т. е. -Н------т—г.
Р	|-G->VxA(x)
2. Если Л(х)—> G — выводимая формула в исчислении предикатов и G не содержит переменной х, то формула ЭхД(х)—>G тоже выводима в ис-
|-A(x)-4G
числении предикатов, т. е. т-т—г-----.
|-ЗхА(х)—»G
Удава 4. Исчисление предикатов 187
Другие правила вывода рассмотрим по мере необходимости. Их, как и в исчислении высказываний, довольно много.
4.3.	Производные правила вывода в исчислении предикатов
Пусть G,F,& — произвольные формулы, Г,ГРГ2,Г3 — конечные последовательности формул, возможно пустые, a G(t) получается из G(x) заменой всех свободных вхождений х на t, Г4 — конечная последовательность формул, не содержащая Л" свободно. Тогда в исчислении предикатов верны следующие правила вывода:
Г,|-С;Г2|-^
1.	—1।---------правило введения конъюнкции.
Г,,Г2|-(7л.Г
T|-GaF
r|-G
2.	I '	„ — правило удаления конъюнкции.
Г|- G л г
r|-F
Г|- G
, rl-GvF
3.	।	— правило введения дизъюнкции.
rrF
Г|- G V F
r,|-G v F; Г2,С|-Ф; Г2,Г|-Ф
4.	—!----------Ц--------------правило удаления дизъюнкции.
г„г2,г3|-Ф
с r,G|-F
5.	——----------правило введения импликации.	(4.J.1)
Г,|-G —> F; Г2|-G
о. —1------j---------правило удаления импликации.
Ц »^2|“ Г
7. ——— правило введения отрицания. Г|- G
7 Зак. 4306
188
Часть!. Математическая логика
4
II-
правило удаления отрицания.
r.|-G;r2|-G
9. --- .----------правило сведения к противоречию.
10.
II-
Г|—G
правило утончения.
11.
T|-G r,F|-G
— правило расширения.
12.
13.
14.
15.
16.
17.
Г,,О,Г,Г2|-Ф
Г F G Г |—ф — пРавил0 перестановки.
Г1;С,О,Г2|-Ф г,,о,г2|-ф r4|-G(x)
—i-------г-г — правило введения квантора всеобщности.
Г4|- ЧхСЦх)
Г|- V_vG(_v)
—:-----тгг---правило удаления квантора всеобщности.
Г|- G(t)
r|-G(0
—j—-—т-r — правило введения квантора существования.
------—г—--------правило удаления квантора существования. r4,3xG\xJ- Н
правило сокращения.
4.4. Некоторые теоремы исчисления предикатов
Так как все формулы, выводимые в исчислении высказываний, являются также выводимыми в исчислении предикатов, то, совершая подстановки в выводимые формулы исчисления высказываний, можно получить новые вы-/ водимые формулы исчисления предикатов. Обнаружить выводимость фор-
Глава 4. Исчисление предикатов
189
\-G^D
мулы в исчислении высказываний не представляет особого труда. Для этого нет необходимости проводить ее формальный вывод, достаточно установить, что формула является тождественно истинной в смысле алгебры высказываний.
। - 'Г)	-
Например, — Av А. ЦД v А)= — F(x)v F(x). Можно взять и более
длинную формулу |— А~^ (ВлС —» Д)л Л = / , тогда
3xF(x).\fyH(y)
j(/)s |- Л —> (BxF(x)a УуН(у) —> BxF(x))a А.
в.с
Все производные правила, выведенные для исчисления высказываний, остаются в силе в исчислении предикатов, например правило сложной подстановки и сложного заключения, правило силлогизма и др.
Выведем последнее упомянутое правило — правило силлогизма I- G -> F; |- F -> D
*----------------- В исчислении предикатов это правило выводится
из доказуемой формулы (А—> В)—> ((F —» С)—> (А —» С)). Поскольку правило подстановки в исчислении предикатов имеет место, то |-(б —> F)—> ((F D)—> (G —» D)). Коллизии переменных здесь не может возникнуть, т. к. иначе имела бы место коллизия в какой-нибудь из формул G, F или D либо между переменными какой-нибудь пары этих формул. Одиако каждая пара представляет импликацию G —> F,F —> D или G —> D , поэтому коллизия имела бы место по крайней мере в одной из этих пар, чего по предположению нет, т. к. все эти пары входят в правило силлогизма.
Тогда по правилу сложного заключения
|- G -> F; |-F -> D; |- (G->F)-> ((F ^F))->(G-> Р))
|- G —> D
Выведем еще одно производное правило вывода исчисления предикатов — |-G(x)
правило связывания квантором ।.
Пусть дано |—G(x). В исчислении предикатов выводима формула А—» В.
190
Часть I. Математическая логика
G(x)
Тогда применим подстановку I (Д —> В) = |- А —> G(x). Осталось восполь-в
зоваться первым основным правилом связывания квантором |- G Д(х)	I- А —> G(x)
।----------гт, где G не содержит переменной х. Итак, г-1---------т-т.
|- G VxA (х)	ни	|_ А
Можно предположить, что А не входит в G(x), т. к. ее всегда можно так выбрать.
Далее. пусть Ф — произвольная выводимая формула. Тогда ф
J (А —> VxG(x)) = |- Ф —> VxG(x). Наконец, по правилу простого заключе-
I—ф; I—ф —> VxG(x)
НИЯ J---j------------
|- VxG(x)
	Пример 1.	Доказать	выводимость	формулы
I-vxvX^)^(gW^^W)).
Воспользуемся первой аксиомой А—>(В—>А) и сделаем в ней сле-
дующую подстановку ->(в -> Л)) = |-F(x)->(G(y)->F(x)).
А, В
По только что доказанному правилу связывания квантором имеем Vx(f(x)^>	F(x))). Применяя еще раз это же правило, полу-
чаем |-VxVj'(F’(x)-> (G(^)-> F(x))).
Определение относительно вывода из совокупности формул аналогично определениям исчисления высказываний.
Выводом в исчислении предикатов называется конечная последовательность формул G{,G2,...,Gn такая, что для каждого / (1 < i < п) G(. есть либо аксиома, либо непосредственное следствие одной или двух предыдущих формул.
Для исчисления предикатов справедливы те же логические законы и правила, которые были доказаны ранее в исчислении высказываний. Рассмотрим некоторые из них.
Г,С|- А
Теорема дедукции. В исчислении высказываний	В исчислении
предикатов эта теорема имеет ту же форму: если формула G выводима из
fnaea 4. Исчисление предикатов
191
формулы F, то формула F —^G выводима в исчислении предикатов, т. е.
fj-G |- F -у G
G
. При этом предполагается, что
и F таковы, что F —> G явля
ется формулой, т. е. между G и F не возникает коллизии переменных.
Пример 2. |- VxF(x)—> BxF(x). Воспользуемся двумя последними аксиомами \/xF(x)—> F(y) и F(y) —> 3xF(x) исчисления предикатов I-Л —> В; |-В —> С
и применим к ним правило силлогизма  --1——---—------. Получим
|-VxF(x)-> F(y);|-F(y)~> 3xF(x)
|- VxF(x) 3xF(x)
	Пример 3. |- VxVyF(x, t) <-э VjVxF(x, у). Воспользуемся опять двенадцатой аксиомой VxF(x)—> F(j>). Применяя ее первый раз к переменной х в кванторе F(x, j>), получаем VxF(x, Д') —> F(ti. д'); после второго применения к переменной у будем иметь VxVyF(x,у)—» F(w, v). Используем теперь первое правило связыва-
G -» А(х)
ния квантором -------------- / \, например для формулы
G —> VxA(x)
j(v)= VxVj>F(x,;p)—> F(z/, v). Тогда получим выводимую формулу |- VxVj>F(x, т)-> VvF(w, v). Применив это же правило еще раз, придем к формуле VxVj>F(x,t)—> VvVhF(w,v). Сделаем теперь замену связанных переменных, получим |- VxVyF(x, д')-> VyVxFfx, д').
Точно таким же образом можно доказать и обратное следование |- Vj'VaF(a, д') —> VxVyFfx, Д'). Для доказательства исходной форму-|-G;|-F
лы осталось применить правило введения конъюнкции ——-------------—. То-
— G л F
|- Mx\/yF(x, Д')—> 'JyFxF(x, д')|-'./дЛ/а7’’(а, д')^ VxVyFlx, д')
Д	7а'./д7-'(х, д') О Vy\/xF(x,y)
 Пример 4. |- ЗлА/д’/' (а, Д') —> УдЯа/'’(а', д>). Воспользуемся опять двенадцатой аксиомой и применим ее к переменной у в предикате F(a, д').
192
Часть I. Математическая логика
Получим |—VyF(x, у) —> F(x,v). Проделаем то же самое с тринадцатой аксиомой применительно к переменной у; |-F(x, v)—>Bm'F(m', v). По правилу силлогизма найдем I- VyF(x,y)—> F(x,v);|- f(x,v) —>Bm'F(m',v)
---------. К полученной фор-
муле применим сначала второе правило связывания квантором
I— А(а')—>G	, ч , .
j—получим выводимую формулу |-zbrVyF(x,y)—»3wF(w,v);
G -> А(х) затем первое правило связывания квантором --------- тогда
G —> УхА (х) |-3xVyF(^,y)^ Vv3wF(w, v). Наконец, применив правило переименования связанных переменных, окончательно найдем |- ELxVyF(x, у) —> VyELxF(x, у).
К сожалению, обратное следование Vx3yF(x, у)—> 3yVxF(x, у) не является выводимым. Формальное доказательство этого довольно громоздко, но сама секвенция легко проверяется, если ее применить, например, к натуральному ряду чисел.
Пусть F(x, у) = {для всякого натурального числа х существует большее натуральное число у}. Тогда Vx3yF(x, у)= {для всякого натурального числа х существует большее натуральное у}. Это утверждение верно. 3yVxF(x, у )= {существует такое натуральное у, что каждое натуральное х меньше числа у}. Это утверждение, очевидно, неверно.
Пример 5. |- Vx(F(x)—> G(x)) —> (\/xF(x)—> Ухб(х)). Возьмем двенадцатую аксиому \/xF(x)^ F(y') и сделаем в ней следующую подстановку:
VX(p(x)^G(x}\F(y}^G(y)
J(VxF(x)^ F(y))= |- Vx(f(x)~> G(x))^(F(y)^ G(y)).
W(x),/'(y)
Исходная формула имеет вид импликации. Это значит, что посылка формулы должна быть выводимой, т. е. |-Vx(F(x)—> G(x)), тогда по |-G(x) выведенному ранее правилу связывания квантором р-------7—г должна
|- УхЦх)
Глава 4. Исчисление предикатов
193
быть выводима и формула |- F(x)—> б(х). Это обстоятельство оправдывает только что выполненную подстановку. Далее по правилу простого заключения находим |- Vx(F(x) -> G(x)); |- Vx (f(x) -4 G(x)) -4 (F(y)-> G(y))
\~F(y)^G(y)	 B0C'
пользуемся теперь второй аксиомой исчисления предикатов и сделаем в ней такую подстановку
VxF(x).F(y).G(y)
f (Д) = |~ (yxF(x)^ F(y))^ ((F(y)-^G(y))^ (VxF(x)-> G(y))). Л.В.С
Из полученной формулы по правилу простого заключения, примененного дважды, немедленно следует
|- VxF(x) -У F(y)-, |- (Vxf(x)^ F(y))^F(y) -4 G(y)) -»(Vxf(x)^ G(y)))
I-(fG)^gG)MMxPgG))
|- F(y)—> G(y); |- (r(y)-> G(y))-> (VxF(x)^ G(y)) |-VxF(x)->G(y)
Применим к последней выведенной формуле первое правило связывания квантором	, получим |- VxF(x) —> Vj’G(j’). Пере-
G—>VxA(x)
именуем связанные переменные, тогда |- Vxf(x)—> VxG(x). Наконец,
по теореме дедукции
f|-g
|-F—>G
получим,что
Vx(f(x) -» G(x))|- Vxf(x) -» VxG(x) |- Vx(F(x)-> G(x))-> (VxF(x)^ VxG(x))'
4.5. Эквивалентные формулы
Две формулы G и F называются эквивалентными, если |— G «-> F.
Теорема 4.2. Если в формуле исчисления предикатов G заменить любую часть эквивалентной формулой н если полученное вследствие этой
194 Часть I. Математическая логика
замены выражение G1 также является формулой и содержит все свободные предметные переменные формулы G, то G н G1 эквивалентны.
Формулы, не содержащие знака импликации, и такие, что знак отрицания относится только к элементарным частям, называются нормальными формами исходной формулы. Например,
3x(j(x) —> Z?(x)) = 1х(л(х)у В(х)]= Vx(^(x)v В(х))= Х/х^Д(х)л s = Vx(a(x)a fi(x)).
Знаки логических операций конъюнкции и дизъюнкции и кванторы существования и всеобщности называются двойственными друг другу. Формула G двойственна формуле F, если она может быть получена из F изменением каждого из символов a,v,3x,Vx на двойственный. Например, формуле Х/х(д v 2?(х)л (в(у)ч В(х))) двойственна следующая формула: Зх(а a (fi(x)v В(у)лВ(х))). Обратим внимание, что расстановка скобок в формуле изменилась в соответствии со старшинством логических операций; порядок же действий должен быть прежним. Еще для примера возьмем формулу \/хЭу(л(х, j)v Vz/i(x, z)a 3zA(y, z)). Для нее двойственной будет формула ЭхУу(Хл', >’) л (sz/f(x, z) v VzA(y, z))). Здесь появились новые скобки для сохранения прежнего порядка действий.
Порядок двойственности:
1.	Для элементарной формулы двойственной является она сама.
2.	Если G' двойственна G, a F' двойственна F, то для формулы G aF двойственной является формула G1 a F1, а для формулы GvF двойственна G' v F'.
3.	Если G' двойственна G , то для G двойственной формулой является G .
4.	Если G1 двойственна G, то для Ул'б(х) (или 3xG’(x)) двойственной формулой будет 3xGz(x) (соответственно Vx(j(x)).
Теорема 4.3. Если формулы G и F эквивалентны, то двойственные им формулы тоже эквивалентны.
Теорема 4.4. Если переставить стоящие непосредственно друг за другом однородные кванторы, то формула при этом превратится в эквивалентную.
Например, Bx3yF(x, у) «-» 3y3xF(x, у).
Глава 4. Исчисление предикатов
195
Нормальная форма формулы G называется предваренной {приведенной) нормальной формуй, если в последовательности символов, образующих формулу, кванторы предшествуют всем остальным символам. В исчислении предикатов можно доказать те же теоремы, что и в исчислении высказываний. Эти теоремы (правила) позволяют производить преобразования эквивалентности предваренных формул, состоящие, например, в вынесении за скобки и внесении в скобки кванторов всеобщности и существования.
а |-Vx(GvF(x)) G v VxFQt)
|~- G v \/xF(x) \-\/x(G v F(x))’
3	. |-V*(GaF(x))
’ \-GaVxF(x) ’
4	|-GaVxF(x)
|- Vx(G л F(x)) ’
5	|-3x(GvF(x))
|-Gv3xXx) ’
|- G v BxF(x)
' [-3x(GvF(.v))’
7 \-Эх(СлР(х)) |-Ga3xF(x) ’ |-Ga3xF(x)
' |-3.y(GaF(x))'
(4.5.1)
В алгебре предикатов установлены преобразования равносильности. С их Помощью доказывалось, что для каждой формулы алгебры предикатов существует равносильная ей нормальная формула. В исчислении предикатов можно аналогичным образом установить, что для всякой предваренной формулы (а следовательно, и для произвольной формулы) существует эквивалентная ей нормальная формула.
196
Часть I. Математическая логика
4.6.	Дедуктивная эквивалентность
В исчислении предикатов существует еще одно понятие эквивалентности среди формул.
Две формулы G и F называются дедуктивно эквивалентными в исчислении, если из аксиом этого исчисления и формулы G посредством правил исчисления можно вывести формулу F и, обратно, из аксиом исчисления и формулы F выводима формула G . Для исчисления предикатов понятие эквивалентности формул и их дедуктивной эквивалентности не равнозначно.
Теорема 4.5. Если G и F эквивалентны в исчислении предикатов, то они и дедуктивно эквивалентны.
Доказательство.
Пусть G эквивалентно F, т. е. |— G F. Тогда G F = (G -> F)a (F G) и по правилу удаления конъюнкции \-AaS	|-(G->F’)a(F->G)
—।---- получим -------:-------------. Если к аксиомам исчисления
|- А	- G —> F
присоединить формулу G, то по правилу простого заключения I- G; G -> F
----:------. Присоединив к аксиомам формулу F, таким же образом г77
можно вывести формулу G . Отсюда следует, что эквивалентные формулы F и G являются также дедуктивно эквивалентными.
Обратное утверждение, однако, неверно. Рассмотрим две элементарные формулы А и В. Они будут дедуктивно эквивалентными. Действительно, если присоединить к аксиомам исчисления предикатов формулу А, то любая формула, в частности В, станет выводимой посредством подстановки в формулу А. То же самое будет, если мы присоединим к аксиомам формулу В. Отсюда следует, что формулы А и В дедуктивно эквивалентны в исчислении предикатов. Однако эти формулы, очевидно, не эквивалентны, т. к. формула А «-> В не является выводимой в исчислении высказываний и, следовательно, в исчислении предикатов.
Теорема 4.6. Если две формулы дедуктивно эквивалентны, то из того, что одна из них тождественно истинна, следует, что н другая также тождественно истинна.
Понятие дедуктивной эквивалентности полезно именно для исчисления предикатов. Исчисление высказываний, например, полно в узком смысле (тео
Глава 4. Исчисление предикатов 197
рема 2.9), поэтому либо формула исчисления высказываний выводима, либо ее присоединение к аксиомам исчисления ведет к противоречию. Если две формулы исчисления высказываний выводимы, то оии просто эквивалентны. Если же одна выводима, а другая нет, то оии не могут быть дедуктивно эквивалентными, т. к. присоединение выводимых формул к аксиомам исчисления новых выводимых формул не дает, поэтому другая невыводимая формула останется невыводимой.
В заключение без доказательства приведем две практически важные теоремы исчисления.
Теорема 4.7. Любая выводимая в исчислении предикатов формула общезначима.
Теорема 4.8 (теорема Геделя*). Всякая тождественно истинная формула логнкн предикатов ивляется выводимой в исчислении предикатов.
4,7.	Получение v-формул. Скулемовские функции
Как уже упоминалось в разделе 3.6, существуют V-формулы, 3-формулы и скулемовские нормальные формы (V3-формулы). V-формулы и скулемов-скне нормальные формы используются в методе резолюций исчисления предикатов.
Пусть формула сигнатуры Е имеет вид
Ул|Ул2...Ул„Зу|Зу2...Эу,„А(х|,л2,...,л„,у|,у2,...у„,),	(4.7.1)
где A(x1,x2,...,xn,y1,y2»---yWI)— бескванторная формула. Покажем, что существуют /иА’-’-’/т — «-местные функциональные символы, не входящие в сигнатуру Е, такие, что для сигнатуры Ez = Eu{/1,/2,..справедливо
|-Vx1Vx2...Vx„3y13y2..3ymA(x1,x2,...,x„,y1,y2,...^J^
<->	,х2,..., xn,f\(х],д^,..., хн), tX2'>‘—>Xn	(х1 ’Л'2’"'»Хн ))’
Действительно, рассмотрим некоторый набор (а} ,a2,...,alt )g М , где М — область определения предиката А. Если для этого набора |-Зу1Зу2...Зу„А(а|,о2..то в качестве /,(а,,а,,...,а„)
Курт Фридрих Гедель (1906-1978) — немецкий математик и логик.
198
Часть I. Математическая логика
возьмем такие значения Ь,, что \-A(al,a2,...,an,bi,b2,...bm). Если же |/Зу1Зу2...ЗупА(а1,а2....,ал,у1,у2,...у,„), то в качестве /.(а,,а2,...,я„) можно взять произвольные значения.
Рассмотрим теперь более общий случай
HX|...3%„Vy1...Vy„23zl...3z„3Vul.„VH„43v1...
...3v„5A(x1,...,y1.........V,,...).	(4.7.2)
Поставим в соответствие каждой переменной, связанной квантором существования, какую-нибудь функцию, определенную на М, принимающую значения из М и зависящую только от переменных, связанных квантором всеобщности и предшествующих данному квантору существования. Если квантор существования стоит первым, то поставим ему в соответствие какое-нибудь значение переменной из области М . Для рассматриваемой формулы (4.7.2) переменным xt будут поставлены в соответствие константы х(°, переменным Zj —функции /(У],У2..........УИг) ит. д., переменным v, —функции
фДу|,У2’"-’Л|2’н1’н2’",»нн4)- Если эти константы н функции таковы, что в результате замены ими соответствующих переменных в предикате А(л|,..., У]	w, ,...) полученный предикат
|- а(х°,...,х°,у1,..., у„2 ,у1(у!.y,J..
Ф1U.....У„2. «1...%).....Ф„5 (у.........	% ))>
то используемые константы и функции (ур.-.кД фДу!......................................................
Ф„5(У1>-.
называются разрешающими функциями или функциями Скулема для формулы (4.7.2). Приведем несколько примеров.
	Пример 1. Рассмотрим следующую замкнутую предваренную форму В = 3xVy3zVu3vVwA(x, у,Z,u,v,w). Обозначим значение х, которое существует в соответствии с первым квантором, константой а, отбросив при этом квантор существования: В = Vy3zV«3vVwA(^,y,z,H,v,vv). Факт, что для всякого у может быть найдено значение для z, может быть выражен некоторой функцией z = /(у). Тогда
В = ^y^u3v\fwA(p,y,f(y\ u,v,w).
Глава 4. Исчисление предикатов
199
Аналогично, тот факт, что для любых у,и найдется у, можно выразить скулемовской функцией у = ф(у,и), которая подставляется вместо у: В = VyV«VwA(a,y,/(y),w,(p(y,«),w).
Так как все переменные в исходной формуле должны быть связаны, кванторы существования исключены, а порядок кванторов всеобщности не влияет на значение формулы, то кванторы всеобщности отбрасываются в предположении, что все оставшиеся переменные ими связаны. Тогда В = д(я,у,/(у),л,(р(у,м), w), где а,/(у) и (р(у,и)— скулемовские функции.
	Прнмер2.Для формулы Vx3zVy3w((y > z —» у > %) а (и < z) а (и < д)) построить V-формулу. Здесь формула дана в конкретном виде и разрешающие функции тоже могут быть выражены конкретно. Конкретизируем лишь область определения основного предиката. Пусть М = N . Положим z = ft (х). тогда
VxVy3»((y > /, (х)-> у > х)л (и < f(х))л (к < х)).
Аналогично и - fz(x,y) и
VxVy((y > f} (х)-> у > х)л (/2(х, у)< (х))л(/2(х,у)<х)).
Осталось подобрать вид функций ft и /2 таким образом, чтобы фор-мула (у > f (х)-> у > х)л (/2(х, у)< ft (х))л (/2Uy)< л) была бы истинной при любых х, у е N . Например, можно взять (х)= лЧ-1, а f2(x)= х. Тогда (у >х +1—> у > х)л (х<х + 1)л(л <л)= 1 л1л1 = 1.
 Пример 3. Для формулы \/х\/уЗгЗ?(р(х,г)л Р^у, z)) построить V -формулу.
Пусть М ={0,1}. г = ./,(х,у),	\/х\/уЗг(/’(х,г)л?(у,/|(х,у)));
t = f2(x, у), VxVy(p(x, л (х, у))лР(у,У, (х, у))). Здесь Р — любой двухместный предикат, поэтому функции /, и f2 необходимо выбрать так, чтобы формула Р(х, f2(x,y))/\ P(y, f}(x,y)) была тождественно истинной. Положим /1(х,у)= /2(л>у)- 1, причем пусть Р(х,0)=1 и Р(х,1) = 1. Тогда
р(х, А(х, у))л Р(у,Л (х, у}) = Р(х,1)л Р(у,1) =1 л 1 1.
200
Часть I. Математическая логика
 Пример4. VxVy3z3vV((s(x,y,y)—M=N, S(x, у, z) = (x + у - z), Р(х, у, z) = (х • у = г).
Выберем z =
Пусть z = /|(х,у), v = f2(x, у), тогда
VxVyVr(s(x, у, у)-> (S(f} (х, у), /2 (х, у),х)л P(f2 (х, y\t,t))].
-1,х>0,	,	.
„	„ a v = /2(x,y)=l. Тогда
0,х = 0,
«U У ,У ) -> (S (Л (х, у), f2 (х, у ), х) л P(A(x,y),t,»)) = (х+у = у) ->
—> ((х - 1 + 1 = х)л (1 • f = г))S (х + У = у) —> 1 А 1 = 1.
4.8. Унификация формул исчисления предикатов
Для получения подходящих резольвент в методе резолюций исчисления предикатов применяются подстановки в формулы исчисления. Процесс этих подстановок называется унификацией.
Подстановкой сигнатуры Z называется конечное множество вида ИЛИ {(g.xJ (t2,x2(f„,x„)}, где tj — терм сигнату-
ры S, отличный от Xj (1 < i < и), а все переменные хх,х2,-.-,хп различны. Подстановка, которая не содержит элементов, называется пустой и обозначается е.
Если дана подстановка 0 = {?(г)|х,а|у}, то g(z)|x означает, что повсюду переменная х заменяется функцией g(z), а переменная у — предметной константой а. Пусть имеется атомарная формула (литерал) Р(х, y,z). Будем обозначать через Р0 частный случай литерала Р, получающийся при использовании подстановки 0. Результат применения подстановки 0 к каждому из литералов множества литералов обозначим {FJ }0 .
Определим композицию двух или нескольких подстановок. Пусть e = {f1|xi,Z2|x2,...,f„|x„], X = {?||у],9г|у2,-,9га|л,}— подстановки сигна-туры S. Тогда композиция 0Х получается из множества {^Xjxj,r2l|x2„..,Zrtl|x,(, t/Jy],q2\y2’—>	} вычеркиванием всех элементов	для которых tj'k — Xj, и всех элементов таких, что
Глава 4. Исчисление предикатов 201
Например, пусть 6 = {/(у, ф,г|у}= kl»1-«2 }, X = {a|jc,Z>|y,c|z,j|w}=^l|yl,92|y2,93|y3,94|y4}. Тогда
{rIX|x1,Z2X.|x2,^t|y1,^2|y2,^3|y3,qr4|y4}= {f (&,c]x,c|y,a|x,fe|y,c|z,<Z|w}.
Здесь = f(b,c)* x = xt, r2X = c * у = x2, yx = xe {x, y}, y2 - У £ {x, y}, Уз = {*»у}> Уа = w& {*»?} Следовательно, вычеркнуть надо a|x и b\y , тогда композиция двух подстановок 0Х будет иметь вид {f(b, с]х, с|у,ф,(/|и>].
Для подстановок справедливо следующее:
1.	= P0X, т. е. последовательное применение подстановки 0, а затем
постановка X приводит к тому же результату, что и применение композиции подстановок.
2. (0Х)8 = 0(Х8), т. е. композиция подстановок ассоциативна.
Подстановка 0 сигнатуры S называется унификатором для множества {Д,Д,...,Д} формул сигнатуры, если ДО = Д0 =... = ДО. Множество формул {Д,Д,...,Д} сигнатуры S называется унифицируемым, если для него существует унификатор.
Наиболее общим или простейшим унификатором (НОУ) для множества формул {д ,Д,..., Д } называется унификатор 0Р, если для любого другого унификатора 0 существует подстановка 0] такая, что 9 = 0p0j. Существует алгоритм, называемый алгоритмом унификации, который приводит к наиболее общему унификатору для унифицируемого множества {Д, Д,..., Д } или сообщает о невозможности это сделать, если множество формул не унифицируемо.
Пусть {а,,Л,....А„} — непустое множество атомарных формул сигнатуры
S. Множеством рассогласований в {д,Д,...,Д} называется множество отличающихся термов в первой слева позиции. Например, для множества {p(x,/(y,g(a)),/i(x)),P(x,/(y,x),y)} множеством рассогласований является {#(а),х}: в первой слева позиции первого литерала стоит терм который отличается от соответствующей (первой слева) позиции второго литерала х.
202
Часть I. Математическая логика
Для множества	Р(х,с),/)(л,/(у,/| (z)))J множество рассогла-
сований — {/(у,г),с,/(у,/|(г))} (подчеркнуты в основном множестве формул).
Рассмотрим алгоритм унификации для двух литералов. На каждом шаге алгоритма подстановка применяется к каждому из литералов. Пусть Ро —1 исходное непустое множество атомарных формул, 0О = £ — пустая подстановка. Обозначим на к -м шаге: Рк — множество атомарных формул (литералов), Dk —множество рассогласований, ВРк —осуществляемая подстановка.
Приведем шаги алгоритма унификации для двух литералов. Шаг 1. к=0, Рк = Ро, Qpk =£. Шаг 2. Если Рк — одноэлементное множество, то конец алгоритма, НОУ=0Р . В противном случае находим множество рассогласований Dk. Шаг 3. Если Dk не содержит переменных, то конец алгоритма, множество исходных формул не унифицируемо. Если Dk содержит переменную хк и терм tk и если хк входит в tk, то конец алгоритма, множество литералов не унифицируемо. Шаг 4. Если существует хк ,tk £ Т такие, что хк — переменная, не входящая в tk, то 0 =
= ^0 = и ^1+1 = Л{л|х*} =	11/114 ^+i =	 Шаг 5-
к = к +1, переход на начало второго шага.
Если количество литералов больше двух, то последовательно унифицируется первый со вторым литералом, затем результат унификации унифицируется с третьим литералом и так далее до тех пор, пока либо все множество литералов не будет унифицировано, либо получен ответ о том, что это множество не унифицируемо.
Теорема 4.9. Если PQ — конечное непустое унифицируемое множество атомарных формул, то алгоритм унификации всегда заканчивает работу иа втором шаге и последняя подстановка 0Р; будет НОУ для PQ.
 Пример!. Ра = ^’(x,f(y,g^)\h(x)'j,P(x,f(y,x),y)}.
Шаг 1. к - 0, PQ — исходное множество, 0Ро = £.
Шаг 2. Ро —неодноэлементное множество, = {?(а),х}.
Глава 4. Исчисление предикатов
203
Шаг 3. xg g(a).
Шаг 4. х —переменная, g(tf)—терм, х не входит в g(a),
6={«(аЫ 0i = 0/ъе={?(аЫ-
Р, =РО0! =k(.?(fl)./(y..?(a))'Zi(g(a)))P(g(a)'/(-V’g(a))’y).}-
Шаг 5. k = 1, переход на второй шаг.
Шаг 2. Р] —неодноэлементное множество, = {/?(# (я)), .V}•
Шаг 3. у £ h(g(a)).
Шаг 4. 9 = ^(g(a))|y},02 = 9|0 = {g(ah'M?(a)b4
р2 = /;е, = {p(g(o),/(A(g(a)).g(a)V!(g(a))^'p(g(a)J'(/!(g(a)).g(aft
A(g(a)))}={/,fe(aV(Afe(a))’g(a))>/,(g(a)))}-
Шаг 5. к = 2, переход на второй шаг.
Шаг 2. Р2 — одноэлементное множество, конец алгоритма
НОУ = 62 ={?(а]х,Л(в(а)]|у}.
 Пример 2. P„={p(x,f(a,g(y),h(u))),P(x,f(a,u,^')\-
Шаг 1. к = 0, Ро — исходное множество, 0^ = е .
Шаг 2. Р{} —неодноэлементпое множество, Do =fe(z^«}-
ШагЗ. g(z).
Шаг 4. 6 = {g^a},6, = 9Ро6 = {g(z}»}’
р\ = poei = {p(x,/(a,g(z),ft(g(z)))),P(x,/(a,g(z)),z)}.
Шаг 5. к = 1, переход на второй шаг.
Шаг2. Р{ —неодноэлементное множество, D} = {^(g(z)),z}.
ШагЗ. ze A(g(z)), конец алгоритма, множество Ро не унифицируемо.
204
Часть I. Математическая логика
4.9. Метод резолюций в исчислении предикатов
Метод резолюций уже рассматривался нами в разделе 2.7. Его практическое использование в исчислении предикатов значительно сложнее, чем в исчислении высказываний. Теоретическая основа метода не изменилась. Для того чтобы доказать, что из некоторого множества формул исчисления предикатов логически следует данная формула, берут отрицание этой формулы и добавляют ее к исходному множеству. После чего доказывают противоречивость формулы, являющейся конъюнкцией формул исходного множества и данной. По существу, это не что иное, как метод доказательства от противного.
В отличие от исчисления высказываний в исчислении предикатов в методе резолюций есть особенности. Для исключения кванторов исходное множество формул необходимо приводить к V -форме и унифицировать. После того как получено множество дизъюнктов, осуществляется процесс опровержения, аналогичный исчислению высказываний: на каждом элементарном шаге доказательства используется правило, называемое резолюцией.
Основная идея метода состоит в следующем. Для того чтобы доказать, что формула А логически следует из некоторого множества формул г = {аи а2,..., Ап нужно доказать, что множество формул rj=rkj{A} противоречиво, т. е. не существует интерпретации, в которой бы оио удовлетворялось. Множество Г, противоречиво тогда и только тогда, когда формула At л А2 л... л А„ —> А является общезначимой, т. е. истинной в любой интерпретации.
Для того чтобы определить интерпретацию множества формул, необходимо задать область интерпретации. Однако таких областей для формул исчисления предикатов может быть бесконечно много. Чаще всего в качестве области интерпретации берут множество Нг, называемое универсумом Эрбрана*.
Теорема 4.10. Если множество формул Г неудовлетворнмо на £/г, то оно неудовлетворнмо на любой другой области интерпретации.
Универсум Эрбрана рекурсивно строится следующим образом.
1. Множество всех предметных констант из Г принадлежит £/г.Если Г не содержит ни одной предметной константы, то в Нг входит произвольная предметная константа, называемая любым именем.
Жак Эрбран (1908-1931) — французский математик.
Глава 4. Исчисление предикатов
205
2. Если термы Г,-€ Яг,1 = 1,п и fj—какой-нибудь функциональный символ, зависящийотп переменных, и / еГ,то	)е Нг . Например.
г = H)v G(x,у),p(f(x),P(j(x))v R(g(a)))},
Hr =\a,f(a\g(a'),/(/(a)),/(§(a))•§(/(«Я
Г = {/;(c„/(c2),/(c3)),P2(c1),^(x,x,/(x)),^(x,y,z)v
V Pt(y,Z,u)v P3{x,u)v ^(x.Z^fo.Ci)),
H r = {c,, c2, c3, / (c,), f (c,), /(c3), f (f (c,)),...}.
Метод резолюций основывается на теореме Эрбрана.
Теорема 4.11 (теорема Эрбрана). Множество дизъюнктов Г невыполнимо тогда и только тогда, когда имеется конечное невыполнимое множество Гс константных частных случаев этих дизъюнктов на Нг.
Таким образом, множество Г невыполнимо, если можно найти такие подстановки констант из Нг вместо предметных переменных, при которых полученное множество дизъюнктов будет противоречивым.
Пусть В— дизъюнкт сигнатуры S вида В - Д v Д v... v Д v С или В = Д v Д V.,. v Д v С, где Д — атомарные формулы. Предположим, что множество {А, А.-> А,} имеет НОУ 0г. Тогда A]0pVC0p или ДОр v CQ р называется склейкой В .
Пусть В{ и В, — два дизъюнкта, не имеющие общих переменных, Д и Д — атомарные формулы или отрицания атомарных формул в Вх и В2. Если Д и А2 имеют НОУ 0Р, то дизъюнкт, получаемый из формулы ДОрУДО/, вычеркиванием Д0Р и Д0Р, называется бинарной резольвентой Вх и В2, а формулы Д и А2 — отрезаемыми. Если BftP = Д и В20р ~ А2, то бинарная резольвента Вх и В2 равна нулю. Если формулы В} и В2 имеют общие переменные, то перед нахождением их бинарной резольвенты в одной из формул общие переменные надо переименовать.
 Пример 1. В, =^(x)vP2(x,c,), В2 = Р, (с, )v Р2(с2 ,с,). Формулы В| и В2 общих переменных не имеют. Пусть
А = д (х), а = в, (с2), а = р\сг), е = {с2|х},
206
Часть I. Математическая логика
Bfl'v В2В = Pl(c2)v P2(c2,cl)v Pj(c2)v P2(c1,cl).
Так как A]0 = ^(c2), Afi = Рх(с2) вычеркнем их. Тогда бинарная резольвента В} и В2 равна P2(c2’ci)-
Резольвентой дизъюнктов В, и В2 res(Bx,B2) называется одна из следующих:
1.	Бинарная резольвента Bj и В,.
2.	Бинарная резольвента склейки Вх и В2.
3.	Бинарная резольвента Вх неклейки Во.
4.	Бинарная резольвента склейки В( неклейки В2.
 Пример 2. Найти все возможные резольвенты следующего множества формул
^,z)vP2(х),Р, (х, z)v Р3(с), Р4(с),Р4 (х)V Р} (х).Р, (х, /(х))}.
Пусть В, = Pl(x,z)v рз(с), B1 = Pl(x,f(x)), A, =Pl(x,z), Л = pXx’f(x))> A2=P,(x,f(x)), 0 = {/fch}’ В,0 v В20 = ^(х, /(x))v Р3 (c)v Pt (х,/(х)).
Бинарная резольвента Вх и В2 равна Р3(с), res(Bt,B2) = Р3(с).
Аналогично, пусть Вх ~ Рх (x,z)v Р3(с), В2 =Р4(л)уР3(х),
А,	= Р3(с), А, = Р3(х), Aj = Р3(х), 0 = -{с|х},
B1evB2e = ^(c,z)vP3(c)v^'(c)v^(c), re5(Bl,B2)=Pl(c,z)vP4(c).
Пусть Г—множество дизъюнктов. Резолютивный вывод С из Г есть такая последовательность С{,С2,...,Сп дизъюнктов, что С = Сп и каждый дизъюнкт С. или принадлежит Г, или является резольвентой дизъюнктов, предшествующих С(.
Как уже упоминалось, для доказательства выводимости С из Г можно показать, что множество Г[ -Ги{с) является противоречивым. Этот способ доказательства основывается иа следующей теореме.
Глава 4. Исчисление предикатов
207
Теорема 4.12 (о полноте метода резолюций). Если Г — множество дизъюнктов, то множество замыканий всеобщности формул из Г невыполнимо тогда и только тогда, когда существует резолютивный вывод нуля из Г.
 Пример 3. Проверить на противоречивость следующее множество формул: Г = •^(cl),P2(y)v P,(c,,y),M*)v ^(/)v РАх<у\Рг^г\ Pi(c2)}={F},F2,F3,Fi.Fi}.
B{=Ft, B2=F3, Д =7’(c,)> A2 = /f(x), 0 = {C||x},
B,0 v B,0 = P, (c, )v Pt (c, )v P4 (y) v P3(c,, у),
F<, = res^F, ,Р,)=Р4 (y)v P3 (с,, у );
В,	=F2, B2=F6, A,=P3(c„y), A,=p3(cx,y\ e = E,
B,0vB20 = P3(C|,y)vft(y)v^(y)v^(C|,y), F7=res(F2,F6)=ft(y)v^(y);
Bl=F4, B2= Fj, .AI = P2(c2), A2 =P2{y\ 0 = {c21y},
S10vB!0 = P:(c,)vP!(c,)vP4(c,), Fs = res(Ft,F2) = B4(c,);
res(F,,Fs') = res (p4(c,),P4(c2))=0. Исходное множество дизъюнктов противоречиво.
 Пример 4.
r,={vx((p,(x)A^(x))^ Эу(Р3(х,у)лР4(у)))лх(р5(х)^^(х))>
Эх(Р5(х)л В (х)л Vy(p3(х,у)-> Р5(у)))}. Проверим па противоречивость это множество, предварительно приведя все формулы к V -форме.
Г, = Vx^ (х)л^(х))^ Эу(Р3 (х,у)л Р4 (y)))S Vx((/;(x)a^(x))v
V Еу(/’ (х.у)л Л (у))> Vx3y((^(x)V л (х) v Р, (х,у))л (^(x)v Р2 (x)v vP4(y))). Квантор существования опустим, введя скулемовскую функцию у = f(x), которая по всякому х найдет для него значение у . Тогда получим V -формулу
Vx((/](x)v B2(x)v вз(х,/(х)))л (p,(x)v p2(x)v Р4(/(х)))).
208
Часть I. Математическая логика
Теперь опустим знак квантора всеобщности, предполагая, что доказательство будет проведено для всякого фиксированного х. Аналогично,
= Зх(Р3(х)л /’(х)л Vy(P3(x,y) -» Р5(у))) =
= ЗхУу(рз (х)л /’(х)л (^(x,y)v Р5(у))). Опустим знак квантора существования, стоящий перед всей формулой, предположив, что доказательство будет проведено для некоторого фиксированного х = a, но т. к. х — любое значение, то оно будет справедливо для всех случаев. Тогда Уу(/>5(й)лР1 (а)л(^(а,у)у Р5(у))). Отбросим теперь квантор всеобщности, рассуждая как в предыдущем случае.
F2 = Vx(p5(x)—> ^(x))S Vxfc(x)v pfc)).
Таким образом, множество дизъюнктов имеет вид
Г = fc(x)v P2(x)v Р3(х,/(х)^(х)у P2(x)v Pt(x\P5(a),P}(a),P3(a,y)v v P5(y),P5(x)v P2(x)}= {pJ,F2,F3,F4,F3,F6}. Исследуем это множест-во на выполнимость с помощью метода резолюций.
Найдем	Д = Р,(х); А^Р/х), 0 = {з|х},
Ffi v F49 = Pt (o)v P2 (a) v P,(a,f(a))v Pt (a),
F, = re.s(F,,F4)= P2(a)v P3(a,/(u));
res(F3,F7)=? A,=P3(a,y), A2 = P3(a,f(a)), e = {f(a)|y},
F5e v F,6 = P3(a,f(a))v Ps(f(a))v P2(a)v P3(a,f(a)),
F8 = res(F3,F7)=P2(4vP3(/(a));
res(F6,Fs)=? A2=P2(x\ A1=P2(a), 6 = -{a|x},
F69 v F8e = P2(a)v P5(/(a))v P3 (a)v P2(a),
F, =re5(F6,F8)=P5(a)vP3(/(a));
res(F2,F4)=? A, =Pl(x\ A, =^(a), 0 = {i|x},
F2e v F4e = P,(a)v P2(a)v P4 (/(a))v P, (a), FK = res(F2, F4 ) = P2 (a ) v P4 (f(a ));
rcs(F6,F8)=? Aj = P2(x} A =P2(a\ 6 = {2|x},
Глава 4. Исчисление предикатов
209
F6e V Ffi = Р5(a)v Р,(а)V Рг(а)V Р5(/(а)),
= res(F,„Fg)= P,(a)v Р3(/(а));
res(F5,F6)= ? А, = Р5(х), А, = (v), 9 = {л|у},
F30vF60 = ^(a,x)v P3(x)v^(x)v р(х),
Fl2 = res(F5,F6)= Pz(x)v Р,(а,х)-
r«(F7,F12)=? A2 =PM A,=PM 0 = {?|x},
RO v F120 = P2(a)v P3(a,f (a))v P,(x)vP3(a,a), F,3 = MF7,F12) = ^(a,a)VP3(/j(a)).
Нахождение других резольвент также не дает вывод нуля, следовательно, исходное множество выполнимо, т. е. в сигнатуре S = {Р1,Р3,Р3,Р4,Р5,/’,а}формулы из множества Ц истинны.
 Пример 5. Докажем правильность рассуждения 3.4.11.
(Vx(p(x)-> J?(x))AVx(P(x)-> е(х)))-> (ЗхР(х)-> ах(е(х)лЯ(л))).
По методу резолюций, чтобы А, л А2 л... л Ап —» А = 1, необходимо, чтобы {д, А2,..., А;1, а}|-.
Преобразуем посылку и следствие основной формулы:
(vx(p£) v /?(х))Л Vx(pjj)v £(%)))= (vx(p^ v 7?(х))л (И?) v e(.r))).
E.x/’(x)v Зх(е(х)л /?(х)) = VxP(x)v 3x(g(x) л Я(х)) = Vx?(7)v
v Э?(е(у)л Л(у)) = Vx3v(p(r)v (е(у)л Л(у))).
Найдем теперь отрицание следствия импликации
Vx3y(^)vte(y)A7?(y)))^ axVy(p(x)A (gUO v
Квантор существования отбросим, подставив вместо предметной переменной х константу a. Отбросив теперь в посылке и следствии кванторы всеобщности и предположив, что доказательство проводится для любых значений предметных переменных, получим множество дизъюнктов
Г, = {р(х)v F(x),p(x)v е(х), P(a),Q(y)v R(y)}= {F,, F2, F„ F4}.
210
Часть I. Математическая логика
Для того чтобы доказать, что исходное рассуждение правильно, необходимо из Г, получить резолютивный вывод нуля:
F5 =res(Ft,F,)=R(a),
F6=reS(F^=Q(a),
F1 = res(F2,F&)=~Pla), res{F3,F1)=O.
4.10.	Практическое занятие № 10. Унификация формул. Метод резолюций в исчислении предикатов
4.10.1.	Построить все попарные композиции в,в . подстановок
61 = {л02 ={r2(Fl(x),y'jix,F1(cI')iy,F,(z'jiz},
03 = {р2(с,)|л,с2|у,.х|г}и 04 = {у|х, z|y,Jc|z} сигнатуры
S = {c],c2,F1,F2}.
4.10.2.	Определить, унифицируемо ли множество Г. В случае унифицируемости найти наиболее общий унификатор:
а)	Г = {р(с, X, F2 (f, (у))), P(z, F2 (z), F2 (и))};
6)	r = {P(F,(c),F2(x)),P(y,y)};
в)	Г = {р(с,х),р(с,с)};
г)	r = {p(c,x,F(x)),P(c,y,y)};
Д) Г = {F(u,F,(х,у)\F(y,z\f(u,F,(c,z))}.
4.10.3.	Определить, имеют ли склейки следующие дизъюнкты. Если склейки имеются, найти их:
a)	P(x)vP(F(y))v^(x);
б)	^(x)vP2(y)v7>(F(x));
в)	F, (x)v F2(y)v F,(F2(c))v F, (z)v F,(z).
Глава 4. Исчисление предикатов
211
4.10.4.	Найти все возможные резольвенты следующих пар дизъюнктов:
a)	P^F^P^P^x)-,
б)	f’(x)vP,(x,J:)R(c,F(c));
в)	P{a)-v Q(x,b\p(x)v Q(b,y).
4.10.5.	Проверить, выполнимо ли множество формул:
F, =	Рг(х,у))
а)  F2 = V%Vy(P2(x,y)-> Р3(х,у))
F3 = ЗхЭуР,(х,у)-
F2 = Р2 (с,) F^P^xJ^x))
F5 = P2(x)vP,(y,z,u)v^(x,u)v P3(x,y)v P3(x,z) ^6~Л(с1>сз);
В) F, = Vx(p(x)^ Vy(p(y)->	eG))v VzP(z))j).
4.10.6.	Проверить истинность следующих формул методом резолюций:
a)	((vzB(b,z,z)v ЭуА(Ь,у,Ь))л (VuB(u,u, »)v VyVzA(y, улУ))^>
—> ((3m'B(w,c,w)a3uA(m,u,u))v (3m'VuB(Z>,m,w)a3zVxB(x,c,z)));
6)	((Vw3vM(Z>,u, H’)v B(c,c,c)v 3wVmA(w,c, vv)v VwB(b, w, w))a
a (Vw3hB(w, «,«)))—> (ЗмД(«,с,а)А 3v3wZ?(H’, v, w)]v
v ((ЗтЗн’В(/?, v, w) a 3zX(z, c, z)л ЭхЧуВ(у, x, a))),
в)	(BuA(u,b,c)—> (3v3>vB(v, v,w)—> 3vA(Z>,v,v)))a (3yB(a, y,a)v
v VxA(b, x, x) v VxV«B(x, u, h)) —> ((V.v.4(a, v, c) —> 3y3zA(/?, y, z)) v v B(a,a,b))\
r) (3xVy3zB(x, y, z))a (3uVyVxA(u,x, y)v \/лЗгВ(х,а,г))л л (Vz3xB(z,a,.r)—3 V//3vVh’B(/v ,v,w))—> 3«3vVwA(w,v, w) a a 3v3wVuA(w, v,w);
212
Часть I. Математическая логика
д)	(Vi/VvVwA(u,v,w)v Vx3yB(x,b,y)v ''Ju''JvC(u,v,b''))/\ л faxA(x,a,b)vVyBzB(a, y,z)vVvVuC(v,«,a))A л (vwB(a,Z>, w))—> (Vu3v3wC(u,v, iv)a 3xVy3zC(x, y, z));
e)	(ztyVzBG.a.z)—> V;iVvA(Z>,v,w))a
a (VwVM(v,u,a)v Vj'3uVz/i(u,)', z))a (Vz/i(z,z,z))—>
—> (ЭуВ(а, у,Ь)л 3xVy3zA(x, y,z))v 3uVv3wA(w,v, w).
4.11. Некоторые проблемы аксиоматического исчисления предикатов
Разрешимость
Проблема, заключающаяся в отыскании алгоритма, решающего ту или иную серию однотипных задач, называется алгоритмической проблемой разрешимости. Неразрешимость алгоритмической проблемы означает, что такой алгоритм невозможен. Простейший пример проблемы разрешимости— проблема разрешимости алгебры логики, которая состоит в отыскании алгоритма, позволяющего для любой формулы алгебры логики установить, является ли она тождественно истинной, тождественно ложной или выполнимой. Для алгебры логики эта проблема решена.
Проблема разрешимости для исчисления предикатов, в отличие от исчисления высказываний, оказалась связанной с серьезными трудностями, зависящими от точного определения понятия алгоритма. После появления точного определения алгоритма появилась возможность доказать, что проблема разрешимости для исчисления предикатов неразрешима, т. е. необходимый в этой проблеме алгоритм невозможен (см. теорему 3.8).
Непротиворечивость и независимость
Противоречивым называется такое исчисление, в котором какая-либо формула доказуема вместе со своим отрицанием. Эта проблема для исчисления предикатов решается в положительном смысле. Для доказательства непротиворечивости достаточно обнаружить какую-нибудь невыводимую формулу в исчислении предикатов.
Можно показать, что всякой выводимой формуле исчисления предикатов соответствует выводимая формула исчисления высказываний, для которого
Глава 4. Исчисление предикатов
213
проблема непротиворечивости решена. Отсюда немедленно следует непротиворечивость исчисления предикатов. В самом деле, если бы исчисление предикатов было противоречиво, то в нем всякая формула была бы выводимой. В частности, была бы выводима формула А, состоящая из одной буквы. Но тогда А была бы выводима и в исчислении высказываний, что не верно.
Помимо непротиворечивости возникает вопрос о выводимости каждой аксиомы из остальных. Это вопрос независимости системы аксиом. Система аксиом исчисления предикатов— независимая система. Независимость аксиом говорит о том, что в системе нет лишних аксиом. Эту независимость можно установить посредством интерпретации. Метод интерпретаций, однако, приложим к вопросам независимости только в известных границах.
В разделе 2.8 обсуждался вопрос независимости аксиом исчисления высказываний. Вопрос о независимости аксиом обычно ставится для непротиворечивых систем. В этом случае ограничиваются сведением независимости к вопросу о непротиворечивости дайной системы аксиом.
Полнота в узком смысле
Логическая система называется полной в узком смысле, если нельзя без противоречия присоединить к ее аксиомам в качестве новой аксиомы никакую не выводимую в ней формулу так, чтобы полученная при этом система была бы непротиворечивой.
В отличие от исчисления высказываний, исчисление предикатов оказывается неполным в узком смысле. К его аксиомам можно присоединить без противоречия недоказуемую в нем формулу 3xF(x) —> VxF(x). Все предметы тождественны — таков содержательный смысл этой формулы.
Приведем для доказательства лишь соображения, носящие общий характер. Каждая выводимая формула исчисления высказываний имеет выводимый аналог в исчислении предикатов и может быть присоединена к аксиомам этого исчисления. Например, такая: А А. Она выводима в исчислении высказываний. Если область определения М предиката F(x) состоит из одного элемента х, то А —> А превращается в исчислении предикатов в формулу 3xF(x)-> VxF(x), которая будет истинной. Она не будет истинной, если М содержит больше, чем один элемент. Однако из общелогических положений нельзя заключить, что область М содержит более одного элемента. Таким образом, исчисление предикатов неполно в узком смысле.
214
Часть I. Математическая логика
Полнота в широком смысле
Логическая система полна в широком смысле, если любая тождественно истинная формула в нем доказуема. На основании теоремы Геделя проблема полноты в широком смысле решается для исчисления предикатов положительным образом.
Все выводимые формулы исчисления предикатов представляют собой тождественно истинные высказывания. Обратно, каждая тождественно истинная формула выводима в исчислении предикатов. Из этого ясно, что в исчислении предикатов нельзя вывести сколько-нибудь содержательное по существу высказывание, в частности, математическое. Однако если к аксиомам исчисления предикатов присоединить какие-либо невыводимые формулы в качестве новых аксиом, то получится другое исчисление, в котором выводимы, помимо тождественно истинных формул, и другие формулы. Средствами этого исчисления могут быть описаны различные математические дисциплины, например арифметика, теория чисел, геометрия, теория множеств. Любая дедуктивная система может быть выражена указанными средствами. При этом любая выбранная система аксиом должна быть внутренне непротиворечива и независима, т. е. каждая из аксиом должна быть не выводима из остальных.
Глава 5
_ maxi-
I rfrim |
Теория алгоритмов
5.1.	Характерные черты алгоритма
Понятие алгоритма в математике прошло большой путь развития. Общее определение алгоритма, имеющее интуитивный характер, следующее.
Алгоритм — это общий, единообразный, точно установленный способ решения любой задачи из данной массовой проблемы. Таким образом, алгоритм всегда связан с решением массовой проблемы. Задачи такого класса отличаются друг от друга значениями входящих в них параметров. Примеры алгоритмов: извлечение квадратного корня, предельный переход, нахождение производной и т. п. Приведенное понятие алгоритма нестрогое. В нем встречаются слова, точный смысл которых не установлен, например "способ". Тем не менее даже при таком определении можно выделить некоторые характерные черты алгоритма:
1.	Дискретность. Каждая последующая величина получается из значений предыдущих по определенному закону. Все величины получаются последовательно друг за другом.
2.	Детерминированность. Между всеми величинами, получаемыми алгоритмом, существует жесткая причинная связь. Последующие значения зависят от предыдущих.
3.	Элементарность шагов алгоритма. Закон получения последующей системы величин из предшествующей должен быть простым.
4.	Массовость. Начальная система величин выбирается из некоторого множества. Начальные условия могут варьироваться в бесконечных пределах.
5.	Результативность. Конечный результат всегда должен быть получен.
Слово "алгоритм" происходит от имени математика аль Хорезми* (ал Горез-ми— алгоритм). Интуитивное понятие алгоритма работает, когда речь идет
Лбу Джафар Мухаммад ибн Муса ал-Хорезми (ок. 783-ок. 850) — арабский математик.
216
Часть I. Математическая логика
о, найденном алгоритме решения конкретной задачи. Положение существенно меняется, если возникает алгоритмическая проблема, решение которой не найдено, и требуется установить, имеет ли она решение. В этом случае надо доказать либо существование алгоритма, либо его отсутствие. Первое можно сделать путем фактического описания процесса, решающего задачу. В этом случае достаточно и интуитивного понятия алгоритма, чтобы удостовериться в том, что описанный процесс есть алгоритм. Доказать несуществование алгоритма таким путем невозможно. Для этого необходимо точное формальное определение.
В уточнении понятия алгоритма выделяются три направления:
1.	Уточнение понятия эффективно вычислимой функции. Этим занимались А. Черч и К. Гедель. В результате был выделен класс частично рекурсивных функций, имеющих строгое математическое определение.
2.	Машинная арифметика. Здесь сущность понятия алгоритма раскрывается путем рассмотрения процессов, осуществляемых в вычислительной машине.
3.	Направление, связанное с понятием нормальных алгоритмов из работ А. Маркова .
Существование различных определений понятия алгоритма имеет и свои преимущества, т. к. для решения различных задач удобно использовать различные наиболее подходящие для этого случая определения.
Первое направление—- уточнение понятия алгоритма— связано с точным описанием специального класса функций, называемых рекурсивными. Числовые функции, значения которых можно вычислить посредством алгоритма, называются вычислимыми функциями. Понятие алгоритма здесь не определено формально точно, поэтому понятие вычислимой функции оказывается интуитивным. Однако совокупность вычислимых функций, соответствующих условиям 1—5, т. е. удовлетворяющих характерным чертам алгоритма для многих процессов, оказалась одной и той же, легко описываемой в математических терминах. Эта точно описанная совокупность числовых функций, совпадающая с совокупностью всех вычислимых функций в самом широком понимании алгоритма, называется совокупностью рекурсивных функций.
Рекурсивные функции впервые описаны Геделем, затем в 1936 г. Черч пришел к такому же классу функций. Анализ идей, лежащих в основе определения рекурсивных функций, позволил Черчу высказать гипотезу о том, что класс рекурсивных функций тождественен классу всюду определенных вы-
Лнлрей Андреевич Марков (1903-1979) — советский математик.
Глава 5. Теория алгоритмов 217
числимых функций. Эта гипотеза известна под именем тезиса Черча\ доказать ее нельзя, т. к. понятие вычислимой функции точно не определено. В силу тезиса Черча вопрос о вычислимости функции равносилен вопросу о ее рекурсивности. Понятие рекурсивной функции строгое. Поскольку в алгоритмических проблемах речь обычно идет не об алгоритмах, а о вычислимости некоторых специальным образом подобранных, решающих проблему функциях, то можно строго доказать, что решающая конкретную задачу функция не может быть рекурсивной, а следовательно, не существует и алгоритма решения этой задачи. Именно этим путем Черч доказал неразрешимость алгоритмической проблемы логики предикатов.
Если первое направление уточняет понятие алгоритма через класс рекурсивных функций, то второе, связанное с машинной арифметикой, сначала уточняет понятие алгоритма, а затем определяет класс вычислимых функций. Это направление развито Постом и Тьюрингом . Основная идея этого направления заключается в том, что алгоритмические процессы — это процессы, которые могут имитироваться на подходяще построенных машинах, которые описываются в точных математических терминах. В результате оказывается, что сложные процессы можно моделировать на простых устройствах. Всякий алгоритм может быть задан некоторой функциональной схемой и реализован в соответствующей машине Тьюринга. Эта гипотеза называется тезисом Тьюринга. Его также нельзя доказать по той же причине, что и тезис Черча. Все известные до сих пор алгоритмы могут быть заданы посредством тью-ринговых функциональных схем.
Третье направление — теория нормальных алгоритмов Маркова.
Будем называть алфавитом А всякое непустое конечное множество символов; сами символы называются буквами. Словом в алфавите А называется всякая конечная последовательность букв этого алфавита. Простейшими действиями в нормальных алгоритмах Маркова являются последовательные замены вхождений подслов специального вида на другие слова. Нормальный алгоритм может переводить слово а в слово 0, причем на множестве слов используемого алфавита слово 0 однозначно определяется этим алфавитом и словом а. Нормальный алгоритм может быть и не применим к слову а, если он не преобразует а ни в какое слово.
Основное положение об ’’универсальности” нормальных алгоритмов — принцип нормализации-, любой алгоритм над конечным алфавитом А эквивалентен относительно А некоторому нормальному алгоритму над А. Этот принцип подобен тезисам Черча и Тьюринга и недоказуем из-за неопреде-
Алан Матисон Тьюринг (1912-1954) — английский математик.
218
Часть I. Математическая логика
ленности формального понятия алгоритма. На практике достаточно ограничиться алгоритмами, действующими на последовательностях натуральных чисел и выдающих в качестве значений также последовательности натуральных чисел. Действия нормальных алгоритмов Маркова похожи на действия машин Тьюринга.
В последующих разделах более подробно изучим класс рекурсивных функций и процессы, происходящие в машинах Тьюринга. Нормальные алгоритмы Маркова не будут рассматриваться.
5.2.	Вычислимые, частично рекурсивные и общерекурсивные функции
Пусть функция у зависит от целочисленных аргументов
Функция у =	, х2,...х„) называется эффективно вычислимой, если суще-
ствует алгоритм, позволяющий вычислять ее значения. Простейшие эффективно вычислимые функции:
1.	Х(х)=х + 1—оператор сдвига.
2.	О(х) =0 — оператор аннулирования.
3.	\<т<п —оператор проектирования.
Рассмотрим функции fXxi,x2,...,x„\ f2{xt,x2,...,x,\...,fm[x},x2,...,x,} и функцию <р(х, ,х2,...,хт), а функцию 4/(x, ,х2,...,х:1) определим равенством V(xl,x2,...,x„)=pC/;(xl,x2,...,x„V2(x|,x2,...,x„),...>/„(xl>x2,...,x„)).
Ясно, что функция \|/(Л] ,х2,...,хн) получена суперпозицией функций и /(хрХ^.-.хД /2(х|,х2,..„х„),...,./;,(х„х2,...,х„). Очевид-но, что если все функции	и Ф всюду определены, то \|/ —всю-
ду определена. Функция у будет не всюду определена, если хотя бы одна из функций .........fln не всюду определена или если /2,всюду определены, но ф(/1./2.../,») где-то не определена и т. п.
Могут быть случаи, когда не все функции »•••»/»< зависят от всех п аргументов х{,х2,...хп. В этих случаях для получения суперпозиции используются фиктивные аргументы и функции	х2,...,х„). Например,
Глава 5. Теория алгоритмов
219
у(х, У, Z) = <р(.Л (х), /2 (л, у, z), у, х) => <р(х,, х2, х3, х4),
f(х) = Г (х, у, z\f2 (х, у, z) = F2 (х, у, г),
Fy (х, у, z) = 732 (х, у, z), F4 (х, у, z) = 7] (х, у, z), причем используется суперпозиция ф, Fx,F1,F3,Fiit.
Примитивная рекурсия
Пусть имеются две функции ф(х2,х3,...,х,1) и ф(х],х2,...,хм+1),л > 1. Определим новую функцию
/(0,х2,х3,...,х„)=<р(х2,х3,...,х„),
/(у + 1,х2,х3,...,х„)=ф(у,/(у,х2,х3,...,х„),х2,х3.х„),
f зависит от п аргументов, ф от п — 1, а ф от и + 1 аргумента.
Говорят, что функция f получена из ф и ф по схеме примитивной рекурсии. Очевидно, что f интуитивно вычислима, если фиф — интуитивно вычислимые функции. Действительно, пусть xi =a2,...,xn -an. Тогда /(O,a2,a3,...,a„) = <p(a2,a3,...,a„) = feo,
/(1,a,,a3„.,,a„)= v(0,/(О,a2,.„а,,) = 4/(O,feo,a2 /(2,a2,a3,...,a,)= v(l,/(l,a2,...,a„),a2,...,a„)=4/(l,fe,,a2,...,a„)=fe2 ИТ-Д-В частности, для функции двух переменных /(у,х) будем иметь /(0,х)=ф(х)
,	\	/	/	\ \- Если же аргумент у j всего один, то
Ду + \,х)=у{у,Ду,х),х)
/(())=й
.	. '	, чч,где a —постоянная.
Говорят, что функция f(y,х2,х3,...,хн) получается из ф(х2,х3>...,хи) и ф(у, yj, у2у6.,х2 ,х3,...,хн) возвратной рекурсией, если она может быть задана схемой
/(у + 1,Х2,Х3
/(о,х2,х3„..,х„) = ф(х2,л3„..,х„),
х )_ J>’’^(а1(>’ + 1)’Х2.х3,...,х„),...
I ...,/(а,(у + 1),х2,х3...х„),х2,х3,...,х„
где а,(у + 1)< у, а2()> + 1)< у,...,аЛ(у + 1)< у.
8 Зак 4306
220
Часть I. Математическая логика
Будем говорить, что функция f(x) получается из функции g(x) с помощью С £•( \ ' ( \ f _/(0)=0, итерации, и обозначать j (х) = ig\x), если { z \	/ / w
lf(x + l)=g(f(x)).
Встает вопрос: для каждых ли частичных функций (р, у от п — 1 и п + 1 переменных существует функция f от п переменных, удовлетворяющая условиям примитивной рекурсии и будет ли такая функция единственной? Так как область определения функций есть множество всех натуральных чисел, то ответ на этот вопрос, очевидно, положителен. Формулы примитивной рекурсии символически изображают так: f =2?((р,у) и рассматривают R как символ двухместной операции, определенной на множестве F функций.
Функция f называется просто примитивно рекурсивной, если ее можно получить конечным числом операций подстановки и примитивной рекурсии исходя лишь из простейших функций	Операции подстановки (су-
перпозиции) и примитивной рекурсии, будучи применены ко всюду определенным функциям, дают в результате снова всюду определенные функции. Поэтому все примитивно рекурсивные функции всюду определены.
Функция f(x\, х2,...,хп) называется частично рекурсивной, если она может быть получена за конечное число шагов из простейших функций	при
помощи операции суперпозиции, схем примитивной рекурсии и операции минимизации.
Функция	называется общерекурсивной, если она частично
рекурсивна и всюду определена.
_	[	/(0,х)=х,
 Пример 1. < .	.	.	При таком задании сразу видна
L/(y + 1,*)= ЛЛ*)+ 1
(р(х)=х, ио \|/(x,y,z) надо устанавливать. По определению примитивной рекурсии
= (/(x,z) = y) = v(x,y,z).
Но /(у + 1,х)= /(у,х)+1 = (таккак f(y,x)= у'/ = у + 1.
Гпава 5. Теория алгоритмов
221
Итак, y,z)= у + 1. Тогда числовые значения также легко находятся:
/(0,0) = О, /(0,1)= 1, /(0,2)= 2,
/(1,0)= V(0,/(0,0)0)= V(0,0,0)=0 +1 = 1,
/(2,0)= 4/(1,/(1,0 )о)= V(l,l,0)= 1 +1 = 2,
/(3,0)= V(2,/(2,0)0)= ч/(2,2,0)= 2 + 1 = 3,
/(1,1) =4/(0,/(0,1)1)= 4/(0,1,1)= 1 + 1 = 2,
/(2,1)= V(l,/(1,1)1) = 4/(1,2,1) = 2 +1 = 3,
/(3,1)= 4/(2,/(2,1)1)= 4/(2,3,1)= 3 +1 = 4,
/(1,2) = 4/(0, /(0,2)2) = 4/(0,p(2)2) = 4/(0,2,2)= /(0,2)+1 = 2 +1 = 3,
/(2,2)= 4/(1,/(1,2)2)= /(1,2)+1 = 4/(1,3,2) = 3 + 1 = 4,
/(3,2)=4z(2,/(2,2)2)=/(2,2)+1 = 4/(2,4,2) = 4 + 1 = 5 ит.д. Помес-тим эти значения в табл. 5.2,1. Интересно выяснить, как аналитически выглядит функция f(y,x) в этом примере. Имеем f(y +1, х)=/(лх)+1, следовательно, f(y + z,x)=f(y,x)+z. Положим у = 0, тогда /(z,x)= f(Q,x)+z = x+z, т. е. поскольку имя аргумента может быть любым, важно лишь его место в функции /(.У,х)=У + х.
Таблица 5.2.1
Y	X		
	0	1	2
0	0	1	2
1	1	2	3
2	2	3	4
3	3	4	5
222
Часть!. Математическая логика
Особенно отчетливо это видно из способа вычисления функции а именно:
/(0,х)=х,
/(1,х)=1 + /(0,х)=1 + х, /(2,л) = 1 + f(l,x)= 1 + (1 + х) = 2 + х, /(З, х) = 1 + f(2,x) = 1 + (2 + х)= 3 + х,
У + X.
[	/(0,х)=0,
 Пример 2. < z \	/	\	. Вычисляем функцию у потоп
[/(^ + 1,х)=/(у,х)+х
жесхеме f(y + l,x)=y(y,f(y,x),x) = l у = х, j = 4<(л,y,z).
\/(x,z)=y/
Аналогично, т. к. /(v + l,x) = f(y,х)+ х, то
/(у + 1,х)= 4,(х,y,z) = у + Z. Числовые значения вычисляются таким
же образом. Например, /(0,0)= 0,/(0,1)= О, /(0,2)=0,
/(1,0) = у(0,/(о,0),0) = 4,(0,0,0) = 0 + 0 = 0,
/(2,0)= 4,(1 >/(1,0)0) = v(l,0,0)= 0 + 0 = 0,
/(3,о)= 1|»(2,/(2,0)0)=v(2,0,0)= 0 + 0 = 0,
/(1,1) = v|/(0,/(0,1)1) = 4,(0,0,1) = 0 +1 = 1,
/(2,1)= 4,(1,/(1,1)1)= 4,(1,1,1) = 1 +1 = 2,
/(3,1) = 4,(2,/(2,1)1)= 4,(2,2,1)= 2 +1 = 3,
/(1,2)= 4,(0,/(0,2)2) = 4,(0,0,2) = 0 + 2 = 2,
/(2,2)= 4,(1,/(1,2)2)= 4/(1,2,2)= 2 + 2 = 4,
/(3,2)=у(2,/(2,2)2)=ч/(1,4,2)=4+2 = 6 (см.табл. 5.2.2).
Таблица 5.2.2
Y	0	X 1	2
0	0	0	0
1	0	1	2
2	0	2	4
3	0	3	6
Гпава 5. Теория алгоритмов
223
Значения функции f при других значениях аргументов х и у могут быть вычислены аналогично. Определим аналитический вид f(x, у). В этом случае /(y + l,.v) = /(^x)+ х, тогда f(y + z,x) = /(у,х)+ z • х. Опять полагая У = 0, получим f(z,x)= /(0,х)+ z • х = 0 + z • х = z • х, т. е. f(y,x) = у  х. Таким же образом из способа вычисления f(y, х) видна ее
аналитическая структура
/(0,х>0,
/(1,х)=х + /(0,х)= х + О, f(2,x) = х + /(1,х) = X + л -1 - 2  х, /(3,х)=х + /(2,х) = а + х- 2 = 3  х,
 Пример 3. Рассмотрим ту же самую функцию, что и в первом примере, только заданную несколько иначе. Пусть 5(х, у) = х + у и по схеме примитивной рекурсии она задана следующим образом:
Г х + 0 = х,	| S(x,o)=x
[х + (у + 1)= (х + у)+ Г ' ' |б’(х,у + 1) = 5’(х,у)+Г
где 5(х,0)= Z‘(x), S(x,y + l)==l(s(x,y))=y(x,y,z). Таким образом, функция двух переменных 5(х, у) получается по схеме примитивной рекурсии из функции одной переменной (р(х)=7|1(х) и функции трех переменных v(x,bz) = X(s(x,y)) — оператора сдвига. Итак, вспомним еще раз определение примитивной рекурсии для функции двух аргументов (перевычисляемый рекурсивно аргумент стоит
[	/(х,0)=(р(х)
на втором месте): < , ч , z ч>. В пашем случае [/(х,у + 1)=\и(*,у,Дх,у))
I	0 + х = х = /|1(х)	_
J	ч ,	ибо
[/(х,у +1)= х + (у + 1) = 1 + (х+ у) = 1 + Z
/(лу)= $(х,у) = х+ у, а третий аргумент функции \|/ есть z, т. е. \|/(х,у, z) = 1 + Z . Это то же самое, что и в первом примере; там при замене переменных формула f(y, х) стояла на втором месте в списке аргументов формулы ^(y,f(y,x\x)t поэтому ранее мы получили 1 + у . При вычислении значений функции f(x, у) это не
224
Часть I. Математическая логика
должно сказываться. Вычислим опять несколько значений функции по формуле примитивной рекурсии:
/(0,0) = О, /(1,0) = 1, /(2,0) =2, /(3,0)= 3,
/(0,1)= /(0,0 +1)=1 + /(0,0)= у(х, y,z)= 4/(0,0,0) = 1 + 0 = 1,
/(0,2)= /(0,1 +1)=1 + /(о,1)= v(0,l,l) =1 + 1 = 2,
/(0,3)= /(0,2 + 1)=1 + /(0,2)=V(0,2,2)=l + 2 = 3,
/(1,1)= /(1,0 +1)= 1 + /(1,0)= V(x. y,z)= v(l,0,l)=1 + 1 = 2,
/(1,2)=/(1,1 +1)=1 +/(1,1)= v(l,1,2)= 1 + 2 = 3,
/ (1,3) = / (1,2 +1)=1 + / (1,2) = у (1,2,3)=1 + 3 = 4,
/(2,1)= /(2,0 +1)= 1 + /(2,0) = v(2,0,2)= 1 + 2 = 3 и т. д. (табл. 5.2.3).
Таблица 5.2.3
Y	X			
	0	1	2	3
0	0	1	2	3
1	1	2	3	4
2	2	3	4	5
3	3	4	5	6
Получена та же таблица, что и в первом примере, только повернутая на 90° по отношению к первоначальной.
Пример 4. Доказать общерекурсивность функции Р(х, у) = х- у.
Зададим эту функцию следующей схемой примитивной рекурсии:
[	Р(х,0) = 0- х = 0 = О(х)
[р(х, y + l)=x-(y + l)=x-y+X = X + р(х, у)= s(x,p(x, у)), т.е. Р(х,у) получается по схеме примитивной рекурсии из функций О(х) и 5(х, у) = х+j?, которые общерекурсивны и, следовательно, функция Р(х, у) также общерекурсивна. Так как используемое здесь оп-
[	/(х,0)=О(х)=0
ределение примитивной рекурсии имеет вид ! ,	\	/	/	\\»
[/к У + 0= W, У, f(x, у))
Гпава 5. Теория алгоритмов
225
(	\	[	Х’0 = О(х)
а Р(х, у) определена как <	, х	, то вид функции \|/ будет
[х/у + 1) =	+ x
следующий: f(x,y + 1) = л’-(у + 1)=х-)2 + з: = х + г = ^(л',^,?). Расчет ее значений даст такие же результаты, что во втором примере.
/х [1, А-*0,  Пример 5. Доказать общерекурсивность функции sgn(xj=|
Функцию Sgn(x) можно определить с помощью простейшей рекурсии таким образом:
Г sgn(o)=0,	J sgn(o)=0(4	. .
I , или /	z./ vr-r|eCilv7=l-
(sgn(y+l)=l	[sgn(T+1)= Сду)
Тогда по определению Sgn(.r) общерекурсивна.
 Пример 6. Пусть дана функция G(x, у)= .V'. Определим ее по схеме ( х°=1,	(	G(x,0)=C,(x),
примитивной рекурсии ^,+1 =	* или	* j)=	у)).
Таким образом, функция G(x, у) может быть получена по схеме при-митивной рекурсии из общерекурсивных функций Р И С,, следовательно, она сама является общерекурсивной. Определим функцию \|/. Так как
|	/(х,0)= С,(х) = 1,	[ х° = 1,
j/(x,j’ + l)= V(x,v,/(x,.V'))	= ху-х,
то fix,у + 1)=х>,+| -ху  х — х • ху = x-z = x- f(x,y) = y(x, у,z).
Вычислим таблицу значений этой функции для х - 0,1,2, у = 0,1,2,3.
/(0,0) = 0° = 1, /(1,0)= 1° = 1, /(2,0) = 2° = 1,
/(1,1)=/(1,0 + 1)=Ч'(1Д1)=1! = 1.
/(1,2)=/(1,1 + 1)=V(1,1,1)= 11 = 1,
/(1,3)=/(1,2 + 1)=V(1,2,1) = 1-1 = 1,
/(2,1)=/(2>0 + 1)=Ч'(2,0,1)=2-1 = 2,
/(2,2)=/(2,1 + 1)=у(2,1,2)=2.2 = 4,
/(2,3) = /(2,2 + 1) = ф(2,2,4) = 2  4 = 8 и т. д.
226
Часть I. Математическая логика
	Пример 7. Функция х! удовлетворяет равенствам < z ч , ч
[(у + 1)!=у!(у + 1)
f 0!=С|(х)=1,
или |(у + 1)!= z'(p(y!A(y)V,y)’ Т-е' ФУНКЦИЯ * можетбыть П0ЛУ чена по схеме примитивной рекурсии из общерекурсивных функций с, И , у + 1), х, у), следовательно, xi общерекурсивна. Определим аналитический вид функции у . Как и в предыдущем случае,
Г /(о)=1,	(	0!=1,
\f(y + $='¥(yj(y)') IG + 0= ?!(? +1), т. е. f(y +1) = у! (у +1) = (у + 1)у! = (у +1)- f(y) = (у +1)- z = 4/(х,у, z). Вычислим теперь несколько последовательных значений /(о) = 1, /(1)= /(О +1)= v(y,z)= v(o,/(o))= v(o,i)= (о +1)-1 = I, /(2)=/(1 +1)= vO, z) = 4/(1,/(1)) = V(1 J) = (1 +1)-1 = 2, /(3)= /(2 +1)= V(y,z)= V(2,/(2))= V(2,2) = (2 +1)-2 = 6 и т. д.
	Пример 8. Какая функция получается из ф и у с помощью схемы примитивной рекурсии, если ф(х)=х,	2Л<? По определе-
[ f(x,0)=xt нию < z \ у ]/(•*,у + 1)= Z -
Итак, искомая функция /(х, у) задана схемой примитивной рекурсии. Вычислим по этой схеме последовательно несколько значений данной ,	I	f(x,0) = x,
функции 1 ч	ч	\	, далее
I f (*Д) = /(х,0 +1) = y(x,0, f (х,0)) = \|/(х,0, х) = Xх
первую строку можно опустить.
f(x,2)= /(х,1 + 1)= ч/(х,1,/(х,1))= ч/(х,1,х')= (хх)' = х'-,
/(x,3)=/(x,2 + l)=v|/(x,2,/(x,2))=^x,l,xI	=хххх=хх
и т. д. Ясно, что /(х, у) = x"'J . Вычислим некоторые числовые значения. /(2,0)= 2, тогда
f (2Д)= f (2,0+1)= w(2,0,f (2,0))= ч/(2,0,2)= zx = 22 = 4,
Гпава 5. Теория алгоритмов 227
/(2,2) = /(2,1 +1) = v(2,1, /(2,1))= ч,(2,1,4) = zx = 42 = 16, /(2,3)=/(2,2 + l)=4,(2,2./(2,2))=4/(2,l,16)=z'=162 = 256.
	Пример 9. Какая функция получается из ф И \|/ с помощью схемы примитивной рекурсии, если ф(х)=х,	z)= xz ?
Задача решается аналогично предыдущей. Распишем схему примитив-f У(х,О) = х,
ной рекурсии по форме < , ч ,	<	\\	• Тогда
[ДМ +1)= \и(х,у,Дх, у)) = xz
|	f(x,O)=x,
|/ (-U) = / (*.0 +1) = 4»(х,0, /(х,0)) = 4/(х,0, х)= хх.
Аналогичные вычисления дают
/(^2) = /(-Vl + l) = vUj./(x,l)) = v(-T"1’-rl)=-rZ = W' •
/(х, 3) = /(х, 2 +1) = 4,(х,1, /(х,2)) = 4^х,1, (х/ к х7 = (х)^
и т. д. Очевидно, что f(x, у)=ху раз.
	Пример 10. В области натуральных чисел разность .V— у естественно считать двухместной функцией от хи у, определенной лишь для х>у, т. к. отрицательные числа ие входят в рассматриваемую область. Но примитивно рекурсивные функции должны быть всюду определены. Поэтому в теории примитивно рекурсивных функций вместо обычной вводят усеченную разность, обозначаемую символом — и
[ х - у, X > у,
определяемую так: х—у = <{	Например, 5 —3 = 2,
[ 0, х < у.
3 —5 = 0, х— у — z = х— (_р + z) ит. д. Функция х— 1 удовлетво-
ряет примитивно рекурсивной схеме
0—1 = 0 = О(х),
То же
(х +1)—1 = X =/)(х, ^).
228
Часть I. Математическая логика
x-Q = x = l\(x,y\
наблюдается при любых х и у
х-(у + 1) = х-у -1.
По опреде-
лению
/(х,0)=х,
/(х,у + 1)=х-(у + 1)=| х-у |-1 =	,	,	.
I I . Итак,	Z—1.
= f(x, у)-1 = у(х, y,f(x, у))= Z-1
Вычислим несколько значений этой функции. /(0,0) = 0—0 = 0,
/(1,0) = 1-0 = 1, /(2,0)= 2-0 = 2,
/(0,1) = 0—(0 + 1) = ^0—oj—1 = 0—1 = 0 и т. д. Например, /(1,1)=1-(0 + 1)= 1—0 —l = V|/(l,0,/(l,0))=v|/(l,0,l) = z—1 = 1—1 = 0,
/(1,2)=1-(1+1)= 1-1 -l = V(l,l,/(l,l))=v(l,l,0)=z-l=0-l = 0,
/(1,3) = 1-(2 +1)= 1—2 -1 = 4/(1,2,/(1,2))= 4/(1,2,0)= z-1 = 0-1 = 0,
/(2,l) = 2-(0 + l) = ^2-0j-l = 4/(2,0,/(2,0)) = v(2,0,2)=z-l = 2-l = l, /(3,1)= 3—(о +1)= ^3—0 j—1 = 4/(3,О,/(3,О))= 4/(3,0,3)= z-1 = 3-1 = 2 /(2,2)= 2-(1 +1)= 2-1 -1 = 4/(2,1,/(2,1)) = 4/(2,1,1)= z-1 = 1-1 = 0.
Гпава 5. Теория алгоритмов 229
Операция минимизации
Пусть дана функция /(х,у), причем x,y,f принимают лишь натуральные значения. Решим задачу отыскания для данной функции и фиксированного х наименьшего из тех у, при которых /(х,у)-Ь. Результат— функция от х, т. е. <р(х) = Ру [/*(*» у) = &]• Читается: "наименьшее у такое, что /(х,у)=Ь". Для функции п переменных ц-оператор определяется аналогично (p(xj, х2,..., х„) = ц у [/ (xj, х2,..., хп, у) = b]. Переход от /(^,х2,...,хя,у) к ф(х|,х2,...,хл) и называется ц-оператором. Функция (p(xj ,х2,...,хп) легко считается по следующей схеме.
1. Полагаем у = 0, находим /(хрХ^.^х^О). Если /(х,, x2,...,x„,0) = b, то ф(хр х2,...,х„ )= 0, если нет, то переход к следующему шагу.
2. Вычисляем /(хрХ2,...,х;/,1). Если f(x],x2,...,xll,\)=b, то ф(х],х2,...,хп)= 1, иначе переход на второй шаг и т. д.
Функция ф(х|,х2,...,хя) считается неопределенной, если окажется, что для всех у /*(х^, х2 ,...,xrt, у)^ b или для какого-то у f(x\,x2,...,xn, у) не определено.
Описанный процесс нахождения значения выражения ф(х|,х2,...,х„)=|лу[/(х1,х2,...,х„ ,у) = />] будет продолжаться бесконечно в следующих случаях:
□	значение /(х1,х2,...,хи,0) не определено;
□	значения ./(х|,х2,...,хп,у) для у = 0,1,...,я — 1 определены и отличны от 6, а значение /(х^,Х2,...,х„,а) не определено;
□	значения /(х, ,х2,...,хм, у) определены для всех у = 0,1,2,... и отличны от b.
Во всех этих случаях значение выражения ф(я|,х2,...,х/1) = = ц>,[/’(х1, х2,...,хн, у)= b] считается неопределенным. В остальных случаях описанный процесс обрывается и дает наименьшее решение у = а уравнения минимизации. Например, вернемся к уже рассмотренной функции
230
Часть I. Математическая логика
Sgn(x) = j ’ Тогда р [sgn(x) = 1]= 1, т. к. если х= 0, sgn(o) = 0 1, [О, х= 0.
то необходим переход на следующий шаг. Далее х = 1, sgn(l)=l, следовательно, pT[sgn(x)=l]=l.
Рассмотрим еще один пример. Очевидно, что
у—х = 0 = 0, т. к. первым
решением уравнения у—х = 0 попеременной у является значение у = 0,
ибо 0 — х = 0. Итак, на первом шаге задача решена, и р у
у—х = 0
= 0.
Значение выражения (p(xj ,х2,...,х„ )= ру [f(x] ,x2,...,x/I ,у) = Z?] есть функция от аргументов x],X2,...ixn,b. Эту функцию символически обозначают Mj. Если заданная функция одноместная, то функцию Мf часто обозначают через f~x и называют обращением функции f или обратной функцией.
Итак, f ‘(х)= ру[/(у) = х]. Например, пусть опять y = sgn(x) =
Тогда	(х)= sgn-1 (х)= Ц, [sgn(y) = л|
1, х*0,
О, л = 0, ИЛИ
/'(0)=sgn-'(0)=nJsgn(y)=0]=0, /’ (1) = sgn~' (1)= р.[sgn(>')= 1]=J  f (2) = sgn -1 (2) = Ц Jsgn(y) = 2]	не определено, т. е.
-	1 / \ [ х, х = 0,1, sgn (х)=	Следует помнить, что половина гра-
[неопределено,если х > 1.
фика функции Sgn(x) для х<0 отброшена, т, к. рассматривается лишь функция целочисленного аргумента при х> 0.
С учетом определения операции минимизации очевидно, что все примитивно рекурсивные функции частично рекурсивны, а класс частично рекурсивных функций шире класса примитивно рекурсивных функций, т. к. все примитивно рекурсивные функции всюду определены, а среди частично рекурсивных встречаются и не всюду определенные функции, например sgn”'(x), кроме того, есть и нигде не определенные функции.
Глава 5. Теория алгоритмов 231
Уже из разобранных примеров видно, что многие числовые функции примитивно рекурсивны. Понятие же частично рекурсивной функции — одно из главных понятий теории алгоритмов. Каждая частично рекурсивная функция вычислима путем определенной процедуры механического характера, которая несомненно отвечает нашему интуитивному представлению об алгоритмах. С другой стороны, какие бы классы точно "очерченных алгоритмов" до сих пор фактически ни строились, во всех случаях неизменно оказывалось, что числовые функции, вычислимые посредством алгоритмов этих классов, были частично рекурсивными. Поэтому ныне общепринятой является следующая естественнонаучная гипотеза, обычно формулируемая как тезис Черча.
Тезис Черча. Каждая интуитивно вычислимая функция является частично рекурсивной.
Эту гипотезу нельзя доказать, но можно опровергнуть, построив хотя бы один контрпример. Пока таких примеров построено не было.
Как мы уже видели, операции подстановки (суперпозиции) и примитивной рекурсии, произведенные над примитивно рекурсивными функциями, дают в качестве результата снова примитивно рекурсивные функции. Эти свойства сохраняются и при следующих операциях.
Теорема 5.1. Пусть «-местная функция ф примитивно рекурсивна. Тогда «-местная функция /, определяемая равенством
/(х[,Л'2,...,хя )= Хф(х1»х2»—’лн-1’0’ также примитивно рекурсивна.
/=0
Так как все переменные в f и ф пробегают целочисленные значения, то из последнего равенства вытекает следующее:
f	/(Х|,х2х„_, ,0) = ф(х,, х2...хп_, ,0),
[f(xt,х2.....х„_,, у +1) = /(х,,х2,...,	, у)+ ф(х,,х2 х„_,, у + 1).
Эта схема определения функции f похожа на схему примитивной рекурсии при , х2 . Действительно, схема по определению имела вид
[	/(х1,х2,...,х„_1,0)=ф(х1,х2„..,х„_1),
[/(Х|,Х2,....Х„_|,У + 1)=Ч/(Х|,Х2.х„_1,у,/(х],х2,...,х„_],уУ).
Тогда предыдущую схему можно формально свести к последней, если поло-жить <р = ср, ф(х1,х2...,х„_1,у,?)=г + ф(х|,х2..„х„_|,у + 1).
232
Часть I. Математическая логика
Теорема 5.2. Если п -местная функция ср примитивно рекурсивна, то /1-местная функция, определенная формулой /(х|,х2,.••5х/|_1,х,|) =
= ПфСч ’ х2’—»Лм-1 ’0’также примитивно рекурсивна.
/=о
Это определение приводит к следующей схеме: f	f(x,, х2лл_, ,о) = ф(л,, х2..х„_, ,о),
...x,l_l,y + l)=f(xl,x2...Лл_1,у)-ф(х1,Л2,..„Л„_1>у + 1).
В этом случае говорят, что функция /(^,х^,...,хн) получается из функции ф(*1»*2»”‘»*л) операцией мультиплицирования.
Теорема 5.3 (о мажорируемых неявных функциях). Пусть ф(х],х2	у),
а(х1,х2,...,хп)— такие примитивно рекурсивные функции, что уравнение ф(х|,Х2,...,х„,у) = 0 для каждых значений х^,х^,...,х„ имеет по крайней мере одно решение и Цу1ф(х1,х^,...,хя,у)=0]^а(х|,х2,...,хя) ДЛЯ любых ХрХ2,...,Хл . Тогда функция /(Х],Х2,...,ХН) = = |1у[ф(х],х2,...,хл, у) = О] также примитивно рекурсивна.
5.3.	Примитивная рекурсивность некоторых арифметических функций
Проверим, что некоторые обычные арифметические функции, связанные с отношениями делимости и простоты натуральных чисел, являются примитивно рекурсивными.
1. Возьмем
— — частное от деления х на у и определим функцию rest(x, у) — остаток от деления х на у. Чтобы иметь дело с всюду определенными функциями, дополнительно положим, что “ = х, rest(x,0)=x для Ухе N.
Если функции так определены, то rest(x,y) =
тельно, пусть, например, х = 5, у = 3,
Глава 5. Теория алгоритмов
233
у- - =3-1 = 3, .У.
= 5—3 = 2. По теоремам 5.1-5.3 из
примитивной рекурсивности функции — будет вытекать и примитивная
рекурсивность функции rest(x,y).
При у> О
— =п удовлетворяет соотношению Пу < х< (л + 1)у.
Можно проверить, что п равно числу нулей в последовательности
., х-у—х. Например, прн х = 5, у = 3,
и = 1 и 3—5 = 0, 6-5 = 1, 9-5 = 4, 12-5 = 7, 15-5 = 10.
Введем функцию sgnl
дополнительную к функции sgn(x)
(дополнительная к '’половинке" функции, определенной для целых поло-
жительных аргументов). Тогда для у > 0
. В на-
шем примере — = 1 + 0 + 0 + 0 + 0 = 1. Так как функция sgnl iy — х ,
L	\	}
стоящая под знаком суммы, примитивно рекурсивна, то на основании пер-
вой теоремы заключаем, что функция
— , а вместе с ней и функция
rest(x, у) примитивно рекурсивны.
2.	Говорят, что число х делится без остатка на число у, если rest(x,y) = 0. Введем двухместную функцию div(x, у) — признак деления х на у, та-
1, rest(x, у) = 0,
.	. Очевидно соотношение
0, rest(x,y)^0.
div(x,y) = sgn(rest(x, у)). Так как функция div(x, у) получена суперпозицией примитивно рекурсивных функций, она также примитивно рекурсивна.
ким образом,
234
Часть I. Математическая логика
3.	Введем функцию, определяющую число делителей натуральных чисел nd(x)= Jdiv(x,i). Рассмотрим пример. Пусть х=5. Тогда, очевидно, 1=0
nd(5)= 2. Проверим это, подробно расписав выражение для nd(5):
nd(5)= ^}div(5j) =
rest=5*0,	resl=O,	rest*O,	resl*O,
div=0	div=l	div=O	div=0
4.	Рассмотрим функцию <?(x), называемую квадратичным остатком числа х:
q{x)~ х—[д/x] , где [z] — целая часть действительного числа z, равная
наибольшему целому числу, не превосходящему z. Функция q(x) равна расстоянию от х до ближайшего слева точного квадрата.
Равенство п = |Тх] равносильно отношению п2 < х< (п + 1)2, где п —
натуральное число. Таким образом,
Ы< х. Проверим это для нескольких значений
= 1 и
х = 5,
д/х" — 2,14..., [л/х]=2. Тогда поскольку [>/х]= ц,
Пусть
то для Z = 0, (t + 1)2 — 5 = 1—5 = 0,	sgn(0)=0^1. Далее для t = 1,
(z + 1)2 — 5 = 4—5 = 0, sgn(0) = 0*l, t = 2, (z + 1)2—5 = 9—5 = 4,
Sgn(4)=l. Итак, t-2— ответ при минимизации. По определению р-оператора процесс немедленно заканчивается, если найдено первое значение, удовлетворяющее минимизации.
Глава 5. Теория алгоритмов 235
По теореме 5.3 о мажорируемой неявной функции следует, что |>/х] примитивно рекурсивна. Вместе с нею примитивно рекурсивной является и функция х—[Vx]2. Аналогичным образом доказывается примитивная рекурсивность и многих других арифметических функций.
Рассмотрим одноместные примитивно рекурсивные функции и следующие операции над ними:
1.	Двухместная операция сложения одноместных функций
(/+gX*)=/W+g(4
2.	Двухместная операция композиции одноместных функций (/*gX*)=/W)-
3.	Одноместная операция итерирования одноместной функции, определяем [	/(о)=о,
мая следующим образом: < , ч / / \\ или f = i' S • l/(« + 0=s(/W)
В последнем пункте функция f возникает операцией итерирования функции g .
Теорема 5.4 (теорема Р. Робинсона*). Все одноместные примитивно рекурсивные функции и только они могут быть получены нз функций Х(х)=х + 1 и q(x)~ х — [л]2 конечным числом операций сложения, композиции и итерирования функций.
При рассмотрении общерекурсивных функций, класс которых шире класса примитивно рекурсивных функций, привлекают специальные виды рекурсии, например, рекурсии второй ступени для двухместных функций.
 Пример 1. Доказать, что функции тах(х, у} и min(x, у) примитивно рекурсивны. Вспомним несколько вспомогательных функций:
.. [1, х#0,	.	[x-j, х>у, —[1, х = 0
Sgn(x)=(o, х=0’	0, х<у ’ Sgn Х = [0, х> 0. РаС"
,	. Гх, х> у,
смотрим первую из заданных функции тах(х, у)- <	. югда
Рафаэль Митчелл Робинсон (1911-1995) — американский математик.
236
Часть I. Математическая логика
max(x,y) = x-sgn х—у + j’-sgw х—у . Пусть х> у,тогда х— у = 1,
sgn х—у =1, sgn! х—у =0, max(x,y)-x-l + y-0 = x.
Наоборот, если х< у,
max(x,y) = x-0 + y -1 = у . Так как функция тах(х,у) была составлена из примитивно рекурсивных функций с помощью операций суммирования и суперпозиции, следовательно, она примитивно рекурсивна.
Совершенно
аналогично
доказывается,
min(x,y)=x-sgn у—х + у  sgnl у—х
 Пример 2. Рассмотреть и доказать примитивную рекурсивность функции о(х) — суммы делителей числа х, причем ст(о) = О. Запишем аналитический вид этой функции и проверим его правильность на при-
мере: cy(x)=2j-sgn(rest(x,f)).
Пусть х = 9. У этого числа три делителя 1, 3 и 9, их сумма равна 1+3 + 9=13,
ф)=
i=I i=2	1=3	i=4	i=5	1=6	i=7 i=S f=9
= 1-1	2-0	3-1	4-0	5-0	6-0	7-0	8-0	9 1 =
idi\(9,l)=l di+j,2>fl dn(9,3>l di\(9,4)=0 di\(9.5U) dl\(9,6>0 dn(9,7W) dix(9,8)-=O di\(9.9)=l;
= 1+3+9 = 13.
5.4. Практическое занятие № 11. Рекурсивность функций
5.4.1.	Доказать, что если функция f(xl,x1,...,x„) примитивно рекурсивна, то следующие функции также примитивно рекурсивны:
а)	ц/(х1,х2,...,хл)=/(х2,х3...xittxl)— циклическая перестановка
аргументов;
Глава 5. Теория алгоритмов 237
6)	<р(х, ,х2)~ f(x\ ’л| >л'2---’лп-|)— отождествление аргументов.
5.4.2.	Доказать, что следующие функции примитивно рекурсивны: а) /(х)=х + л;
б)	/(х) = л;
в)	f'(x,y)=x+y.
5.4.3.	Доказать примитивную рекурсивность следующих функций: а)
б)	х(х) — число делителей числа х, где т(о)= 0;
в)	л(х) — число простых чисел, не превосходящих х;
г)	lh(x) — число простых делителей числа х , где 0;
д)	р(х) — x-q простое число рх, причем р(о)=2, р(1)= 3, /?(?)= 5.,..;
е)	\x41\-
яс) С* (cj =1 при у > х).
5.4.4.	Доказать, что из О(х) и /”	с помощью суперпозиций и
схем примитивной рекурсии нельзя получить функции х +1 и 2х.
, . с „	,	/	\ (х + у)“ + 3х + у
->.4.5. Доказать, что функция с(х,у)--------—------- (канторовская ну-
мерующая функция) осуществляет взаимно однозначное соответствие между № и N (нумерует пары натуральных чисел). Пусть /(х) и г(х) таковы, что с(/(х),г(х)) = х. Доказать, что /(х) и г(х) примитивнорекурсивны и /(с(х,у))=х, г(с(х,у))= у.
5.4.6. Доказать, что функция, перечисляющая по порядку числа Фибоначчи**: /(0)=0, /(1)=1,
[,, + 2)= /(n)+ f(n + 1) пр—но ре,‘урс"вна-
Георг Kamop (1845-1918) — немецкий математик.
Леонардо Фибоначчи Пизанский (1180-1240) — итальянский математик.
238
Часть I. Математическая логика
5AJ. Доказать, что следующие функции частично рекурсивны:
а) нигде не определенная функция со, т. е. функция со с пустой областью определения;

б)
х — у, если х > у, не определена в остальных случаях;
ч „/	\	Z, если zy - х,
в) f(x,y)=\
[не определена в остальных случаях.
5.4.8.	Доказать, что функция /(х},х2,...,хп,хп^), возникающая из функций (р(х],Х2,...,хп) и \|/(х,, х2,..., хп, ли+,, ли+2) с помощью оператора примитивной рекурсии, может быть получена с помощью специальной ре-[ F(x,O) = O,
курсии вида < , ч / /	\\ и суперпозиции из функций
[ F (х, у +1) = Ф (F (х, у))
ф(х1,х2„..,х„), ф(х,л2,..-Л,,,*„+2). 0(х), Х(х), Z"(x,,x2,..„x„) и с(х, у), г(л), l(x) из задачи 5.4.5.
5.4.9.	Доказать:
a) '[1 + [f]] = Sgn^;
в) i[x +1 + [>/4х +1 ] = х2 + х, где f(x) = ig(x) —операция итери-ро-вания функций,
5.4.10.	Показать, что следующие функции могут быть получены из функций Х(х)=х + 1 и q(x)=x—[>/х] с помощью операций подстановки,
итерации и сложения двух функций: a) Sgn(x);
б)	sgn(x);
в)	1”(х„х2..х„);
г)	ax + by + с;
д)	X2.
Глава 5. Теория алгоритмов 239
5.5. Словарные множества и функции
Важнейшие классы алгоритмов можно описать в терминах теории слов в некотором алфавите.
Как уже отмечалось, произвольная конечная совокупность букв называется алфавитом. Последовательность из нескольких букв называется словом. Например, если алфавит состоит из букв А, В, С, то последовательности А,ВАА, СА, СС, АСВАВ будут словами в этом алфавите. Длиной слова называется число входящих в него букв.
Пусть символы аир обозначагот слова, записанные в алфавите, не содержащем самих символов аир. Тогда через ар обозначается слово, получающееся, если сначала выписать слово а, а затем приписать к нему слово р. Слово ар называется композицией (иногда произведением) слов а и р. Операция композиции слов, очевидно, ассоциативна, но не коммутативна.
Слово а называется подсловом слова р, если р можно представить в виде Р = уа5;1 Где у, 5— подходящие (возможно пустые) слова. Пусть А = {«1,tz2,...,«/?}— какой-нибудь конечный набор символов. Обозначим через од совокупность всех слов в алфавите А , включая пустое слово Л .
Всевозможные подмножества совокупности стЛ, в том числе пустые, будут называться словарными множествами в алфавите А .
Для нумерации словарных множеств вводится понятие алфавитных номеров следующим образом. Номер пустого слова Л полагается равным нулю. Далее в каком-нибудь порядке числами 1,2,3,.../) нумеруются символы алфавита. Пусть ai — символ с номером i. Тогда номером слова а = at ...a.ta^ называется число с(а) = /0 + /] • р + /2' р2 + ••• + ZA ‘ рЛ •
Рассмотрим предыдущий пример. Из данного определения номера следует, что каждое слово совокупности стЛ будет иметь единственный и отличный от других алфавитный номер. Пусть стд =	а слово а-АС В АВ,
тогда с(а) = 2  3° + 1  З1 + 2  З2 + 3  З3 +1  З4 . По своему составу и методу получения это обычное число в троичной системе счисления.
Множество слов М в алфавите А называется примитивно рекурсивным, если соответственно примитивно рекурсивна совокупность алфавитных номеров всех слов из М.
240
Часть I. Математическая логика
Говорят, что в алфавите А задана и-местная словарная функция F, если некоторым /1-кам а|,а2,...,ая слов из сА поставлены в соответствие однозначно определенные слова F(“l ,а2,...,а„) в А . Числовая п-местная функция f называется функцией, представляющей словарную функцию F в нумерации К, если	,х„) для всех натуральных
х},х2,...,хп и, следовательно, F(a„a2,... ,аи )=K/(ca, ,ca2,...,can) или f(x],x2,...Jxll)=c(<F(KxliKx2.Ахд)), где К— первоначальная нумера-
ция алфавитных символов. Здесь <?(а) — алфавитный номер слова a, Кх, — слово, имеющее номер х/ в нумерации К.
Рассмотрим предыдущий пример. Пусть = jA,B,C> и Fl(a)=a-a1 = ( Л| «2 «з J
= a • А , Тогда /, (х) = c(F, (Хх)) = с(Хх • Я), т. к. по определению представляющей функции изменяется только аргумент, а не прочие символы, входящие в ее состав. c(F] (а)) = с(Кх • А) = с(а • Я) = 1 + р  с(а). Действительно,
а = АСВ АВ, а- А = АС В АВ • А,
13 2 12	1 3 2 1 2 1
с(а-Я)=1-р° + 2-р’+1-р2+2-р3+3-р4 +
+ 1- р5 = 1 + р(2 +1- р +2- р2 4-3- р3 +1- р4)= 1 + с(а), р = 3
— основание системы счисления при нумерации символов алфавита. Тогда /(х)= 1 + рх= 1 + Зх— числовая функция, представляющая словарную функцию В](а)= а - А. Если же
F2 (а) = а} • а = А • а, то /2 (х) = c(F2 (Ах)) = с(А • Кх),
с(^2(а)) = с(й1 •а)=с(Я  а)= с(а  АСВАВ)= с(а)+1- px+l = с(а)+1- р5 
Тогда /2(х)=х+35— числовая функция, представляющая словарную функцию F2 (a) = А • a .
Итак, свойство словарных функций быть рекурсивными связано с рекурсив-ностью совокупности алфавитных номеров всех слов. Ясно, и определение словарной функции это подтверждает, что свойство быть рекурсивным множеством слов не зависит ни от нумерации К символов алфавита, ни от того, в каком алфавите это множество рассматривается.
По аналогии с основными вычислимыми операциями над числовыми функциями можно определить операции подстановки (суперпозиции), рекурсии и минимизации, производимые над словарными функциями. При помощи
Глава 5. Теория алгоритмов
241
этих ’’словарных операторов" легко и без каких-либо вычислений показывается примитивная рекурсивность всех наиболее употребительных словарных функций. Например, так же вводятся основные элементарные операторы сдвига, аннулирования и проектирования.
Пусть алфавит А состоит из букв ax,a2i...,a . Словарные функции $.,(9 и Z'' (?и = 1,2... ,?' = !,2 р, пг<п), определенные в алфавите А равенствами $,(а)=аа„ О(а)=Л, /"(а„а2,...,а„) = а;„, называются простейшими.
Рассмотрим теперь какие-нибудь частичные словарные функции G и , Н2>...,Нр соответственно от и и п + 2 переменных, заданных в алфа-
вите А , состоящего из букв ax,a2,...,ap.
Результатом операции словарной примитивной рекурсии над функциями G , Нх,Н2,...,Нр называется (п + 1)-местная словарная функция F, которая для любых слов aj,аз,р в алфавите А удовлетворяет равенствам
F(a1,a2>...,a„,A)=G(a1>a2.......a„),
F(a,,a2>...,a„,(3 a,)=H,(a,,a2,...,a„,p,F(al,a2,...,a,,,₽)),
 F(al,a2,...,a„,p a2)=H2(al,a2,...>a,„p,F(al,a2,...,a„,p)), (5.5.1)
F(al,a2,...>a„,Pa(,)=Hp(a],a2,...,a„,p,F(a|,a2>...,a„,₽)).
Это определение, если перейти от словарных функций к представляющим их числовым функциям, выглядит так
Г	f(xl,x2,...,x„fi)=g(xl,x2,...,xn),	(5 5 2)
[/(х|,х2,...,х„,ру+/) = /г,.(л|,х2,...,х,|,у,/(л1,х2,...,х„,.у)). < = 1,2,...,/?.
Представляющая функция f расписывается следующим образом: /(x,,x2,...,x„,z) =
242
Часть I. Математическая логика
f(x„x2,...,x„,z) =
Операция словарной минимизации проводится аналогично, хотя и более сложным способом: вместо одной операции минимизации рассматривается минимизация по каждой букве алфавита at.
Теорема 5.5. Для того чтобы заданиям в алфавите А словарная функция F(ct[	была частично рекурсивной, необходимо и достаточно,
чтобы оиа могла быть получена из простейших словарных функций 5у0,Гт конечным числом операций суперпозиции, словарной рекурсии и словарной минимизации.
 Пример 1. В алфавите A = vA,B,C,D( рассмотрим словарную функ-Ч 2 з 4 J
цию F(a, ,a2) и определим рекурсивно второй аргумент а2. Пусть функция определяется следующим образом:
F(a„A)=G(al), F(a1,p-A)=H1(a1>p,F(a„₽)), F(al>p-B)=H2(a„p,F(a„p))> F(al,pC)=//3(al,p,F(a„p)), F(a1,pD)=H4(al,p,F(a1,p)),
Пусть, кроме того, G(a)=aB и
Я|(а,р,г)=аРу,
Я2(а,р,у) = ааРу, Я,(а,р,у) = арру, Я4(а,р,у) = аруу.
Тогда
F(aj,A)= ajB, F(aI,p.A) = alpF(al,p), F(a,,p  в)= ala1pF(al,p), F(aj,p  C)= a,PPF(a|,p), F(a1,pD) = a1pF(a„p)F(a1,p).
Гпава 5, Теория алгоритмов 243
При таком определении может сложиться впечатление, что количества функций Ht недостаточно для построения функции Г(а],а2) при любом р, ведь На„р л,)=Я;(а1>₽>Г(а|,р)) и F(a,,p) неизвестно. Однако если р = Л , то можно найти Г(арД) для всех букв алфавита А, т. к, f(a1, А,-) = Я,- (а, ,Л, F(a,, Л)) = Я,- (cq, A,G(a,)).
Затем взяв за Р = Д, мы можем определить функцию F для Р = Д А и т. д. для всех слов произвольной длины. Пусть, например, сц — DAC, р = ВС. Вычислим только F(d},р• D) = F(DAC,BCD). Для этого необходимо определить несколько промежуточных значений этой функции 77(а1, Л)= DACB, F(al,B)=F(a1,AB)=/Z2(al,A,F(al,A))= DACDACDACB , F(a],BC) = /Z3(a],B,F(al,B))=DACB№ACPACDACB, F(a{,BCD) = = Я4 (а!, ВС, F(al, ВС)) = DA CBCDA CBBDA CD A CD A CBDA CBBDA CD 
ACDACB и т. д.
Найдем все представляющие функции. G(a) = a5, g(x) = c(G(j£x)), где К —
первоначальная нумерация алфавитных символов А = < A,B,C,D>, р = А, IK: 1 2 3 4
g(x) = c(a2?) = 2- pQ +c(a)-р' = 2 + c(a)- р = 2 + 4* .
Итак, g(x)=2 + 4x— функция, представляющая словарную функцию G(a). Я1(а,р,г)=ару, h,(x,y,z) = c(Ht(Kx,Ky,Kz)) =
= с(аРу)= с(у)+ рс(р)+ p2c(a) = р2х + ру + z = 16л + 4у + z;
#г(“.Р.г)=а«Ру. Л2(л.У,г) = с(Я2(Кх,Ку,Кг)) = с(ааРу)= с(у)+рс(р)+ + р2с(а)+ р3с(а)= (р2 + р3)с + ру + z = 80х + 4у + г; Я3(а,Р,у) = аРРу, h^x,y,z) = с(аРРу)= с(у)+рс(р)+р2с(р)+р3с(а)= р3х + (р + р2)у + + z = 64х + 20у + z; Я4(а,Р,у)= аРуу, ft4(x,y,z) = с(аРуу)= с(у)+ + рс(у)+ р2с(р)+ р3с(а) = р3х + р2у + (1 + p)z = 64x + 16y + 5z.
Перейдем теперь от формул (5.5.1) к формулам (5.5.2) для представляющих функций
/(*,o)=g(4
f(x,4y + i) = h; (х, y,f(x,y)),i = 1,2,3,4.
244
Часть I. Математическая логика
Вычислим несколько значений представляющих функций:
/(0,0) = g(o)= 2 +4-0 = 2, /(1,0) = 6, /(2,0) = 10.
' i = 1,/(1,4-0 +1)= /(1,1)=А,(1,0,/(1,0))= й,(1,0,б)= 22,
/ = 2,/(1,4-0 + 2)=/(1,2) = Л2(1,0,/(1,0))=й2(1,0,6)=86,
7	' 1 i = 3,/(l,4-0 + 3)=/(l,3)=AJ(l,0,/(l,0))=*3(l,0,6)=70,
i = 4,/(1,4- 0 + 4)= /(1,4)= *4(1,0,/(1,0))= й4(1,0,б)=94,
1 = 1, /(1,4 • 1 + 1) = /(1,5) = Л, (1,1, /(1,1)) = Л, (1,1,22) = 40,
1 = 2,/(1,44 + 2)=/(1,6)= йг(1,1,/(1,1))= ^(1,1,22)= 106, ит
У ’ > = 3,/(1,44 + з)=/(1,7)=Л3(1,1,/(1,1)) = й3(1,1,22)=106,
i = 4,/(1,44 + 4) = /(1,8)= й4 (1,1,/(1,1))= Л4 (1,1,22) = 190
Проверим совпадение номеров слов и значений представляющих функций. Пусть а - А, Ст(/1)= АВ, с(АВ)=2 + 1-4 = 6, с(д)- 1, g(l)= 2 + 4-1 = 6. То же наблюдается, например, для функции
И, :Н,(а,Рл)=-У1(А,Л,АВ) = ААВ, с(ЛЛВ)= 24 +1 • 4+146 = 22, с(а)=1, с(л) = 0, с(ай)=6, Л1(1,0,б)=22 ит.д.
5.6.	Машины Тьюринга
Тезис Черча нельзя доказать, т. к. он связывает нестрогое математическое понятие интуитивно вычислимой функции со строгим математическим понятием частично рекурсивной функции. Но в поддержку этого тезиса впоследствии другими авторами были приведены очень веские доводы.
В 1936 г. Тьюрингом был определен еще один класс интуитивно вычислимых функций и сформулирован тезис Тьюринга, эквивалентный тезису Черча. В результате попыток разложить интуитивно известные нам вычислительные процедуры на элементарные операции построена математическая модель, называемая машиной Тьюринга. Повторения элементарных операций, определенных в этой машине, достаточно для проведения любого возможного вычисления. От человека-вычислителя эта машина отличается двумя особенностями:
□	она не ошибается, т. е. она без всяких отклонений выполняет правила, установленные для ее работы;
□	она снабжена потенциально бесконечной памятью. Это значит, что хотя в каждый момент количество накопленной ею информации конечно, для
Гпава 5. Теория алгоритмов
245
этого нет никакой верхней грани. В качестве накопителя рассматривается бесконечная лента.
Машина Тьюринга включает:
1.	Внешний алфавит А = \a0,al>...,an }, т. е. конечное множество символов. В этом алфавите (в символах этого алфавита) информация вводится в машину. Машина перерабатывает введенную информацию в новую.
2.	Внутренний	алфавит
Q= 1	, С , Р , Е >. Иногда символы
(	направо налево иаместе печать стереть]
С,Р,Е отсутствуют. Символы <7О,<7|,-выражают конечное число состояний машины, причем q{ — начальное состояние, q$ — стоп-состояние.
3.	Бесконечную в обе стороны ленту, представляющую память машины. Эта память разбита на клетки. В каждую клетку может быть записана только одна буква. а0 — пустая клетка, она всегда может появиться при движении вправо или влево, если закончится слово исходной информации floaia2-^-
4.	Управляющую головку. Она передвигается вдоль ленты и может останавливаться напротив какой-либо клетки и воспринимать записанный там символ исходного слова. В одном такте работы машины управляющая головка может сдвигаться только на одну клетку или оставаться на месте.
Работа машины складывается из тактов, по ходу которых происходит преобразование начальной информации в промежуточную. В качестве начальной информации на ленту можно подать любую конечную систему знаков внешнего алфавита, расставленную произвольным образом по ячейкам. При этом работа машины Тьюринга может заканчиваться так:
□	после конечного числа тактов машина останавливается в q^ состоянии. При этом на ленте оказывается переработанная информация. В этом случае говорят, что машина применима к начальной информации и перерабатывает ее в результирующую информацию 12;
□	машина никогда не останавливается (не переходит в q0 состояние). В этом случае машина не применима к начальной информации 1}.
246
Часть I. Математическая логика
qs, где а-^с^Е. А,
нальной схеме, которая имеет вид
В каждом такте работы машина Тьюринга действует по единой функцио-R L С Р Е
qj,qs £ Q и а, — буква на ленте, обозреваемая управляющей головкой на данном такте, qj — текущее состояние машины на данном (в общем случае не i -м и не j -м ) такте.
На каждом такте функциональной схемой вырабатывается команда, состоящая из трех элементов (правая часть формулы):
1.	Буква внешнего алфавита а,, на которую заменяется обозреваемая буква а-.
2.	Адрес внешней памяти и дополнительные действия для выполнения на следующем такте R, L, С, Р или Е.
3.	Следующее состояние машины.
Формирование правой части функциональной схемы происходит по командам, совокупность которых образует программу машины Тьюринга. Программа представляется в виде двумерной таблицы (табл. 5.6.1), называемой тьюринговой функциональной схемой, в каждой клетке которой записываются отдельные команды.
Таблица 5.6.1
Состояния	Символы внешнего алфавита			
	ао	а>		а.
9t	a2Lq3	а,«4		агМ|
9г	a,Cq„	а2С?,		»,Cl/2
				
Я >4				
Гпава 5. Теория алгоритмов	247
Работа машины Тьюринга полностью определяется ее программой. Две машины Тьюринга с общей функциональной схемой идентичны, разные машины имеют разные программы, т. е. различные функциональные схемы.
В качестве символов алфавита могут быть не только буквы, часто используется, например, символ |. Говорят, что непустое слово а в алфавите А воспринимается машиной в стандартном положении, если оно записано в последовательных клетках ленты, все другие клетки пусты, и машина обозревает крайнюю клетку справа из тех, в которых записано слово а.
Рассмотрим сначала несколько примеров с полным алфавитом. Пусть начальная конфигурация имеет вид aQala2 a2 «0, а машина Тьюринга управля-
ется функциональной схемой, представленной в табл. 5.6.2.
Таблица 5.6.2
	ач	«!	a2
?!	a2Lq^		a,Lq
41	a,Cq„		“tCq2
Яз			
ч,	a,Cq,	a,,/??.	^R<1.
Так как управляющей головкой обозревается буква а2, а машина находится в состоянии , при этом пусть вырабатывается команда > т. е- головка сдвигается влево, а2 заменяется на а2, состояние меняется на q{, т. е. получается конфигурация аоа( а2 a2aQ. Следующая конфигурация будет <7i
такой — а0 а{ a2a2aQ, третья — айах а2 a2aQ, четвертая — aQal a2aQ, пя-'/1	42	'll
Тая — айаг а2 д2д0  Таким образом, мы пришли в начальное состояние. Про-
цесс работы машины начал повторяться, и, следовательно, конечный результат не может быть получен, т. е. данная машина Тьюринга не применима к исходной информации.
248
Часть I. Математическая логика
Пусть теперь для той же машины начальная информация имеет вид aD a} an.
</i
Тогда, действуя аналогично, придем к следующим конфигурациям: аоа, а0, аоа1 а, а0. Так как машина перешла в начальное состояние, то слово ata} — результат ее работы, и машина применима к исходной информации.
Видно, что понятие машины Тьюринга возникает в результате прямой попытки разложить интуитивно известные нам вычислительные процедуры на элементарные операции. Тьюринг привел ряд доводов в пользу того, что повторения его элементарных операций было бы достаточно для проведения любого возможного вычисления.
Если данное состояние описывается машинным словом М, то машинное слово, описывающее следующее состояние машины, будет обозначаться через М^. Далее аналогично М^'+1^= (i = 0,1,2.,.. Переход машины Тьюринга из начального в последующие состояния изображается в виде цепочки слов М М(,)	М(2)|- ....
Чтобы описывать работу машины Тьюринга более удобным образом, текущие состояния машины пишут не внизу алфавита, а перед обозреваемой ячейкой. Например, пусть Л = {0,1} 2 =	’#2} #0 —символ остановки,	а	программа	состоит	из	команд
q}0-^q2R^ q20-^qQl> q^l—^q^ #21 —и начальная конфигурация (7,11. Тогда <7,11	!(?,!	11(7,0 |- 110(у20 |- 11О(?о1,гдеО— сим-
вол пустой ячейки ленты машины. Если же начальная конфигурация #2101, то q2101	1#201 |- 1(?011.
Таким образом, каждая машина Тьюринга с произвольными алфавитами А и Q и заданной программой перерабатывает s-ку слов а,,аг,...,ав, записанных в алфавите А , в слово 0, если машина применима к начальной информации, и машина не применима к 5-ке слов a,,a2,...,av, если выражение (слово) после ее работы имеет неопределенное значение.
Словарная функция называется вычислимой по Тьюрингу, если она вычислима на подходящей машине Тьюринга.
Теорема 5.6. Все словарные функции, вычислимые по Тьюрингу, являются частично рекурсивными.
Тезис Тьюринга. Любая вычислимая функция вычислима по Тьюрингу.
Гпава 5. Теория алгоритмов 249
Теорема 5.7. Для каждой частично рекурсивной словарной функции f(a1 ,a2,...,av), определенной на совокупности слов какого-нибудь ал-
фавита	существует машина Тьюринга с символами
ах,а1,...ьап и подходящими внутренними состояниями, которая правильно вычисляет функцию F.
Рассмотрим несколько машин Тьюринга, преобразующих машинные слова одного заданного вида в машинные слова другого заданного вида. Программы машины будем писать в столбец.
 Пример 1. Пусть на ленту подается два числа, заданных набором палочек, например 2 и 3. Нужно сложить эти числа. Обозначим символ сложения Итак, А = {з0 = 0,|, +}, а0— начальное состояние. Найти программу, которая будучи примененной к слову 01] = 0| | +1 I | 0, давала бы в результате сумму чисел 2 и 3, т. е. слово “2=°| I I I I 0-
Программы для одного примера могут быть разными, т. е. могуг реализовываться на разных машинах Тьюринга. Опишем процесс работы машины для решения этой задачи. Пусть в начальный момент обозревается самая левая палочка. Ее нужно сдвинуть вправо, минуя все палочки и знак + до тех пор, пока не будет достигнута пустая клетка. В эту пустую клетку вписывается первая палочка. Затем нужно вернуться за второй палочкой и ее перенести вправо аналогичным образом. После этой процедуры нужно вернуться к знаку +, стереть его и остановиться. Изобразим все такты машины в виде соответствующих конфигураций.
1.	0?,| | +| I | 0;	8. 0| +| | | g,| 0;
2-	оо?2| +| 11 °-	9-о|+1Ы1°;
3.	0|	?2+| |	|	0;	Ю.	0|	+| 9,|	|	|	0;
4.	0|	+(?2| |	|	0;	Н-	°|	М	I	I	I	°;
5.	0|	+| ?2|	|	0;	12'	°l	^+l	I	I	I	°-
6.	0|	+| | <72|	0;	13.	0</,| +|	|	|	|	0 ;
L0| +||| <72о;	14^g,0| +| | | | 0;
250
Часть!. Математическая логика
15.	0<?1	+1111 о;	23.	° + | 1 1 <?,|	0;
16. QQq		2+шк	24.	0 + 1 | <7з| |	0;
17.	0 +	«зШ 1 °;	25.	о+ЫН	0;
18.	0 +	d 11 °;	26.	0 + ft||ll	0;
19.	0 +	1 ftl 1 о;	27.	°<7з + | | I |	0;
20.	0 +	11 <7,1 о;	28.	<7,0 + 11 II	0
21.	0 +	НИ	29.	0<?.+|||1	0
22.	0 +	1 1 1 <7,1 0;	30.	оо| | | | | °	
Подчеркнуты состояния, получаемые новой командой. Этот процесс позволяет записать алгоритм в виде следующей цепочки команд: 9i| ~^0Rq2,	q2\ -»| Rq2, q2+^+Rq2,	Cq,,
q3\ —»| Lq3, q3+	+Lq3, q3Q^QRq, q} + ^0CqQ или еще более
компактно в виде двумерной таблицы (табл. 5.6.3).
Таблица 5.6.3
	0	+	
	—	ос?„	Ой<72
?2	I Cq2	+ л?2	| КЯз
Яз	отг?.		1
 Пример 2. Введем следующие обозначения: 1Л = 11. ,1, 0л = 00.-.0 и х раз	-V раз
0° = 1° = Л . Составим программу "перенос нуля": <7|001л0 => доО1лОО. В левой колонке табл. 5.6.4 будем располагать программу, в правой— результат ее преобразования исходного слова. Исходное слово пусть будет qx 001Л0.
Глава 5. Теория алгоритмов
251
Таблица 5.6.4
Команда	Результат
<7,0-^	0(7,01 ‘0
	01г/31 '0
(?, !—>	х раз	01Г<7,0
?з0->?4£	01'^10
<7/ ^<75О	01'^00
350	01'^100
<7„1^<76L x-lpos	<7601 '00
960-*<7„0	?(,ОГ00
 Пример 3. Левый сдвиг: 01лд,0=^ <?0О1лО. Программа этого примера очень короткая и абсолютно очевидная (табл. 5.6.5).
Таблица 5.6.5
Команда	Результат
<7,0 —> <7,7.	О1'-'«721О
#21 q2L х-1 раз	<72О1 '0
^О-х/оО	9с, 01'0
Во втором и третьем примерах в текстах программ опущен символ С.
	Пример 4, Правый сдвиг: q} 01Л0 => 01Л qQ0. Программа этой машины получается из предыдущей программы заменой символа L на R.
	Пример 5. Транспозиция: ОТТОГО => OTV#0OPO.
Сначала переведем слово ОГ'^ОНО в слово ОГ'^КОО. При у >0 это достигается очевидной программой, записанной в табл. 5.6.6. А именно сначала по программе правого сдвига из исходного слова ОГ'^ОР'О получаем слово ОГ'ОЕ^О. Затем выполняем следующие команды.
9 Зак 4306
252
Часть I. Математическая логика
Таблица 5.6.6
Команда	Результат
930-»94Л	oiw'tfjo
?41 -»?50	01’01'-' (/510
950-»?6Л	01’01'-!?б100
У-2 раз	01’?601'-'00
4б°^Ч^	01’?71'00
Чтобы получить слово ОР^ОИОО и при у = 0, добавим команду
Таблица 5.6.6 (продолжение 1)
<7„0-м,0	01’ 9,1'00 (у>0)
Теперь из подслова Г' перебрасываем один символ 1 в промежуток между двумя последними нулями. Это достигается следующей программой:
Таблица 5.6.6 (продолжение 2)
		0Г’9,11'00
9s1 -»	4,0	01”' q, 01'00
ч,о-		0Г”'09,„1'00
	у раз	01”'01'?,„00
4и,0-	^41Д	01”'01'9„10
4a^4nL		О1”'О1'-'91211О
?i2>-	>?130	0Г”'01'-'?13010
		01”'01'-г?|41010
?1Э1-	»?|4Л у-2 раз	ОГ”'9,401'-'010
?и°-	^4isl	01”'9,51'010
Глава 5. Теория алгоритмов 253
Этот кусок программы работает при х>0, у>0. Чтобы тот же результат получился и при у = 0, добавляем к записанной программе еще приказы:
Таблица 5.6.6 (продолжение 3)
?70 -» «161	0Г«16100
	0Г1 «„1100
<7„1^9150	0Г"1«,5Г""0Ю
Теперь зацикливаем программу приказами:
Таблица 5.6.6 (продолжение 4)
«1,1 ^<7,1	0Г1 <7, ГО 10 6’ > 0)
«150->«,0	01'-'</7l'010G7 = 0)
Если л-1>0, то слово 0Г-|<771'010 переработается в слово 01А-2#71'0110. Если же х-2>0,то процесс дальнейшей переработки даст слово О1Л"307 Р01110 и т. д. Через х циклов получим слово СЕРОГО.
Таблица 5.6.6 (продолжение 5)
«71“>«!£	«„01 '0Г0
«„0—>«1а7?	0«„Г0Г0
У Раз	0Р«|80Г0
<7,s0->«„0	ог«„ого
 Пример 6. Комбинируя между собой примеры 2, 3, 4 и 5, легко получать машины, выполняющие более сложные преобразования слов. Так, например, применяя дважды подряд программу правого сдвига (см. пример 4), получаем машину, выполняющую двойной перенос: ^01Л01-Р0=>01А'01Л^0.
254
Часть I. Математическая логика
	Пример 7. Программа циклического сдвига получается применением друг за другом программы транспозиции, левого сдвига и опять транспозиции (примеры 5 и 3): 01 *01^ОГО => ОГ#о01Л01’0.
Достаточно научиться строить машины, правильно вычисляющие простейшие функции и функции, возникающие из правильно вычислимых функций с помощью операций суперпозиции, примитивной рекурсии и минимизации.
	Пример 8. Вычислить функцию О(х)=0, т. е. #]0ГО=> g000v+l (табл. 5.6.7).
Таблица 5.6.7
Команда	Результат
9.0->9,«	O9J '0
#21 —> q2R х раз	01'9,0
9,0 -> q,L	ОН19,10
9,1 ~, Л	х - 2 раз #40->?3l|	01'-19,00'1 01л-2<73100]
9,0-МоО	9,,00"'
 Пример 9. Вычислить оператор сдвига Л(х)=х+1, т. е. 0 Г' => <70 01л+1 (табл. 5.6.8).
Таблица 5.6.8
Команда	Результат
9,0>9гЛ	09,1'0
fl2l —> q2R x раз	01'9,0
9,0—>9,1	01Л$310
<731—> q3L x-I раз	ОН 9,110
9,0 -» ?»°	9„01"'
Гпава 5. Теория алгоритмов
255
	Пример 10. Составим программу функции усеченной разности х~ 1 в табл. 5.6.9, если начальное и конечное слово заданы следующим об-
разом: <7,01*0 => </оО1 00.
Таблица 5.6,9
Команда	Результат
«,0-> <hR	0^1*0
<у21 —» q2R х раз	01'^0
	01м9з10
<731	0Г'ч?400
	О1'-2?51ОО
<7S1 —>q5L х-2раза	$501'-'00
qfi -> <J„0	9„О1'-'ОО
?30->?„0	для х = 0
	Пример 11. Построить машину Тьюринга, реализующую алгоритм вычисления функции /(и)=и + 2 в десятичной системе счисления.
В этом примере за внешний алфавит необходимо взять А = {а0,0,1,2,3,4,5,6,7,8,9}. Нужно, чтобы машина, находясь в стандартном состоянии, заменяла последнюю цифру числа п (если эта цифра меньше 8) цифрой, на две единицы большей, и переходила в стоп-состояние. Если последняя цифра числа п равна 8, то ее нужно заменить на 0 и перейти влево в новое состояние <?2 > которое добавило бы к следующему разряду единицу. Аналогично, если последняя цифра числа равна 9, то ее нужно заменить па единицу и перейти влево в состояние q2.
Например, пусть /(59), тогда начальная конфигурация а0 5^,9<70 (ввиду того, что символ 0 входит в алфавит А в качестве рабочего символа в этом примере, в отличие от всех предыдущих, содержимое пустой ячейки машины Тьюринга обозначено через а0), а сама программа имеет вид, представленный в табл. 5.6.10.
256
Часть I. Математическая логика
Таблица 5.6.10
Команда	Результат
<719->д21Л	"о?251ао
^г25 > Qq6C	ЗДб 1«0
Для всех возможных цифр программа выглядит следующим образом (табл. 5.6.11).
Таблица 5.6.11
		«0	0	1	2	3
91		—	9»2	903	9«4	9.5
Qi		9о>	9о>	9<,2	9»3	9.4
	4	5	б	7	8	9
9i	9об		908	9о9	9 2 0L	?21L
<h	9о5	9о6	9о7	9.8	9» 9	920L
 Пример 12. Построить машину Тьюринга, правильно вычисляющую функцию
Пусть исходное состояние 01110. Тогда программа может быть такой (табл. 5.6.12).
Таблица 5.6.12
Команда	Результат
9|0-»9гЛ	o92iho
q2 0 —> qQL если 0	019з110
9.1 -> q,0R	OlOftlO
q3lq30R	0100?30
q30 -> qtL	010tf400
<?40 —> q^L 2 раза	Og.lOOO
941->9»1	O9JO
Гпава 5. Теория алгоритмов
257
5.7.	Неразрешимые алгоритмические проблемы
Введение понятия машины Тьюринга уточняет понятие алгоритма и указывает путь решения какой-то массовой проблемы. Однако машина Тьюринга бывает неприменима к начальной информации (исходному слову алфавита). Та же ситуация повторяется относительно некоторых задач, для решения которых не удается создать машины Тьюринга. Один из первых результатов такого типа получен Черчем в 1936 г. Он касается проблемы распознавания выводимости в математической логике.
1.	Аксиоматический метод в математике заключается в том, что все теоремы данной теории получаются посредством формально-логического вывода из нескольких аксиом, принимаемых в данной теории без доказательств. Например, в математической логике описывается специальный язык формул, позволяющий любое предложение математической теории записать в виде вполне определенной формулы, а процесс логического вывода из посылки А следствия В может быть представлен в виде процесса формальных преобразований исходной формулы. Это достигается путем использования логического исчисления, в котором указана система допустимых преобразований, изображающих элементарные акты логического умозаключения, из которых складывается любой, сколь угодно сложный формально-логический вывод.
Вопрос о логической выводимости следствия В из посылки А является вопросом о существовании дедуктивной цепочки, ведущей от формулы А к формуле В . В связи с этим возникает проблема распознавания выводимости: существует ли для двух формул А и В дедуктивная цепочка, ведущая от А к В или нет. Решение этой проблемы понимается в смысле вопроса о существовании алгоритма, дающего ответ при любых А и В . Черчем эта проблема была решена отрицательно.
Теорема 5.8 (теорема Черча). Проблема распознавания выводимости алгоритмически неразрешима.
2.	Проблема распознавания самоприменимости — вторая проблема, положительное решение которой не найдено до сих пор. Ее суть заключается в следующем. Программу машины Тьюринга можно закодировать каким-либо определенным шифром. На ленте машины можно изобразить ее же собственный шифр, записанный в алфавите машины. Здесь как и в случае обычной программы возможны два случая:
•	машина применима к своему шифру, т. е. она перерабатывает этот шифр и после конечного числа тактов останавливается;
258
Часть I. Математическая логика
•	машина неприменима к своему шифру, т. е. машина никогда не переходит в стоп-состояние.
Таким образом, сами машины (или их шифры) разбиваются на два класса: самоприменимых и несамоприменимых тыоринговых машин. Проблема заключается в следующем: как по любому заданному шифру установить, к какому классу относится машина, зашифрованная им, к классу самоприменимых или несамоприменимых.
Теорема 5.9. Проблема распознавания самоприменимости алгоритмически неразрешима.
3.	Проблема эквивалентности слов для ассоциативных исчислений.
Рассмотрим некоторый алфавит А = {а,Ь,с,...} и множество слов в этом алфавите. Будем рассматривать преобразования одних слов в другие с помощью некоторых допустимых подстановок а—>Р , где аир — два слова в том же алфавите А . Если слово у содержит а как подслово, например a,aa2a3a, то возможны следующие подстановки: a]pa2a3a, ajaa^p, ajPa2a3p.
Ассоциативным исчислением называется совокупность всех слов в некотором алфавите вместе с какой-нибудь конечной системой допустимых подстановок. Для задания ассоциативного исчисления достаточно задать соответствующий алфавит и систему подстановок.
Если слово R может быть преобразовано в слово 5 путем однократного применения определенной подстановки, то R и 5 называются смежными словами. Последовательность слов R},R2,...,Rn_l,Rn таких, что все пары слов	=1,2,...,п-1 являются смежными, называется дедуктив-
ной цепочкой, ведущей от слова R} к слову Rn. Если существует цепочка, ведущая от слова R к слову 5, то R и 5 называются эквивалентными: R-S.
Для каждого ассоциативного исчисления возникает своя специальная проблема эквивалентности слов: для любых двух слов в данном исчислении требуется узнать, эквивалентны они или нет.
Теорема 5.10. Проблема эквивалентности слов в любом ассоциативном исчислении алгоритмически неразрешима.
Эта проблема решена лишь в некоторых ассоциативных исчислениях специального вида.
Глава 5. Теория алгоритмов 259
5.8.	Практическое занятие № 12. Словарные функции.
Построение программ для машин Тьюринга
5.8.1.	Пусть словарная функция F(a) в алфавите А={А,В,С} определена следующим образом:
f(a)=bc,
F(₽A)=tf,(M(p)) = последней букве слова р, f(Pb) = //2(P,f(P)) = s3(P)=₽c, F(pC)=H3(p,F(p))=/^,F(p))=p.
Найти значение F(CBA) и определить все представляющие функции.
5,8.2.	В алфавите А = jA,В,C,D,£j задана словарная функция F(a,p,y):
f(a,p,y)=g(p,y)=y,
F (оА, р, у) = Н> (a, F (а, р, р, у) = аРу, F(aB,p,y)=tf,(a,F(a,p,y),p,y)=A, ' F(aC,P,y)= Я,(а.F(a,p,y),p,y) = S3(a)= aE, F(aD, р, у) = Z/4 (a, F(a, р, у),р, у) = тРа, F(aE,p,y)= Ws(a,F(a,P,y),P,y)= BCD.
Определить значение F(CD. A.E) и найти соответствующее значение представляющей функции.
5.8.3.	Построить машину Тьюринга для вычисления функции ------- Г1,х = О,
sgnx = •!	Исходное состояние <7,01110 или 4,00000.
5.8.4.	Какую функцию вычисляет машина Тьюринга со следующей системой команд: q} 0 q20R , <?, 1 —» 401, <?20 —»б/(}1, <у21
5.8.5.	Решить задачу 5.8.3. в алфавите	}, если начальное слово
ao| | | ао 
5.8.6.	Построить машину Тьюринга для правильного вычисления функции х + у.
260
Часть I. Математическая логика
5.8.7.	Построить машину Тьюринга, правильно вычисляющую функцию С U ), где 1 < гп < п.
5.8.8.	Пусть функции f(x) и g(x) правильно вычислимы. Показать, что функция h(x)=	правильно вычислима.
5.8.9.	Построить машины Тьюринга для правильного вычисления функций:
а) -х—у;
5.8.10.	Показать, что если функция g(x, у) правильно вычислима, то и функция /(x)=pv(g(x,y)=0) правильно вычислима.
Часть II
Ответы, решения, указания
Глава 6. Алгебра высказываний
Глава 7. Исчисление высказываний
Глава 8. Логика предикатов
Глава 9. Исчисление предикатов
Глава 10. Теория алгоритмов
Глава 6
Алгебра высказываний
6.1.	Ответы и решения задач практического занятия № 1
1.5.1.	Все предложения, кроме предложения 6, являются высказываниями. Высказывание 2 считается истинным в геометрии Евклида и ложным в геометрии Лобачевского. Всказывание 3 ложно. Высказывания 1, 4 и 7 истинны. В текущее время неизвестно, истинно или ложно высказывание 5.
1.5.2.
1)	р = { число 174 не делится на 3 } ложно; v <7 = { число 174 делится на 3 или идет дождь } истинно; р л q = { число 174 делится на 3 и идет дождь } ложно; р q = { если 174 делится на 3, то идет дождь } ложно; р q = { если 174 не делится па 3, то идет дождь } истинно; р <-> q = { 174 делится на 3 тогда и только тогда, когда не идет дождь } истинно,
2)	q = { неверно, что если число простое, то оно нечетное }, если число равно двум, высказывание истинно, во всех остальных случаях оно ложно; q —> р = { неверно, что если истинно, что если число простое, то оно нечетное, тогда конъюнкция коммутативна = если число простое, то оно нечетное и конъюнкция некоммутативна } ложно: (р л q}—> р — истинное высказывание;
v p)—^q = q — смотрите первый случай.
1.5.3.	Высказываниями являются второе и третье утверждения, причем второе ложно, а третье истинно.
1.5.4.	Противоречивы данные 2 и 3.
264
Часть II. Ответы, решения, указания
1.5.5.	Не формулами являются последовательности 1 и 4.
1.5.6.1) 4,4,4,4,4 -> 4>4 4>4 v 4,(4 ->4)v(4 ->4);
2)	4,4> А, 4, А> 4 —> 4> 4	А;
3)4,4г, 4, В, C,B'~/C,Ai^{B'~/ с\ 4 v 4 Л (flv с).
1.5.7.	Тождественно истинными являются формулы 2 и 3.
1.5.8.	х—> у = 1, z —> (х —> у) = z —> 1 = 1 всегда;
х —> у —> у = 1 —> у = 0 —>у = 1 всегда;
( )	1	p’z=1>
V	[0,7 = 0.
1.5.9.	Таблицы истинности всех требуемых формул представлены в табл. 6.1-6.8.
Таблица 6.1
4	4	4	4	A v	4-* 4	1)
1	1	0	0	1	0	0
1	0	0	1	0	1	0
0	1	1	0	1	1	1
0	0	1	1	1	1	1
Таблица 6.2
4	4	4	4->4	4->4	4 -> 4	А, (а -* а)	(4 ->4)~> (4 Л>)	2)
1	1	1	1	1	1	1	1	1
1	1	0	1	0	0	0	0	1
1	0	1	0	1	1	1	1	1
1	0	0	0	0	1	1	1	1
0	1	1	1	1	1	1	1	1
0	1	0	1	1	0	1	1	1
0	0	1	1	1	1	1	1	1
0	0	0	1	1	1	1	1	1
Гпава 6. Алгебра высказываний
265
Таблица 6.3
р	Q	Рл2	р«е	3)
1	1	1	1	1
1	0	0	0	1
0	1	0	0	1
0	0	0	1	0
Таблица 6.4
р	Q	~р	е-*р	МсМ	4)
1	1	0	1	1	1
1	0	0	1	1	1
0	1	1	0	0	1
0	0	1	1	0	1
Таблица 6.5
р	Q	р	Q'JP	Q	Q-*P	/фр)	(рл|еУр))л	5)
1	1	0	1	0	1	1	1	1
I	0	0	0	1	1	0	0	0
0	1	1	1	0	1	0	0	1
0	0	1	1	1	0	0	0	0
Таблица 6.6
p	Q	я	Q^P	2aP	Р^ЙлР	роелр	PvR	6)
1	1	1	1	0	0	1	1	1
1	I	0	1	0	0	1	1	1
1	0	1	0	1	1	0	1	1
1	0	0	0	1	1	0	1	1
266
Часть II. Ответы, решения, указания
Таблица 6.6 (окончание)
р	Q	я	2а?	йдР	P->Q-P	P-^QaP	PvR	6)
0	1	1	0	1	1	0	1	1
0	1	0	0	1	1	0	0	1
0	0	1	0	1	1	0	1	1
0	0	0	0	1	1	0	0	1
Таблица 6.7
p	Q	p	Q 'J P	Q	p	> <	(s^pM	7)
1	1	0	1	0	1	1	1	1
1	0	0	0	1	1	0	1	0
0	1	1	1	0	1	0	1	0
0	0	1	1	1	0	0	0	0
Таблица 6.8
p	Q	p->s	QaP	P^(QaP)	8)
1	1	1	1	1	1
1	0	0	0	0	0
0	1	1	0	1	1
0	0	1	0	1	1
1.5.10.	Упростим формулы путем равносильных преобразований. Тогда будет очевиден набор переменных, при которых формула может принимать логическое значение 1.
1)Р^Р = РчР = РлР^Р,Р = 1.
2) (g -> (? л R))a ((/> v R)->	(g v (? л r))a((Р v	q)=
v р)а v r))а ((/* л q)v (R л
Гпава 6. Алгебра высказываний 267
= (Q v PQv RQv PR}* (f>Q j Rq)=
= PQvPQv PQR v PQR v QR v PQR v QR v PQR =
s PQR vQRvPQ^ QR(P v 1) v PQ e QR v PQ Q(P v R).
2 = 0, P= R = \
3) (p^e)^(e^p)^rV2V(evp)^(pve)v2v/’^ ^q(pvi)vp = pvq.
p = i, 2 = 1.
1.5.11. (pv P r. (j)-> R= (0 л Q) —> R = 0 —> R = 1 v R = 1. Таким образом, данное высказывание является тождественно истинным и не зависит оттого, истинны или ложны высказывания Р, Q и R.
1.5.12. Тождественная истинность формул доказывается либо непосредственно по таблицам истинности, либо путем равносильных преобразований. Для формул 1 и 8 приведены таблицы истинности (табл. 6.9 и 6.10).
1)	Таблица 6.9
p	Q	PaQ	е->(рде)	р^(е^(рле))
1	1	1	1	1
1	0	0	1	1
0	1	0	0	1
0	0	0	1	1
2) (P^Q}^((p^q)^p)=PvQV^Qvp)=^q)v v(PaQ)vPsPQvP2vP = P^vq)vPs PvP = l
3) (P^R)^((2^RP((Pv2)->R)>PvRv|p7Rv v PvQ v r) = (p a r)v ((q a r)v ((p a q)v R))= PR v QR v vPQvR = PRa(^vq)v Qr(p v p)v Pq(r v r)v P a
a (r v r)a (q V q)s PQR V PQR v PQR v PQR v PQR v
268
Часть II. Ответы, решения, указания
v PQR v PQR V P2R = Pq(r v r)v Pq(r v r)v PQ^R vr)v vpq(rvr)=p(qvq)vp(qvq)=pvp = i
4)(e->R)->((PvQ)^(PvR)>e7RvP7Qv(PvR>
= (QvR)v(paq)v(PvR) = QRvPQvPvR = Qr(pvP)v v Pq(r vr)vp(qvq'(rvr)vr(pvp'/i2vq)= PQR v
vPQRvPQRvPQRvPQRvPQRvPQRvPQRv
v PQR vPQRvPQRvPQRvPQRvPQRvPQRvPQRv VPQRvPQRv PQR vvPQR vPQRsPq(r vr)vPq(rVr)v vPQ(RvR)vPe(RvR)=2(pvp)ve(Pvp)=evQsl
5)	^->p)->(^^p)->e)=2^Rv^7pv2)sePv(2Pv ve^G(pvp)ve^evQsi
6)	p^(p^e)spvpve=ivG^i
7)	(P ->2)-> ((2 ->• R)-> (P -> R)> P^Q v ^7r v (p v r))s = PQ v QR v P v R = PQ(R v r)v Qr(p v p) v p(q v q)(r v r)v v r(p V p)|2 V 2)= PQR V PQR v PQR v PQR v PQR v PQR v л PQR v PQR v PQR v PQR v PQR v PQR = Pq(rvr)v vP2(rvr)vP2(rvr)vP2(rvr)sP^2v2)v vP<2v2)=PvP^l
Таблица 6.10
p	p	p	p^p
1	0	1	1
0	1	0	1
Гпава 6. Алгебра высказываний
269
1.5,13,
^P^QRVQVPVQ^P^(QVR)VQVPVQ =
= PQvPRvQvPvQSQvPQR = Q(lvPR)SQ.
Тогда, например, если Р и R — любые, a Q = 1, то исходная формула ложна.
2) ((Р V e)v R) -> ((Р V е)л (р V R))= PvQvR v v(PvPQvPRvQR)=PQRv(PvQR)=PQRvPvQR.
Тогда P = Q = 0, R = 1.
3) Для формулы 3 таблица истинности такова (табл. 6.11).
Таблица 6,11
р	Q	PvQ	р	Рл2	PA.Q	(рле)у(рле)	3)
1	1	1	0	0	1	1	1
1	0	1	0	0	0	0	0
0	1	1	1	1	0	1	1
0	0	0	1	0	0	0	1
Из табл. 6.11 видно, что Р= 1, 2 = 0.
PvO = l Р v 0 = 1 ’
1.5,14.
1)	Пусть, например, 2v^ = ^,Tor^a Q = ® и Л = 0 и
[/> = 0
т. е. <	, что невозможно.
(Р = 1
2)	Предположим, что РR = 0. Тогда, очевидно, Р=\ и R = l, т. е. R = 0. Следовательно, Pv2 = lvQ = 0v2=l и /?v2 = 0v2 = l,T.e. 6 = 1 и Q = l одновременно, что невозможно. Таким образом, всегда Р —>	0, т. е. Р—» Р = 1.
270
Часть II. Ответы, решения, указания
3)	Пусть R v W = 0. Отсюда по табл ице истинности R = О, W = 0.
Р->0 = 1,
Тогда 2 = 0 e-»o=i.
Но Р-»Я=1
т. е.
и
и
Р = 0, Рv 2 = 0 * 1 • Получено противоречие, т. е. Rv W~ 1.
1.5.15.	Таблицы истинности (табл. 6.12) для двухместных операций имеют следующий вид.
Таблица 6.12
р	Q	Операция
1	1	*
1	0	*
0	1	*
0	0	*
Все эти таблицы различаются только последним столбцом, элементы которого заменены значком *. Вместо * может стоять 1 или 0, причем возможны любые комбинации. Различных комбинаций будет 24 = 16 (это размещения с повторениями из двух элементов по четыре).
1.5.16.	АлВ= AvB.
1.5.17.	Составим таблицу истинности для операции ©, начиная с тех строк, для которых © истинна. Каждой такой строке поставим в соответствие конъюнкцию тех простых высказываний, которые в этой строке истинны, и отрицание остальных. Затем найдем дизъюнкцию этих конъюнкций. Каждая из построенных конъюнкций будет истинна только при тех значениях истинности простых высказываний, которые стоят в соответствующей ей строке. Ясно, что логическая операция © определяется множеством наборов, на которых полученное сложное высказывание истинно и только на них, на остальных оно ложно. Например, для эквиваленции: А1 <-» А2 = (Д —> А2)л (А2	)•
Таблица 6.13
4	4	4 <-»4
1	1	1
1	0	0
0	1	0
0	0	1
Гпава 6. Алгебра высказываний
271
Из табл. 6.13 видно, что
(4 Л А2) v (д Л Л2) S (л, v (д л Д ))л (д v (д л Д)) =
= ((А v Д )л (а, v А, ))л ((д v А, )л (а2 v А2)) = (д v А2 )л л (а2 v Д )= (Д —> А2)л(А2 —> Д)= А, <-> А2.
1.5.18.
1)	А^ В = Av В = АлВ = АлВ-,
2)	Aa(AvC)a(BvC) = Aa(BvC)a(AvC)s
= ((A v в)л (A v С))л (а V С) = ((А л В)л (a v С)) v
v ((А л С)л (A v С))= (А л (А л B)v С л (А л В)) v
v (А л (А л С)v С л (А л С)) = (АВ v ABC) v (а v АС) = = АВ(1 V C)v АС = АВ V АС = (а л B)v (а л С).
3)	(АлА)= АА = А;
4)	(Av (Вл АУ)= А или по табл. 6.14.
Таблица 6.14
А	в	Вл А	Av (В л А)
1	1	1	1
1	0	0	1
0	1	0	0
0	0	0	0
5)	Логические значения левой и правой частей формулы 5 приведены в табл. 6.15.
Таблица 6.15
А	в	с	ВаС	/1v(BaC)	Av В	AvC	(Av В) л (Av С)
1	1	1	1	1	1	1	1
1	1	0	0	1	1	1	1
1	0	1	0	1	1	1	1
272
Часть II. Ответы, решения, указания
Таблица 6.1 S (окончание)
А	в	с	ВлС	Лу(ВлС)	AvB	AvC	(AvB)a(AvC)
1	0	0	0	1	1	1	1
0	1	1	1	1	1	1	1
0	1	0	0	0	1	0	0
0	0	1	0	0	0	1	0
0	0	0	0	0	0	0	0
6)	(А л B)v ((a v В)л (a v в))= ((А л B)v (a v В))л ((а л В) v v (A v В> (((A v в)V А)л ((a v В)v В))л (((a vb)v а)л л ((а v В) v В )) — ((A v В) л (A v В)) л (1 л 1) = A v В.
7)	Логические значения левой и правой частей формулы 7 приведены в табл. 6.16.
Таблица 6.16
А	в	AvB	AvB	~А	в	АлВ
1	1	1	0	0	0	0
1	0	1	0	0	1	0
0	1	1	0	1	0	0
0	0	0	1	1	I	1
1.5.19. Пусть дана исходная формула А. Если она содержит импликацию, то эту логическую связку можно убрать, используя эквивалентность 4	= 4 vB|, где А, и В, — подформулы формулы А. Отри-
цание всегда можно отнести к простым высказываниям по формулам 4 л В] 4 v и Д v В, = Д л В, и используя следующую эквивалентность: если С = D, то ЦС)= LfjD).
Глава 6. Алгебра высказываний
273
6.2. Ответы и решения практического занятия №2
1,11.1.	Пусть формуле Я, соответствует функция /(Я,), формуле Я2 соот-,	,	z./ , \	„ [истина, / х |1,
ветствует булева функция j\A2). Если А =	то
[ ложь,	[0.
Тогда /(Я)=7(Л), /(Я, лЯ2)=/(Я,)л/(Я2),
/(Я, v Я2) = /(Я,) v /(Я2), /(Я, Я2) = /(Я,) -> /(Я2).
Видно, что значению истина всегда соответствует значение 1, значению ложь соответствует 0.
1.11.2.	Это число равно числу двоичных наборов длины 2". Действительно, в истинностной таблице функции f(xi,x2,.--,xH) фиксируем каким-либо способом порядок строчек, т. е. порядок наборов (а],а2,.-.,а,|) значений аргументов х]ух2,...,х11. Тогда функция , х2,...,хп) однозначно определяется своим последним столбцом, т. е. набором из 2" нулей и единиц. Различных функций столько, сколько имеется различных наборов длины 2" из двух элементов 0 и 1,т. е. 22 .
1.11.3.	/| (xl,X2,X3) = Х,Х2Х3 VXj А2А3 VX|A2X3 VX]X2X3 =
= х2хДх( v xjv х2х3^х, v xj= х2х3 v х2х3;
_/2(х1,Х2,Х3) = Х|Х2Х3 VX[X2X3 VX]X2X3 ^XlX2X3 VX}X2X3 VX|X2X3 VXjX2X3 =
= ^л3(х,	VX|V3 vx, V
= x,(x2 v x3)v -гД-Х, v x3)vx2x3 ;
f3 (.y , X2 , x3 ) = %! x2.t3 V -V, x2 Л'з = x, x2 (x3 V X3 j = Xj x2 ;
274
Часть II. Ответы, решения, указания
1.11.4.
1)	/(о,У, z)= (О л y)v (у л z)= yz, /(1>Лг)= (1л y)v (ул z)= у v yzs (ууу)л(у vz) = y vz, /(о, У,z) * /(1, Ь z); fix,О, z) = (хл 0) v (1 л z) = z, /(x,l, z) = (хл 1)v (0 л z) = x, /(x,0, z) * /(x,l, z);
/(x, У,0) = (хл y)v (у л o)^ xy,
f(x,y,l)= (хл y)v ^a1)s y(xa y)= (xv у)л (у V y)= XV у, /(x, y,0) & /(x, y,l). Все переменные существенны.
2)/(0,y)=(OAy)vOsO, у(1, у) = (1 л у) v 1 = 1, /(0, r)* /(1,y). f(x,o)= (хл 0)v x = 0 v X = x, /(xl) = (хлl)vxsxv x = X, /(x,0) = /(x,l). x — существен-ная переменная, у — фиктивная.
3) /(х, у, z) = (х -» (у -> z)) -> ((х -» у)	(х -» z)) =
V у V Z S X v (yz V у )v Z = XV у V ZV Z S XV у vl = l.
Все три переменные в формуле — фиктивные, формула тождественно истинная.
1.11.5.
1)	хл у s xv у, х—> у = xv у;
2)	XAysxAysxvysx^y, xvy = xvysx—>у;
3)	XS XV 0 = Л—> 0 ;
4)	X V у = (х v у)л (у v у) = ^х л у )v у = ^х л V у = = X V у V у = (х —> у) —> у.
Гпава 6. Алгебра высказываний
275
1.11.6.
1)	((А^В)^(С^ a))^(b^c)sAvBv(cva)v^vc)S s Av В aCv Av BvC s ((a v в)л (с л a))v BvC =
= ((a v в)л С л a)v В v С = (((а л a)v (а л в))л c)v В v C = = AC v ABC v В v C = AC v В v C — ДНФ, получим теперь КНФ, ACvBvC = ((avb)a(CvB))vC =
= ((avBvc)a(cvBvc))= Av BvC— КНФ;
2)	((((A-> B)-> a)^b)-^c)^C = AvBvAvBvCvCs sAvBvAvBaCvCs((((avb)aa)vb)a c)v C =
= (((a a a)v (A a B)v b)a C)v C = (((a v в)л (в v в))л C?)v C = s ((A v b)a C)v C = ((A a C)v (b a c))v С =_ даф
= AC v BC v С = BC v C
ВСV С = (ba c)v С = (вV с)л(Cv С) = (вv с)л С— КНФ;
3)	((A (B c))((a -»c)^ (a b)))^
eh A v В v C v A v C v A v В = (a a (b a c))v (a a C) v (a v b)= = ABC v ACv Av В— ДНФ, ABCvACvAvB = ABCv'AvCvB=^vBvC — КНФ.
1.11.7.	Пусть переменные Al,A2,...,Atl принимают значение 1, а переменные BXfB2,...,Bm — значение 0. Требуемой элементарной конъюнкцией будет выражение А^ /\ А2 л ...л Д л В} л В2 л ...л ВП1 .
1.11.8.
1)	Табличный способ реализован для формулы 1. Результаты приведены в табл. 6.17.
276
Часть II. Ответы, решения, указания
Таблица 6.17
A	в	c	AaC	ВлС	BC-^AC	A	в	~Л—>И	1)
i	1	1	1	1	1	0	0	1	1
1	1	0	0	0	1	0	0	1	1
1	0	1	1	0	1	0	1	1	1
1	0	0	0	0	1	0	1	1	1
0	1	1	0	1	0	1	0	0	1
0	1	0	0	0	I	1	0	0	1
0	0	1	0	0	1	1	1	1	1
0	0	0	0	0	1	1	1	1	1
СДНФ = ABC v ABC v ABC v ABC v ABC v ABC v ABC v АВС, Способ эквивалентных преобразований:
((a^b)->((BaC)->(AaC)))sAvBv(bXCv(AaC))={aab)v v((bvC)vAc)=ABv(bv(cva)a(cvc))sABvBvCvA = = Ав(с v с) v в(а v а\с v ё) v с(а v а)(в v в) v а(в v в\с v c)s
= ABC v ABC v ABC v ABC v ABC v ABC v ABC v ABC v ABC v
v ABC v ABC v ABC v ABC v ABC v ABC = ABC v ABC v ABC v
v ABCv ABCv ABCv ABCv ABC.
Надо заметить, что способ эквивалентных преобразований заметно лучше табличного. При малом числе переменных это не ощутимо, ио, если, например, рассмотреть функцию /(хрх2...х20)=Х| v х2 v ...V х20, то будет видно, что формула
в правой части содержит 39 символов (20 символов переменных и 19 символов дизъюнкции), таблица же для /(^,х2,...,х2й) с0" держит 220 > 10б, т. е. более миллиона строк.
2)	((Я -> В) -> 1)-> (А -> (В л Я))= Av В vA v (a v Ab)s s((avb)a a)v(aV Ab)s(aa a)v(AaB)v(av Ab)= = ABv ABv As AB v A = AB va(bvb)s AB v AB v~AB;
Гпава 6. Алгебра высказываний
277
3)AaB^AaAaB^B = AaBvAaAaBvB = (АВ л А)л(аВ л В)з А л В 
4)	Д (4	(... (Д_,	4)-))М V <4 V (... v
v(a7v д)..))=А, v А2 v... v Д^, v Д з
= A (a v А Ха v а)-(а, v A. )v
v А2(д v А, )(а3 v А3)..(д, v Д, )v...
... v Д,_,(a, v Д \а2 v А2)..(д_2 v Д_2)
(a, vA.)v д(а, V аДа,	уд,.,)
Все записанные конъюнкции раскрываются одинаково. Например, a (a v a )-(a-i v a,-i Ха. v a )s
= (д а2 V д a )-(A-i v А.-1 Ха. v а. )=
= (дА2Д_, vA, А2Д_[ v ... v ДА2 Д., v Д А2 А„_, Хд v А„)з
= A AA.-I A.v А АА.-1А.v - v A A A-i A v
v АДД^Д v ДАА-, А у ддд., д V...
vAAA-iA vAAA-iA
и т. д. После слияний членов по закону идемпотентности в итоговой СДНФ всей формулы будут содержаться все логические слагаемые вида л л ...л А£", кроме одного Д л А2 л ...л	А}1 .
5)	A = AvCvBvA = (aac)v(baa)s
= ACvAB = Ас(в v b)v Ав(с v с)=
s АСВ v АСВ v ABC v АВС.
1.11.9.
1)	Табличный способ для формулы 1 (табл. 6.18).
278
Часть If. Ответы, решения, указания
Таблица 6.18
А	в	с	BvC	BvC—»Я	С-> А	1)	1)
1	1	1	0	1	1	1	0
1	1	0	0	1	1	1	0
I	0	1	0	I	1	1	0
1	0	0	1	1	1	1	0
0	1	1	0	1	0	1	0
0	1	0	0	1	1	i	0
0	0	1	0	1	0	1	0
0	0	0	1	0	1	0	1
СДНФ1) = АВС. СКНФ1) = СДНФ1) = АВС = Av BvC.
Метод эквивалентных преобразований:
(C^.4h(8vC^ a)=Cv AvBvCvA =
= (с л a)v (fl v С v а)= A v 8 v С v С А = Av BvC;
2)	TaB^~Av(Aa(BvC)) = 7aBvAv(ABvAC) =
= (аВ a a)v (АВ V AC)sAB v AC = а(В v с)s
= (a v (в л в))л ((в v с) v (а а а)) ее
= (А v В)л (a v в) А (Bv C'V A)a(b-v C'V а)=
= ((A v В) v (с л с))л ((a v fi)v (с л с))л a(AvBvC)a(avBvc)s(AvBvC)a(avBv с)л л (a v В v с)л (a v В v с)л (AvBvC)a(avBvc)= s^AvBvC^vBvC^vBvcIavBvC^vBvc);
3)	Ял(ВуС) (Я л B)v С = Я л (В v С) v ((Я v С)л (В v С)) = = ABv ACv(AvC)a(BvC)s
Гпава 6. Алгебра высказываний
279
= АВ v AC v А(В v С) v С(В v С) =
= АВ v AC v АВ v AC v ВС v С =
= АВ v AC v ВС v С = АВ v С =
= (AvC)a(BvC) =
s ((A v С) v (в л в))л ((В v С) v (а л а)) =
e(Av BvC)/\(av~Bv с)л (AvBvC)a^4vBvc)s e(AvBvC)(avBvc](4vBvc);
4)	(a v В —> А л с)-> А A v В л С s А v В v (А л С) v
v A v A v (в л С> (a v в)л (а л c)v A v (в л ё)= s(avb)a(avc)vAv(bac) =
= (avb)aAv(Avb)aCv(AvB)a(avc)=
= АА v АВ v AC v ВС v (Av В)л Av (Av В)лС s
= ABvACvBCvAvABvACvBC =
= AvTiTsvllCv ВС = Av~ABv С = Av~BvC\
5)	А| v А2 v... v Д, —> В, л В2 л... а В„ =
^а1а...алЬ й,)л^лДл...лд)у В2)л...
... а((д л4л..а)/В„)^ (д v В,)л (д v bJa...
...a(a;vB,)a(avB2)a(^ vB2)a...
...л(д vB2)a...a(^vB„)a(^ vB,)a...a(^ vB„).
1.11.10.	Поскольку исходная формула абсолютно истинна, ее СДНФ должна содержать все различные элементарные конъюнкции, каждая из которых обладает свойствами совершенства. Число элементарных конъюнкций для функции п переменных должно быть равно числу строк истинностной таблицы, т. е. 2". Тогда:
1)	СДНФ f{x)=xv~x-
280
Часть II. Ответы, решения, указания
2)	СДНФ /(х, у) = ху v х_у v ху V ху;
3)	СДГ1Ф/(х, y,z) = x)'zvx.yzvx)’z VX)’ZVX)’Z v xyz vxyz у/ xyz.
1.11.11.	Исходные соображения аналогичны соображениям предыдущей задачи.
1)	СКНФ /(х)=хлх;
2)	СКНФ /(х,у)= (xv _v)a(xv у)л (xv у)л(х^ ^);
3)	СКНФ/(х,у,?)=
= (х v у v z)a (х v у v z)a (х v у v г)л
л (х v у v z)a (х v у v г)л (х v у v г)л
л (х V у V г)л (х V у v z).
1.11.12.	Так как f(x,y,z) = 1, то формулу удобно представить в виде ДНФ, тогда достаточно, чтобы хотя бы одна конъюнкция была истинной. Это можно обеспечить перечислением переменных в конъюнкциях, причем достаточно трех конъюнкций, и при этом одна из переменных должна входить в конъюнкцию сама, а две других в виде отрицаний. Таким образом,
f(x,y, z) = (хл у л z)v (хл у л z)v (хл у л z).
1.11.13.	Представим опять формулу в виде ДНФ. Для функции /(х, у, z) существует только три пары значений переменных, в которых большинство переменных принимает одно и то же значение: (1,1, о), (1,0,1) и (о, 1,1) или (о, 0,1), (о, 1, о) и (1, 0,0). Тогда функция, принимающая то же значение, что и большинство переменных, имеет вид /(x,y,z) = xyz v xyz v xyz. Для меньшинства переменных справедливы аналогичные рассуждения и
/(х, у, z) = xyz v xyz v xyz.
1.11.14.	Рассмотрим первое уравнение ха / = хл у. Для его осуществления переменная z в /(х,у, z) должна быть фиктивной, т. е. х а у = xy(?vz)=xyzvxyz. Рассмотрим теперь второе условие х v z = = X V xz = ху V X V XZ = (ху V xz)v X (xy(z v z)v xz(y v y))v X ,
Глава 6. Алгебра высказываний	281
т. е. f(x, у, z) должна содержать следующие слагаемые:
xyz v xyz v xyz v xyz .
1.11.15.	Заметим, что xt v x, v... v xk = (x] v X-, v... v x,.) a
A (y V (x, Л y)v v(x, Л y)v ... V (x4 Л y)v [xt Л Д аналогично Xj ax2 a...axa =(xj ax2 A...AxJv(yAy)=(xl v у)л (x( vy)A... ... л (xk v y) a (x* v у). Используя это, мы всегда можем считать, что у любых формул А и В заданные нормальные формы содержат одни и те же переменные.
СДНФ (л v в) получится, если взять дизъюнкции всех элементарных конъюнкций СДНФ А и СДНФ В. СКНФ(Л v В) находится по формуле СКНФ (A v В) = СДНФ (д v В). Для этого необходимо: 1) Выписать дизъюнкции элементарных конъюнкций переменных, не входящих в СДНФ(л V в);
2) Заменить v на а, а а на v, х- на х(., a xi на л;. Полученная формула будет СКНФ (A v В).
1.11.16.	В СКНФ Я заменить v на л и а на v. Действительно, переменные у формулы Я(х},х2,...,хл) превратились в Х(,х2,...,х;( у формулы А*, что соответствует изменению переменных при переходе от СКНФ к СДНФ. Необходимо теперь только поменять местами двойственные операции, тогда окончательно вместо А получим А- А', эта же операция необходима при преобразовании СКНФ в СДНФ.
Например, А - х—» у, А* = у —> х (см. задачу 1.11.17).
х—> у= xv у — СКНФ. По описанной процедуре
СДНф(х—> у)* = ха у. На самом деле у —> х= xv у = хл у — СДНФ А*.
1.11.17.
1)	0* = 1, Г = 0 поскольку функция ни от каких аргументов пе зависит существенно, надо поставить отрицание лишь на значение функции; х* = х = X, х = х = х, т. е, хи х самодвойственны;
282
Часть II. Ответы, решения, указания
(хлу)* =Х Ay = XVysxVy,
(xVy)*=XV)>5XAy = XAy,
(х ^> у )‘ = X у = X 'J у = у X ,
(х<-> у)" = х<^> у = (х-> у)л (у x)s (xvy)A(yvx)=
= (yvx)A(xvy) = (у->х)л(л-->у) = у <н> х;
2)	Решим задачу двумя способами. Условия означают, что
/(Ц,о)=1,
 /(1,0,1) =1, Двойственная функция получается из исходной /(о,ц)=1.
при замене значений всех переменных на противоположные, т. е. всюду в истинностной таблице (табл. 6.19) нужно заменить 0 на 1 и 1 на 0.
Таблица 6.19
X	У	z	/Ы	X	У	z	/ =7(x,y,z)
1	1	1	0	0	0	0	1
1	1	0	1	0	0	1	0
1	0	1	1	0	1	0	0
1	0	0	0	0	1	1	1
0	1	1	1	1	0	0	0
0	1	0	0	1	0	L	1
0	0	1	0	1	1	0	1
0	0	0	0	1	1	1	1
Из табл. 6.19 получаем: /(х, у, z) = xyz v xyz v xyz, /’(x,y,z)=7(c, y, z)= xyz V xyz v xyz v xyz v xyz.
Второй способ: f*(x,y,z)= f{x,y,z)= xyzv xyz'J xyz s
= xyz a xyz a xyz s (xv у v z)(x v у v z)(x V у V z)=
Гпава 6. Алгебра высказываний
283
= (х v ху V XZ v ху vyy V yz V X'Z v yz v zz)(x V у V z) =
S (a V yz V yz)(x V у V z) = ЛХ v xyz V
v xyz V xy v yyz V yz V XZ V yzz V yz =
s xyz V xyz vxyvyzvxz = xyzv
v xyz V xyz v xyz V xyz V xyz V xyz v xyz =
= xyz V xyz v xyz V xyz v xyz.
1.11.18.	По определению самодвойственной функции, f(x\ ,X2,...,xn ) = - f* (х[,х2,...,х/г) = /(х|\х2,...,хя). В нашем случае (ху v yz V xz)* = ху V yz v xz ^у)л(^г)л(^г)=
= (х V у Ху V zX* v z) = (ху v у v XZ v yzX-V vz) —
= xy v xy v xz v xyz v xyz v yzv xzv yz =
= xy v xyz v yz v xz = xy V yz v xz.
1.11.19.	22 . Множество наборов, значения на которых определяют самодвойственную функцию, содержат 2""1 элементов (половина всех наборов, т. к. самодвойственная функция принимает на противоположных наборах противоположные значения). Общее число функций равно числу двоичных наборов длины 2"-1,т. е. 22 (см. задачу 1.11.2).
1.11.20.	Функция является несамодвойственной, если существует такой набор что /(a],a2,...,a„)= /(сц,а2,...,а;(). Разобьем пере-
менные х,, х2 ,...,хп на две группы. В первую включим те переменные х,, для которых а,- = 1, в другую те, для которых = 0. Отождествим между собой все переменные первой группы, переименовав их в у,, а также все переменные второй группы, переименовав их в у2  Получим функцию от двух переменных (р(у(, у2 ), которая может оказаться и функцией от одной переменной, если (a15a2,...,ал)— единичный или нулевой набор. Очевидно, что ф(1,0)= /(ai,a2,...,an)’
10 Зак 4306
284
Часть II. Ответы, решения, указания
<р(0,1)=/^,а2,...,а„), поэтому ф(0,1) = ф(1,0), т. к. f несамодвойственна по условию.
Может оказаться, что дальнейшее отождествление переменных с сохранением несамодвойственности невозможно.
6.3.	Ответы и решения практического занятия №3
1.18.1	.
1)	СДНФ f = xyz v xyz v xyz v xyz. Выполним в этой формуле все операции неполного склеивания и поглощения f - xz(y v y)v yz(xvx)vxy(z vz)v xyz v xyzv xyz v
v xyz = xzv yzv xy v xyz v xyz v xyz v xyz = xz(l V y) v yz(l v x)' v xy(l V Z V = xz v yz v xy .
Итак, методом Квайна найдена сокращенная ДНФ. Составим теперь матрицу Квайна (табл. 6.20).
Таблица 6.20
Простые импликанты	Конституенты единицы СДНФ			
	xyz	xyz	xyz	xyz
xz	—	—	*	*
yz	—	*	*	—
ху	*	*	—	
Тупиковая ДНФ равна xyvxz, она же будет равна минимальной ДНФ. Итак, МДНФ f ~ ху v xz. Составим теперь карту Карно для исходной функции. На карте выделяются три пары точек (отмечены на рис. 6.1), образующие 1-кубы. Простые импликанты имеют вид: ху , xz и yz. Сокращенная ДНФ равна ху v xz v yz. Из карты Карно видно, что пару точек (0,0,1)-( 1,0,1) и соответствующую ей простую импликанту yz можно отбросить. Тогда МДНФ = ху v xz •
Глава 6. Алгебра высказываний
285
Проверим теперь функцию на принадлежность к каждому из пяти классов Поста.
/(0,0,0) = ОлО vOaO = 1 *0,
,/gP0; /(1,1,1)=1л1у1л1 = 1, /еР,;
f(x,y,z)= ху v xz = ху лхг = (х V у)л(х v z)s X V ух V yz. Ф
f - ху xz, f £ S f ё L,t.k. содержит произведение xz ;
f (М, поскольку (0,0,1) -<(0,1,1), а /(0,0,1)= 1 >/(0,1,1)= 0;
2)	СДНФ f = xyz v xyz v xyz v xyz v xyz. Тогда
f = xy(z v z)v xy(z v z)v xz(y v y)v yz(x v x)v xyz v xyz v
v xyz v xyz v xyz s xy(l v z v z)v
v xy(l v Z V z)v xz(l V у)v yz = xy V xy V
vxzvyz — сокращенная ДНФ. Матрица Квайна приведена в табл. 6.21.
Таблица 6.21
Простые импликанты	Конституенты единицы СДНФ				
	xyz	xyz.	xyz	xyz	xyz
ху	*	—	—	*	—
ху	—	*	—	—	*
xz	—	—	*	*	—
	—	—	*	—	*
286
Часть II. Ответы, решения, указания
Тупиковых ДНФ здесь две: xyvxyvxz и ху v ху v yz. Минимальных ДНФ тоже две, они совпадают с тупиковыми. Карта Карно для данной функции имеет вид, показанный на рис. 6.2. Имеется четыре пары точек, образующих 1-кубы: (0,0,1)-(0,1,1), (0,1,0)—(0,1,1), (1,0,0)— (1,0,1) и (0,0,1)-(1,0,1), им соответствуют следующие импликанты: xz, yz, ху и yz. Таким образом, сокращенная ДНФ равна xz vxy vxy vyz, а минимальных ДНФ две: МДНФ[ = xzvxy vxy, МДНФ2 = ху v ху v yz 
Для проверки принадлежности функции к классам Поста воспользуемся одной из минимальных дизъюнктивных форм, например, f = xz vxy v ху. /(0,0,0) = 0л0 vOaO v0 а0 = 0, /еР0;
/(1,1,1)=1л1у1л1у1л1 = 0#1, ft Р,-,
f^:,y,z)= xz v ху v ху = xz л ху л ху = (с v z)a (х v у)л (х v у) = = (х v xz v ху v уг)л (х v у)= (х v уzjxv y'j = xxv xyzv xyv
v yzy = xyz v xy Ф f, следовательно f g S ;
XZ V xy V xy s XZ A xy A xy = ((x © l)z © l\(x ® l)y ® lXx(y ® 1) ® 1)® 1 = = (xz® z® 1/xy® у ®l)(xy® X®1)®1 =
= (xyz® xyz® xy® xyz® yz® y® xz® Z® 1/xy® X® 1)® 1 =
= xy Ф xyz ® xyz ® xy Ф xyz ® xyz ®
® xy Ф xy ® xyz ® xyz ®xy®xz®xz®x®xy® .xyz ® yz®
Гпава 6. Алгебра высказываний
287
®y®XZ®Z®l®l = xyz ® XZ® yZ® X® у® zi. L\ f g M , T. K. (1,0,Op (1,1,0), HO /(1,0,0)= 1 > /(1,1,0)= 0 ;
3)	СДНФ/ = xyz v xyzv xyz v xyz v xyz .
f = z)vxz(y V y)v yz(x V x)vxy(zv z)vxyz V
v xyz v xyz v xyz v xyz =
= Лу(1 V z v z)v xz(l v y)v yz(l v x)v xy(l V z) =
= xy v xz v yz v xy — сокращенная ДНФ.
Таблица 6.22
Простые импликанты	Конституеиты единицы СДНФ				
	xyz	xyz		xyz	xyz
*У	—	*	—	*	—
Л7	—	—	—	*	*
yz	—	—	*	—	*
	*	—	*	—	—
Тупиковых ДНФ две: xyvxzvxy, xyvyzvxy (табл. 6.22); минимальных ДНФ также две: МДНФ| = ху v yz v ху и МДНФ2 = ху v xz v ху . Карта Карно для исходной функции трех переменных приведена на рис. 6.3.
Рис. 6.3
288
Часть II. Ответы, решения, указания
Четыре пары точек образуют четыре 1-куба: (0,0,0)—(0,0,1), (1,1,ОНМЛ), (UJHW) и (0Д1Н1Д1). Сокращенная ДНФ из карты Карно равна ху v xz v yz v xy , МДНФ] = xy v xy v xz, МДНФ 2 = xy v xy v yz . Возьмем вторую минимальную дизъюнктивную форму и проверим, к какому классу Поста принадлежит наша функция. /(0,0,0) = 0a6v0a0v0a0 = 1, /(1,110)=1л1 vIaIvIaI = 1, /е/>;
/(х, у, z) = ху v ху v у z =
= ху л ху л ух = £ V у\х V y'fa V z) =
= (xxv xyv xyv yyfcv z) =
= xy v xy у v xyz v xyz = xy(l V z)v xyz = xyv xyz * f, ftS; ftL,T.K. содержит произведение xy; ftM, поскольку (0,0,0)-: (1,0,0), a /(0,0,0)= 1>/(1,0,0)= 0;
4)	СДНФ/= xyzvxyzvxyzvxyz.
/ = xz(y V y)v yz(x v x)v xy(z V z)v xyz vxyzv xyz V xyz = = xz(l v у v y)v yz(l v x)v xy(l v z}= xz v yz v xy — сокращенная ДНФ. Тупиковая ДНФ одна xz V ху, она же равна минимальной, т. е. МДНФ = xz v ху (табл. 6.23). Составим теперь карту Карно. Простые импликанты для этой карты Карно равны: ху , yz и xz, минимальная ДНФ получается по двум парам точек: (0, КОНО, 1,1) и (1,1,1)-(1,0,1) (рисб.4), MflH® = xzvxy. /(0,0, 0) = 0л0 v0a0 = 0, /6 Ро;
Таблица 6.23
Простые имллнкаиты	Конституенты единицы СДНФ			
	xyz	xyz	xyz	xyz
xz	—	—	*	*
yz	*	—	—	*
ху	*	*	—	—
Гпава 6. Алгебра высказываний
289
101
Рис. 6.4
/(1,1,1) = 1 л1 vIaI =1, fe Pf; f(x,y,z)~ xzv xy = xz л xy =
= (x v z^x v y)= xx v xz v xy v yz /, f g S'; f £ L, т. к. содержит xz . Составим таблицу истинности для МДНФ (табл. 6.24). Из нее видно, что для всех сравнимых наборов переменных выполняется условие а -< р —> /(а)^ /(р)- Следовательно, / £ М ;
Таблица 6.24
X	У	Z	XZ	ху	МДНФ
1	1	1	1	0	1
1	1	0	0	0	0
1	0	1	1	0	1
1	0	0	0	0	0
0	1	1	0	1	1
0	1	0	0	1	1
0	0	1	0	0	0
0	0	0	0	0	0
5)	СДНФ f = xyz v xyz v xyz .
f = уДг v z)v xyz v xyz v xyz =
yx(l v z v z)v xyz = yx v xyz — сокращенная ДНФ. Матрица Квайна для этой функции очень проста и приведена ниже. Карта Карно изображена на рис. 6.5. Одна точка на этой карте Карно принадлежит 0-кубу, это точка (0,1,1). Еще пара точек (],0,0>—(1,0,1)
290
Часть II. Ответы, решения, указания
образует 1-куб. Простые импликанты равны xyz. ху. Тупиковая ДНФ равна xyzv ху, она же равна единственной минимальной дизъюнктивной нормальной форме (табл. 6.25).
Таблица 6.25
Простые импликанты	Конституенты единицы СДНФ		
	xyz	xyz	xyz
ух	-	*	*
xyz	*	-	-
Рис. 6.5
/(0,0,0)=0a0v0a0a0 = 0, /ePD;
/(1,1,1)=1a1v1a1a1 = 0, ftPa-
f£, у, z)= xy v xyz = xy A xyz = (x V у)л £ V У V z)=
= xx v xy v xy v у у v xz v yz = xy v xy v xz v yz * f, f <t S ;
xy v xyz = xy A xyz = (x(y ® 1)® 1)- ((x Ф l)yz Ф 1)® 1 =
= (xy Ф X ® 1)  (xyz Ф yz ® 1)® 1 =
= xyz ® xyz ® xyz ® xyz ® xyz ®yz®xy®x®l®l =
= xyz® yz® xy® x£ L;
fiM.T.K. (0,1,1)-:(1,1,1),HO /(o,l,l)=l>/(l,l,l)=0.
1.18.2	. Так как .tffi t = .my = (x л y)v (x л у),
то x® у = у = (ха y)v y)s ху v ху — СДНФ;
Гпава 6. Алгебра высказываний
291
X ® у = (х Л y)v (х Л у)= (х V £ л у))л (у v (х л y))s
= ((х V х)л (х V у))л ((у V х)л (у V у))= (х v у£ v у) — СКНФ.
По определению двойственной функции
(х® у)* = (х® у) = ((х® 1)® (у® 1))® 1 = X® у ® 1 ; то же самое можно получить другим способом: (х©у) = ^хлу^хлу^ = £лу)л (хлу) = ((х © 1)у ® 1\х(у ® 1)® 1) =
=	(ху © у ® 1 /ху ® X © 1) =
=	ху © ху © ху © ху Ф ху © х© ху © у © 1 = х© у © 1, т. к. операция сложения по модулю два обладает следующими свойствами: хФх = 0, х©1 = х, х@0 = х, хФх=1.
1.18.3.
1)	Конъюнкция: ху = х-у; дизъюнкция:	xv у = х л у =
= (х©1\у©1)©1 - ху©х©у; отрицание: х=х©1; импликация: х—» у = xv у = хл у = хл у = х(у© 1)© 1 = ху©х© 1; эквиваленция:
хнув(х-> у)л (у —> х)= (xv у)л (у V x)s хл у л у л х =
= хлулулх = (х(у ® 1)® 1Ху(х® 1)® 1) =
=	(ху ® X ® 1Хху © у © 1) =
=	ху ® ху ® ху ® ху ® ху ® у ® ху ® х ® 1 = х ® у ® 1;
2)	xvy VZ = XAyAZ = (x®lXy®lXz®l)®l =
=	(ху ® у ® х ® 1Хг ® 1)® 1 =
=	xyz ®yz®xz®Z®xy®y®x®l®l =
=	xyz ®xy®xz®yz®x®y®z;
3)	xy V yz V xz = xy A yz л xz = (xy ® l)(yz © 1XXZ ® 0® 1 =
= (xyz ® yz ® xy ® 1XxZ ® 1)® 1 =
292
Часть II. Ответы, решения, указания
= xyz ® xyz® xyz® xz® xyz ® yz®
® xy Ф1Ф1 = xy® xz® yz ;
4)	xyz v xyz v xyz v xyz = z(xy v xy)v z(xyV xy),
xy v xy = xy л xy = (х(у®1)ф1Х(х®1)у®1)®1 = (ху®х®1)-• (xy ® у ® 1)® 1 = x ® у;
xy v xy = xy л xy = ((xy ® lX(x ® 1X? ® 1)® 1)®
® 1) = (xy ® 1/xy ® у ® x) Ф 1 =
=	хуФху®хуФуФхуФхФ1 = хФуФ1 = х®у;
xyz v xyz v xyz v xyz = z(x Ф y) V zx Ф у = z(x® у)л z(x © y) = = (xz Ф yz Ф lX(z Ф 1X* ® у Ф1)® 1)® 1 =
=	(xz Ф yz Ф iXxz Ф x Ф yz Ф у ®z)® 1 = x Ф у Ф z ® 1.
1.18.4,	Пусть x, —такая переменная. Сгруппируем члены, в которые входит х,, и вынесем х). Получим /(х|,Х2»--,лп) = ^1ф(^2»—»хп)+ф(Л2»—»хл)-Это разложение можно рассматривать как полином Жегалкина по переменной х, с коэффициентами, зависящими от остальных переменных. В разложении ф^О, т. к. в противном случае в силу единственности полинома Жегалкина х, не входила бы в полином для f. Возьмем значения переменных х2,х3,...,хи, на которых ф = 1. Тогда значение f будет зависеть от значения х^т.е. х, — существенная переменная.
1.18.5.	Функция /(xj, х2 ,...,х,() называется линейной, если она представима полиномом Жегалкина не выше первой степени, т. е. если существуют такие константы ai е {0,1}, i = 0,п, что /(хих2,...,х|) = а0 ®alxt ®...®a„x„.
1)	f = х —» у Ф ху = х® у Ф (х® 1)у =
= х® у® ху® у = ху® хе L\
Гпава 6. Алгебра высказываний
293
2)	f = ху v ху v z = ху лху л z = (ху ® 1/(х® 1Ху ® 1)® 1)-• (z ® 1)® 1 = (ху ® 1/z ® 1) (ху® у ® х)® 1 = xz© yz® X® у® I. Очевидно, что f g L. Подобный метод представления функции полиномом Жегалкина называется методом, базирующимся на преобразовании формул над множеством связок {л, }.
Восстановим теперь полином, представляющий данную функцию, методом неопределенных коэффициентов.
f = xyv ху v z = a0 ®alx® a2y® a3z ® atxy® a5xz® a(yz® a-xyz, /(0,0,0) = 1 - a0 ® a,  0 ® a2  0 ® a3  0 ® a4  0 ® af • 0 ® a6  0 ® a7  0, /(0,0,1) = 1 = a0 ® a,  0 ® a2  О Ф a3  1 ® a4  О Ф a5  0 ® a6  0 ® a7 • 0, /(0,1,o) — 0 = a(, © • 0 © a2 • 1 © a3  0 ® a4 • 0 © a3  0 ® a6  0 © a2  0, /(0,1,1) = 1 = a0 © • 0 © a2 • 1 © a3  1 © a.t • 0 © a3  0 © йб  1 © a-.  0, /(1,0,0) = 0 = a0 Ф Я]  1 Ф a2  0 Ф a3  0 Ф a4  0 © a5  0 Ф a6  0 ® a7  0, /(1,0,1) = 1 = a0 Ф Я] • 1Ф a2  0 Ф a3  1Ф a4 • 0 ® a5  1Ф a6 • 0 © a7  0, /(1,1,0) = 1 = a0 Ф a,  1Ф a2  1Ф a3 • 0 Ф o4  1Ф a5 • 0 Ф o6  О Ф a7  0, /(1,1,1)= 1 = a0 ® a, -1 ®a2 -1 ® a3 -1 ® a4 -1® as -1 © a6 -1© o7 -1.
Подобная система всегда имеет решение, причем все G {0,1}, / — 0, //. Здесь a0 = а, = а, = а5 = a6 = 1, а3 = a4 = а, = 0;
3)	/ = ху(х <-> у) = х(у ® 1Хх® у ® 1)= (ху ® 1Хх® у © 1) =
= ху®хуФхуФхФхуФх = ОеЛ;
4)	/ = (х v yz)® xyz = х луг® xyz = = ((х Ф1 Xyz Ф 1)Ф 1)® (х Ф l)yz = = (xyz Ф yz)® (xyz ® yz ® х Ф1Ф1) = = xyz Ф yz ® х Ф xyz Ф yz = х е L.
1.18.6.	Так как /(х,,х2,...,х„) = а0 ®а,х, Ф...®а„хп, то множество всех линейных функций равно числу различных наборов вида Поскольку Via, е {0,1}, то число наборов равно 2"+1.
294
Часть II. Ответы, решения, указания
1,18,7.	Выясним, при каком составе существенных переменных /(xj	) = 1 • Рассмотрим в качестве примера функцию двух
переменных. Она линейна, т. е. f(<x,y) = aQ®alx®a2y. Тогда f =0, /2=1, /3 = 1Фх, /4=1©л /5=1©х©у,
/6 = х©у, /7 = х, /8 = у. Только /2 и /5 удовлетворяют условию задачи. У /2 все переменные фиктивны и й0 =1, у /5 число существенных переменных четно и aQ = 1. Та же картина наблюдается для функции трех переменных /(х, bz): f =0, f2 =1, / = х, /4 = 1 ® х, f5=y, Л = 1 ® Ь Л = х® К /8 = 1 ® х® У, f,=z, /0 = 1© Z, /ц = X© z, fl2 = 1© х© Z,
f3 = y®z, f4 = l©y©z, fl5=x®y®z, /6=l©x©y©z. Число всех линейных функций п переменных, у которых fl0 =1 и все переменные фиктивны или с a0 = 1 и с четным числом существенных переменных, равно 2"”1.
1.18.8.	Функция f(x]ix2,...,xil) сохраняет константу 0 (константу 1), если /(0,0,...,0)= 0 (соответственно /(l,l,...j)= 1).
1)	/ = (х, ^xjx2->х3)(х3 ^xj.
/(0,0,...,0)= (0 -> оХо —> 0\0 —> 0) = 1,
/(1,1,...Д) = (1 —> 1/1 —> 1X1 —> 1) = 1. Таким образом, /е Pt \ Ра;
2)	/ — функция от трех переменных и может содержать суперпозиции всех логических связок. Рассмотрим, например, / = х; v х, —> х3,тогда /(0,0,0) = 0v0—>0 = 1 и
/ (1,1,1) = 1V1 —> 1 = 1. Однако /2 = (х, -х> х, )л х, дает /2(0,0,0) = (0	0)л 0 = 0 и /(1,1,1) = (1 -> 1)л 1 = 1.
Следовательно, произвольная f £ Pt \ Ро ;
3)	/ = ^х2х3 v х,х2 v х2 : /(0,0,0)= 0-0-0v 1-0v 1 = 1, /(l,l,l)=l-l-lvO-lvO = l,T.e. fe P,\P„-,
/ = (x, vXj^Tvx,x2 vx2: /(0,0,0) = (0vl)-lvl-0vl = l,
/(I,l,l)=(lv0)-0v0-lv0.= 0, /g
Гпава 6. Алгебра высказываний
295
1.18.9.
1)	f = xyv xz.v z = xyv z . Эта функция равна нулю на наборах (0,0,0), (0Д,0), (1,0,0). Все оставшиеся наборы, исключая (0,0,1), содержат не менее двух единиц, а значит, либо не сравнимы с (0,0,0), (ОД,0), (1,0,0), либо могут быть только больше. Для наборов (0,0,0)-< (0,0,1) набор (0,0,1) не сравним с (0Д,О) и с (1,0,0), но /(0,0,0) = 0 < /(0,0.1) = 1. Следовательно, рассматриваемая функция монотонна;
2)	f=x—>(x—*y). Всего четыре набора переменных. Сравним (о,оМ,о), но /(0,0) = 1 > /(1,0) = 0. Функция немонотонна;
3)	/ =ivyo xv у. (0,0)-< (1,0), /(0,0) = 1 > /(1,0) = 0. Функция немонотонна;
4)	f = х v у х- у s ху ху = 1 для всех наборов, следовательно, функция монотонна;
5)	f - xyv xv xz = x{yv l)v xz s xv xz = xv z, у — фиктивная переменная; функция xv z монотонна, т. к. она равна 0 лишь на наборе (0,0), который предшествует всем остальным наборам.
1.18.10.	Вопрос о числе монотонных функций от п переменных оказывается очень трудным. Окончательно он не решен до сих пор; это число сосчитано лишь для конкретных небольших п. Монотонная f(x, у) (не константа) равна 0 на нулевом наборе и 1 на единичном. Два других набора (0,1) и (1,0) следуют за нулевым, предшествуют единичному, а между собой не сравнимы. Поэтому на них можно задавать любые значения функции, не нарушая монотонности. Всего задать эти значения можно четырьмя способами, так что можно задать четыре монотонные функции от двух переменных, не являющихся константами: х, у, .ху и xvy.
1.18.11.
1)	Нельзя, т. к. /е 7J, a xg PQ;
2)	Можно, /(х,0,1,0) = х  1  1 v 0 • (х  1 —э 1) = х;
3)	Можно, f(x,z,z,z)~ xzzv z(xz~* z)= z(xzv xv zv ")= z .
296
Часть II. Ответы, решения, указания
1,18.12.
1,	2) См. разд. 1.14\
3)	Пусть {/|,/2}={ .л},	у} Тогда х = xv х= х, т. е.
/| =4>j(gi)- xv y = xvy, т. е. /2 =(Р2(&1)- Таким образом, система {xv у}полна;
4)	См. разд. 1.14\
5)	Пусть	{ >л}—полная система, а {g, ,g2} = {“^О}-
Тогда j\ = x = xvO = x->0 = pI(gl,g2),
fl = xvy = х->у =(p2(g1,g2),T.e. {->,0}полна.
Решим эту же задачу с помощью теоремы Поста. При заполнении таблицы Поста (табл. 6.26) следует помнить некоторые свойства функций из классов P^P^S, Ьи М. Случаи Ро и Р} тривиальны. Среди линейных функций монотонны лишь 0, 1 и х; самодвойственны функции с нечетным числом переменных; сохраняют нуль функции, у которых свободный член— нуль; сохраняют единицу функции от четного числа переменных, если их свободный член — нуль, и функции от нечетного числа переменных, если их свободный член единица.
Таблица 6.26
	р«	р.	S	L	м
*У	+	+	-	-	+
X	-	-	+	+	-
ХУ у	+	+	-	-	+
X	-	-	+	+	-
ХУ у	-	-	-	-	-
хФ у	+	-	-	+	-
ХУ у	+	+	-	-	+
1	-	+	-	+	+
	-	+	-	-	-
0	+	-	-	+	+
(лава 6. Алгебра высказываний
297
1.18.13.
1)	Система функций G в классе К называется его базисом, если она полна в К, а всякая ее собственная подсистема не полна. Система функций {ху, х] полна в Р2. Она состоит из двух подсистем: функций ху и х. ху — монотонная функция (см. таблицу Поста предыдущей задачи), х — линейная и самодвойственная функция. Таким образом, системы {ху} и {х} неполны, т. к. эти функции и представляемые ими системы целиком содержатся в каком-то из пяти классов PQ, S, L и М. Следовательно, {ху, х}— базис в Р2;
2,	3) Рассуждения аналогичны п. 1;
4)	Система {х© у, xvy, 1} имеет шесть подсистем: {х©у}, {xv Л {1}. и у, xvy}, {х© у, 1}, {xvy, 1}, Все они неполны (см. таблицу Поста), т. е. целиком содержатся в каком-то из пяти классов;
5)	Рассуждения аналогичны п. 1.
1.18.14.
1)	Из всякой полной системы можно выбрать не более пяти функций, удовлетворяющих теореме Поста. Следовательно, базис не может содержать более пяти функций;
2)	зВозьмем функцию, не сохраняющую нуль. Эта функция илн монотонна, и тогда она тождественно равна единице, или немонотонна. Если f = ^, то это несамодвойственная функция. Итак, /g Ро и / = 1 => /« 5 или Ро и f ё М. Таким образом, в полной системе обязательно найдется функция, не принадлежащая сразу двум предполным классам. Тогда к этой функции можно присоединить не более трех функций из рассматриваемой системы функций так, чтобы удовлетворялись условия теоремы Поста. Следовательно, в базисе не может быть более четырех функций.
1.18.15.
1)	Составим таблицу Поста для этой системы функций (табл. 6.27).
298
Часть II. Ответы, решения, указания
Таблица 6.27
Функция	р„	р,	S	L	М
0	+	-	-	+	+
х®>>	+	-	-	+	-
х-^у	-	+	-	-	-
ху(^ XZ	-	+	-	-	-
Первые три функции из системы G уже встречались ранее (см. задачу 1.18.12).	Рассмотрим	f4=xy<r^xz.
ft (0,0,0) = 0	0 = 1, т. е. /4 g Ро, /4 (1,1,1) = 1, /4 е Pt. Упро-
стим /4 = ху«-> xz= xv yzv yz. Двойственная к ней /4* = xv yz v yz = xz, т. е. /4«5. Далее /4=xvyzvyz = = Х Л yz Л yz = x(yz © 1Х(у © 1/z © 1)© 1)© 1 = xz © yz © 1, т. e. f4 £ L. Функция равна нулю на двух наборах: (1,0,1) и (1,1,0), на всех остальных /4=1. Тогда (0,0,0) -< (1,0,1), но /(0,0,0) = 1 > /(1,0,1)= 0 . Таким образом, /4 £ ЛЛ
По заполненной таблице составим КНФ системы G, в которой элементарные дизъюнкции соответствуют столбцам таблицы и включают в качестве слагаемых символы тех функций, которые не входят в класс, соответствующий столбцу. В данном случае КНФС = = (/з V Х/1 V АХ/, V/2 V /3 v/4Х/з V /4Х/2 V Л V /4).
Упростим эту КНФ и преобразуем ее в ДНФ. КНФС = =(/>А v/iA v/2/3 vAAX/i VА V/з V/4ХА/з V АА V v А V АЛ V А)=(У, А V /,/4 V A A v АЛХЛ v Л)= = ЛА v АА v/Д v АЛ = ДНФС.
Из полученной ДНФ (7 выпишем подмножества функций, соответствующие слагаемым ДНФ. Это и будут искомые базисы G. В нашем случае имеются четыре базиса:	= {0, х—эу},
Б2 = {х© у,х —» у}, Б3 = {О, ху<-> xz}, Б4 = {х® у,ху <-» xz};
Гпава 6. Алгебра высказываний
299
2)	G -	У>ХУ ® Z, х ® у @ z ® 1, ху @ yz, @ xz}.
Аналогичные действия дают следующие результаты (табл. 6.28).
Таблица 6.28
Функция	р«	р.	5	L	М
/,	+	-	+	-	-
Л	+	-	-	-	-
/з	-	-	+	+	-
Л	+	+	-	+	+
КНФС = Л U V /2 V /3 Х/2 V Л X/,- V /2 X/ V /2 V Л) = /2/3 V v А/зЛ = ДНФб, Таким образом:
Б, = {ху ® z, X ® у ® Z ® 1}.
Б2 = {х ® у, х ® у ® Z ® 1, ху ® yz ® xz}.
3)	. G = {^/2,/3,/4,/5}={xyvxz,x,x->y,0,x®zy). Таблица Поста приведена в табл. 6.29.
Таблица 6.29
Функция	р„	р.		L	М
/.	+	+	-	-	-
Л	-	-	+	+	-
Л	-	+	-	-	-
Л	+	-	-	+	
Уз	+	-	-	-	-
КНФС = (/2 v /3Х/2 V /4 V /5ХЛ V /3 v /4 v /3ХА V /3 v /5).
(./,v/2v/3v/5) =
300
Часть II. Ответы, решения, указания
= Л Л V f2f3 у л А V ЛА V АА = ДНФ G.
Б, = {xyv xz, х],
Б2 = {x,x->J’} Б3 ={х,х®г;р}, Б4 ={х->^,0},
Б5 = {х —> у, х Ф zy}.
з/ — э/ <у -
1.18.16.	-х—= х2 v х3,——= XjX3,= XjX Эх,	Эх2 Эх3
Э2/	-	-----Э2/
77-----; = х3 vx,x2 v.vy2, ——
dfXuXjj	dx]dx3
а2/
Эх,Эх2
d2f -	---- d2f
— =	— = ^,
-хЬГуад)	97 -1
Э(х2,х3)	дх<дХгдХз b
Э3/	--- -	----------------
—i------г = X^XjX^V XIX2X3 V Х1ХгХ3 V XIX2XJ V XpXjXj v xix2xJ.
“Hi > X, > X} )
1.18.17.
,, ,z \	— Э/ — df —
1)	f(x,y,z)=xv y->z=xyvz, ~- = yz, f- = xz, dx dy
df	d2f	- d2f	- d2f	- d3f	,
dz	dxdy dxdz dydz dxdydz
Тогда f(x,y,x') = l®l-x®l-y®O-z®l-xy®l-xz®].-yz®
® 1 • xyz = 1® x® y® xy® xz® yz® xyz ;
f(x,y)= xv y-^>(x«r-> y)= xyv xy, ^ = 1, v- = l, ox dy
*12 f
	= 0, f(x,y)=	=
oxoy
—	— df —
f(x, Л z) = (л--> Z^y^ z)-> (x-> J?)S XV yv z, — = yz, df	df	- d2f	d2f	- d2f d3f	.
Эу	dz dxdy	dxdz dydz	dxdydz
Гпава 6. Алгебра высказываний
301
f(x, ytz) = 1 ©O-x©O-y©O-z©O-xy©l-xz© © 0  yz © 1 • xyz = 1 © xz © xyz.
1.18.18.
1)	Рассмотрим два случая? х = /<-1 и х к -1. В первом случае х = 0 и (— х) = (- 0) = 0 по определению. Правая часть формулы х = /с-1-х=/с-1-/с+1 = 0. Таким образом, равенство выполняется. Во втором случае левая часть равна ~(х)= к- х = к-(х+ l)modfc = к- х- 1. По определению х = к -1 - х, следовательно к -1 - х = к -1 - х;
2)	Пусть х ~ к -1, тогда х = 0, ~х = к -1 - х = к ~1 - к +1 = 0. *"(х+ у)= у, ( х)+( у)=0 + ( у) = у. Пусть теперь х Ф к- I. х= х+1, "(х+ у)=~(х+1 + у) = /с-1 - х-1 - у = к- 2- х-у, ~х = к -1 - х, ~ у = к -1 - у,
(~х)+ (~у) = к-1 - х+ к -1 - у = к - 2 - х- у;
3)	Рассмотрим три случая. Пусть сначала х = к -1. Тогда по определению элементарных операций х=0, min(x,y)=0, min(x,у) = min(£-1, у) = У> Т = У +1, у + х=Ъ, 3,{0)=к-\,	(х) = Jt_,(к-1) = 1,
min(x,y)+ J0(y -х)- л.,(х)- у =
= у + 1 + А-1-^ = ^ = 0. min(x,v)= min(0,у) = 0.
Пусть теперь х к -1, но х > у. Тогда min(x, у) = у, min(.v) = у + 1, y + x=0, J0(y + x)=fc-l, j,i4 (х) = 0 ; у + 1 + /с—1 -0  у = к+ у - у, min(x, .0= min(x+ lj')= у  Наконец, пусть х Ф к -1, но х < у. Тогда аналогично min(x, у) = х, min(x, у) = х +1, х= х+1, у-ь х = у - х, Job'-x) = O, Л_,(х)=0; х+1+ 0-0-у = х+1, min(x, у)= х+1.
1.18.19.
1) Таблица истинности этой операции очень короткая (табл. 6.30).
302
Часть II. Ответы, решения, указания
Разложение по формуле (1.16.9) или (1.16.10) имеет следующий вид:	/(х)= (До)л J0(x))v (/(1)л J,(x))v (/(2)л J2(x)) =
= (1 л J0(x))v (2 л 7,(x))v (Ол J2(x))= J0(x)v 2J,(x).
Если воспользоваться другим обозначением для операций конъюнкции и дизъюнкции, то получим f(x) = max{min(l, JQ (х)), min(2, Jx (x)), (0, J2 (x))}=
= max{min(l, Jo (x)), Jx (x)},	t. k. min(2, (x)) = Jx (x),
a min(0, J2 (x)) = 0 .
Аналогично, вторая форма разложения имеет вид /(»)= (у(0)- 7оМ+ /W' Л (х)+ Л2)' 72 W)mod3 =
= (7oW+27iM)mod3;
2). f(x) = (3 л J0(x))v (2 л 7, (x))v (1 л 7, (x))v (О л J, (х)) =
= 3-70(x)v2-7,(x)v72(x) =
= max{70(x),min(2,71(x)), min(l,72(x))}.
Лх)= (3'7о W+ 2' Vi(*)+1' Л W+ 0'73(x))mod4 =
= (3' 7oW+ 2 ‘ /1(х)+ A(*))mod4- Таблица истинности этой функции приведена в табл. 6.31.
3) f = х* у2 - Х4- у • у. Таблица истинности приведена в табл. 6.32.
Таблица 6.32
X	У	у-у	f = х^уу
0	0	0	0
0	1	1	0
0	2	1	0
Глава 6. Алгебра высказываний
303
Таблица 6.32 (окончание)
X	У	у-у	/=Х+у.у
1	0	0	1
1	1	1	0
1	2	I	0
2	0	0	2
2	1	1	1
2	2	1	1
f(x, у) = (1 л J, (,г)л 70(y))v (2 л 72(х)л 70(у)) v
V (1Л J2 (х) Л 7, (у)) V (1Л J2 (л) л J-. (у)) = max{min(l, 7, (х), 70 (у)), min(j2 (х) Jo (у)) min(l, J2 (л),7, (у)), min(l, J2 (,v), J2 (у))}, 7оЫ+2' л(4 Jo(.v)+л(4 JM+л(4 лЫ)тоаз.
Таблица 6.33
х	Х-Л	
0	0	0
1	1	0
2	4	2
3	4	1
4	1	0
1.18.20,
1) Сначала представим функцию /(х) = х2 + х (при к = 5) во второй форме. Таблица истинности / '(х) приведена в табл. 6.33. /6)= До). 7о(х)+ /(1). 7] (х)+ /(2). у2(х)+ /(3). 7з(л) + + /'(4)  Л W = 0  ./о W + 0  71 (*) + 2  72 (4 +1  7з W + 0  Л W = = 2  /2(х)+ 7з(х).
Составим таблицу истинности (табл. 6.34) нескольких вспомогательных функций, из которой можно получить несколько соот-
304
Часть II. Ответы, решения, указания ношений: у0(х) = 1 - х*“', /•(%)=	i -	(по-
следнее соотношение очевидно по определению).
Таблица 6,34
i	X	X-i	лЫ	X*-1	1-х*-'	л(*-0
0	0	0	1	0	1	1
1	0	0	0	0	1	0
2	0	0	0	0	1	0
3	0	0	0	0	1	0
4	0	0	0	0	1	0
0	1	1	0	1	0	0
1	1	0	1	1	0	0
2	1	0	0	1	0	0
3	1	0	0	1	0	0
4	1	0	0	1	0	0
0	2	2	0	1	0	0
1	2	1	0	1	0	1
2	2	0	1	1	0	0
3	2	0	0	1	0	0
4	2	0	0	1	0	0
0	3	3	0	1	0	0
1	3	2	0	1	0	0
2	3	1	0	1	0	0
3	3	0	1	1	0	0
4	3	0	0	1	0	0
0	4	4	0	1	0	0
1	4	3	0	1	0	0
2	4	2	0	1	0	1
3	4	1	0	1	0	0
4	4	0	1	1	0	0
Гпава 6. Алгебра высказываний
305
Тогда у2(х) = ;0(х-2)=1-(х-2У“' = 1-(х-2)4 = = 1 - (х4 + 2х3 - х2 - 2х +1) = - х4 - 2х3 + х2 + 2х, /з(х) = /0(х- 3) = 1- (х-3)4 = 1 - (х4 — 2х3 - х2 + 2х +1)= = -х4 + 2х3 + х2 - 2х,
/(х) = 2 • j2(х)+ у3 (х) = 2х4 - 2х3 — 2х2 + 2х. Все умножения и сложения производятся по модулю пять.
Применим к этой же задаче более понятный здесь метод неопределенных коэффициентов: f(x) = aQ + a{x+a2x2 + a3x3 +a4x4. Более высоких показателей степени не будег, ибо х4+' = х* mod5. Составим систему уравнений:
а„=/(0)=0,
а0 + а, + а, + а, + а4 = /(1) = 0,
а(1+2а1 + 4а2 + За3 + а4 = /(2) = 2,
а„ + За, + 4а2 + 2а, + а4 = /(з) = 1, а0 + 4а, + а2 + 4а, + а4 = /(4) = 0 .
Из решения системы находим а„ =0, а, =2, а, =3, а. =3, а4 = 2, т. е.
/(х) = 2л+ Зл2 + 3.? + 2х4 = 2х4 - 2х’ - 2.г + 2х;
2) /(х,у) = max(2x+ у, х- у), к = 3. В табл. 6.35 приведена таблица истинности f(x,y).
Таблица 6.35
х	2>х	у	х-у	2х^у	/U.y)
0	0	0	0	0	0
0	0	1	0	0	0
0	0	2	0	0	0
1	2	0	0	2	2
1	2	1	1	1	1
I	2	2	2	0	2
2	1	0	0	1	1
2	1	1	2	0	2
2	1	2	1	0	1
306
Часть II. Ответы, решения, указания
Найдем сначала полином методом неопределенных коэффициентов. Здесь х3+' = х/ mod3, т. е. в разложении у х и у не будет степеней выше второй. Сам многочлен будет иметь вид
f(x,y) = a0 + <2|Х+ a2y + а3ху+ а4х2 +а5у2 +а6ху2 +а7уэ<? +asx2y2.
Составим систему уравнений для его коэффициентов: /(0,0) = 0 = а8,
/(0,1) = 0 = а2 + а5,
/(0,2)= 0 = 2а2+а5,
/(1,0)=2 = а, + а4,
/(1,1) = 1 = а, + а2 + а3 + а4 + а5 + а6 + а7 + as,
/(1,2)= 2 = а, + 2а2 + 2а3 + а4 + а5 + а6 + 2а, + а8,
/(2,0)=1 = 2а,+а4,
/(2,1) = 2 = 2а, + а2 + 2а, + а4 + а5 + 2аб + а, + а8, /(2,2) = 1 = 2а, + 2а2 + а, + а4 + а8 + 2а6 + 2а, + а8.
Система легко решается методом исключения: а0=О, at=2, а,—О, а3 = 1, а4 = а5 = 0, а6 = 1, а, = а8 = 0. Таким образом, /(х, у) = 2х+ ху + ху1.
Представим теперь функцию /(х, у) в первой и второй форме:
Ж У) = (2 л / (х) л / (у)) v (1 а / (х) л / (у)) v (2 л / (х) л /2 (у)) v v (1 л / (х)л / (у))v (2 л J2 (х) л / (у)) v (1 л / (х) л / (у)) = 2  / (х)   Л (у) +1  / (*)' Л (у) + 2 • / (х) • /, (у) +1  у2 (х) • / (у )+ 2 • / (х)  / (у )+ +1 /2(х)-/2(у). Воспользуемся полученными в предыдущем примере соотношениями Jo(x) = l —Xм и /(х) = j0 (х—i\ i = l,2,...,fc-l. Тогда ZW= /о(^-1) = l-(x^-l)2 = 1-x2 + 2x-l =-x2 + 2x,	/(y)=l-y2,
/(у)=-у2 + 2y, л(у)=/0(у-2)=1-(у-2)2=1-у2+у-1 = -у2+у, y2(x)= -x2 + x.
Гпава 6. Алгебра высказываний
307
Наконец, получим выражение для самой функции:
f(x, v)= (-х2 + 2x)(? -2у2)+ (-.г2 + 2х)(-у~ + 2у)+ (- 2х2 + х)- (- у2 + у)+ (- х2 + х)(1 - у2)+ (- 2х2 + 2ху2 + 2у)+ (- х2 + х)-’ (“ У2 + у) = -2х2 + х + 2.x1 у1 - ху2 + х2 у1 - 2ху2 - 2ух2 + ху + + 2х2у2 - ху1 - 2ух2 + ху - х2 + х + х2у2 - ху1 + 2х2у2 - 2ху2 -х2у + + ху + х2у2 - ху2 — ух2 + ху = 2х - 2ху2 + ху = 2х + ху + ху2.
6.4. Ответы и решения практического занятия №4
1.21.1.
а)	х = <р2(х,х), т. к. х|у=ху, элемент <р2 Уже реализует х|х-хх=х Задержка равна единице. На рис. 6.6 изображена схема для х. Мы ранее предполагали, что все функциональные элементы, из которых строятся схемы, являются однотактными. Следовательно, сигнал на выходе схемы, равный х (рис. 6.6), появится через один такт после появления сигнала х на обоих входах функционального элемента (р2 *
Рис. 6.6
Рис. 6.9
б)	ху = (р2(х,у), т- к-	Задержка равна двум тактам.
На входах нижнего элемента (рис. 6.7) — сигналы х и у, на выходе ху= х| V. На входах верхнего элемента х|у и х|_у, на выхо-де (ФХхЬ)= ху^ = ху = ху = <Р2(*.у);
308
Часть II. Ответы, решения, указания
в)	х v у = х v у = ху = \X|xJoW- Задержка равна двум тактам. На входах нижних элементов х и у (рис. 6.8), на выходах х и у ; на выходе верхнего элемента X V у = х|у = ф2 (г, у);
г)	1 = 0 = хх = х|х = ф2(х,х). На входе схемы х. х = ф2(х,х), т- е- на выходе нижнего элемента ф2 чеРеэ такт, т. к. все элементы однотактовые, вырабатывается х. Следовательно, левый сигнал на верхний элемент ф2 должен подаваться с задержкой в один такт. Ф1 — элемент, реализующий задержку х на один такт (рис. 6.9). На выходе верхнего элемента ф2 сигнал равен х|х = хх~ 0 = 1. Задержка схемы равна двум тактам;
д)	смотрите предыдущий пункт. Общая задержка схемы равна трем тактам (рис. 6.10);
е)	х® у - ху v ху = х v у v х v y = х v у v х v у =
= £|y)v (х|у)= (х v y)|(xv у)= (p2(xvy,xv у)=
= Ф2(ф2(х>у)»Ф2^’У))- Задержка схемы равна трем тактам (рис. 6,11). На рис. 6,11 знаками —i(xvy) и —i(xvy) обозначены (х v у) и (xvy).
Рис. 6.10
Рнс. 6.11
Гпава 6. Алгебра высказываний
309
1.21.2.	Перечислим все простые цепи схем, изображенных на рис. 1.19, и определим по ним дизъюнкцию по формуле (1.19.1). После упрощения полученных выражений найдем функцию проводимости:
a)	xyt v tyt v xzv yxt v уxyz v tz = yt(x v l)v xz v yxt v
v yxyz v Iz = ytv xzv tzv yxt;
6)	xyxv xttv xytyxv xyxv xtxv xytyxv xlytx = 0;
в)	xyv xzuv tu v tzy.
1.21.3.
а)	схема;
б)	не является схемой, т. к. последний вход ф] соединен с выходами ф3 и ф4, а вход каждого элемента ф, может быть соединен не более чем с одним выходом элемента фу;
в)	не схема, ибо ф3, ф4 и ф5 образуют цикл.
1.21.4.	Релейно-контактные схемы заданных функций изображены на рис. 6.12.
Рнс. 6.12
1.21.5.
a)	(у v xy = yvzv ху = yzv ху = y(xv z) (рис. 6.13, dy,
6)	xy <г-> ух = (ху —> yxjyx Ху)=^Ху V ух^л (ух v ху) = = ((х V у)у ух\(у v x)v xy)s (I v v v ух^х vyv ху)= = (xv y\xv у)= ху v ху (рис. 6.13, б);
В) X® )>® Z = (ху V .Vy)ffi Z = (х у V ху)г V (ху V Х>')г =
s xyz v xyz v [ xy л xy z = xyz v xyz v xyz v xyz (рис. 6.13, e).
310
Часть II. Ответы, решения, указания
Рнс. 6.13
1,21.6.
а)	схема формулы [xv yz^xyv zi) изображена на рис, 6.14;
б)	л -схема формулы v z)v приведена на рис. 6.15.
Рис. 6.14
Рис. 6.15
1.21.7.
п
а)	рассмотрим множество простых цепей схемы вида  Оче-j=i
видно, две цепи х^х2...х„ и х1х2...хп не будут иметь в составе элементы Xj и х{ одновременно, их функция проводимости f = Х|Л:2...хя v х, x2...xf. Хотя остальные цепи также будут существенны (каждая внутренняя вершина будет обходиться один раз), их функция проводимости будет равна нулю;
б)	существует лишь одна цепь без повторений элементов xt и xi . Это цепь х\х2.--хпхп_х, функция проводимости по остальным цепям равна нулю.
1.21.8.	Упростим приведенные формулы, чтобы л -схема была проще.
a)	x(yz v yz)v x(yz v yz} = x(yz v у v z)v x(yz v yz) =
Гпава 6. Алгебра высказываний
311
= xyz V ху V xz V xyz V xyz = У^Х V XZjv ф' V xyJv xyz =
= i'll'/ z)v z(x v y)v xyz = xy V yz V xz v yzv xyz =
= x(y v yz)v yz v xz v yz s
= xy v xz v yz v xz v yz s x(z v yjv z(x v y)v yz. Схема изображена на рис, 6.16, a;
Рис. 6.16
б)	((х у)л (у_-> z)) -> (х -> z) = (xvyjy v -)v (* v z)= = xyv yzv xv z = f viyjv (z V zyjs xv yvz v y = l = .tv X (рис. 6.16, 6);
в)	Очевидно, что х X у = х v у , х v у = (х >1 у)>1 (х >1 у), х а у = (х X х)| (у X у). Тогда х X у = х л у = ху. Схема изображена на рис. 6.16, в.
1.21.9.	Предложенные схемы являются л-схемами. Составим вначале для них функции проводимости и упростим эти функции.
а)	(г v yjz v xjy л zjxyz v xyz) s. {xz v yzv xx v xy)-
* (xyz v xyzz v zyzy v xyz)=
= xyz V xyzyz V xyzyxv xyzxz v xyzyz V
v xyzyx = xyz v xyz (рис. 6.17, a);
6)	{xyz V xyz)yz v t{y V z)= xyz V xyzyz V t{y v z)= xyz v r(y v z) (рис. 6.17, 6);
в)	x(x v у I Xx V У1). .(x v yn) = X (x V xy, v xy, v у, y2 Xx V y3)..
312
Часть II. Ответы, решения, указания
,..(.Х V x,)s х(х V ,ч.| V ху2 vxy,y2 V Ху, V ху,у, V ху2у3 v у^Уз)-...(xvz,)sx(xvxy, vxy2 v...v% vxy,y2 v ...vxy,y2...y„ V...
-v>'l>'2-Z1) = x(xv>'ib->'J = xv xy,y2...y„ =X (рис.6.17,e).
Рис. 6.17
1.21.10.
а)	Итак, восстанавливаем схему методом каскадов.
/(х3 )= Jtj © х2 © х3 © 1, п = 3, I = 1,2,3 .
1 = 1. Ц :/(арХ>х.) /(1,^*1) = *.®^, До,х!,л;)=х!®^®1.
1 = 2, U2 f(o„ts2,x3\ /(1,1,х3) = х3®1, /(1,0,х3)=х3, /(0,1,х3) = х3, /(0,0,х3) = х3 ® 1.
i = 3,из- /(а„а,,а3) /(1,1,1)= о, /(1,1,0)= 1, /(1,0,1)= 1, /(1,0,0) = 0, /(0,1,1) = 1, /(0,1,0) = 0, /(0,0,1) = 0, /(0,0,0) = 1.
{I	2	1	(	3	4 1	[5 61
х2 © х3, х2 © х3 © 1I, U2 = | х^ © 1, х3 k U* =10, 1 г •
Способ проведения ребер показан на рис. 6.18, а. На рис. 6.18, б — схема, полученная после удаления вершины с = 0.
Проверим правильность построения схемы, упростив исходную функцию.
Xj ©Х2©Х3 © 1 = X, ©Х2©Х3 = (х,х2 V Х|Х2 )© х3 = (х]Х2 V х,х2)-
• Х3 V (г]Х2 V Х,хХ = X] Х2Х3 V VXtX2X3 v V х2 )а (хг V х2 )^з S
= Х]Х2х3 v х,х2х3 v х,х2х3 v Х]Х2х3. Если теперь составить функцию проводимости схемы рис. 1.18, б, она совпадет с последним выражением для /(^,^2,Х3).
Гпава 6. Алгебра высказываний
313
б)	f = х,х2 v х2х3 v х,х3, п = 3, I = 1,2,3 .
/ = 1, 17! :/(а,,х2,х3), /(1,х2,х3)= х2 vх3, /(О,х2,х3) = х2х3.
1 = 2, С/2: у(ст1,ст2,х3). /(1,1,х3)= 1, f(l,0,x3)=x3, /(0,1,х3)= х3, /(0,0,х,) = 0.
Z = 3, U, :/(а„а2,а3), /(1,1,1)= 1, /(1,1,0) = 1, /(1,0,1)= 1, /(1,0,0) = 0, /(0,1,1) =1, /(0,1,0) = О, /(0,0,1)= О, /(0,0,0) = о.
Рис. 6.19
Вершины 3 и 7, 5 и 6, соответствующие функциям I и 0, эквивалентны. Из схемы, полученной отождествлением эквивалентных вершин и удалением вершины с = 0 (рис. 6.19, б), функция проводимости
f = х, х2 v Х| х2 X, v Xj х2 х2 Л'2 V А' х2 X; =
= X^2 V Х]Х2А'з V х|А2А3 = А1А2А3 V Х1Х2 Х3 V Xl Х2Х3 V Х1Х2Х3 =
314
Часть II. Ответы, решения, указания
= [х1х2х3 V x(x2x3)v (xf х2х3 v x(x2x3)v
v v х,х2х3) = х,х2 v XjX3 v х2х3 , что совпадает с исходной функцией. Заметим, что л -схема этой функции имеет иной вид.
1.21.11. Введем следующие обозначения для высказываний: р = { машина синего цвета }, q = { машина марки ’’Бьюик" }, г = { машина черного цвета }, 5 = { машина марки "Крайслер" }, t = { машина марки "Форд" }.
Из показаний Брауна. Джонса и Смита следует, что высказывания pvq=l, rv$s|, pv/ = l. Конъюнкция этих высказываний также будет истинна, т. е. (р v q)(r v s^p v /)= = 1 = prp v prt v psp v pst v qrp v qrt v qsp v qst. Однако все конъюнкции, кроме qrp, ложны. Следовательно, qrp = l, т. е. преступники скрылись на черном "Бьюике".
1.21.12. Обозначим через х высказывание х = { первый студент изучал логику }. Аналогично у = { второй студент изучал логику }, z = { третий студент изучал логику }. Тогда условия задачи дают: 1) х~> z = 1;
2)	у z = 1.
Составим	конъюнкцию	этих	высказываний.
(х z)(y->z)sl = (xv z)(y V z)=
= (x v z)(y л z)= xyz v zyz = xyz. Таким образом, xyz = l, t. e. логику изучал только второй студент.
1.21.13.	Обозначим через x,y,x,t следующие высказывания: х={ первый студент сдал экзамен }, у = { второй студент сдал экзамен }, z = { третий студент сдал экзамен }, / = { четвертый студент сдал экзамен }. Тогда х—>у = 1; у—>zvx=l; t—>xaz = 1; f —> z = I.
Очевидно, что (x —> yfy —> z v x^ —> xz^ —> x) = 1 =
= (x V y^y V z v x)(z v xz^t v x)=(xyv yyv xzv yzv yxv x)-
Гпава 6. Алгебра высказываний
315
 (г/ v xzt V Х/ V xz\vz v xj^xt V xz)= xyzt V xxt v yzxz V xxz = xyzi = 1. Таким образом, экзамен сдали все четыре студента.
1.21.14.	Основное условие этой задачи заключается в том, что шесть человек будущей экспедиции должны выполнять шесть обязанностей строго индивидуально. Кроме того, имеются ограничения на персональный состав; если едет F, то должен ехать В, если едет Z), то должны одновременно ехать Ни С, т. е. в состав экспедиции входят FB и DHC. Напротив, CG = 0 и АВ=§.
Шесть специальностей экспедиции должны быть обязательно заня-ты, т.е. (FvGXBvFXFvGXCvOXCvHX^V-0)^1 или (B£v BG v EFv FG^CFvCGv DFvDGJACvAHvCDv DH) = s (BCEF v BCFG v CEF v CFG v BCEG v BCG v CEFG v CFG v v В DEF v BDFG v DEF v DFG v В DEG v BDG v DEFG v DFGV (ACv AH v CD v DH).
Исключим сразу логические слагаемые из трех членов, т. к. в экспедиции должно быть шесть человек (не допускается совмещение специальностей) и логические слагаемые, содержащие CG = 0. Тогда (BCEF v CEFG v BDEF v DEFG^AC v AHvCDv DH) = = ABCEF v ACEFG v ABCDEF v ACDEFG v ABCEFH v
v ACEFGH v ABDEFH v ADEFGH v BCDEF v CDEFG v
v BCDEF v CDEFG v BCDEFH v CDEFGH v BDEFH v DEFGH. Опять исключим пятичленные логические слагаемые и учтем условие АВ = 0. Получим BCDEFH= 1.
Набор специальностей заполним по порядку. Пусть В будет гидрологом, тогда F гидрологом не может быть, а будет синоптиком. Аналогично С — радист, D — врач, Е — биолог, а Н — механик.
1.21.15.	Поскольку в каждом из ответов лишь одно утверждение из двух истинное, то истинной будет их дизъюнкция. Тогда (с, V Р2)л (с2 V В3)л (Ю2 v $4) = 1 = (С,С2 V Р2С2 vC|B3 v Р2В3)- (/> 2 V В4)= С,С2Р 2 V Р2С2Р 2 v CtB2P 2 V Р2В3Р 2 V v CtC2Bt v P2C2f!. v CtB3B4 v P2B3Bi e C{B3P 2 = 1.
Отсюда P4=l, и места распределились так: Сергей— первый, Юрий — второй, Виктор — третий, Роман — четвертый.
11 Зак 4306
316
Часть II. Ответы, решения, указания
1.21.16.	Введем следующие обозначения: Пк = { Петя видел Колю на улице }, Кк = { Коля ходил в кино }, Кп = { Коля сказал правду }, Пп ={ Петя сказал правду }. Условия задачи следующие: Пк	(%к v Пл) = 1;
К„ч(ккчП^1.
Отсюда
("7 (Кк у Пп ))(/Q ^Кп }}(кп
= (Пк v Кк v Пп) (кк v ПкКп)(кп v Кк \/ Пп)=
= (пкКк v Кк v ПпКк v ПкПкКп v
v КкПкКп vПпПкКп)(кп v Кк vПп)= (кк vПпПкКп)' ' («п v Kkv Пп)= КкКп v ПкПкКпКп v Кк v ПпПкКпКк v
v Кк Пп v Пп ПкКп Пп = Кк = 1.
Итак, Коля ходил в кино.
1.21.17.	Обозначим город, куда собираются поехать друзья, буквой в нижнем индексе фамилии. Тогда условия задачи дадут следующие уравнения:
1)	47^ = 1;
2)В^лВ7^Лд^1;
3)	С^Вк. ^1;
4)
5)5;^в;=1.
Конъюнкция этих высказываний также будет истинной. Запишем ее и упростим полученное выражение:
—* Со )(^л/	~—* Вк )(dm —> Вм )(d0 —> Вм
-	v О»)* (Pm v Brv AM )(CT v BK )(dm v BM ){d0 vBm)=
Глава 6. Алгебра высказываний
317
-	(амВм v СОВМ v АМВТ vC0BT v Ал/ v Ал/ Со)-
•	(crDM v BKDM v СТВМ v Вк Вм Ур0 v Вм^=
s ?о v ВТСО v Ам )
' (рт DM Do v Вк DM Do v Cr BM Do v BK BM Do v
v CTDMBM v BKDMBM vCTBM v BKBM]=
=	C0Ct Bm Do v BT C0CT BM Do v
v Aw CT BM Do v BM C0CT BM v Aw CT BM v
v COBKBM v BrCoBKBM v
v AMBK BM = AMCrBMDo v AMCrBM v AMBK BAf = 1.
Каждое из логических слагаемых может быть истинным. Рассмотрим первое: AMCrD0 = 1, тогда Вк = 1. Для второго: AMCr = 1, тогда либо BODK=1, либо D0BK si, однако второе сочетание уже встречалось в первом слагаемом. Аналогично, третье слагаемое дает АМВК =1, тогда C0DT = 1 или CTD0 si. Итак, окончательный выбор городов таков: AAfBKCTD0 v AMB0CTDK v АЛ/ BKC0DT.
1.21.18. Обозначим фамилию школьника с индексом внизу, равным номеру убранного класса. Сообщения учеников с учетом ложности одного и истинности другого высказывания будут иметь вид (A)vC7)a(^9V4)a(C8v7C10)^1 =
= (AjA’c, v С-,К9 v A)Ag v C7A8XG v£10) =
= C-jC^Kg v C7C8Ag v CjK^Kiq v C7A%Kl0. Итак, С7Д/С1()=1, т. e. Д9 = 1.
Андреев убирал 8-й класс, Костин — 10-й, Савельев — 7-й, а Давыдов — 9-й.
Глава 7
Исчисление высказываний
7.1. Ответы и решения практического занятия № 5
2.4.1.
а)	А—> В, АлВ, А—) В, А, В;
б)	(А—> В)л(В—*С), Av С, В, В С, А, А, В, С-.
в)	А, ~В—>(А—> В), В, А^> В, В. В;
г)	4 —» А2 v А3, А3, А,, А2 v А3, А2.
2.4.2.	С помощью подстановки выводимая формула получается лишь тогда, когда подстановка осуществляется в одну из аксиом 2.1.1. Таким образом, необходимо лишь подобрать нужную аксиому.
АлВ,С
a)	J(x —> (х v у)) = А л В —> А л В v С;
Л.ВлС .Л
6)	f(z->x)->((z->y)->(z->.VAy))=
X.y.z
= |- (А -> А)^> ((А -> В л С)-> (А Ал В л С));
АлВ.С.ВлС
в)	J (у г)Н ((*-> y)^(x^z)) =
= \-(Ал В —> (С —> В лС))—> ((Ал В —> С)^>(Ал В В лС))-,
AvB.C	.	_ \ z_ _______	\
г)	J'(%^y)^G^x)S|-(AvB^Cp(c^ Ал в).
320
Часть II. Ответы, решения, указания
2,4.3.	Выводом в исчислении высказываний называется конечная последовательность формул Д >А2,...,Ап такая, что VZ (1 < i < п) Aj есть либо аксиома, либо непосредственное следствие предыдущих аксиом, причем аксиомой называется всякая формула, полученная из схемы аксиом 2.1.1 по правилу подстановки, а непосредственное следствие получается по правилу простого заключения.
а)	вывод,	т. к.	А (A v В) —	аксиома
А,В
III]: |(х-»хуу)г|-Л-»(А vB);
х,у
б)	вывод. Первый член— аксиома 1П|, второй член получен подста-
A->AvB,B
новкой j х —> (у —> х) = |- (А —> A v B) —> (В —> (А —> A v в)),
X, у
третий по правилу простого заключения из первых двух;
в)	данная последовательность формул не является выводом, т. к. второй член последовательности А—> (В—> А)—> В не может быть получен подстановкой ни в одну из аксиом 2.1.1.
2.4.4.
a)	r =	Л,й,Л->(й->С), В —> С ,
по ППЗ
|-л.Н->(в-<) |-в->с
с  б) г = й->в,вкв,л->в,(л->в)->(в->а), J
|-с	J
Я->в)->(в->я), В->А . А
по ППЗ ((л-»в)->(в->л)!	^-л->в,|-^ л-»ву>(г-й) Ц и-»в)->(В-м)	|-В->Л в) Г = {Л-»В,Л}:Л,Л-»В, В , Б по ППЗ |-л,|-л->в	в,с I-j3	Jv 1	Х,у (Л —> В)—> (Я —> В v С). по обобщенной теореме дедукции A^>B,A\-BvC |-(л->в)->(и->в*с)	по ППЗ _ |-Л >BvC , BvC Ш,:х-^хуу	по ППЗ \-В,\-В->ВуС W^-B-tBvC	|_Bvc
Гпава 7. Исчисление высказываний
321
2.4.5.
а)	пусть	Г,Д В = Tj = {4,	, В, В},	тогда
Г,В = Г2 = {Д,A29...iAtl,В}. Выводы из Г, и Г2 будут одинаковы, т. к. вывод из совокупности формул может содержать доказуемые формулы, формулы из рассматриваемого множества и формулы, полученные из формул множества по правилу простого заключения. Все три источника формул вывода для Г, и Г2 будут давать одинаковый состав формул;
б)	если Д, А2,..,,Ап есть вывод А из Г(, a B{,B2,...,Bk — вывод В
из Г2,то Ai, A2i...,AJI,B},B2,...iBk есть вывод В из Г15Г2;
в)	пусть ^,A2,...,^— вывод С из Г],Л,В,Г2. Вывод С из Г(, В, Я, Г2 будет такой же, только порядок формул в выводе может измениться. Качественный состав формул вывода от этого не изменится.
2.4.6.
а)	исходное множество произвольно, т. к. оно не задано. Воспользуемся	I /	\
ся первой и девятой аксиомами: J х —> (у —> х) = - А —»(В —» Aj,
j (х —> у) —> (у —> х)= I-> а)—->	По правилу сил-
А'.У
I---------А -> (в -> а)|- (в -> а)—> (а -> в) логизма -	i---------р---, по правилу соеди-
|-а^(а^в)
нения посылок Ц--—--=-. Наконец, применим правило сня-
|-АлА—>5
тия двойного отрицания
-АлА^В
---=---- и заменим В на F:
-АлА^ В
F _	_
JAaA->bH-AaA->F;
В
322
Часть Я Ответы, решения, указания
б)	сделаем подстановки во второй, третьей, четвертой и девятой аксиомах и применим правила силлогизма и сложного заключения. Получим:
(А-ьВ)лВ,В.А	,	_	,	__
j	(х—>(у—>z))—»((х—»у)~»(х—>z))=|—((А—>В)лВ—>(в—>а))—»
х'у'г _ — _
-> (((я -> в)Л в ->в)-> ((Я —> В)л В —> я))= Я,,
|хл у—> х^|-(Я —> В)л В—> (Я -» В),
А-*В,В	_
|хл у —> у =-(Л —> В)л	лВ—>В = Я2,
j (х -> у) -> (у -> х) = |- (Я -> В)	(в -> я).
Пусть	А, = (Я —> В)л В—> (В-» я),
I-(Л В)л В (Я В),|-(Я-> В)(в я) тогда	---------i------—--т=---=т------,
|-(Я->В)лВ->(в-»я)
|-4,|^,|^^(4^(^b)aB^a))
|-(Я^В)лВ->Я
в)	воспользуемся первой, второй, восьмой и десятой аксиомами, правилами простого и сложного заключения, тогда
j х—>(у —>х) = |-А—>(а—>а),	|х—>х = |-А—>А,
А.А,А
f(x^(y^z))^
-> ((х -> j) -> (х ->z)) S |-(я ->(я -> Я^ -»^я -> я) -> (я -> я)^
|- А Л) |_(а	А))^ ((А	7)^ (Л _> д))
|-(а^а)^(а^а)	’
Глава 7. Исчисление высказываний
323
|- А —> А, |-(а -» а)-> (А -> А)
|- А —> А
J(x -> z)-> ((у -> z)-> (х V у z)) =
= |- (А -> А)^> ((а -> А)^ (а V А А)),
А—> А,|- А —»• А,]-(А-> А)—>((А—> a)—>(AvA—> а)) |- A v А —> А
г)	применим третью, четвертую и восьмую аксиомы из 2.1.1 и правила контрпозиции, снятия двойного отрицания и сложного заключения:
я,в	_ _ _
|хлу—>у^|-ЯлВ —> В,
-АлВ^ А
-А->Алв’
-А—>АлВ
-А—>Алв’
- Ал В —> В
-В^АлВ
-В->АлВ
-В^Алв’
^-AvB—>AaB
д)	воспользуемся очевидной секвенцией С]-С. Тогда по теореме де-d-c	.
дукции j-------. Пусть С = АлВ, т. е. |— Ал В Ал В
324
Часть II. Ответы, решения, указания
\-А/\В^АлВ
По теореме разъединения посылок имеем	~
е)	секвенция выводится применением первой и девятой аксиом, правил силлогизма, снятия двойного отрицания, соединения, разъединения и перестановки посылок.
А,Д	/	\ В,А	,
I х->(у->х>|-А->(В-> A), j (х->?)->(?-> х>
Х.у	х,у
I г ч z_ =\ 1-а^(в^а)|-(в^а)-^в)
1	|-а^(а^в)
|-А^(а->в)	-ЛлА—>В	|-АлА->В
|-АлА—>В ’	-АлА—>В’	|- А -> (а -> в)’
- А -> (а -> в)
-а->(а->в)"
2.4.7.	Запишем все доказательства в виде вывода из исходного множества формул:
а)	Г = {А-»(В-»С)}-.А^>(В^>С), АлВ->С ;
соединение посылок
|-л4(в-»с)
|-ЛлВ->С
б)	Г = {А —> В}. Обозначим Ц = {А —> В, Л} и Г2 = {А —> В, В}.
А-> В,А- А->В
По теореме дедукции-----□------1-------г,
л-> в|-л-> (л-> в)
л-,в,в|-л->в	л-»в,с|-л->в
л->в|-в->(л->в) л-> в|-с^(л^в)
мулы можно добавить в вывод из Г,
т.е. Г: А—>В, А^(А-> в) ,В ->(А-> В), С -> (А-> В),
по теореме дедукции
ЛлС->В , с->(л->с) ,ЛлС->С, соединение посылок г*	соединение посылок
УсЛ>(л->в) j в-»(л~>в)-|-с->(л-»с)
|-ЛлС-»В «
Гпава 7. Исчисление высказываний
325
(АлС->в)->((АаС->С)->(АаС->ВлС)),
Пу(г->л)->((г-\уМг-»-гл.у))
Я.С.АлС. ,
f (П3 (АлС—»вУ->((ДлС—>С)—>(АаС—>ВлС))
А л С —> В л С ио правилу сложного заключения |-АаС—»Д,|-ДаС—»С,|-(АлС—»Д)~>((АаС—»С)->(АлС—»ДаС))
АаС—>ДаС
в) Г = {а}: А, А-»(в-»а), |р-»(у-м)
В^А , А—>В , по ППЗ	контрпозииия
|-л.|-л—»(в-»л)	|-а-»л
|—В—>А I—А—>В
А->В , А^В ; снятие двойного отрицания аналогично предыдущему
|-А—>В
|-Л->В
г)	Г=&->в}:Л->В, В->А , В->А	;
кон!риознция снятие двойного отрицания |~л~»д	|-в->д
j /ЛтД
д)	Г = {Л^В,В-^С}:Я->В,В->С, A-tC ; силлогизм |-л->в.|-в->с |-л->с
е)	Г = {А -> В}: А -> В, С -+ (А -> В),
по теореме дедукции Л->В,С|-?|->В
|-С->(А->В)
(С (а^ в))^ ((с -> а)^ (с-> В)), |2:(.м6^)м.«уМ-«-’»
С’^\МЧс^(л^в)Н(с->лМс-*в))
X,y,z
(C^A)^(C^B)	
по ППЗ
|-с^(а->д)^-(с^(а^д)Н(с->а)^(с-»д))
|-(с-^аНс^в)
ж)	Г = {А Bj|- /tv С Bv С. Рассмотрим вначале дополнительное множество Г) = {Л —» В, А] и запишем вывод из него
326
Часть II. Ответы, решения, указания
Г,: Л —>В,А,	В , В—>В\/С , В\/С Применим те-
поППЗ lil|:x-»xvy	поППЗ
|-Л.]-Л-»В В,С	|-B,l-B->BvC
A-+B,A-BvC
перь обобщенную теорему дедукции: :—----г--?---------г.
\-(A-»B)-»(A-»BvC)
Таким образом, формула (Л —> й) —> (Л —> В v С) выводима, и ее можно добавить в любой вывод. Тогда
Г: A^ B,(A->B)->(A->BvC), A—yBvC по ППЗ |-А—»Д,|-(А—»g)-»(A—»BvC) ]-A-»BvC
С —> В v С , (A->BvC)^((C^BvC)->(AvC^BvCj),
с в ™1-у-™у
I (lll2M-C~>evC ’ ’/	(|И3).|--(A~>BvC)->((C~>BvC)->(AvC->BvC))
У'*	r.V.Z
AvC—>B—>C	;
по правилу сложного заключения |-4-»BvC.|-C-»BvC.j-(A->BvC)-»((C-»BvC)-»(4vC-»BvC)) |-AvC-»BvC
з)	Г=\а,А^в\:А,А->В, А^В , В
1	J	снятие двойного отрицания по ППЗ
-А->В
-В
|—л—»о
и)	Г = {4-+В,в}:А-+В,В, (А->В)->(в,
Я,5, . .	. _,
по ППЗ _ ’ _по ППЗ_ ’ |-Я->Л,|-(Я-»В}-»(в->я) |g,|-B-*A
|-в-»й	|-л
к)	Г = {Л}:Я, А->(В->А) , ) 0|)»Н->(в->л)
В-^А поППЗ |-л,|-л—»(в—»л) |-В->А
2.4.8.
а)	для доказательства этого правила используем правило введения импликации и конъюнкции и правило объединения посылок, записан-
Гпава 7. Исчисление высказываний
327
Г, А,Ё-С ное в более общем виде, чем рассмотренное ранее:	-———— —
4, Лв объединение посылок, ----------------------------введение им-
|- Д л Д л •••А Д( & пликации и конъюнкции. Применим эти правила п раз к формулам А А АВ'	Д А А|~ Д А А, Д|~ #
Л’ 2,'"’Л’ ' 4л4|-в’ |-4л4^в' 4лЯ2л4|-в’ 4л4,4|-в	4 л4л...л4,.,,4,|-в
\-А, л А2 /\А, —> в' ’ |~4 л 4> л...л 4,-1 л 4, -*’
б)	{Л-^В,Л^ в}:	В,А^ В,(А^ в)^(в ->а),
В^А , В^В ,(b4b)->((b->b)->(bvB->b)),
"° ППЗ	, J-'Tnou,,»,	,ц
|-5_а	J-b-»b 1	>«))
В^В_ , В->В , BvB ,
[Vaix—кг снятие двойного отрицания см. пример 4
В ‘j _	|-S->B	раздай 2.3
j(iv2M-s^s	I-----
X 1	|-Д—>Д
В	;
по ПСЗ
|-д-»в.|-д^д,|-ду/л|-(в-^д)-->((в-»в)->(дуВ-»д)) l~* * * s * * В * *
в)^А,в}:А,В,	А —> А , (А -> В)^> (а -> В),
по теореме дедукции 4—»Д	v
д|—А	/ (Л—>л W—(а—>д)“>(л—>д)
|-л—»л	А
А^((А^В)^В), (А^В)^В ,В^(А^В), А-у В
иерестаноэса посылок	по ППЗ	коптрпозищя , _ .п_ 11
Нд->ЯНл->Д)	|-Л,|-Л->((Л-»Д)->В) |-(Л->В)->В	|-Я,|-В->(Л->В)
\-Л->((Л->В)^В)	|-(Л-»ВУ->В	|-В->(ТзВ) |-й^»В
г){ЛлВ}:ЛлВ, АлВ^А , А ;
Прялу-мг	по ППЗ
А,В. ,	\~АлВ.\-АлВ-^А
1------------
328
Часть II. Ответы, решения, указания
о) {аа}: АА, А^А_,А-^1, IV2:x-»x -Л->Л f (iv2 )=|-л—
х I
Av А , см. пример 4 раздела 2.3
(а -> а)-> tA -» а)-> (a v А -> а)), lll3:(.«zHG-w)-4‘Vy-K))
Л'f Л(| 113 М-(Л-»ЛН(Л->ЛНЛ''Л-»Л)) x,y,z
А по ПСЗ |-л—>aJ-a—»a^-ava,|-(a—»a)-»((a->a)-»(avA“>a)).
2.4.9.
а)	рассмотрим множество формул Г = {/1 —> 5,2? —> С, А}. Вывод из этого множества может быть таким:
Г: А	В,В —> С,А,	В , С . Применим теперь обоб-
по ППЗ по ППЗ |-и,|-л-»д -я,|-я->с
I-S |-с
{А^В,В->С,А}-С
|-(Л^В)-+((В^С)^(Л^С)):
щенную теорему дедукции
б)	г = {а^в]-(с^а)^(с^в). см. задачу 2.4.7, е. Тогда {А^В]-(С^А)^(С^В)
|-(Л^В)^((С^Л)^(С^в))’
в)	Г = Й,В-> л}: А,В-> А, А-> В , В контрпозииия по ППЗ
-Я->Л |-л,|-й->8
Н”»®	|-в
{а,в-> а}-в
Отсюда ---------Ц---=.
-Л->(В-> А)^В
2.4.10. Пусть в исчислении Лукасевича доказуема хотя бы одна однобук-
А	А^>В
венная формула R. Тогда J R = |- A, jA = |-J—>В,
r	R
Гпава 7. Исчисление высказываний
329
В->А R
|(Л в)-> ((В сЬ (л -> с)М-(л в)->
-^((В^Л)^(Л^Л)),
|- А В,|- (А -> в) -> ((в -> А) -> (А -> А)) |-(В^Л)^(Л^Л)	’
1-в-> л,|-(в-> а)—>(а^> а)
--------i--------------. Итак, необходимый вывод имеет
А—> А
вид {в}: А, А ~^> В, В -+ А, (А -> В) -> ((В -> А) -> (А -+ Л)),
(В -> А) -> (А -> А), А -> А,
1)* |(Л^В)^((В^О^(Л^О)|-(Л^(Л -^В))^
^(((7 ^В)^С)^(Л^С));
|-(я (Л В))]-(Л ^(Л В)) -» (((Л В) С) (Л О)
2)	|-(((Л->В)->О->(Л^С))
3)	А(((А ->В)-^С)->(А^ С))|-(((Л Л) -> Л) (А Л)); /1ЛС
1_((Я X) -> Л),|-(((7 -> Л) Л) -> (Л Л))
4)	|-(Я-»Л)
7.2. Ответы и решения практического занятия №6
2.9.1.
а)	Ал В В л А, но АлВ<->ВлА =
= (А а В В л А)л(В л А А л В). Пусть С — любая форму-
*Решеиие предложено студентом С. Васильевым (гр. И323).
330
Часть II. Ответы, решения, указания
ла, выводимая в исчислении высказываний, тогда
{С}: С,
с->с в->в , |-c,|-c->(c->c) Kc-»CH_S">S |-с->с
АлВ—уВ , С->(С->С) , П2:хлу->у
j^(ll2 )=|-Лл®-*® jC(l[)=|-C-»(C->C)
(В->В)^((В^ А)->(В^Вл А)), (В^ А)^(В->ВлА) , 113:(г-»л-)-->((г-»у)->(г->хлу))	ППЗ
С -> (А С), А—>С ,ВАВ^ А , В В л А С,л,'17м(у_>^	|-С,|-С->(Л->с) I (А-»СН-В-»А |_д^д^(д1Гл%(В^Длл)
лН|,)=|-^(Л-С) н^с	------ |-Д—»ДлЛ-------
А л В —> В л А, 8 л А н А л 8 , силлогизм аналогично предыдущему
АлВ—>В,|—В—>ВлА |-АлВ—>ВлА
(Я л В —> В л Я)л (В л Я —> Я л В)= А л В «-> В л Я; введение конъюнкции
|—АлВ—»Вл А,]-Вл А—>АлВ |-(АлВ—>ВлА)л(ВлА—»АлВ)
б)	пусть С — любая выводимая формула. Тогда
{С}:С, A->AvB ,(В^А)^((А^ A)->(BvA^A)),
А в »'1^У в
I (lHi>|~A-»AvB	’у’ (hi3^-(B->A)->((A-4AHBv^->a))
Х'У	x.y.z
c^(c->c), C^C , A^A , ППЗ л
C.C. .	|-I?,I-C->(C->C) J(C-»C).|-4-»4
M~c-*(c~>c)	|-C->C
c->(b->c), b^c ,
A B-> A , (A-У A)^>(Bv A-> A) , BvA^A Н«-»с)=|-д-»и [-д-^Цд-^Ыл-^Мдул-м)) |-л-»л,|-(л—>^)-^(Дул—>л)
Гпава 7. Исчисление высказываний
331
ВчАчАчВ, AvB-)BvA , силлогизм аналогично предыдущему |-ВуА->А,|-А—>AvB
|-6vA—>AvB
(В v А-> AvB)k(Av B^B'j a) = Bv Ao Av B.
введение конъюнкции |-ВуА-*АуВ,|-АуВ-*ВуА |-(BvA—»AvB)a(AvB—>BvA)
2.9.2.
a)
спят не
A—>4
двойною отрицания
, (А о л)л(Ао Л) = A введение коныонкцни
| ~/l—>A,| ~A—»A Н/НлИЛчЛ)

б)	{А о В}: (а о В)л (в о а), А^В удаление конъюнкции
|-л-»в
Во А , (Со д)о (С о В) , аналогично предыдущему С->А,С—>В
I (л-.вН-(<^лНов)
Л.в
(С^В)^(С^А) ,
С-)В,С-)Л
J (в->а>|-(с->в)->(с->а)
А,В
((С О А)о (С о в))л ((С о В)о (С о А>(С о а) о (С о в). введение копыонкцщ
|-(С->лНс->«).|-(<0'!)->(С-0) Н(соН<ов))л((овНо>л))
2.9.3.
a)	|-AvBo ЛлВ^ЛуВо Ллв)л(ЛлВо Avb).
332
Часть II. Ответы, решения, указания
В^АлВ снятие двойного отрицания
-Д-МлД
|-Д->АлВ
AvB->AaB
правило сложного заключения ________
|-А-4АаД,|-Д^АаД,|-(а->АлД}->((д-4Алв)-»(ауД-»Аад))
I—AvB—ьАлВ
АлВ—>AvB,	Av В Av В ,
контрпоиция снятие двойного отрицания -ЛуВ->ЛуВ	-ЛлВ-»ЛуВ
-ЛлВ—>ЛуВ	-AvB-^AvB
A^A'jB , В—> Av В , IH]:x->xvy ll^y-Wvy
A,B. .	A,В, .
j	MvS J (П12>|-Я-МуД
x.y	x,y
AvB-^A, Av В—> B,(,AvB	a)->((avB->b)->(avB ->Aafi)),
контрпозиция контрпозиция	IIJrtjHjrtMrtKjS
I-Л-аЛуВ	I-B->AvS	ab.AvB
|-ЛуВ->Л	|-4vB-»B	’f ^13^-^уВ-»л)-»(^уВ-»в}^уВ-»Ллв))
AvB->AaB правило сложного заключения |-AvB—>A^-Av5—>5,|—(avB—>а)~^Avi
АуД—>АаД
введение конъюнкции |-(4уВ->4лв))-(лаВ-Й<ув) |4*уВ-<Ллв)л(ллВ--*Лл)
б)	\-А<г->А = \А^А Ш-М 1.0: А^А~, А-+А , |	\ J < J IV2:x->x контрпозиция
j(iv2>|-x^“ til х	|-л->л
А —>_Л , А —> А , »х контрпозиция f(iv3 >|-л->л Х	I-A-+A
2.9.4.
а)	рассмотрим исходную формулу А ~ (х	(х—> у л х)). Обо-
значим через В выражение В=х—>улх, тогда формула А = х —> (х —> В) возрастает по переменной В (см. теорему 2.2). Заменим В более сильной формулой у, т. к.	у —> (х—> у л х).
Действительно, 0: х —> х , аксиома Vl2
Гпава 7. Исчисление высказываний
333
X X	,
снятие двойного отрицания
1-л^
улх^улх ,у->(х->уЛх). , ।	персаановка посыпок
J (л->.т>|-улл->улл- |-уЛ7ДуЛХ
|-.у->(л-»улх)
После замены получим формулу, возрастающую по у, причем х —> (х —> у) = 1, т. е. тождественно истинную, следовательно, выводимую по теореме 2.6. Итак, j-x—> (х —> j?), тогда |-х->(х->(х^?лх));
б)	в исходной формуле А= хл у у у заменим посылку импликации. Поскольку импликация А—> В убывает по А, заменим посылку более слабой формулой хл у, т. к. - хл у —» у^> хл у.
х^>(х->у) ,(х^>у)^> X, перестановка посылок контрпозииия |-^у)
,хлу—>хлу.
снятие двойного отрицания
-ллу—ьу—мелу
(х-> у)^х
Получим формулу хлу—^у— четвертую аксиому исчисления высказываний, следовательно, она выводима. Тогда выводима и исходная формула, т. е. - хл у у у.
334
Часть II. Ответы, решения, указания
2.9.5. А = (хл (хл х —> ул у)—> zjv xv z. Заменим в формуле А подформулу В— хл (хл х—> у л у)—> z более сильной формулой z и докажем, что I- z —>(хл(хл X—» у Л у)—> zl
0: х—>(у^>х),	г —> (х л (х л х —> у л у)—> г)	. Получим
l|Ut->(y-M)	гдфм-чл;)	.	-- л
f(| ) .	Jj,	|-г-»^л^лмулу}->г/
формулу А1 = z V х v z з 1, т. е. |- А1. Следовательно, выводима и формула А. Действительно, после упрощения А получим А = 1 v xv z = 1.
2.9.6.
а)	Я = хл у v (х—> у)л х, /1(1,1) = 1, т. е. {х, у|- А. Покажем это:
{х, у}:х, у, у_»(х->у), I (и И-у-ч*-»')
х-ту
ППЗ
l-X.I-y—»(jr—>у)

(х^у)л.х , х—> (у —> х) , правило введения конъюнкции	1|:л—»(у->х)
Х/\у—>Х ,хчхлу,	Х—>Х/\у	,
соединение посылок контрпозиция снятие двойного отрицания |-х->(у->х) |-ллу-»х	|-х->хлу
хлу , А = х л у v (х -> у)лх;
ППЗ_____ правило введения дизъюнкции
|-л(-Л->ХАу	|-Хлу,|-(^у)лХ
|-хлу	|-хлуу(л-»у)лл
б)	л(о,о) = о , таким образом уД. Вывод А может быть, напри-
Гпава 7. Исчисление высказываний
335
х у , А х , х А , А снятие лоойного отрниаипя	коитрпоэшшя ППЗ _
I “ -	М->*	-х, -.г-+Л
-х->у	х,у	. - - L_J_____________
2.9.7.
а) А = X] v х2 . Л(0,0,1) = OvO—>1 = 0—>1 = 1, следовательно,
б)	Я(1Д0) = 1 V 0 —> 0 = 1 —> 0 = 0 . Тогда {xj, ,v2, Л'3}|-А . Действительно, , Х2? Л'3 У Х| , Х2, А'3, Х| Л| V х2 , Л, V А 7	1
1111 л- >.vv v	ППЗ
Л-..У	|--'lVA2
л1 (Л1 Л1) ’	*1 -* Л'|
1| л-->(.у->л)	ППЗ
х’-д л \ I /	\ |~л1 •|--т1~>(л|-»-г1)
2.9.8.
а)	А = (х^у)л(у^г')^{г^х'), Я(0,0,1) = 0 и Г, =£j,z}|-A,
336
Часть II. Ответы, решения, указания
например, таким способом:
z —> А , А ;
снятие двойного отрицания . ППЗ _ l-Z-м
|-^л Н
б) Л(1,1,1) = 1 и Г2 ={x,y,zj- А.
{x,y,z}:x,y,z, у-»(х-»у) ,	х-+у	, y-^z ,
Ц:х—»(у—»х)	ППЗ	аналогично
xj’	|-ж—
2.9.9.
z^x ,(х ^у)л(у z ), (х—>у)л(у—>z)->(z—>х) . аналогично введение конъюнкции (*^yHy-«),z-»x
|-(х-»у)л(>.-»г)	Х'У
а) Л(1,1,1) = 0 , следовательно, -jx), х2, «Хз }|— А.
|Х|,Х2>хз): xi’x2^x3’
X] —>(Х] —>-Xj) , xbxl, Xi/ v Х<У
(xj’vx2)->((xj’vx2 ->x3)->x3), перестаноасапосылок
|-^'vx2-».t3)->^v.l2-M3)
|-fovI2)->((^vJ:2-M3)-w3)
Xj —> Л]	,	А —> А ,
I |ПП7 \ {(xj-wJ^-A-M l-X^Xj
X2 -> X, V x2 ll^y—wevy
*2-Al, x _
J (lll2)=|-.t2-M|V.t2
X[ V Xj ППЗ _ zj-.t2-».tivx2
|-A,VA2
— ППЗ _ _
|-а1уа2,|-^у.12НСч^2-»з)-4-ч)
КОН1рпОЗИЦИЯ_ |~&vj2~*x3/^a3 |-A3->(xjvx2-w3)
снятие двойного отрицания ППЗ
<2
Глава 7. Исчисление высказываний
337
б)	Л(1,0,1) = 1, pj ,х2,х3А . Вывод А может быть, например, таким: {xhx2,x3}: Л[,х2,х3, -*з “^(xi —>лз) > л1_>Аз >	Xi-»*]
1]:л->(з>-»л)	ППЗ	V[2:.Y-W
|t|,X2,X3J:X|,X2,X3, Х3 -> (j, V Х2 -> xj , a^ v x,->х, ___________________________________________________________ _ППЗ_ _
ЗД-^2. , . _ ,-	|-Ч.|~-Ч~>(-»-|“*2">*з)
01)-|-a3-(aivx2^.v3) 1—
2.9.10.
а)	А = х (х -» .у), А(1,0)= 0, {у, у}|- А.
338
Часть II. Ответы, решения, указания
{т,у}:х,у,х->(у->х), у->х >^,{*^(х^у))^У первая аксиома ППЗ ”_1,
|-у->х
у —> (х —> (х —, у)\ (х-»(х-> у)) ; контрпозиция _ ППЗ
б)	а(0,1)= 1, {г,у)-А.
{г,у}:х,у,х^(у->х), у->$->у), х —> у , первая аксиома _1[:л—»(у—»х)	ППЗ
Х,у	|-х-»У
х^(х->у)	,	х->(х->у)
х,х—^у,	. ।	_ снятие двойного отрицания
Л (;-')=Н~”> рХ>)
2.9.11.
а) /(А,В)=(А->В)->(В-> А), А = 1, /(1,В)=(1->В)^(В->1)= =(1-^В)->1 = 1; А = 0, До,в)=(о->в)->(в->о)=1->(в->о), В = 1, /(о,1)=1 —>(1 —>о)= 1 —> 0 = 0. Формула f не тождественно ис-тинна. На рис. 7.1, а показано семантическое дерево этой формулы, а на рис. 7.1, б— поддерево, используемое для проверки ис-
J (у^)^|-(а^у))->у
У'Х
тинности;
Рис. 7.1
б) /(А,В)= (А v В)—, ((а л fl)v (в л а)), А = 1,
f(l,B)= (1 v В)~> ((0 л B)v (в л 1))= 1 (б v в)= 1 -» В; В = 1, /(1,1) = 1 —» 0 = 0 . Формула / выполнима;
Гпава 7. Исчисление высказываний
339
в)	/(Д,В,С) = (A v в)^ (с <-> в), А = 1,
/(1,В,С) = (1 v В)-> (с b)s 1 (с <-> в); В = 1, /(1,1,с)=1 -> (с<-» 1), В = 0, /(1,о,с)=1ч^но); С = 1. /(1,1,1)= w(o<->l)sl, С = 0, /(1,1,0)=1->(1<->1)=0, фор-мула выполнима. На рис. 7.2 жирными линиями выделен подграф, используемый по алгоритму Квайна;
г)	f(A,B,C)= Av В->(с	а), А = 1,
/(1,В,С)= 1 vВ-> (с<->0)= 1 -> (С <->0), С = 1,
/(1,В,1)=1->(1<^0)=1->1 = 1, с = о, /(1,В,0)=1->(0«->0>1-»0е0.
Граф и его подграф, используемый по алгоритму Квайна, изображены на рис. 7.3. Формула не тождественно истинна.
Рнс. 7.3
340
Часть fl. Ответы, решения, указания
2.9.12.
а)	/(А,В,С)= (АлВ —> С)—> (А—> (В —> С)). Пусть формула f ложна, тогда	АлВ—>С=1,	А —> (В —> (?) = 0;
А = 1, В—>С = 0; В = 1, С = 0. Но тогда ЯлВ—>С = 1л1—>0 = 1—>0 = 0,ане 1. Следовательно, предположение о том, что f = 0, неверно, формула f — тождественно истинная формула;
б)	f = А, —» (Аг —> — —>(а„_, ->(а„ —>Bvb))..). Пусть /=0, тогда А, = 1, а А, —>> (а„_, —> (а„ —> В V в))= 0, аналогично А, = 1, А3 —>> (a„_j —> (а„ —> В v в))= 0 и т. д. Предпослед-
няя импликация дает Ап_| =1, Ал —> В v В = 0, последняя Ап = 1,
BvB = 0. Но BvB = l всегда, следовательно,. предположение f - 0 неверно, т. е. формула f — тождественно истинная фор-
мула;
в)	/(А,В)= (А —> В)л(а —> б)—> А.	Пусть
(А->В)л(а->в)=1,
[А—>В = 1, [в = 1, [В = 1,
s —	5 —	<	Получено
|Л—>В = 1, [в = 1, |в = о.
т. е. f —тождественно истинная формула.
f = 0,	тогда
А = 0, А = 1;
противоречие,
2.9.13. Покажем результат решения на примере трех аксиом: IjJIli и IV3 (см. формулы 2.1.1). Остальные аксиомы проверяются аналогично.
1) Алгоритм Квайна.
I2: /(x,y,z)=(x-»(y->z))-> ((х->у)-> (х—>z)). х = 1, f (1.У.z) = (1	(у -> ?))-» ((1 -» у)—> (1 -» ?)), У = 1,
/(1.1,г) = (1 -> (1 -> z))-> (1 -»(1 -» г)), у = О.
/(l,0,z)=(l->(0->z))->
_> ((1 _> О)—> (1 —> z)) = 1 —> (О —> (1 —> z))s 1, z = l, /(1,1,1) = (1	(1 -»1)) (1 -»(1 1)) 31, z = 0,
/(1,1,0) = (1	(1 -> 0))(1 -»(1 ->0))S 1, х = 0,
/(0,y,z)=(0->(y->z))->
Гпава 7. Исчисление высказываний
341
—> ((О —> у)—> (О —> z)) = 1 —> 1 = 1. Формула /2 тождественно истинна.
Ш, :/(x,y)=x->xvy. х = 1, f(l,y)=l->lvy = l, х = 0, /(0,y)=0->0vySl.
IV3:/(x)=x->x. х = 1, J(l)=i->lsl, х = 0, /(0) = 0—>0sl.
2) Алгоритм редукции.
k :/(*,У,*)= (х-> О'->*))-> ((х-> у)-» (х-►?)). Пусть / = 0, тогда х —> (у z)= 1. а (х—> у)—> (х—> z)=0, т. е. х—> у = 1 и х —> z = 0, х = 1, z = 0 и у = 1, Однако в этом случае х —» (у —> z) = 1 —> (1 —» 0) = 0, Получено противоречие, т. е. f = 1. IIIj : f(x, у) = х х v у . Пусть f = 0, тогда х = 1, х v у = О, [х = 0,
т. е. s что невозможно, т. к. х = 1. Предположение [у = 0,
f = 0 неверно, должно быть f = 1.
=	в	Гу -- 1
IV4: /(х) = х —» х. Пусть f =0, х = 1, х = 0, т. е. ’ По-[х = 0.
лучено противоречие, следовательно, f = 1.
2,9.14.
а) согласно методу резолюций исходное соотношение Г ='{a v С,С —> В,В —» а}|-А —»(/? —> С) преобразуе м в множество Г, = {A v С, С В, В А, А—>(В^гС) } которое надо проверить на противоречивость. Составим множество дизъюнктов Г и применим теорему 2.10.
Г,7 = {a v С, С v В, В v А, А, В, С }. Вывод нуля из Г/ может быть, например, таким:
1) resA(AvC,A)=C;
2) ге5(с,с)=0.
Итак, формула А —> (В —> С) выводима из исходного множества;
342
Часть II. Ответы, решения, указания
б)	проводим вычисления аналогично пункту (а):
Г = {a v С В,С Av В,ВС-> Av Bjj- В С,
Г, = {(avb)(cvb)avBvC,AvBvC,Bc}|-, = {(avb)(cvb), Av В vC.Av BvC, В, с}|-. Найдем все резольвенты множества Г/ : 1) resjAvB,AvBvc)=BvC;
2)	resB(Av В vC.Av Вv с)= AvC ;
3)	rese(AvBvC,B)= AvC ;
4)	resA(Av B,Av с)= Bv С.
Дальнейший резолютивный вывод невозможен, т. е. формула В —» С не выводима из исходного множества Г;
в)	r = ^,AvBj)-(B ^C)-o А.
Г, = "^7, A v В, (В —э С?)—э а}= "^7, A v В, А л (в v с)}|-,
Г' =^,AvB,A,Bvc}.
1)	гехл(Av В,а)= В;
2)	resB(e,B v с)= С;
3)	res(c,c)=0.
Формула (В С)—* А выводима из Г.
2.9.15.
а)	Г = {<4 v В v С v D,B,A v В v С, С, В v Z)}. Применим к этому множеству описанный в разделе 2.7 алгоритм проверки противоречивости множества хорновских дизъюнктов. После найденной очередной резольвенты укажем состав множества хорновских дизъюнктов.
1)	resg(e,AvBvCvD)= A vCvD, {AvCvD,B,A v BvC.C.Bv d}-,
2)	resc(c,AvC vd)= AvI), {avD.B.C.AvBvC.Bv d};
3)	res„(B,BvD)=D, {«, A vD.B.C, A v В v c];
Глава 7. Исчисление высказываний
343
4)	resD(D,Av5)= A, {\,D,B,C,Av В у с};
5)	resA(A,AvBvc)=ByC, favC,A,D,B,c};
6)	resc(c,Bvc)= В, {B,C,A,D}.
Во множестве {В,С,А,£>} нет дизъюнктов необходимого вида для составления резольвент. Следовательно, исходное множество Г непротиворечиво;
б)	r = {AvBvC,A,B,c].
1)	re^(A,AvBvc)=BvC, ^vC,A,B,c];
2)	resc(<j,Bvc)=B, {в,A,В,Cj;
3)	ге$(в,в)= 0. Исходное множество Г противоречиво;
в)	r = ^vDvE,Evf,C,oJj}
1)	resc(c,CvDvE)=DvE, E,C,Ev F,D,A,f},
2)	resD(pvE,D)=E, {е,С,Ёу F,A,f};
3)	resE(E,Ev f)=F, \f,E,C,D,A,f}-,
4)	res^F, 7?)=0, Множество Г противоречиво.
Глава 8
Логика предикатов
8.1. Ответы и решения практического занятия № 7
3.4.1.
х2 + Зх + 2
а)	—-------= 0. Следует наити корни числителя и исключить из их
х~ + 4х + 3 числа корни знаменателя, если они совпадут. Итак, х2 + Зх + 2 = 0, Xj = -2, х2 = -1;
х2 + 4х + 3 = 0, Xj = —3, ху = — 1. Следовательно, IР = {— 2};
|х2-13х + 40>0,	[х<5илих>8,
б)	,	/„ = 0;
[2х2 + х + 30<0. I 0.
. .	.	- х + у . х - у „
в)	sin х = sin у , 2 cos — sin   = 0.
2	2
х + у
1) cos----= 0, х + у = л+ 2ля;
2
2) sin —= 0, х - у = 2ил.
Итак,
I
ности предиката изображена на рис. 8.1.
область истин-
346
Часть II. Ответы, решения, указания
г) lg X = 1g у, X > 0, у > О. — = 1, X - у .
(рис. 8.2).
3.4.2. Области истинности заданных предикатов изображены на рис. 8.3.
Гпава 8. Логика предикатов
347
Рис. 8.3
3.4.3.
a)	(P(a)a2(x))v(P(a)a«(a));
б)	P0vQ(a);
в)	P(x)vQ(x)vR(x)v (Р(х)л2(a) v Р(х)лR(x)v Q(х)л Я(х));
г)	P(a)v2(a).
3.4.4.
a)	Va((a2 -6а + 8 > o)v (а2 -6а + 8 < о)).
х2 - 6х + 8 = О, л, = 2, х2 = 4. Если х2 - 6х + 8 > О, то х > 4 или х < 2; если же х2 - 6х + 8 < 0, то 2 < х < 4. т. е.
.YE {(-oo,2]u[4,+oo)}u{(2,4)}. Таким образом, Vxe/? исходное высказывание истинно;
б)	Зх| х2 + х + — = 0 |. Л’2 + х + — = 0, х, т = — — ±Л|—— . Действи-
2	)	2	u 2 V4 2
тельных корней нет. Так как область определения предиката совпа-( 2	1	>
дает с R, то высказывание Зх х + х + — = 0 ложно;
I 2	J
в)	Vx(x2 -5х + 6 > о), х2 - 5х + 6 = 0, х, = 2, х2 - 3.
12 Зак. 4306
348 Часть II. Ответы, решения, указания
Vxe{(x<2)v(x > 3)}. Так как на интервале 2 < х < 3 неравенство не выполняется, то высказывание ложно;
г)	Зх((хе {2,5})—> (х2-6х + 8 = о)). х2-6х + 8 = 0, х, =2, х, =4. Зх((хе {2,5}) —> (хе {2,4})) = Зх(хg {2,5}v хе {2,4}). Высказывание истинно при х = 2.
3.4.5.
а)	да;
6)	да;
в)	нет.
3.4.6.
а)	да;
б)	нет;
в)	да.
3.4.7.
а)	х0 — связанная, х, — свободная;
б)	х2 — связанная, х, их, — свободные переменные.
3.4.8.
а)	А = Wy$(x,y,y);
б)	В = Зг(\/уР(г,у,у)лВ(г,г,х));
в)	C = 3yS(y,y,x).
3.4.9.
a)	VxVyVz(S(x,y,z)-> S(y,x,z)), т. к. S(x,y,z)= (х + у = z), a S(y,x,z)=(y + x = z);
б)	VxVyVzVuVvVw((s(x, у,и)л S(u,z,v)A.S(y,z,w))—> S(x,w,v)).
Это вытекает из следующих рассуждений: S(x,y,u)= (х + у = и), S(u,z,v)= (и + z = v),	S(y,z,w) = (у + z = w),
S(x,w,v) = (x + >v = v),	т. е.
((х+ у)+ z = у)л(у + z = w)—> (х + w = v), (х + у)+ z = v = х + (у + г);
Глава 8. Логика предикатов
349
в)	аналогично предыдущему пункту:
VWj'VzVuVvVh'(/,(x,)',m)a P(h,z,v)a P(y,z,w)—> Р(х, w,v));
г)	ЭхЭу(п(у)л х < у), где П(х) = Ё£с) л VyVz(P(y, z,x) -> -»(E(y)vE(z))), Е(л)= ЧуР(х,у,у), х< у = 3zS(x,z,y), Р и 5 из задачи 3.4.8,
Формула 3zS(x,z, у) с двумя свободными переменными х и у истинна тогда, когда х< у, действительно, если N(x + z = у), то х<у, Предикат F(x) = VyP(x,y,y)- Vy(x у)= у истинен при х = 1. Предикат П(х) истинен, если х — простое число. Это можно продемонстрировать на простом примере, например при х = 4 и х = 5 .
П(5)= УуР(5,у,у)л VyVz(P(y,z,5)-> (VvP(y,v,v)v VuP(z,ii,i<))) =
=	Vy(5 - у = у) л VyVz((y  z = 5)—> (Vv(j  v = v)v Vn(z • u = u))) = = O' * 1)a (0 = 5,z = lb (y = 1)a (z = 1))= 1,
П(4) = VyP(4,y,y)a VyVz(P(y, z,4) —> (VvP(y,v, v)v V»P(z,u,и))) =
=	Vy(4- У = у)л VyVz((y • z = 4)—> (Vv(y  v = v)v Vu(z  и = «))) =
((например, 'l	Л
= (у*1)а	U(y = l)A(z = l) =0,
^y = 2, z = 2J	J
т.	к. простое число делится только на единицу и на самого себя, а у составного числа несколько делителей.
Таким образом, бесконечность множества простых чисел выражается формулой ЗхЗу(П(у)лх< у), т. е. для любого xeN найдется такое простое у£ N, что простое у и любое х не больше у . При подстановке предиката П(у) в исходную формулу, получим:
Х/хЗу(Зг$(П(у)л х, z, у))= \/.тЯу(зг5(£’(у)л V/(Viv(p(zz, iv, у)—>
—> (Zs(m)v	х, z, y))= Vx3y(зг£(vwP(y,и,и)л
л VwVw(P(H,w,y)—» (e(w)v £,(w)))ax,z, у)).
3.4.10.
»	л - a ± л/a2 -4л л
а)	х~ +ax + a = Q, х12 =----------. Зх<0 подразумевает дей-
ствительный корень. Корни квадратного уравнения действительны.
'50
Часть II. Ответы, решения, указания
если а' — 4а > 0, т. е. а < О или а > 4. Таким образом, высказывание истинно, если as (—°°,0]lj[4,-k«), и ложно, если аб (0,4);
б)	Зле [а,а + 1](х2 -х-2 <о). л2 - х-2 < 0, -1 < х < 2 . Следовательно, если ае [—2,2], то х будет попадать на отрезок [—1,2]. Тогда исходное высказывание истинно при ае [-2,2] и ложно, если а > 2 или а < —2.
.4.11. Рассуждение можно разбить на ряд посылок:
1)	Любой разумный философ — циник;
2)	Любой разумный философ — женщина;
3)	Если разумные философы существуют, то существуют женщины, которые являются циниками.
Введем следующие предикаты: Р(х)={х является разумным философом С?(х)={х является женщиной }, 7?(х)={х является циником }. Тогда общая формула, соединяющая в себе все посылки, имеет вид (Ух(?(хЬХ*))л^
1.4.12. Введем три одноместных предиката: Р(х)={х— политик }, Q(x)={x — лицедей } и /?(х)={х — лицемер }. Тогда все три предложения исходного рассуждения могут быть представлены в виде формул Ух(р(х)—э £>(*)), 3x(g(x)—э й(х)) и Зх(р(х)^ р(х)), а "перевод" всей фразы на язык логики предикатов будет иметь вид (Vx(p(x)—> 2(х))лЗх(2(хЬ	Зх(Р(х)^ /?(х)).
.4.13. Пусть одноместный предикат Р(х)= {х — глупец }, а предикат W(x) описывает действие: Лг(х)={х способен совершить что-то }. Тогда высказывание	можно интерпретировать, что некто (возможно
я) не может совершить этого действия, а высказывание ЗхР(х) означает, что некто не глупец. В целом исходная фраза может быть передана следующей формулой: (vx(P(x) —> n(x))a3x/V(x))—> ЗхР(х).
1.4.14. Это утверждение заключает в себе много неопределенностей, связанных с отношениями субъектов и их свойствами. При обозначении предикатов будем интерпретировать эти свойства и отношения самым простым и понятным способом. Введем двухместный предикат
Гпава 8. Логика предикатов 351
р(х, у)={г и у - друзья}. Будем считать, что Р(х,у)=Р(у,х), т.е. если х — друг у ь то у — друг х.
Тогда утверждение, заключающееся в том, что для любой пары друзей найдется такой человек, что если он дружит со вторым из этой пары, то он дружит и с первым, запишется так: VxVy3z(P(x,y)A P(y,z))-> P(x,z).
3.4.15. Введем двухместный предикат Р(х,у)={х любит у}. Тогда первая часть предложения выражается высказыванием УхР(х.х). а вторая— ЗхЗуР(х, у). Общая формула VxP(x,x)—> ЗлЗу7*(л, у).
8.2. Ответы и решения практического занятия № 8
3.7.1.
a)	Vx(F(x)-> G(x))a3x(fT)aG(x)) =
. Vx(f£)vG(x))a3x(f^aG(x))=1. Тогда (^V (ЗлдГ(х)л G[x)J= 1.
Перейдем к однотипным кванторам в обоих тождествах.
|VxF^)v VyG(y) = 1, |VxF(x)a VyG(y) = 1, |зхр{х)лЗуС(у) = 1, [ Зхр(х)л 3yG(y) s 1,
[ЗхГ(х)лЗубБ>0,
|Зхр(х)лЗуО(у>1.
[VxF(x)v VyG(x)= 1, |VxF^)vVyG(x)=l, [ЗхР(х)лЗуО(х) = 1, | 3xF(x)v 3yG(x)s 1,
|VxF{x)v VyG(x)= 1, [VxF(x)vVyG(y)=l.
Обеим полученным системам удовлетворяет следующее расположение области истинности предикатов F(x) и О(.г).
Таким образом, IF С IG (рис. 8.4);
3S2
Часть II. Ответы, решения, указания
Рнс. 8.4
б)	Hx(f(x)aG(x))a > G(x))^
= Vx(f(x)v G(x))a 3x(f{7)v G(x))= 1.
Vx(f^)vG0)s1, 3x(f£)v G(x))= 1,
VxF^vVyG^al,^ BxF(x)v BxG(x) = 1,
VxF(x)v VyG(y)sl, [ VxF(x) v VyG(y) s 1, 3xF(x)a3xG(x)=I, |VxF(x) a VxG(x)=0.
Итак, IF = 0, Ic —любое подмножество M (рис. 8.5).
Рис. 8.5
3.7.2.
а)	выполнима, если Р(х) — не тождественно ложный предикат;
б)	невыполнима. Пусть 3(x = a)e^ такой, что выполнима формула Vy(<2(a,a)Ae(a,y)), Тогда выполнима и формула Q(a,a)/\Q(a,a). Но (?(а,а)л<2(а,а)=0. Получено противоречие. Следовательно, исходная формула невыполнима;
в)	формула может быть выполнима на N, иапример, когда предикаты Q и R выражают следующие отношения порядка <2(х,у)= (х > у), R(x,y,z)=(x+ у> z). Пусть 3(x = a)e^, что выполнима формула Vy((tf > у)—> Vz(^ + У z)). Тогда, если
Гпава 8. Логика предикатов
353
y~Z = a> то (а > а) —> (а + а > а) = 1 —»1 = 1, т. е. исходная формула выполнима.
3.7.3.
а)	нет. Формула ложна на множестве , если, например, Р(х) = {х — четное число }. Тогда ЭхР(х)^> ЧхР(х) = 1 —» 0 = 0;
б)	Х/хР(х) -> ЗхР(х) = VxP(x)v ЗхР(х) = ЗхР^) v ЗхР(х) =
= 3x(p(x)v Р(х))= 1;
в)	Эх/'(л) V BxQ(x)«-> Зх(р(х)V q(x)) S (3xP(x)v 3xQ(x) ->
-> 3x(P(x)v е(х)))л (Sx(P(x)v G(x))-> 3xP(x)v 3xG(x)) = = 3x(p(x) v Q(x)) -> 3x(P(x) v e(x)) s 1,
ибо высказывание 3x(p(x)v Q(x)) принимает значение 0 или 1, a 1 —> 1 = 1 или 0 —> 0 = 1;
г)	пусть Q(x,y)=(x< у\х,уе N , Тогда высказывания 3xv>e(^?)={ существует натуральное число .г такое, что для всякого натурального у истинно л<у } и Vy3%'£)(x,y)= { для всякого натурального у найдется не превосходящее его натуральное х } истинны на N. Таким образом, формула zUVy£>(x,y)-^ VyVxQ(x,y) тождественно истинна;
д)	нет. Формула ложна на W , если Р(х)= {х— простое число }. Тогда p(,v)—» VyP(y) = l —> 0 = 0;
е)	Эх(р(х)л (г -» б(х)))-> (vx(p(x)-> бй)-> г)=
= Эх(р(х)л^ vg(x)))v Vx^x)vg(x))v г = Vx(p(x) v (г л ё(Г|))/ V (зх(Р(х)л e(x))v r)s VxP(x)v (г Л Vyg(y))v f v ЗхР(х))л л (г V 3yQ(y))= VxP(x)v ((г л Vv2(,v))v (г v ЗхР(х)))л
л ((г л VyQ(y'))v (г v ЭуО(у)У). Но f-AVyQ(y)= rvVyQ(y) =
= rv3yQ(y). Тогда (глVyQ(.v))v(гVЭуС(у))= 1 и формула уп-рощается.
VxP(x)v (г л VyQ(y))v |г v 3teP(x))s (vxp(x)v 3xP(x))v г v
354
Часть II. Ответы, решения, указания
v (г л Vv(2(y))- Однако VxP(x) = VxP(x) = ЗхР(х). Тогда
1 v г v (г л Vyg(y))= 1, т. е. исходная формула тождественно истинна.
3.7.4.
а)	пусть на некотором множестве М данная формула ложна. Тогда НхР(л) = 1, VaP(x) = 0, т. е. ЗхР(х) = 0, VxP(x) = 1, что не может быть, если М £ 0 . Получено противоречие, следовательно, формула ЗхР(х)->УхР(х) тождественно истинна;
б)	пусть на М данная формула ложна. Тогда на М Vx(p(x)—> С(х))= 1 и ЯхР(х)a = 0, т.е. ЭлР(х)=1 и VxQ(x)= 1. Выберем (х = а)е М такое, что Р(х) = 1. В этом случае P(a)-+Q&)=l, т.е. ёИ=1 и Q(a)=0, что противоречит VxQ(x)= 1. Таким образом, исходная формула тождественно истинна;
в)	доказательство полностью аналогично приведенному в предыдущем пункте. Пусть на М формула Vx(p(x) —> Q(x)) —> (VxP(x)аЗл2О ложна. Это значит, что Vx(p(x)—> Q(x))= 1, a VxP(x)=l и Эх0(х)=1. Тогда должно быть р(а)—> Q(a) = l, т.е. Р(а) = 0, что противоречит VxP(x)= 1.
3.7.5.
а)	доказательство аналогично приведенному в разделе 3.5 для формулы Vx4(x)= ЗхА(х). Рассмотрим на М множество значений связанной переменной х и свободных переменных х]5х2,...,хп предиката Р и выясним, какие значения принимают формулы SxP(x) и Vx?(xj на произвольном наборе свободных переменных al,a2,...,an е М .
= 1, а,а{,аг,...,ап
1	=0.
Ио0’а1’а2....а»
1)	ЧаеМ Р(х]
2)	За,, е М Р(х
В первом случае Xfae М Р(х)|по о =1, тогда по определению ..........=1 « ^(4,^........=°-с другой стороны, т. к.
Глава 8. Логика предикатов
355
VaPCxI =1, то VxPfxl =0. Таким образом ' '1п.Л|.<72 <'(„	' '1Н| ,<12 ,11,,	г	’
3xP(x)=Vx?(x).
Если же е М Р(х)^ (|	= 0, то ЭхР(х]я п = 0 . Тогда
ЗхР(х )|л д n = 1, т. е. неверно, что найдется такой х, для которого Р(х) истинно. Это равносильно тому, что для всякого х истинно Р(х), т. е. \/хР(х)|й д =1. Следовательно, опять ЭхР(х> Vxp(^;
б)	VxP(x)aC = Vx(P(x)aC). Упростим пример и рассмотрим случай, когда список свободных переменных предиката Р пустой. Здесь возможны опять два случая:
1)	Va£ М Р(х) = 1, С ~ 1 или С = 0,
2)	V«e М Р(х)=0, С = 1 или С = 0.
В первом случае VxP(x) = 1, если С = 1,то VxP(x)aC = 1, если же С = 0, то VxP(x)aC = 0. Формула в правой части примет аналогичные значения. Действительно, если VxP(x)=l, то P(x)sl. Тогда Vx(P(x)aC) = 1, если С = 1 и Vx(p(-v)aC) — О, если С ~0. Второй случай рассматривается аналогично. Желающие могут повторить доказательство с непустым списком свободных переменных предиката Р.
3.7.6.
а)	Эх VyВ z V«р(х,у,£ м}s Vx3yVz3uP(x, y,z,n);
б)	3xVyP(x,y)A3xVy£>(x,y) = ЭхУур(х,у)лЭгУу2(2,у) =
= Щг(у/Ь)л	ЗхЗЛу(Р(х,у)лв(г,у));
в)	3.vVHx,y)v IvV^eCr.y) = 3x(VyP(.v,y)v ^2(х,.у))
= 3x(VyP(x„y)V Vz^.y.z)) 3.YVyVz(p(.Y,.v)v 2(.v,z));
r)	3.YVy2(x,_v) = 3xVyP(x,y)'v 3xVv2(x,y) =
= Vx3>- P{x, >) v 3x Vy£)(.r, у) = Vx3yP(.Y, у) v 3zV uQ(z, u ) s
s '/.v3l-3zVu[/’(.r,y)v Q(z,u)];
3S6
Часть II. Ответы, решения, указания
я) \/хЗу(Р(х) » Qtrf) = ЗхУу((р(х) -> 8(у))л (б(у)-> Р(х))) * 3xV^(p(x)ve(y))v ^)vP(x))j = ЗхУу((р(х)л 8^)v v^WaP0));
е) Х/х(р(х)-> ayQ(y)) = Vx(p(x)v3y2()’))= \/x3y(p(x)v Q(y)).
3.7.7.
a)	Vx3yS(x,у) -> 3xVy2(x, у )s 4x3yQ(x,y)v
v Vx3yQ(x, у) = 3xVyQ(x, y) v 3xVy2(x, у) =
= 3x(vyS(x, y)v VzS(x, z))s
= 3xVy Vz(<2(x,y) v Q(x, z));
6)	3x(P(x) -> (Vy2(x,y)VzR(x,z)))
= 3x(p(x)v (vye(x.y)vVzP(x, z)))s
s 3x(p(x) v (зус(х, y)v VzR(x, z)))s = 3x(p(x)v 3yVz(<2(x, y)v R(x, z)))s = 3x3yVz(p(x)v Q(x, y)vR(x,z)).
3.7.8.
a)	Vx(?(x) -> g(x)) -> (Vx?(x) -> Vxg(x)) =
= Vx(?(x)v 2^))v (vxP(x)v Vxg(x))= 3x(p(x)a 2(x))v v (зхР(7)v VxQ(x))^ Эл(р|7)v (p(x)a 8^)))vVxQ(x) = = 3x(p{x) v ё£)) v Vx6(x) 3x7(7) v 3x2(7) v Vx2(x) = S 3xP(x)v Vx2(x)v VxQ(x) = 1 v 3xP(x) = 1;
6)	Vx(P(x)-» 2(x))(3xP(x)3x2(x))s 3x(p(x)a 20)v v VxP(7)v 3xQ(x) = 3x(q(x)v (р(х)л p(7)))v VxP(7)= = 3x(0(x) v P(x)) v VxP(x) = 3xg(x) v 3xP(x) v 3xP(x) = 1;
в)	Vx(^->P(x))<-»(g^VxP(x))^
S (Vx(9 -» P(x))-> (<7 VxP(x)))a
Гпава 8. Логика предикатов
357
л ((<7 -> VxP(x)) -^(Vx(q	Р(х)))) = (зх(? л P(x))v q v \/хР(х^л
л ((</ л 3x/J(x))v q V Vx/’(x))= ((<7 v v 3xP(x))v Vx7’(xj) в s (<? v VxP(x)v VxP(x)) = <7 v 1 = 1.
3.7.9.	ЗхЗу((Р(х)^ Р(у))л(д(х)^Р^)лР(х))^
= ЗхЗу((Нф P(y))A (XT) v 7^)лР(х)) - ЗхЗДЖ) v Р(у))л
л ((р£)л P(x))v (рЦДл P(x))))S 3x3y((p£)v Р(у))л Р(х))= = ЗхЗу((^)л P^))v (р(у)лРЙ)лР(х))=
= ЗхЗу (p(J) л ?(7) л Р(х))= 0.
3.7.10.	Рассмотрим сначала простой пример формулы А и продемонстрируем механизм преобразования формулы к требуемому виду. Пусть А = ЗхД(х)л (vvKT7)v VzP(-)X Эс/1(х)л VyVz(^)v Р3(г)). Те-перъ вынесем все кванторы в начало формулы и кванторы всеобщности преобразуем в кванторы существования с помощью соответствующих	эквивалентностей:
А = ЗхР,(х)л VyVz(?2(y)v Р,(z))s 3xVyVzfc(х)л(P2(y)v/<(z)))=
S 3x3yVZ(p,(x)A(^)vP3(z)))S 3x3y3Z(^)v(p2(y)A^)))= В.
В общем случае, если подформула Д формулы А имеет вид 3(vM(x, ,x2,...,xa,y), то необходимо привести Аг(х|,х2,...,х„,у) к виду у(лДу) или л(у Ау), где каждое Ait начинается с квантора или имеет вид Р(и) или Р(и) для некоторого Р из ст и переменной w . Далее, используя необходимые эквивалентности, получаем формулу В .
8.3. Ответы и решения практического занятия № 9
3.9.1.
1)	VxS RVye й((х > y)v (у > х));
2)	Vae АЗх„,еЯ(а<х,„);
3)	Vx, е М Vx2 е M...\/xk е М За, е Tf3a2 е /?...3а* е
358
Часть II. Ответы, решения, указания
е R((a, +a2 + ... + at * о) л (a, х1 + a2 х, + ... + at xt = о));
4)	Vae R^Vbe R3((aj)=o);
5)	limx„ = x <=> Ve >03jV(e)>OV»ig N((n > ZV(e))—>|x„ -x| < e);
6)	VneAl(x„+, >x„);
7)	Ve>03W(e)>OV/J,Z>W(eX|x„ -x,| < e);
8)	3T6 R\{o]Vxe M((x±Г)л (/(x± T)= /(x)));
9)	Vx, G MVx2e M((x, < x,)—> (/(x, )< /(x2)));
10)	Ve > 03jV(g)> OVxe m((x > N(e))-»|/(x)- Л|< e).
3.9.2.
1)	Признак имеет стандартную структуру Vxe М(р(х)—> Q (<)) Посылка и заключение импликации имеют вид
(х(1 > хп+1 > 0)л[ lim хн = О I и	= 5. В целом при-
\	)	л=1
знак можно записать так:
Vn G N(x„ > х„+1 > 0)л[ lim х„ = o'U 3S е r|£ (- if х„ = R |. Выражение Ншхя =0 можно расписать подробнее, например, так, как это сделано в задаче 3,9,1(10).
2)	Vye [a,Z>](Ve>038>OVxe м(о<|х-у|<8->|/(х)-/(у)|<е))-> BNe R+Vxe [а,й](|/(х}| < х).
3)	((Vye[a,Z>](VE>038>OVxeA/(o<|x-y|<8—>|/(х)-/(у)|<с)))л л (Vxе (а,Ь)3/(х)* «)л (f(a)=f(b))Зсе (a,b{f!(с) = о).
4)	Х/у е [o,Z>](ve > 038 > OVx е м(о < |х- у| < 8	|/(х)- /Ср) < е))
/ ь
Зс е [а,М j f(x)dx =j\c\b - а)).
\ а
5)	(((Ve > 03Л1(Е) > 0V« е #((л > Me)) f х„ -х| < е))-> |х„ -х| < е) ->
Глава 8. Логика предикатов
359
-» (Ve > O3/V(e)> OW > W(e)( |x„ -x,| < е)))л
л ((Ve > 03ЛГ(е) > OVn, / > ЛГ(е)( |х„ - х, | < е)) -> (Ve > ОЭЛГ(е) > ОШ > N ((и >/У(е))—»|xw-х|<е))).
3.9.3.
1)	Исходное утверждение имеет вид V/G Л(/’(/’)—> С?(/)), где P(f) — предикат, выражающий интегрируемость /(х) на отрезке [я,/?], а Q(f) определяет свойство монотонности этой функции на [а,/?]. Перейдем к противоположному выражению V/e F(p(/H £)(/)> Я/е f(p(/)aG(/)). Таким образом, чтобы доказать несправедливость исходного утверждения, необходимо привести пример любой функции, которая была бы непрерывной на [а,£], но немонотонной на этом отрезке. Такую функцию найти нетрудно, например, у = х' на отрезке [-1,1] удовлетворяет заданным требованиям (рис. 8.6).
Рис. 8.6
Рис. 8.7
2)	V/eF(P(/)^ £(/)), где	С?(/)=к-точ-
ка экстремума функции /(х)}. Bf G f(p(f )^Q(f)) — существует функция, имеющая в точке х0 вторую производную, равную нулю, но не имеющая экстремума в этой точке. Например, у — х . у11 = 6х, у"(0) = 0,но х0 =0 —точка перегиба графика функции, а не точка экстремума (рис. 8.7).
360
Часть II. Ответы, решения, указания
3)	P(f)={f(x) ограничена на отрезке [а,/?]},
e(/)={rW интегрируема по Риману на Э/еР(р(/)лё(/)) — найдется ограниченная на [й,й] функция, не интегрируемая по Риману на этом отрезке. Рассмотрим функцию
* z \ I — рациональное,
Дирихле D(x)=<	Она ограничена на
(0,х— иррациональное.
[a,b], но не интегрируема по Риману. В самом деле, для любого разбиения отрезка [a,b] при рациональных х( соответствующая интегральная сумма равна Ь — а, а при иррациональных— нулю. Поэтому не существует предела интегральных сумм при h = Xj — Х'_{ —> 0 и, следовательно, функция Дирихле не интегрируема по Риману.
4)	3/е^(р(/)лё(/)) — существует дифференцируемая в точке х0 функция f(x), не имеющая в этой точке локального экстремума. Если /(х)=х3 и х0=0,то /z(0) = 0,ho хо=О—точка перегиба (рис. 8.7),
5)	3/ег(р(/)лё(/)) — существует функция, представимая на отрезке [o,b] рядом Тейлора, но этот ряд не сходится к /(х) во всех точках этого отрезка. Такие функции существуют. Например, рас-
смотрим /(х)=]е	>x*Q, э-га фуНкцИЯ бесконечно дифферен-
[ 0,х = 0.
цируема. При х^О это очевидно. При х = 0 производные вычисляются по определению. Оказывается, что /^и\0)=0 при п>0. Поэтому все члены ряда Тейлора для функции f(x) при х0 = 0 обращаются в нуль. Ясно, что получившийся ряд не сходится к функ-ции f(x).
6)	за(р(а)л2(а)) — найдется такая формула логики предикатов, которая будет выполнима, но не общезначима. Например, ВхР(х). Значение этого высказывания зависит от области истинности IР
Петер Густав Лсжен-Дирихле (1805-1859) — немецкий математик.
Глава 8. Логика предикатов
361
предиката Р(х). Формула ЗхР(х) выполнима, если Р(х) — не тождественно ложный предикат, т. е. если Iр Ф 0 , однако не общезначима.
3.9.4.
1)	Р(х)={ в четырехугольнике диагонали взаимно перпендикулярны }, 0(х)={ четырехугольник — ромб }. Vxe Л/(Р(х)—> £>(х))— основная теорема неверна, ибо легко можно представить трапецию с взаимно перпендикулярными диагоналями (рис. 8.8).
Обратная теорема Vxe	> Р(х)): если четырехугольник —
ромб, то его диагонали перпендикулярны. Эта теорема верна и является одним из признаков ромба.
Противоположная теорема Vx£ м(р(х)—><2(х))— если У четырехугольника диагонали не перпендикулярны, то это не ромб — тоже верна.
Обратная к противоположной теорема Vxe м(^(х)—> Р(х)): если четырехугольник— не ромб, то его диагонали не перпендикулярны, — неверна (рис. 8.8).
2)	V/eF(p(/)->e(/)).	непрерывна на к&] и
f(a)<Q,f(b)>0}, £)(/)= Ясе (a,b\f(c)=Q). Это верная теорема, она выражает одно из свойств непрерывных функций и имеет простой геометрический смысл. График непрерывной функции, соединяющий точки (a,f(a)) и	где /(а)<0, a f(b)>0
пересекает ось ОХ по крайней мере в одной точке (рис. 8.9).
Обратная теорема V/ е	P(f))‘ если между точками а и b
найдется точка с, в которой функция обращается в нуль, то функ-
362
Часть II. Ответы, решения, указания
ция непрерывна на отрезке [a, b] и принимает на его концах значения разных знаков. Эта теорема неверна, что хорошо видно на рис. 8.10. Противоположная теорема tff е p(p(f) —>£?(/)): если f(x) разрывна на [а,/?] и на его концах не принимает значения разных знаков, то не найдется точки <?е (я,#), в которой /(с)=0. Эта теорема также неверна, что демонстрирует рис. 8.10.
Наконец, обратная к
?(/)): если нет функция fix) разрывна на [a,b]
противоположной теорема точки се (a,b), где /(с)=0, то
и не принимает на концах отрезка
значения разных знаков. Это верная теорема. Различные случаи описанной ситуации (когда неверно следствие теоремы) показаны на рис. 8.11.
Рис. 8.11
3)	V/e f(p(/)^2(y)), Р(/) = {/(х) дифференцируема в точке х0	непрерывна в точке х0}. Исходная теорема вер-
на, она выражает одно из свойств дифференцируемых функций.
Обратная теорема V/е F((?(/)—> Р(/)): если fix) непрерывна в точке х0, то она и дифференцируема в этой точке. Эта теорема неверна (см. разд. 3.8. и рис. 3.10).
Глава 8. Логика предикатов
363
Противоположная теорема V/G Г^(/)-)^(/)): если /(л) не дифференцируема в точке х0, то она разрывна в этой точке. Это утверждение тоже неверно (рис. 8. [ 1). Непрерывная функция не имеет конечных производных во всех угловых точках и точках возврата.
Обратная к противоположной теорема V/ е F^(f) —> P(f))' если /(х) разрывна в точке х0, то она и не дифференцируема в этой почке. Это верное утверждение.
4)	P(f)={ дифференцируемая /(Д имеет в
точке х{) локальный экстремум }. е(/М/'UM). Эго верная теорема, она составляет необходимое условие экстремума.
Обратная теорема V/ е F(Q(f)—> P(j’)): если /z(x) = 0, то в точке х0 /(х) имеет экстремум. Теорема неверна (рис. 8.7).
Противоположная теорема V/ 6 F^P(f) —> Q(,f)): если в точке х0 / (х) не имеет экстремума, то f ' (х0 ) 0 . Это утверждение тоже неверно, что подтверждается тем же рисунком.
Обратная к противоположной теорема V/ е F^(f) —> P(f)]г если //(хо)^О, то в точке х0 нет экстремума функции /(х). Теорема
верна.
5)	Vwe M(p(u)->Q(u)),	Р(н)-{ ряд	сходится },
н-1
Q(u) = Птии Основная теорема верна, в математическом анализе она называется необходимым признаком сходимости ряда. Обратная теорема Vue Л/(£?(и)—» Р(м))- если предел общего члена ряда равен нулю, то ряд сходится. Это неверное утверждение.
” 1
Рассмотрим гармонический ряд V —. Известно, что этот ряд расхо-t(=i п
дится, ио lim— = 0.
п
Противоположная теорема Х/и G М > Q(ii))- если ряд расходится, то limuM 5*0. Несправедливость этой теоремы демонстрируется тем же примером.
364
Часть II. Ответы, решения, указания
Обратная к противоположной теорема V«e	Р(и)): если
Птил ^0, то ряд расходится. Теорема справедлива и известна под названием практического признака расходимости рядов.
3.9.5.
1)	Даны два предиката <Р(х) = { два треугольника равны } и 0(х)={ все углы одного треугольника равны соответствующим углам другого }. Рассмотрим формулу
VxeM(p(x)<->Q(x)>
s^Vxe М^Р(х)—>2(x)^A^Vxe M^Q(x)—>p(x)Jj
Первый логический сомножитель Vxe M^pfx)—> Q(Jx)^— очевидно, верное высказывание. Второй сомножитель Vxe M^Q^x) —>	— высказывание ложное: если все углы од-
ного треугольника равны соответствующим углам другого, то эти треугольники равны.
Предикат 0(х) для Р(х), таким образом, является необходимым, но недостаточным условием. Следовательно, исходное предложение должно быть сформулировано так: для того чтобы два треугольника были равны, необходимо, ио недостаточно, чтобы все углы одного треугольника были равны соответствующим углам другого.
2)	Правильными называются такие многоугольники, у которых все стороны и все углы равны. Введем два предиката с условным аргументом х: Р(х)={ все стороны многоугольника равны } и 0(х)={ этот многоугольник правильный }. Тогда VxgM(p(x)<->2(x)>
< (А I \\ (	( А I \\
= Vxe Л/ Р(х)—><2(х) л Vxe М\ (?(х)—>Р(х) .
Первое высказывание Vxe М^Р(х)—»<2(х)^ ложно, примером может служить ромб; второе высказывание Vxe М| q(x)—>	|
365
Глава 8, Логика предикатов
истинно. Таким образом, исходное утверждение имеет вид: для того чтобы все стороны многоугольника были равны, достаточно, но не необходимо, чтобы многоугольник был правильным.
3)	Сформулирована известная теорема векторной алгебры. Пусть jP(-x)={ два вектора в R2 линейно зависимы } и (2(*)={ два вектора коллинеарны }. Тогда Vx£	— верное
высказывание, высказывание VxG	> jP(x)j тоже истинно.
Следовательно, исходная теорема звучит так: для того чтобы два вектора в R2 были линейно зависимы, необходимо и достаточно, чтобы они были коллинеарны.
4)	Достаточно, но не необходимо (см. разд. 3.8, пример /).
5)	Необходимо и достаточно (см. п. 3).
Глава 9
Исчисление предикатов
9.1. Ответы и решения практического занятия № 10
4.10.1.	Найдем все 0, °0;. О, = {1,|Л-,,t2|.г,,х,} = {f, (1ф, F2 (x, z)y,c,|z], °2 = {<7,|У,>’ch\Уз} = k(T F| (ci Ь'- 04 Сначала получим множество {1|92|х|,1,92|х2,1,0,|.г3,9||у|,1/,|л,71|г,}={л;(л;(с,))|х, р? 4 СО- у\ Л (z)k А |z, f2 (Л (4 j4y- р> (с, 4- Л (44-Из этого множества надо вычеркнуть все элементы . для которых t = Xj, и все элементы qt|yt такие, что у( е {г, ,x2,...,A’zj }.
В нашем случае Г,02 = Л, (/у (с, ))^ Д'; = Л', f202 -	(л)’ ?)> (<))^ -Ч = .V и ^02 - С; Ф лу - г . Однако
У] = х, = Д', следовательно, выражение ^(Т7; (д), v)|x надо вычеркнуть, аналогично У2 = х9 = у , т. е. F, (<?] )у| надо вычеркнуть, и у3=х3=г,т. е.	вычеркиваем. Окончательно,
0,02 = к 4,4, )l-v,	(4, у), F, «У.с, 14
0, ° е3  9, =	4 к (уН ^(-v, Ф.44
03 = {'71|У1-£/2|У2-‘7з|у.з}= к(С4Т>с2l-У’ Г|4 Находим множество {1’|9з|х|,729з|Л2’^9з4’,4 ’ “72 l-V2 ’ <7з|у’з } = = к (С2 У' Р2 (F2 4 )> 4у • С11Z- F2 (с,	С, |у, х|4-
368
Часть II. Ответы, решения, указания
Z]03 = F1(c1)^x1 = *, *203	= У ’ *з9з =С1 *лз =z;
у] = %) = х, т. е. К (с, }х вычеркиваем, у2 = х2 = у , с21у вычеркиваем, у3 = х3 =z, x|z вычеркиваем. Тогда 0,ез = {f, (с, f2 (f2 (с, ), xjy.c, |z}.
01 ° 04 : 01 = Ш ’ Фг >Фз}= {л GU F2 (*. Ф, С, |z}, 04 = к|у, фУгфУз }= {уММ2}-
Отсюда 0,е4 =^|04|х1,Г2е4|х2,Гзе4|х3,91|у|,92|у2.9з|Уз}= = {F,(z]x,F,(y,x}|>’>Ci|z,y|2c,z|y,x|z}.3flecb г,04 =Fl(z)*x1 =х, »г04 =^(у>4**г =У, /304 =с, *х3 = z; у, =х, =х, у|х вычеркиваем, у2 = х2 = у , z|y вычеркиваем, у3 = л3 = z, x|z вычеркиваем. Следовательно, 0,04 = ki(z)|x,F,(y,x]y,C||z}. 02 ° 0з: 02 = fi |уI • r21У'з, Фз }= кг ki (4 УТ> Fi (ei U Fi (zH 03 =к|У1’?2|У2^з|Уз}= кгкк’ФФ}-0203 ={’|0з|Лр'20з!Л2-'з0з|Л3.(?||)’1.(?2|)’2Лз|Уз} = =к к кг к )к2 U F> (с> U Fi Wk Fi к	с21У > 41-
«103 =^2к1кг(С1АС2)*Л:] =Х’ г203 =f’l(Cl)’tJC2 = У-*з®з = хз ~ Z ; Jj = Х| = х, F2(c, ]|х вычеркиваем, у2 = х2 = у , с21у вычеркиваем, у3 = х3 = z, х|г вычеркиваем, отсюда е2е3 =k2kk(ci)).c2k’f’i(cily’f’i(xk}-02 ° 04:02 = k|yi.«г|уг ^зЬз }= кг к (4 У ]*• Fi (с> ]у> (z)|z}, 04 =к1|Уы9г|У2,9з|Уз}= ккф.ф}-0204 =-&104к^204^2.?304|Х3^||У1.92|У2-9з|Уз} = кгкМгклк к’ F>(4г>у1х-444 t|04 =F2ki(y4)*x, =х, r2e4 = F1(ci)*x2 = у, Z304 = Fi (х) Ф х3 = z; у, = х, = х, у|х вычеркиваем, у2 = х2 = у , г|у вычеркиваем, у3 = х3 = z, х|г вычеркиваем. Таким образом,
Глава 9. Исчисление предикатов
369
е204 = {f,(f, {y\z]x, F, (c, ]y,F} (x]z}.
03 °e4:93 = ^|у|,г2|.у2,г3|у3}= {f2(c,^.сф.ф},
04	<7з|у3}= {y|x,z|y,x|z}-
0304 ='&104^|.?294|-'2^304|'1:3.'/||)'|^2|)'2,'7з|л} =
= {F2 (cl ]x, c21У  y|z> Ф’ z|У. ф}
r,04 = F,(c,)#x, =x, Z204 = c2 ix, = \. r394 = у *.r3 = z ;
= xt =л, yjx вычеркиваем, y2 = x2 = у, z|y вычеркиваем, y3 = хз = z ’ л’к вычеркиваем. Итоговая подстановка M4 =кг(с1 Зффьф}-
4.10.2.
а) воспользуемся алгоритмом унификации, описанным в разделе 4.8.
Ро = Г = {р(с, х, F2 (F, (у))), P(z, F, (z), F, (к))}.
1,	к — 0, Ро — исходное множество, 0/>о - е ;
2.	Ро —неодноэлементное множество, Do ={с, ?};
3.	z<£c;
4.	e = {z|z}, 91=0P„0 = t|z},
Р, =РО0, ={/'(с,х,Л(Р,(.у ))>Р(С, F2(c), F2(u))};
1.	^ = 1, Pt —неодноэлементное множество, D{ ={v,/s(c)}:
2.	хе F2(c);
3.	0 = {f2(c^x}, 02=0,0=4|z,F2(cM
P2 = P,0 = ]p(c, F2 (c), F2 (f,G))), P(c, F2 (4 F2 fe))J;
1.	к = 2, P2—неодноэлементное множество, D2 =	(у),»};
2.
3-	0 = {/7l(y)|“} 0,
P3 = P20 = {p(c, F2 (c), F2 (/• 0))X p(c,F2 (c), F2 (/• (u)))} =
= {P(c,F2(c),F2(F;(j)))};
1.	P3 — одноэлементное множество, 03 =t|z,P2(cV’/7i(>'^} НОУ для Г.
370
Часть II. Ответы, решения, указания
б)	ро = г = ^(4 F, (х)), р(у, у)}.
1.	k-0, PQ —исходное множество содержит два элемента, 0Рц = Е;
2-	°о ={Л(СЫ;
3.	y2F,(c);
4.	0 = {F1(c]y}, 0, =О„,0 = Шу}-
= ад = Hf. (4 МО)- pfa (c). М4)};
5.	£ = 1, P}— неодноэлементное множество, Dx = {/^	(<?)},
Dx не содержит переменных; конец алгоритма, исходное множество не унифицируемо.
в)	ро=г = {р(с,л),р(с>с)}.
1.	к = 0, Рй — неодноэлементно, 0Ро = е ;
2.	D0={x,c};
3.	х g с;
4.	0 = £|4 0, =0Ро0 = {?|х},
Р, =РО0, ={р(с,4р(с,с)}={р(с>с)};
5.	£ = 1, Р, —одноэлементное множество, 0, = {э|х}— НОУ для Г.
г)	рс=г=Ис,г,г(44,у,у)).
1.	к =0, Ро —исходное множество содержит два элемента, 0^ = е;
2.	D0={r,y};
3.	хе у;
4.	0 = {х|4 01=0Рп0 = {х|4 Р=Р„9,^Нл.М))М.^)}.
5.	к = 1, Рх—неодноэлементное множество, Dt ={/?(х),х};
6.	xGF(x), исходное множество не унифицируемо.
д)	Ро =r = kfe.f|(Jc.4f(y.z))f(“.Fl(c,z))}
1.	к = 0, Ро — исходное множество содержит три элемента, 0Ру = е ;
Глава 9. Исчисление предикатов
371
1. D„ = {и, у};
3. и г у ;
4. е = -{и|А о, =9Р