Текст
                    МАТЕМАТИЧЕСКАЯ ЛОГИКА
Под общей редакцией доктора педагогических наук, профессора
А. 	А. Столяра
Допущено Государственным комитетом СССР по народному образованию в качестве учебного пособия для студентов математических специальностей педагогических институтов
МИНСК «ВЫШЭЙШАЯ ШКОЛА» 1991



ББК 22.12я73 М34 УДК 510.6(075.8) Авторы: Л. А. Латотин, Ю. А. Макаренков, В. В. Николаева, А. А. Столяр Рецензенты: д-р филос. наук, проф. Ю. А. Петров; кафедра алгебры ЛГПИ им. А. И. Герцена 1602020000—087 М 13—90 М304(03)— 91 ISBN 5-339-00342-6 © Коллектив автооов, 1991
ПРЕДИСЛОВИЕ Изучение математической логики студентами — будущими учителями математики и информатики — ориентировано прежде всего на лучшее понимание ими строения математических теорий, сущности и структуры математических доказательств, логики ЭВМ. Однако если ограничиваться только этими целями, оно не окажет никакого влияния на воспитание культуры мышления будущего учителя, которое можно реализовать специальной постановкой изучения математической логики, включающей рассмотрение наряду со свойственным ей чисто синтаксическим аспектом и семантику основных логических конструкций. Имеется довольно широкий набор учебных пособий высокого уровня по математической логике, принадлежащих ряду выдающихся ученых (Д. Гильберт и В. Аккерман, П. С. Новиков, А. Чёрч, С. К. Клини, Э. Мендельсон, Дж. Шенфильд и др.). Однако они мало доступны студентам (за исключением тех немногих из них, которые проявляют склонности к углубленному изучению этой научной дисциплины), не соответствуют программе и целям изучения математической логики в педагогических вузах. Предлагаемое учебное пособие существенным образом отличается от имеющейся учебной литературы: 1) в нем доступно излагается теоретический курс в рамках действующей программы для педагогических вузов; 2) рассматривается семантика основных логических конструкций; 3) теоретические положения иллюстрируются разнообразными примерами из школьной математики и информатики, что достаточно важно для профессиональной подготовки учителя; 4) наряду с изложением теоретического курса в пособие включен практикум. Пособие состоит из четырех глав, практикума и указателей: терминологического и обозначений. Глава 1 содержит два изложения логики высказываний — содержательное, использующее семантиче- з
ское понятие истинностного значения, и формальное, построенное с помощью аксиоматического метода. Первое мы называем алгеброй высказываний, второе — исчислением высказываний. Возможны различные построения исчисления высказываний. Мы рассматриваем одно из них, называя его теорией L. В главе 2 излагаются содержательное и формальное аксиоматическое построения логики предикатов. Первое, по аналогии с таким построением логики высказываний, мы называем алгеброй предикатов, хотя последний термин, по непонятным причинам, в логико-мате- матической литературе и не используется, второе — исчислением предикатов, или теорией PL. В главе 3 дается краткая характеристика стадий развития аксиоматического метода, описывается общая схема построения формальной теории 7\ которая конкретизируется на примере формальной теории Аг для арифметики натуральных чисел. В главе 4 содержится изложение интуитивного понятия алгоритма и намечаются его уточнения на языках рекурсивных функций, нормальных алгоритмов Маркова, машин Тьюринга. Практикум тесно связан с теоретическим курсом и предназначен для практической проработки не только самих основных положений курса, но и методов их обоснования. Практикум содержит: вопросы для повторения по каждому параграфу; примеры основных типов заданий с описанием различных методов их выполнения; задания для самостоятельного решения. Авторы выражают благодарность доктору философских наук, профессору МГУ им. М. В. Ломоносова Ю. А. Петрову и кандидату физико-математических наук, доценту ЛГПИ им. А. И. Герцена К. П. Козлову за полезные замечания и предложения, способствовавшие улучшению учебного пособия. Введение, гл. 3 и § 4.1, 4.2, 4.4 написаны А. А. Столяром, гл. 1 — Л. А. Латотиным и А. А. Столяром, гл. 2 — Л. А. Латотиным, § 4.3 — Ю. А. Макаренковым. Практикум написан Л. А. Латотиным и В. В. Николаевой. Замечания и предложения по учебному пособию можно направлять по адресу: 220048, Минск, проспект Маше- рова, 11, издательство «Вышэйшая школа». Авторы
ВВЕДЕНИЕ Логика — древняя наука. Она возникла тогда, когда развитие специальных наук и вообще человеческого мышления сделало актуальным вопрос о том, как надо рассуждать, чтобы получить правильные выводы. Основоположником «формальной» логики считается древнегреческий философ Аристотель — впервые разработавший теорию дедукции, т. е. теорию логического вывода. Ему принадлежит открытие формального характера логического вывода, состоящего в том, что в наших рассуждениях одни предложения выводятся из других в силу определенной связи между их формой, структурой, независимо от их конкретного содержания. Рассуждения различного конкретного содержания, применяемые в разных областях знаний, могут иметь одну и ту же форму, одну и ту же структуру. Например, рассуждения: а) если ABCD — квадрат, то ABCD — ромб; если ABCD — ромб, то ABCD — параллелограмм; следовательно, если ABCD — квадрат, то ABCD — параллелограмм; б) если ag N, то aeZ; если aeZ, то aeQ; следовательно, если ae N, то aeQ; в) если это — дуб, то это — дерево; если это — дерево, то это — растение; следовательно, если это — дуб, то это — растение,— столь различные по содержанию, как нетрудно заметить, имеют одну и ту же форму (структуру) : «Если Р, то Q; если Q, то R; следовательно, если Р, то R». Во всех трех приведенных рассуждениях правильность вывода заключения из посылок определяется не конкретным содержанием рассуждения, а формой посылок и заключения, которая одинакова во всех трех случаях. Формальная логика называется формальной именно потому, что она изучает лишь формы человеческих рассуждений, отвлекаясь от их конкретного содер¬ 5
жания, для того чтобы ответить на вопрос: как мы рассуждаем? Логика Аристотеля дополнялась, изменялась и совершенствовалась в течение многих веков различными философскими школами. Однако подлинный прогресс этой науки был достигнут лишь в XIX в., когда в логике стали применять математические методы, в результате чего и возникла математическая логика. Идею о возможности и целесообразности математизации логики высказал еще в XVII в. Г. В. Лейбниц. Ему принадлежат и первые попытки представления логики в виде исчисления. Однако особой областью науки математическая логика стала лишь в середине XIX в., прежде всего благодаря трудам Дж. Буля — «Математический анализ логики» (1847) и «Исследование законов мышления» (1854). В трудах Дж. Буля и шотландского математика О. де Моргана математическая логика оформилась как своеобразная алгебра — алгебра логики, впоследствии названная также булевой алгеброй. Профессор Казанского университета Платон Сергеевич По- рецкий — русский логик, астроном и математик — обобщил и развил достижения Дж. Буля и других ученых в области алгебры логики. В связи с тем что в математической логике применяется символический язык, аналогичный математическому, она называется также символической логикой. Применение точного математического языка символов и формул в логике было не случайностью, а необходимостью, отражающей потребность логической науки, и (так же как в самой математике) привело к ее значительному развитию. Как известно, аксиоматический метод зародился в геометрии под влиянием «Начал» Евклида, в течение почти двух тысячелетий считавшихся непревзойденными по строгости обоснования геометрии, хотя с современной точки зрения они не выдерживают никакой критики. Появление неевклидовой геометрии Лобачевского (1826) — Больяй (1832), предложения которой не согласуются с привычными пространственными представлениями, выдвинуло ряд сложных проблем (в первую очередь проблему непротиворечивости аксиоматики), исследование которых с помощью несовершенного, недостаточно формализованного аппарата традиционной (аристотелевской) формальной логики было невозможно. Это обстоятельство послужило стимулом для дальней¬ 6
шего развития математической логики, введения в нее новых идей и методов, разработки новых логических исчислений с целью удовлетворения теперь уже потребностей математики. Новый этап в развитии математической логики связан прежде всего с именем Г. Фреге, стремившегося построить совершенный логический язык, приспособленный для математики. В своем главном труде «Основные законы арифметики» (т. 1—2, 1893—1903) он построил первую в истории науки формальную логико-математическую систему, включающую значительную часть арифметики. В развитии математической логики и применении ее к теории математического доказательства приняли участие многие выдающиеся математики и логики конца XIX и XX в., в том числе Дж. Пеано, Б. Рассел, А. Уайтхед, А. М. Тьюринг, Я. Лукасевич, А. Тарский, Д. Гильберт, Г. Генцен, К. Гёдель, П. Бернайс, Т. А. Сколем, С. К. Клини, Э. Л. Пост, А. Чёрч, И. И. Жегалкин, В. И. Гливенко, А. Н. Колмогоров, П. С. Новиков, А. А. Марков, Н. А. Шанин и их многочисленные ученики. Математическая логика сделала возможным усовершенствование аксиоматического метода и сама испытала его влияние. Математическая логика сформировалась как наука для удовлетворения потребностей логики в точном языке и формальном аппарате (первый этап), а дальнейшее ее развитие связано уже с потребностями математики в адекватной логике (второй этап). В результате математическая логика значительно расширила свой первоначальный предмет. Можно сказать, что она современная (математизированная) формальная логика, представляющая собой обширную научную область, которая находит широкие применения как внутри математики (исследование оснований математики), так и вне ее (синтез и анализ автоматических устройств, теоретическая кибернетика, в частности искусственный интеллект) . Наш небольшой курс «Математическая логика» представляет собой, по существу, лишь «Введение в математическую логику», или «Начала математической логики», и отвечает потребностям математической и профессиональной подготовки учителя математики и инфоо- матики.
УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ АС 39 АС* 41 ВД1 30, 52 ВД2 30, 52 ВДО 67 ВИ 29, 51 В К 30, 52 ВКО 103 ВКС 103 ВО 29, 52 ВОД 67 ВОК 69 ВЭ 30, 52 ДД 31 ДКД 116 ДО 67 ДС 31 И 10 К 31, 56 КД 31 Кн 111 Л 10 МТ 42 MT 151 О 111 ОК 69 ОФВ 42 ПП 31 ппав 148 РП 31 С 31 СДНФ 18 СКНФ 18 СП 31 СУО 30, 52 ТД 45 УД 29, 52 УДО 30, 52 УИ 30, 40, 51 УК1 30, 52 УК2 30, 52 У КО 103 У Ко 99, 103 У КС 103 УОб 103 УОД 30, 67 УОИ 30 УОК 30, 69 УОЭ 30 УЭ1 30, 52 УЭ2 30, 52 ЭО 99, 103 ЭК 104 а 106 Л(-9 .... -) 77 п А (с) 98 Лав Ю А а.п 78 D 79 Dn 75 Da 82 \D\ 92 Ex 161 Dfd 105 Dfn 105 e 106 / 124 i 106 L4, 39 /) 80 MP 30, 40 MT 31 Ar 122 0 106 P 106 P 34 PL 4 PQ 34 RA 29, 52 S 106 7*(i, a, x) 159 ал 159 Г 28 <p(a) 159 П 11 А П V П ZD 11 - 11 1 19, 20 \ 19, 20 ( И ) H e= 15, 92 = 105 (=21, 27, 43, 103 H d94, 103 И 27 b 40, 47 H l 40 h/>L HI \~Ar 126 hr 122 V 78 3 78 ► — начало доказательства, решения <4 — конец доказательства, решения
А. ТЕОРЕТИЧЕСКИЙ КУРС 1. ЛОГИКА ВЫСКАЗЫВАНИЙ 1.1. АЛГЕБРА ВЫСКАЗЫВАНИЙ 1.1.1. Язык и метаязык Мы будем изучать логику, используя математические методы, в том числе и самой логики. Чтобы избежать возможных недоразумений, будем различать логику, которая излагается, и логику, с помощью которой это делается. Первую будем называть предметной логикой, или просто логикой, вторую — логикой исследователя, или металогикой. Необходимость различения логик приводит к необходимости различения и языков — предметного языка, на котором ведется изложение предметной логики, и языка исследователя (метаязыка), который является формой существования металогики. Поскольку изложение будет вестись на русском языке, то метаязыком у нас будет русский язык. 1.1.2. Высказывание Высказывание — исходное понятие логики высказываний, поэтому мы его не определяем через другие понятия этой теории. Сделаем лишь некоторые пояснения. Формой существования высказывания является предложение предметного языка, в большинстве случаев повествовательное. Само высказывание — смысл, содержание предложения. Соотнесение содержания предложений, выражающих высказывание, с объективной действительностью приводит к разной оценке высказываний: если содержание предложения соответствует действительности, его оценивают как истинное, если такого соответствия нет, то как ложное. Поэтому естественно считать, что всякое высказывание либо истинно, либо ложно и не может быть тем и другим одновременно. Например, предложения «1+2 = 3», <СА. Рыбаков написал роман «Дети Арбата»— истинные высказы вания, а предложения «1 +2 = 4», <СА. Платонов написал «Дети Арбата»» —ложные. 9
Таким образом, все высказывания разбиваются на два класса — класс И (истинных высказываний) и класс J1 (ложных высказываний). Классы И и J1 называются истинностными значениями. Часто вместо «высказывание принадлежит классу И (классу J1)» говорят «высказывание принимает (истинностное) значение И (значение J1)». Следует заметить, что хотя всякое высказывание обязательно имеет одно из двух значений И или J1, однако не всегда это значение известно. Примерами таких высказываний являются недоказанные или неопровергнутые гипотезы: теорема Ферма, проблема Гольдбаха и пр. 1.1.3. Алфавит и формулы алгебры высказываний Допустим, что в предметном языке имеются предложения, внутренняя структура которых нам безразлична. Требуется только, чтобы их можно было распознавать и различать. Такие предложения предметного языка мы назовем элементарными формулами, или, следуя С. К. Клини1, атомами. Условимся атомы обозначать прописными буквами латинского алфавита, начиная с буквы Р и используя в случае необходимости натуральные индексы: Ру Q, /?, ..., X, У, Z, Р1, Р2 Z1, Z2, ... Будем считать, что разные буквы обозначают разные атомы (по содержанию). В предметном языке есть такие предложения, что некоторая часть их — также предложение. Например, теорема школьной геометрии «Если в треугольнике два угла равны, то он равнобедренный» имеет части «В треугольнике два угла равны», «Он [треугольник] равнобедренный», каждая из которых сама является предложением. Подобные предложения предметного языка в алгебре высказываний описываются сложными формулами, или молекулами2. Молекулы строятся из атомов с помощью некоторых слов и оборотов предметного языка, которым в алгебре высказываний соответствуют логические операторы "1, Д, V, Обозначения атомов, логические операторы и еще два символа (, ), называемые скобками, составляют алфавит алгебры высказываний. 1 См.: Клини С. К. Математическая логика.— М.: Мир, 1973.— С. 13. 2 T а м же 10
Определение 1.1. Алфавитом алгебры высказываний называется множество Аа,в== {Р> Q, /?, X, Yf Z, Pi, Р2, •••, Zi, Z2, ..., 1, д, V, =>, —, (, )}, элементы которого называются буквами. Конечные последовательности букв алфавита Аг.в называются словами в этом алфавите. Некоторые слова в алфавите Ла в являются формулами алгебры высказываний. Определение 1.2. а) Р, Q, /?, ..., X, У, Z, Pi, Р2, Zi, Z2, ...— формулы. б) £с./ш Л — формула, то (1А) — формула. в) Если А и В — формулы, то (А Д В), (А V В), (А В), (А~В) — формулы. г) Других формул, кроме перечисленных в пункте а) и построенных по правилам пунктов б) и в), нет. Формулы, указанные в пункте а), называются элементарными формулами, или атомами, а полученные по правилам пунктов б), в),— сложными формулами, или молекулами. Следует иметь в виду, что в определении 1.2 буквы А и В являются метазнаками, с помощью которых обозначены любые формулы. Определения 1.1 и 1.2 составляют синтактику языка логики высказываний. 1.1.4. Эффективность определения формулы. Соглашение об опускании скобок Определение 1.2 является эффективным, т. е., пользуясь этим определением, можно за конечное число шагов относительно любого слова алфавита Лав установить, является оно формулой или нет. Рассмотрим некоторые примеры. Пример 1.1. Слово (P\/(Q^R)) — формула. ► Действительно, 1. Q и R — формулы 1. Опр. 1.2а 2. (QzdR)—формула 2. Опр. 1.2в(1) 3. Р—формула 3. Опр. 1.2а 4. (P\/(QzdR))—формула 4. Опр. 1.2в(3, 2) <4 Записи в правом столбце являются обоснованиями утверждений из левого столбца. Например, запись «Опр. 1.2в(3, 2)» означает. «По определению 1.2, пункт в), примененному к утверждениям из строк 3 и 2». Пример 1.2. Слово (Р\/(QzdR) не является формулой. ► Применяя пункт в) определения 1.2 к формулам Р и (QzdR), получаем формулу (PV(Q=> R)), а не слово (P\/(Qid R), так как в нем И
не хватает одной правой скобки. Значит, применение определения 1.2 не может привести к слову (P\/(Qzd R), а по пункту г) этого определения других формул нет. <4 Пример 1.3. Слово ((1P)zd ((Q\y R) ^>(Р/\Q))) является формулой. Решение аналогично примеру 1.1. Пример 1.3 показывает, что следование определению 1.2 даже при написании относительно «коротких» формул приводит к использованию большого количества скобок, что затрудняет восприятие формул. Для упрощения записей формул примем следующее соглашение об опускании скобок: опускать внешние скобки (первую левую и последнюю правую), а также все те скобки, которые становятся необязательными, если считать, что логические операции выполняются в таком порядке: отрицание “1, конъюнкция Д, дизъюнкция V > импликация =э, эквиваленция С учетом этого соглашения формула примера 1.3 запишется так: IP zd (Q V R Q), а, например, запись PzdQ\JP означает (P=>(QVP)). а не ((/>=) Q)V Р). При необходимости скобки однозначным образом восстанавливаются. В дальнейшем формулы будем писать с учетом принятого соглашения. 1.1.5. Семантика букв алфавита алгебры высказываний Алфавит и формулы были введены формально определениями 1.1 и 1.2. Рассмотрим значения букв, которые они имеют в классической двузначной логике. 1. Буквы первой категории — атомы Р, Q, /?, ..., X, У, 7, Р1, Р2, Zi, Z2 ... Каждый атом принимает одно из двух возможных истинностных значений И или JI. Для наших целей такого истолкования атомов вполне достаточно. Однако для приложений логики нужно сделать еще один шаг: И и J1 в свою очередь интерпретируются как любое истинное и ложное высказывание соответственно. Например, И — это и «2 + 2 = 4», и «sin (л/6) = 1/2», и «Волга впадает в Каспийское море», и «Попов — изобретатель радио», и т. д. 2. Буквы второй категории — логические операторы Л, V, Значения этих букв раскрываются в табл. 1.1., 1.2, являющихся определениями соответствующих логических операций. Записи ~Ъ4, А/\ВУ A\J В, А и В, А~В читаются соответственно «отрицание А», «А конъюнкция В», 12
Таблица 1.1 Таблица 1.2 А 1А А в ААВ А\ув А =э в А~ в И Л И и и И И И л и и л л и л л л и л и и л л л л л и и «А дизъюнкция В», «А импликация В», «А эквивален- ция В». В записях А/\В, А\/В, AzdB, А~В формулы А и В называются соответственно конъюнктивными, дизъюнктивными, импликативными членами, членами эквиваленции; первый импликативный член А называется антецедентом, второй — В — консеквентом. Такие определения логических операций отрицания, конъюнкции, дизъюнкции, импликации, эквиваленции диктуются нормами употребления в русском языке некоторых слов и словосочетаний. Отрицание в русском языке наиболее часто выражается частицей «не», поставленной перед сказуемым отрицаемого высказывания (перед изменяемой частью сказуемого), или оборотом «неверно, что», поставленным перед отрицаемым высказыванием. Например, отрицанием истинного высказывания «Число 4 делится на 2» является ложное высказывание, выражаемое предложением «Число 4 не делится на 2» или предложением «Неверно, что число 4 делится на 2», а отрицанием ложного высказывания «Число 4 делится на 3» является истинное высказывание, выражаемое предложением «Число 4 не делится на 3» или предложением «Неверно, что число 4 делится на 3». Определение конъюнкции дает анализ использования в русском языке союза «и» в ситуациях, подобных следующей. Пусть имеется задание «Решите уравнение аналитически и графически». Оно будет считаться выполненным лишь в том случае, когда уравнение будет решено и аналитически, и графически. В любом из других трех возможных случаев—1) уравнение решено аналитически и не решено графически; 2) уравнение не решено аналитически и решено графически; 3) уравнение не решено ни аналитически, ни графически — задание не будет считаться выполненным. Следует отметить, что союз «и» в русском языке имеет и другие смыслы, отличные от конъюнктивного, в то же время конъюнкция в русском языке может выражаться иными способами. Понятие дизъюнкции формализует применение в русском языке союза «или» в ситуациях, сходных со следующей. Пусть сыну обещается посещение кино, если отец или мать будут свободны. В каждом из трех случаев— 1) свободен отец и свободна мать; 2) свободен отец и занята мать; 3) занят отец и свободна мать — для выполнения обещания обязательно посещение кино. Только в четвертом случае — занят отец и занята мать — для выполнения обещания посещение кино не обязательно. Следует иметь в виду, что в русском языке союз «или» имеет значения, отличные от дизъюнктивного, в то же время дизъюнкцию можно выразить и иными способами. Импликация является формализацией одного из способов применения в русском языке оборота «Если Р> то Q». Пусть отец обещает сыну: «Если завтра будет хорошая погода, мы поедем в лес». 13
В любом из трех случаев — 1) погода хорошая и поездка в лес совершена; 2) погода плохая (нехорошая) и поездка в лес совершена; 3) погода плохая и поездка в лес не совершена — сын будет считать, что обещание выполнено. Только в случае — погода хорошая, а поездка в лес не совершена — сын будет считать, что обещание не выполнено. Говоря об определении импликации, следует отметить, что в обыденной речи члены импликации всегда связаны по смыслу, формальная же логика этой связи не отражает. Кроме этого, в русском языке имеется много других способов выражения импликации, а оборот «Если Р, то Q» может использоваться в значениях, отличных от импликативного. Определение эквиваленции связано с использованием в русском языке оборота «Р тогда и только тогда, когда Q» и некоторых других. 3. Буквы третьей категории — скобки — левая «(» и правая «)» — играют роль знаков препинания и самостоятельного смысла не имеют. 1.1.6. Истинностные значения и истинностные таблицы формул алгебры высказываний Пусть формула А содержит п атомов Pi, ..., Рп. Так как каждый атом может принимать одно из двух возможных истинностных значений И или J1, то различных возможных наборов значений п атомов Рь ..., Рп имеется 2п. Определение 1.3. Назовем интерпретацией формулы А алгебры высказываний всякий набор истинностных значений атомов, входящих в формулу А. Данная формула в конкретной интерпретации сама принимает одно из истинностных значений И или J1, которое определяется при выполнении в требуемом порядке всех предписываемых формулой логических операций. Пусть, например, необходимо вычислить истинностное значение формулы (~\Р ~ Q \/R)id SAQ при наборе (Р, Q, /?, S)=(И, И, Л, И). Вычисления можно оформить так, что результат выполнения операции подписывается под соответствующим оператором: (ЛP~QVR)^SAQ И И Л ИИ л и л и 0 Часто требуется найти истинностные значения формулы во всех возможных интерпретациях. Для примера рассмотрим формулу 1P/\QVR^> (Р ~ R)- Вычисления 14
оформим в виде табл. 1.3, не нуждающейся в специальных пояснениях. Таблица 1.3 р Q R 1Р 1PAQ -1PAQVK Р~ R "iPAQVtf=>(P~fl) 1 И И И л Л И и И 2 И и л л л Л л и 3 И л и л л и и и 4 и л л л л л л и 5 л и и и и и л л 6 л и л и и и и и 7 л л и и л и л л 8 л л л и л л и и 1 2 3 4 5 6 7 8 Чтобы безошибочно выписать все интерпретации формулы, поступаем следующим образом: определяем различные атомы, входящие в формулу. Пусть число этих атомов п. Тогда существует 2п различных интерпретаций. В табл. 1.3 для первого атома выписываем по строкам сначала 2п/2 = 2п~1 И, затем 2n~l J1, для второго — чередуем 2п~1 /2 = 2п~2 значений И и J1 и т. д., для я-го атома чередуем И и J1 по одному. Определение 1.4. Таблица, содержащая всевозможные интерпретации формулы и соответствующие этим интерпретациям значения формулы, называется истинностной таблицей формулы. Например, совокупность столбцов 1, 2, 3, 8 есть истинностная таблица формулы ~ЛР/\Q\J Rzd {Р ~ R)y а совокупность столбцов 1, 2, 3, 6— истинностная таблица формулы “IPAQV#. Всякая формула характеризуется своей истинностной таблицей. Одна и та же таблица может отвечать различным формулам. 1.1.7. Отношение равносильности формул Определение 1.5. Формулы А и В называются равносильными, если во всех интерпретациях формул А и В, содержащих все атомы формул А и В, истинностные значения этих формул совпадают. Равносильность формул А и В обозначается А = В. Очевидно, что равносильные формулы имеют одинаковые истинностные таблицы, и наоборот, если истинностные таблицы формул совпадают, то они равносильны. 15
Легко проверить, что, например, PzdQ= ~1Р\/Q. Отношение равносильности формул является отношением эквивалентности, т. е. а) А = А для любой формулы А; б) если А = ВУ то В = А для любых формул Л и В; в) если А = В и В = СУ то А = С для любых формул А, В, С. Поэтому множество всех формул разбивается на классы эквивалентности — классы равносильных формул. Все формулы из одного класса характеризуются одной и той же истинностной таблицей. 1.1.8. Истинностные функции В каждой своей интерпретации формула принимает одно из двух истинностных значений — И или JI. Другими словами, формула задает функцию вида {И, Л}"->- -Чи, л). Определение 1.6. Функция вида {И, ЛГ-ЦИ, Л} называется п-местной истинностной функцией или функцией алгебры высказываний. Две равносильные формулы определяют одну и ту же истинностную функцию. Следовательно, истинностные функции можно рассматривать как характеристики классов равносильных формул. Исходя из данного набора п атомов, можно составить счетное множество формул. Однако все эти формулы описывают лишь конечное множество истинностных функций, например двухместных истинностных функций — 16 (табл. 1.4). Таблица 1.4 р Q /о (Я, Q) / 2 ь /« h /б и h /э /ю /п /.2 /.3 /.4 /|5 и И И и и и и и и и л л л л л л л л и л И и и и л л л л и и и и л л л л л и и и л л и и л л и и л л и и л л л л и л и л и л и л и л и л и л и л Предложение1 1.1. Число п-местных истинностных функций равно 2(2"}. ^ Существует 2п различных наборов значений п атомов. Любая истинностная функция с каждым из этих 1 Мы не пользуемся термином «теорема», так как в дальнейшем он будет применяться в строго определенном смысле, отличном от того, в котором сейчас применен термин «предложение». 16
наборов сопоставляет одно из двух истинностных значений — И или J1. Значит, истинностных функций столько, сколько можно составить различных наборов из И или J1 длины 2. Но всякий такой набор есть размещение с повторениями из двух элементов (И или Л) по 2п. А таких размещений с повторениями имеется 2{Г\ Значит, различных я-местных истинностных функций существует 2{Т). ^ 1.1.9. Совершенные нормальные функций формы истинностных Мы знаем, что имеются два способа задания истинностных функций — формулой и истинностной таблицей. По формуле легко составляется истинностная таблица. На практике при конструировании различных электронных устройств часто возникает и обратная задача — от истинностной таблицы перейти к формуле. Для ее решения имеются два алгоритма, которые мы и опишем, при этом рассуждения будем иллюстрировать конкретным примером (табл. 1.5). Таблица 1.5 я2 Р 3 f(P I, Р2. Яз) И и и и и и л и и л и и и л л л л и и и л и л л л л и л л л л л Пусть имеется истинностная функция /(Рi, ..., Ря), заданная истинностной таблицей. Алгоритм 1.1. а) Рассмотрим все те наборы значений (ai, ап) атомов Pi, ..., Рп, для которых /(Pi, ..., Рп)= И, здесь а/^(И, JI}, /=1, п. В нашем примере такими наборами будут (И, И, И), (И, И, Л), (И, Л, И), (Л, И, И). б) Для каждого из отобранных наборов составляем конъюнкцию из атомов Pi, Рп или их отрицаний, при¬ нимающую при данном наборе значение И. Конъюнкции, содержащие все п атомов Pi, ..., Рп (с отрицаниями или без них), называются элементарными конъюнкциями (длины п). 17
В нашем примере элементарными конъюнкциями будут такие формулы: Р1ЛР2ЛР3, Р1ЛЯ2ЛПР3, Р.ЛПР2ЛЯ3, "1Я.ЛР2ЛР3. . в) Составляем дизъюнкцию выписанных элементарных конъюнкций. Для нашего примера получим такую дизъюнкцию: ^iA^2AP3V^iA^2A 1Я3 V^iA “1Л>ЛРз\/ "1^1 Л ^2 Л Яз. Определение 1.7. Дизъюнкция, составленная из элементарных конъюнкций, называется совершенной дизъюнктивной нормальной формой (СДНФ). Составленная СДНФ выражает ту же истинностную функцию, что и истинностная таблица. Докажем это. Пусть при данном наборе (ai, ..., ап) истинностная функция, согласно истинностной таблице, имеет значение И: /(ai, ..., ап)=И. Тогда этот набор будет среди выбранных, значит, среди составленных элементарных конъюнкций будет такая, которая при данном наборе примет значение И. Поэтому в СДНФ будет один (и только один) член, имеющий значение И. По определению дизъюнкции значение И будет иметь и СДНФ. Пусть теперь при данном наборе (ои, ..., ап) истинностная функция, согласно истинностной таблице, имеет значение JI. Тогда этого набора не будет среди выбранных, и, значит, все составленные элементарные конъюнкции будут иметь значение J1 (элементарная конъюнкция обладает свойством принимать значение И только при том наборе, для которого она составлена). Итак, все члены СДНФ, а поэтому и она сама имеют значение J1. Алгоритм 1.2. Этот алгоритм аналогичен алгоритму 1.1, поэтому мы опишем его кратко без пояснений и доказательства, которое предоставляется читателю. а) Выбираем все те наборы (ai, ..., art), при которых истинностная функция имеет значение J1: /(ai, ..., an) = Jl. б) Для каждого из этих наборов составляем дизъюнкцию из атомов Р1, ..., Рп или их отрицаний, такую, что при данном наборе она принимает значение JI. Дизъюнкции, содержащие все п атомов Р\, Рп (с отрицаниями или без них), называются элементарными дизъюнкциями (длины п). в) Составляем конъюнкцию выписанных элементарных дизъюнкций. Определение 1.8. Конъюнкция, составленная из элементарных дизъюнкций, называется совершенной конъюнктивной нормальной формой (СКНФ). 18
Составленная СКНФ выражает ту же истинностную функцию, что и истинностная таблица. Итак, доказано Предложение 1.2. Всякая истинностная функция, не равная тождественно J1, может быть представлена в СДНФ. Всякая истинностная функция, не равная тождественно И, может быть представлена в СКНФ. 1.1.10. Полные системы истинностных функций Из предложения 1.2 следует, что для выражения любой истинностной функции достаточно трех логических операций: отрицания "1, конъюнкции Д и дизъюнкции \Д Определение 1.9. Система истинностных функций называется полной, если с помощью функций этой системы можно выразить любую истинностную функцию. Система {"1, Д, V}—полная, что следует из предложения 1.2. Существуют и более «бедные» функциями системы, являющиеся полными. Предложение 1.3. Системы истинностных функций Р. Д}, {~1, V}, {"1, =э} — полные. ^ Для доказательства полноты системы {“I, Д} достаточно, исходя из полноты системы р, Д, V}» выразить дизъюнкцию через отрицание и конъюнкцию. Но это имеет место в силу равносильности А \/В= П(ПЛДПВ). (1.1) Полнота системы {“1, V} следует из равносильности А/\В^ П(ПЛ (1.2) Полнота системы {“1, Iэ} следует из равносильности A VB= IAzdB. (1.3) Равносильности (1.1), (1.2), (1.3) можно доказать, например, составлением истинностных таблиц.^ Среди указанных в табл. 1.4 двухместных истинностных функций имеются и такие, которые в единственном числе образуют полную систему истинностных функций. Определение 1.10. Функция, заданная истинностной табл. 1.6, называется штрихом Шеффера, а табл. 1.7 — стрелкой Пирса. Предложение 1.4. Системы {1} и {|} — полные. ^ Полноту системы {1} доказывают равносильности: -1Л=Л|Л, А\/В^{А\А)\{В\В\ 19
Таблица 1.6 Таблица 1.7 А в А | в А в А | и И л и и л и л и и л л л и и л и л л л и л л и а системы {|}—равносильности: 1А=А\А, АЛВ = (А \А)\(В\В).< 1.1.11. Виды формул алгебры высказываний и их классификации В алгебре высказываний для некоторых классов формул применяются специальные имена, которые мы введем следующими определениями. Определение 1.11. Формула А называется общезначимой (тождественно истинной, тавтологией), если во всех своих интерпретациях она принимает значение И. Определение 1.12. Формула А называется невыполнимой (тождественно ложной, противоречием), если во всех своих интерпретациях она принимает значение J1. ‘ Определение 1.13. Формула А называется нейтральной, если она не является ни общезначимой, ни невыполнимой. Определение 1.14. Формула А называется выполнимой, если она общезначимая или нейтральная. Определение 1.15. Формула А называется необщезначимой, если она невыполнимая или нейтральная. Определения 1.11 —1.15 дают три классификации формул, которые наглядно представлены табл. 1.8. Таблица 1.8 Только И Хотя бы одно И и хотя бы одно Л Только Л общезначимые нейтральные невыполнимые выполнимые невыполнимые общезначимые необщезначимые 20
1.1.12. Важнейшие свойства общезначимых формул Общезначимые формулы играют особую роль в логике: они на языке алгебры высказываний выражают законы логики. Общезначимые формулы истинны в силу своей структуры, независимо от истинностных значений составляющих их формул. Например, для любой формулы А формульная схема A\J ~\А1 принимает значение И независимо от значения формулы А. В самом деле, если А = И, то дизъюнкция А\/~\А принимает значение И. Если же А = J1, то тогда ~\А = И, а дизъюнкция А\/ ~\А опять принимает значение И. Рассмотренная формульная схема выражает один из законов логики, известный под именем закона исключенного третьего (tertium поп datur). Для утверждения «Формула Е общезначима» введем обозначение «[=£». По выше доказанному: |= A\J 1А. Последняя запись означает, что всякая получаемая из формульной схемы A\J ^\А формула общезначима, но для краткости мы будем говорить, что формула A\J 1А общезначима в вышеуказанном смысле. Докажем теперь важнейшие свойства общезначимых формул. Предложение 1.5. Если Е — общезначимая формула, содержащая атомы Рi, ..., Рп, то формула Е*, получающаяся из Е одновременной подстановкой формул А\, ..., Ап вместо атомов Р\, ..., Рп соответственно, также общезначимая. ► Пусть Q1, ..., Qk — все атомы, входящие хотя бы в одну из формул А\, ..., Ап, и (ai, ..., a*) — произвольный набор значений этих атомов. Пусть Pi, ..., p„ — истинностные значения формул А\, ..., Ап для набора (ai, ..., а*). Подставим Pi, ..., р„ вместо А\, ..., Ап соответственно в £* и вместо Рi, ..., Рп соответственно в Е. Тогда получим совпадающие слова и F в алфавите {И, JI, 1, Д, V, =>> Так как формула Е общезначима, то значением слова F будет И. Поэтому и совпадающее с ним слово F* также будет иметь значение И. Итак, при любом наборе значений (ai, а*) атомов Q1, ..., входящих в формулу £*, эта формула принимает значение И, значит, формула Е* общезначима. <4 1 Запись «А v *"Ь4» не является формулой, так как Л — метазнак. Она представляет собой общую схему для бесконечного множества формул, получаемых при подстановке в нее вместо А любой формулы. Поэтому такого рода записи называют формульными схемами. 21
Предложение 1.6. Если \= А и Н=Л:г>В, то Ь= В. ► Рассмотрим произвольный набор значений атомов, входящих хотя бы в одну из формул А или В. В силу общезначимости формулы А и А :э В примут значение И. Значение И при рассматриваемом наборе должна иметь и формула В, так как если бы формула В имела значение J1, то, по определению импликации, значение J1 имела бы и формула A zd В. -4 Предложение 1.7. |=Л~В тогда и только тогда, когда А = В. Предложение 1.8. \=Е тогда и только тогда, когда ~\Е — противоречие. Доказательство предложений 1.7 и 1.8 предлагается провести самостоятельно. 1.1.13. Важнейшие общезначимые формулы Предложение 1.9. При любом выборе формул А, В, С нижеследующие формульные схемы представляют собой общезначимые формулы. Схемы введения и удаления логических операторов: (1) А г>(В=>Л). (2) (А =э В) гэ ((A =)(S=d С)) =э (Л => С)). (3) Azd(Bzd А /\В). (4)А/\В=>А. (5) А Д В =5 В. (6)AzdA\JB. (7) ВгэЛVB. (8) (Л гэ С) гэ {{В => С) гэ (А \/В С)). (9) (Л =э В) => ((Л 1В) => 14). (10) 1~1Л Л. (11) (Л => В) => ((В гэ Л) г) (Л ~ В)). (12) (Л ~ В) =э (Л => В). (13) (Л - В) => (В => А). Выражение одних логических операций через другие: (14) (Л ~£)~(Л =>В)Д(£=>Л). (15) А=>В~~\А\/В. (16) Л => В ~ П(Л Д 1В). (17) ЛДВ~ П(ПЛ V"l£)- (18) А/\В~ 1(Л=э ПВ). (19) Л\/б~ П(ПЛА1В). (20) Л VB~ ПЛгэВ. Коммутативные законы: (21) А/\В~В/\А. (22) ЛVS~BV^- (23) (Л ~ В) ~ (В ~ Л). Ассоциативные законы: (24) ЛА(ЯЛС)~(ЛЛЙ)ЛС. (25) Л V V С) ~ (Л V S) V С. (26) (Л ~ (В ~ С)) ~ ((Л ~ В) ~ С). Дистрибутивные законы: (27) ЛА(ВУС)~ЛЛЯУЛАС. 22
(28) A VBAC~(A VB)A(A VC). (29) A V(Bzd C)~ A VBzdA \/C. (30) A V(B~ C)~{A\JB~A\/C). (31) ЛэВДС-(ЛзВ)Д(ЛэС). (32) Aid BV С ~ (Aid B)V {Aid С). (33) Aid(B ~ C)~ (Aid В ~ Aid С). Законы идемпотентности: (34) AAA-Л. (35) Л\М~Л. Законы поглощения: (36) A/\{A\/B)~A. (37) A VAAB-A. Законы отрицания логических операций: (38) ~](А АВ)~ ~1Л V 15. (39) 1(А V В) ~ 1Л Д 1В (де Моргана). (40) 1(А =э В) ~ А Д ПВ (отрицания импликации). (41) П(Л ~ В) ~ (Л V В) А ~}(А А В) (отрицания эквива- ленции). (42) ИЛ~Л (двойного отрицания). Законы традиционной логики: (43) Л~Л (тождества). (44) Л V "1Л (исключенного третьего). (45) П(ЛЛ“1Л) (непротиворечия). Другие часто употребляемые законы логики: (46) {Aid В) id {(В id С) id (Л =) С)) (силлогизма). (47) (Л zd (В id С)) ~ (В id (A id С)) (перемены посылок). (48) Л=э(В=эС)^ЛДВгэС (соединения и разъединения посылок). (49) ПЛ=э(Л=эВ) (отрицания антецедента). (50) Aid В ~ "1В id ПЛ (контрапозиции). Формулы (1) — (13) составляют одну из возможных полных, независимых аксиоматик логики высказываний (см. ниже § 1.2). В то же время они являются одним из способов выражения важнейших (и простейших) схем рассуждений (см. п. 1.1.16). Формулы (14) и (15) позволяют равносильным образом (см. п. 1.1.14) избавляться от эквиваленций и импликаций. В связи с формулами (21) — (26) обращаем внимание на то, что импликация не является ни коммутативной, ни ассоциативной операцией. С некоммутативностью импликации, в частности, связано наличие у нее специальных имен для первого и второго членов — антецедент и консеквент. В силу коммутативности и ассоциативности операций конъюнкции, дизъюнкции (и эквиваленции) члены этих операций можно при равносильных преобразованиях произвольным образом объединять скобками в группы, производя при необходимости требуемые перестановки. Учитывая ассоциативность конъюнкции, дизъюнкции и эквиваленции, дополним соглашение об опускании скобок (см. п. 1.1.4) следующим положением: многочленные конъюнкции, дизъюнкции и эквиваленции писать без скобок, не указывая порядок выполнения операций. 23
Отметим еще, что из четырех бинарных операций конъюнкции, дизъюнкции, импликации и эквиваленции дизъюнкция и импликация дистрибутивны относительно трех остальных, конъюнкция дистрибутивна только относительно дизъюнкции, а эквиваленция не дистрибутивна ни относительно одной из остальных операций (формулы (27) - (33)). ► Общезначимость каждой из 50 формул предложения 1.9 можно установить, например, составив истинностную таблицу для конкретной формулы после замены А, В, С на атомы Р, Q, R и убедившись в том, что последний столбец каждой такой таблицы состоит только из одних И, после чего остается применить предложение 1.5 о подстановке вместо атомов. Конечно, можно сразу строить истинностную таблицу и с входами Л, В, С. А 1.1.14. Методы установления общезначимости формул. Равносильные преобразования формул Метод истинностных таблиц. С этим методом читатель уже знаком, поэтому мы не будем приводить подробных вычислений всех подформул (формул, входящих в состав) рассматриваемой формулы. Пример 1.4. Общезначима ли формула A zd (В ~ С) ~ (A zd В ~ ~ A zd С)? ► Истинностная таблица формулы А zd (В ~ С) ~ (A id В ~ A zd С) (табл. 1.9) в своем последнем столбце содержит только значения И, значит, эта формула общезначима. 4 Пример 1.5. Общезначима ли формула А /\{В zd С) ~ А /\В zd А Л С? ► Последний столбец табл. 1.10 содержит значения JI, значит, формула А /\(В С) ~ А /\В zd А /\С не общезначима. 4 Таблица 1.9 л в с А (В ~ С) А =э В ~ А гэ с A ZD {В - С) ~ (А И И и и И И И и л л л и И л и л л и И л л и и и л и и и и и л и л и и и л л и и и и л л л и и и 24
Таблица 1.10 АЛ(В=> С) ААВ^ААС АА(В zэС)~ААВ=>ААС И И И И и и и и л л л и ИЛИИ и и и л л и и и л и и л и л л и л л и л л л и л и л л л л л и л Метод от противного. Этот метод связан с решением логических уравнений. Под логическим уравнением будем понимать равенство вида Ф1 = Ф2, где Ф1 и Ф2 — формулы алгебры высказываний или одно из истинностных значений (И или Л). Решить логическое уравнение означает найти все те наборы истинностных значений атомов, входящих хотя бы в одну из формул Ф1 или Ф2, при которых имеет место равенство Ф1 = Фг. Указанное же равенство выполняется, если формулы Ф1 и Фг имеют одинаковые истинностные значения. Пример 1.6. Общезначима ли формула (Л zd В) zd ((В :э С) zd => (А => С))? ► Допустим, что данная формула не общезначима. Тогда должен существовать хотя бы один набор значений формул А, В, С, при котором формула {A zd B)zd ((В id С) zd (A zd С)) примет значение Л, т. е. должно иметь решение логическое уравнение (AzdB)zd {(В => С) => (A zd С)) = Л. По определению импликации имеем: ( А => В = И, /п^г = и’ значит, {ИЛ’=>СВ= 1ИИЛ)’ или / (Л- В• С)= (И- И- Л>- 1я=эЛ = И, 1 Bzd л = и, / (Л, Я, С) = (И, И, Л), { И =э Л = И. Условие И zd Л = И последней системы противоречит определению импликации. Значит, наше допущение о том, что формула (A zd В) zd zd ((В zd С) zd (A zd С)) не общезначима, следует отклонить. 4 Пример 1.7. Общезначима ли формула A \JВ zd А /\В? ► Допустим, что данная формула не общезначима, тогда уравнение Л\/^=:)ЛДВ = Л, а значит, и система уравнений | должны иметь решения. Легко видеть, что (Л, £) = (И, Л) является таким решением. Итак, имеется набор значений формул Л, В, при котором формула A\/BzdA/\B принимает значение Л. Значит, эта формула не общезначима. 4 или 25
Метод равносильных преобразований. Прежде всего отметим, что в силу предложения 1.7 на общезначимые эквиваленции (14) — (43), (47), (48), (50) предложения 1.9 можно смотреть и как на равносильности, т. е. к примеру, раз эквиваленция (15) AzdB~ "1 А\/В общезначима, то имеет место равносильность А =э В = ~\А \/ В. Кроме того, в рассматриваемых ниже примерах общезначимые формулы, например, A\J ~\А мы при необходимости, будем заменять на И. Будем также учитывать, что Л Д И = Л, А ДЛ = Л, А\/ И = И, А\/Л=А для любой формулы А. Пример 1.8. Общезначима ли формула (А zdB)/\A dB? ► В нижеследующей цепочке равносильностей число над знаком = показывает номер используемой равносильности из предложения 1.9. (Л=>В)ДЛ=эВ 1((Л гз В)АА)\/В (Ш (П(Л =1 В)У 1/1) V у В (4Ш (ЛДИВ\/ 1-4) V В ^ ПЛ \МД ~\В)У В Ш) (1Л\М)Д Д(1Л V1B.).VB (=) ИЛ(1Л v 1B)VB = (1Лv 1B)VB (=) ~iA\y У(1ВУВ) Ш) -\А \/И sa И. Приведенная цепочка равносильностей показывает, что формула (А =) В)/\А id В при любых значениях А и В принимает значение И, т. е. является общезначимой. <4 Пример 1.9. Общезначима ли формула (Л=>Б)ДБ=)Л? ► Имеет место следующая цепочка равносильностей: (A zd В)ДВ гэ Л 1 {{A =)B)AB)V^(^\'1(/4=>B)V'1B)V У А (ЛЛ1В\/1В)\/Л (22)^21) (“IB V ~iB/\A)yA Щ 1BV У А (Ц) В=эЛ. Последняя формула в приведенной цепочке равносиль¬ ностей не является общезначимой: при (А, В) = (J1, И) она имеет значение J1. Значит, не является общезначимой и равносильная ей формула (Л zэ В)/\В => А. <4 Указанными методами можно пользоваться и при установлении того, является ли формула необщезначимой, нейтральной, выполнимой, невыполнимой. 1.1.15. Отношение логического следования и его связь с общезначимостью Рассмотрим истинностные таблицы формул Р ~ 1Q и ~IPV “IQ (табл. 1.11). Из них видно, что при всех Таблица 1.11 IPV 4Q и и л л или и л и и и л л л и 26
наборах значений Р и Q, при которых формула Р~ HQ принимает значение И (вторая и третья строки), это же значение имеет и формула “IP V "1Q- В таких случаях говорят, что из Р~ 1Q логически следует 1PV IQ- Определение 1.16. Из формулы А (логически) следует формула В, если по крайней мере при всех тех наборах значений атомов, входящих в А или В, при которых формула А имеет значение И, формула В также имеет значение И. Следование формулы В из формулы А обозначается А\=В. По установленному выше Р ~ "1QH "1 Р\/ "1Q. Если А\=ВУ то А называется посылкой, В — заключением. У нас Р ~ "1Q — посылка, 1Р\/ 1Q — заключение указанного следования. Следование “IPV ~IQH Р ~ 1Q, обратное рассмотренному следованию, неверно, так как при (Р, Q)=(JI, Л) формула “IP V "1Q имеет значение И, а формула Р ~ “1Q — значение J1. Если из А не следует В, то пишут А\^В. Значит, ~]Р\/~\Q\£P ~ 1Q. Обобщим определение 1.16 на случай п посылок. Определение 1.17. Из формул А\у Ап следует формула Ву если формула В имеет значение И по крайней мере при всех тех наборах значений атомов, входящих хотя бы в одну из формул А\у ..., Лл, Ву при которых значение И имеют формулы А\у ..., Ап одновременно. Символически следование формулы В из формул А\у ..., Ап обозначают А\у ..., Л «Неиспользование для обозначения общезначимости и следования одного и того же символа объясняется тем, что между этими понятиями имеется глубокая связь, которая устанавливается следующим предложением. Предложение 1.10. Ль Ап~\> Ап\=В тогда и только тогда, когда Лi, ..., Ап-\\= Ап^> В. В частности, А\=В тогда и только тогда, когда \=Azd В. ^ Пусть Ль Ап-1, Л„Н£> но Ль ..., Ап-\\фАп^ В. Тогда из последнего утверждения в соответствии с определением следования вытекает, что существует хотя бы один набор значений атомов, входящих хотя бы в одну из формул Л1, Ап, В, при котором все формулы Лi, Ап-1 имеют значение И, а формула Ап^>В — значение J1. По определению импликации, при рассматриваемом наборе формула Л« имеет значение И, а формула В — значение J1. Итак, существует набор, при котором 27
формулы Ai, ..., Ап-1, An имеют значение И, а формула В — значение Л. Поэтому А\у ..., Ап-\, Ап\^Ву что противоречит условию А\у ..., Ап-1, Ап\=В. Пусть теперьЛь Ап-\\=Ап и> В, а Л1, ...у Ап-\у Ап\^В. Тогда по определению следования должен существовать набор значений атомов, входящих хотя бы в одну из формул А\у ..., Ап-1, АПу Ву при котором все формулы А\у ..., Ап-1, Ап имеют значение И, а формула В — значение JI. При рассматриваемом наборе импликация Л„=эВ имеет значение Л. Итак, имеется набор значений атомов, при котором все формулы А\у ..., Ап-\ имеют значение И, а формула ЛП=>В— значение Л. Значит, А\у ..., Лп-1 М=ЛЛ :=> В, что противоречит условию А\у Ап— iH2 Ап zd В. ^ Следствия, а) А\у ..., Ап-1, Ап\=В тогда и только тогда, когда Н А \ => (... =э(Лп-1 => (Ап =э В))...). б) А\у ..., Ап-1, Лл|=£ тогда и только тогда, когда А\ /\... /\Ап— \ /\ А«1= В. ^ а) получается n-кратным применением предложения 1.10, б) получается из а) в силу равносильности (48) предложения 1.9. <4 Применяя к следствию б) предложение 1.10, получим: А\у ..., Ап^=В тогда и только тогда, когда \=А\/\... ... /\Ап => В. Предложение 1.11. а) А\у ..., An\=Ai(i— 1, ..., п). б) Если А\у ..., Ап\= В\у ..., А\у Ап^ Bfiy о, В\у ..., BkН= Су то А1, ..., С. Для сокращения записей обозначим Г любое множество формул, возможно пустое. Тогда, например, предложение 1.10 можно сформулировать так: Г, А\= В тогда и только тогда, когда T\=AzdB. Дальнейшие предложения, содержащие в своих формулировках множества формул, будем записывать с использованием принятого обозначения. Предложение 1.12. а) Если Г, А\=С и Г, В|= С, то Г, А\/ В\= С. б) Если Г|= А VВ и Г, А\= С и Г, В\=СУ то Г[= С. в) Если Г, А\= В и Г, А\= “IB, то Г[= 1Л. ► Пусть Г, А\=С (1), Г, В|= С (2), но Г, А\/В\фС. Тогда существует набор значений атомов, входящих хотя бы в одну из формул множества ГU{Л, Ву С}, при котором все формулы множества FU{Л V имеют значение И, а формула С — значение Л. Но если при некотором наборе формула А\/ В имеет значение И, то по определению дизъюнкции значение И имеет хотя бы одна из 28
формул А или В. Если таковой является формула Л, то при рассматриваемом наборе все формулы множества ГиЙ) имеют значение И, а формула С — значение J1, значит Г, А\фСу что противоречит условию (1). Если же значение И имеет формула В, то подобным образом получим противоречие с условием (2). ^ Доказательства предложения 1.11 и пунктов б) и в) предложения 1.12 предоставляются читателю в качестве упражнения. 1.1.16. Важнейшие правила следования Важнейшие правила следования являются логической основой содержательных дедуктивных рассуждений. Они были сформулированы Г. Генценом под названием правил заключения и позволяют судить о правомерности некоторых следований исходя из правомерности других следований. Одно из этих правил содержится в предложении 1.10. (1) Если Г, Л Н Ву то ГНЛгэВ (введение импликацииI, ВИ). Это правило позволяет вводить импликацию Л id В, если доказано следование Л|=В, возможно с использованием некоторых других предложений (множество Г). Правило следования ВИ широко используется в доказательствах. Пусть требуется доказать предложение импликативной структуры A =э В. В практике доказательства обычно к тем предложениям, которые уже доказаны (множество Г), добавляется предложение А и, исходя из Г и Л, выводится В. После чего говорят «теорема доказана», т. е. доказана Л :=) В. За этим оборотом и скрывается неявное применение правила ВИ, т. е. переход от следования Г, А\= В к следованию ГНЛиэВ. Еще два правила следования дает предложение 1.12. (2) Если Г, А\=С и Г, ВНС, то Г, A\fB}==C (удаление дизъюнкции, УД). Согласно правилу УД, для получения следствия С из дизъюнкции А\/В достаточно следствие С вывести из Л и из В. Другими словами, чтобы вывести С из Л\/В, эту дизъюнкцию «удаляют» и доказывают два различных следования Г, ЛН С и Г, В\=С. Пункт б) предложения 1.12 дает еще один вариант правила УД. (3) Если Г, ЛНВ и Г, А\=~ЛВУ то ГН ~1Л (введение отрицания, ВО, или reductio ad absurdum, RA). Правило ВО является логической основой косвенного 29
доказательства (доказательства методом от противного). Чтобы доказать некоторое предложение Л, мы допускаем, что А неверно, т. е. верно ~1Л и, исходя из ~1Л и уже доказанных предложений (множество Г), выводим противоречие В и ПВ(Г, 1А\=В и Г, ~\А\= ПВ). После этого говорим «полученное противоречие доказывает теорему». Этот оборот речи означает неявное применение правила ВО. Действительно, из Г, "1Л|=В и Г, ~\А\= "1В по правилу ВО имеем Г(=П~1 Л, или, применяя правило удаления двойного отрицания (УДО), —Г|=Л. Рассмотрим другие правила заключения Г. Генцена, а также некоторые правила, вытекающие из них и часто используемые в практике рассуждений. Предложение 1.13. При любом выборе формул А, В, С, D имеют место следующие правила. (4) Если Г(= Л и Г|= Л Iэ В, то Г|=В (удаление импликацииУИ, или modus ponens, МР). (5) Если Г|= Л и Г|=В, то Г|=ЛДВ (введение конъюнкции, BKJ. (6) Если Г(=ЛДВ, то Г\=А (первое удаление конъюнкции, УК1). (7) Если Г(=ЛДВ, то Г(=В (второе удаление конъюнкции, УК2). (8) Если Г(=Л, то Г|=Л\/б (первое введение дизъюнкции, ВД1). (9) Если Г\= В, то Г^=А\/В (второе введение дизъюнкции, ВД2). (10) Если ГН= “I “1Л, то Г|= Л (удаление двойного отрицания, УДО). (11) Если Г(=Л и Г|= ПЛ, то Г[=В (слабое удаление отрицания, СУО). (12) Если T\=AzdB и Г^ВгэЛ, то Г[=Л~В (введение эквиваленции, ВЭ). (13) Если ГН=Л~В, то Г[=Л=)В (первое удаление эквиваленции, УЭ1). (14) Если Г[=Л~В, то Г(=В=эЛ (второе удаление эквиваленции, УЭ2). (15) Если Г(=1(ЛДВ), то Г|=“1Л\/~1£ (удаление отрицания конъюнкции, УОК). (16) Если Г(=П(Л\/5), то Г(="1ЛДПВ (удаление отрицания дизъюнкции, УОД). (17) Если Г(== ~1(Л и> В), то Г|=ЛЛ“1В (удаление отрицания импликации, УОИ). (18) Если ГН "К Л - В), то ГН (Л V В)Д П(Л Д В) (удаление отрицания эквиваленции, УОЭ). 30
(19) Если Y\=AidB и Г|=В=эС, то TH^zdC (силлогизм, С). (20) Если Г(= A =э В, то Г\= IB id ~\А (контрапози- ция, К). (21) Если Г|= "1В и ГНЛ=эВ, то Г\= 1А (modus tollens, МТ). (22) Если Г|=Л\/£ и Г\= 1Л, то Г|=В (дизъюнктивный силлогизм, ДС). (23) Если Г[= A id (В id С), то F\=A/\BidC (соединение посылок, СП). (24) Если.Г(=>4 Л В id С, то Гf= Л zd (В id С) (разъединение посылок, РП). (25) Если ГН= A id (В id С), то Г[=5=э(Л=эС) (перемена посылок, ПП). (26) Если ГI>C=)D, Г|=Л\/С, то Ff=S\/£ (конструктивная дилемма, КД). (27) Если ГНЛ=э£, Г|=СзО, 1>ПВ\/1Д то Г[= ПЛ V (деструктивная дилемма, ДД). Доказательство правил Генцена можно провести разными методами. Покажем их на примере правила МТ: (21) Если Г|= “IB и 1>Л=эВ, то ГЬ ПЛ. ► По условию правила Г|= IB (1) и ГНЛ:=>В (2). Но 1 В, Л =э Bf= ПЛ (3). Тогда, по предложению 1.11, б из (1), (2) и (3), получим Гf= ПЛ. Следование же (3) можно доказать, например, установлением общезначимости формулы ~\В zd ((Л id В) id ПЛ) (или 1£Д(Л1эВ)=э id 1А) и применением после этого предложения 1.10 и следствия из него, или же используя метод от противного. Пусть следование (3) места не имеет. Тогда должен существовать набор значений атомов, входящих хотя бы в одну из формул Л или В, при котором выполняется но условие ИэЛ = И противоречит определению импликации. Значит, допущение неверно, а следовательно, само следование (3) верно. ^ ► Применим метод от противного сразу к утверждению (21). Пусть Г|=1£ (1), 1>Л=э£ (2), но Г>“1Л (3). Тогда должен существовать хотя бы один набор значений атомов формул множества Г (J {Л, В}, при котором все формулы множества Г имеют значение И, а 1А — Л, значит, А = И. Поэтому из условия (2) В = И, а значит, ~1В = Л. Следовательно, Г^ПВ, что противоречит условию (1). М система откуда (Л, В) = (И, Л), И =э л = и, 31
Правила заключения Генцена, как и общезначимые формулы, выражают законы логики. В то же время эти правила более естественно, чем общезначимые формулы, отражают способы наших рассуждений. 1.1.17. Применения языка алгебры высказываний Запись предложений естественного языка. Предложения естественного языка имеют самое различное строение. Во многих из них можно выделить такие компоненты, которые сами являются предложениями. Эти более простые предложения соединены в сложное с помощью союзов и знаков препинания. В устной речи последние передаются интонацией. Языку свойствен большой набор союзов-связок, каждая из которых имеет свой оттенок. В логике эти оттенки игнорируются и все многообразие языковых средств связывания простых предложений в сложное передается небольшим набором логических операций. Проиллюстрируем сказанное примерами. Пример 1.10. Выявить логическую структуру предложения: «Он кончил, а я стоял и все слушал» (Салтыков-Щедрин М. Е. Собр. соч.: В 10 т.— М.: Правда, 1988.— Т. 3.— С. 123). ► Обозначаем элементарные высказывания (простые предложения) прописными буквами латинского алфавита. Обозначения: Р — он кончил; Q — я стоял; R — я все слушал. Структура предложения: PAQAi?. В первом случае конъюнкция в предложении выражена запятой в сочетании с союзом «а», во втором — союзом «и». И хотя с точки зрения логики обе связи конъюнктивные, смысловые оттенки этих связей различны: союз «а» в данном предложении имеет значение сопоставления явлений, союз же «и» имеет здесь нейтральное соеди- нительно-перечислительное значение. Кроме этого, следует отметить, что интонационно анализируемому предложению ближе такая формула PAiQAR), хотя в логике последняя формула равносильна формуле {PAQ)AR, поэтому мы и пишем многочленные конъюнкции без скобок. 4 Пример 1.11. Какова логическая структура предложения «Так как любое число х можно записать в виде х = 2л/г -f и, где 0 ^ и С 2л, neZ, то нахождение значений sin х и cos х сводится к нахождению значений функций sin и cos от аргумента и, лежащего в пределах 0< и С 2л»1? ► Обозначения: Р — любое число х можно записать в виде х = 2 ntiи\ Q — 0 <и; R — 0 = и; S — и С 2л; Т—«eZ; V — нахождение значения sin х сводится к нахождению значения sin 1 Алгебра и начала анализа//Учеб. пособие для 9 и 10 классов средней школы/Под ред. А. Н. Колмогорова.— М.: Просвещение, 1985.—С. 125. 32
от аргумента и\ W — нахождение значения cos х сводится к нахождению значения cos от аргумента и. Структура предложения: Р A(Q \JR)/\S/\ Т zd V/\ W Д A(QVR)AS. Хотя с точки зрения логики анализируемое предложение есть импликация Л zd В, однако, кроме этой связи, в предложении содержится и дополнительная информация: в истинной импликации A zd В заложено только то, что если А истинно, то и В непременно истинно, но в то же время ничего не утверждается о том, каково А на самом деле. Наше же предложение, как и любое предложение вида «Так как А, то В»у кроме того, что передано импликацией A zd В, содержит еще и информацию об истинности А. Такие информационные потери неизбежны при формализации, зато они компенсируются тем, что в результате формализации становится возможным применение аппарата логики к анализу предложений, рассуждений, доказательств. 4 Пример 1.12. Выясним, какова логическая структура предложения: «...Функция, заданная формулой у — cos л: на отрезке [0; л], имеет обратную функцию»1. ► Структура этого предложения видна не сразу. В нем утверждается, что функция имеет обратную функцию (R), но при условиях: «Функция задана формулой у = cos х» (Р) и «Функция рассматривается на отрезке (0; л]» (Q). Иными словами, данное предложение равносильно следующему: «Если функция задана формулой у = cos х и рассматривается на отрезке [0; л], то она имеет обратную функцию», в котором логические связи легко усматриваются: PAQ^>R- 4 Анализ рассуждений средствами алгебры высказываний. Он состоит из двух частей: а) выявления структуры рассуждения, т. е. того следования, которое лежит в основе рассуждения; б) установления того, верно ли следование, полученное в результате выполнения пункта а). Если полученное следование верно, то исходное рассуждение правильное, если же следование неверно, то рассуждение неправильное. Проиллюстрируем описанную схему на двух примерах. Пример 1.13. Проанализировать рассуждение: «Если десятичная запись данного целого числа оканчивается цифрой 5, то оно делится на 5; десятичная запись данного целого числа оканчивается цифрой 5, значит, данное целое число делится на 5». ► а) Вводим обозначения для элементарных высказываний, содержащихся в данном рассуждении. Обозначения: Р — десятичная запись данного целого числа оканчивается цифрой 5; Q — данное целое число делится на 5. Структура р а с с у ж д е н и я: Р zd Q, Р\= Q. б) Устанавливаем теперь справедливость полученного следования. Оно действительно верно в силу правила (4) предложения 1.13 (см. также пример 1.8). Значит, исходное рассуждение правильное. 4 Пример 1.14. Проанализировать рассуждение: «Если десятичная запись данного целого числа оканчивается цифрой 0, то оно делится 1 Алгебра и начала анализа /Учеб. пособие для 9 и 10 классов средней школы/Под ред. А. Н. Колмогорова.— М.: Просвещение, 1985.— С. 150. 2 Зак. 2997 33
MUB г на 10; десятичная запись данного целого числа не оканчивается цифрой 0, значит, оно не делится на 10». ► а) Обозначения: Р—десятичная запись данного целого числа оканчивается цифрой 0; Q — данное целое число делится на 10. Структура рассуждения: PidQ, ~\P\=~\Q. (1) б) Устанавливаем, верно ли следование (1). Допустим, что это не так, т. е. PzdQ, ПРИ 1Q (2). Тогда хотя бы при одном наборе значений атомов Р и Q должна выполняться система условий: PfQuii’ Р’ <?)=<Л, И), = п' откуда {л = иЛ. 1Q = Л, 1 Последняя система условий показывает, что требуемый набор действительно существует, т. е. утверждение (2) действительно имеет место, а поэтому следование (1) неверно. Итак, исходное рассуждение неправильное. <4 Первый этап анализа рассуждений — выявление их структуры — не всегда осуществляется так просто, как это было в приведенных примерах. Установление связей между логикой и языком достаточно сложная задача в силу того, что, во-первых, каждая из логических операций в естественном языке имеет многочисленные способы выражения и, во-вторых, слова и обороты «и», «или», «если — то» и др. не всегда выражают одну и ту же логическую операцию и могут использоваться не только для выражения логических операций. Анализ и синтез контактных и электронных схем. Обобщим понятие истинностной функции, введенное в п. 1.1.8. Будем называть переменную булевой, если она принимает два значения, которые обозначим символами 0 и 1, не связывая их обязательно с числами 0 и 1. Булевой функцией назовем двузначную функцию от двузначных аргументов, иными словами, п-местная булева функция — это отображение вида {0, 1}'г-Ц0, 1}. Основными булевыми функциями являются функции, определяемые следующим образом: р г 0, если Р— 1, рр__( 1, если Р = Q = 1, \ 1, если Р = 0, 1 Ов остальных случаях; PVQ = f 0 если P = Q = 0, • I 1 в остальных случаях. Если считать, что 0 — это JI, а 1 — И, то булева .функция становится истинностной функцией, а определенные три основные булевы функции — соответственно отрицанием, конъюнкцией и дизъюнкцией. Для упрощения записей мы изменили обозначения для отрицания 34
и конъюнкции. Введенные булевы функции будем называть так же, как и соответствующие им истинностные функции. _ Отнесение булевых функций Р, PQ, PVQ к основным оправдано тем, что этих трех функций достаточно для выражения любой булевой функции. Это можно доказать так же, как и для истинностных функций в п. 1.1.10. Истинностные функции не единственно возможная интерпретация булевых функций. Рассмотрим три важнейшие интерпретации булевых функций, которые представимы в виде табл. 1.12. Таблица 1.12 Буле¬ ва функ¬ ция Интерпретация булевых функций на языке ал¬ гебры выска¬ зыва¬ ний контактных схем электронных схем Л разомкнуто сигнал низкого напряжения замкнуто сигнал высокого напряжения 1Р инверсия контакта Р Р \г логическии элемент U- PQ PAQ последовательное соединение контактов логическии элемент PQ PVQ PWQ параллельное соединение контактов логическии элемент 2* 35
Рассмотрим теперь примеры анализа и синтеза контактных и электронных схем. Пример 1.15. Пусть в некотором конкурсе решается вопрос о допуске того или иного участника к следующему туру тремя членами жюри Р, Q и R. Решение положительно тогда и только тогда, когда хотя бы двое членов жюри высказались за допуск, причем среди них обязательно должен быть член жюри Р. ► Работу жюри можно охарактеризовать булевой функцией, заданной табл. 1.13. Таблица 1.13 /(/>, <?, R) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 По табл. 1Л3 составляем СДНФ булевой функции /(Р, Q, R) (см. п. 1.1.9): PQRVPQRVPQR. Полученной формуле соответствует контактная схема, представленная на рис. 1.1. Однако эту схему можно существенно упростить, Рис. 1.1 т. е. уменьшить число контактов в ней таким образом, чтобы новая схема работала так же, как и прежняя. Для этого вначале мы упрощаем СДНФ, соответствующую схеме на рис. 1.1. Имеем: PQR VPQR VPQR = P{QR\/QR\/ QR)= P((QR V QR) V(QRV QR)) = ^ P(R(Q v Q) V Q(R V R)) ^ P(R V Q). (Укажите, на основании каких равносильностей проведены преобразования в данном упрощении.) Формуле P(R\/Q) соответствует схема, представленная на рис. 1.2, которая гораздо проще исходной. <4
Пример 1.16. Рассмотрим теперь задачу синтеза логической схемы сумматора — главного компонента арифметического устройства ЭВМ. Сумматор выполняет сложение многозначных двоичных чисел. Он представляет собой последовательное соединение одноразрядных двоичных сумматоров, каждый из которых осуществляет сложение в одном разряде и перенос в старший разряд (рис. 1.3). Рис. 1.3 ► Одноразрядный сумматор есть устройство с тремя входами Pk, Qk, Тк~\ и двумя выходами Sk и Тк. Через входы Рк и Qk он воспринимает двоичные цифры — слагаемые в данном разряде, через вход Тк-1 — двоичную цифру — перенос из младшего к — 1-го разряда, на выход Sk сумматор выдает сумму в данном разряде, на выход Тк— перенос в старший k1-й разряд. Для упрощения записей переобозначим входы Pk, Qk, Тk-\ переменными Р, Q, R, а выходы Тк и Sk — переменными Т и S. Так как входы Р, Q, R и выходы Т, S могут принимать только два значения — двоичные цифры 0 и 1, то выходы Т и S представляют собой булевы функции от входов Р, Q, R. Булевы функции Т(Р, Q, R) и S(P, Q, R) можно задать, пользуясь таблицей сложения в двоичной системе счисления (табл. 1.14). Таблица 1.14 Входы Выходы Р Q R Т S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Находим СДНФ для функций Т и S: Т = PQR V PQR V PQR V PQR\ S = PQR\/PQRV PQR V PQR- Для получения более экономной логической схемы преобразуем выражения для Т и S. Для этой цели в теории булевых функций разработаны специальные методы минимизации СДНФ и СКНФ. Мы используем для этих целей известные нам равносильности алгебры 37
высказываний: Т — PQR\J PQR\? PQR\/ PQR (22);(25),(35) pQft\j - (22),(25) ~~ _ VPQRV PQRV PQRV PQRV PQR = (PQRV PQR)V V(PQRVPQR)V(PQR\/PQR) QR(PV P)V PR(QVQ)V PQX- X(RVR) QRVPRVPQ ^ PQVPRVQR. s = PQRV PQR VPQRV PQR = PQR V (? V Q V R)(PVQV R)X X(PVQVtf). Обозначим формулу, стоящую под знаком отрицания, буквой Л, т. е. л = (PV QV R) {PVQV R) {PVQV R)- Преобразуем отдельно формулу Л. A ={PVQV R)(PVQVR)(PVQVR) = РРР VPPQ VPPR V V PQP V PQQ V PQR VPRPVPRQV PRR V QPP V QPQV QPRV V QQPV QQQV QQRV QRPV QRQV QRRV RPPV RPQV RPRV V /?QP VRQQVRQRVRRPV RRQ V = PQtf V PQR VPQV V PQV PQRV PQRVQRV P_RV PQRV PQRV PRV QRj=(PQV V PRV_QR)V(PQR\/ PQRV PQRV PQR)V PQR= TV TV PQR = = rv^Qfl- Возвращаясь к 5, имеем S = PQ/? V TV PQR = PQRV T(P V QV Д). Итак, T = PQVPRVQR, S = PQRVT(PVQVR)- По этим формулам получаем теперь схему одноразрядного двоичного сумматора на три входа, представленную на рис. 1.4. <4 38 Рис. 1.4
1.2. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ 1.2.1. Алфавит, формулы, система аксиомных схем и правило вывода теории L Будем использовать тот же алфавит и то же определение формулы, которые даны в алгебре высказываний. Однако теперь буквам алфавита мы не будем, как это сделано в п. 1.1.5, приписывать никакого смысла. Сейчас это просто символы, которые мы можем распознавать и различать. В алгебре высказываний мы описали класс общезначимых формул, выражающих законы логики, на основе понятия истинностного значения. Здесь же законы логики — множество доказуемых формул — будут описаны по-другому. Мы примем некоторые формулы в качестве «аксиом», а для получения новых формул введем некоторое «правило вывода». Позже мы покажем, что обе формулировки логики высказываний — алгебра высказываний и теория L — дают эквивалентные результаты. Определение 1.18. Аксиомами теории L назовем всякие формулы, которые порождают нижеследующие формульные схемы при любом выборе формул А, В, С: (1) A zd(BzdA). (2) (A zd В) id ((A id (В id С)) zd(Azd С)). (3) A ZD {В ID А Д В). (4) AABidA. (5) AABidB. (6) A zd A VB. (7) Bzd A VB. (8) (A ZD С) ZD ({В ZD С) ZD (А V В ZD С)). (9) {А =э£)=э((Л =эПВ):э“1Л). (10) “ПЛ=>Л. (11) (Л =э В) zd ({В id A) id (А ~ В)). (12) (Л ~ Я) =э (Л =э S). (13) (А~ B)zd(BidA). Каждая из схем (1) — (13) порождает счетное множество аксиом, если символы Л, В, С заменять конкретными формулами. Поэтому записи (1) — (13) будем называть аксиомными схемами (АС). В нашем списке аксиомных схем, который совпадает с первыми тринадцатью формульными схемами предложения 1.9, имеются аксиомные схемы для каждого из пяти логических операторов: “1, Д, V» ^ Аксиомные схемы (1) и (2) представляют собой аксиомы для оператора =э. Аксиомная схема (3) вводит оператор Д , а схемы (4) и (5) его удаляют. Схемы (6) и (7) вводят оператор V, схема (8) его удаляет (см. еще пояснения к правилу (2) пункта 1.1.16). Схема (9) служит для 39
введения оператора ~1, схема (10) удаляет оператор "1. Наконец, схема (11) вводит оператор ~, схемы (12) и (13) этот оператор удаляют. Определение 1.19. Правилом вывода теории L называют процедуру перехода от двух формул вида А и A id В к одной формуле вида В для любых А и В. Это правило называют modus ponens, МР. Правило МР позволяет удалять оператор =э, поэтому его называют также правилом удаления импликации и обозначают УИ. В случае применения правила МР формулы А и A zd В называют посылками, а В — заключением этого правила. 1.2.2. Формальное доказательство и формальный вывод Определение 1.20. Формальным доказательством (в теории L) называется конечная последовательность формул В\, ..., Bk, причем каждая формула этой последовательности либо аксиома, либо получена по правилу МР из каких-либо двух предшествующих формул этой последовательности. Формальное доказательство является доказательством своей последней формулы Bk. Формула В называется формально доказуемой, или формальной теоремой (теории L), если она имеет формальное доказательство. Утверждение «Формула В формально доказуема в теории L» будем обозначать |— условимся также опускать до появления других формальных теорий индекс L и говорить вместо «формальное доказательство», «формально доказуема», «формальная теорема» — «доказательство», «доказуема», «теорема». Пример 1.17. Установить, что |—Л=>Л. ^ Чтобы установить доказуемость формулы ЛzэЛ, надо, согласно определению 1.20, выписать конечную последовательность формул, заканчивающуюся формулой A id А, причем в этой последовательности могут быть либо аксиомы, либо формулы, полученные из некоторых двух предшествующих формул этой последовательности по правилу МР. Понятно, что первые две формулы этой последовательности могут быть только аксиомами, причем одна из этих аксиом должна заканчиваться формулой Л=эЛ. Можно АС2 закончить такой формулой, взяв в качестве формулы С формулу А: (А => В) =) ((A id (В id А)) =э (A id А)). Но теперь, чтобы из этой формулы получить, применяя МР, формулу A id А, нужно в импликации Ф1 zd (Ф2 id (A id Л), где Ф| обозначает формулу A id Bf а Ф2 — формулу Л:z>(£zэЛ), сначала «удалить» Ф1, а затем Ф2. Для удаления Ф1 нужно иметь Ф1 в нашей последовательности, а на роль Ф1 может претендовать только аксиома. Сопо¬ 40
ставление <Di с АС1 позволяет обнаружить нужную замену В на В и А. Тогда получим: (Л =) (В =э A)) и> {(А =) ((В id A) id Л)) id (Л id Л)). При записи доказательства условимся для удобства располагать формулы столбиком и помещать справа (тоже столбиком) метаязы- ковые пояснения-обоснования включения данной формулы в доказательство. Итак, имеем: В правом столбце пояснение АС2£ д=эЛ означает, что записана АС2, в которой формула С заменена формулой Л, а формула В — формулой Б=)Л, пояснение же МР(2, 1), означает, что формула получена в результате применения правила МР к формулам с номерами 2 и 1. Другие пояснения истолковываются подобным образом. По поводу выписанного доказательства следует заметить, что фактически приведено доказательство не конкретной формулы, а целого класса формул вида Л id Л, так как в этом доказательстве Л и В означают любые формулы. Следует также сказать, что в приведенном доказательстве каждая из пяти формул является теоремой, в том числе и выписанные первые две аксиомы: доказательство любой аксиомы состоит из этой аксиомы. ^ Обобщим теперь понятие формального доказательства на случай вывода некоторой формулы В из других формул А\, Ап, называемых посылками (гипотезами). Определение 1.21. Формальным выводом формулы В из посылок А1, Ап называется конечная последовательность формул В1, Bk, заканчивающаяся формулой B(Bk = В), причем каждая формула этой последовательности или одна из посылок А\у ..., Ап, или аксиома, или формула, полученная из некоторых двух предшествующих формул этой последовательности по правилу МР. Если существует формальный вывод формулы В из формул А и ..., Ап, то формула В называется формально выводимой из формул А\, ..., Ап и это обозначается так: А\у ..., Ап\-В, или Г[— Ву где Г = {Л1, Ап}. Очевидно, что доказательство — частный случай формального вывода из пустого множества посылок. В дальнейшем вместо «формальный вывод», «формально выводима» будем говорить просто «вывод», «выводима». В определениях 1.20 и 1.21 употреблялись термины «формальное доказательство», «формально доказуема», 1. (Л => Л))=э((Л ID 2. АС1 3. МР(2, 1) 4. АС1 ВВ^Л 5. МР(4,3). =3 ((В ID Л) =) A)) ID (Л ZD Л)) 2. Л ID (В ID Л) 3. (Л ID ((В ID Л) ID Л)) =D (Л ID Л) 4. Л =? ((Я ID Л) :э Л) 5. Л id Л 41
«формальный вывод», «формально выводима» для явного указания на то, что эти доказательства и выводы строятся в предметном языке. Используемые слева от доказательства или вывода нумерация и справа от доказательства или вывода пояснения уже относятся к метаязыку. Рассмотрим пример формального вывода. Пример 1.18. Установить, что A zd (В =э С), А/\В\-С. ► Используя посылку А/\В и АС4, АС5, можно по МР получить формулы А и В, а затем из них и посылки A zd (В zd С) по МР получить С. Запишем подробно формальный вывод с пояснениями на метаязыке: 1. А (В id С) 1. посылка 2. А/\В 2. посылка 3. А/\ В zd А 3. АС 4 4. А 4. МР(2,3) 5. А /\ В id В 5. АС 5 6. В 6. МР(2, 5) 7. С 7. МР(4, 1) 8. С 8. МР(6, 7) 9. A id (В id С), ЛАДЬС 9- ОФВ (1—8). В приведенной последовательности записей 1—9 подпоследовательность 1—8 есть формальный вывод формулы С из формул A id (В id С) и А А В, что и отражает подытоживающая запись 9, которую можно сделать на основе определения формального вывода (ОФВ), примененного к последовательности формул 1—8. Запись 9 сделана на метаязыке. 1.2.3. Свойства отношения выводимости В определениях 1.20 и 1.21 нами на метаязыке введены объекты предметного языка «доказательство» и «вывод» и на их основе свойство доказуемости формул и отношение выводимости между формулами. Применение этих понятий непосредственно на основе их определений связано со значительными трудностями, которых можно избежать, сформулировав и доказав на метаязыке важнейшие свойства доказуемости и выводимости. Метатеорема 1 (МТ1). а) А\, • ••> An\-Ai(i = \у ..., п). б) Если А1, ..., Ап \—В\, ..., Ль ..., Ап \-Bk и В\у ..., Bk \~ f—С, то А\, ..., Ап\~С. Другими словами, из данного множества посылок выводима каждая из посылок этого множества, и если из данного множества посылок выводима каждая из формул некоторого другого множества, а из этого другого множества посылок выводима некоторая формула С, то она выводима и из первоначального множества посылок. 42
^ а) Для построения вывода формулы Л,- из формул Ль ..., Ап достаточно записать последовательно все формулы Л1, Л л (в произвольном порядке), поместив последней формулу Л/. б) Заменив в данном выводе формулы С из формул .81, ..., Bk формулы В1, ..., Bk их данными выводами из формул ЛI, ..., Лл, получим вывод формулы С из формул Л1, ..., Ля. ^ Таким образом, согласно МТ1, класс формул, выводимых из формул Л1, ..., Л л, содержит каждую из формул Ль Л л, а также все формулы, выводимые из формул, уже принадлежащих этому классу. МТ1 играет важную роль в обоснованиях существования доказательств и выводов (см. п. 1.2.6, 1.2.9). В алгебре высказываний были введены два важнейших понятия — общезначимости и логического следования. В исчислении высказываний (в форме теории L) подобную роль играют понятия доказуемости и выводимости. Для лучшего понимания дальнейшего напомним смысл этих четырех понятий (для простейшего случая): (1) |= ЛzDB означает, что формула Л zd В общезначима, т. е., что при всех наборах значений атомов, входящих хотя бы в одну из формул Л или В, формула Л zd В принимает только значение И. (2) Л(== В означает, что из формулы Л следует формула В, т. е что при всех наборах значений атомов, входящих хотя бы в одну из формул Л или В, при которых формула Л имеет значение И, формула В также имеет значение И. (3) \-А zd В означает, что формула Л zd В доказуема, т. е. что существует конечная последовательность формул, заканчивающаяся формулой Л zd В, причем каждая формула этой последовательности либо аксиома, либо получена из некоторых двух предшествующих формул последовательности по правилу МР. (4) Л |—В означает, что из формулы Л выводима формула В, т. е. существует конечная последовательность формул, заканчивающаяся формулой В, причем каждая формула этой последовательности либо формула Л, либо аксиома, либо получена из некоторых двух предшествующих формул последовательности по правилу МР. Утверждения (1) — (4) связаны между собой. Так, предложением 1.10 установлена связь между общезначимостью и следованием: \=AzdB тогда и только тогда, когда Л Н В. 43
Приведем метатеоремы, устанавливающие связь между доказуемостью и выводимостью, общезначимостью и доказуемостью. Метатеорема 2 (МТ2). Пусть Г — любое множество формул. Тогда: а) если Т\-А=>В, то Г, А\-В. В частности, б) если \-А zэВ, то А [-£. ^ Данный по условию вывод формулы Aid В из множества формул Г можно следующим образом достроить до вывода формулы В из множества формул Ги{Л}: 1. 1. Жданный, согласно условию МТ2, вывод > формулы A id В из формул множества Г, k. Aid В k. ) являющийся также выводом формулы А :=> В из формул множества Ги{Л} 6+ 1. A k-\- 1. посылка вывода, который строится k + 2. В k + 2. MP(k+ 1, k) k + З. ТА\~В k + З. ОФВ(1 -(6 + 2)). А Следствия, а) Если \-Ai id (... =э (Ап-\ id (An B))...\ to A i, ..., An |— B. б) Если \-A\/\.../\Ап^ Ву то A\, ..., An\-B (ассоциативность конъюнкции в исчислении высказываний будет доказана в п. 1.2.6, МТ6). ► а) Доказывается /г-кратным применением МТ2. б) По МТ2 из условия следствия \-А\ Д ...ДЛП zd В получим А\/\.../\Ап\-В. (1.4) Покажем теперь, что Аи АпЫ\Л-ЛАп. (1.5) Имеет место следующее правило введения конъюнкции: Л, В\-А/\В, которое обозначим ВК. Действительно, 1. Л 1. посылка 2. В 2. посылка 3. Л zd(B=d А/\В) 3. АСЗ 4. BidAAB 4. МР( 1, 3) 5. ЛДВ 5. МР(2, 4) 6. Л, В\-АЛВ 6. ОФВ(1 -5). Применяя теперь МТ1 и правило ВК, получаем (1.5), что показывают следующие 3п — 2 утверждения: 1. Л,, ..., AnY-An 1. МТ1а 2. Л1, ..., Ап |—Ап— 1 2. JVlTla. 44
3. An-и Ап\—Ап — \/\Ап 3. BK 4. Л1, Ап\-Ап-\ЛАп 4. МТ1б(1, 2, 3) 5. Ль ..., Ап\-Ап-2 5. MTla 6. An—2y An — i A An |— An—2 A An— i /\An 6. BK 7. Au An\-An-2AAn-iAAn 7. MT16(4, 5, 6) 3/2 — 5. Ль Л„|— 3/2 — 5. МТ1б(3/г— 8, |—A2A'--A An 3n— 3n— 3/2 —4. Ль ЛяMi 3/г — 4. MTla 3/z — 3. Ль ЛгЛ-АЛя!— 3n — 3. BK I—Л1А Л2Л ••• A An 3/1 — 2. Ль An\- Зм — 2. МТ1б(3/г — 5, А{/\-ЛАп 3/2 — 4, 3/2 — 3). Теперь из (1.5) и (1.4) по МТ16 получим Ль •••, Ап \~В. ^ Докажем теперь обращение МТ2. Метатеорема 3 (МТЗ), теорема дедукции (ТД), правило введения импликации (ВИ). Пусть Г — любое множество формул. Тогда: а) если Г, Л \~ВУ то Г |—Л zd В. В частности, б) если А |— В, то \-AzdB. ^ По условию МТЗ существует вывод Ви Bm(Bm = B) (1.6) формулы В из множества формул Ги{Л} (данный вывод). Требуется доказать существование вывода Си Ск(Ск = А=эВ) (1.7) формулы Л zd В из формул множества Г (результирующий вывод). Между выводами (1.6) и (1.7) два различия: 1) вывод (1.6) заканчивается формулой В, а вывод (1.7) — формулой AzdB\2) в выводе (1.6) можно использовать посылку Л, в выводе (1.7) такой посылки нет. Существует алгоритм превращения данного вывода (1.6) в результирующий (1.7), который мы и опишем. Вначале перед каждой формулой данного вывода (1.6) припишем слово «Л id». Тогда получим последовательность формул A ZD В\, A ZD Вт, (1.8) заканчивающуюся нужной формулой AzdB (по условию Вт — В)у но, вообще говоря, не являющуюся выводом из множества формул Г. Однако можно перед каждой формулой A^> Bi(i— 1, ..., т) вставить дополнительные 45
формулы так, чтобы превратить последовательность формул (1.8) в результирующий вывод (1.7) из формул множества Г. Выбор дополнительных формул зависит от того, с каким обоснованием формула В/ входит в данный вывод (1.6). Возможны четыре типа таких обоснований: 1) В,-— посылка множества Г; 2) В/ — посылка А; 3) Bi — аксиома; 4) В/ — формула, полученная из Вр и Bq(p, q </) по МР. Рассмотрим каждый из этих случаев. 1) Пусть Bi = Aj и е Г. В этом случае В/ является посылкой не только в данном выводе (1.6), но и в результирующем выводе (1.7). Тогда перед формулой AzdAj последовательности (1.8) вставим две формулы Aj и Aj id (A id Af), из которых A id А-} получается по правилу МР: I. Aj I. посылка 2) Пусть В/ = А. Тогда В* — посылка в данном выводе (1.6), но не является таковой в результирующем выводе (1.7). В последовательности (1.8) в этом случае будет стоять формула A id А, которая является доказуемой (см. пример 1.17). Поэтому перед Aid А вставляем первые четыре формулы из ее доказательства. 3) Пусть Bi — аксиома. Тогда поступаем, как и в случае 1. 4) Пусть В/ — формула, полученная по МР из формул Вр и Вд(р, q </) последовательности (1.6). Тогда Bq должна иметь вид BpzdB[ (или Вр имеет вид BqiD Bi). Итак, Bi получена из Вр и Bpid Bt по МР. В последовательности (1.8) в таком случае будут формулы AzdBp и A id (Вр id Bi) с некоторыми номерами 5 и t(s, t < /), и нужно обосновать включение в вывод (1.7) формулы A zdB/. Но формулы Л Вр, A id (Вр id Bi) и A zd Bi являются частями трехчленной импликации, являющейся АС2. Таким образом, перед Лгэ'В/ в данном случае необходимо вставить две формулы с номерами v и у-4- 1: 5. A id Вр s. l+l. Aj id (A id Aj) 1 + 2. A id Aj л-1. AC1 ts 1 + 2. MP(l, 1 + 1). t. A zd (Bp zd Bi) t, v. (A zd Bp) zd ((A zd (Bp zd В,)) zd v. AC2 BB"'CB‘ ZD (A ZD Bi)) 46
w+1. (A-=3(Bp=>Bi))^i(A=>B,) w+l. MP(s, v) v-\-2. A zd Bi v + 2. MP(t, v + !)• Л Пример 1.19. Проиллюстрировать алгоритм, описанный в доказательстве теоремы дедукции, преобразуя вывод A id (В id С), А/\В\-С в вывод A id (В id С) \-А Д В id С (см. пример 1.18). ^ Ниже в левом столбце приводится данный вывод A id (В id С), Af\B\-C (1.6), в правом — результирующий вывод A zd (В zd С) Ь \-А /\В id С (1.7): 1. Л=>(В=>С) 1. A Z3(B=>C) 1. посылка „ Л „ 1. посылка 2. {А :э (В ю С)) гэ (А Д В гэ 2. АС1 => 'й => (А => (В => С))) 3. ЛДВэМэ(ВэС)) 3. МЯ(1, 2) 4. (ЛДВ=>(В=>ЛДВ))Г) 4. АС2^?Л ■ g=^A«. £ЛВ гэ((ЛДВ=>((В=)ЛЛВ)=з оЛДВ))эИЛВэЛЛВ)) 5. ЛДВ=з(В=.ЛДВ) 5. АС1 йл 6. (Л Д В =Э ((Я ZD А Д В) ZD 6. МР(Ь, 4) => А Д В)) => (Л Д В => л л В) 7. ЛДВ=)((В=>ЛАВ)=) 7. АС 1 А ^:=>А/^В =>ЛАВ) 2. ЛДЯ 8. ЛДВгзЛАВ 8. МР{7, 6) 2. посылка 9. А /\ В id А 9. АС4 10. (ЛДЯ:эЛ):э(ЛЛЯ:э 10. АС1 1лв' = л э(ЛДВзЛ)) 3. АД£:эЛ 11. A/\Bid(AABidA) 11. МР(9, 10) 3. АС4 12. (А А В id А А В) zd 12. ДГ9 А А В, А А В, А А, В, С id ((А А В id (А А В zd A)) zd id(AABzdA)) 13. (Л А В zd(A А В zd Л)) id 13: МР( 8, 12) id (А А В zd А) 4. А 14. AABzdA 14. МР( 11, 13) 4. МР(2, 3) 15. 15. 16. 16. 5. А/\ В id В 17. AABz>(AABzdB) 17. МЯ(15, 16) 5. АС5 18. 18. 19. 19. 6. В 20. AABidB 20. Л*Р(17, 19) 6. МР(2, 5) 21. 21. 22. 22. 7. Bid С 23. Л ДВ =>(£=> С) 23. МР(3, 22) 7. МЯ(4,1) 24. 24. 25. 25. 8. С 26. AABzdC 26. Л4Я(23, 25) 8. МР(6, 7) 9. А=>(В=>С), 27. Л=>(В:зС)Ь4ЛВ=>С 27. ОФВ (1—26). ллвьс 9. ОФВ (1—8) Применяя теперь описанный алгоритм к выводу 1—26, получаем доказательство 1—80 формулы (A zd (В id С)) =э (А Д В г> С). <4 47
Как показывает пример 1.19, применение метода преобразования вывода Г, A f-В в вывод Г [-A =э В, описанного в доказательстве МТЗ, приводит к «разбуханию» результирующего вывода: если данный вывод содержит k формул, то результирующий вывод — 36 + 2 формул. Это, однако, не означает, что не существуют и более «экономные» выводы. Например, формулы 12 и 13, а также 18 и 19, обосновывающие включение в результирующий вывод формул А Д В id А и A/\BzdB соответственно, можно и опустить, так как они являются аксиомами. Но для нас в данный момент важно то, что описанный алгоритм дает эффективное доказательство теоремы дедукции, а она сама позволяет эффективно устанавливать существование выводов и доказательств. Например, нам неважно иметь содержащее 161 формулу доказательство формулы (A id (В id С)) id (В id (Aid С)), которое получается трехкратным применением описанного алгоритма к выводу Aid (Bid С), Ву А |— С, важно только знать, что эта формула доказуема. Установить же доказуемость формулы (A id (В id С)) id (Bid (A id С)), пользуясь результатом МТЗ, несложно. Пример 1.20. Установить, что [-(Л zd (В id С)) id (В id (A id С)). ► После знака f- стоит импликация, т. е. требуется ввести импликацию (A id (В id С)) zd (В id (A id С)). Можно воспользоваться теоремой дедукции, но для этого надо установить выводимость A^(BidC)\- \-В id {A id С). Опять после знака (- стоит импликация В id (A id С). Чтобы ее вывести из посылки А =э (В id С), надо, добавив к этой посылке новую посылку В, вывести A id С, т. е. установить выводимость A id (В id С), В f—A id С. Наконец, чтобы из посылок A id (В id С) и В вывести Aid С, надо установить выводимость A zd (В id С), В, А |— С. Построение же последнего вывода не вызывает затруднений. Итак, исходя из вывода A id (В id С), В, А\- С и трижды применяя теорему дедукции, мы устанавливаем существование доказательства формулы (A id (В id С)) zd (В zd (A id С)). Проведенный поиск установления существования доказательства формулы (A id (В id С)) zd id (В id (A id С)) проиллюстрирован на схеме (с. 49). Теперь существование доказательства формулы (A id (В id С)) id id (В id (A id С)) проводим так: 1. A zd (В id С) 1. посылка 2. В 2. посылка 3. А 3. посылка 6. А =>(£=>С), В, А\-С 6. ОФВ(1—5) 7. Azd(BzdC), В \-А id С 7. ТД (6) 8. A zd (BzdC)\-Bid{A zd С) 8. ТД(7) 9.. \-(А =5 (В id С)) id (В zd (A zd С)) 9. ТД (8). В последовательности 1—9 подпоследовательность 1—5 есть вывод формулы С из формул A id (Bid С), В и А, что подытоживается 4. Bid С 5. С 4. МР(3, 1) 5.* МР(2, 4) 48
записью 6 на метаязыке. Последующие метаязыковые записи 7, 8, 9 — результат применения теоремы дедукции к предшествующему формальному выводу. Заменяя теперь в утверждении 9 А на В, а В на Л, что правомерно, так как А, В, С — произвольные формулы и, значит, А может быть формулой В, г В — формулой А, получаем утверждение 10. f-(£ => (A id С)) id (A id (В id С)). Затем устанавливается доказуемость формулы (A ID (В ID С)) - (В ZD (Л :э С)). 9. \-(А id (В id С)) zd (В :э (Л id С)) 10. \-(В id (Л zd С)) =) (А =) {В zd С)) \\.Н(А ID (В ID С)) ID (В ID (A ID С))) ZD 11. АС11 л=>(я=>с). В=И = С)) ID (((В ID (Л ID С)) ZD (Л ZD (£ ZD С))) ID ID ((Л ZD (В ID С)) - (В ID (A ID С))) 12. Н(Д=>(Л => С))=>(Л ZD (Я ID С))) => 12. МР(9, И) =5 ((Л => (В ID С)) ~(Bzd (A ZD С))) 13. Ь(Л => (Я =э С)) ~ (Д => (Л :э С)) 13. МР(\0, 12). Сделаем пояснения к последовательности утверждений 9—13. Утверждения 9 и 10 обоснованы выше. Утверждение И справедливо в силу того, что после знака записана аксиома. Справедливость утверждений 12 и 13 вытекает из следующего свойства правила МР: если 1-Л и |—Л id В, то \-В. Докажем это свойство. Пусть Л1, ..., Ak-1, Л и Ci, ..., Ci-1, A id В данные по условию доказательства формул Л и Л id В соответственно. Дописав после доказательства формулы Л доказательство формулы A id В, получим конечную последовательность формул А\, ..., Ak-1, Л, Сi, ..., C/_i, Aid В, которую можно дополнить формулой В, применив правило МР к формулам Л и Л id В. В результате получим конечную последовательность формул ЛI, ..., Л*-], Л, Ci, ..., C/_i, A id В, В, являющуюся доказательством формулы В, т. е. [-£. Таким образом, нами установлена доказуемость формулы, выражающей закон перемены посылок (см. формулу (47) предложения 1.9). 49
Можно установить доказуемость и всех остальных формул этого предложения, что, впрочем, будет сделано ниже при изучении связи между общезначимостью и доказуемостью (см. п. 1.2.7). <4 Следствия, а) Если Aь Ап-\, Ап\-В, то |—Л =э (...:=> :э(Лл-1 и>(Лп:э В))...). В частности, б) если Л1, Ап\-Вг to(-^i А---ДЛЛ =5 В. ► а) Получается n-кратным применением МТЗ. б) Для установления того, что \-А\ /\.../\Ап zd В, можно применить МТЗ, но перед этим надо установить выводимость А\ /\... /\An\-B. (1.9) По условию следствия, Ль Апу-В. (1.10) Пользуясь АС4 и АС5, можно установить, что 1. А\ /\.../\Ап\-А\ п. А1Д... Д Ап \-Ап- Теперь, применяя к этим утверждениям и утверждению (1.10) МТ16, получаем утверждение (1.9). <4 1.2.4. Непротиворечивость теории L Обобщая результаты МТ2 и МТЗ, можно утверждать, что |—Л =э В тогда и только тогда, когда А\-В. Тем самым установлена связь между доказуемостью и выводимостью. Следствия из МТ2 и МТЗ связывают понятия доказуемости и выводимости для случая более чем одной посылки. Перейдем теперь к доказательству утверждения: \~Е тогда и только тогда, когда (=£ для любой формулы Е. Здесь мы докажем, что если \-Е, то )=f, а в п. 1.2.6 обратное этому, т. е. если f= £, то (—В. Определение 1.22. Формальная аксиоматическая теория называется (просто) непротиворечивой, если ни для какой формулы А формулы А и "1Л не являются обе доказуемыми в ней. Формальная аксиоматическая теория называется (просто) противоречивой, если существует формула А, для которой одновременно А и ~\А доказуемы в этой теории. 50
Определение 1.22 использует понятия отрицания, формулы и доказуемой формулы, которые имеют строгие метаматематические определения. Поэтому оно само является строгим метаматематическим определением и исследование формальной аксиоматической теории на непротиворечивость становится точной метаматематической проблемой. Метатеорема 4 (МТ4). Если \-Е, то \= Е для любой формулы Е. ^ Аксиомы теории L — это первые 13 формул предложения 1.9, и, согласно этому предложению, они общезначимы. В соответствии с предложением 1.6, если общезначимы посылки А и A id В правила МР, то и заключение этого правила В также общезначимо, т. е. применение правила МР к общезначимым формулам дает общезначимую формулу. По условию МТ4 формула Е доказуема, т. е. она заканчивает конечную последовательность формул, являющихся или аксиомами, или формулами, полученными по правилу МР из некоторых двух предшествующих формул. Но все такие формулы по вышесказанному общезначимы, значит, общезначима и последняя формула Е. А Следствие. Теория L непротиворечива. ► Допустим, что теория L противоречива. Тогда, согласно определению 1.22, существует формула Л, такая, что |— iy4 и f-L~lЛ, и по МТ4(=Л и Н=ПЛ, что противоречит предложению 1.8. А 1.2.5. Правила введения и удаления логических операторов Доказательство обращения МТ4 является более сложной задачей по сравнению с доказательством МТ4, и для его осуществления требуется дальнейшее развитие теории L. Результаты, которые будут получены, представляют интерес и сами по себе, и с точки зрения приложений исчисления высказываний. До сих пор мы пользовались только двумя правилами при установлении существования доказательств и выводов. Это — исходное правило МР, позволяющее удалять импликацию, поэтому мы будем его называть еще и правилом удаления импликации (УИ), а также теорема дедукции (ТД), позволяющая вводить импликацию, поэтому теорему дедукции будем называть и правилом введения импликации (ВИ). Установим 51
теперь правила введения и удаления и для других логических операторов. В МТБ будут указаны все эти правила. Метатеорема 5 (МТ5). Для любого конечного множества формул Г и для любых формул А, В, С справедливы правила (введения и удаления), записанные в табл. 1.15. Таблица 1.15 Введение Удаление Л V 12 Если Г, А\- В, то Г h A zd В А, В b лдв ЛЬ A\JB В Ь А\/В Если Г, А (- В и Г, А\- ~\В, то Г (- 1А Aid В, В^А\- А~В тд, ви вк ВД1 ВД2 RA, ВО ВЭ A, A fib В АЛВ[-А АЛВ\-В Если Г, А |-С и Г, В Ь С, то Г, A\JВ \—С ~ПА \-А А, 1А1-В ' В \-А id В ’ В \-BidA мр, У If УК1 УК2 УД УДО СУО УЭ1 УЭ2 Самый левый столбец табл. 1.15 содержит символ оператора, правила которого формулируются в данной строке. В столбце слева от записанного правила стоит условный номер правила, а в столбце справа от правила — краткие его обозначения. Пояснения обозначений и некоторые комментарии к правилам будут даны после доказательства МТБ. ^ Правило (1) для введения импликации доказано, как МТЗ. Правило (2) для удаления импликации является исходным правилом теории L и поэтому не доказывается. Правила (3) — (7), (10), (12) — (14) обосновываются с использованием соответствующей АС и МР. В качестве образца можно рассматривать доказательство правила ВК (с. 44). Докажем остальные правила. (8) Если Г, А\-С и Г, В\-Су то Г, А\/В\-С (УД). Доказательство правила УД представляет собой последовательность следующих шести утверждений: 1. Г, А\-С 1. условие правила 2. Г, В\-С . 2. условие правила 3. Г\—А id С 3. ВИ(1) 4. T\-BzdC 4. ВИ(2) 5. A id С, В id С, А V В \-С 5. см. ниже 52
6. Г, A v в 1-С Обоснование утверждения 5: Г. А=> С 2'. В=>С 3'. АУВ 4'. (А =>С)=>((В=>С) 5'. (В =э С) id (А\/ В ~ 6'. А\/Bzd С Т. С 6. см. ниже. 1'. 2'. 3'. э(А\/В=> С)) 4'. С) 5'. 6'. Т. посылка посылка посылка АС8 МР(У, 4') МР(2', 5') МР(3\ 6') 5. (8'). А гэ С, В => С, А \/В\-С 8. ОФВ(Г — 7'). Обоснование утверждения 6: Г. Г, А\/В\-Е, где £еГ 2'. ГЬ4=>С 3'. 4'. Г, ЛХ/ВМ Г Ь#=> С 5'. Г, Л \/В\-В=> С 6'. Г, /1VBMVS А =з С,В=) С, Л VBf-C 7'. Г. MTla 2'. пункт 3 основного доказательства 3'. МТ1б(Г, 2') 4'. пункт 4 основного доказательства 5'. МТ1б(Г, 4') 6'. MTla 7'. пункт 5 основного доказательства Г, А V В h С 8'. MT 16(3', 5', 6', 7'). М Если Г, А \-В и Г, Л^ПВ, то rj-ПЛ (RA, ВО). Правило ВО доказывается следующей последовательностью утверждений: 1. Г, А \-В 2. Г, А\-~\В Г гм=>пв А => В, А => 1В (- 1А Г \-1А Обоснование утверждения 5: Г. А =>В 2'. Л ~Ш 3'. (А гз В) zd ((А =э 1В) г> ПЛ) 4'. (A id 1В) г> 1А 5'. 1А 8'. (9) 3. 4. 5. 6. 1. условие правила 2. условие правила 3. ТД (1) 4. ТД (2) 5. см. ниже 6. МТ1б(3, 4, 5). Г. посылка 2'. посылка 3'. АС9 4'. МР(У, 3') 5'. МР{2\ 4') 5. (6'). А =з В, A zd IB Ь ПЛ (11) A, lAhB (СУО). 6'. ОФВ(1' — 5'). 53
Правило СУО доказывает следующая последовательность утверждений: 1. Л, ПДПВМ !• МТ1а 2. Л, ПЛ, ПВ|-"1Л 2. MTla 3. Л, 1Л МНЯ 3. ВО(1, 2) 4. "ЛВЬЯ 4. УДО 5. Л, ИЛЬЯ 5. МТ16 (3, 4). <4 Теперь выскажем некоторые пояснения и комментарии к доказанным правилам. Обозначения правил построены по такому принципу: первая буква показывает на введение (В) или удаление (У), вторая буква — на сам оператор: О — отрицание "1, К — конъюнкцию Д, Д — дизъюнкцию V, И — импликацию =э, Э — эквива- ленцию Если имеются два однотипных правила, они содержат в обозначениях третьим символом цифру 1 или 2. Доказанные правила описывают широко используемые способы рассуждений. Об использовании правил ВИ, УД, ВО сказано в п. 1.1.16. Вообще говоря, речь там шла о правилах следования Лi, ..., Ап\=В. Здесь же речь идет о правилах вывода А\, ..., Ап\-В. Но поскольку А\, •••, Ап\=В равносильно Лi, ..., Ап\-В (см. с. 00), то фактически различие здесь лишь в описании одних и тех же правил. Чтобы доказать предложение конъюнктивной структуры Л ДБ, обычно доказывают по отдельности Л и В, а затем говорят «Теорема доказана», т. е. доказана ЛДВ. За фразой «Теорема доказана» скрыт неявный переход от Л и В к ЛДВ, т. е. применение правила ВК. Например, при доказательстве предложения: (1) «Средняя линия трапеции параллельна основаниям и равна их полусумме» (ЛДВ) доказывают каждое из предложений: (2) «Средняя линия трапеции параллельна основаниям» (Л), (3) «Средняя линия трапеции равна полусумме оснований» (В) и доказательство завершают уже приведенными словами «теорема доказана». Правила УК1 и УК2 используются при применениях уже доказанных предложений конъюнктивной структуры. Пусть требуется решить задачу «Найдите среднюю линию трапеции с основаниями а и с». Из доказанного предложения-конъюнкции (1) используют только его второй 54
член В и находят среднюю линию трапеции d = (a-\- с)/2. Предложения, имеющие структуру эквиваленции, обычно выражают оборотами «А тогда и только тогда, когда Б», «для того, чтобы Л, необходимо и достаточно В», «если Л, то В, и если В, то Л» и некоторыми другими. Доказательство таких предложений распадается на две части: 1) доказательство импликации A zd В и 2) доказательство импликации BzdA. После чего заключают, что предложение доказано, т. е. доказана экви- валенция А ~ В. Правила УЭ1 и УЭ2 используют при применениях доказанных предложений-эквиваленций. Здесь следует, однако, отметить, что в школьном обучении в настоящее время редко используются формулировки предложений в виде эквиваленции. В некоторых случаях после доказательства предложения Л zd В рассматривают и предложение BzdA, не объединяя, однако, эти импликации в одной эквиваленции Л ~ В. При применениях же доказанных импликаций не всегда следят за корректностью рассуждений. Например, при решении задач на применение теоремы Пифагора, установив, что в рассматриваемом треугольнике квадрат большей стороны равен сумме квадратов двух других сторон, делают вывод о том, что данный треугольник является прямоугольным, ссылаясь на теорему Пифагора: «Если треугольник прямоугольный, то квадрат его гипотенузы равен сумме квадратов его катетов». В действительности же здесь используется предложение: «Если в треугольнике квадрат одной стороны (большей) равен сумме квадратов двух других сторон, то такой треугольник — прямоугольный», т. е. предложение, обратное теореме Пифагора, которое тоже является теоремой геометрии, однако в практике школьного преподавания не всегда доказывается. Вообще же, обоснование вывода в указанной задаче можно провести следующим образом. Л ~ В: Треугольник является прямоугольным тогда и только тогда, когда квадрат его большей стороны равен сумме квадратов двух других его сторон. Из Л ~ В по УЭ2 имеем: BzdA: Если у треугольника квадрат большей стороны равен сумме квадратов двух других его сторон, то такой треугольник— прямоугольный. При решении задачи установлено В: В данном треугольнике квадрат большей стороны равен сумме квадратов двух других его сторон. 55
По МР имеем А: Данный треугольник является прямоугольным. Как видим, полная схема рассуждения такова: из А~ В получаем В id А (по УЭ2); доказываем В\ по МР получаем А. На практике, однако, используются более короткие схемы рассуждений, основанные на следующих выводах из эквиваленции: (1) А ~ В, А\-В. (3) А ~ В, -\A\--\B. (2) А ~ В, В\-А. (4) Л 1В \-~\A. Укажем еще на два вывода из эквиваленции, важные для практических приложений: (5) Л ~£Ь~1Л=)1£. (6) Л ~ВЬ~15=> ПЛ. Для приложений важны и следующие выводы из импликации: (7) AzdB, 1В\-~\А (МТ, ср. с правилом (21) предложения 1.13). (8) A id В\— ~\В id ПЛ (К, ср. с правилом (20) предложения 1.13). Обоснование выводов (1) — (8) легко проводится с использованием доказанных в МТ5 правил введения и удаления. Например, правило (7) доказывается следующей последовательностью утверждений: 1. Aid В, ПВ, А\-1В 1. MTla 2. Л =) В, П£, AV-AidB 2. MTla 3. Л => В, П£, ЛИ 3. MTla 4. Л, Aid В\- В 4. МР 5. Aid В, ПВ, Л |-Я 5. МТ16 (3, 2, 4) 6. Л =э£, -\В[-~\А 6. RA (5, 1) Применяя теперь к правилу (7) правило ВИ, получаем правило (8). Докажем еще правило (3). 1. А ~ В, ~\A\-A~B 1. MTla 2. Л ~ В \-В id А 2. УЭ2 3. Л ~В, ПЛ \-В id А 3. МТ1б(1, 2) 4. А ~ В, ПЛ1-1Л 4. MTla 5. В id А, ~1А\-~\В 5. МТ (правило 7) 6. А ~ Ву ПЛ Ь~1£ 6. МТ1б(3, 4, 5). Сделаем теперь важное замечание к правилу СУО: Л, ПЛ |—В. Для теории L (и вообще для любой формальной аксиоматической теории, содержащей правила СУО, УК1 и УК2) можно ввести определение, равносильное определению 1.22. 56
Определение 1.23. Формальная аксиоматическая теория называется (просто) непротиворечивой, если в ее языке существует хотя бы одна недоказуемая в ней формула. Если же все формулы языка теории доказуемы в ней, она называется (просто) противоречивой. Действительно, пусть данная теория Т непротиворечива в соответствии с определением 1.22. Тогда не существует ни одной такой формулы Л, что \-тА и |— гПЛ и поэтому [т^тЛДИЛ, так как если бы было |—тЛДПЛ, то по УК1 и УК2 было бы и |—тА и |—т~\А. Но раз мы указали недоказуемую в Т формулу, то по определению 1.23 теория Т также непротиворечива. Пусть теперь теория Т непротиворечива в соответствии с определением 1.23. Тогда существует формула В, такая, что \f- ТВ. Значит, ни для одной формулы Л не должно выполняться: |—ТА и (-г~1Л, так как если бы это было так, то по СУО должно было бы быть \-тВ. 1.2.6. Полнота теории L Важнейшей задачей метаматематики является проблема непротиворечивости, которая рассматривалась в п. 1.2.4. Другой важной задачей метаматематики является проблема полноты рассматриваемой формальной аксиоматической теории. В п. 1.2.1 в качестве аксиом взято 13 формул. Возникает естественный вопрос, нельзя ли к этим аксиомам добавить новые формулы, так, чтобы доказуемых формул стало больше. Для ответа на этот вопрос необходимо определить, формулы с каким свойством мы хотим иметь доказуемыми в нашей теории. Разным свойствам будут отвечать разные понятия полноты. В теории L таким желательным свойством разумно считать общезначимость формулы, так как всякая общезначимая формула выражает закон логики. Таким образом, мы приходим к следующему определению полноты. Определение 1.24. Логическое непротиворечивое исчисление называется' полным относительно общезначимости, если в нем доказуема всякая общезначимая формула. Прежде чем устанавливать полноту теории L, необходимо доказать четыре леммы. Лемма 1.1. Пусть даны определения логических операторов ~1, Д, V, =:>» ~ (см* п* 1*1.5). Для каждой строки истинностной таблицы (табл. 1.16) каждого из 57
Таблица 1.16 А 1А Выводимость •1 И л А (- 1ПЛ 2 Л и ПЛ 1- ПЛ 3 А в АЛВ Выводимость 3 И и и Л, В\- ЛАВ 4 и л л A, IB 1- 1(ААВ) 5 л и л 1А, В Ь “КЛДД) 6 л л л ~1Л, ПВЬ ~Ка А в) А в A VS Выводимость 7 и и и Л, ВЬ AVB 8 и л и A, IBh AVB 9 л и и ПЛ, В ь Л VB 10 л л л ПЛ, ПЯЬ 1(Л\/Я) А в А В Выводимость 11 и и и А, ВУ- Л =>В 12 и л л А, 1В |- %4=>B) 13 л и и ПЛ,В|- А гзВ 14 л л и ПЛ, 1В(- Л => В ’ А в А ~ В Выводимость 15 и и и А, В\- А~ В 16 и л л Л, "IB h П(Л ~ В) 17 л и л 1Л, В|- ~1(Л ~ В) 18 л л и 1А, ПВ Ь Л ~ В пяти логических операторов имеет место соответствующая выводимость, ^ В качестве образца установим некоторые из этих 18 выводимостей. (1) А\-~\~\А 1. А, ~1А\-А 1. MTla 2. А, ПЛ|-“Ь4 2. MTla 3. Л I— П ПЛ 3. ВО(1, 2). (2) 1А\-1А 1. ПЛ |— ПЛ 1. MTla. 58
(9) ПЛ, В \-А V В 1. ПЛ, В\-В 1. MTla 2. В\-А\/В 2. ВД2 3. ПЛ, В\-А\/В 3. МТ1б(1, 2). (15) A, BhA~B Поиск доказательства иллюстрирует схема: 1. А, В, А \-В 1. MTla 2. A, BhA=>B 2. ВИ(1) 3. А, В, В|—Л 3. MTla 4. Л, ВЬВгэЛ 4. ВИ (3) 5. А =з В, В =з Л f-Л ~ В 5. ВЭ 6. Л,£|-Л~В 6. МТ1б(2, 4, 5). (16) Л, ~1В|-1(Л~В) 1. Л, "IB, Л ~ Bf-Л 1. MTla 2. Л, ПВ, Л~В|-Л~В 2. MTla 3. Л ~ В |-Л => В 3. УЭ1 4. Л, ~1В, Л ~ В|-Л =) В 4. МТ16 (2, 3) 5. Л, Л => Bf-B 5. УИ 6. Л, ПВ, Л ~ В (-16 6. МТ1б(1, 4, 5) 7. Л, ПВ, Л ~В|-"1В 7. MTla 8. Л, ПВ I-"КЛ ~ В) 8. ВО (6, 7). <4 Распространим теперь свойство леммы 1.1 на случай произвольной формулы. Лемма 1.2. Для любой формулы £, содержащей атомы Pi, ..., РПу для каждой из 2п строк ее истинностной таблицы имеет место соответствующая выводимость. ► Проиллюстрируем метод доказательства леммы 1.2 59
на примере. Пусть Е — формула P=>(Q\/#~ ~1Q)- Рассмотрим строку истинностной таблицы этой формулы, в которой (Р, Q, Я)=(И, Л, J1). Найдем значе¬ ние Е: Р =з (Q V R ~ 1Q) Л Л Л Л(2) И(1) И л<3> Щ (4) В скобках рядом с истинностным значением указан номер шага, на котором при вычислении получено данное истинностное значение. Докажем выводимость Р, HQ, 1R\-1(Pzd(Q\/R~1Q)). Первому шагу вычислений отвечает последовательность выводимостей 1. ~1 Q |— ~1Q 1. лемма 1.1 (2) 2. Р, IQ, 1R\-1Q 2. MTla 3. Р, ~1Q, 1R\-~]Q 3. МТ1б(2, 1). Второму шагу вычислений соответствует последовательность выводимостей 4. IQ, 1R\-1{Q\/R) 4. лемма 1.1 (10) 5. Р, 1Q, “1/?|— “IQ 5. MTla 6. Р, IQ, ~]R\-1R 6. MTla 7. Р, "IQ, -l/?f-0(QVtf) 7. МТ1б(5, 6, 4). Третьему шагу, состоящему в нахождении значения Л для формулы Q\/R~~lQ из значения J1 формулы QV R и значения И формулы 1Q, отвечает последовательность выводимостей 8. n(QVtf), ~IQ|-~KQV#~ ~1Q) 8. лемма 1.1 (17) 9. Р, IQ, -|/?b~XQVfl~ IQ) 9. МТ1б(7, 3, 8). Метод, рассмотренный на примере конкретной строки конкретной формулы, является применимым в любом случае. Доказательство в общем случае проводится методом математической индукции с учетом числа вхождений логических операторов в формулу. <4 Лемма 1.3. Если формула £, содержащая атомы Pi, ..., Рп (и только их), общезначима, то PiVIPb PnV^PnhE. ► Пусть вначале п — 2. Тогда будем иметь: 60
ПО УД(1, 2) РЛЕ 5. Ph р2\у ip2\-e И И И 1. Ри Р2\-Е | П-?ртр{\up И Л И 2. Р,, -ЛР2\-е) е- nPl> V ЧР21 Е J Л И И 3. ПРь Р2|-£ 1 Л Л И 4. -\Р 1, ПР2|-В/ по УД (5, 6) 7. PiVl^i, P2V"IP2 h£ Доказательство в общем случае получается в результате применения правила УД 2"_| +2л-2 + 2л-3-|-...-|- + 2-1-1 раз. 4 Лемма 1.4. \-A\f~\A для любой формулы А. ^ Имеем последовательность выводимостей: 1. 1(ЛУ 1А), A\-A\J 1А 1. ВД1 2. П(Л V ~1Л), Л |— ~1(Л V “1^1) 2. MTla 3. “1(Л V "Ь4)Ь3. ВО(1, 2) 4. ~1(Л\/"1Л), ~\А\-А\/~\А 4. ВД2 5. П^Х/ЧЛ), 1Л1-"1(Л\/"1Л) 5. MTla 6. П(Л Х/1Л)Ь-1ПЛ 6. ВО (4, 5) 7. 7. ВО(3, 6) 8. \-A\f~\A 8. УД0(7). 4 Замечание. В приведенном доказательстве неко¬ торые из промежуточных утверждений, основанные на МТ1, опущены. Например, перед утверждением 1 подразумеваются такие два утверждения 1', 1 Г. П(Л V ПЛ), Л М Г. MTla 1". Л (—Л V “1Л 1". ВД1 1. 1(А\/1А), А\-А\/-\А 1. МТ1б(1', \"). Метатеорема 6 (МТ6). Если (= Е, то |—Е. ► По лемме 1.4 \-РХ V1P,, ..., hPnV~^Pn. (1.11) Так как формула Е общезначима, то по лемме 1.3 Pi\/~\Pu ..., PnV~lPn\-E. (1.12) Из (1.11) и (1.12) по МТ16 получим \-Е. 4 Следствие. Теория L полна относительно общезначимости. ► Доказывается применением определения 1.24 и МТ6. -4
1.2.7. Адекватность теории L алгебре высказываний Из МТ4 и МТ6 вытекает, что \-Е тогда и только тогда, когда |=£ для любой формулы Е. Таким образом, класс общезначимых формул алгебры высказываний совпадает с классом доказуемых формул теории L. Тем самым установлена адекватность теории L алгебре высказываний. Поэтому теперь можно решить некоторые вопросы алгебры высказываний средствами теории L, и наоборот. В частности, все формулы, перечисленные в предложении 1.9, можно считать доказуемыми. В то же время нами установлен только факт существования доказательств всех этих формул, сами же доказательства мы нашли только для некоторых из них. Покажем теперь, что А\, ..., Ап\-В равносильно А\, ..., Ап\=В. (1-13) По следствиям из МТ2 и МТЗ А\у •••> Ап\-В равносильно |—А\ =)(... (Ап zd В)...). (1.14) По следствиям из МТ4 и МТ6 \-А I zd (... zd (Ап Id В)...) равносильно \=Ai zd(... =э(Лл=э В)...). (1.15) По следствию из предложения 1.10 \= А1 =5 (... =з (Ап zd В)...) равносильно А\у ..., Ап\=В. (1.16) Из утверждений (1.14) — (1.16) по транзитивности получаем (1.13). 1.2.8. Разрешимость теории L Еще из школьной математики известны такие классы вопросов (общие вопросы), что на любой вопрос из данного класса можно найти ответ с помощью единого метода, причем весь класс и метод описаны с исчерпывающей точностью, т. е. метод применим к любому вопросу рассматриваемого класса и в результате его использования будет непременно получен определенный ответ: «да» или «нет». Примером такого класса вопросов является общий вопрос: «Имеет ли действительные корни квадратное уравнение ах2Ьхс = 0 с целыми коэффициентами а, Ьу с?». Общий метод решения любого вопроса этого класса состоит в вычислении дискриминанта D= b2 — Аас и последующем определении истинностного значения высказывания D ^ 0. Если высказывание истинно, то ответом на рассматриваемый вопрос будет «да», если ложно, то — «нет». 62
Метод, позволяющий ответить «да» или «нет» на любой частный вопрос общего вопроса, называется разрешающей процедурой или (разрешающим) алгоритмом для этого класса вопросов, а проблема отыскания алгоритма называется проблемой разрешения для общего вопроса. Не для любого класса вопросов имеются разрешающие алгоритмы. Например, не существует разрешающего алгоритма для класса вопросов: «Имеет ли произвольное диофантово уравнение F(x 1, ..., лгл)=0, где F — многочлен с целыми коэффициентами, решения в целых числах?». Проблема существования такого алгоритма в числе 23 важнейших проблем математики была поставлена Д. Гильбертом в 1900 г. на Всемирном конгрессе математиков в Париже и известна как десятая проблема Гильберта. Ее алгоритмическая неразрешимость установлена в 1970 г. советским математиком Ю. В. Матиясе- вичем (в то время ему было 23 года). Проблемы разрешения можно ставить и в формальных аксиоматических теориях. Приведем их примеры в любой формальной аксиоматической теории Т. 1. Является ли данное слово алфавита Ат формулой? 2. Является ли данная конечная последовательность формул доказательством? 3. Доказуема ли данная формула? Проблемы разрешения для первых двух классов вопросов в любой формальной аксиоматической теории Т решаются положительно. Разрешающие алгоритмы вытекают непосредственно из определений формулы и доказательства. В соответствии с этими алгоритмами можно всегда за конечное число шагов установить, является ли данное слово формулой и является ли данная конечная последовательность формул доказательством. Проблема разрешения для третьего класса вопросов не является тривиальной: если разрешающая процедура и существует, то она не следует непосредственно из определения доказуемости формулы. Чтобы, следуя этому определению, установить доказуемость формулы, нужно иметь ее доказательство, однако как его найти или хотя бы установить существование, в самом определении не указывается. В то же время проблема разрешения для доказуемости представляет наибольший интерес, так как доказуемые формулы логической теории выражают законы логики. Поэтому проблему разрешения для доказуемости называют без дополнительных пояснений яро- 63
блемой разрешения формальной аксиоматической теории. Итак, мы приходим к такому определению разрешимой теории. Определение 1.25. Формальная аксиоматическая теория Т называется разрешимой, если проблема разрешения этой теории решается положительно, т. е. если существует алгоритм, позволяющий за конечное число шагов относительно любой формулы языка теории Т установить, доказуема ли в Т эта формула или нет. Следствие (из МТ4 и МТ6). Теория L разрешима. ^ Разрешающий алгоритм для теории L состоит в следующем. Строим истинностную таблицу данной формулы £, что всегда можно сделать за конечное число шагов. Если столбец значений формулы Е состоит из одних И, то формула Е общезначима и по МТ6 доказуема. Если же указанный столбец содержит не только И, то формула Е необщезначима, а значит, и недоказуема, так как если бы формула Е была доказуемой, то по МТ4 она была бы и общезначимой. ^ Описанная разрешающая процедура была найдена Э. Постом в 1921 г. 1.2.9. Использование правил введения и удаления и МТ1 при установлении существования доказательств и выводов в теории L Правила введения и удаления логических операций и МТ1 позволяют значительно упрощать и укорачивать метадоказательства существования доказательств и выводов в теории L по сравнению с непосредственным построением этих доказательств и выводов. И хотя, применяя эти правила и МТ1, мы устанавливаем только существование доказательств и выводов, но не располагаем ими, этого в большинстве случаев оказывается достаточно. Рассмотрим некоторые примеры. Пример 1.21. Установить, что \- П(Л V В) ~ ПЛ V ~\В. ► Воспользуемся правилом ВЭ, предварительно установив доказуемость двух импликаций П(Л V В) =э ПЛ Д 1В и ПЛ Д ~\В =э П (Л V В). Для установления доказуемости импликации ~\(А\/В) zi 1А/\~)В нужно установить выводимость П(Л\/Я)Ь~1ЛД ПВ, (1Л 7) а затем применить правило ВИ. В выводимости (1.17) после знака \- стоит конъюнкция ПЛДПВ, но чтобы ее ввести, надо ввести пер- 64
вый член конъюнкции П Л, затем второй член — 1В и после этого применить правило ВК, т. е. требуется иметь выводимости: П(Л VS)b“b4, (1.18) П(Л\/Д)(-"1Я. (Ы9) Для установления выводимости (1.18) можно применить правило ВО, но для этого надо иметь такие выводимости: 1(АУВ), А\-Е, П(Л\/Д), А\-1Е для некоторой формулы Е. Легко видеть, что в качестве формулы Е можно взять формулу А \/ В. Подобно этому, для установления выводимости (1.19) требуется располагать такими двумя выводимостями: 1(АуВ), В |—F, П(Л \/В), Bi-1F. В качестве F можно взять формулу Л V В. Чтобы установить доказуемость импликации ПЛ Д 1В =) П(Л V В), требуется иметь выводимость ПЛАПДЬН(Л \/В). (1.20) Выводимость же (1.20) можно получить по правилу ВО, если иметь выводимости: НЛДПЯ, Ay B\-G, (1.21) ПЛДПЯ, Ay B\-~\G (1.22) для некоторой формулы G. В выводимости (1.21) одна из посылок — дизъюнкция A\J В. Для получения выводимости из дизъюнкции нужно иметь выводимости из каждого члена дизъюнкции и затем применить к ним правило УД. Итак, надо иметь выводимости: ПЛДПВ, Л|-<А (1.23) 1АА~\В, B\-G. (1.24) Легко видеть, что в качестве G можно взять любую формулу: среди посылок содержится формула Л, а первый член конъюнкции ПЛДП5 есть ПЛ, но из Л и ПЛ по СУО можно вывести любую формулу. Аналогично, выводимость (1.22) требует получить выводимости: ПЛДПВ, A\-lGy ПЛДПЯ, B\-1G, в которых формула G должна быть такой же, как и в выводимостях (1.23) и (1.24). Проведенный нами поиск метадоказательства существования доказательства формулы П(Л у^) ^ ~1Л Д ПБ можно наглядно офор¬ мить в виде схемы 1.3. Запишем теперь само метадоказательство как последовательность выводимостей (справа указаны номера блоков схемы на с. 66). 1. П(Л\/Я), А\-А\/В (4) 1. ВД1 2. П(Л У В), А |— П(Л V В) (5) 2. MTla 3. П(Л\/Я)|-ПЛ (2) 3. ВО (1,2) 4. П(Л VS), В\-А \/В (6) 4. ВД2 5. П(Л У В), В[-1(АУВ) (7) 5. MTla 6. П(Л\/Д)Ь“1Я (3) 6. ВО (4, 5) 7. П(Л \/Я)Ь1ЛДПВ (1) 7. ВК(3, 6) 3 Зак. 2997 65
8. М(Л\/Д)=>“Ь4Д П£ 9. ПЛДПВ, A \-G (11) 10. ПЛ Д П£, B\-G (12) 11. ИЛ Д IB, AVBY-G (9) 12. ПЛДПВ, A\-1G (13) 13. ПЛДПВ, B\-~\G (14) 14. ПЛДПВ, A\/B[-1G (10) 15. ПЛДПВ|-П(Л V5) (8) 16. \-~\A Д П£=эП(Л \/В) 17. |-"1(Л \/Я)~"1ЛД П£ 10) 8. ВИ (7) 9. СУО 10. СУО П. УД(9, 12. СУО 13. СУО 14. УД(12, 13) 15. ВО( 11, 14) 16. ВИ (15) 17. ВЭ(8, 16). 4 Замечание 1. Многие из записей 1 —17 представляют собой сложные выводимости. Однако они могут быть сведены к применениям МТ1 и правил введения и удаления. Например, запись 13 может быть установлена так: 66
Г. ПЛДПВ, В\-В Г. MTla 2'. ПЛ Д ПВ, ВМЛДПВ 2'. MTla 3'. ПЛДПВ[-ПВ 3'. УК2 4'. ПЛДПВ, В|-~1В 4'. МТ1б(2', 3') 5'. В, ПВ|-С 5'. СУО 6'( 13). ПЛ Д ПВ, BhnG 6'. МТ1б(Г, 4', 5'). Замечание 2. Мы доказали один из законов де Моргана — закон отрицания дизъюнкции (ОД) (см. предложение 1.9). Из доказанной формулы вытекают два важных правила вывода: (1) П(Л VВ)[-ПЛ Д ПВ (удаление отрицания дизъюнкции, УОД); (2) ПЛ Д ПВ f- П(Л V(введение отрицания дизъюнкции, ВОД). Эти правила уже обоснованы в ходе решения примера 1.21 (см. строки 7 и 15). Пример 1.22. Установить, что (-ППЛ~Л. ► Поиск мета доказательства сразу оформим в виде схемы: Записываем метадоказательство в виде последовательности выводимостей: 1. ППЛМ 1. УДО 5. Л|-"1ПЛ 5. ВО(3, 4) 2. Ь~1ПЛ=>Л 2. ВИ(1) 6. М=>ППЛ 6. ВИ(5) 3. Л, НЛМ 3. MTla 7. |-ППЛ~А 7. ВЭ (2, 6) 4. Л, ПЛЬОЛ 4. MTla Мы доказали закон двойного отрицания (ДО), а при его доказательстве установили правило введения двойного отрицания (ВДО) (см. строку 5). 4 Пример 1.23. Установить, что |— П(Л ДВ) ~ ПЛ V ПВ. ^ Поиск метадоказательства прослеживается по схеме на с. 68. Запишем теперь само метадоказательство. 1. П(ЛДВ), П(ПЛУПВ)Ь-ЛДВ 1. УОД 2. П(ЛДВ), П( ПЛ \/ ~1В) 1— П(Л Д В) 2. MTla 3. П(ЛДВ)|-1П(ПЛУ1В) 3. ВО(1, 2) 4. П(Л Д В) f— ПЛ v пв 4. УДО(З) 5. |-П(ЛДВ)=) ПЛ V ПВ 5. ВИ (4) 6. ПЛ, ЛДВЬ-/7 6. СУО 7. ПВ, Л AB\-F 7. СУО 8. ПЛ\/"1В, Л ДВЬ/7 8. УД (6, 7) 9. ПЛ, AAB\-1F 9. СУО 10. ПВ, Л Д В}— П/7 10. СУО 11. ПЛ л ДВЬП/7 11. УД (9, 10) 12. ПЛ \/ПВ(-П(Л ДВ) 12. ВО(8, И) з* 67
Е = АЛВ F- любая формула 13. \-~\A V"IB=>1(/4AB) 13. ВИ (12) 14. |— 1(Л Д В) ~ ПЛ V ”1В 14. ВЭ(5, 13). В этом метадоказательстве доказуемости формулы ~1(ЛДВ)~ ~ Л V IB, кроме правил введения и удаления логических опера¬ торов и МТ1, использовано и установленное нами в конце примера 1.21 правило УОД (см. строку 1). Приведем подробное обоснование строки 1: Г. -|(ЛДВ), -|(a4V1B)MCb4V1B) 2'. Лрл \/"1В)|-"1~1ЛЛ-ПВ 3'. 1(ЛДВ), 1(~1Л V ~1В)(—ТПЛ'Д пв 4'. НАЛ ПВЬПЛ 5'. ПЛ М 6'. НЛД НВ|-Л 7'. нлднвь-пв 8'. ПВ1-В 9'. НЛДНВ|-В 10'. Л, ВЬ-ЛДВ 11'. ПЛДПВМЛВ 12'(1). -1(ЛДВ), -|(1Л У"1В)МДВ Строку 1 можно обосновать и с использованием ьведения и удаления и МТ1. I'. П(ЛДВ), 1(ПЛ V ~1В), ПЛЬПЛХ/ЧВ 2'. -|(ЛДВ), 1(1Л V ”!В), -!Л I— П(“1Л v 1В) 3'. 1(ЛДВ), П(ПЛУ1В)ЬПЛ Г. MTla 2'. УОД 3'. МТ1б(Г, 2') 4'. УК1 5'. УДО 6'. МТ1б(4', S') 7'. УК2 8'. УДО 9'. МТ1б(7', 8') 10'. вк 11'. МТ1б(6', 9', 10') 12'. МТ1б(3' , И'). только правил г. вд 1 2'. MTla 3'. ВО(Г, 2') 68
4'. -|(ЛДВ), П(ПЛ\/1Б)М 4'. УДО(З') 5'. 1(ЛДВ), ПрЛ V~l£), 1В[-1А\/1В 5'. ВД2 6'. 1(ЛДВ), ПЯМОЛ V15) 6'- мт1а 7'. П(ЛД£), П("1Л V 7'. ВО(5', 6') 8'. ~1(ЛДБ), П(ПЛ\/"1В)|-5 8'. УДО (7') 9' (1). П(ЛД£), ~1рЛ\/ 1В)МД5 9'. ВК(4', 8'). 4 Нами доказан еще один закон де Моргана — закон отрицания конъюнкции (ОК) (см. предложение 1.9, формула (38)). При доказательстве закона ОК мы попутно установили и два часто используемых правила вывода : (1) 1(А Д В) |— 1А V ~\В (удаление отрицания конъюнкции, УОК) (2) ~Ъ4\/ Ь Л В) (введение отрицания конъюнкции, ВОК) (см. строки 4 и 12 метадоказательства). Пример 1.24. Установить, что \-А\/ А /\В ~ А. ^ Ход решения можно проследить по схеме: А М 2. ЛДДМ Л У А ЛВ\-А Y-A\JA/\BzdA AhAVAAB \-А => л\/л ДЯ f-Л Х/ЛД£~Л 1. MTla 2. УК1 3. УД(1, 2) 4. ВИ(3) 5. ВД1 6. ВИ (5) 7. ВЭ(4, 6). < Мы установили один из законов поглощения (см. предложение 1.9, формула (37)) и связанные с этим законом правила вывода: (1) А \-A\J А /\ВУ (2) А\/ А /\B\-A. Рассмотренные примеры дают достаточное представление о применениях правил введения и удаления и МТ1 и о методах поиска метадоказательств существования доказательств и выводов в теории L. Хотя поиск таких метадоказательств требует определенной тренировки, но в то же время в значительной степени он проводится 69
по определенным принципам, основанным на учете структуры правил введения и удаления, другими словами, этот поиск во многом алгоритмичен. Поэтому им при достаточной настойчивости может овладеть каждый. В то же время такой поиск — хорошее интеллектуальное упражнение. 1.2.10. Независимость аксиом теории L В п. 1.2.4, 1.2.6 и 1.2.8 мы рассмотрели три важнейшие метаматематические проблемы — непротиворечивости, полноты и разрешения. Для теории L все они решаются положительно, т. е. теория L является непротиворечивой, полной (относительно общезначимости) и разрешимой. Для формальной аксиоматической теории ставится еще и проблема независимости системы аксиом. Определение 1.26. Аксиома X системы Г называется независимой, если она не является теоремой в формальной аксиоматической теории, описываемой системой аксиом rXJX}, т. е., если Г\{^}М-Х. Если каждая аксиома системы аксиом Г независима, то система аксиом Г называется независимой. Требование независимости аксиом формальной аксиоматической теории часто не считают обязательным. Более того, во многих случаях допуская зависимость, мы добиваемся значительных преимуществ в изложении теории. Если же требование независимости принимается, то лишь с целью сделать теорию более изящной. Имеется и еще одно важное обстоятельство: вопрос о независимости одной аксиомы некоторой теории от других аксиом часто бывает равносилен вопросу о возможности замены без противоречия данной аксиомы ее отрицанием. Примером подобного рода можно считать вопрос о независимости пятого постулата Евклида в системе аксиом геометрии. Как известно, решение проблемы независимости пятого постулата много дало развитию математической науки, в частности вызвало открытие неевклидовых геометрий. Доказательство независимости пятого постулата Евклида было найдено после двух тысячелетий поисков путем указания такой модели, в которой все аксиомы, кроме пятого постулата, истинны, а сам постулат ложен. Найденный метод с тех пор стал стандартным методом доказательства независимости одной аксиомы из данной системы аксиом от остальных аксиом этой системы. Сформулируем этот метод применительно к нашей 70
теории L. Пусть Г/,— множество аксиом теории L, X — произвольная аксиома из Гь Допустим, что найдена такая модель, в которой все аксиомы множества ГД{Х} принимают значение И (или другое выделенное значение) при всех наборах значений входящих в них атомов, а аксиома X принимает такое значение не при всех наборах. Кроме того, установлено, что правило МР сохраняет свойство, выраженное предложением 1.6: если формулы А и A id В при всех наборах значений входящих в них атомов принимают выделенное значение, то и формула В также принимает это значение при всех наборах. Тогда можно утверждать, что ГДДО^Я’. Действительно, если допустить, что ГД{А}|— X, то в силу МТ4 Г[\{Х)\=*Х, а значит аксиома X должна иметь выделенное значение при всех наборах, что противоречит свойствам X в построенной модели. Перейдем теперь к непосредственному доказательству независимости аксиом теории L. Для этого нам необходимо построить 13 моделей с указанными свойствами — по одной для каждой аксиомы. Независимость аксиом (3) — (13) доказывается относительно просто. Это связано с тем, что при построении модели для такой аксиомы достаточно изменить некоторым образом определение только того логического оператора, который описывает данная аксиома. Поэтому в каждой из моделей для аксиом (3) — (13) изменения коснутся только 2—3 аксиом. Оператор же :=> входит во все 13 аксиом и поэтому при построении моделей для аксиом (1) и (2) изменения могут затронуть все логические операторы. При построении моделей для каждой аксиомы мы будем интерпретировать атомы как переменные, принимающие значения из конечного множества D = ( 1, 2, 3, /г), причем число элементов этого множества не обязательно одно и то же для моделей всех аксиом. Если две формулы А и В принимают при всех наборах значений входящих в них атомов одинаковые значения из множества D, то будем называть их тождественно равными, и, как и в алгебре высказываний, обозначать А = В. Модели для доказательства независимости любой из аксиом (3) — (13) строятся по следующей схеме. Допускаем, что атомы принимают значения из двухэлементного множества D — {1, 2}, при этом 1 играет роль И, а 2 — роль J1. Выделенную операцию Ов, которую описы¬ 71
вает данная аксиома, определяем так, чтобы эта аксиома не при всех наборах значений входящих в нее атомов принимала значение 1, играющее роль выделенного, а другие аксиомы, содержащие операцию Ов, всегда принимали значение 1. Определения остальных логических операций даем так же, как и в алгебре высказываний, правда, с заменой И на 1, a JI на 2. Тогда все аксиомы, не содержащие операции Ов, принимают значение 1 при всех наборах значений входящих в них атомов. Легко видеть, что в подобной модели правило МР, примененное к формулам, тождественно равным 1, дает формулу, также тождественно равную 1. Действительно, пусть формулы А и AzdB тождественно равны 1, тогда 1 zd В = I. Следовательно, В = 1, так как если В = 2 при некотором наборе, то при этом наборе и формула AzdB будет иметь значение 2, что противоречит условию А = 1. В этом доказательстве мы использовали неизменность определения импликации и фактически повторили доказательство предложения 1.6 о том, что МР не нарушает общезначимости формул. Из всех аксиом (3) — (13) докажем в качестве образца независимость аксиомы (3), вводящей конъюнкцию. Построение моделей для доказательства независимости аксиом (4) — (13) оставляем читателю в качестве упражнения. Пусть атомы, входящие в формулы, принимают два значения из множества D — { 1, 2}. Все логические операции, кроме конъюнкции, определяем так же, как и в алгебре высказываний, но записываем их для из множества D (табл. 1.17). Таблица 1.17 А в A VB А=> В А ~ В "1А 1 1 1 1 1 2 1 2 1 2 2 2 2 1 1 1 2 1 2 2 2 1 1 1 Конъюнкцию же нужно определить так, чтобы аксиомы (4) и (5) были тождественно равны 1, а аксиома (3) хотя бы при одном наборе значений атомов принимала значение 2, т. е. требуется удовлетворить системе условий Мз(Вг)ЛДВ) = 2, А /\В id А = 1, AABzdB^ 1. 72
Если принять, что А/\В = 2, то последние два условия системы выполняются, а первое трансформируется в равенство A zd (В zd 2) = 2, откуда по определению импликации: 1, М е= 1, \B:z>2e=2, или \в='1. Итак, если определить конъюнкцию табл. 1.18, то аксиомы (4) и (5) во всех случаях принимают значение 1, а аксиома (3) при (А, В) = (1, 1) — значение 2. Аксиомы (1), (2), (6) — (13) не содержат конъюнкции, остальные же опера- Таблица 1.18 ции определены точно так же, А в ААВ как и в алгебре высказываний. Но так как в алгебре высказыва- { 1 2 ний все аксиомы — общезначимые i 2 2 формулы, то в нашей модели они 2 1 2 принимают значение 1 при всех 2 2 2 возможных наборах значений формул Л, В, С. Выше уже установлено, что МР при применении к формулам, тождественно равным 1, также дает формулу, тождественно равную 1. Итак, аксиома (3) не зависит от остальных аксиом. Доказательство независимости аксиом (1) и (2) ввиду их громоздкости мы опускаем. Итак, справедлива Метатеорема 7 (МТ 7). Система аксиом теории L независима.
2. ЛОГИКА ПРЕДИКАТОВ 2.1. АЛГЕБРА ПРЕДИКАТОВ 2.1.1. Недостаточность логики высказываний для анализа рассуждений Изученная нами логическая теория — логика высказываний — хотя и описывает многие важные логические законы и позволяет решать многие проблемы, возникающие в теории и практической деятельности, однако во многих случаях средства логики высказываний оказываются недостаточными. В частности, с помощью этих средств нельзя проанализировать такое рассуждение: «Все люди смертны; Сократ — человек; следовательно, Сократ смертен». В рамках логики высказываний все три высказывания этого рассуждения рассматриваются как элементарные высказывания, атомы. Поэтому структура рассуждения такова: Р, Q\=R. Последнее следование места не имеет. В то же время наша интуиция подсказывает, что анализируемое рассуждение верное. Доказать же это в логике высказываний невозможно, так как в рассматриваемом рассуждении для получения из посылок заключения используется внутренняя структура высказываний Р, Q, /?, а эта структура не изучается в логике высказываний. Можно привести и другие примеры ограниченности логики высказываний. Отсюда ясна необходимость получения более сильных логических систем. К изучению одной из них мы и приступаем. 2.1.2. Предикат, логическая функция. Область определения, область значений и область истинности логической функции Различными конкретными предикатами мы широко пользуемся в математике, других дисциплинах, в повседневной жизни. Например, повествовательное предложение русского языка <С Некто написал роман «Мать»^> есть предикат. Если в этом предложении местоимение «некто» заменить именем человека, получится высказывание — истинное либо ложное. Если «некто» есть «А. М. Горький», то получится истинное высказывание, если же «некто» — это «Л. Н. Толстой», то высказывание — ложное. Видно, что в этом предложении местоиме¬ 74
ние «некто» играет роль, аналогичную роли переменных в математике, которые обозначаются обычно латинскими буквами — строчными или прописными. Итак, предложение <С Некто написал роман «Мать»^>, или, что то же самое, <С* написал роман «Мать»>> есть предикат одной переменной «некто» (или х)у или одноместный (унарный) предикат, осуществляющий отображение множества людей на некоторое множество высказываний. Примером двухместного (бинарного) предиката может служить уравнение х + 2у = 23. Если (х, у) = (3, 10), то предикат х 2у = 23 превращается в истинное высказывание 3 + 2*10 = 23; при (х, у) = ( — 3, 10) этот предикат обращается в ложное высказывание —3 + 2Х X 10 = 23- Неравенство х2 + у2 z2 каждой тройке действительных чисел (х, у, г) ставит в соответствие высказывание и является трехместным (тернарным) предикатом. Таким образом, мы приходим к следующему определению предиката. Определение 2.1. Функция Р(хi, ..., хп\ переменные которой х\, ..., хп имеют своими значениями элементы некоторого множества D, обращающаяся в высказывание для каждой п-ки элементов этого множества, называется п-местным предикатом, или п-местной пропозициональной функцией. Сопоставляя с каждым высказыванием — значением предиката Р(хi, ..., хп) — его истинностное значение, мы обнаружим, что со всяким таким предикатом связывается функция вида £)"->{И, J1}. Например, с предикатом <С* написал роман «Мать»3> связывается функция вида М-*{И, J1}, где М — множество людей; с предикатом х + 2у — 23 — функция вида R2-4H, JI}, где R2 — множество пар действительных чисел; с предикатом х2 + у2 ^ z2 — функция вида R3->{M, JI}, где R3 — множество троек действительных чисел. Определение 2.2. Функция вида Dn-*{И, J1} называется п-местной логической функцией. Множество Dn называется областью определения логической функции, множество {И, J1} — областью значений логической функции, множество Е с: Dn, на котором функция принимает значение И,— областью истинности логической функции 1 Часто предикат отождествляется с порождаемой им логической функцией. 75
2.1.3. Ионы и переменные Подобно тому как в алгебре высказываний мы допустили существование в предметном языке предложений, выражающих на этом языке элементарные формулы, или атомы, теперь будем считать, что изучаемый предметный язык располагает средствами для выражения предикатов любой местности. Такие выражения назовем элементарными предикатными выражениями, или, следуя С. К. Клини, ионами‘. Для обозначения ионов будем использовать прописные буквы латинского алфавита, начиная с буквы Р, употребляя в случае необходимости и индексы. Местность иона будем указывать в скобках справа от прописной буквы дефисами, разделенными запятыми, и каждый дефис называть пустым местом. Например, Р, Q, /?, ..., X, К, Z — нульместные ионы; Р(-), Q(-), /?(-), ..., Х(-)у F(-), Z(-) — одноместные ионы; Р(-, -), Q(-, -), ..., Y(-y -)> Z(-, -) — двухместные ионы; Р(-, -, -), <?(-, -, -), ..., Y(-y -, -), Z(-, -, -) — трехместные ионы и т. д. Предметный язык содержит все атомы алгебры высказываний как нульместные ионы. В принятых обозначениях ионов пустые места играют роль, подобную роли переменных в математике, например, Q(-, -, -) и Q(xy уу z) обозначают одно и то же, как, кстати, и Q(xy zy у)у или Q(yy ху г)у или Q(yy zf х\ или Q(zy ху у)у или Q(zy уу х). Можно в качестве переменных использовать и другие буквы, в том числе и с индексами. Понятно, что подобных обозначений для любого ненуль- местного иона имеется бесконечное множество. Под называющей формой иона понимают его обозначение с использованием переменных. Таким образом, каждый ион имеет бесконечное множество называющих форм. Наличие различных обозначений (имен) у одного и того же объекта обычно в математической практике. Например, 2х = 5, 2у = 5, 22 = 5, 2х\ — Ъу 2^2 = 5, 2(/б = 5 и т. п. обозначают одно и то же линейное уравнение. Следует отметить, что, скажем, записи Q(xy ху у)у или Q(xy уу х)у или Q(yy ху х) не являются называющими формами для трехместного иона Q(-, -, -), так как они не элементарны, а наоборот показывают, что некоторые места трехместного иона Q(-, -, -) заполнены одной 1 См.: Клини С. К. Математическая логика.— М.: Мир, 1973.— С. 97. 76
переменной, кроме того, Q(x, х, у), ф(лг, у, *), Q(*/, л:, л:) выражают уже не трехместные предикаты, а двухместные. Ясно также, что эти записи не могут выступать в качестве называющих форм двухместного иона Q(-, -). Таким образом, в ионе Л(-, -, -) для получения называющей формы все места должны заполняться независимо, в противном случае такой ион нельзя было бы рассматривать как элементарный: мы учли бы некоторые элементы внутренней структуры этого иона. В дальнейшем ионы мы будем записывать как с дефисами, так и, в случае необходимости, в называющей форме. Из приведенных разъяснений должно быть понятно, что в предметный язык необходимо допустить переменные, для обозначения которых будем использовать строчные буквы латинского алфавита, возможно с индексами: а, 6, ..., у, z, ..., аь а2, z\, z2, ... Приведем примеры ионов из различных предметных языков: «- есть прямая», «- есть плоскость», «прямая - параллельна прямой -» (символически: «-Ц-»), «плоскость - параллельна плоскости -» («-Ц-»), «прямая - перпендикулярна прямой -» («-_!_-»), «точка - лежит между точками - и - », «- есть четная функция», «уравнение - равносильно уравнению -» («-о-»), «из уравнения - следует уравнение -» («-=>►-»), «- меньше -» («-<-»), «- меньше или равно -» («-^-»), «- равно -» («- = .»), «- не равно -», («-=#-»), «-•- = -», «- есть существительное», «- синоним -», «существительное - является существительным - рода». Приведем еще несколько примеров из естественного языка: «- есть человек», «- любит -», «- родитель «- есть брат -» («- является братом -»), «- и - имеют сына - и дочь -». Из рассмотренных примеров видно, что некоторые, часто используемые в тех или иных науках, ионы имеют специальные обозначения, имена, как, например, «- < -», «--», «-_L-». Однако большинство ионов не имеют специальных обозначений и могут быть выражены только словами и оборотами естественного языка. 2.1.4. Формулы алгебры предикатов Опишем вначале класс атомов алгебры предикатов. Если Л(-, .„, -) — любой я-местный ион, а аь ..., ап — про- п извольный набор п переменных, не обязательно различных, то А(а\, ..., ап) — атом алгебры предикатов. Например, ион Q(-, -) порождает атомы Q(x, yt z), Q(x, г, у)у Q(y, X, z), Q{y, z, х\ Q{z, X, у), Q(z, у, х\ Q{x, x, у\ Q(x, у, х), Q(y, х, х), Q(x, х, х), Q(u, у, w), Q(r, s, t) и т. д. 77
Ясно, что любой нульместный ион, например /?, порождает только один атом — R. Исходя из иона Я(-), получим атомы Р(х), Р(хi), Р(х:2), Р(г/), P(z) и т. д. Если п> 1, то атомы образуют более широкий класс по сравнению с называющими формами для ионов, так как переменные, заполняющие пустые места, не обязательно различны. Например, из двухместного иона S(-, -) получаются два типа атомов: 5(х, у) и S(x, х). Из иона /?(-, -, -) получаются пять типов атомов: /?(л;, у, z), R(x9 у, х), /?(х, х, у), /?(х, у, у), /?(х, х, лг). Четырехместный ион порождает 12 типов атомов. Определение 2.3. Алфавитом алгебры предикатов называется множество Ла.ш содержащее буквы для обозначения: ионов; переменных; логических операций (V, 3, 1, Д, V» ^ ~)> а также буквы-скобки (, ) и только эти буквы. Определение 2.4. а) Всякий атом — формула (элементарная формула). б) Если А — формула, то (ПЛ) — формула. в) Если А и В — формулы, то (Л Д В), (А V В), (Л id В), (Л ~ В) — формулы. г) Если А — формула, а а — переменная, то (УаЛ) и (ЗаЛ) — формулы. д) Других формул, кроме указанных в пункте а) и построенных по правилам пунктов б), в), г), нет. Формулы, полученные с применением правил б), в), г), называются сложными формулами, или молекулами. Определение 2.4 является эффективным. Для упрощения записей формул сохраним соглашение алгебры высказываний об опускании скобок (см. п. 1.1.4), дополнив его следующим. Унарные операторы V и 3 выполняются раньше оператора П. Таким образом, например, формула VxlP(x)/\Q(x) означает (Vx1P(x))A QC*), а не Vx(lP(x)A QW)- Для единообразного понимания элементарных формул условимся считать, что ни один из атомов не имеет вида, свойственного молекуле: УаЛ, ЗаЛ, ПЛ, А/\В, A\J Bt A zd В, А ~ В. Кроме этого, потребуем, чтобы любой атом однозначно получался точно из одного иона. Иными словами, внутренняя структура ионов должна быть такой, чтобы не было путаницы со структурой, возникающей при построении формул из ионов. 78
2.1.5. Семантика букв алфавита алгебры предикатов Рассмотрим теперь значения букв алфавита Аам в классической двузначной логике. 1. Буквы первой категории — переменные р, q, у, г, р 1, рг, 2i, 2г, ... Их смысл зависит от того, к какой области науки относятся рассматриваемые ионы, содержащие эти переменные. В рамках алгебры предикатов мы не будем конкретизировать природу значений переменных, а просто допустим, что существует непустое множество D, называемое предметной областью, из которой черпают свои значения переменные, также называемые предметными переменными. Следует отметить, что это очень важное допущение, ибо в противном случае, если предметная область D не указана, или указана расплывчато, то рассуждение может стать ненадежным. Известно, к примеру, что проблема решения квадратного уравнения существенно зависит от предметной области — числового множества, из которого переменная этого уравнения принимает свои значения. Итак, значениями предметных переменных являются элементы предметной области D. 2. Буквы второй категории — ионы Р, Q, ..., У, Z, Р(-), Q(-), К(-), Z(-), />(-, -). Q(-> -). •••> -), Z(-, -), ... Ионы являются средствами выражения предикатов, которые, согласно определению 2.1, представляют собой пропозициональные функции, т. е. функции, значениями которых являются высказывания. Логической же характеристикой высказывания, как это было установлено в алгебре высказываний, является его истинностное значение. Подобно этому, учитывая определение 2.2, логической характеристикой иона является логическая функция, иными словами, значениями ионов являются всевозможные логические функции. Рассмотрим этот вопрос более подробно. Пример 2.1. Пусть одноместный ион «х — простое число» рассматривается на предметной области D — множестве N натуральных чисел. Какой логической функцией характеризуется этот ион? ^ Первые значения этой логической функции приведены в табл. 2.1. Таблица 2.1 X 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1{х) Л И И Л И л и Л Л Л и л И Л Л 79
Понятно, что эта логическая функция — бесконечный объект, и мы не можем выписать все ее значения. Однако идея табл. 2.1 вполне ясна. Укажем некоторые значения рассматриваемой логической функции, не содержащиеся в выписанной части таблицы: /(100) = J1, /(313)= И, /(314) = Л, /(317)= И, /(5987)= И, /(5989) = Л, /(131071) = = И, /(261 — 1)= И, 1(2 — 1)= И, /(211213 — 1) = и, /(2‘|213) = Л, /(4294967297) = Л. 4 Если предметная область D конечна, то тогда логическая функция l(x 1, ..., Хп) — также конечный объект и множество п-местных логических функций — конечное множество, которое в принципе может быть выписано. Сделаем это для некоторых предметных областей и некоторых ионов. Пример 2.2. Указать значения нульместных ионов на любой предметной области. ^ Ими являются И либо Л, т. е. множество значений нульместного иона есть множество {И, Л}. А Пример 2.3. Пусть предметная область D состоит из двух элементов, которые условно обозначим 1 и 2, не связывая со знаками 1 и 2 в обязательном порядке те значения, которые они имеют в арифметике натуральных чисел. Для нас это просто два различных символа. Какие значения имеет двухместный ион Л (а, Ь) на этой области? ► Значение такого иона есть логическая функция, сопоставляющая с каждым из четырех возможных наборов значений переменных а и b— (1, 1), (1, 2), (2, 1), (2, 2) —элемент множества {И, Л}. Различные сопоставления дают различные функции. Но каждое такое сопоставление есть размещение с повторениями из двух элементов множества (И, Л} по 4, т. е. число различных двухместных логических функций на двухэлементной области D = {1, 2} равно 24, т. е. 16. Таким образом, любой двухместный ион на двухэлементной области имеет 16 различных значений, которые выписаны в табл. 2.2. Таблица 2.2 CL ь /о (а, Ь) /I а 1\ а а в 1% 1% /?0 /?. /Ь /Ь 1и /?5 1 1 Л л л л л л л л и и и и и и и и 1 2 л л л л и и и и л л л л и и и и 2 1 л л и и л л и и л л и и л л и и 2 2 л и л и л и л и л и л и л и л и В табл. 2.2 в первых двух столбцах приведены всевозможные наборы значений переменных называющей формы двухместного иона на двухэлементной области. Условимся всегда эти наборы записывать в такой последовательности, которая возникает при расположении этих наборов в порядке возрастания натуральных чисел, соответствующих каждому набору, если символам 1 и 2 приписывать значения чисел 1 и 2 соответственно. В обозначении 1)(а, Ь) верхний индекс i указывает местность логической функции, нижний индекс / — порядковый номер функции, причем этот номер, записанный в двоичной системе в виде яш-значного числа, где п — число элементов предметной области, т — местность иона, дает нам распределение значений 80
логической функции, если символам 0 и 1 поставить в соответствие символы J1 и И. Например, /?(а, Ь) есть двухместная логическая функция, так как верхний индекс есть 2. Для установления набора ее истинностных значений записываем нижний индекс 7 как 7ю — = 0111г. Учитывая указанное соответствие, получаем функцию, значения которой определены в табл. 2.3. Таблица 2.3 а 112 2 Ъ 12 12 1Ца, Ь) Л И И И 4 Пример 2.4. Пусть D = {1). Найти множество значений ионов различной местности на этой области. ^ Значения л-местного иона на D выписаны в табл. 2.4. Таблица 2.4 а\ ... ап /о /" 1 ... 1 Л и Пример 2.5. Пусть D = { 1, 2}. Найти значения ионов А различной местности на D. ► Для одноместного иона А(а) получим табл. 2.5. Таблица 2.5 И /2 1 Л Л И И 2 Л И Л И Множество значений двухместного иона А (а, Ь) на двухэлементной области приведено в табл. 2.2. Множество значений трехместного иона на D уже имеет 2й = 256 логических функций. Мы не будем все их явно выписывать. Укажем некоторые, например /э(а, b, с\ lh(a> b, с), /?9э(а, b, с), lhs(a, by с), /255(а, 6, с). Запишем номера этих функций (нижние индексы) 9, 25, 235, 255 в двоичной системе в виде 23-значного числа. Получим 9,о = 000010012, 25ю = 000110012, 199,0 = 110001112, 235ю = 111010112, 255ю = 111111112- Теперь выписываем явно эти функции (табл. 2.6). Таблица 2.6 а Ь с 1%(а, Ь, с) /25 /3 *199 1% 35 lh 5 1 1 1 Л 1 1 2 Л 1 2 1 Л 1 2 2 л 2 1 1 и 2 1 2 л 2 2 1 л 2 2 2 и л и и и л и и и л л и и и л л и и л и и л и л и л и и и и и и и < 81
Пример 2.6. Пусть D — { 1, 2, 3). Указать значения некоторых ионов различной местности. >> Значения одноместного иона на D = {1, 2, 3) даны в табл. 2.7. Таблица 2.7 а /{, /1 1\ а 1\ /5 п 1\ 1 л Л л л и И И И 2 л Л и и л Л И И 3 л И л и л и л и Различных значений двухместного ► иона А (а, Ь) на D = (I , 2, 3) имеется 29 = 512. Выпишем некоторые из них: /47, /312, /497. Имеем: 47,о = 0001011112, 312,0 = 1 о 8, N5 497,0 = 1111100012 (табл. 2.8). Таблица 2.8 а 1 1 1 1 2 2 2 3 3 Ь 1 2 3 1 2 3 I 1 2 3 /47 л л л и Л И и И И /5.2 и л Л и и и л Л Л /497 и и И и и л л Л и < Пример 2.7. Пусть D = {1, 2, ..., п}. Определить число значений на D m-местного иона Л (а,, ..., ат). ^ Можно составить k — nm различных наборов значений m переменных а,, .... на л-элементной области, тогда число значений иона А(а\у ..., ат) на £> = {1, 2, ..., «} равно 2*. 4 3. Буквы третьей категории — знаки логических операций V, 3, "1, Д, V, Истинностные таблицы для операций ~1, Д, V, =>, ~, с помощью которых вычисляются истинностные значения молекул в алгебре высказываний, по существу, сохраняют силу и в алгебре предикатов. Например, пусть на некоторой предметной области D формулы А (а) и В (а) характеризуются логическими функ¬ циями li(a) и lj(a) соответственно. Тогда формула А(а)/\ /\В(а) характеризуется логической функцией //(а)Д Д/Да), принимающей значение И при всех тех и только тех значениях а, при которых значение И имеет как логическая функция /,(а), так и логическая функция /Да). Обозначая через DA и DB области истинности логических функций, характеризующих формулы А(а) и В (а) соответственно, область истинности Daab логической функции, характеризующей формулу А(а)/\В(а\ можно изобразить диаграммой Венна (рис. 2.1). 82
Рис. 2.3 Рис. 2.4 Подобным образом переформулируются определения и для других логических операций. Не приводя подробных словесных формулировок этих определений, покажем на диаграммах Венна области истинности логических функций (заштрихованы), характеризующих формулы ~\А(а) (рис. 2.2), A(a)\J В{а) (рис. 2.3), Л(а)зВ(а) (рис. 2.4), А(а)~В(а) (рис. 2.5). Аналогично даются такие определения и для формул, зависящих более чем от одной переменной. Осталось определить процедуру вычисления значений формул Va/1 и ЗаА. Пусть формула А на данной предметной области D по-прежнему характеризуется логической функцией Ца). Будем считать, по определению, что фор- мулахУali(a) имеет истинностное значение И тогда и только тогда, когда //(а) имеет это значение при всех а из D, а фор- 1 Результат подстановки в формулу значений предметных пере-' менных и ионов мы также будем называть формулой. В то же время подобные записи не подпадают под определение 2.4. Однако в интерпретации удобно пользоваться расширенным алфавитом, включающим дополнительно и имена логических функций, рассматриваемых в той же категории, что и ионы, а следовательно, и расширенным толкованием формулы. 83
мула 3ali(a) — тогда и только тогда, когда Ца) имеет значение И хотя бы при одном а из D. Запись вида УаА будем читать «для любого а (имеет место) А», а запись 3аА — «хотя бы при одном а (имеет место) А». Возможно использование и других синонимов указанных языковых оборотов. Знаки V и 3 называют кванторами, знак V — квантором (все)общности, знак 3 — квантором существования. 4. Буквы четвертой категории — скобки (, ) —самостоятельного смысла не имеют и играют роль знаков препинания. 2.1.6. Свободные и связанные вхождения переменных. Замкнутая и открытая формулы Переменные используют в формулах по-разному. Рассмотрим, например, записи: m/(az — 1) и 1>п=2п/(п — 1). Если в первой записи переменную п заменить любым натуральным числом, то получится числовой терм (по школьной терминологии — числовое выражение), имеющий некоторое числовое значение, если оказываются выполнимыми все операции, входящие в терм. Если же хотя бы одна из операций окажется невыполнимой, то этот терм не имеет значения, или, как еще говорят, неопределен. Например, при п — 2 получится терм 2/(2 — 1), значение которого равно 2, а при ti = 1 — терм 1/(1 — 1), не имеющий значения. Если же подобную замену произвести во второй записи, например п заменить числом 5, то получим бессмысленное знакосочетание 25=25/(5— 1). Дело здесь в том, что эта запись является единым символом, обозначающим сумму 2/(2 - 1) + 3/(3 - 1) + 4/(4 - 1) + 5/(5 - 1), не содержащую переменных. Чтобы отразить указанное различие в использовании переменных, говорят, что в первом выражении переменная п в обоих вхождениях свободна, а во втором переменная п во всех трех вхождениях связана знаком 2h^2, причем в выражении п/(п— 1), стоящем после указанного знака, переменная п свободна. Говорят еще, что содержание второго выражения не зависит от связанной переменной п в том смысле, что переменной п вообще нельзя приписать никаких значений. Вот еще некоторые примеры выражений, содержащих связанные вхождения переменных: 84
(5) «наименьшее у, такое, что у2 ^ х». 2 В выражении (1) переменная х связана знаком \ -dx, в (2) — I знаком lim , в выражении (4) переменная х связана, а у — свободна. *->о Имеются записи, как, например, (3), в которых одна и та же буква выступает и как свободная, и как связанная переменная: вхождение ху обозначающее верхний предел интеграла (3), свободно. Оба вхождения х в подынтегральное выражение x2dx записи (3) связаны. Отметим, что, если переменная связана, ее можно заменить любой другой буквой, не меняя при этом смысл выражения. Например, выражения X X 5 x2dx и \ y2dy имеют один и тот же смысл, обозначают одну и ту же 1 1 числовую функцию, задаваемую термом (х3 —- 1)/3. Действительно, \*dx= й =T-T = T(jf3-I); 1 Г 2, у3\х X3 1 I, 1% )ydy= з11 = т - т = у^ -1}- 1 Если же переменная входит в выражение свободно, то при ее замене другой буквой выражение меняет смысл. Например, выражения X у X у \x2dx и \x2dx различны: \ x2dx = (х3 — 1 )/3; \x2dx — ii 1 1 =(у3 — 1)/3. Выражения (л:3 — 1 )/3 и (г/3 — 1)/3 различны, выражают разные функции, которые могут отличаться, в частности, своими областями определения, так как переменные х и у могут черпать свои значения из разных множеств. В выражении (5) переменная х свободна, а переменная у связана словосочетанием «наименьшее у такое, что». 5 х Роль, подобную операторам 2 , \ -dx, lim, «наимень- п = 2 1 Jf-^0 шее у, такое, что», в алгебре предикатов играют унарные логические операторы V* и Зх. Например, переменная х в формулах \fxP(x) и ЗхР(х) во всех своих вхождениях связана квантором, говорят еще, что на переменную х навешен квантор, или что квантор действует на переменную х. В формуле У/х(Р(х)А QM) все три вхождения переменной х связаны, а в формуле VxP(x)AQ(x) связаны лишь два первых вхождения переменной х, а третье — свободно. Формула, не содержащая свободных вхождений пере-
менных, называется замкнутой, в противном случае — открытой. Если х\, ..., хп — все различные переменные, имеющие в формуле А хотя бы одно свободное вхождение, то формула Vxi ... \fxnA называется замыканием формулы А. Ясно, что если формула А замкнута, то замыкание А — сама формула А. 2.1.7. Интерпретации формул. Предметные интерпретации формул Формулы алгебры предикатов — формальные объекты, слова в алфавите Лап. Они приобретают смысл только после того, когда буквы, из которых построена формула, получат определенную интерпретацию. Определение 2.5. Интерпретацией формулы алгебры предикатов называется пара (D, /), где D — непустое множество, называемое областью интерпретации (предметной областью), из которого черпают свои значения все предметные переменные формулы, f — отображение, сопоставляющее с каждым п-местным ионом п-местную логическую функцию, называемую в таком случае значением иона, при этом логические операторы V, 3, “1, Д, V, ~ имеют смысл, указанный в п. 2.1.5. В данной интерпретации всякая замкнутая формула является одним из способов выражения истинностного значения И либо J1, а всякая открытая формула выражает логическую функцию входящих в нее свободных переменных. Приведем некоторые примеры. Пример 2.8. Рассмотрим формулу PidQ\/P/\R. Найти ее значение, если (Р, Q, /?) = (И, JI, Л). ► Поскольку эта формула содержит только нульместные ионы, то очевидно, что значения рассматриваемой формулы не зависят от области интерпретации. В частности, при (Р, Q, R) — (И, Л, Л) на любой предметной области данная формула имеет своим значением значение Л. <4 Пример 2.9. Найти значения формулы Р =э Р(х\ если область интерпретации D = {1, 2, 3, 4, 5, 6), Р— И, Р(х) = ► Выполняя подстановку в данную формулу значений Р и Р(х), получаем формулу И =э /!з(*), выражающую логическую функцию переменной х. Выпишем в табл. 2.9 значения этой функции. Имеем 13т = 001ЮЬ. Выписываем значения логической функции 1\ъ(х\ а затем и значения интересующей нас функции И =э 1\3(х) (табл. 2.9). <4 Таблица 2.9 х 12 3 4 5 6 86 / \з(х) Л Л Hid/IsW Л Л И И Л И и и л и
Пример 2.10. Найти значения формулы Р zdVxP(x) в интерпретации: /) = {1, 2, 3, 4, 5, 6), Р= И, Р(х) — 1\з(х). ► После подстановки имеем формулу И zd \fxl !з(л:). Находим значение консеквента этой импликации Чх1\з(х). Так как среди значений логической функции 1\з(х) в рассматриваемой интерпретации есть значения J1 (см. вторую строку табл. 2.9), в частности /|3(1) = J1, то, по определению квантора общности, получаем, что формула V*/'з(х) имеет значение Л. Поэтому и формула И zd Ух1\з(х) имеет значение J1. А Пример 2.11. Найти значения формулы РиэЗхР(х) в интерпретации: D = {1, 2, 3, 4, 5, 6), Р= И, Р{х) = 1\з(х). ► После подстановки имеем формулу И zd Зх1\з{х). Так как среди значений функции /!з(х) есть значения И, в частности /!3(3) = И, по определению квантора существования, получаем, что формула Зх1\з(х) имеет значение И. Поэтому и формула zz> Зх1\з(х) имеет значение И. <4 Пример 2.12. Найти значения формулы P(x)~Q(x) в интерпретации: D={ 1, 2, 3, 4, 5, 6), Р(х) = 1'з7(х), Q(x) = 1\з(х). ► В этой интерпретации формула P(x)~Q(x) выражает логическую функцию 1зт{х) г** 1\з(х), описываемую в четвертой строке табл. 2.10. При этом мы учитываем, что 37ю= ЮОЮЬ. Т а б л и ц а 2.10 X 1 2 3 4 5 6 1Ш И л Л и л и 1\з(х) Л л и и л и 1з7(х) ~ 1\з{х) л и л и и и < Пример 2.13. Найти значения формул Р(х)/\VxQ(x) и Р(х)Д ДЭ*<3(л:) в интерпретации: D — { 1, 2, 3, 4, 5, 6), Р(х) = 1\т(х\ Q(x) = = /!з(*). Первая из формул выражает логическую функцию /з7(лг) Д Д Ул:/!з(^), второй член которой Ух1\з(х) имеет значение J1. Значит, учитывая определение конъюнкции, получаем, что логическая функция /37МЛУх1\з{х) тождественно равна J1. Легко видеть, что вторая формула выражает логическую функцию 1зт{х) /\3х1\з{х), значения которой совпадают со значениями функции 1зт{х) (см. табл. 2.10). 4 Пример 2.14. Найти значения формулы 3уР{х, у) в интерпретации D ={1, 2, 3}, Р(х, */)= lh\(x, у). ^ В этой интерпретации формула выражает логическую функцию Зу1'2\з\(х, у) переменной х. Для вычисления значений этой функции находим вначале явно функцию /ш(*, у), учитывая 131 ю = 01000001 Ь (табл. 2.11). Таблица 2.11 л: 1 1 1 2 2 2 3 3 3 У 1 2 3 1 2 3 1 2 3 Лз1 (*, у) л и Л л Л Л Л И и 87
Вычисляем теперь значения логической функции 3ylh\(x, у). Пусть х=\. Тогда имеем функцию 3*//ш(1, у). Для нахождения ее значений нужно знать значения функции /ш(1, у). Из табл. 2.11 имеем: /ш(1, 1)=Л, /?3i(1, 2)= И, /?3i(1, 3) = J1. По определению квантора существования, получим, что Эг//?з1 (1, у)— И. При х — 2 находим значение функции 3y/hi(2, у). По табл. 2.11 получаем: /ш(2, 1) = Л, /?3i (2, 2) — Л, /? 31 (2, 3) = Л. Поэтому 3*//?з.(2, */) = Л. Если л: = 3, имеем функцию 3*//?3i(3, у\ для которой /?3i(3, 1) = = Л, /?31 (3, 2)= И, /?3.(3, 3)= И. Поэтому 3*//?3i(3, у)= И. М Пример 2.15. Найти значение формулы Vx3уР(х, у) в интерпретации: £> = {1, 2, 3), Р(х, y)=lh\(x, у). ^ После выполнения подстановки получаем замкнутую формулу Vx3ylhi(x, у). Чтобы найти ее истинностное значение, рассмотрим значения формулы Зу12\з\(х, у), вычисленные в примере 2.14. По определению квантора общности, \fx3ylhi (х, у) = Л. А Пример 2.16. Найти значение замкнутой формулы Vx3y Р(х,у) zd zd 3yVxP(x, у) в интерпретации примера 2.15. ^ После подстановки получим формулу Vx3ylh\(x, y)zD 3yVxlhi(x, у). В примере 2.15 установлено, что V*3ylhi(x, у) —Я. Поэтому, учитывая определение импликации, заключаем, что, каково бы ни было истинностное значение замкнутой формулы 3yVxl\z\(х, у), сама импликация \fx3yth\(x, */):=> ЗуУ/xl\z\{x, у) имеет значение И. <4 До сих пор мы рассматривали интерпретации формул алгебры предикатов, не конкретизируя область интерпретации и логические функции. В п. 1.1.5 мы отмечали, что истинностные значения И и J1, являясь значениями атомов алгебры высказываний, в свою очередь, в конкретных областях человеческого знания, имеют различные конкретные интерпретации. К примеру, интерпретациями 2 И являются и «3>> 2», и «\ x2dx = 7/3», и «Ю. А. Гага- 1 рин — первый в мире космонавт», и «Существительное «пальто» не склоняется», и т. п. В свою очередь JI имеет 2 такие интерпретации: «2> 3», «\ x2dx = 8/3», «Петр I — 1 первый в мире космонавт», «Существительное «человек» не склоняется» и т. п. Точно так же и логические функции имеют самые различные интерпретации. Например, если D = {1, 2}, то логическая функция /1 (аг)[/1 (1) = J1; /1(2) — И] (см. табл. 2.5) —это и «х> 1», и «х—простое число», и «х кратно 2», если считать, что элементы 1 и 2 области D совпадают с целыми числами 1 и 2 соответственно, а также «х — человек», если 1 — это змей-горыныч, а 2 — это Аристотель, как и «Существительное х склоняется», если 1 — это «пальто», а 2 — «человек» и т. п. 88
Другими словами, одна и та же логическая функция описывает бесконечное множество различных свойств или отношений. Если теперь ионам мы будем приписывать в интерпретациях в качестве значений не логические функции, а конкретные отношения, то получим так называемые предметные интерпретации. Определение 2.6. Предметной интерпретацией формулы алгебры предикатов называется интерпретация этой формулы, в которой с каждым п-местным ионом сопоставляется не логическая функция, а конкретное п-местное отношение. Приведем примеры предметных интерпретаций некоторых формул алгебры предикатов. Пример 2.17. Указать предметную интерпретацию формулы \/x(P(x)VQ(x)zd1R(x)). (2.1) ► Пусть область интерпретации D есть множество N натуральных чисел, Р(х) — логическая функция «Десятичная запись числа х оканчивается цифрой 2», Q(x)—«Десятичная запись числа х оканчивается цифрой 3», R(x)—«Число х делится на 5». Тогда формула (2.1) интерпретируется так: «Ул:((Десятичная запись числа х оканчивается цифрой 2) V (Десятичная запись числа х оканчивается цифрой 3) :э =)~1 (Число х делится на 5))», что на русском языке будет читаться так: «Для любого натурального числа х, если его десятичная запись оканчивается цифрами 2 или 3, то число х не делится на 5». Пусть D = N, Р(х) — «х> 2», Q(x) — «х — четное число», R(x) — «х—простое число». Тогда формула (2.1) интерпретируется как ложное высказывание «Для любого х, если х> 2 или х — четное число, то х не является простым числом». Пусть D — множество живых существ, Р(х) — «х — кошка», Q(x)—«х — собака», R(x) — «Выгул х разрешен». Тогда формула (2.1) интерпретируется как распоряжение «Для любого х, если х — кошка или х — собака, то выгул х не разрешен», или, более коротко, «Выгул кошек или собак воспрещен». <4 Пример 2.18. Интерпретировать формулу VyP(x, у), если D — N, а Р(х, у) — отношение х\у {«х делит у»). ^ Рассматриваемая формула при данных условиях — это одноместное отношение Уу(х\у\ которое выполняется только при х=\. При всех других значениях х это отношение не выполняется, например, высказывание >/у(Ъ\у) — число 5 делит любое натуральное число — ложно. <4 2.1.8. Истинностные таблицы формул алгебры предикатов Значение любой формулы алгебры предикатов при данной области интерпретации, данных значениях предметных переменных, имеющих свободные вхождения в формулу, и данных значениях ионов, входящих в формулу, есть, как и в алгебре высказываний, либо И, либо «П. 89
Рассмотрим примеры вычисления истинностного значения формулы в алгебре предикатов. Пример 2.19. Найти истинностное значение формулы VxP(x, y)\J \/(3xVz(Q(x, y)zD R A Q(J/, z))), если Z> = {1, 2, 3}, y = 2, = P(x, у) = /1|2(х, y), Q(x, y) = lh(x, y). ^ После подстановки значений переменных и ионов в формулу получим Vjt/1.2(*, 2) V(3xVz(lb(x, 2) ID Л Д /47(2, 2))). (2.2) По табл. 2.8 находим $12(1, 2) = Л, поэтому, уже не находя /312(2, 2) и /312(3, 2), заключаем, что V*/fi2(*, 2) = Л. Следовательно, значение дизъюнкции (2.2) определяется ее вторым членом, а именно совпадает с его значением. Вычисляем его. По определению конъюнкции Л Л ^7(2, г) = Л и значения импликации lh{x, 2)=эЛД/47(2, z) теперь определяются исключительно значениями функции /47(л:, 2), совпадая со значениями ее отрицания llb(x, 2). Таким образом, значение второго члена дизъюнкции (2.2) совпадает со значением формулы ЗхУг1/и(х, 2) или, учитывая, что /47^, 2) не зависит от z, со значением формулы Зх I/47(х, 2). По табл. 2.8 находим, что /47(1, 2) = Л, значит, 1/47(1, 2) = И и 3x~\lh(x, 2)= И. Поэтому второй член дизъюнкции (2.2) имеет значение И, значит, это значение имеет и сама дизъюнкция (2.2). 4 Пусть теперь требуется найти значения данной формулы при всевозможных наборах значений переменных, имеющих свободные вхождения в формулу, и ионов, входящих в формулу, другими словами, составить истинностную таблицу формулы. Пример 2.20. Составить истинностную таблицу формулы Зх(Р\/ VQ(x))zDQ(y) на D = {1, 2}. ► Значения формулы зависят от значений переменной у, свободной в единственном своем вхождении, нульместного иона Р и одноместного иона Q{x). Поскольку у имеет два значения, Р — два значения, Q(x) — четыре значения (см. табл. 2.2), то всего искомая таблица будет содержать 2X2X4= 16 строк: каждая строка будет содержать значения переменной г/, значение иона Р и значение иона Q(x), а также соответствующее значение формулы (см. табл. 2.12). Приводим обоснование табл. 2.12. Вот подробные вычисления для первой строки (пояснения приводятся ниже). Зх(Р\/ Q(x))zd Q(y) 3x(MV/i(x))=D/i(l) (а) И ZD Jl (б) Л (в) Вначале мы подставляем распределение значений (1, И, 1о(х)) переменной у и ионов Р и Q(x) в исходную формулу, в результате чего получаем (а). Формула И\//о(х) имеет значение И при всех х, значит Эх(И V/о(*)) = И; по табл. 2.5 имеем /о(1) = Л. Мы получаем И=эЛ. Откуда, по определению импликации, получаем окончательно для всей формулы значение Л. 90
Таблица 2.12 Номер строки Q(x) 3 x(PVQ(x))^Q(y) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 И И И и л л л л и и и и л л л л I'M 1Кх) tkx) flw ЙМ ЙМ /м Й« lo(x) ll(x) ikx) l\(x) / w / (*) h{x) A (x) Л Л и и и л и и л и л и и и л и При составлении табл. 2.12 возможны определенные сокращения. Так, если при некотором значении у Q(y) истинно, то и формула истинна. Обоснование строк 2, 5, 6, 9, 11, 13, 15 предоставляется читателю в качестве упражнения. 4 Определение 2.7. Истинностной таблицей формулы алгебры предикатов в заданной области D называется таблица, содержащая всевозможные наборы значений переменных, имеющих свободные вхождения в формулу, и ионов, входящих в формулу, и соответствующие этим наборам истинностные значения самой формулы. Проиллюстрируем это определение еще некоторыми примерами. Пример 2.21. Составить истинностные таблицы формул V0(3U(PV <?(*))=> Q(y)) и Зу(Зх(Р\/ Q(x)) zd Q(y)) на £> = {1, 2}. ^ Значения данных формул приводятся в табл. 2.13. При вычислении значений этих формул можно воспользоваться табл. 2.12, соединяя в пары ее строки. 4 Таблица 2.13 Номер строки Q(x) Vy(3x(P\/Q(x))=>Q(y)) 3y(3x(PVQ(x))z>Q(y)) 1 И /(*) Л л 2 И /1м Л и 3 И /(*) Л и 4 и ЙМ И и 5 л 1о(х) И и 6 л 1\(х) Л и 7 л %Х) Л и 8 л ЙМ и и 91
Итак, если задана конечная область D (для построения истинностной таблицы важно даже не задание самой конечной области Д а указание числа \D\ ее элементов), то всегда можно построить, хотя бы в принципе, истинностную таблицу любой формулы А алгебры предикатов. На практике, если число \D\ элементов области D велико или если формула А достаточно сложна, процедура вычисления может оказаться весьма продолжительной. Если область D бесконечна, то и истинностная таблица становится бесконечным объектом и ее невозможно построить, даже в принципе. В то же время идея такой таблицы совершенно ясна и о ней можно рассуждать. В дальнейшем нам придется иметь дело с бесконечными истинностными таблицами и их оценкой. Отметим еще, что в алгебре предикатов каждая формула, имеющая хотя бы одно свободное вхождение какой-то переменной, имеет бесконечное множество истинностных таблиц (по одной истинностной таблице для каждой области: одноэлементной, двухэлементной, трехэлементной и т. д.). 2.1.9. Отношение равносильности формул алгебры предикатов Определение 2.8. Формулы А и В алгебры предикатов называются равносильными, если в любой предметной области D их истинностные таблицы совпадают. Равносильность формул А и В, как и в алгебре высказываний, обозначим А=В. Отношение равносильности формул алгебры предикатов является отношением эквивалентности. Все равносильности формул из алгебры высказываний сохраняют силу и в алгебре предикатов. Но в алгебре предикатов имеются и новые равносильности формул, содержащих кванторы. Приведем некоторые из них. Предложение 2.1. Пусть х и у — произвольные переменные, не обязательно различные, А(ху у)у В(х) и С(х) — произвольные формулы, Е — произвольная формула, не содержащая свободных вхождений х. Пусть далее в равносильностях (I) и (2) переменная у не входит свободно в В(х)у кроме случая у = ху В (у) — результат подстановки у вместо всех свободных вхождений х в В(х) и у свободна для х в В (х). .Тогда справедливы следующие утверждения. 92
Законы переименования связанных переменных: (1) VxB(x) в ЧуВ{у) (2) 3хВ{х) = 3уВ{у). Законы перестановки одноименных кванторов: (3) VxVyA(x, у) = VyVxA(x, у) (4) 3x3уА(х, у) = ЗуЗхА(х, у). Законы отрицания кванторов: (5) ~1УхС(х) = Зх~ЛС(х) (6) 13хС(х) = Vx~\C(x). Законы введения отрицания в формулы с кванторами: (7) УхС(х)= 13х1С(х) (8) ЗхС(х) = ~\VxlC(x). Законы пронесения квантора общности через конъюнкцию: (9) VxB(x)/\ VxC(x)= Vх(В(х) АС(х)) (дистрибутивность квантора общности относительно конъюнкции). (10) £AVjcC(jc) = Vx(EAC(x)). Законы пронесения квантора существования через дизъюнкцию: (11) ЗхВ(х)\/ЗхС(х) = Зх(В(х)\/ С(х)) (дистрибутивность квантора существования относительно дизъюнкции). (12) Е\/ЗхС(х) = Зх(Е\/ С(х)). Закон пронесения квантора существования через конъюнкцию: (13) ЕАЗ*С(х)=Зх(ЕАС(х)). Закон пронесения квантора общности через дизъюнкцию: (14) Е\/УхС(х)^ Vx(E\/C(x)). Отметим, что квантор общности не дистрибутивен относительно дизъюнкции, а квантор существования — относительно конъюнкции. ^ В качестве образца рассмотрим доказательство равносильности (14). Пусть задана произвольная область интерпретации D. Рассмотрим истинностные таблицы формул Е\/ VхС(х) и Vjc(£VС(х)) в этой области. 1. Пусть имеем произвольную строку этих таблиц, в которой Е = И. В такой строке формула Е\/УхС(х) имеет значение И. Формула Е\/С(х)= И, причем при любом л:, так как формула Е не содержит свободных вхождений х. Следовательно, значение И имеет и формула Ух(Е\/ С(х)). Таким образом, равносильность (14) имеет место. 2. Рассмотрим теперь произвольную строку истинностных таблиц обеих формул, в которой £ = J1. Тогда значение формулы Е\/ЧхС(х) совпадает со значением, формулы \fxC(x). Пусть VxC(x) = И, тогда, по определению квантора общности, C(x)=W при всех х, а следовательно, и Е\/С(х) = И при всех х, так как Е не содержит свободных вхождений х. Поэтому значение И имеет и формула 93
\fx(E\/ С(х)). Итак, если рассматривается строка, в которой Е = Ии VxC(x) = И, то имеет место требуемая равносильность. Пусть формула VxC(x), а следовательно, и E\J VхС(х) имеют значения J1. Тогда С(х) = Л хотя бы при одном ху при котором и формула E\J С(х) имеет значение J1. По определению квантора общности, формула Ух(Е\/ С(х)) имеет в этом случае значение J1. Итак, если рассматривается строка, в которой Е = J1 и VxC(x) = J1, то формулы Е\/УхС(х) и Vx(E\J С(х)) имеют одно и то же значение — JI. Итак, во всех строках своих истинностных таблиц формулы Е\/УхС(х) и \fx(E\/ С(х)) имеют одинаковые значения. Следовательно, £ V VхС(х) = Vx(£ V С(х)). А 2.1.10. Виды формул алгебры предикатов. Важнейшие общезначимые формулы алгебры предикатов В алгебре предикатов выделяют те же классы формул, что и в алгебре высказываний. Определение 2.9. Формула А алгебры предикатов называется общезначимой в области D, или \D\-общезначимой (обозначение \=оА)> если в этой области столбец (строка) значений формулы А в ее истинностной таблице содержит одни И. Формула А называется общезначимой (независимо от области), если она общезначима в любой области. Определение 2.10. Формула А называется невыполнимой в области D, если в этой области столбец (строка) значений формулы А в ее истинностной таблице содержит одни J1. Формула А называется невыполнимой, если она невыполнима ни в одной области D. Определение 2.11. Формула А называется нейтральной в области D, если в этой области столбец (строка) значений формулы А в ее истинностной таблице содержит хотя бы одно И и хотя бы одно J1. Формула А называется нейтральной, если она нейтральна хотя бы в одной области. Определение 2.12. Формула А называется выполнимой в области D, если в этой области столбец (строка) значений формулы А в ее истинностной таблице содержит хотя бы одно И. Формула А называется выполнимой, если она выполнима хотя бы в одной области. Определение 2.13. Формула А называется необщезначимой в области D, если в этой области столбец (строка) 94
значений формулы А в ее истинностной таблице содержит хотя бы одно JI. Формула А называется необщезначимой, если она необщезначима хотя бы в одной области. Установим некоторые свойства общезначимых формул. Прежде всего относительно обобщения предложения 1.5 о подстановке вместо атомов скажем, что это обобщение в общем виде громоздко и мы проведем его только для частного случая, когда формула, в которую производится подстановка, есть формула алгебры высказываний. Легко видеть, что в этом случае проходит доказательство предложения 1.5. Таким образом, справедливо следующее: Предложение 2.2. Пусть Е — любая формула алгебры высказываний, содержащая только атомы (нульместные ионы алгебры предикатов) Рi, ..., Рл, а Е* — формула, полученная из формулы Е одновременной подстановкой произвольных формул А\, ..., Ап алгебры предикатов вместо атомов Pi, ..., Рп. Тогда если (= Е, то [=£*• Сохраняют силу и предложения 1.6 и 1.8, причем доказательства их в алгебре высказываний практически без изменений переносятся и в алгебру предикатов. Обобщая предложение 1.7, получаем следующее Предложение 2.3. Если А и В — произвольные формулы алгебры предикатов, то \=А~В тогда и только тогда, когда А = В. ► 1. Пусть |=А~ В, т. е. формула А~ В общезначима в любой области D, тогда, по определению эквиваленции, формулы А и В имеют одинаковые значения при всех возможных наборах значений свободных переменных и ионов, входящих в А или В, иными словами, истинностные таблицы формул А и В совпадают в любой предметной области D и по определению 2.8 А = В. 2. Пусть А = В. Тогда в любой предметной области D истинностные таблицы формул А и В совпадают. Это значит, что при любых наборах значений свободных переменных и ионов, входящих в формулы А или Ву эти формулы имеют одинаковые истинностные значения. Но в этом случае \=А~В. А В силу предложения 2.2 предложение 1.9 верно для любых формул Л, В, С алгебры предикатов. Таким образом, в алгебре предикатов будут общезначимы все 50 формул, указанных в предложении 1.9. Применяя к предложению 2.1 результат предложения 2.3, получаем следующие общезначимые формулы алгебры предикатов. 95
Законы переименования связанных переменных: (51) VxB(x) ~ VyB(y) (52) 3хВ(х) ~ 3уВ(у). В формулах (51) и (52) у не входит свободно в В(х\ кроме случая у = ху В (у) — результат подстановки у вместо всех свободных вхождений х в В(х) и у свободна для X в В(х). Законы перестановки одноименных кванторов: (53) VxVyA(x, у)~ VyVxA(x, у) (54) 3x3уА(ху у)~ ЗуЗхА(х, у). Законы отрицания кванторов: (55) 1 V*C(*) - Зх1С(х) (56) 13хС(х) ~ Vx~]C(x). Законы введения отрицания в формулы с кванторами: (57) У/хС(х)~ 13x1 С(х) (58) ЗхС(х) ~ ~\\fxlC(x). Законы пронесения квантора общности через конъюнкцию: (59) VxB(x)/\ VxC(x) ~ Vx(B(x)/\ С(х)) (дистрибутивность квантора общности относительно конъюнкции). (60) EAVxC(x) ~ Vx(E Л С(х)). Законы пронесения квантора существования через дизъюнкцию: (61) ЗхВ(х)\/ЗхС(х) ~ 3х(В(х)\/ С(х)) (дистрибутивность квантора существования относительно дизъюнкции). (62) Е \/ЗхС(х) ~ Зх(Е\/ С(х)). Закон пронесения квантора существования через конъюнкцию: (63) ЕЛЗхС(х) ~ Зх(ЕАС(х)). Закон пронесения квантора общности через дизъюнкцию: (64) E\/VxC{x) ~ Чх(Е\/С(х)). Укажем еще четыре важных закона, выражаемых следующими общезначимыми формулами алгебры предикатов. (65) VxB(x) zd ЗхВ{х) (изменение квантора общности на квантор существования). (66) Зх\/уА(х, у) =э VуЗхА (х, у) (перестановка разноименных кванторов). (67) Зх(В(х)/\ С(х)) zd ЗхВ{х)/\ЗхС(х) (пронесение квантора существования через конъюнкцию). (68) VxA(x) V VxB(x)zd Vх{А(х)\/ В(х)) (пронесение квантора общности через дизъюнкцию). ^ Установим в качестве образца доказательства общезначимость формулы (66) 3xVуА(х, y)zD Vy3xA(xy у). Допустим, что fe=3x\fyA (х, у) id VуЗхА (х, у). Тогда хотя бы в одной области Do должно существовать хотя бы одно значение формулы А(х, у) — логическая функция /;„(*, у\ для которой должна выполняться система условий: 96
fSxVyhXx, y)= И, I Vy3xlu(x, y) = Jl. (2-3) Из первого равенства системы (2.3), по определению квантора существования, получаем, что \fylio(x, у)= И хотя бы при одном х, которое обозначим хо, значит, V«//,.(jco, i/)= И. Из второго равенства системы (2.3), по определению квантора общности, получаем, что 3х/*0(х, у) = Л хотя бы при одном уу которое обозначим уо, значит, 3х//0(х, уо) = JI. Итак, для некоторой пары (хо, уо) должно быть: ( Vylilxо, у) = И, . ХЗхЦх, у0)=Л. ^‘4) Из первого равенства системы (2.4) получаем, по определению квантора общности, что lio(xо, у) = И при любом у, т. е. //0(хо, */) = И. Из второго равенства системы (2.4) получаем, по определению квантора существования, что lio(x, у0) = Л. Итак, (Цхо.у)=К, /2гч \Цх, у0)^Л. W Из первого тождества системы (2.5) получаем, что lio(xо, */о) = И, а из второго тождества этой системы полу¬ чаем, что /1о(хо, f/o) = J1. Но эти два равенства противоречат друг другу. Значит, наше допущение о необщезна- чимости формулы (66) неверно, т. е. формула (66) обще¬ значима. А 2.1.11. Важнейшие свойства общезначимых формул Установим те свойства общезначимых формул алгебры предикатов, которые в дальнейшем используем при формулировке исчисления предикатов. Пример 2.22. Доказать общезначимость VxP(x)=> Р(у). (2.6) ^ Допустим, что формула (2.6) необщезначима. Тогда должно существовать хотя бы одно значение lio(x) иона Р(х) и хотя бы одно значение уо переменной у в некоторой области Do, при которых V*/„M => /,„(г/о) = JI. По определению импликации, Vxljx) = И, lk(ij0) = Л. (2.7) 4 Зак. 2997 97
Итак, имеется такой элемент уо области Do, при котором логическая функция lio(x) принимает значение Л, но тогда, по определению квантора общности, Vxlie(x) — Л, что противоречит первому из равенств (2.7). 4 Чтобы обобщить результат утверждения (2.6) на случай произвольной формулы, требуется введение некоторых понятий. Подставить переменную с вместо переменной х в формулу А означает заменить все свободные вхождения переменной х в А переменной с. Для удобства введем обозначение А(х), чтобы показать зависимость формулы А от переменной х. Его не следует смешивать с называющими формами для предикатов: не обязательно, чтобы в А(х) буква х содержалась как свободная переменная, кроме этого не исключается, что А(х) содержит свободные вхождения других переменных (кроме переменной х). Подобный смысл имеют и обозначения А(с\ А(х, у)у А(су х) и т. д. Если А(х) — некоторая формула, то результат подстановки с вместо х в А(х) обозначим А(с). Указанная подстановка одной переменной вместо другой может изменить смысл формулы. Пусть, например, D = N, а А(х) — это формула >/у(у = х\ тогда А (у) — формула Уу{у — у)- Формулы Vy(y = x) и \/у(у—у) имеют разный смысл: если формула Уу(у = у) — истинное высказывание, выражающее свойство рефлексивности отношения равенства натуральных чисел, то формула Уу{у = х) — одноместное отношение, не выполняющееся ни при каком х. Причина происшедшего в результате подстановки изменения смысла формулы Уу(у = х) в том, что вхождение х в формулу Уу(у = х) свободное, в то время как третье вхождение у в формулу У/у{у = у\ полученное в результате подстановки, связанное. В каких же случаях подстановки не меняют смысла формулы? Если, например, выполнить подстановку переменной z в рассматриваемую формулу А(х\ то получим формулу A(z), имеющую вид Vy(y — z). Формула A(z) имеет тот же смысл, что и формула А(х), и в формуле A(z) вхождение г, полученное в результате подстановки, свободное. Определение 2.14. Пусть х — произвольная переменная, А(х) — произвольная формула, не обязательно содержащая свободные вхождения х, с — произвольная переменная, не обязательно отличная от х, А (с) — результат подстановки переменной с вместо всех свободных вхождений х в А(х). Тогда если все вхождения с, получен¬ 98
ные в результате подстановки, свободны, то говорят, что подстановка с вместо х в А(х) свободна (с свободна для х в А(х)). Пример 2.23. Определить, свободна ли у для х в формуле А(х) = — QMV УхР(х, у) ID VzP(z, х). ^ Найдем А (у). Это Q{y)\/VxP(x, y)iDVzP(z, у). Первое и третье вхождения переменной у в формулу А (у) получены в результате подстановки у вместо ху и оба они свободны, значит, у свободна для х в А (х). 4 Пример 2.24. Определить, свободна ли z для t в формуле A(t) — = P{t, х)\у VtP(t, x)zdVzP(z, t). Найдем A(z). Это P(z, x)\/VtP(t, x):z>VzP(z, z). Первое и четвертое вхождения 2 получены в результате подстановки z вместо t в A(t), но первое вхождение z свободно, четвертое же связано. Значит, z не свободна для t в A(t). 4 Пример 2.25. Свободна ли х для z в формуле A(z) = Q(x)\/ \/VxP(xt */)=> VzP(z, x). )► Тогда A(x) — это Q(x)\/VxP(x, y)^>VzP(z, x). Формула A(x) имеет четыре вхождения переменной xt но ни одно из них не получено в результате подстановки х вместо z в A(z): формула A(z) просто не содержит свободных вхождений z. Таким образом, А(х) не содержит таких вхождений х, которые были бы получены в результате подстановки х вместо z в A(z) и оказались связанными. Значит, подстановка х вместо z в A (z) свободна. 4 Предложение 2.4. Пусть х — произвольная переменная, А(х) — произвольная формула, с — произвольная переменная, не обязательно отличная от х, А (с) — результат подстановки переменной с вместо всех свободных вхождений х в А(х). Тогда если с свободна для х в А(х), то общезначимы формулы: (69) V xA(x)zd А (с) (закон универсальной конкретизации, УКо). (70) A(c)zd3xA(x) (закон экзистенциального обобщения, ЭО^. ^ Покажем вначале общезначимость формулы (69). Рассмотрим произвольную область Do и произвольный набор значений переменных, имеющих свободные вхождения в эту формулу, и ионов, в нее входящих. При вычислении значения формулы (69) в этом случае значение А (с) обязательно будет среди значений во вспомогательной таблице формулы А(х)у используемой для вычисления значения формулы \f хА{х\ так как А (с) — то значение А(х), которое получается, когда переменной х ставится в соответствие тот же элемент области Do, что и с. Утверждение, что значения А(с) и А(х) совпадут, если переменным с их приписать в качестве значений один и тот же элемент области Do, вытекает из условия, что 4’ 99
с свободна для х в А(х). Теперь понятно, что в силу определения квантора общности значение А (с) может быть J1 разве лишь тогда, когда значение J1 имеет и формула \/хА(х)у но и в этом случае импликация (69) имеет значение И. Если же А (с) имеет значение И, то импликация (69) тоже имеет значение И. Теперь докажем общезначимость формулы (70). Рассмотрим истинностную таблицу формулы А (с) id ЗхА (х) в произвольной области D0. Если в некоторой строке этой таблицы формула А (с) имеет значение J1, то формула А (с) zd ЭхА (х) имеет значение И. Если же рассматривается строка, в которой А (с) имеет значение И, то во вспомогательной таблице для А(х) в той строке, в которой значение х совпадает со значением с, также будет значение И: строки А(с) и А(х), когда с = ху совпадут, так как с свободна для х в А(х). А Следствие. Если ^=УхА(х), то \=А(х). ^ Учитывая, что формула (69) общезначима, и беря с — ху получаем (= УхЛ (х) zd А (х). Теперь, используя условие доказываемого следствия \=ЧхА(х) и распространяя предложение 1.6 на алгебру предикатов, имеем [=А(х). <4 Пример 2.26. Проиллюстрировать доказательство общезначимости формулы (69), считая, что A(t)—\ftQ(t, x)d 3 zP(zt t). ^ Пусть с —у, тогда А(у) — это V/Q(/, x)zd3zP(z, у) и вхождение у в А (у), полученное в результате подстановки, свободно. Значит, у свободна для t в A(t) и предложение 2.4 здесь применимо. Поэтому h V/(V/Q(/, jt)=> 3zP{z, /))z> V/Q(/, *)=> ЭzP(z, y). Для иллюстрации доказательства на примере выписанной формулы положим: D = {1, 2) и (х, у, Р(х, у), Q(x, у)) = (2,2, ll(x, у), li(x, у)). Тогда значения в обеих строках вспомогательной таблицы для формулы A(t), нужные для вычисления значения формулы VM(/), получаются при вычислении значений формул: Л(1) = v//i(/, 2)d3zll(z, 1), А (2) = V//§(/, 2) id 3zl\(z, 2), которые обе имеют значение И. Значение А(у) определяется формулой V//§(/, 2) id 3zll(z, 2), совпадающей с А (2). Поэтому А (у) — И. Если бы у было равно 2, то А (у) совпало бы с Л(1). Подобно для других значений переменной х и ионов Р(х, у) и Q(x, у). Если же в рассматриваемом примере, оставив A(t\ взять с = jz, то A(z) будет V/Q(/, х) и> 3zP(z, z) и третье вхождение 2, возникшее в результате подстановки z вместо t в A(t), не является свободным. Следовательно, подстановка не свободная и предложение 2.4 не применимо. Взяв тот же набор значений ху Р(х) и Q(x), получим для 100
A(t) при /= 1 и / = 2 значения Л(1) и А(2), которые вычислены выше, но значение A(z) имеет вид V//§(/, 2)id 3zll(z, z). Следовательно, A(z) не совпадает ни с /4(1), ни с А(2). Л(1)=И, А( 2)= И и поэтому V tA (/) = И, в то же время A(z) — J\, значит, формула VM(/) id Л (2), совпадающая в нашем примере с V/(V/Q(/, *)ID3zP(z, /)) ZD V/Q(/, Jt)=D32P(z, z), не общезначима. <4 Предложение 2.5. Пусть х — произвольная переменная, А(х) — произвольная формула, В — произвольная формула, не содержащая свободных вхождений х. Тогда: а) Если \= В zd А(х), то \= В zd\/xA(x). б) Если \= A(x)zd В, то \=3xA{x)zd В. ^ а) Оценим истинностную таблицу формулы В zd zdVxA(x) над некоторой областью Do. Если рассматривается набор значений переменных, имеющих свободные вхождения в А(х) или В, и ионов, входящих в А{х) или В, при котором В получает значение J1, то, по определению импликации, формула Bzd\/xA(x) имеет значение И. Пусть теперь имеем дело с набором, при котором В получает значение И. Тогда при любом наборе, получающемся из прежнего добавлением к нему некоторого значения х, формула А(х) получит значение И, так как формула BzdA(x) общезначима и формула В не зависит от х (она по условию не содержит свободных вхождений х). Иными словами, формула А(х) имеет значение И при любом х (если только В — И). В таком случае формула \fxA(x) имеет значение И, но тогда значение И имеет и формула В zd VxA(x). Итак, при любом наборе (в любой области) формула В zdVxA(x) имеет значение И, значит, |= В zd У/хА(х). б) По условию \= A{x)zd В. Рассмотрим истинностную таблицу формулы 3xA{x)zd В в произвольной области Do. Если рассматривать ту строку из этой таблицы, где В принимает значение И, то формула ЗхА(х) zd В имеет значение И. Пусть теперь рассматривается строка, в которой В принимает значение J1. Тогда, в силу независимости формулы В от х и общезначимости формулы А (х) zd В, имеем, что J1 — значение формулы А(х) при любом наборе, полученном из рассматриваемой строки добавлением какого-то значения х, т. е. формула А(х) имеет значение J1 при любом х. Но тогда, по определению квантора существо¬ 101
вания, формула VxA(x) имеет значение J1, а значит, формула VxA(x)zd В имеет значение И. Итак, в любой строке истинностной таблицы формулы УхЛ(х)=э В в любой области содержатся только одни И, .значит, \=VxA(x)zdB. А Следствие. Если (=Л(х), то ^=^fxA(x). ► По условию \=А(х), распространяя предложение 1.9 на алгебру предикатов по формуле (1) этого предложе- жения, имеем (= А (х) zd (P\J ~\Р zd А (х)), где Р—произвольный нульместный ион алгебры предикатов. Учитывая, что в алгебре предикатов справедливо предложение 1.6, получаем Р\/ IP zd А(х). Откуда, по предложению 2.5, а, имеем H^V HPzd \fxA(x). В силу общезначимости формулы (44) предложения 1.9 получаем \= Р\/1Р. Применяя еще раз предложение 1.6, получаем |= УхА(х). А Поясним установленное следствие. Пусть требуется доказать предложение: «Для любого действительного х справедливо sin2 х + cos2 х = 1». Обычно доказательство начинают такими словами: «Пусть х — произвольное (но фиксированное) действительное число», иногда это фиксирование даже помечают индексом «О». Доказав, что sin2 х0 + cos2 х0 = 1, заключают: «Поскольку хо было выбрано произвольно, то отсюда и вытекает требуемое утверждение». Обратите внимание, что подобное рассуждение связано с переходом от рассматривания переменной х как свободной переменной к рассматриванию ее как связанной квантором общности переменной. 2.1.12. Отношение логического следования в алгебре предикатов Обобщим теперь понятие логического следования из алгебры высказываний, введенное в п. 1.1.15. Определение 2.15. Формула В логически следует в области D из формул А\у ..., Ап в алгебре предикатов, если в этой области формула В принимает значение И хотя бы при всех тех наборах значений переменных, имеющих свободные вхождения хотя бы в одну из формул Л1, ..., Апу Ву и ионов, входящих хотя бы в одну из формул А\у ..., Ап, В, при которых значение И имеют все формулы А\у ..., Ап одновременно. Формула В логически следует из формул А\, ..., Ап (независимо от области), если В логически следует из Ai, Ап в любой области. 102
Следование формулы В из формул А\, Ап в области D обозначается: Ai, ..., Ап\= dB. Следование формулы В из формул At, ..., Ап обозначается: v4i, Anh В. Формулировка и доказательство предложения 1.10 и следствий из него, предложений 1.11 — 1.13 по существу без изменений переносятся в алгебру предикатов. Поэтому мы располагаем всеми основными правилами следования (см. п. 1.1.16) для операторов 1, Д, V» ^ ~ в алгебре предикатов. Докажем правила следования для новых операторов V и 3. Предложение 2.6. Пусть х — произвольная переменная, А(х) — произвольная формула, с — произвольная переменная, не обязательно отличная от х, А{с) — результат подстановки переменной с вместо всех свободных вхождений переменной х в формулу А(х)у Г — любое множество формул, возможно пустое, В — произвольная формула. Тогда: а) Если х не входит свободно в Г, то: если Г\=А(х), то Г[=Ул:Л(х) (правило введения квантора общности, ВКО, или правило универсального обобщения, УОб), б) Если с свободна для х в А{х), то УхА(х)\=А(с) (правило удаления квантора общности, УКО, или правило универсальной конкретизации, УКо). в) Если с свободна для х в А(х), то А(с)\= 3хА(х) (правило введения квантора существования, В КС, или правило экзистенциального обобщения, ЭО). г) Если х не входит свободно в Г и В, то если Г, А{х)\= В, то Г, ЗхА(х)\=В (правило удаления квантора существования, УКС). ^ а) По условию Г^=Л(л:), т. е. в любой области D при всех наборах значений ионов, входящих в формулы множества Г U И (*)}, и переменных, имеющих свободные вхождения в эти формулы, при которых все формулы множества Г имеют значение И, такое же значение имеет и формула А(х). Рассмотрим множество К этих наборов. Пусть ао^/С и в нем переменная х имеет значение хо. Если теперь в наборе ао значение хо заменить на другое значение переменной ху скажем х\, то получим набор ai, также принадлежащий /С, так как по условию формулы множества Г не зависят от х. Таким образом, множество К можно разбить на несколько классов наборов К1, КР, причем два любых набора из одного класса различаются только значениями переменной х. Мощность каждого класса Ki совпадает с мощностью множества, 103
из которого черпает свои значения переменная х. Теперь, если из каждого класса Ki взять по одному набору, отбросив значение для переменной ху то получим множество всех наборов L, при которых формулы множества Г принимают значение И одновременно. При каждом наборе из множества Г формула VxA(x) имеет значение И, так как если допустить, что при некотором |3 е L формула VxA(x) имеет значение JI, то тогда формула А(х) имеет значение л хотя бы при одном значении ху скажем х\ но набор, полученный пополнением набора |3 значением х' для переменной ху принадлежит /С, а для него формула А(х) должна иметь значение И. Итак, при всех наборах из L формула VxA(x) имеет значение И, значит, Г|= \fxA(x). б) В предложении 2.4 мы установили, что \=4xA(x)id zd А (с). Рассмотрим множество К всех тех наборов в некоторой области Do, при которых формула УхЛ(х) имеет значение И. Пусть aei(. Тогда при наборе а формула А (с) также получит значение И, так как с свободна для х в А(х). Если это не так, то при наборе а формула \/хА(х)~э А (с) получит значение Л, а значит, ^УхЛ(х)=э zd А(с)у что противоречит предложению 2.4. Доказательство утверждений в) и г) оставляем читателю в качестве упражнения. А Укажем еще на одно часто используемое правило — правило экзистенциальной конкретизации: 3xA(x)\=A{t) (правило ЭК), которое соответствует весьма распространенному способу рассуждения по схеме: «Пусть нами получена формула вида ЗхА(х). После этого обычно говорят: «Пусть t — такой объект, что A(t)» и продолжают рассуждение, приходя в конце концов к формуле, которая не содержит произвольно выбранного объекта t. При применении правила ЭК требуется соблюдение следующих условий: (1) Величина t является константой. (2) В выводе в качестве посылок можно использовать любые общезначимые формулы, включающие новые предметные константы, уже введенные ранее правилом ЭК. (3) Не допускается применение правила ВКО по переменным, свободным хотя бы в одной из формул вида ЗхА(х)у к которым ранее было применено правило ЭК. (4) Последняя формула не должна содержать новых предметных констант, введенных с помощью правила ЭК. 104
2.1.13. Применения языка алгебры предикатов Запись предложений естественного языка и их преобразование. Рассмотрим некоторые примеры. Пример 2.27. Записать на языке алгебры предикатов следующие предложения: 1) существует объект, обладающий свойством Р\ 2) существует не более одного объекта, обладающего свойством Р. ^ 1) Первое предложение переводится формулой алгебры преди¬ катов: ЗхР(х). 2) Второе предложение можно перевести формулой 13x3у{хф Ф у/\Р(х)/\Р(у)), которую преобразуем равносильным образом: ИЭхЭу(хфуАР(х)АР(у)) (i6) V*-|3у(хФуАР(х)АР(у)) (i6) = ЧхЧу1(хфуЛР(х)ЛР(у)) S' ЧхЧуО{хфу)\/ХР{х)ЛР(у)))^ = '1xVy(x = y\/^(P(x)AP(y))) ® VxVyO(P(x)AP(y))Vx = y) (= = VxVy(P(x)/\P(y)=> х = у). Последнюю формулу в этой цепочке равносильностей можно перевести таким предложением естественного языка: «Если два объекта имеют свойство Р, то они совпадают». 4 Пример 2.28. Записать на языке алгебры предикатов определение параллельных прямых «Две прямые параллельны, если они лежат в одной плоскости и не имеют общей точки или совпадают». ► Всякое явное определение с логической точки зрения является равносильностью или равенством, т. е. структура явного определения может быть передана такими записями: опр опр Dfd = Dfn или Dfd = Dfn, где Dfd (definiendum) — то, что определяется, определяемое; Dfn (idefiniens) — то, посредством чего определяется, определяющее; знак опр = читается «равносильно по определению» и ставится между Dfd опр и Dfn, когда они являются свойствами или отношениями; знак = читается «равно по определению» и ставится между Dfd и Dfn, когда опр _. опр они являются объектами, например loga b = х = ах = b\ а — 1 /а. 4 Учитывая сделанные пояснения, можно следующим образом записать данное определение параллельных прямых опр а\\Ь == За(а а а/\ b d а) Л (а П Ь — 0 \/а = Ь). Следует указать, что в подобных записях мы используем обычные обозначения для предикатов, принятые в тех теориях, к которым относятся записываемые предложения. Например, предикат «Прямая а параллельна прямой Ь» в геометрии имеет специальное обозначение: а || Ь. Предикат «Множество А включается в множество В» в теории множеств обозначается как А с В, а в записях примера 2.28 прямая а и плоскость а рассматриваются как множества точек, причем прямая а есть подмноже¬ 105
ство плоскости а. Предикат «Множества А и В не пересекаются» в теории множеств записывается как А [) В = — 0. Наконец, теоретико-множественный предикат равенства множеств А и В обозначают как А — В. Мы могли бы для указанных предикатов использовать и общие обозначения алгебры предикатов, например, предикат «прямая а параллельна прямой Ь» мы могли бы обозначить как Р(ау Ь)у но тогда наш перевод не был бы привычен и потому более труден в восприятии. Отметим еще, что в подобных записях мы считаем, что вначале выполняются специальные операции и предикаты, а затем уже логические операции в установленном порядке. С учетом этого мы и пишем формулы, опуская лишние скобки. Прежде чем приводить следующий пример, рассмотрим одно свойство отношения равносильности формул. Предложение 2.7. Для любых формул А и В алгебры предикатов: А = В тогда и только тогда, когда ~\А = ~ЛВ. Доказательство предложения 2.7 оставляем читателю в качестве упражнения. Пример 2.29. Что означает утверждение «Прямые а и b не параллельны»? ► В силу предложения 2.7, чтобы раскрыть смысл формулы 1(а || b)t надо найти отрицание формулы За (а а а Д b а а) Д (а П Ь — 0 \/ а — Ь). Имеем 1(а||£) = 1(За(ас:аД6с:а)Д(аП Ь = 0 V а = Ь)) == = 13а (а саДйса)\/ 1(а f) b = 0 У а = b) = 13а(а а /\Ь a a)\J \/а(]ЬФ 0 Ааф Ь. Но формула 13а(а с а Д b с а), означающая на русском языке «Не существует плоскости, содержащей обе прямые а и Ь>, передает отношение скрещивания прямых, а формула а П Ь ф & /\аф Ь, переводимая на русский язык предложением «Прямые а и b имеют общие точки, но не совпадают», выражает отношение пересечения прямых. Таким образом, непараллельность прямых означает их пересечение или скрещивание. 4 Пример 2.30. Записать на языке алгебры предикатоов так называемые «аристотелевские категорические суждения», часто используемые в рассуждениях: «Все S суть Р», «Некоторые 5 суть Р», «Ни одно 5 не суть Р», «Некоторые S не суть Р». ► Запись приводится в табл. 2.14. В первом столбце этой таблицы указан вид суждения, возникающий при классификации категорических суждений по сложному признаку, учитывающему количество (суждения общие и частные), выражаемое в формулировке квантор- ными словами «все», «некоторые», и качество (суждения утвердительные и отрицательные), которое передается связками «суть», «не суть», «есть». Во втором столбце даются обозначения, принятые для этих суждений в традиционной логике (буквы а, /, е, о являются первыми и вторыми гласными в словах: affirmo — утверждаю, tiego — отрицаю). Буквы S и Р напоминают о членах суждения, которые в традиционной логике называются субъект S и предикат Р; 5 и Р вместе называются терминами суждения. 106
Таблица 2.14 Запись в традиционной логике Вид суждения : Запись на языке алгебры Отношение между объемами Vs и Vr обозначе- А предикатов ни„ словесных формулировок Общеутвердительное SaP Все S суть Р Vx(S(x) zd Р(х)) Частноутвердительное SiP Некоторые 5 суть Р 3x(S(x)/\ Р(х)) о v v Общеотрицательное SeP Ни одно S не есть P. Vx(S(x) =э ПЯ(дг)) а v v ______ Все S не суть Р шсэш Частноотрицательное SoP Некоторые S не суть Р 3x(S(x)/\ ~\Р(х))
В третьем столбце дается стандартная словесная формулировка суждений в традиционной логике, а в пятом — их запись на языке алгебры предикатов, при этом S(jf) надо понимать как «х обладает свойством S», а Р(х) — как «х обладает свойством Р». В пятом столбце показаны отношения между объемами Vs и VP Понятий S и Р, если суждения a, i, е, о понимаются в наиболее общем виде, когда они дают исчерпывающую информацию только о субъекте. Например, из суждения «Все S суть Р» ясно, что речь идет обо всех S, объем же предиката не определен: идет ли речь обо всех объектах, обладающих свойством Р, или только о некоторых; только ли 5 суть Р, или и другие объекты тоже суть Р. Иногда эту неопределенность в отношении объема предиката Р устраняет контекст, иногда это устранение и не требуется. Чтобы подчеркнуть отношение объема VP к объему Vs, используют более определенную формулировку «Все S и не только 5 суть Р» или «Все 5 и только они суть Я». Вторая формулировка называется общевыделяющим утвердительным суждением. Первому суждению отвечает диаграмма Венна, представленная на рис. 1, а, второму—на рис. 1, б. С учетом сказанного суждение «Некоторые S суть Я» в общем виде понимается как «Некоторые S и не только они суть Я», чему соответствует диаграмма рис. 2, а, но оно может означать и «Некоторые S и только они суть Р» (рис. 2, б). Суждению «Все S не суть Я», понимаемому в общем виде, соответствует диаграмма на рис. 3, а. Этому же суждению в выделяющей форме «Все 5 и только они не являются Р» отвечает диаграмма на рис. 3, б. Такая формулировка соответствует описанию отношения между противоречащими понятиями, т. е. такими, объемы которых не пересекаются и исчерпывают объем более общего родового понятия. Наконец, суждению «Некоторые 5 не есть Р» в общем виде соответствует диаграмма на рис. 4, а, а в выделяющем виде «Некоторые S и только они не являются Р» — диаграмма на рис. 4, б. 4 Анализ рассуждений средствами алгебры предикатов. Рассмотрим этот процесс на примере, с которого начали изложение алгебры предикатов. Пример 2.31. Проанализировать рассуждение «Все люди смертны; Сократ — человек; следовательно, Сократ смертен». Первая посылка рассуждения есть общеутвердительное суждение (см. пример 2.30). ► Обозначения: Ч(х): х — человек; С(х): х — смертен; с — Сократ. Структура рассуждения: V*(4(*) => С(4 Ч(фС(с). (2.8) Пусть следование (2.8) не имеет места. Тогда в некоторой области Do должен существовать набор (а, Цх), 1,(х)) для (с, Ч(л'), С(х)), при котором будут выполняться следующие условия: Vjc(/f-(jf)=> //(*))= И; /,(а) = И; 11(а) = Л. Но тогда импликация /,(а) =>/Да) имеет значение J1, а значит, по определений квантора общности, \/х(Цх) =э //(*)) = J1, что противоречит первому условию. Поэтому следование 2.8 верное, а исходное рассуждение правильное. 4 Пример 2.32. Проанализировать рассуждение: «Всякая хоккейная команда, могущая победить ЦСКА,— команда высшей лиги. Ни одна команда высшей лиги не может победить ЦСКА. Значит ЦСКА непобедима». 108
^ Обозначения: П(дг): команда х может победить ЦСКА; В(х): команда х из высшей лиги. Структура рассуждения: У*(П(*)=> В(*)), V*(B(*)=d nn(jc))h ~ЯхП(х). Устанавливаем, правильно ли полученное следование, методом равносильных преобразований. Пользуясь следствием б) обобщения предложения 1.10, преобразовываем формулу Улг(П(х) id В(х)) Д Д Vx(B(jc) zd -]Щх)) id 13хП{х). Имеем: Vx(n (х) id В(х)) Д Vjc(B(х) id ~1 П (*)) id ПЗхП (х) = У*((П(*) гэ В(х)) Д(В(лг) гз 1П(л:))) => ПЗлгП{х) (= = 1Ух((П (ж-)гэ В (л:)) Л (В (х) => 1П(дг))) V 13*П(*) (= = "1(\/лг(П (лг) гз В (*)) А (В (х) ~з -1П (лг))) Д ЗхП (х)) = = 1CУлг(("I П (х) V В (х)) А С"IВ (л-) V 1П «)) Д ЭлгП (х)) = } > П(V* (СЛ П (х) V В (*)) А (1П (х) V 1В «)) Д ЗхП W)J8) = П(Vjt( Т П (дг) V (В (лг) л -|ВМ))ЛЗдгП(х)) = = ~l(Vjc (“I П (лг)V Л) Л ЭлгП (лг)) Д-|(УлЛП(л:)ЛЭл:П(л:))(= = П(-|ЭлгП(лг)ДЭлгП(лг)) = ~1(ЭлгП(лг)А -|ЭлгП(лг)) = ~1Л = И. В этих равносильных образованиях дважды использовалось свойство конъюнкции (а)ЛД"1Л=Л и один раз свойство дизъюнкции (Р)Л у Л = А. Таким образом, исходная формула общезначима, а значит, рассуждение правильное. 4 Пример 2.33. Проанализировать рассуждение: «Если бы какая-нибудь команда могла обыграть ЦСКА, то и какая-нибудь команда высшей лиги могла бы. «Динамо» (Минск) — команда высшей лиги, а не может обыграть ЦСКА. Значит, ЦСКА непобедима». ► Обозначения: П(х): команда х может победить ЦСКА; В(х): команда х из высшей лиги; д — «Динамо» (Минск). Структура рассуждения: ЗхЩх) ID Э*(В(*)ДП(*)), в (д) Д "1П (д) Н ЪхЩх). (2.9) Замечание. При формализации рассуждений следует учитывать, что в естественном языке во избежание частых повторов одних и тех же слов или словосочетаний широко пользуются синонимическими оборотами. Понятно, что при переводе они должны передаваться одной и той же формулой. В нашем примере такими синонимами являются предикаты «команда л: может обыграть ЦСКА» и «команда х может победить ЦСКА», и оба они передаются формулой П(х). Следование (2.9) неверно. Чтобы это доказать, достаточно указать хотя бы одну интерпретацию формул, выражающих посылки и заключение, в которой посылки будут принимать значение И, а заключение—значение Л. Такой интерпретацией, например, является следующая: D = [ 1, 2, 3, 4), П(х)=й(х), В(х) = /!з(х), д = 2. В этой интерпретации имеем: Зх119(х)^Зх(1\3(х) Д 1д(х)), I|3(2)Д 1 /9 (2) f= \= ~\3х1д(х), или, после вычислений, И zd И, ИД ПЛН ПИ, или И, ИН=Л. Итак, в этой интерпретации обе посылки имеют значение И, а заключение — значение Л. Значит, следование (2.9) неверно, а рассуждение неправильное. <4 109
Чтобы доказать, что некоторое следование неверно, можно воспользоваться и подходящим подбором предметной интерпретации, в которой посылки — истинные высказывания той теории, на языке которой строится интерпретация, заключение же — ложное высказывание этой теории. Для следования (2.9) такой интерпретацией может служить: D= N — множество натуральных чисел; П(х): «Число х делится на 2»; В(х): х — двузначное число. В этой интерпретации следование (2.9) становится таким рассуждением: «Если есть натуральное число, делящееся на 2, то есть и двузначное натуральное число, делящееся на 2; число 25 — двузначное, но не делится на 2; следовательно, нет чисел, делящихся на 2». В выписанной предметной интерпретации обе посылки — истинные высказывания арифметики натуральных чисел, а заключение — ложное высказывание этой арифметики. Значит, следование (2.9) неверно, как и рассуждение, из которого оно получено. 2.2. ИСЧИСЛЕНИЕ ПРЕДИКАТОВ 2.2.1. Алфавит и формулы теории PL. Система аксиомных схем. Правила вывода. Формальное доказательство. Формальный вывод Мы будем пользоваться тем же алфавитом и тем же определением формулы, что и в алгебре предикатов, сохраняя и прежнее соглашение об опускании скобок. Определение 2.16. Пусть А, В, С — произвольные формулы, х — произвольная переменная, А(х) — произвольная формула, с — произвольная переменная, не обязательно отличная от х, А (с) — результат подстановки с вместо всех свободных вхождений х в A(jc) и с свободна для х в А(х). Тогда всякая запись одного из следующих видов есть аксиома: (1) A zd(BzdA) (2) (A ID В) ZD ((A ZD (В ZD С)) ZD (A ID С)) (3) A id (В zd А /\ В) (4) AABid А (5) A ABid В (6 )AidA\/B (7) В zd А \/ В (8) (A id С) id ((В id С) zd (A VS => С)) (9) (Azd B)zd ((A id IB) zd ПЛ) (10) П1Л=>Л (11) (A ZD В) ID ((В ID A) ZD (А - В)) (12) (A~B)zd(AzdB) (13) (А~ B)zd(BidA) 110
(14) VxA(x)zdA(c) (15) A(c)^3xA(x). В нашем списке аксиомных схем схемы (1) — (13) — те же, что и в теории L, только теперь Л, Б, С — произвольные формулы логики предикатов. Схема (14) является единственной аксиомной схемой для оператора V, который ею удаляется, а схема (15) —для оператора 3, который вводится этой схемой. Определение 2.17. Правилами вывода в теории PL являются следующие три процедуры перехода: а) от формул вида А и A zd В к формуле вида В для любых формул А и В (правило modus ponens, МР); б) от формулы вида BzdA(x) к формуле вида Bzd zd \fxA(x\ для любых формул В и А(х), если В не содержит свободных вхождений х (правило обобщения, О); в) от формулы вида A(x)zd В к формуле вида 3хА(х) zd zd В для любых формул А(х) и В, если В не содержит свободных вхождений х (правило конкретизации, Кн). Определения формального доказательства, доказуемой формулы (теоремы), формального вывода, выводимой формулы даются так же, как и в теории L с точностью до добавления двух новых аксиомных схем (14) и (15) и двух новых правил вывода О и Кн. 2.2.2. Непротиворечивость теории PL Метатеорема 8 (МТ8). Если \-plE, то (=£*. ^ Все аксиомы теории PL общезначимы (см. предложения 1.9, 2.2, 2.4), а правила вывода AfP, О и Кн общезначимость не нарушают (см. замечание после предложения 2.2 и предложение 2.5). Поэтому в формальном доказательстве формулы Е все формулы, в том числе и последняя — сама Е, общезначимы. <4 Следствие. Теория PL (просто) непротиворечива. ^ Допустим, что PL (просто) противоречива. Тогда в силу определения 1.22 найдутся формулы Л и ПЛ, такие, что |—Л и |—ПЛ, а это невозможно в силу замечания после предложения 2.2. <4 Доказательство обращения МТ8 (если (=£, то [—plE) представляет значительные трудности и было найдено К. Гёделем в 1930 г. (теорема Гёделя). Из теоремы Гёделя, доказательство которой здесь не рассматривается, вытекает полнота теории PL относительно общезначимости. ill
2.2.3. Правила введения и удаления кванторов В теории PL сохраняют силу МТ1, МТ2, МТ5 (кроме правил ВИ (ТД), УД и ВО (RA)). Теорема дедукции в теории PL принимает такой вид. Метатеорема 9 ((МТ9), ТД, теорема дедукции для теории PL). Пусть Г, А |—В и в выводе формулы В из множества формул Г U {А} правила О и Кн не применяются ни к какой переменной, входящей свободно в формулы множества Г U {А), кроме тех случаев, когда заключения правил О и Кн находятся раньше первого вхождения любой из формил множества Г М L4) в качестве посылок. Тогда Г \-А =э В. Используя теперь МТ9, можно перенести в теорию PL и правила УД и ВО. К имеющимся правилам введения и удаления для “1, Д, V» ~ добавим четыре правила для V и 3. Метатеорема 10 (МТ10). Пусть х — произвольная переменная, А(х) — произвольная формула, с — произвольная переменная, не обязательно отличная от х, А (с) — результат подстановки с вместо всех свободных вхождений х в А(х), Г —любое множество формул, возможно пустое, В — произвольная формула. Тогда справедливы следующие четыре правила введения и удаления, записанные в виде табл. 2.15. Таблица 2.15 Кван¬ тор В ведение Удаление V 15 Если ГНД(лс), то Г[-ЧхА(х) (х не входит свободно в Г) вко УОб 16 VxA(x)[-A(c) (с свободна для х в А(х)) УКО УКо 3 17 А(с)\-ЗхА(х) (с свободна для х в А(х)) вкс ЭО 18 Если Г, А(х)\-В, то Г, 3 хА(х)\-В (х не входит свободно в Г и в В) УКС Примечание: ВКО — введение квантора общности; УОб — универсальное обобщение; УКО — удаление квантора общности; УКо — универсальная конкретизация; ВКС —введение квантора существования; ЭО — экзистенциальное обобщение; УКС — удаление квантора существования. 112
^ Правила (16) и (17) доказываются на основе аксиом (14) и (15) определения 2.14 с применением правила МР. Докажем правило (15). Если х не входит свободно в Г, то: если Г[-Л(лс), то Г \-VxA(x). Пусть В — произвольная аксиома, не содержащая свободных вхождений х. Тогда: 1. Г (—А(х) 1. условие правила 2. Г, В\-Е, где £ ^ Г 2. MTla 3. Г, В \-А (х) 3. МТ1б(2, 1) 4. T\-BzdA(x) 4. ВИ(3) [МТ9 (3) ] 5. BzdA(x)\-Bzd\/xA(x) 5. О 6. Г|-Д=> V*i4(*) 6. МТ1б(4, 5) 7. Г |—В 7. см. ниже 8. В, B=>VxA(x)\-VxA(x) 8. МР 9. Г|-VxA(x) 9. МТ1б(6, 7, 8). Строкой 2 утверждается, что из Г, В выводима каждая формула множества Г. Укажите, в каких строках приведенного метадоказательства использованы условия: а) х не входит свободно в Г; б) аксиома В не содержит свободных вхождений х. Обоснуем утверждение, записанное в 7-й строке. Если В — аксиома, не содержащая свободных вхождений х, то г \~В. Пусть Г = {Л), ..., Ak). Г. А\ I'. посылка k'. Ak k'. посылка (fe+l)'. В (k+\ У- аксиома (k + 2)'. ГН£ (k + 2)'. ОФВ(Г-(Л + 1)') Докажем теперь правило 18. Если х не входит свободно в Г и В, то: если Г, А(х) |—В, то Г, 3хА(х) |—В (УКС): 1. Г, А(х)\-В 1. условие правила 2. ГММ=>£ 2. МТ9(1) 3. А(х)=> В\-ЗхА(х)^ В 3. Кн 4. Г\-ЗхА(х)=>В 4. МТ1б(2, 3) 5. Г, ЗхА(х)\-Г 5. MTla 6. Г, 3xA(x)Y-^xA(x)zd В 6. МТ1б(5, 4) 7. Г, ЗхА(х)\-^хА(х) 7. MTla 8. ЗхА(х), ЭлгЛ(л:) => В\-В 8. МР 9. Г, ЗхА(х)\-В 9. МТ1б(6, 7, 8). Укажите, в каких строках приведенного метадоказательства использованы условия: а) х не входит свободно в Г; б) л: не входит свободно в В. 4 113
В заключение укажем еще на правило экзистенциальной конкретизации ЭК (п. 2.1.12). 2.2.4. Применения теории PL Анализ рассуждений средствами теории PL. В п. 2.1.13 к анализу рассуждений мы применяли средства алгебры предикатов. Покажем теперь использование для этих целей аппарата теории PL, рассмотрев те же рассуждения, что и в п. 2.1.13. Пример 2.34. Проанализировать рассуждение: «Все люди смертны; Сократ — человек; следовательно, Сократ смертен». ^ Строим вывод: 1. Vjc(4(*) zd С(*)) 1. посылка 2. V*(4(лг) => С (*)) = Ч(с) => С (с)) 2. АС 14 Ач<,'> - с«• с« 3. Ч(с)=эС(с) 3. МР( 1, 2) 4. 4(c) 4. посылка 5. С (с) 5. МР(4, 3) 6. У*(Ч(*)гэС(*)), Ч(с)\-С(с) 6. ОФВ (1—5). Записывая АС 14 в строке 2, мы учли, что с свободна для х в Ч(*)=>С(*). Итак, вывод существует, значит, исходное рассуждение правильное. А Пример 2.35. Проанализировать рассуждение примера 2.32. Докажем существование вывода Ул:(П(л:) id B(*)), У*(В(д:) zd ПП(х)) |— \-13хП(х): 1. V*(n(jf) id В(дг)) 1. посылка 2. V*(B(*) гэ ПП(л:)) 2. посылка 3. П(/)=>В(/) 3. УКО(1) 4. В(/)=>ПП(/) 4. УКО (2) 5. 3xt\(x) 5. посылка 6. П(/) 6. ЭК (5) 7. В (/) 7. МР(6, 3) 8. ПП(/) • 8. МР(7, 4) 9. ~13хП(х) 9. СУО (6, 8) 10. У*(П(*)=эВ(х)), Vjc(BWzDinW), 10. ОФВ (1-9) ЗхПМЬЧЗлгПМ 11. Улг(П(л:) zd В(лг)), У*(В(*)=>“1П(*)), 11. MTla 3*П (х) |—ЗлгП (л:) 12. Vx(n(x)zD В(*)), V*(B(*)=> nnW)f- 12. ВО (11, 12). \-^ЗхП(х) В строке 10 мы истолковали формальный вывод в расширенном смысле, допуская использование в выводе не только исходных правил МРУ О и Кн, но и тех, законность которых обоснована на их основе. Формализация доказательств. В учебниках (школьных, вузовских) доказательства даются как содержательные, поскольку излагаемые в них теории содержательные либо полуформальные. При содержательном доказа¬ 114
тельстве не фиксируется внимание на используемой логике, правилах рассуждений, а применяется логика интуитивная. Для всякого содержательного дедуктивного доказательства, в принципе, возможно построение соответствующего ему формального доказательства со строгим обоснованием всех логических переходов. Приведем пример такого перевода. Пример 2.36. Привести формальное доказательство свойства отношения пересечения прямых (см.: Погорелов А. В. Геометрия: Учеб. пособие для 6—10 классов средней школы.— М.: Просвещение, 1975.—С. 4—5). Если прямые пересекаются, то в единственной точке. ^ Напоминаем содержательное доказательство. Пусть прямые х и у пересекаются в точке X. Допустим, что существует точка У, У Ф X, в которой прямые х и у также пересекаются. Тогда через точки X и Y проходят две различные прямые х и у, что противоречит аксиоме Ь. Мы несколько изменили формулировку свойства и доказательство в направлении усиления их четкости, что необходимо для дальнейшей формализации. Готовясь к формализации, введем некоторые обозначения и запишем формулами нужные нам предложения геометрии. Хотя А. В. Погорелов не пользуется символическими обозначениями, идущими от теории множеств, мы все же эти обозначения применим, так как без них наши записи будут громоздкими. Поэтому мы обозначим принадлежность точки У прямой х как К еле. Отношение «Прямые х и у пересекаются в точке Z» обозначим «лгХ*/ в т. Z». Мы не применяем здесь обычной для теории множеств записи х П у Ф Ф 0, так как последняя не предполагает различия х и у, а в определении по Погорелову пересечения прямых это существенно. Запишем доказываемое свойство в виде формулы: VxVyVX(xXy в т. Xzd ЧУ(хХу в т. У zd У = X)). (2.10) В записи (2.10) мы использовали результат примера 2.27 о записи предложения единственности объекта, обладающего данным свойством. Содержательное доказательство использует неявно определение отношения пересечения прямых. В указанном учебном пособии на с. 4 это отношение определяется контекстуально. Там поясняется: «Точка С лежит и на прямой а, и на прямой Ь. Прямые а и b пересекаются в точке С. Точка С является точкой пересечения прямых а и Ь». Совокупность этих трех предложений следует рассматривать в качестве определения понятия «прямые х и у пересекаются в точке Z», или его синонима «точка Z является точкой пересечения прямых х и у». Анализ этого контекста и последующих применений отношения «прямые х и у пересекаются в точке Z» показывает, что наряду с условиями «точка Z лежит на прямой х» и «точка Z лежит на прямой у» оно включает еще и условие «прямые х и у различны». Таким образом, можно сформулировать полное и строгое опреде-. ление отношения «хХу в т. Z»: Прямые х и у пересекаются в точке опр Z = точка Z лежит на прямой х и точка Z лежит также на прямой у и прямые х и у различны, или VxVyVZ(xXy вт. Z = Z е х AZ е у/\х Ф у). (2.11) 115
В анализируемом доказательстве используется еще аксиома Ь: Через любые две точки можно провести прямую, и только одну. Эта аксиома символически запишется так: хЛ*у(Х< 12: ЧХЧУ(ХФ Yzd3x{XeexAY' Теперь приводим формализацию свойства: 1. 1 (VxVyVX(xXy в т. X zd zd VY(xXy в т. Y id Y = X)) 2. ЗхЗуЗХ(хХу в т. X А ДЗY(xXy в т. YAY¥=X)) 3. аХЬ вт. С/\3Y(аХЬ в т. YД Кф С) 4. аХЬ вт. С 5. 3 Y(aXb вт. Y f\Y ф С) 6. аХЬ в т. А /\А Ф С 7. аХЬ в т. Л 8. А Ф С 9. VxV*/VZ(xXу в т. Z — Z е х f\Z е е^уЛхф у) 10. аХ b в т. С ~ С ^ а /\С ^ b /\а Ф b 11. аХЬ в т. С zd Саа/\С^Ь/\афЬ 12. С ^ а/\С b/\а ф b 13. аХЬ в т. А ~ А ^ а /\А ^ b /\а Ф b 14. аХЬ в т. А А ^ а /\А ^ b /\а ф b 15. А ^ а/\А ^ b/\а Ф b 16. ЧХЧУ(ХФ Yzd 3x{X<=xAY<=xA Д Vy(X <EE.y/\Y<=y=>y = x))) 17. А Ф С zd 3x(A e x Д С <= xA A Vy(A e у AC <= у zd у = x)) 18. Зх^ЕхДСЕхЛУ^еуД AC ЕЕ у ZD у = X)) 19. У1еаДСеаЛУ#е(/ДСе1/э zd у = a) 20. Vy{A<=yAC€=y=>y = a) 21. A <= b AC e b zd b = a 22. а Ф b 23. A e= b 24. С €= a AC e b 25. Cg6 26. Л e b/\C<=b 27. 6 = a 28. a = b y/\Y <=yZDiy=x))). доказательства анализируемого 2. ОКО, ОИ(1) 3. ЭК (2), 3 раза 4. УК1 (3) 5. УК2 (3) 6. ЭК(5) 7. УК1 (6) 8. УК2(6) 9. (2.11) 10. И. 12. 13. 14. УКо (9), 3 УЭ1 (10) МР( 4, 11) УКо (9), 3 УЭ1 (13) 15. МР(7, 14) 16. Ь раза раза 17. УКо (16), 2 раза 19. 18. МР(8, ЭК (18) 17) 20. УК2 (19) 21. УКо (20) 22. УК2 (12) 23. УК2 (15) 24. УК1 (12) 25. УК2 (24) 26. ВК (23, 25) 27. МР(26, 21) 28. симметричность равенства 29. ОФВ (1—22) 29. “IVxVf/VX(xX# в т. X zd VY(xXy вт. Y zd Y = X)) \-а Ф b 30. !VxVyVX(xXy В т. Х=> VY(xXy 30. ОФВ(1—28) ВТ. YzdY = Х))\-а = Ь 31. -nVxVr/V*(xXf/ в т. Х=> VY(xXy 31. ВО (29, 30) ВТ. Y^Y = X)) 32. VxVyVX(xXy в т. Х=> VY(xXy 32. УДО (31). ВТ. Y=>Y = X)) В этом формальном доказательстве в строке 1 записано отрицание доказываемого свойства, так как свойство доказывается методом от противного, часто такое отрицание называют допущением косвенного доказательства (ДКД). Во второй строке 3 раза применено правило отрицания квантора общности (ОКО, см. формулу (55), 116
п. 2.1.10 и один раз правило удаления отрицания импликации (см. правило (17), п. 1.1.16)). В строке 9 записано определение отношения пересечения прямых опр (см. формулу (2.11)). Мы заменили символ = на знак ~, так как с логической точки зрения всякое явное определение есть эквивален- ция (или равенство), содержащая правило удаления Dfd, т. е. правило замены Dfd на Dfn (УЭ1), и правило введения Dfd, т. е. правило замены Dfn на Dfd (УЭ2) (см. п. 1.2.5). Строку 23 мы записали как результат применения правила УК2 к конъюнкции, записанной в строке 15. Эта конъюнкция трехчленная и можно обосновать для любой конъюнкции Л |,Д... ЛЛ„, что имеет место п правил УК1, ••• УКп (см. п. 1.2.4). Можно ограничиться и лишь двумя правилами УК1 и УК2, используя их так, как сделали мы в строках 24 и 25. В строке 28 мы использовали свойство симметричности отношения равенства VxVy(x = у id у = х), считая его уже доказанным (РДТ, ранее доказанная теорема). Обоснование этого применения таково: 1. b = а 1. строка 27 2. VxVy(x = y=> у = х) 2. РДТ 3. b = a zd а = b 3. УКо (2), 2 раза 4. (28). а = Ь 4. МР{ 1, 3). В строках 29 и 30 мы использовали расширенное толкование формального вывода, допуская использование в нем всех установленных правил вывода, а не только исходных. А Формализация доказательств — не простое дело,и она проводится с целью прояснения логики, используемой в том или ином содержательном доказательстве, получения четких представлений о тех положениях, которые используются как данные при доказательстве рассматриваемого предложения. Основная сфера приложения формальных доказательств — формальные аксиоматические теории. В таких теориях формальные доказательства выступают как метод построения теорий. Примером формальной аксиоматической теории может служить теория L или PL или описываемая ниже теория Аг для арифметики натуральных чисел (см. § 3.2).
3. МАТЕМАТИЧЕСКИЕ ТЕОРИИ 3.1. ОСНОВНЫЕ понятия 3.1.1. Аксиоматический метод: три стадии развития Аксиоматический метод построения математических теорий возник в древнегреческой геометрии. Его открытие приписывают Пифагору (VI в. до н. э.), но наибольшую известность этот метод получил благодаря знаменитым «Началам» Евклида, вышедшим в III в. до н. э. Аксиоматическую теорию, подобную евклидовой, в которой значения исходных терминов, связанные с определенными интуитивными представлениями, задаются с самого начала, а логические средства вывода теорем из аксиом не фиксируются (действует здравый смысл, обычная интуиция и логика), называют содержательной (неформальной) аксиоматической теорией (системой). Эта содержательная концепция характеризует первую стадию развития аксиоматического метода, занимающую большой исторический период от Евклида (III в. до н. э.) до Лобачевского (XIX в.). Создание Н. И. Лобачевским (1826) и Больяй (1832) первой неевклидовой геометрической системы ознаменовало собой начало нового периода развития и новой концепции не только геометрии, но и аксиоматического метода. Появление различных моделей геометрии Лобачевского — Больяй в объектах евклидовой геометрии уже означало отход от концепции содержательной аксиоматической теории: в различных моделях одной и . той же аксиоматической системы значения исходных терминов различны, хотя логическая структура теории остается неизменной. Это и привело к мысли о независимости логической структуры теории от значений исходных терминов, а следовательно, о возможности описания с помощью одной теории целого класса однородных структур, обладающих одинаковыми свойствами, выраженными в аксиомах и теоремах теории. Эта мысль и привела в дальнейшем Д. Гильберта к новой концепции аксиоматической теории. Гильберт начинает свое построение геометрической теории («Основания геометрии», 1899 г.) со слов: «Мы мыслим три системы вещей. Вещи первой системы назовем точками и обозначим А, В, С, ...; вещи второй системы назовем прямыми 118
и обозначим а, Ь, с, вещи третьей системы назовем плоскостями и обозначим а, р, у, ...». Природа точек, прямых и плоскостей так же, как смысл отношений, в которых они могут находиться, несущественна для построения теории. Значения исходных терминов можно выбрать как угодно, лишь бы выполнялись принятые аксиомы. Выражаясь современным языком, можно сказать, что гильбертовская аксиоматическая теория в отличие от евклидовой описывает не одну конкретную структуру, а класс однородных структур. Теорию, подобную гильбертовой, называют теперь полуформальной аксиоматической теорией, потому что в ней логика, используемая в доказательствах теорем, как и в содержательной теории, не фиксируется, не формализована. После перечисления исходных понятий и аксиом действует опять же здравый смысл, интуитивная логика. Само же понятие «доказательство» остается на уровне интуитивных понятий. Концепция полуформальной аксиоматической теории характеризует вторую стадию развития аксиоматического метода. С именем Гильберта связана и третья стадия развития аксиоматического метода. Проблема непротиворечивости, важнейшая из проблем, возникающих при построении аксиоматической теории, решалась методом моделей. При этом непротиворечивость одной теории сводилась к непротиворечивости другой и вообще непротиворечивость различных математических теорий в конце концов сводилась к непротиворечивости теории множеств. Но в самой теории множеств, построенной на интуитивном понятии множества, были обнаружены противоречия (парадоксы или антиномии). Аксиоматизация же теории множеств потребовала доказательства ее непротиворечивости, а здесь метод моделей уже неприменим, так как приводит к порочному кругу. В поиске выхода из создавшегося положения Гильберт предложил (1904 г.) для доказательства непротиворечивости математических теорий строить их в виде формальных систем (формальных теорий), в которых само понятие доказательства должно быть точным понятием, изучаемым специальной дисциплиной, названной им теорией доказательства, или метаматематикой. Несколько позже (1920 г.) Гильберт и его ученики приступили к реализации этого замысла, названного впослед¬ 119
ствии программой Гильберта. Хотя эта программа неосуществима полностью, она сыграла большую роль в развитии математической логики и оснований математики, так как положила начало третьей стадии развития аксиоматического метода, характеризующейся переходом от полуформальной к формальной аксиоматической теории. Программа Гильберта предусматривала дальнейший шаг в формализации аксиоматической теории, а именно фиксирование логики, используемой в доказательствах теорем, иными словами, превращение интуитивного понятия доказательства в точное математическое понятие. В табл. 3.1 приведены характеристики трех концепций аксиоматической теории, соответствующих трем стадиям развития аксиоматического метода. Таблица 3.1 Номер стадии Вид аксиоматической теории Описываемый объект Используемая логика I Содержательная (не- Конкретная струк- Не определена формальная) тура II Полуформальная Класс структур Не определена III Формальная Класс структур Определяется систе¬ мой логических аксиом и правил вывода Под математической теорией будем понимать в дальнейшем формальную .аксиоматическую теорию для какого-нибудь раздела математики (например, арифметики натуральных чисел, евклидовой геометрии, теории групп и т. п.). Всякая математическая теория строится на базе адекватного формализованного языка. 3.1.2. Формализованные языки Чтобы сформулировать высказывания о структурах определенного класса, т. е. описать класс структур, необходим соответствующий язык. Существенными частями такого языка являются: а) предметные переменные, область значений которых — носитель структуры; б) предикатные буквы, обозначающие отношения (множество предикатных букв обозначим через Вр); в) функциональные буквы, обозначающие операции (множество функциональных букв обозначим через В/); г) константы, обозначающие выделенные элементы носителя структуры (множество констант обозначим через Вс)\ 120
д) логические операторы: “I, Д, V, V, 3, = , с помощью которых конструируются формулы (предложения) теории; е) скобки («(»—левая и «)» —правая). Определяемый с помощью элементов перечисленных категорий язык называется формализованным (предикатно-логическим) языком. Алфавит формализованного языка состоит из букв: множества Вр U Bf U Вс\ / = О, 1, 2, ...; 1, Д, V, V, 3, =; (,). Множество букв Вр |J Bf (J Вс называется сигнатурой данного формализованного языка и является его специфической частью. Остальные буквы алфавита (предметные переменные, логические операторы и скобки) являются общими для всех формализованных языков. Различные формализованные языки отличаются своей сигнатурой, т. е. множеством предикатных букв, функциональных букв и констант. 3.1.3. Синтактика формализованного языка: термы и формулы Пусть А — алфавит формализованного языка. Множество всех слов в алфавите А обозначим А*. Выделим в множестве Л* два класса слов: термы и формулы. Обозначим класс термов через Г, класс формул — через Ф. Определение 3.1. а) x/gT, т. е. всякая предметная переменная хь— терм. б) Ci е Т, где с, ^ Вс, т. е. всякая константа С/ — терм. в) Если $к)— k-местная функциональная буква (т. е. f\k) е Bj) и /1, t2, .... /*<= Т, то f\k){tu t2, /ц)еТ. г) Других термов нет. Определение 3.2. а) Если р\к)—k-местная предикатная буква (т. е. р\к) е Вр) и /i, t2, .... то p?\t\y t2, 4)еФ. б) Если /i, t2 <= Т, то t\ = t2 ^ Ф. в) Если Е е Ф, то ~ЛЕ ^ Ф. г) Если Е1, £2еФ, то (Е\ /\Е2) ^ Ф, {E\\J Е2)^ФУ (Е1 =э £2) еФ, (Е\~ Е2) е Ф. д) Если E(xi)^ Ф, то VxiE(xi)^. Ф, Зх/£(х;)еФ. е) Других формул нет. Формулы вида p\h\t\, t2, tk) и t\ = /2, определенные в 3.2, а), б), называются предикатными выражениями или элементарными формулами. 121
Таким образом определенный формализованный язык, в формулах которого кванторы навешиваются только на предметные переменные (определение 3.2, д), называется языком первого порядка. 3.1.4. Логика формальной теории После того как задан формализованный язык (алфавит и синтактика), необходимый для описания определенного класса структур, можно построить формальную теорию, описывающую на этом языке данный класс структур. С этой целью необходимо задать логику формальной теории с помощью системы аксиом и правил вывода, определения формального доказательства. Систему аксиом формальной теории составляют две подсистемы: 1) логические аксиомы, как правило, аксиомы исчисления предикатов, и в этом случае формальная теория называется элементарной математической теорией (теорией первого порядка); 2) специальные (математические) аксиомы, выражающие на формализованном языке аксиомы содержательной теории, для которой строится данная формальная теория. Правила вывода элементарной математической теории — правила вывода исчисления предикатов. Формальное доказательство, или доказательство в формальной теории, определяется так же, как в логических формальных системах (L, PL). Определение 3.3. Доказательством формулы А в теории Т называется конечная последовательность формул А\, А2, ..., Ап этой теории, такая, что Ап есть А и каждая формула этой последовательности есть либо аксиома, либо получена из предшествующих по одному из правил вывода. Формула Л, для которой существует доказательство, называется доказуемой (в данной теории) или теоремой (этой теории), что обозначается f—тА. 3.2. ФОРМАЛЬНАЯ ТЕОРИЯ Аг ДЛЯ АРИФМЕТИКИ НАТУРАЛЬНЫХ ЧИСЕЛ 3.2.1. Язык теории Аг В алфавит А\г включаются следующие буквы: а) а, 6, с, | —для образования предметных переменных; 122
б) ' (штрих) — одноместная функциональная буква; + , . — двухместные функциональные буквы; в) 0 — константа; г) 1, Д, V, zd , V, 3, = —логические операторы; д) (,) —скобки. (Как видно, в этом алфавите нет предикатных букв, хотя одноместную функциональную букву «'» можно рассматривать и как двухместную предикатную.) С помощью четырех букв а, 6, с, | мы получаем счетное множество предметных переменных; кроме а, 6, с, переменными считаем также любую из этих букв с индексом в виде слова в алфавите {|}, например а\, ац, ащ, а1111, .... Для упрощения записей слова |, | |, | | |, | | | |, ... заменим метазнаками 1, 2, 3, 4, ... и будем пользоваться соответствующими метаобозначениями переменных — fli, #2, аз, щ, ... Как видно, сигнатура теории Аг сгАг = {', +, 0}. 3.2.2. Синтактика языка теории Аг Определение 3.4. а) 0 ^ Т, т. е. 0 — терм. б) Если г^Т, то (г)'еТ. в) Если г, s^T, то (r) + (s)^T, (/■(•(s)eT. г) Других термов нет. Примеры термов: 0, (0)', ((О)')', а, (6)', (а)+ ((6/). Определение 3.5. а) Если г, seT, то (г) = (s) е Ф. б) Если А е Ф, то П(Л) е Ф. в) Если А, В е Ф, то (ЛДВ)^Ф, (А\/ В)^Ф, (AzdB)ee Ф, (А ~ В) €= Ф. г) Если у4(х)еФ, то УхА(х)^ Ф, ЭхА(х)^Ф. д) Других формул нет. В определениях 3.4, 3.5 используемые буквы «/>, «s», «Л», «В», «х» представляют собой метазнаки. Система аксиом теории Аг. Эта система содержит логические аксиомы (1) — (15) из теории PL (см. п. 2.2.1), а также специальные (математические) аксиомы: (AI) a = b^(a = czDb = c) (А2) а' = Ь' zd (а = Ь). 3.2.3. Логика теории Аг (АЗ) 1а' = 0 (А4) а = b zd (а' = Ь'). (А5) Р(0) Д Vx(P(x) zd Р(х')) zd VxP(x). (А6) а -f- 0 = а (А8) а -0 = 0 (А7) а +Ь' = (а + Ь)'. (А9) а • Ь' — а • b -f- а. 123
Из девяти специальных аксиом восемь являются конкретными аксиомами, а одна (А5) — аксиома индукции — аксиомной схемой, так как в ее формулировке имеется метазнак «Р», обозначающий произвольную формулу этой теории. Правила вывода. В систему правил вывода включаются МР, О, Кн. Вместе с ними сохраняются и все производные правила вывода теории PL, а также используется и специальное правило вывода — правило индукции (/), основанное на аксиоме (А5): (/> Р(0), Vx(P{x)id P(x'))\-VxP{x). ► 1. Р{ 0) 2. Vx(P(x)zdP(x')) 3. Р(0)ДУ*(Р(*)=э/>(*')) 4. Р(0)Л V*(P(x) id />(*')) => VjcP(jc) 5. VxP(x) 3.2.4. Естественная (стандартная) интерпретация теории Аг Под интерпретацией формальной теории вообще понимают отображение со, сопоставляющее: области значений предметных переменных — конкретное множество М (носитель структуры из класса структур, описываемого данной формальной теорией); каждой предикатной букве р — отношение о)(р) в М; каждой функциональной букве / — в общем частичную операцию со(/) в М; каждой константе с — выделенный элемент со(^)е М. Если со — интерпретация формальной теории, то множество М вместе с отношениями со(р), операциями со(/) и элементами со (с) образует структуру, обозначаемую также через со и называемую моделью теории. Если формальная теория интерпретируется в объектах той содержательной теории, для которой она построена, то эта интерпретация называется естественной (стандартной) интерпретацией. Формальная теория Аг построена для содержательной арифметики натуральных чисел. Поэтому интерпретация этой теории в объектах арифметики натуральных чисел и является ее естественной или стандартной интерпретацией. Приведем эту интерпретацию. 1. Предметные переменные а, 6, с, а\, 02, аз, ... принимают свои значения из множества N={0, 1, 2, 3, ...}. 2. Функциональная буква ' обозначает унарную операцию перехода к непосредственно следующему числу 1. посылка 2. посылка 3. BK(1, 2) 4. А5 5. МР(3, 4). « 124
х'. Функциональные буквы + и • обозначают бинарные операции сложения и умножения соответственно. Функциональная буква 0 обозначает число нуль, которое причисляется к множеству N натуральных чисел. 3. Логические операторы 3, V, "1, Д, V» ~ имеют тот же смысл, что и в алгебре предикатов. Буква = обозначает отношение «равно», слова в алфавите А а г, связанные буквой = , являются именами одного и того же объекта. 4. Всякий терм является именем натурального числа, если он не содержит переменных, или именной формой, если содержит. 5. Всякая формула выражает определенное предложение о натуральных числах: высказывание, если формула не содержит свободных вхождений переменных, или высказывательную форму, если содержит. 6. Логические аксиомы выражают законы алгебры предикатов. 7. Специальные аксиомы в стандартной интерпретации имеют такой смысл: (А2) выражает свойство «Каждое натуральное число непосредственно следует не более чем за одним натуральным числом», (АЗ) — свойство: «О непосредственно не следует ни за каким натуральным числом», (А4) — свойство: «За каждым натуральным числом непосредственно следует точно одно натуральное число», аксиома индукции (А5) выражает свойство* «Если 0 обладает некоторым свойством Р и для любого натурального числа х из того, что х обладает свойством Р, вытекает, что и непосредственно следующее за ним число х' обладает этим свойством, то всякое натуральное число обладает свойством Р», аксиомы (А6) и (А7) рекурсивно определяют сложение, а аксиомы (А8) и (А9) — умножение. Аксиомы (А2) — (А5) составляют содержательную аксиоматику Пеано для арифметики натуральных чисел. Аксиома (А1) выражает общее свойство равенства: «Два объекта, порознь равные третьему, равны между собой». Замечания. 1. Входящие в аксиомы (А1) — (А4), (А6) — (А9) свободные переменные имеют интерпретацию всеобщности, т. е. каждая аксиома считается выражающей тот же смысл, что и ее замыкание. Например, аксиома (А2) а' — b' zd а — b считается выражающей тот же смысл, что и ее замыкание VaV6(a' = b' zd а = b). С этой интерпретацией согласуются и правила вывода. Действительно, с помощью правила ВКО замыкание каждой аксиомы выводимо из соответствующей аксиомы (это будет показано ниже). 125
Поэтому несущественно, берут ли в качестве специальных аксиом формулы со свободными переменными или их замыкания. Открытые аксиомы удобнее писать, в связи с чем ими пользуются в обычной математической практике. 2. Специальные аксиомы называют также нелогическими. По смыслу этого термина специальные аксиомы теории Аг необщезначимы в отличие от логических аксиом. Поэтому для этой теории утверждение «Если Ьаг£, то (=£■» неверно. Если |-аг£, то для некоторого перечня А\, ..., Ап нелогических аксиом системы Аг имеет место лишь следование А\, ..., А'п\=Е (где А\—замыкание аксиомы Л,). 3.2.5. Теоремы теории Аг Докажем несколько теорем теории Аг и прежде всего две леммы. Лемма 3.1. Замыкания аксиом (А1) — (А4), (А6) — (А9) — теоремы. Докажем эту лемму для одной из перечисленных аксиом, например для (А4), для остальных аксиом доказательства аналогичны. ^ Имеем: 1. а = b zd а' = b' 1. (А4) 2. Vb(a = b id а' = Ь') 2. ВКО(1) 3. VaVfe(a = bzDa' = b') 3. ВКО (2). < Лемма 3.2. Формулы, получаемые из аксиом (А1) — (А4), (А6) — (А9) заменой переменных произвольными термами,— теоремы. Например, заменив в (А4) переменные a, b произвольными термами г, /, получим |— r — tZDr' — t' (А4')- (Все получаемые таким путем теоремы обозначим номером соответствующей аксиомы со штрихом.) Докажем эту формулу. 1. a — bz3a' = b' 1. (A4) 2. УаУЬ(а = b гэ а' — Ь') 2. лемма 3.1 3. Vb(r = bzir' = b') 3. УКО (2) 4. г = / => г' = t' 4. УКО (3). < Теорема 3.1. \-t-t. 1. t + Q = t 1. (A6') 2. / + 0 = /=)(/ + 0 = /гэ/ = /) 2. (АГ) 3. t + 0=t=>t = t 3. MP{ 1, 2) 4. t = t 4. МР( 1, 3). А Теорема 3.2. (—/ = г => г = t. 1. t = r^(t=t^>r — t) 1. (АГ) 2. t=tZ^(t = rZDr = t) 2. ПП(1) 3. t = t 3. теорема 3.1 4. t = r ID r = t 4. МР{2, 3). М Теорема 3.3. (-/ = г => (г = s гэ t = s). 126
► 1. r=t=>(r = SIDt = s) I. (АГ) 2. t = r ZD r = t 2. теорема 3.2 II n 05 II П V* II CO 3. С (2, 1). Ч Теорема 3.4. \-t + 0' = t' (или, если обозначить O' = 1, то И+ 1 =(')■ ► I. t + 0' = (t + 0y 1. (А7') 2. t + 0 = t 2. (А6') 3. t + 0 = tZD(t + 0)'= t' 3. (А4') 4. (/ -f- 0)' = t' 4. МР(2, 3) 5. t + O' = (/ + 0)' => ((t + 0)' = 5. теорема 3.3 = /'=>/ + O' = t') 6. (t + 0)' = t'z>t + 0' = i' 6. МР( 1, 5) 7. t + 0' = t' 7. AfP(4, 6). Ч Теорема 3.5. \-r = / id (s = t => r = 5). ► 1. r = /D(/ = SDf = i) 1. теорема 3.3 2. / = 5D(r = /Dr = s) 2. ПП(1) 3. S = t ZD t = S 3. теорема 3.2 4. S = tZD(r = tZDr — s) 4. С (3, 2) 5. r = tZD(s — t=> r = s) 5. ПП (4). ч Теорема 3.6. \-t = rzDt-{-s = r-\-s. ► Применим правило I к формуле A(z): x = yzz(x-\- + z = y + z). I. M(0): x = yzi(x + 0 = y + 0). 1. x + 0 = x 1. (А6') 2. y + 0 = y 2. (А6') 3. х = у 3. допущение 4. x + 0 = xzD(x = yzDx + 0 = у) 4. теорема 3.3 5. х — yzDx + О — у 5. МР( 1, 4) 6. х + 0 = у 6. AfP(3, 5) 7. x + 0 = yzD (у-\-0 = 7. теорема 3.5 = yzDx-\-0 = y-\-0) 8. y + o = yZDx + 0 = y + 0 8. МР(6, 7) 9. * + 0 = */ + О 9. МР(2, 8) 1—9 есть вывод: л: = у \-х + 0 = у + 0, и по ТД получаем \-х = у ZD (х + 0 = у + 0). II. \-A{z) zd A(z'): (х = у zd (х + г = у + г)) zd (х = у=> zd (х + г' = у + г')). 1. x = yzDx-\-z = y-\-z 1. допущение 2. х — у 2. допущение 3. x + z' = (x + zy 3. (А7') 4. y + z' = {y + z)' 4. (А7') 5. х -f- z = у -|- z 5. MP{\, 2) 6. x z =■ у z zd i^x z)' = 6. (A47) = {y + z)' 127
7. (х + г)' = {у + г)' 7. MP(5, 6) 8. х + z' = (х + z)' id ((* + z)' — = {у + z') ZD X + 2' = (у + г)') 8. теорема 3.3 9. (х + z)' = (у + z)'=> x + z' = 9. MP(8, 3) = (У + г/ 10. х + z' — (у + z)' 10. MP(7, 9) 11. x-\-z = y-\-z^>{x-\-z)' = 11. (A4) = {у + ZY 12. (* + z)' = {у + z)' 12. MP( 11, 5) 13. у -j- Zf — (£/ -|- Z)/ ZD (X -|- Z* = = (У+ *Y =D У + z' = (у + 2)0 13. теорема 3.5 14. X + z' = ((/ + z)'=>£/ + z' = 14. MP(13, 4) = (.y + zj 15. у + .2' = {у + 2)' 15. MP(14, 7) 16. jc = г/ :э (x + 2' = i/ + z') 16. ТД(2—15) 17. (X = J/:D(X + Z = J/+Z))=D 17. ТД (1 — 16) =Э (* = у => (х + 2' = у + Z')) 1. Vz(x = у ZD (х + Z = у + z)) 1. /(I, II) 2. \/x\fyVz(x = у zd х + z = 2. ВКО (1) дважды = У + z) Ъ. t = riDt + s = r + s 3. УКО (2) трижды. 4
4. АЛГОРИТМЫ 4.1. ИНТУИТИВНЫЕ ПОНЯТИЯ 4.1.1. Проблема разрешения и разрешающий алгоритм В п. 1.2.8 уже говорилось о проблеме разрешения и разрешающем алгоритме. Там рассматривался общий вопрос: «Имеет ли действительные корни квадратное уравнение ах1 + Ьх + с = 0 с целыми коэффициентами а, Ь, с?» Этот общий вопрос объединяет всевозможные однотипные частные вопросы, различающиеся значениями коэффициентов а, 6, с. Частных вопросов — счетное множество, и каждый из них требует ответа «да» или «нет». Таким образом, обсуждаемый общий вопрос, как и другие ему подобные, содержит в себе счетный класс однотипных частных вопросов Р — {Р\, ..., ...}, каждый из которых требует в качестве ответа «да» или «нет». Вопрос о существовании общего метода, позволяющего за конечное число шагов ответить «да» или «нет» на любой вопрос Р,(/ = 1, ..., п, ...) из класса Р, называется проблемой разрешения для этого класса вопросов. Проблема разрешения может решаться как положительно, так и отрицательно. В первом случае класс Р называют разрешимым, а сам общий метод — разрешающей процедурой, или разрешающим алгоритмом, или просто алгоритмом для данного класса вопросов. Применяется и другая терминология: вместо «общий вопрос» говорят «общая задача», вместо «класс однотипных вопросов» — «класс однотипных задач», вместо «частный вопрос» — «частная задача». Пример 4.1. Разрешим ли класс однотипных вопросов «Имеет ли действительные корни уравнение ах2 + Ьх + с = 0 с целыми коэффициентами?» ^ Рассмотрим известную процедуру. 1. Вычисляем дискриминант D — Ь2 — 4 ас. 2. Определяем истинностное значение высказывания D ^ 0. 3. Выбираем ответ по правилу: если значение высказывания — И, то ответ — «да», в противном случае — «нет». Легко видеть, что эта процедура состоит из конечного числа (трех) всегда выполнимых шагов и применима к любому частному вопросу. Значит, рассматриваемый класс вопросов разрешим. <4 Пример 4.2. Разрешим ли класс вопросов «Делится ли натуральное число х на натуральное число у?»? ^ Разрешающий алгоритм для этого класса вопросов таков: 1) найти остаток г от деления х на у\ 2) выбрать ответ по правилу: если г — 0, то ответ — «да», иначе — «нет». А 5 Зак. 2997 129
4.1.2. Проблема вычисления и вычислительный (вычисляющий) алгоритм Рассмотрим теперь счетный класс Q = {Qi, Qn, ...,} однотипных задач, каждая из которых требует в качестве ответа предъявления некоторого объекта. Формулировки этих задач обычно начинаются словами: «Чему равно (равны, равен, равна)», «Найти», «Вычислить», «Определить» и т. п. К таким классам задач относится также общая задача «Решить уравнение (неравенство)», предполагающая нахождение корней (решений) или указание на то, что их нет. Вопрос о том, существует ли общий метод, позволяющий для любой задачи класса Q за конечное число шагов дать ответ, называется проблемой вычисления для класса Q. Если проблема вычисления для класса Q решается положительно, то этот класс задач называется вычислимым, а общий метод — вычислительным (вычисляющим) методом (вычислительной процедурой, вычислительным (вычисляющим) алгоритмом, или просто алгоритмом) для данного класса задач. Пример 4.3. Вычислим ли класс однотипных задач «Чему равен НОД (а, Ь), где а, Ъ es N?»? У Это счетный класс. Каждой паре (а, Ь) натуральных чисел ставится в соответствие частная задача. Существует общий метод (например, алгоритм Евклида), позволяющий для любых двух натуральных чисел а и b за конечное число шагов найти число с — НОД (а, Ь), которое и является ответом, следовательно, данный класс вычислим. Пример 4.4. Вычислим ли класс однотипных задач «Решить уравнение ах2 + bx + с — 0, где а#0 и а, &, се Q»? ^ Соответствующий вычислительный алгоритм задается известной формулой корней: х\,2 = ( — Ь ±л[Ь)/2а. Однако здесь необходимо иметь в виду, что под словами «решить уравнение» надо понимать «найти приближенные значения корней с любой наперед заданной степенью точности», так как если D не является полным квадратом, корни — иррациональные числа, то и их точные значения мы не можем записать в виде слова в некотором алфавите. <4 Пример 4.5. Вычислим ли класс однотипных задач «Решить уравнение аохп + а\хп~ 1 -f... + CLn-\х + ап — 0, (а0 Ф 0, а,еО, /? > 4)»? ► Для этого класса задач (алгебраических уравнений с рациональными коэффициентами степени не ниже 5) нет общего метода (вычислительного алгоритма), так называемого «решения в радикалах», применимого для уравнений степени п ^ 4. <4 Отметим, что отсутствие вычислительного алгоритма для класса однотипных задач не означает, что любая отдельная частная задача этого класса неразрешима. 130
Например, нетрудно решить уравнение х5 — 4х3 х2 — — 4 = 0, хотя класс задач, связанных с решением уравнений 5-й степени, невычислим (см. пример 4.5). Имеем х3(х2 — 4) + (х2 — 4) = 0 или (х2 — 4)(х3 + 1) = 0, откуда (х + 2) (х — 2) (х + \)(х2 — х 1) = 0. Действительно, получаем три вещественных корня: —2, —1, 2. Кроме того, в вычислительной математике разработаны различные методы приближенного решения уравнений. Термин «алгоритм» происходит от латинской транслитерации имени великого ученого аль-Хорезми (787 — ок. 850 гг.). Первоначально этим термином обозначались лишь правила арифметических действий в десятичной системе счисления, разработанные аль-Хорезми. Постепенно этот термин стал применяться в более широком смысле. В настоящее время он обозначает одно из фундаментальных понятий современной математики и информатики. 4.1.3. Интуитивное понятие алгоритма Мы уже говорили выше о единых, общих методах решения определенных классов однотипных задач и называли их разрешающими и вычислительными алгоритмами или, короче, алгоритмами. Как же можно представить эти «единые общие методы»? Обратимся к примерам. Пример 4.6. В примере 4.1 описан общий метод решения любой задачи из класса задач «Имеет ли уравнение ах2 -f bx -f- с = 0 (а Ф 0; а, b, ceQ) вещественные корни?» Представить это описание в виде четкого, точного предписания, разделенного на отдельные указания или команды (шаги). ^ Имеем: 1) вычислить D = Ь2 — 4ас, перейти к 2; 2) если D ^ 0, то перейти к 3, иначе — к 4; 3) уравнение имеет вещественные корни (ответ «да»), перейти к 5; 4) уравнение не имеет вещественных корней (ответ «нет»), перейти к 5; 5) процесс окончен. 4 Предписание, указанное в примере 4.6, однозначно определяет порядок выполнения действий, т. е. с чего начинать (каков первый шаг) и какой шаг непосредственно следует за каждым, кроме, разумеется, последнего,, объявляющего процесс решения оконченным. Деление же всей процедуры на шаги (элементарные действия) не является однозначным. Так, в приведенном предписании вычисление дискриминанта считается элементарным дей¬ 5* 131
ствием, но можно его представить и в виде последовательности из четырех (более простых) действий. Особую роль играет в приведенном предписании команда 2, сформулированная с помощью выделенных слов если, то, иначе. Она определяет ветвление процесса решения: если условие D ^ О, записанное между словами если и то, выполняется (истинно), то следующим шагом будет выполнение команды 3, т. е. объявление результата — «уравнение имеет вещественные корни» или, короче, «да», если же оно не выполняется (ложно), т. е. D С 0, то команда 3 пропускается и следующим шагом является выполнение команды 4, т. е. объявление результата «уравнение не имеет вещественных корней» или, короче, «нет». Зависимость последовательности команд от истинностного значения условия D ^ О можно представить в виде табл. 4.1. Таблица 4.1 Истинностное значение фор¬ Последовательность шагов мулы 0 И 1, 2, 3, 5 л 1, 2, 4, 5 Блок-схема алгоритма представляет собой своеобразный ориентированный граф, вершины которого называются блоками. Имеются два основных типа блоков: 1) арифметический, изображаемый в виде прямоугольника, внутри которого записано предписываемое действие и 2) логический — в виде ромба, внутри которого записано проверяемое условие. Кроме того, овалами изображаются блоки «начало» и «конец». Если алгоритм предназначен для ЭВМ в качестве исполнителя, то имеются еще блоки ввода данных и вывода результатов, изображенные параллелограммами. Если за шагом А непосредственно следует шаг В, то от блока А к блоку В проведена стрелка (исходящая из А и оканчивающаяся в В). От каждого прямоугольника исходит только одна стрелка, а от каждого ромба — две: одна с пометкой «да», идущая к блоку, следующему за логическим, если проверяемое условие выполняется, другая — с пометкой «нет», идущая к блоку, следующему за логическим, если условие не выполняется. На рис. 4.1, 4.2 изображены блок-схемы алгоритмов, описанных в примерах 4.6 и 4.7 соответственно. 132
Начало Рис. 4.1 Рис. 4.2 Пример 4.7. Построить алгоритм Евклида (см. пример 4.3) для вычисления наибольшего общего делителя двух чисел (НОД (а, b)) через последовательное деление или последовательное вычитание. ► Опишем этот алгоритм с помощью следующего предписания: 1) если а = Ь, то перейти к 4, иначе — к 2; 2) определить большее из чисел, обозначить его через а, меньшее — через Ьу перейти к 3; 3) заменить а разностью а — b (присвоить а значение а — Ь), перейти к 1; 4) НОД (a, b) = b, перейти к 5; 5) процесс окончен. ^ 133
В примере 4.7 описан алгоритм, в котором некоторые действия (предписанные командами 1, 2, 3) повторяются. Повторяющаяся часть такого алгоритма называется циклом, а сам алгоритм — циклическим. При менение приведенного алгоритма, например, к паре чисел (140, 45) можно представить следующим образом: а 140 95 45 40 35 30 25 20 15 10 5 b 45 45 40 5 5 5 5 5 5 5 5 Следовательно, НОД (140, 45) = 5. При применении алгоритма к этой частной задаче цикл (1, 2, 3) повторился 10 раз. Исходя из примеров 4.6 и 4.7, алгоритм можно понимать как точное, понятное предписание о том, какие действия и в каком порядке необходимо выполнить, чтобы решить любую задачу из данного класса однотипных задач (для которого и предназначен этот алгоритм). В этом интуитивном понятии еще много неясного. Например, что значит «точное предписание», «понятное предписание», «действие», «решить любую задачу». Объясним смысл этих слов. 1. «Точное предписание» — это предписание, задающее алгоритм, построенное так, что его исполнение однозначно осуществимо и не требует никаких свободно принимаемых (исполнителем) решений, т. е. однозначно определена последовательность действий. Это одно из свойств любого алгоритма, называемое определенностью или детерминированностью алгоритма. 2. «Понятное предписание» — это такое предписание, что каждое предусмотренное им действие выполнимо теми исполнителями (людьми с определенным уровнем образования, определенными ЭВМ и т. п.), которым адресовано само предписание. Иначе говорят, что это действие должно принадлежать системе действий (команд) исполнителя. И еще одно обстоятельство необходимо учесть: чтобы предписание было понятным, оно должно быть выражено с помощью конечного текста. Таким образом, говоря «понятное предписание», будем иметь в виду конечное предписание, предусматривающее действия, входящие в систему действий исполнителя (человека, машины). 3. Слово «действие» понимается *в весьма широком смысле, включающем не только арифметические, или 134
вообще математические действия. Алгоритмы встречаются не только в математике. 4. «Решить любую задачу» (разумеется, из данного класса однотипных задач) означает, во-первых, что каждый алгоритм предназначен для решения не одной единственной задачи, а любой задачи из некоторого бесконечного класса однотипных задач. В этом состоит свойство массовости алгоритма. Во-вторых, «решить задачу» означает решить ее за конечное число шагов. Получение результата за конечное число шагов составляет свойство результативности алгоритма. В-третьих, так как предписание, задающее алгоритм, обеспечивает получение результата за конечное число шагов, это означает также, что всякий алгоритм предстает в виде упорядоченного конечного множества шагов, а следовательно, обладает свойством дискретности. 5. Исходные объекты, промежуточные и окончательные результаты любого алгоритма — конструктивны. Все попытки определить понятие конструктивного объекта неизбежно сводятся либо к расплывчатому описанию, либо к определению частных случаев конструктивных объектов. Наиболее изученными конструктивными объектами являются слова в некотором конечном алфавите. В таком виде представимы натуральные, целые, рациональные числа, многочлены с рациональными коэффициентами, уравнения и неравенства с рациональными коэффициентами. Поэтому их можно считать конструктивными объектами. Вещественные числа не являются конструктивными объектами. Итак, подведя некоторый итог сказанному, можно дать и следующее объяснение термину «алгоритм»: под алгоритмом понимаем единый общий метод решения определенного класса однотипных задач, обладающий свойствами дискретности, массовости, определенности, результативностью и оперирующий конструктивными объектами. Однако каждое из двух введенных интуитивных понятий алгоритма не является его математическим определением, так как используемые в них слова не обозначают точные математические понятия. 135
4.1.4. Потребность в математическом уточнении интуитивного понятия алгоритма С древнейших времен математики занимались и по сей день занимаются поиском алгоритмов для решения новых классов задач, возникающих внутри или вне математики. Если поиск заканчивается успешно, то нечего и уточнять понятие алгоритма. Но если же этот поиск длительное время не приводит к успеху, то возникают две гипотезы: 1) алгоритм существует, но отыскивается не теми средствами, которые нужны для его представления, и в этом случае поиск следует продолжить; 2) алгоритм не существует, и в этом случае бессмысленно искать несуществующий объект. В этом случае возникает необходимость доказать, что искомый алгоритм не существует, а для этого нужно знать точно (в математическом смысле), что такое алгоритм. Иными словами, необходимо построить математическую теорию алгоритмов. Были разработаны различные варианты такой теории. Чтобы ознакомиться с тремя из них, нужно предварительно ввести некоторые понятия. Говоря дальше «функция», мы будем иметь в виду арифметическую функцию, т. е. функцию вида M1-WW2, где Mi, M2^N, N — множество натуральных чисел. Функция называется вычислимой, если существует алгоритм для вычисления ее значений (при любых значениях аргумента (аргументов)). Заметим, что вычислимая функция — интуитивное понятие, так как в ее определении содержится термин «алгоритм», обозначающий интуитивное понятие. Чтобы подчеркнуть это, иногда вместо «вычислимая функция» говорят «интуитивно-вычислимая функция», особенно, когда уже имеется и точное математическое понятие вычислимой функции. Предложение 4.1. Любой алгоритм (разрешающий или вычислительный) может быть сведен к алгоритму для вычисления значений некоторой функции. Обратимся еще раз к счетному классу задач Р = = {Pi | i ее N}, требующих ответа «да» или «нет». На множестве N определим предикат Р, порождающий логическую функцию N-ЦИ, J1} следующим образом: тЛ\__/И, если ответ на Рп утвердителен, ^ ;~1Л, если ответ на Рп отрицателен. Нетрудно заметить, что если класс задач Р разрешим, то и предикат Р разрешим (действительно, применив 136
разрешающий алгоритм к произвольной задаче Р«, из этого класса получим ответ «да» или «нет»; если ответ «да», то Р(п)= И, если ответ «нет», то Р(я) = Л) и обратно. Таким образом, проблема разрешения для класса Р сводится к проблеме разрешения для предиката Р. Теперь построим для предиката Р представляющую функцию fp следующим образом: Теперь проблема разрешения для предиката Р, а следовательно, и для класса Р, сводится к проблеме вычисления для функции fp. Действительно, если fp вычислима, то, применив соответствующий алгоритм к произвольному значению п аргумента, получим значение fp(n), т. е. О или 1. Если fp(n) = 0, то Р(п) = И и ответ на Рп — «да», если fp(n) = 1, то Р(п) = Л и ответ на Рп — «нет». Итак, любой разрешающий алгоритм для задач класса Р сводим к алгоритму для вычисления значений некоторой функции. Обратимся теперь к счетному классу однотипных задач S, требующих в качестве ответа предъявление некоторого объекта (т. е. задач типа «Чему равно»?). Допустим, что объекты, предъявляемые в качестве ответов, берутся из некоторого счетного множества, которое мы можем перечислить, например, так Теперь построим функцию f следующим образом: f(n) = а, если ответ к задаче Sn есть уа. Таким образом, проблема вычисления для задач класса S сведется к проблеме вычисления для функции /. Действительно, если / — вычислима, то, применив вычисляющий алгоритм к произвольному значению п аргумента, получим соответствующее значение функции и по этому значению а восстановим объект уа, являющийся ответом к задаче Sn. Это восстановление возможно в силу перечислимости множества (4.1), означающей, что по номеру элемента восстанавливается и сам элемент. В итоге получаем, что всякий алгоритм сводим к алгог ритму для вычисления значений некоторой функции. Поэтому, решая проблему уточнения понятия алгоритма, можно ограничиваться алгоритмами для вычисления если Р(п) = И, если Р(п) = Л. У О, у |, у 2, у а, ... (4.1) 137
значений функции, а это равносильно уточнению класса вычислимых функций. Эту проблему решают по следующей схеме: 1) вводят класс точно определенных функций; 2) убеждаются, что все функции этого класса вычислимы. Возникает вопрос «Все ли вычислимые функции принадлежат введенному классу?» Ответить на него с помощью доказательства принципиально невозможно, так как в нем содержится интуитивное понятие «вычислимая функция». Поэтому 3) принимают гипотезу, или тезис, «класс интуитивно-вычислимых функций совпадает с классом точно определенных функций». Было предложено несколько вариантов решения проблемы по указанной схеме, в том числе с помощью классов Я-определимых (Чёрч, Клини) и общерекурсивных (Гёдель) функций, классов функций, вычислимых по Тьюрингу и по Маркову. 4.2. РЕКУРСИВНЫЕ ФУНКЦИИ 4.2.1. Определение класса рекурсивных функций Класс рекурсивных функций определим индуктивно: в первой части определения перечислим исходные функции, во второй укажем правила образования новых функций из уже имеющихся. Определение 4.1. /. Следующие функции называются исходными. а) Нуль-функция: Z(x) = 0 при любом х(х е N). б) Функция прибавления единицы: N(x) = x+l при любом х(х ^ N). в) Проектирующие функции: Ui{x\, лгг, ■ xn) = xi при всех xi, ..., хи ее N (/ = 1, ..., п\ п = 1, 2, ...). II. Следующие правила служат для образования новых функций, исходя из уже имеющихся. г) Подстановка: функция f получена с помощью подстановки из функций g(y 1, ..., ym), h\(x\, ..., хп), hm(xi, хп), если f(x\, хп) = g(h\(x\, ..., хп), hm(x 1, Хп)). д) Рекурсия: функция f получена из функций g и h с помощью рекурсии, если (f(x 1, ..., Хп, 0) = g(xi, ..., хп), \f(xi, ..., Хп, у + \) = h(xi, ..., хп, у, /(* 1, ..., Хп, у)), 138
где х\, ..., Хп — параметры рекурсии, пфО. Кроме того, если п — 0, то f(0) = k (k — фиксированное число), f(y + 0 = h{y, f(y)). е) [i-оператор: функция f получена из функции g с помощью ^-оператора, если f(x 1, ..., хп) = \xy(g(x\, •••, хп, у) = 0), где [iy(g{x 1, ..., хп, у)= 0) — наименьшее значение у, при котором g(x 1, ..., хПу у) = 0 и выполняется условие: для любых хи • хп существует по крайней мере одно значение у, для которого g(xi, ..., xtu у) = 0. Определение 4.2. Функция f называется рекурсивной (общерекурсивной), если она может быть получена из исходных функций с помощью конечного числа применений правил подстановки, рекурсии и [х-оператора. В частности, если рекурсивная функция может быть получена без применения \л-оператора, она называется примитивно-рекурсивной. Таким образом, всякая примитивно-рекурсивная функция рекурсивна, но обратное неверно. Иначе говоря, классом рекурсивных функций называется: класс функций, содержащий исходные функции а) —в) и замкнутый относительно правил г) —е). Доказывается, что введение фиктивных переменных, перестановка и отождествление переменных не выводит из класса рекурсивных функций. Иными словами, истинно Предложение 4.2. Если функция g(yi, ..., уи) рекурсивна и х\, ..., хп—различные переменные, причем при любом /(1 ^i^k)zi есть одна из переменных *i, хп, то функция f(x 1, ..., xn) = g(zi, ..., Zk) тоже рекурсивна. ^ Пусть Zi = х;{\ < ji <; п). Тогда zi=Utji(xi, ..., хп) и f(x 1, ..., Хп) = giUj^xu Хп), иЦх 1, Хп)). Таким образом, функция f может быть получена из функций g, Urj\, ..., U'jk с помощью подстановки. И так как эти функции рекурсивны, то и / рекурсивна. Но f отличается от g лишь тем, что введены новые переменные или отождествлены, или переставлены некоторые переменные. Нетрудно заметить, что если g — примитивно-рекурсивная функция, то и / примитивно-рекурсивна. <4 Предложение 4.3 (следствие из предложения 4.2). а) Нуль-функция Zn(xi, ..., хп) = 0 примитивно-рекурсивна. б) Постоянная функция С%{хi, ..., xn) = k примитив- но-рекур сиена. в) Правило подстановки может быть распространено и на случай, когда функции hi являются функциями лишь от некоторых из переменных х\, хп. Аналогично, пра¬ 139
вило рекурсии распространяется и на случаи, когда функция g не зависит от некоторых из переменных xi, ..., хп, а функция h может не зависеть от некоторых из переменных Х\, ..., Хп, Уу f(x 1, хп, у). ► а) Если в предложении 4.2 функция g есть Z и k= 1, остается положить z\—x\ и получим Zn(xi, ..., хп) = = Z(x\). б) Доказывается индукцией по k. Действительно, для k = 0 Со(х\, ..., xn) — Zn(x 1, ..., хп)у т. е. примитивно-рекурсивна по доказанному. Допустим, что предложение б) верно для некоторого k, тогда для k-\- 1: Ck+ i(x\y Хп) = N(Cnk(x\, ..., хп)), т. е. функция получена с помощью подстановки из N и Ok, следовательно, она примитивно-рекурсивна для любого k. в) Непосредственно следует из возможности введения фиктивных переменных. <4 4.2.2. Примеры рекурсивных функций Предложение 4.4. Следующие функции являются примитивно-рекурсивными: а) х-\-у\ б) х • у; в) ху\ г) б(лг) = (х — 1, если х>0, I 0, если х = 0; П\ Х^и=={х-У> если Х>У> * У { 0, если х < у; е) \х-у\=\х~У> если Х>У’ I у — х, если х<у\ -> **"«-{£ 5 £ з)^W = {i;r„^°0; и) х\; к) min (х, у); л) т\п(х\, ..., хп)\ м) тах(х, у); н) max (х\, ..., хп); ri f v \ /остатку от деления у на х, если х=£0, О) П{Х, У)-[У' если х = 0; п) qt(x, у)— частное от деления у на х. ► а) По аксиомам (А6), (А7) формальной теории Аг функция х у определяется рекурсивно: г х + 0 = х, ( х 0 = U\ (х), \х + у' = (х + уУ, или U-f (у+ 1 ) = N{x + y). 140
Если обозначить х у через s(x, у), то можно записать это так: fs(x9 0)=Vi(x)9 U(x, у + \) = N(s(x, y)) = N{Ul{x, у, s(x, у)). Для получения двухместной функции по правилу рекурсии нужно иметь одну одноместную функцию и другую — трехместную /г3). Роль таких функций в данном случае играют U! и N(Ul)- Однако, исходя из предложения 4.3, в), функции, используемые при рекурсии, могут зависеть не от всех переменных. Поэтому представление функции 5 в виде js(x, 0)= U\{x), ls(x, у+ 1 )=N(s(x, у)) достаточно для установления ее рекурсивности, так как она получена по правилу рекурсии из функций U\ и N. б) По аксиомам (А8), (А9) функция х • у определяется рекурсивно следующим образом: Г jc * 0 = 0, Г x-0 = Z(x)y { / I ИЛИ1 / , 14 , \х-у =х-у + х, 1х-(у+\) = х-у + х. Обозначив х • у через р(х, у), мы можем записать это так: (р(х, 0) = Z{x), \р(х, у+ 1 ) = s(p(x, у), х). Таким образом, функция р получается по правилу рекурсии из исходной функции Z и примитивно-рекурсивной функции 5. Следовательно, функция р — примитивно-рекурсивна, а стало быть рекурсивна. (Более строго: (р(х, 0) — Z(х), \р(х, у+ l) = s(t/|(x, у, р(х, у)), Щ(х, у, р(х, у))). в) Функция g = ху определяется с помощью рекурсии следующим образом: 1Х°ГТ1 или! °)=CiW \ху+ =ху-х, \g(x, у + l) = p(g(x, у), х), или fg(x, 0) = C!(jf) lg(*. У+ l) = p(Ui(x, у, g(x, у)), иЦх, у, g(x, у))). г) Функцию 6(х) = j о.'ёсли6^1^ 0> можно П0ЛУ' чить с помощью рекурсии следующим образом: г «(о)=о <т=цх) \8(у+\) = у или 1б({/+ 1) = U\{y, б (г/)). 141
д) Функцию х — у можно получить с помощью рекурсии следующим образом: w _ )=6(х — у) w . , гз(х, у, 6(х — у)). е) \х — у\ = (х — у) + (у — х) или \x — y\=s(x — yy у — х\ т. е. функция \х — у | получается с помощью подстановки из примитивно-рекурсивных функций 5 и —. Следовательно, \х — у\ примитивно-рекурсивна. ж) Функцию sgn (х) можно определить с помощью рекурсии следующим образом: з) sgn (х)= 1 — sgn(x), т. е. sgn(x) получается подстановкой из примитивно-рекурсивных функций — и sgn. Следовательно, и сама она примитивно-рекурсивна. и) Функция х\ может быть получена с помощью рекурсии: к) min(;c, у) = х — (х — у)1 т. е. min (х, у) получается подстановкой из примитивно-рекурсивной функции —. л) Доказывается методом математической индукции. Для п = 2 min(xi, Х2) = х\ — (х\ — Х2) (доказано выше (к)), т. е. тт(л:!, Х2) примитивно-рекурсивна. Допустим, что функция min(xi, ..., хп) примитивно-рекурсивна. Для min(A:i, ..., хп, xn+i) получаем min (х\, Хп, хп+ i) = min(min(xi, хп), хп + \)- Следовательно, тт(х\, ..., хп) примитивно-рекурсивна для любого п. м) max (х, у) = у+ (х — у)= s(y, л: — у). н) max(х\, ..., хп, хп+1) = max (max(хи хп), хп+\). о) / rt(*> 0) = Z(x) t rt(л:, y+ \) = N(rt(x, у))-sgn(U — N(ri(x, y))|). fqt(x, 0) = Z(x) } lqt(*, £/ + 1) = qt(a-, y)+ sgn(U— W(rt(*, y))\). < В предложении 4.4 описаны пятнадцать интуитивно-вычислимых функций, представленных в виде рекурсивных функций. Можно было бы продолжить доказательство представимости в таком виде и других вычислимых функций. Это, однако, выходит за рамки нашей программы. или Г sgn(0) = Z(i/) \sgn(y + \)=ul(y, С\(у)). 142
Приведенные примеры индуцируют гипотезу, что вообще всякая вычислимая функция рекурсивна. Это и составляет содержание тезиса Чёрча. 4.3. НОРМАЛЬНЫЕ АЛГОРИТМЫ МАРКОВА 4.3.1. Алгоритмы над словами (интуитивное понятие) Уже установлено (см. п. 4.1.3), что алгоритмы оперируют с конструктивными объектами. Эти объекты можно закодировать словами в конечном алфавите. Например, натуральные числа можно записать в виде слов в алфавите {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} десятичной системы счисления или в виде слов в алфавите {0, 1} двоичной системы счисления. Если же взять алфавит, состоящий из единственной буквы «|», то слова в этом алфавите I, ||, III, ММ ...можно рассматривать как коды чисел О, 1, 2, 3 ... соответственно. Если этот алфавит дополнить буквой «—», то сможем в нем изобразить целые числа ..., —III, —И, |, ||, III, ... Добавляя знак «/», мы сможем его словами записать рациональные числа — III/IIII, 11/111, ... Каждый многочлен с рациональными коэффициентами и с одной переменной можно закодировать словом в алфавите {0, 1, ..., 9, —, /, х, +, •}, например, Зх3— 2 д- х2 + х — 5 словом 3 • х • х • х — 2/3 • х • х + х — 5, CHI' л: — 4у = 3 стему линеиных уравнении \2х у — —12 — словом х — 4у = 3*2 • jc + у =—12, записанным в алфавите {О, 1, 9, +, —, -, =,*,(/,*}. Положение о том, что исходные данные, промежуточные и окончательные результаты алгоритма — конструктивные объекты, которые можно представить в виде слов в конечном алфавите, приводит к мысли рассматривать алгоритмы над словами, отвлекаясь от того, записью каких известных нам объектов эти слова являются. Предварительно рассмотрим основные понятия. К числу таких понятий относятся введенные нами ранее понятия «алфавит» и «слово в алфавите». Пусть алфавит А состоит всего из двух букв: А = {а, Ь}. Множество всех слов в алфавите А обозначим через Л*. Так, abb, ba> а, b, aaabb ^ А*. Число вхождений букв в слово называют его длиной. 143
Так, длины выписанных нами слов равны соответственно 3, 2, 1, 1, 5. В Л* имеются четыре слова длины 2: аа, aby ba, bb, восемь слов длины 3 и т. д. Имеются два слова длины 1: а, Ь. Считается существующим и слово, не содержащее букв,— пустое слово (аналог пустого множества), длина которого считается равной 0. Пустое слово обозначается А. Будем говорить, что слово Р входит в слово Q, если слово Q имеет вид: Р1РР2. При этом слова Р\ или Р2 могут быть пустыми (например, возможно, что слово Q просто совпадает со словом Р, что запишется в виде Q = Py и в этом случае Р входит в Q и Q входит в Р). Например, в слове babbbaaab имеются два вхождения слова ab (подчеркнуты), а в слове 6ab — 2aabbb ab— — 2aabbb (алфавита {0, ..., 9, а, Ьу +, —) —четыре вхождения слова aby два вхождения слова —2а. Если слово Q имеет вид Р\РР2 и слово Р\ имеет наименьшую возможную длину, то будем говорить о первом вхождении слова Р в слово Q. Будем рассматривать преобразование одних слов в другие посредством подстановок, которые задаются в виде P+-+Q или P-^Q, где Р и Q — слова в одном и том же алфавите, не содержащем буквы -<-> и (Р или Q может быть пустым словом). Применение подстановки P+->Q к некоторому слову R означает замену вхождения в R левой части Р правой частью Q подстановки или замену правой части Q левой частью Р. Применение же подстановки P-+Q, называемой ориентированной, к слову R возможно в том случае, когда в нем имеется хотя бы одно вхождение левой части Р подстановки. Оно заключается в замене любого одного такого вхождения соответствующей правой частью. Пример 4.8. Применить подстановку ab++ba к слову abaabba. ^ Замена каждого из двух вхождений ab дает слова: baaabba, abababa, а замена каждого из двух вхождений Ьа — слова: aababba, abaabab. А Пример 4.9. Применить подстановку ab++ba к слову bbb. ^ Подстановка неприменима. А Пример 4.10. Применить подстановки к решению системы урав- „ Г X — 4у = 3, нении { о I 1 о I 2х + у = — 1 2. ► Решение системы можно рассматривать как последо¬ 144
вательность применения ориентированных подстановок: х-+3 + Ау\ 2 - х + у = — 12->2 .(3 + 4-у)+ */=.— 12; 2(3 + 4j/) + у = - 12—>-6 + 9i/= —12; 6 + 9^/ = — 12-^9г/ = —18; у->— 2; х-н>—5 к слову х — 4у = + 3*2л: + у = —12, записанному в алфавите {0, 1, 9, +, —, =, *, х, у]. ^ Подстановка вида Р+-+А означает, во-первых, что в любом слове вместо Р можно «поставить» пустое слово, т. е. попросту выбросить вхождение слова Р. Если, например, подстановку ЬЬ++А применить таким образом ко второму вхождению слова ЬЬ в слово abababbababb, получится слово abababbaba. Подстановка вида Р++А означает, во-вторых, что в любом слове между любыми двумя его буквами можно «вставить» слово Р (естественно считать, что пустое слово входит между любыми буквами). Кроме того, применяя подстановку Р++А «справа налево», можно «приписать» слово Р как спереди, так и позади любого слова. Рассмотрим примеры алгоритмов над словами, при этом будем пользоваться однобуквенным алфавитом А — {I} д л я изображения натуральных чисел. Пример 4.11. Построить алгоритм, который по любому слову ||...| в алфавите Л, содержащему п знаков |, дает слово в этом же алфавите А, содержащее (п + 1) знаков |. ^ Этот алгоритм может быть сформулирован в виде предписания: «Припиши к данному слову справа знак | и остановись. Полученное слово есть результат». Рассмотренный алгоритм перерабатывает натуральное число п в натуральное число п -j- 1. ^ Пример 4.12. Добавим к алфавиту Л={|) звездочку в качестве новой буквы. Мы получим алфавит £ = {|, *}, пригодный для изображения системы натуральных чисел. Так, если слова ||, Mill, III, I изображают натуральные числа 2, 5, 3, 1 соответственно, то слово ||*|||||*||Ы в алфавите В изображает систему этих чисел. Построить алгоритм, позволяющий по любому слову * 11... I ||... | в алфавите В получать слово | !... I в этом П-2 Пи • «| -t- Il2 -f- ... -f Пк же алфавите, т. е. алгоритм сложения системы натуральных чисел (п|, по, ..., Пк), перерабатывающий эту систему в ее сумму п\-\-по-\- + ••• + Пк- ► Требуемый алгоритм задается предписанием: «Сотри все звездочки и остановись. Полученное слово есть результат» — или ориентированной подстановкой |*| X II, применимой столько раз, сколько встречается вхождение слова «|*|». Этот алгоритм можно представить и с помощью блок-схемы (рис. 4.3, а), в которой Р — исходное слово, «|*|?»—вопрос (условие) —существует ли вхождение |*| в исходное слово? Если да, то применяется подстановка |*|-И1, в результате 145
Рис. 4.3 чего убирается одна звездочка и переходят к рассмотрению полученного слова, относительно которого ставится тот же вопрос |*|?, повторяемый до тех пор, пока исчезнут все звездочки и получится результат — слово R. А Пример 4.13. Указать алгоритм, распознающий, слова в алфавите Л ={а, b), содержащие равное число букв а и Ь. ^ Будем считать, что этот алгоритм перерабатывает слова, содержащие равное число букв а и b (и только их), в пустое слово. Учитывая это соглашение, алгоритм можно представить в виде следующего предписания:
1) подставить вместо первого вхождения слова Ьа в данное слово Р слово ab, перейти к 2; 2) если во вновь получившемся слове есть вхождение слова Ьа, то перейти к 1, иначе — к 3; 3) выбросить первое вхождение слова ab, перейти к 4; 4) если в получившемся слове есть вхождение слова ab, то перейти к 3, иначе — к 5; 5) сравнить полученное слово с пустым словом. Если оно совпадает с ним, то перейти к 6, иначе — к 7; 6) исходное слово содержит равное число букв а и Ь, перейти к 8; 7) исходное слово не содержит равное число букв а и Ь, перейти к 8; 8) процесс остановить. В основе этого алгоритма заложен следующий принцип: в перерабатываемом слове Р в алфавите (а, b} делается перестановка букв Ь и а, пока слово не примет вид: aa...abb... Ь, где все буквы а стоят левее всех букв Ь. В получившемся слове затем последовательно удаляется равное число букв а и Ь. Этот алгоритм мы можем задать с помощью следующей упорядоченной системы ориентированных подстановок: или блок-схемы (рис. 4.3,6). <4 Пример 4.14. Указать алгоритм, позволяющий по любому слову в алфавите (а, Ь) определить, имеет ли оно четную длину или нет. ^ Условимся считать, что этот алгоритм должен перерабатывать слова в алфавите {а, Ь\, имеющие четную длину (и только их), в пустое слово. Этот алгоритм может быть задан следующей упорядоченной систе¬ мой ориентированных подстановок: Этот же алгоритм может быть представлен в виде следующего предписания: 1) вместо каждой буквы из алфавита {а, Ь} в данном слове Р написать знак |, перейти к 2; 2) если полученное слово содержит вхождение слова II, го перейти к 3, иначе — к 4; 3) удалить каждое вхождение слова I |, перейти к 4; 4) сравнить полученное слово R с пустым. Если они совпадают, то перейти к 5, иначе — к 6; 5) слово имеет четную длину, перейти к 7; 6) слово имеет нечетную длину, перейти к 7; 7) процесс окончен. Этот же алгоритм может быть представлен и в виде блок-схемы (рис. 4.3, в). 4 Реализация алгоритма, описанного в примере 4.14, состоит в последовательном применении двух алгоритмов А\ и Л2 таким образом, что исходным словом Р для этого алгоритма является исходное слово Р алгоритма Л|, а результат работы алгоритма А\ над этим словом — слово Q — является исходным словом для алгоритма А2. Результат работы алгоритма А2 над словом Q — { Ьа-^аЬ, ab->- А, 147
слово R. Это и есть результат применения рассматриваемого нами алгоритма к слову Р. Последовательное применение алгоритмов А\ и А2 (в заданном порядке) называется композицией алгоритмов и обозначается А\ОА2. Таким образом, алгоритм из примера 4.14 является композицией алгоритмов А\\ Алгоритм, рассмотренный нами в примере 4.13, также можно представить в виде композиции двух алгоритмов: В\ и В2у где алгоритм В\ перерабатывает всякое слово в алфавите [ау Ь} в слово аа...а bb...by в котором все буквы а стоят впереди (левее) всех букв Ь (команды 1—2 алгоритма, описанного в примере 4.13), а алгоритм В2 распознает по слову аа...а bb...by содержит ли оно равное число букв а и b или нет (команды 3—8 алгоритма из примера 4.13). Пример 4.15. С помощью переменных х, у, z, знаков арифметических действий + , —, • и скобок будем составлять слова, например, х • у\ z*(; z -f х • (у + х)\ (х-\ ; х — у • z. Некоторые из этих слов являются алгебраическими выражениями, например, х • у\ z-f-xX Х(у + х)\ x — y-z. Среди слов в алфавите {*, у, z, -f-, —, •,(,)) выделим правильно построенные алгебраические выражения (ппав) следующим образом: 1) каждая переменная (т. е. однобуквенные слова х, у, z) есть ппав; 2) если А и В — ппав, то и слова Л + А — В, А • В — ппав; 3) других ппав, кроме построенных в п. 1—2, нет. Спрашивается, нельзя ли указать алгоритм, преобразующий каждое слово в алфавите А, являющееся ппав, в слово х + у, а каждое слово в этом алфавите, не являющееся ппав, в слово х • у? ► Для построения требуемого алгоритма рассмотрим три алгоритма: С1 — распознающий алгоритм, перерабатывающий слова в алфавите А, являющиеся ппав, в нустое слово А; С2 — переводящий каждое слово в А в слово х + у\ Сз — преобразующий каждое слово в Л в слово х • у. Запишем алгоритм С1: 1) подставить в слово вместо буквы у всюду, где она входит, букву ху перейти к 2; 2) подставить в слово вместо буквы z всюду, где она входит, букву х, перейти к 3; 3) подставить в слово вместо буквы « + » всюду, где она входит, букву «*», перейти к 4; 4) подставить в слово вместо буквы « —» всюду, где она входит, букву «*», перейти к 5; 5) подставить в слово вместо буквы «•» всюду, где она входит, букву «*», перейти к 6; 6) подставить в слово вместо слова (х*х) всюду, где оно входит, букву х, перейти к 7; m m 148
7) подставить в слово вместо буквы х пустое слово, перейти к 8; 8) сравнить полученное слово с пустым словом. Если они совпадают, то перейти к 9, иначе — к 10; 9) данное слово является ппав, перейти к 11; 10) данное слово не является ппав, перейти к 11; 11) процесс окончен. Алгоритм Сг задается предписанием: 1) стереть каждую букву данного слова, перейти к 2; 2) выписать слово х у, перейти к 3; 3) процесс окончен. Алгоритм Сз: 1) стереть каждую букву данного слова, перейти к 2; 2) выписать слово х • у, перейти к 3; 3) процесс окончен. Теперь требуемый алгоритм можно задать следующим образом: «Применить к исходному слову Р в алфавите {лс, у, z, + , —, •, (, )} алгоритм Ci. Если в результате получится пустое слово, то применить к нему алгоритм С2 и результат его работы считать результатом применения рассматриваемого алгоритма над словом Р. Если же получится непустое слово, то применить к нему алгоритм Сз и результат его работы считать результатом применения рассматриваемого алгоритма над словом Р». Полученный таким образом алгоритм называется ветвлением {С 2 С ’ ^ 4.3.2. Нормальный алгоритм Маркова Среди рассмотренных выше алгоритмов над словами встречались такие, которые задаются посредством упорядоченной системы ориентированных подстановок. Эти алгоритмы получили название нормальных алгоритмов Маркова, по имени советского математика А. А. Маркова (1903—1979), разработавшего их теорию. Дадим теперь точное определение нормального алгоритма. Пусть А — некоторый алфавит, не содержащий в качестве букв «-*-» и « • ». Обычной формулой подстановки в алфавите А называют слово P->Q, где Р, Qe/1*, а заключительной формулой подстановки в алфавите А — слово Р-*- • Q, где Р, Qe^I*. Р называется левой частью формулы подстановки P-^yQ, где Л}, a Q — ее правой частью. Конечная непустая упорядоченная система подстановок 'Pi—YiQi ч P2—Y2Q2 ^ Р k—*~y kQk 149
называется нормальной схемой в алфавите А. Здесь 1, у,■<={•, Л}, Pi9 Qie=A*(i= 1, 2, ..., k). Нормальный алгоритм в алфавите А задается алфавитом А и нормальной схемой в этом алфавите. Он преобразовывает слова в алфавите А следующим образом. Пусть дано слово Р в алфавите А(Р^А*). Выясним, имеется ли среди формул подстановок нормальной схемы хотя бы одна с левой частью, входящей в слово Р. Если таких нет, то процесс применения алгоритма к слову Р заканчивается и результатом считается само слово Р. Если же в нормальной схеме имеются формулы подстановок, левые части которых входят в слово Р, берем самую верхнюю формулу из числа обладающих этим свойством. Применяем ее, заменив первое вхождение левой части формулы подстановки в слове Р на ее правую часть. Пусть Р\ — результат этого применения. Если применимая формула подстановки была заключительной, то процесс применения алгоритма к слову Р заканчивается с результатом Р\, иначе применяем к Р1 тот же поиск, который был только что применен к Р и т. д. Если мы в конце концов получили такое слово Pi, к которому неприменима ни одна из формул подстановок нормальной схемы, то процесс применения алгоритма заканчивается и Р, является результатом работы алгоритма над словом Р. При этом возможно, что описанный процесс никогда не закончится. В таком случае говорят, что алгоритм неприменим к слову Р. Характерной особенностью рассматриваемых примеров нормальных алгоритмов в алфавите А является применимость их к любому слову Ре Л*, т. е. процесс применения этих алгоритмов к слову Р заканчивается результативно. Например, нормальный алгоритм с алфавитом {1} и нормальной схемой {Л-> • |}, задающий то же отображение, что и алгоритм в примере 4.11, записанный в виде словесного предписания, применим к любому слову ||...| в алфавите {1} с результатом ||...|, т. е. функция п п + 1 f(n) = п + 1 вычислима для любого п ^ N. 4.3.3. Тезис Чёрча — Маркова Функцию, для которой существует нормальный алгоритм, вычисляющий ее значения (для любых значений аргумента), назовем вычислимой по Маркову. 150
Это точное понятие, так как оно определяется через точное понятие — нормальный алгоритм. Естественно, возникает вопрос, будет ли всякая интуитивно-вычислимая функция вычислимой по Маркову? Ответ на этот вопрос дает тезис Маркова (Чёрча — Маркова): всякая интуитивно-вычислимая функция вычислима по Маркову. После принятия этого тезиса доказательство невы- числимости некоторой функции, т. е. несуществования алгоритма, вычисляющего ее значения, сводится к доказательству невычислимости по Маркову этой функции, т. е. несуществования нормального алгоритма Маркова, вычисляющего ее значения. 4.4. МАШИНА ТЬЮРИНГА 4.4.1. Интуитивные понятия Характеризуя понятие алгоритма, мы уже отмечали, что предписание, задающее алгоритм, должно быть составлено таким образом, чтобы его исполнение было во всех деталях однозначно осуществимо и не требовало никаких свободно принимаемых решений. Другими словами, исполнитель алгоритма должен действовать согласно предписанию совершенно механически, не вкладывая в свою работу никакой инициативы, никакого изобретательства. Но обладать таким свойством в наибольшей степени может машина. Английский математик А. М. Тьюринг предложил уточнение понятия алгоритма в виде воображаемой вычислительной машины, впоследствии названной машиной Тьюринга (МТ). Теоретическая машина Тьюринга отличается от чело- века-вычислителя и от реальной вычислительной машины двумя моментами. Во-первых, МТ не может ошибаться, т. е. она «без всяких сбоев» выполняет программу, управляющую ее работой. Во-вторых, МТ снабжена потенциально бесконечной памятью. Это значит, что, хотя в каждый момент объем хранящейся в ее памяти информации конечен, для него нет никакой верхней грани. Машина Тьюринга имеет: ленту (память), алфавит, управляющую головку, внутренние состояния и программу. 151
«Лента. Бесконечная лента, которой снабжена МТ, разделена на клетки, ячейки. Мы будем пользоваться изображением конечного участка ленты, который можно неограниченно продолжить вправо (иногда пользуются лентой, неограниченно продолжаемой в обе стороны). Алфавит. Алфавит МТ содержит конечное число букв А = {so, 51, ..., Sk}. В каждой ячейке ленты может храниться лишь одна буква алфавита А машины, или же ячейка может оказаться пустой. В этом случае будем говорить, что в ячейке находится буква So, называемая пустой буквой (пробел). На ленте только конечное число ячеек заполнены буквами алфавита Л, отличными от so. Другими словами, почти все ячейки ленты будут содержать пустую букву so (будут пустыми). В процессе работы машины буквы, находящиеся в ячейках, могут меняться. Представим себе это следующим образом: если в какой-то момент букву в ячейке надо заменить на новую, то старая буква «стирается» (как на магнитофонной ленте, где при новой записи автоматически стирается старая запись), а в ячейку вписывается новая буква. Новая и старая буквы могут и совпадать (т. е. буква в ячейке не меняется). Управляющая головка. Способна воспринимать информацию, находящуюся в ячейке, изменять эту информацию, а также продвигаться по ленте, при этом: 1) в данный момент управляющая головка обозревает (воспринимает) лишь одну ячейку ленты; 2) за один такт работы машины головка может передвинуться влево и воспринимать соседнюю слева ячейку (этот сдвиг головки будем обозначать через J1), может передвинуться вправо и воспринимать соседнюю справа ячейку (этот сдвиг обозначим через П), может остаться на месте и воспринимать ту же ячейку (этот «сдвиг» обозначим через Н). Обозреваемая ]/ ячейка Si Управляющая головка 152
Внутренние состояния. Имеется конечное множество внутренних состояний МТ: Q = {g0, qi, q2, qm}. В каждый момент времени МТ находится в одном из этих состояний. После выполнения одного такта работы МТ может изменить свое состояние и воспринимать ячейку в следующий момент времени в новом состоянии. Если МТ в какой-то момент времени попадает в состояние qо, то работа ее заканчивается. Состояние q о называется пассивным (или заключительным). Все остальные состояния машины называются активными, из них q\ — начальное состояние (МТ всегда начинает свою работу, находясь в этом состоянии). Программа. Порядок работы МТ с алфавитом А = = {so, si. • ••, Sk} и множеством состояний Q = {^0, qi, q2, ..., qm] описывает (всей работой МТ управляет) программа, представимая в виде табл. 4.2, содержащей k -f- 1 столбец и m строк. Таблица 4.2 So s, Si ... S' я, Яг : V Ят В клетке табл. 4.2 на пересечении /-го столбца (/ = 0, 1, 2, ..., k) и /-й строки (/= 1, 2, ..., т) записано трехбуквенное слово sgtqi. Это есть запись команды Siq^Sgtqi, которую должна выполнить МТ: если в какой-то момент управляющая головка воспринимает ячейку, в которой записана буква siy и МТ находится в состоянии q-h то она должна выполнить следующую работу: 1) букву Si, находящуюся в обозреваемой ячейке, заменить буквой sg; 2) осуществить сдвиг /(/е 7" = {Л, П, Н}); 3) перейти в состояние qi. Программа МТ представляет собой совокупность подобных команд. Число их не больше числа клеток таблицы, т. е. m(k-\- 1), и точно равно этому числу, если все клетки заполнены. Каждая пара вида (s,-, qfi, где S/ е А и q} е Q\{<7o}, 153
есть элемент декартового произведения ЛХС?\{<7о}. Каждая тройка вида (sg1 /, qi) — элемент декартового произведения AXTXQ- Программа МТ ставит в соответствие каждой паре (s/, qj)^ Q\{<7o} тройку (sgJ /, <//)еЛХ X ТХ Q, стало быть представляет собой отображение вида А X Q\{<7o}-^4 XTXQy полностью определяющее работу МТ. 4.4.2. Машина Тьюринга — математическое понятие алгоритма Прежде всего покажем, что МТ — математическое понятие, т. е. может получить точное математическое определение. Затем покажем, что этот математический объект обладает всеми свойствами, характеризующими любой алгоритм, т. е. МТ является математическим уточнением (одним из возможных) интуитивного понятия алгоритма. В каждой МТ имеются: три конечных множества Л, Q и 7\ выделенные элементы 50еЛ, q0^Q и (/ieQ и программа, представляющая собой отображение вида А X Q\{^о}—^Л X Т X Q. (1) Теперь можно сформулировать точное математическое определение МТ. Определение 4.3. Машиной Тьюринга называется система вида (A, so, Q, qo, q\, Т, т), где А — конечное множество — алфавит МТ, so е А — пустая буква алфавита, Q — конечное множество, элементы которого называются состояниями МТ, qo^ Q — пассивное (заключительное) состояние МТ, q\ е Q — начальное состояние МТ, Г = {Л, П, Н} — множество сдвигов МТ, т — программа МТ (вида (1)). Нетрудно заметить, что, какую бы МТ, имеющую алфавит Л = fs0, si, Sk}, множество состояний Q = = {<7о, qi, <72, q,n] и программу т, мы ни взяли, можно считать, что имеется алгоритм, исходным объектом, промежуточным и окончательным результатами которого являются слова в алфавите Л. Предписанием, задающим этот алгоритм, является программа т, т. е. точное математическое понятие отображения. Другими словами, с математической точки зрения МТ — алгоритм для переработки слов в алфавите этой машины. Проиллюстрируем теперь основные свойства алгоритмов в терминах МТ. 154
1) Массовость алгоритма. Множество исходных данных для алгоритма — множество Л* всевозможных слов в алфавите Л машины. Это множество бесконечно, его элементы записываются на ленте машины. 2) Детерминированность (определенность) алгоритма. Программа т составлена таким образом, что ее исполнение однозначно осуществимо. Действительно, программа т, будучи отображением вида (1), не может содержать двух различных команд вида Siqj-^Sgtqi и -+sgJ\qi} с одинаковыми левыми частями. При этом условии программа не может требовать двух или более различных действий в одно и то же время. Детерминированность означает также, что применение программы (разными исполнителями или в разное время) к одному и тому же слову в алфавите Л приводит к одному и тому же результату с одной и той же последовательностью состояний ленты. 3) Результативность алгоритма. Алгоритм по любому исходному данному позволяет в конечное число шагов получить результат. Программа МТ применяется единообразно по всевозможным исходным данным и не меняется в процессе работы машины над исходным словом. Она описывает переход от одного состояния к другому. Некоторое состояние опознается как заключительное. Появившееся при этом на ленте слово в алфавите Л является результатом переработки исходного слова, записанного на ленте в начальном состоянии машины. 4) Конструктивность объектов, с которыми оперирует алгоритм. Исходные объекты, промежуточные и окончательные результаты для МТ — слова в алфавите Л машины. Такие объекты, как мы уже знаем, являются конструктивными. 5) Конечность предписания, задающего алгоритм. Программа представляет собой конечное предписание, причем процесс вычислений протекает только согласно программе и исходным данным, ничего более не используется. 4.4.3. Вычислимость по Тьюрингу. Тезис Чёрча — Тьюринга Рассмотрим МТ с минимальным, двухбуквенным, алфавитом Л = {so, si}, и в качестве буквы s\ возьмем знак «|». Натуральные числа представим в виде последовательностей: 0 — |, 1 — ||, 2 — III, а — | |,.. | . а+ 1 155
Будем говорить, что МТ применяется к числу а как к аргументу, если в момент 0 (до начала работы) имеется следующая ситуация: самая левая ячейка на ленте — пустая, в следующих а + 1 ячейках записан знак | (т.. е. представлено число а), все ячейки справа от них — пустые, машина обозревает самую правую из заполненных ячеек и находится в начальном состоянии q 1. Будем говорить, что МТ вычисляет значение с для числа а в качестве аргумента, если, исходя из этой ситуации в момент 0, в некоторый последующий момент машина приходит в пассивное (заключительное) состояние qo, а на ленте после а + 1 знаков, представляющих аргумент а, и одного пробела напечатаны с + 1 знаков, а остальная часть ленты пустая и машина опять обозревает самую правую из заполненных ячеек. Если взять определенную МТ, то она может вычислять значение для каждого натурального числа а в качестве аргумента или только для некоторых а или не вычислять значения ни для какого а. Определение 4.4. Если МТ для каждого а в качестве аргумента вычисляет значение с, где с = / (а), мы говорим, что эта МТ вычисляет функцию f. Если существует МТ, вычисляющая функцию /, то эта функция называется вычислимой по Тьюрингу. Рассмотрим в качестве примера МТ, вычисляющую функцию прибавления единицы, т. е. /(а) = а+ 1. Допустим, что эта машина применяется к 1 как к аргументу. Тогда в момент 0 она должна находиться в следующей ситуации: ft (запись «q 1» над третьей ячейкой показывает, что эта ячейка обозревается, и машина находится в начальном состоянии q\). В момент х остановки машины она должна находиться в следующей ситуации: Яо Чтобы не рисовать каждый раз ленту, условимся обозначать пустую ячейку через «О», а ячейку, в которой хранится знак |, через «1». Условимся также обозначать состояния машины только их индексами (опуская букву q), т. е. вместо qi писать «/». 156
Тогда изображенную выше начальную ситуацию можно записать в виде 0111000000 а заключитель¬ ную— 0110111°00 ... Работа МТ, вычисляющей функцию /(а) = а+ 1, определяется следующей программой (табл. 4.3)* Таблица 4.3 Состояние Буквы алфавита А Состояние Q\M Буквы алфавита А 0 1 0 1 1 ОНО 1П2 6 0П2 1П7 2 ОПЗ 1П9 7 0П8 0П7 3 1Л4 1ПЗ 8 0П8 1ПЗ 4 0Л5 1Л4 9 1П9 1Л10 5 0Л5 1Л6 10 ОНО ОПИ 11 1Н0 1П11 В рассмотренном случае So = 0, s\ = 1. Первая буква «0» в первом столбце означает оставить обозреваемую ячейку пустой, во втором столбце—«стереть» знак «|» в обозреваемой ячейке; первая буква «1», в первом столбце — «напечатать» знак «| » в обозреваемой (пустой) Т а б л и ц а 4.4 Момент Ситуация машины и ленты 0 0 1 Г 0 0 0 0 0 0 1 0 1 1 о2 0 0 0 0 0 2 0 1 1 0 о3 0 0 0 0 3 0 1 1 о4 1 0 0 0 0 4 0 1 I5 0 1 0 0 0 0 5 0 1 ^ 1 0 1 0 0 0 0 6 0 1 г 0 1 0 0 0 0 7 0 1 0 о7 1 0 0 0 0 8 0 1 0 0 18 0 0 0 0 9 0 1 0 0 1 о3 0 0 0 10 0 1 0 0 1 4 1 0 0 0 11 0 1 0 о4 1 1 0 0 0 12 0 1 о5 0 1 0 0 0 13 0 I5 0 0 1 1 0 0 0 14 О6 1 0 0 1 1 0 0 0 15 0 | 2 0 0 1 1 0 0 0 16 0 1 о9 0 1 1 0 0 0 17 0 1 1 о9 1 1 0 0 0 18 0 1 1 1 19 1 0 0 0 19 0 1 1 I10 1 1 0 0 0 • 20 0 1 1 0 1 11 1 0 0 0 21 0 1 1 0 1 Г1 0 0 0 22 0 1 1 0 1 1 о11 0 0 23 0 1 1 0 1 1 1° 0 0 157
ячейке, во втором — «оставить» ее в обозреваемой (заполненной) ячейке. Проимитируем теперь работу этой МТ для случая а = 1 на примере табл. 4.4. Как видно, программа МТ для вычисления такой простой функции, как прибавление единицы, достаточно сложна, и, чтобы вычислить 1 + 1, ей необходимо выполнить 23 такта. (Заметим, что использование более широкого алфавита, например десятичной системы счисления, сделало бы эту программу более простой.) Но нас интересует лишь принципиальная, теоретическая возможность существования МТ для вычисления любой данной интуитивно-вычислимой функции. Эта возможность декларируется тезисом Чёрча или Чёрча — Тьюринга: всякая интуитивно-вычислимая функция вычислима по Тьюрингу. 4.4.4. Существование невычислимых функций Принимая тезис Чёрча—Тьюринга, для доказательства существования невычислимых (в интуитивном смысле) функций, достаточно доказать существование функций, невычислимых по Тьюрингу. Предварительно докажем, что множество МТ счетно. Программа всякой МТ может быть записана в закодированном виде в одной строке, если поставить запятые между записями в одной строке прямоугольной таблицы программы и точку с запятой между строками этой таблицы, например табл. 4.3 запишется в виде ОНО, 1П2; ОПЗ, 1П9; ...; 1Н0, 1П11. Интерпретируя эти символы как цифры числа этого кода, записанного в 15-ричной системе счисления с цифрами ЛНП,;012345678 9, мы получаем натуральное число, описывающее программу (таблицу) МТ, а следовательно, ее работу. Назовем это число индексом данной МТ, а описанную процедуру приписывания каждой МТ индекса — индексацией машин Тьюринга. Индексация позволяет эффективно занумеровать все МТ натуральными числами (их индексами), так как по индексу легко восстановить программу, т. е. саму МТ. Разумеется, не всякое натуральное число является индексом некоторой МТ, следовательно, мощность множества всех МТ не больше мощности множества всех натуральных чисел, т. е. оно не более чем счетное. Докажем теперь, что множество всех функций (арифметических) несчетно. Рассмотрим множества функций, 158
принимающих значения 0 и 1. Допустим, от противного, что это множество функций счетно. Тогда их можно занумеровать /0, fi, /2, fn, ... Определим функцию Г/7Л=/0’ если М«)= '' ' 11, если fп(п) = О, которая отлична от любой функции //, i g N. Действительно, f/л = / °- если f,(i) = 1, 11, если /,(/) = 0, т. е. f ф fi, ie N. Следовательно, нельзя занумеровать все функции, принимающие значения 0 и 1, значит, это множество функций несчетно. Но так как оно — подмножество всех арифметических функций, то и множество всех арифметических функций несчетно. Итак, доказано, что множество МТ счетно, а множество функций несчетно. Отсюда следует существование функций, невычислимых по Тьюрингу, и поэтому, согласно тезису Чёрча — Тьюринга, существование невычислимых функций. Для построения примера невычислимой функции введем один предикат, связанный с МТ. (Ввиду того, что мы не строим всю теорию алгоритмов, мы имеем возможность описать лишь общие идеи доказательств приведенных ниже теорем.) Трехместный предикат Г(/, а, х) (логическая функция трех натуральных аргументов /, а, х) обозначает следующее предложение: «i есть индекс МТ, которая, будучи применена к числу а в качестве аргумента, в Момент х остановится (т. е. закончит вычисление значения)». Обозначим МТ с индексом i через 9Л/, а значение, которое она вычисляет, будучи примененной к числу а в качестве аргумента,— срДа). Предложение 4.5. а) Предикат T(i, а, х) разрешим. 6) ф<(а) как частичная функция от i и а вычис¬ лима. а) Нетрудно указать разрешающий алгоритм (в интуитивном понимании), позволяющий для любой заданной тройки натуральных чисел (/, а, х) найти истинное значение предиката Г(/, а, х). Этот алгоритм представлен блок-схемой, изображенной на рис. 4.4. 159
Т(С,а,х)=Л Нет T(i,a,x)-Vi Конец Рис. 4.4 Существование этого алгоритма означает, что предикат T(i, ау х) интуитивно-разрешим. Отсюда следует, что представляющая его функция вычислима в этом же смысле. Согласно тезису Чёрча —Тьюринга, эта функция вычислима и в точном смысле (т. е. по Тьюрингу). Отсюда следует и разрешимость предиката T(iy а, х) в точном смысле. Если МТ, вычисляющая функцию Рт> при заданной тройке (/, а, х) дает 0, то T(iy а, х)= И; если дает 1, то T(iy ау х) = J1. б) ф/(а) — частичная функция, так как она определена лишь для тех пар (/, а), где существует момент х, такой, что T(iy ау х). Для тех пар (/, а), где ф/(а) определена, можно найти ее значение следующим образом: по индексу i восстановить программу машины 9Л/, затем имитировать работу этой машины, начиная с момента 0, применив ее к аргументу а, до того момента х, для которого Г(/, а, л:)=И, и считывать с конечной ситуации на ленте вычисленное значение. Для перехода от этой интуитивной вычислимости функции фi(a) к точной необходимо распространить опре¬ если T(iy ау х) = И, если T(iy ау х) = J1 160
деление вычислимости по Тьюрингу на частичные функции от двух переменных. Будем считать, что частичная функция от двух переменных вычислима по Тьюрингу, если существует МТ, вычисляющая значения этой функции для всех пар значений аргументов, для которых она определена, и ничего не вычисляющая для остальных пар значений аргументов. Тезис Чёрча — Тьюринга применим и к частичным функциям. Отсюда следует, что функция ф/(а) вычислима и в точном смысле (по Тьюрингу). Пример невычислимой функции дает Предложение 4.6. Функция г|э(а), определяемая следующим образом . / ч = Г фа(<з) Н- 1, если {Ех)1 Т(а, а, х), ^ ' \ 0 в противном случае, невычислима. ► Допустим, от противного, что функция г|э(а) вычислима. Тогда существует МТ, например Шр, вычисляющая ее значение для любого значения аргумента. Применим ее для а — р в качестве аргумента. Возможно, что эта машина вообще не вычислит никакого значения для р в качестве аргумента. Если она вычислит некоторое значение 'ф(р), то, по определению ф/(а), это значение равно фР(р). Тогда (Ех)Т(ру р, х) и \|)(р), согласно определению, будет равно Ф/?(р)+ 1. Иными словами, никакая МТ не может вычислить значение функции ур(а) для значения аргумента а, равного индексу машины. Стало быть, нет МТ, вычисляющей значение 'ф(а) для любого значения аргумента а. <4 Рассмотрим теперь одноместный предикат (Ех)Т(ау а, х) (существует момент ху такой, что МТ с индексом ау примененная к числу а в качестве аргумента, останавливается в момент х, т. е. вычисляет значение фа(а)). Предложение 4.7. Предикат (Ех)Т(ау а, х) неразрешим >> Допустим, от противного, что этот предикат разрешим. Тогда при значении предиката И, применив разрешающий алгоритм и имитировав работу машины для а в качестве аргумента, получим фа(а)> затем, прибавив 1, вычислим г|?(а) = фа(а) + 1. При значении J1 имеем 1 «(Ех)» обозначает то же, что «Зх» в формальных системах, т. е. «существует х, такое, что...». Применяется другой символ, так как рассуждения не относятся здесь к формальной системе. 6 Зак. 2997 161
г|)(а) = 0. Таким образом, функция г|э(а) оказалась вычислимой, что противоречит предложению 4.6. ^ 4.4.5. Применения к формальной арифметике (формальная система Аг) Будем вначале считать, что формальная теория Аг адекватна содержательной арифметике натуральных чисел. Это предполагает выполнение следующих требований: 1) для каждого предложения арифметики натуральных чисел в системе Аг имеется формула, выражающая это предложение; 2) если предложение арифметики натуральных чисел истинно, то соответствующая ему формула в системе Аг доказуема в этой системе; 3) в системе Аг доказуемы только формулы, выражающие истинные предложения арифметики натуральных чисел (этим требованием обеспечивается и непротиворечивость системы Аг). Мы примем, что формальная система Аг адекватна содержательной арифметике натуральных чисел, т. е. эта система удовлетворяет требованиям 1—3. Тогда, согласно требованию (1), для предложения (.Ех)Т(а, а, х) (которое, если исходить из определения МТ, можно сформулировать в терминах содержательной арифметики натуральных чисел) в системе Аг имеется формула, выражающая это предложение. Это надо понимать так: для любого а найдется в Аг формула, выражающая предикат (Ех)Т(ау а, х). Обозначим ее Са. Согласно требованию (2), истинно предложение: (а) если (Ех)Т(ау а, х\ то |—АгСа\ а согласно требованию (3), истинно предложение (б) если f- АгСа, то (Ех)Т(ау а, х\ обратное (а). Предложения (а) и (б) служат основой для доказательства теоремы Чёрча о неразрешимости теории Ап Предложение 4.8 (теорема Чёрча). Формальная система Аг неразрешима, т. е. не существует разрешающего алгоритма, распознающего доказуемость в этой системе (см. п. 1.2.8). ► Допустим, от противного, что существует разрешающий алгоритм, распознающий доказуемость в Аг, и применим его к формуле Са, выражающей предикат (.Ех)Т(а, а, х). Если результат «да», т. е. \~АгСа, то, согласно (б), 162
предикат (Ех)Т(а, а, х) истинен, если же результат «нет», т. е. неверно, что \~лгСа, то, согласно (а), предикат (Ех)Т(а, а, х) ложен. Таким образом, мы получили и разрешающую процедуру для предиката (Ех)Т(а, а, лг), который, согласно предложению 4.7, не разрешим. <4 Замкнутая формула Е некоторой формальной системы S называется разрешимым предложением этой системы, если \-sE или f-s“l£. Отсюда следует, что замкнутая формула Е — неразрешимое предложение системы S, если неверно, что (— s£ и неверно, что |—slf. Формальная система полна, если в ней не существует неразрешимого предложения, в противном случае она неполна. Докажем теперь знаменитую теорему Гёделя о неполноте (1931 г.). Предложение 4.9 (теорема Гёделя о неполноте). Если формальная система Аг непротиворечива, то она неполна, т. е. в ней существует неразрешимое предложение. ^ Применим требование 3 о том, что в Аг доказуемы только формулы, выражающие истинные предложения, к формуле ПСл(а = 0, 1, 2, ...). Получаем предложение (с); если |—лЛСп, то неверно, что (Ех)Т(а, а, х). Тогда возникает вопрос, будет ли верно предложение, обратное (с), т. е. предложение (d): если неверно, что (.Ех)Т(а, а, лг), то |—лг~1 Докажем, что допущение об истинности этого предложения для любого а(а = 0, 1,2, ...) приводит к противоречию с предложением 4.7. Прежде всего заметим, что все доказательства в системе Аг можно напечатать на пишущей машинке с 19 символами (18 букв алфавита языка системы Аг и запятая для отделения последовательных формул в доказательстве). Поэтому все доказательства в Аг можно занумеровать (принимая запись доказательства как запись натурального числа в 19-ричной системе счисления), причем эффективно, так как имеется разрешающая процедура для распознавания доказательств среди последовательностей формул. Поэтому, если задано а, мы можем найти в нумерации доказательств в системе Аг доказательство одной из формул Са или ПСа. По закону исключенного третьего ((—А V ~\А) истинно одно из двух предложений: (Ех)Т(а, а, х) или неверно, что (Ех)Т(а, а, х). В первом случае, в соответствии с предложением (а), 6* 163
найдем доказательство формулы Са, а во втором случае, в соответствии с предложением (d)y—доказательство формулы ПСа. Если мы найдем доказательство формулы Са, то по предложению (Ь) предикат (Ех)Т(а, а, х) истинен; если же мы найдем доказательство формулы 1Са, то по предложению (с) истинен предикат «неверно, что (Ех)Х ХТ(а, а, *)», т. е. предикат (.Ех)Т(ау а, х) ложен. Иными словами, мы получили разрешающую процедуру для предиката (Ех)Т(а, а, х), т. е. этот предикат разрешим, что противоречит предложению 4.7. Следовательно, наше допущение, что (d) верно для любого а, приводит к противоречию. Таким образом, предложение (d) верно не для любого а, т. е. существует такое а = ру что оно не выполняется. Это значит: (I) неверно, что (Ех)Т{ру р, х) и (II) неверно, что f-лЛСр, причем, так как формула “IСр выражает в Аг предложение «неверно, что {Ех)Т{ру р, х)», то, учитывая (I), она выражает истинное предложение и недоказуемо в Аг (согласно (II)). Исходя из предложений (I) и (Ь) и рассуждая по правилу контрапозиции, получаем предложение (III): неверно, что \~агСр. Итак, в Аг найдено неразрешимое предложение Ср: ~\СР выражает истинное предложение, Ср недоказуема в Аг и "1 Ср недоказуема в Аг. Этим и доказана неполнота формальной системы Аг для арифметики натуральных чисел. ^ На первый взгляд может казаться, что неполнота формальной системы Аг является следствием недостаточности (неполноты) системы аксиом и ее можно устранить дополнением этой системы формулой "1 Ср, выражающей истинное предложение, в качестве новой аксиомы. В этом случае мы получим расширенную формальную систему Аг'. В ней, оказывается, сохраняются все условия, при которых имеет место теорема Гёделя о неполноте. Это значит, что и в этой системе Аг' найдется некоторое неразрешимое предложение, т. е. и она окажется неполной. И если мы опять дополним систему аксиом Аг' этим неразрешимым предложением, получим новую систему Аг", для которой также будет верна теорема Гёделя. Неполнота формальной системы Аг обусловлена принципиальной невозможностью полной формализации такой содержательной части математики, как арифметика натуральных чисел. Какую бы систему аксиом ни поло¬ 164
жили в основу формальной системы для арифметики натуральных чисел, всегда найдется истинное предложение в терминах арифметики, для которой соответствующая формула недоказуема в системе Аг. Этот выдающийся результат имеет и существенное философское значение. Он опровергает тезис логицистов (Рассел и др.) о возможности сведения математики к логике. Не только вся математика, но даже такая ее часть, как арифметика натуральных чисел, несводима к логике, т. е. полностью неформализуема. Именно применительно к «Principia Mathematicae» Рассела и Уайтхеда (1910—1913) и родственным ей системам Гёдель доказал свою знаменитую теорему о неполноте. Теорема Гёделя о неполноте известна также под названием «Первая теорема Гёделя». Вторая теорема Гёделя касается доказательства непротиворечивости формальной системы Аг. В частности, доказана возможность выражения с помощью формулы системы Аг непротиворечивости этой же системы. Однако эта формула недоказуема в Аг, откуда и следует вторая теорема Гёделя: непротиворечивость системы Аг недоказуема в Аг. Это означает, что в любом доказательстве непротиворечивости формальной системы неизбежно использование аппарата, неформализуемого в рамках этой системы.
Б. ПРАКТИКУМ 1. ЛОГИКА ВЫСКАЗЫВАНИЙ 1.1. АЛГЕБРА ВЫСКАЗЫВАНИЙ Вопросы для повторения 1. Алфавит и формулы алгебры высказываний. Семантика букв алфавита. 2. Истинностные значения. Истинностные таблицы формул. 3. Истинностные функции. Совершенные нормальные формы. 4. Классификация формул. Общезначимые и выполнимые формулы. 5. Логические уравнения. 6. Равносильные формулы. Равносильные преобразования формул. 7. Отношение логического следования. 8. Применение алгебры высказываний: запись и преобразование математических предложений; анализ рас- суждений; анализ и синтез контактных и электронных схем. Пример 1.1. Пользуясь определениями 1.1. и 1.2, выяснить, какие из следующих слов являются формулами. (а) (Л \ =э Л2) (б) (P=>Q) (в) PzdQ (г) PP)=dQ) (д) ((P~Q)VP). ^ (а), (б) Из определения 1.1 вытекает, что формулой алгебры высказываний является только слово, составленное из букв алфавита Ла в. Поэтому (А 1 id А2) не формула, так как символы А\ и А2 алфавиту А а в не принадлежат, a (P=>Q) — не формула, так как символ =>- не принадлежит алфавиту Лав. (в) Р id Q — не формула, так как нарушен пункт в) определения 1.2 (отсутствуют левая и правая скобки). (г) Из определения 1.2 следует, что скобки (левая и правая) входят в сложные формулы парами. Поэтому (ПЯ)=э Q) — не формула, так как не хватает левой скобки. (д) ((Р ~ Q)V Р) — формула, так как: 1. Р, Q — формулы 1. Опр. 1.2 а 2. (Р ~ Q) — формула 2. Опр. 1.2 в (1) 3. ((Р — Q) V Р) — формула 3. Опр. 1.2 в (2, 1). <4 166
1.1. Какие из следующих слов являются формулами? (a) (PAQ)R~lQ (б) PVQ^R (в) ((<?=> Р)ЛОР)) (г) ((n/>)=>Q)~n(/>VQ)) (д) ((PAQ)~R (е) (1PVR)VS (ж) ((АЛВ)=>С) (з) ((Р, гз(1Р2))АРз) (и) ((PA=^Q)VR) (к) ((Q\yi)AP) (л) ((Pp(QV/?))&(ПЯ)) (м) ((Р~<?)гэ(ЛР)) (н) (о) е'+о. ' р + <? ' 7 1.2. Опустите скобки в формулах: (а) (((pP)AQ)~P)V((S=>P)AQ)) (б) (*~(((-iP)V(QA#))~(Sz3(Sz>P)))) (в) ((((Р V (п <?))=> Р) ~ P)V(P Л Q)) (г) (((Р ~ Q)~ ((((РЛ /?)Л Р) V (ПР)) => Q)) V Q). 1.3. Восстановите скобки в формулах: (а) ~1Р=> QAP~ "11(PVQ)=)5 (б) P=d "1(Р\/Р)Л I^VQ (В) (P ZD P) ID P ~ “IP V Q (r) (5 ~ P) ~ (P A S) A Q V гз P. Пример 1.2. Вычислить истинностное значение формулы ((Ягэ Q)V V IQ ~ PAQ)\/SAR при наборе (Я, Q, R, S)= (И, Л, Л, И). ► ((P=,Q)\/1Q~PAQ)VSAR ИЛ л и л и л л и и л л л Л < 1.4. Вычислите значение формул при указанных наборах: (а) Q^(PVtf^(tf^~lQ)), (Р, Q, R) = (JI, И, И) (Р, Q, Р)=(Л, J1, J1) (б) nP=DQAP~"|-i(PVQ)=>5, (Р, Q, Р, 5)= (И, Л, Л, И) (Р, Q, R, 5)= (И, И, Л, Л). 1.5. Составьте истинностные таблицы следующих формул: (а) 1(S=>-IT\/PAQ~PA-KQ=>T)) (б) (P=>Q)V(P=>QAP) (в) (РА ~iQ => Q)=>(P=> Q) (г) Р=> QAR ~ PA~iQ =>~IR- 1.6. Относительно каждой из приведенных ниже формул укажите: достаточно ли приведенных сведений для определения значения формулы. Если достаточно, укажите это значение. Если недостаточно, то покажите, что 167
формула принимает как значение И, так и значение J1. (a) (PzdQ)zdR (б) -1(PVQ)~1PA~1Q И и (в) Р/\(Q zd R) (г) (P:dQ):d(-1Q=d-1P) И И (д) PV(Q=3/?) (е) PVQ^PAR И ил (ж) (PAQ=)/?)=)(PAQ)(3) Р ~ Q\/ Р. Л и Пример 1.3. Пусть функция задана табл. 1. Найти СКНФ и СДНФ, выражающие эту же функцию. ^ Воспользуемся алгоритмом 1.1. Таблица 1 Р Q /(/\ Q) И и и и л л л и л л л и (а) Наборы, при которых /(Р, Q)=H: (Р, Q) = (И, И); (Р, Q) = = (Л, Л). (б) Соответствующие элементарные конъюнкции: PAQ; ПРД "1Q. (в) СДНФ: PAQVIPAHQ. Воспользуемся алгоритмом 1.2. (а) Наборы, при которых /(Р, ф) = Л: (Р, Q) = (И, Л); (Р, Q) = = (Л, И). (б) Соответствующие элементарные дизъюнкции: “1PVQ; Р\/1Q. (в) СКНФ: (“IPV Q)A(^V "1Q). ^ 1.7. Составьте СДНФ и СКНФ для всех двухместных истинностных функций. 1.8. Составьте СДНФ и СКНФ, выражающие те же функции, что и следующие формулы: (а) QV/?AnP=>(P~/?) (б) (Р\/ Qzd R)zd(P\/ Rid Q\/ R) (в) 1(PAQdP)VPA(QV«) (г) pa(qv/?)=^paqv/?. 1.9. Напишите СДНФ и СКНФ для следующих функций: (а) от трех атомов, которые равны И тогда и только тогда, когда число атомов, принимающих значение И, менее двух или не менее трех; (б) от трех атомов, которые равны J1 тогда и только тогда, когда число атомов, принимающих значение JI, менее двух или не менее трех; (в) от четырех атомов, которые равны И тогда и толь¬
ко тогда, когда число атомов, принимающих значение J1, не менее двух и не более трех; (г) от четырех атомов, которые равны J1 тогда и только тогда, когда число атомов, принимающих значение И, более трех или менее двух. Пример 1.4. Решить уравнения: (а) {(PzdQAR)^OQ-э-1Р))=эП<2 = Л (б) (Р id QAR)A(Q AS)A(R Т)ЛПР ^ Y)=> S ATV Y = Л. ^ (а) По определению импликации, это уравнение равносильно системе |(P=)QA/?)=d("1Q=d IP) = И, { ~1Q = Л, откуда Г Q = и, { (Я=э И А/?) =5 (л ID1P) = И. Учитывая Л id IP s= И и (Я id И А#) И = И, получаем, что решением будет всякий набор, в котором Q = И, а Я и R — любой объект из (И, Л). Тогда возможны наборы: (Я, Q, /?)= (И, И, И); (Я, Q, Я) = (Л, И, И); (Я, Q, Я) = (И, И, Л); (Я, Q, Я) = (Л, И, Л). (б) По определению импликации, f(P=>QAR)A(Q=>S)A(R=>T)AOP=> Y)= И, { S A Т’V У = Л. Учитывая определение конъюнкции, получаем: {PidQAR=H, Q :=> S = И, Я=э И, ПЯ=э У= И, 5А^\/У = Л. С учетом определения дизъюнкции, примененного к последнему уравнению, система примет вид: f 5АГ = Л, Y = Л, < ~1Я =э Л = И, PidQAR= И, Q id S = И, Отсюда, с учетом определений импликации и отрицания, примененных к уравнению ~\Р id Л — И, получаем: f (Я, Y)= (И, Л), И=э<ЗАЯ=И, < Q S = И, Я =) Г = И, Ч5А7’ = Л. Решая уравнение Hz>QA^=M, учитываем определения импликации и конъюнкции. Имеем: 169
{ (Я, Q, R, Y)= (И, И, И, Л), И zd 5 = И, Иэ7 = И, SAT = л, f (Я, Q, R, S, Г, Г)= (И, И, И, И, И, Л), что равносильно| Последняя система противоречива, значит, уравнение решений не имеет. 4 1.10. Решите уравнения: (а) РА ~I(“1Q=I /?)= И (б) />AQA/?d1PVQV"I^ = -H (в) (PVQ)A(nPVnQ) = Jl (г) Р ~ Р\/ Q = И (д) (<?=>Я)^(/^<Э^^Я) = Л (е) (/^QV^AOQA^ASA^Tff^ (ж) (Р:э<2\//?)ЛР<Э=>5)Л(5Л/3:э'1#):э<2 = Л (з) PAQ\/(Q=>P)\/(P~R) = n. Пример 1.5. Решить уравнение Р id Q = lQ\y Р. ► Это уравнение равносильно совокупности (содержательной дизъюнкции) двух систем: ( PzdQ= И, г Я=э(? = Л, [ 1Q\/P = И, ИЛИ( -\(}\/Р = Л. По определению импликации, далее получаем: <Р = л, (Q = H, (Р= И, { ~]Q\/Р = И, или\ И, или< Q = Л, I, hq\/P = Л. Третья система противоречит определению дизъюнкции, а из первой и второй получаем решения данного уравнения. Таким образом, (Я, Q)e{(H, И); (Л, Л)). 4 1.11. Решите уравнения: (a) PAQ = P\/Q (б) PAQ = P=>Q (в) PAQ = P~Q (г) PVQ = P=)Q (Д) PVQ = Q (е) P=>Q = P~Q (ж)ЯЛ<г = Я1<? (з) PAQ = P±Q (и) PVQ = /3IQ (К) PVQ = P\Q (л) PzdQ = P\Q (m)P=>Q = P\Q (Н) P~Q = P|Q (о) P~Q = PJQ. 1.12. Решите уравнения: (а) 1P=>(P=>Q) = P\/1Q (б) Я ~ Q V ^ = Q Р (в) (PzDQ)V(Q=^/,) = n/5AnQ (г) />~ Q = Q=3(PV (д) H(P=dQ) = PA1Q 170
(e) P^(QidR) = PAR=> IQ (з) P|QV*l/? = "lP4/?=>Q. 1.13. Сопоставьте определения штриха Шеффера и стрелки Пирса с определениями конъюнкции и дизъюнкции. Пример 1.6. Доказать неполноту системы {V, Л}- ► Достаточно доказать, что хотя бы одна связка не выражается через данные. Убедимся, что "1 не выражается через V. А - Отрицание является функцией от одного аргумента. Поэтому, если ее и можно выразить через бинарные функции V и А от аргументов А и В, то значения А и В должны совпадать. Если А = В = И, то ЛАЯ=И и А\уВ = И, так как значения конъюнкции и дизъюнкции совпадают со значением самого аргумента, а не являются его отрицанием. Аналогично обстоит дело, если оба аргумента принимают значение J1. ^ 1.14. Докажите неполноту систем: (а) {V, =>} (б) П| (в) Р, ~| (г) {Д, =э} (д) 1Л, V, =5. ~1 (е) {Л, V, =э}. 1.15. Докажите равносильности: (а) 1Р = Р\Р (б) “1 Рг=Р\Р (в) P\JQ^(P\P)\(Q\Q) (Г) P/\Q = (P\P)\(QbQ) (д) PIQ^nPVHQ (е) Р I Q == ПРД 1Q. 1.16. Докажите общезначимость каждой из 50 формул предложения 1.9. 1.17. Докажите, что А ~ В общезначима тогда и только тогда, когда А = В. 1.18. Докажите, что Е общезначима тогда и только тогда, когда П Е — противоречие. Пример 1.7. Доказать методом от противного общезначимость формулы (Р id Q) A(Q R) zd (Р zd R). ^ Пусть данная формула необщезначима, тогда должно иметь решения уравнение (P=>Q)A(Q =>*)=> (Я =>/?) = л. Это уравнение равносильно системе (PzdQ=H, (Р = И, 1/? = Л, I Р id R = Л, откуда | И =) Q =Л, 4 ^<?:эЛ = И. Два последних уравнения противоречат друг другу. Значит, предположение неверно, а формула — общезначима. <4 Пример 1.8. Доказать равносильными преобразованиями общезначимость формулы (Р zd Q)A(Q zd R)zd(P R). ^ При равносильных упрощениях формул поступают обычно сле¬ 171
дующим образом: вначале, используя равносильности, соответствующие общезначимым формулам (14) и (15) предложения 1.9, избавляются от эквиваленций и импликаций, затем наиболее часто используют дистрибутивные законы, законы идемпотентности, поглощения, де Моргана, двойного отрицания, отрицания импликации и др., учитывают еще, что А V И = И, ЛДЛ=Л, Л V Л = Л, ЛД И=Л. В' нашем случае имеем: (P=>Q)A(Q = R)^(P=>R) - — 1((Р =з Q)A(Q => R))V(P => R) - (18),(15) « -1 (Р ZD Q)V ~KQ ^ R)V(P => /?) ^ (22), (25) ^PAHQVQA~i/?VTPVff_ « = (-|PVPAiQ)V(/?VQA"i^) S (44),(25) ^(1Р\/Р)ЛОР\/ iQ)V(tfVQ)A(R V ~itf) ^ (22),(25) (44) = nPV~iQV/?VQ ^ ~iPVtfV(QV~iQ) = iPVWHsH. 4 Замечание. В приведенных выше равносильных преобразованиях мы, учитывая ассоциативность дизъюнкции, опускали скобки там, где оператор дизъюнкции применялся несколько раз, т. е., например, вместо (Л \/В)\/С или Л \/(В\/С) писали просто Л \/В\/С. 1.19. Без построения истинностных таблиц докажите общезначимость формул: (а) IPzd(PzdQ) (б) pP=>~lQ)~(Q=>P) (в) PAQzD/?~PAn/?^lQ (г) P=>(Qzd P/\Q) (д) (PVQ~Q)~(P=>Q) (е) (PAQ~Q)~(Q=>P) (ж) (~1Р dP)dP (з) pP=> QA ~1<?)=эР. 1.20. Без построения истинностных таблиц докажите противоречия: (а) PA1(PAQ)AQ (б) ~1(P=>(Q=dPAQ)) (в) (P~Q)A~KQ~.P)V(Q~-P)An(P~Q) (Г) (P-Q)AQAHP (д) P=.(Q =) P)APAQA “I/? (е) П(Рd(Pd Q~ Q)). Методы доказательства общезначимости и противоречия: (1) составление таблицы истинности, (2) равносильные преобразования, (3) от противного. Пример 1.9. Какова (общезначимая, противоречие, нейтральная, выполнимая, необщезначимая) формула Л = ~\Q/\SA(“lPA ~\RV VPAR)? 172
► Задачу можно решить, составив истинностную таблицу формулы А. Другой способ состоит в нахождении: а) хотя бы одного из решений каждого из уравнений вида А — И и А = J1 или б) всех решений одного из уравнений А = И или А = JI. а) находим хотя бы одно решение уравнения ~1QA5A(1PA 1R\/P/\R)=H. (1) ( ~1Q = И, Оно равносильно системе \ S — И, (2) {IP /\~\R\/ Р /\R = И, откуда следует, что (Р, Q, Р, S) — (И, Л, И, И) —решение данного уравнения. Легко видеть, что (Р, Q, R, 5)= (И, И, И, И) —решение уравнения 1QASAHPA^RVPAR) = л. б) Решаем уравнение (1), которое равносильно системе (2), откуда (Q = Л, SQ = Jl, (Q = Л, 5 = Л, I S = Л, I 5 = Л, ЯДУ? = И, или%ЯДЛ = И, или^ЯАЛ = Л, 1ЯА1/?=и, ^-|/>л~1Я = л, ^л/>л"1Я = и. Первая система противоречива, а вторая и третья дают решения (Я, Q, Р, S)e{(H, Л, И, Л), (Л, Л, Л, Л)}. При остальных 14 наборах (14=16 — 2) данная формула принимает значение Л. Значит, данная формула нейтральная, выполнимая и необщезначимая. <4 1.21. Какие из приведенных ниже формул являются общезначимыми? противоречиями? нейтральными? не- общезначимыми? выполнимыми? (a) QV^=>(^V Q=> Р\/ R) (б) ~\(Р id (Р Q ~ Q)) (в) PAQ~P\R (г) P\P^RWQ (д) P\Q~(1P=>Q) (е) (P^R)A(Q^S)AOPV^S)=>lPyiQ (ж) Р\/РА Q ~ ПР (з) (P=>Q)=> ((Р =>(Q=> R)) 1э(Р=> R)) (и) (PAQ^R)~(P^(Q=>R)) (к) П(ПРД QA(PV R)) (л) (/>=>Q)AHP=>-|Q (м) ipvqa^RWR- Пример 1.10. Доказать ЛР гэ (Р zd Q) = ~1Q /\Р =э Р. ► Обозначим левую часть данной равносильности Л, а правую — В. Задачу можно решить: а) составив истинностную таблицу формул А ц В\ б) методом равносильных преобразований: (15) (22) (38) HPid(PzdQ) = PV(IPVQ) W (Q\/lP)\yP W ^1(-IQAP)\/P = -IQAP^P-, в) решением двух систем логических уравнений: 173
( IP ZD (P ZD Q) = И, j ~\P ZD (P ZD Q) — JI, ( 1QAPdP=H, ИЛИ{ 10ЛЯэР = Л. Применяя определение импликации, получаем следующие системы: (1Р= И, Р=э Q = Л, ^ПСМР=ЭР=:Л. Далее: (PzdQ= И, ГПР Л’ Г 1 А п п шл ИЛИ1 ИЛИ< / 1 HQAP => Р = И, \пддР=зЯ=и, (- Р = Л, fQ = И, f Р = И, 1QAPidP= И, ИЛИ\п(МЯ=э Р= И, ИЛИ| v ^ I 1QAP=5 Р = И, Г р = л, или < Р id Q = Л, I HQ АЯ Р = Л. Г р= И, Г р = л, Г Q = и, I |п(глл = л-иЛлля = я-и,\п(гл11 = || = 1|< { Р = Л, Л id Q = Л, П(? А Л id Л = Л. Последняя система противоречива, а первые три дают четыре решения: (Р, <?)€={(Л, Л), (Л, И), (И, И), (И, Л)}. Формулы А и В содержат два атома Р и Q, множество всевозможных истинностных значений которых есть множество М = = ((И, И), (И, Л), (Л, И), (Л, Л)). Так как найденное множество решений совпадает с множеством М, то формулы А и В равносильны; г) методом «от противного». Предположим, что формулы А и В не равносильны. Это означает, что должна иметь решение хотя бы одна система: ( ~1Р id (Р id Q) = И, ПР zd (Р и> Q) = Л, \-tQAP=>P = Л ИЛИ( ~\QAP=> Р= И. По определению импликации, получаем две системы: f IQA^ = И, ГПР=И, f Р = Л, или<Р=)(2=Л, 1Pzd(Pzd Q) = И llQAP=>P = И. Далее: { 1Q= И, Г Р = Л, Р=И, s Лэ(}=Л, I ПС Р = Л, или I HQAP=> р= и. ПР => (Р id Q) = И Обе системы противоречивы. <4 1.22. Докажите следующие равносильности: (а) PA(PVR)A(QVR) = PARVPAQ (б) (P~Q)=>PAR^PARVPA^QVQA~1P (в) (PVQVR)A(QVPVS)A(R\/SVP)^ = PV((QVRAS)A(SVR)) (г) * (Р => Q V Я) А (5 => Р V Q) A (R =э 1Q) А А (5 ~ п/?)А (Q => /?) = IQ A R A is. 174
1.23. Укажите такие наборы значений Р, Q, R, при которых формулы (a) P/\Qz}R и P/\(QzzR) прини¬ мают: 1) одинаковые значения истинности, 2) разные значения истинности. То же сделать для формул: (б) PVQ=>R и P\J(Q zd R) (в) Pzd QVR И (Я=> Q)A(P=) R) (г) P~Q\JR и (P~Q)VR (д) Р ~ Q AR и (Р ~ Q)/\R (е) Р zd Q ~ /? и Р zd (Q ~ /?). Пример 1.11. Упростить (Я => Q V tf)AOQ => S)A(SA Я =э П/?) => Q. ^ (PbQVtf)AOQ = S)A(SAP=>~l/?)=>Q (= (38) ^n((Pz3QV^)A("iQ=3S)A(SA/5 = n«))VQ = (18) = i(PzdQV^)V'i('IQ='5)V1(SA^=)1^)VQ — (39) sPAn(QV^)ViQAiSVSAPA/?VQ ^ (28) ^PAiQA'i^ViQAiSV/’A^ASVQ = (28) = PAOQAitfVtfAS)V~iQAiSVQ = = PAOQA"itfV*AS)V(QViS) (= (28) = PA(K?A'i/?V/?)ACiQAi«VS)V(QV'iS) = = PAOQV/?)AOQV"iflVS)V(QV~iS) (= (44) = (PVQV ~iS)AOQ Vtf VV 15)A("IQ V ПЛ VS VQ V IS) = = ^VQV is. 1.24. Упростите: (а) pahqv^a^vqapvqv/? (б) PAQARVPAQA^RVPA~\Q (в) n((P :=><?) A (Q^nP)) (r) (P^iQ)Wi(PVQ) (д) -\(-ipa~iQ)\/(P=>Q)AP- 1.25. Укажите правильные следования: (а)А,В^ААВ (б) AABhA (в)ЛЛВНВ (г) А\=А\/В (д) B\=A\JB (е) A zd В, А\= В (ж) AzdB, В\=А (з) Л=>В(=В=>Л (и) AzdB, 141=05 (к) AzdB, “1В|=~Ъ4 (л) А г) В\= 1А zd 1В (м) у4 гг> S|= “IS rr> П^4 (н) А ~ В|= ПВ zd 1А (о) А ~ В, А\= В (п) А ~ В, В\= А (р) А ~ В\= В ~ А (с) А ~ В\= A zd В (т) А ~ В\= В zd А (у) А~В, ПЛ(= ПВ (ф) Л~В, ПЛ}= (х) А ~ В(= П/4 ~ ПВ (ц) А ~ В|= ПВ ~ ~1>4 (ч) А ~.ВН= ПЛ гэ ПВ (ш) А ~ В(= ПВ zd ~\А. Методы установления правильности следова- 175
ния А1, А2, Ak\=B: (1) замена вопроса о следовании вопросом об общезначимости формулы Л1ЛЛ2Л — Л В или формулы А\ ZD (А2^> (...^Э (Л^гэ В)...)), (2) «от противного». 1.26. Докажите утверждения (Г — произвольное мно¬ жество формул). (а) “L4f=£=^~ ~ЛВ (б) PzdQ\JR\/S, ~\S\=P A ~1Q иэ /? (в) Если Г\=А\/В и Г, А^=С и Г, В\=СУ то Г\=С (г) Если Г, А\=В и Л Л|= ~1В, то Г[= ~1Л. Пример 1.12. Правильно ли следование А id 5, Л р С, £ДС[=Л? ► Допустим, что следование неправильно. Тогда хотя бы при одном наборе: Система имеет решение (А, В, С) = (J1, И, И), таким образом, существует набор, при котором посылки A zd В, Л d С, В Л С одновременно принимают значение И, а заключение Л — значение J1. Итак, следование A zd В, A id С, Б Д С(=Л неправильно. 4 Пример 1.13. Верно ли следование Aid В, С id В, А Д С|= В? ► Предположим, что следование неправильно, тогда Полученная система противоречивая, значит, нет такого набора, при котором посылки AzdB, С zd £, А ДС одновременно имеют значение И, а заключение — значение J1. Поэтому следование Aid В, С id В, А/\С\=В правильно. 4 1.27. Правильны ли следования: и) ПРД ~1Q[= П(Р VQ) (К) 1РД ~IQ(= ~1(РА Q) л) П(Л V5)h ПЛ Д ПВ (м) 1(А WB)\= 1А V “IB? .28. а) Докажите правильность следований: а) A, lAhB (СУО) б) А=>В, В^А\=А~В (ВЭ) в) П(ЛДВ)|=ПЛУПВ (ОК) г) П(Л:эВ)(=ЛЛ“1В (ОИ) д) 1(А ~В)И(Л УВ)ЛП(ЛДВ) (ОЭ) е) А z=> В, В=> С|=Л гэ С (С) ж) Л V B, IBM (ДС) з) Л =э (В => С)(=Л ДВ =з С (СП) Л=>В=И, <'Л = С=И, с => в = и, I в = л, ЛДС=И, °™уда< л ZD в = и, Сгз В = И. а) ЛДВ, ПЛ(=ПВ (б) Л\/В, 1В|= ПЛ в) Л VS ~1Л|= пв (г) Л=эВ\/С, ЛДПСНПВ д) ^дк, x^iy (е) x\/y\/z, *h= пуд-iz ж) PVQ. ^HQ (з) PVQh^ 176
(и) A/\BzdC\=Azd{BzdC) (РП) (к) А id В, C=>D, AVChBVD (КД) (л) Л=э£, C=>D, ~lBV~\Dh~\AV~iC (ДД). б) Докажите утверждения предложения 1.13. Пример 1.14. Записать формулой алгебры высказываний предложения: (а) «Числовые выражения, а также выражения с переменными, в которых используются операции сложения, вычитания, умножения, деления и возведения в степень, являются рациональными». ^ Предложение (а) представляет собой описание понятия рационального выражения. Класс R рациональных выражений, согласно предложению (а), есть объединение классов С и Р\ R = С U Р, где С — класс числовых выражений, в которых используются операции сложения, вычитания, умножения, деления и возведения в степень, Р — класс выражений с переменными, в которых используются те же операции. Итак, всякий элемент х класса R принадлежит либо классу С, либо классу Р. Приведенное разъяснение показывает, что оборот «а также» выражает альтернативную связь. Легко понять, что подчеркнутые двумя чертами запятые и слово «и» выражают дизъюнктивную связь. Чтобы убедиться в этом, распишем подробнее предложение (а): Выражение А — рациональное тогда и только тогда, когда А либо числовое выражение, либо выражение с переменными, в которых используются операции сложения или вычитания, или умножения, или деления, или возведения в степень. Для записи предложения (а) в виде формулы введем обозначения: Р — А — числовое выражение, Q — А — выражение с переменными, R — в выражении А используется операция сложения, 5 — в выражении А используется операция вычитания, Т — в выражении А используется операция умножения, U — в выражении А используется операция деления, V —. в выражении А используется операция возведения в степень, W — А — рациональное выражение. Тогда предложение (а) запишется формулой W~ (PVQ)А п(РА Q)A(* VS V Г V */ V V). В данном примере оборот «X, а также К» используется в смысле «X или У», но не X и Y одновременно», который соответствует формуле алгебры высказываний (X V Y) А А У)- Истинностная функция, описываемая этой формулой, имеет более краткое обозначение X\/Y, называется альтернативой (строгой дизъюнкцией) и задается табл. 2 Таблица 2 X Y *v Y И И л И л и Л и и Л л л 177
Использовав альтернативу, формулу (а) можно переписать короче: W ~ (P\/Q)A{R\/s\/ т\/ и\у V). Возможно и другое истолкование анализируемого предложения, когда оборот «а также» получает конъюнктивный смысл: (а) Числовые выражения, в которых используются операции сложения, вычитания, умножения, деления и возведения в степень, являются рациональными, а также выражения с переменными, в которых используются операции сложения , вычитания , умножения , деления и возведения в степень, являются рациональными. ' (a') (W ~ P/\{RVS\/T\/U\/V))/\(W ~Q/\{R\/S\/T\JU\/V)). (б) Если в разложении знаменателя дроби на простые множители содержатся только двойки и пятерки, то эту дробь можно запи¬ сать в виде десятичной, P\J Q zd R. (в) Если дробь равна нулю, то ее числитель равен нулю, а знаменатель отличен от нуля, PzdQA/?. (г) Число 6 является решением неравенства х ^ 6, но не является решением неравенства х> 6, РД 1Q. <4 1.29. Запишите формулами алгебры высказываний следующие предложения из школьной математики: (а) а ^ О (б) Если запись числа заканчивается цифрой 0 или 5, то это число делится на 5 (в) Число k делится на 6 тогда и только тогда, когда оно делится на 2 и на 3 (г) Число k делится на 2 и 3 или не делится на 6 (д) Если число k — положительное и четное, то оно простое или больше 2 (е) —2<х<2 (ж) — 3 ^ а ^ 5 (з) хфО (и) Если диагонали четырехугольника пересекаются и точкой пересечения делятся пополам, то этот четырехугольник —параллелограмм (к) Скалярное произведение отличных от нуля векторов равно нулю тогда и только тогда, когда векторы перпендикулярны (л) Число k делится на 25 тогда и только тогда, когда запись числа k заканчивается на 00, 50 или 75 (м) Если внутренние накрест лежащие углы равны или сумма внутренних односторонних углов равна 180°, то прямые параллельны. 1.30. Запишите формулами алгебры высказываний следующие предложения: (а) Если формула Е алгебры высказываний является общезначимой, то она является и выполнимой (б) Если формула Е алгебры высказываний не является общезначимой, то она нейтральна или противоречие. 178
(в) Участник кружка не поймет сообщения, если он не разгадает код (г) л заключено между 3,1415 и 3,1416 (д) Если студент написал контрольную работу на 5, то либо он был тщательно подготовлен к ней, либо ему помог друг (е) Учитель воспитывает не только словом, но и личным примером (ж) Число 2 является как простым, так и четным (з) (х + 2)2■= 0 тогда и только тогда, когда х + 2 = О, что имеет место в том и только в том случае, когда х = —2 (и) Если студент написал все контрольные работы на 2, то он сдаст и экзамен на 2, разве что он тщательно изучит каждый вопрос курса. Пример 1.15. Выразить на русском языке отрицание предложения: «Если две параллельные прямые пересечены третьей прямой, то внутренние накрест лежащие углы равны, а суммы внутренних односторонних углов равны 180°. > Задачи подобного типа можно решать следующим образом. а) Данное предложение записывается формулой алгебры высказываний: PzdQ/\R, где Р — две параллельные прямые пересечены третьей прямой, Q — внутренние накрест лежащие углы равны, R — суммы внутренних односторонних углов равны 180°. б) Записывается отрицание полученной формулы (причем возможно получение нескольких равносильных формул): -|(Р=> QAR)^PA^(QAR)^PAOQ\/-iR)- в) Полученные формулы переводятся на русский язык: ~\(PzdQ/\R): «Неверно, что если две параллельные прямые пересечены третьей прямой, то внутренние накрест лежащие углы равны, а суммы внутренних односторонних углов равны 180°». PA~\(QAR): «Две параллельные прямые пересечены третьей прямой, однако неверно, что внутренние накрест лежащие углы равны, а суммы внутренних односторонних углов равны 180°». Я AOQV ~1#): «Две параллельные прямые пересечены третьей прямой, и в то же время внутренние накрест лежащие углы не равны или суммы внутренних односторонних углов не равны 180°». <4 1.31. Выразите на русском языке отрицание предложений: (а) Прямые а и b или параллельны, или пересекаются, или скрещиваются (б) A ABC — прямоугольный и остроугольный (в) У параллелограмма противоположные стороны, равны, противоположные углы равны (г) Если а> Ъ и с — отрицательное число, то ас < Ьс (д) Если четырехугольник — трапеция, то средняя 179
линия ее параллельна основаниям и равна их полусумме (е) Если параллелограмм — ромб, то его диагонали пересекаются под прямым углом и являются биссектрисами его углов (ж) Если у четырехугольника все внутренние углы равные, то этот четырехугольник является квадратом. 1.32. Запишите предложения, контрапозитивные данным: (а) Если а> 6 и > 0, то а> О (б) Если а> Ь и а^/> 0, то Ь^> 0 и Ь Ф О (в) Если сумма внутренних односторонних углов одной пары равна 180°, то сумма внутренних односторонних углов другой пары тоже равна 180°, а внутренние накрест лежащие углы каждой пары равны (г) Если внутренние накрест лежащие углы равны или сумма внутренних односторонних углов равна 180°, то прямые параллельны (д) Если а> Ь и с — положительное число, то аО Ьс (е) Если диагонали четырехугольника пересекаются под прямым углом, то этот четырехугольник — ромб. Пример 1.16. (а) Выразить структуру определения «Прямые, которые не пересекаются и не лежат в одной плоскости, называются скрещивающимися». ^ Всякое определение с логической точки зрения представляет собой эквиваленцию А ~ В, у которой А есть определяемое, т. е. то, что определяется, а В — определяющее, т. е. то, посредством чего определяется. Структура данного определения Р ~ Q /\R. <4 (б) Средствами алгебры высказываний найти ответ на вопрос: «Что означает: „прямые а и b не являются скрещивающимися*»? ► Часто при применении определений приходится доказывать, что данный объект не удовлетворяет определению А ~ В, т. е. А — ложно или "1А—истинно. Но А ~ В, ~\А\= 1В. Поэтому возникает необходимость раскрыть 1В. В данном случае 15 s= 1(QAR) = ~1Q V Таким образом, утверждение «прямые а и b не являются скрещивающимися» равносильно утверждению «прямые а и Ь пересекаются или прямые а и Ь лежат в одной плоскости». 4 1.33. Выразите структуру следующих определений эквиваленциями алгебры высказываний, построением отрицаний членов эквиваленции определите, что означает утверждение: «Данный объект не удовлетворяет определению»: (а) биссектрисой угла называется луч, который исходит из его вершины, проходит между его сторонами и делит его пополам; (б) угол, вершина которого лежит на окружности, 180
а стороны пересекают эту окружность, называется вписанным в окружность; (в) внутренние точки области определения функции, в которых ее производная равна нулю или не существует, называются критическими точками этой функции; (г) два уравнения с несколькими переменными называются равносильными, если они содержат одни и те же переменные и имеют одинаковые решения. 1.34. Из данных посылок (левая колонка) по указанному правилу (правая колонка) получите заключение: (а) 1. Если фигура F — квадрат, то F — ромб 2. Если фигура F — ромб, то F — параллелограмм (б) 1. Прямая а параллельна прямой Ь или прямая а пересекает прямую b 2. Прямая а не пересекает прямую b (в) 1. Если прямая а параллельна прямой b, то прямые а и Ь не скрещиваются 2. Если прямая а пересекает прямую b, то прямые а и b не скрещиваются 3. Прямая а параллельна или пересекает прямую Ь (г) 1. Если число делится на 4, то оно делится и на 2 2. Если число делится на 9, то оно делится и на 3 3. Число делится на 4 или на 9 (д) 1. Если а> Ьу то а — Ь> О 2. Если а < Ьу то Ь — а> О 3. Неверно, что а — Ь> О или неверно, что b — а> 0. 1.35. По указанным заключению (правая колонка.) и правилу (левая колонка), восстановите посылки: (а) к/\В zd С\=А zd Если одна прямая перпен- Iэ (Bid С) дикулярна к плоскости и другая прямая перпендикулярна к пло- А id Ву В id С(= A id С А\/Ву 1В\=А Aid С, В zd С, A VBhC A id Ву CzdD, A\JC\=B\/D A zd Ву CdZ), "1SV Х/ПЯНПЛХ/ПС 181
скости, то эти прямые параллельны (б) 1(А id В)\= А/\ Диагонали параллелограм- Д ~ЛВ ма взаимно перпендикулярны и он не является ромбом (в) A =э В\= IB zd Если параллелограмм не id ~\А является ромбом, то его диаго¬ нали не перпендикулярны (г) А /\В Id С(= А Д Если а\\Ь и прямая с не пе- Д ПС =э 1В. ресекает прямую 6, то прямая с не пересекает прямую а. Пример 1Л7. (а) Проанализировать рассуждение: «Если данное число четное, то оно делится на 2. Данное число делится на 2. Значит, оно четное». ^ Обозначения: Р — данное число четное; Q—данное число делится на 2. Структура рассуждения: Р zd Q, Q\=P. Легко усмотреть, что Р zd Q, Q&=P. Поэтому приведенное рассуждение неправильное. <4 (б) Проанализировать рассуждение: «Я пойду домой или останусь здесь и буду смотреть телевизор. Я не пойду домой. Следовательно, я останусь и буду смотреть телевизор». ^ Обозначения: Р — я пойду домой; Q — я останусь здесь; R — я буду смотреть телевизор. Структура рассуждения: Р\/Q AR, ~\P\=QAR- Полученное следование правильно, так как оно представляет собой правило дизъюнктивного силлогизма, ДС. Из решения этого примера можно усмотреть, что не всегда целесообразно обозначать буквами только элементарные высказывания, атомы. Высказывание PAQ в анализируемом рассуждении фигурирует как единое целое, его конъюнктивная структура никак не используется в получении заключения. Поэтому в данном случае возможны такие обозначения: Л—я пойду домой; В— я останусь здесь и буду смотреть телевизор. Тогда структура рассуждения такова: Л V В, 1Л\=1 В, последнее следование правильно, так как представляет собой непосредственно запись правила ДС. Значит, исходное рассуждение правильное. Анализируя данное рассуждение, следует обратить внимание и на такое важное обстоятельство. Не всегда в русском языке написанный текст воспринимается однозначно, так как может не отразить интонационные оттенки произносимого. Например, первую посылку данного рассуждения можно интерпретировать и так: «Я пойду домой или останусь здесь, но в любом случае буду смотреть телевизор». Тогда структура рассуждения будет передаваться другим следованием: (P\/Q)/\R, “IPH Q AR, которое также верно, а исходное рассуждение и во второй интерпретации тоже правильное. 4 1.36. Дайте обоснованные ответы на вопрос: следует ли из посылок (левая колонка) заключение (правая колонка): 182
Если фигура — ромб, то она — параллелограмм а Ф О или Ь Ф О Я опоздаю (а) 1. Если целое число Если целое число больше единицы, то оно простое больше 2 и четное, то или составное оно составное 2. Если целое число больше 2, то оно больше 1 3. Если целое число больше 2 и четное, то оно не является простым (б) 1. Если фигура — па¬ раллелограмм, то она — четырехугольник 2. Если фигура — ромб, то она — четырехугольник (в) 1. Если а — 0 или b = О, то ab = О 2. ab Ф О (г) 1. Если идет снег, то трудно вести машину 2. Если машину трудно вести, то я опоздаю или совсем не приеду 3. Идет снег (д) 1. Если диагонали параллелограмма взаимно перпендикулярны или делят углы пополам, то этот параллелограмм — ромб 2. В параллелограмме диагонали не взаимно перпендикулярны и не делят углы пополам. 1. 37. Проанализируйте рассуждения: (а) Если число составное, то оно натуральное и больше единицы. Если число натуральное и больше единицы, то оно имеет хотя бы один простой делитель. Значит, если число составное, то оно имеет хотя бы один простой делитель (б) Он сказал, что придет, если будет хорошая погода. Но погода плохая, значит, он не придет (в) Если число дробное, то оно рациональное. Если число рациональное, то оно действительное. Следовательно, если число дробное, то оно действительное (г) Если я пойду завтра на первую лекционную пару, то должен буду встать рано, а если я пойду вечером на танцы, то лягу спать поздно. Если я лягу спать поздно, а встану рано, то я буду вынужден довольствоваться Этот параллелограмм не является ромбом 183
пятью часами сна. Я просто не в состоянии обойтись пятью часами сна. Следовательно, я должен или пропустить завтра первую пару или не ходить на танцы (д) Иван или переутомился или болен. Если он переутомился, то он раздражается. Он не раздражается. Следовательно, он болен (е) Если все посылки истинны и рассуждение проведено по законам логики, то и заключение истинно. В данном рассуждении заключение ложно. Следовательно, не все посылки истинны или рассуждение проведено не по правилам логики (ж) Если 2 — простое число, то это наименьшее простое число. Если 2 — наименьшее простое число, то 1 не есть простое число. Число 1 не есть простое число. Следовательно, 2 — простое число. (з) Если он принадлежит к нашей компании, то он храбр и на него можно положиться. Он не принадлежит к нашей компании. Значит, он не храбр или же на него нельзя положиться (и) Если х -\-3 =-^3 — х, то х2 + б* + 9 = 3 — х. Но x2 + 6x_|_9 = 3 — х тогда и только тогда, когда (х + 6)(х+ 1) = 0, что имеет место в том и только в том случае, когда х——6 или х=—1. Значит, только —6 и — 1 могут быть корнями уравнения х + 3 = д/3 — х, т. е. х 3 =~уЗ — х влечет х = — 6 или х = —-1. 1.38. Проанализируйте рассуждения: (а) Для того чтобы функция / была интегрируема на [а, с\, необходимо, чтобы / была ограничена на [а, с]. Функция f интегрируема на [а, с]. Значит, / ограничена на [а, с] (б) Для того чтобы число е не было иррациональным, необходимо, чтобы оно не было трансцендентным; е — число трансцендентное. Поэтому е — число иррациональное (в) л — число трансцендентное тогда и только тогда, когда оно иррациональное, л — число иррациональное. Отсюда л — трансцендентное число (г) Если Елена прочитала книгу «Милый друг» Мопассана, то она передала ее Сергею. Елена не прочитала книгу «Милый друг». Следовательно, она не передала книгу Сергею (д) По теореме Пифагора, если ААВС со сторонами 184
8 см, 15, 17 см — прямоугольный, то 82-f-152 = 17^ • 82 + 152 = 172. Значит, A ABC — прямоугольный (е) т, п — данные действительные числа. Если тф О или п Ф 0, то т2 + п2> 0. Если т — 0 и п — 0, то выражение --т-~~ не имеет смысла. Неверно, что т2 + п2> 0. т + П г > I ^ т — п Следовательно, выражение т_^_п не имеет смысла (ж) Если корни квадратного трехчлена ах2-\-Ьх-\-с не являются мнимыми, то неверно, что при всех действительных х имеет место неравенство а(ах + Ьх + с)> > 0. Корни ах2 + Ьх + с мнимые только тогда, когда его дискриминант Л меньше 0. Если ас <С 0, то неверно, что Д < 0. Значит, если ас <С 0, то неверно, что при всех действительных х имеет место неравенство а(ах2 + -}- Ьх -f- с)^> 0. 1.39. Предложите рассуждения по схемам заданий 1.25, 1.28. Пример 1.18. Упростить контактную схему (рис. 1). ► Задачи подобного типа решаются следующим образом: а) записывают формулу алгебры высказываний, выражающую булеву функцию, соответствующую данной схеме: Р V(P V Q) (QV R)V VQVtf; (б) упрощают полученную формулу путем равносильных преобразований: PV(PVQ)(QVR)VQVR = _ = PV(PVQ)J}V(PyQ)RyQyR=z ^PVPQVQQVPRVQRVQVR^PVPRVQRVQVR^ ^PVQRVQVR^ PVQVR\ (в) составляют схему, соответствующую упрощенной формуле (рис. 2). < 185
Рис. 2 1.40. Составьте контактные схемы для булевых функций (считая, что Р zd Q = Ру Q): (a) PVP(QVR) (б) (P=>Q)(Qo/?) (в) (P^Q)(QzdR)^(PzdR) (г) (Рр Q)=>P(QV/?) (д) (Р => (Q => R)) => (Q => Р). 1.41. Упростите контактные схемы (рис. 3, а—ж). Пример 1.19. Составить электронную схему дешифратора. ^ Сумматор (п. 1.1.17) — пример сложной логической схемы, реализующей одновременно две булевы функции: S — сумма в данном разряде и Т — перенос в старший разряд. Обе эти функции определены для всевозможных наборов значений входов. Применяются и такие схемы, которые не имеют выходов для всевозможных комбинаций значений входов (реализуемые в них булевы функции частично определены). Примером может служить схема дешифратора (декодификатора), переводящая двоичный код в десятичные цифры согласно табл. 3. Для остальных б комбинаций значений входов (Р, Q, R, U) функция [ не определена (можно считать, что имеем здесь 10 булевых функций, каждая из которых принимает значение 1 лишь для одного набора значений входов: /о = PQRU, /. = PQRU, h = PQRU, h = PQJWj U = W, /5 = PQRU, /6 = PQRU, f7 = PQRU, /8 = PQRU, fo = PQRU). Соответствующая электронная схема изображена на рис. 4. <4 Пример 1.20. Составить схему-шифратор, переводящую десятичные цифры в соответствующие двоичные коды. ► Операция, обратная по отношению к дешифрации, реализуется в схемах-шифраторах. В этих схемах входы не получают всевозможные комбинации значений, так как, если один вход имеет значение «1», остальные могут иметь только значение «0». Поэтому число комбинаций значений входов равно числу входов (как технически осуществляется блокировка, нас не интересует). Для каждой из допустимых комбинаций значений входов на выходе получается комбинация значений, представляющая код входного сигнала. Схема-шифратор состоит из логических элементов | ил и [, по одному для каждого выхода. Работа схемы описывается табл. 4, где Р — 8V9; Q = 4V5V V6V7; R — 2V3V6V7; U — 1 V3V5V7N/9 (десятичными цифрами обозначены номера входов, принимающих значения «1»). Нетрудно заметить, что табл. 4 получается из табл. 3, если последнюю читать справа налево, и наоборот. Электронная схема, соответствующая табл. 4, приведена на рис. 5. 186
P Q R U f Таблица 3 P Q R U f 0 0 0 0 0 0 5 0 1 0 1 5 1 0 0 0 1 1 6 0 1 1 0 6 2 0 0 1 0 2 7 0 1 1 1 7 3 0 0 1 1 3 8 1 0 0 0 8 4 0 1 0 0 4 9 1 0 0 1 9 Puc. 4
Таблица 4 0 0 0 0 0 5 0 1 0 1 1 0 0 0 1 6 0 1 1 0 2 0 0 1 0 7 0 1 1 1 3 0 0 1 1 8 1 0 0 0 4 0 1 0 0 9 1 0 0 1 Рис. 5 1.42. Найдите выражения булевых функций, реализуемых в контактных схемах (рис. 6, а—в), упростите эти выражения и постройте контактные и электронные схемы (с помощью логических элементов 1 не |, [и], [или |), реализующие эти же булевы функции по их упрощенным выражениям. 1.43. Найдите булевы функции, реализуемые схемами, приведенными на рис. 7, а—в. 1.44. Упростите электронные схемы, изображенные на рис. 8, а—в. 1.45. Постройте контактные и логические схемы, реализующие: (а) функцию от трех атомов, которая равна И тогда и только тогда, когда один или два атома равны И; (б)* функцию от четырех атомов, которая равна И только тогда, когда число атомов, принимающих значение И, более трех или не более одного; (в) функцию от трех атомов, которая равна И только тогда, когда только один из атомов принимает значение И. 189
Рис. 6 1.46. Постройте контактные и логические схемы на три входа, на выходе которой: (а) имеем значение 1 тогда и только тогда, когда нечетное число входов имеет значение 1; (б) появляется сигнал тогда и только тогда, когда поданы сигналы на большинство входов. 1.47. (а) Пусть каждый из трех членов комитета голосует «за», нажимая кнопку. Постройте простейшую цепь, через которую ток проходил бы тогда и только тогда, когда не менее двух членов комитета голосуют «за». (б)* Каждый член некоторого комитета из пяти лиц должен голосовать за принятие различных решений. Каждое решение принимается большинством голосов, но только при том дополнительном условии, что за него голосует председатель комитета. Начертите простейшую схему, позволяющую видеть результаты голосования. 1.48. Нужно, чтобы включение света в комнате осуществлялось с помощью трех различных переключателей так, чтобы нажатие на любой из них приводило к включению света, если он перед этим был выключен, и к его выключению, если он включен. Постройте простую цепь, удовлетворяющую этому условию. 1.49*. Составьте схему управления лифтом в доме с количеством этажей: (а) семь; (б) девять; (в) двенадцать. 190
PQR > I ) HE ИЛИ ИЛИ HE ИЛИ Цт] или PQR 9 9 9 f(P.Q,R) HE или HE или J(P,Q,R,s) HE Puc. 7
а Р Q R S Рис. 8
1.2. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ (ТЕОРИЯ L) Вопросы для повторения 1. Алфавит и формулы. 2. Аксиомы и правило вывода. Формальное доказательство и формальный вывод. 3. Свойства отношения выводимости (МТ1, МТ2, МТЗ). 4. Правила введения и удаления логических связок. 5. Соотношения выводимости для логических связок. 6. Применение правил введения и удаления к установлению существования доказательств и выводов. 7. Непротиворечивость, независимость, полнота, разрешимость в формальных системах. 1.50. Запишите аксиомы, которые получаются в результате указанных подстановок, в следующие аксиомные схемы: (а) АС5 а~ Q,QB^R (б) АСЮ *=>(«=> о (в) АС1 л =><*=> о. лля (г) АС2 13 в' в^ л> Ас^13 Пример 1.21. Дана последовательность формул: A/\BzdA, А/\В, A, Aid (Bid С), В id С, A/\BidB, В, С. Какая формула выводима и из каких посылок? ^ Записываем формулы данной последовательности столбцом, указывая справа основание, на котором каждая формула входит в вывод: 1. А /\ В zd А 1. АС4 2. ААВ 2. посылка 3. А 3. МР(2, 1) 4. A zd (В zd С) 4. посылка 5. В zd С 5. МР(3, 4) 6. А Д В id В 6. АС5 7. В 7. МР(2, 6) 8. С 8. МР(7, 5) Используя правый столбец, записываем посылки вывода; выводи- мой является последняя формула. Таким образом, А/\ВУ Aid id (В ^ С) ЬС. 4 1.51. Дан вывод формулы С из формул Л, В, Л id zd (В id С). Укажите основания (проанализируйте вывод) и запишите результат в виде Л i, ..., Л* |— В. 1. Л 2. В 3. Azd(BzdC) 7 Зак. 2997 193
4. ВпС 5. С. 1.52. Проанализируйте данный вывод и запишите результат в виде А\, ..., Ak\-B. 1. А 2. Л=>В 3. В 4. В zd С 5. С 1.53. Укажите, выводом какой формулы и из каких посылок является следующая последовательность формул: (а) А zd С, (А zd C)z>((Bz>C)zD(AyB-=>C)),(BzDC) zd zd (А\/В zd С), BzdC, A\J В=> С, АУВ, С (б) (A zd В) zd ((.A zd ~\В) zd ПЛ), Azd В, (A zd IB) zd ПЛ, Л =э ПВ, ПЛ (в) (Л =э В) zd ((В zd A) zd (Л ~ В)), AzdB, (BzdA)z> zd (А ~ В), Sd Л, Л ~ В (г) (/4эй)з( ПВ id ПЛ), AzdB, ПВгэПЛ, ПВ, ПЛ. 1.54. Постройте выводы: (а) Л, ВМДВ (б) PAQM5 (в) Pf-^VQ (г) AzdB, Azd~]B\-^A (д) A zd В, В zd А \-А ~ В (е) P~Q|-^=>Q- 1.55. Постройте выводы: (а) СпЛ, СэВ, СМДВ (б) Л А В, Azd (В zd С) |-С (в) Л => В, Bd С |—Л Г) С (г) (Л :г> С) С, Л :г> В, В :=> С 1-С (д) Л=>В, ПВ|-1Л (е) Л =>В, С zd Е, ПВД П£)-“1^Л 1C (ж) Л ~ В, В zd С |—Л гэ С (з) Л=эС, ПВ=>Л |-~1Я=>С (и) В=> ПЛ, Л h"lB (к) Azd В, Az>~\B\-~\Ay В (л) Л~В, ПВ i— ПЛ (м)* Л ~ В, В~СМ ~С (н) Л |-В гз В (о) Л (-П(ВД ”1В) (п) ПЛ =)В, СД ПВ |—Л. 1.56. Дано доказательство: 1. (Л =з (В =) Л)) id ((Л id ((В zd A)zd 1. КС2вв^а-ас zd A)) zd{Azd А) 2. Лэ(ВэЛ) 2. АС1 3. {Az>{{B=>A)zdA))zd(AzdA) 3. УИР(2, 1) 194
4. A id ((В id A) zd А) 5. A zd А Дополните его до доказательства 1.57. Докажите теоремы: (a) AVBhBVA (б) А=>АЛА (в) ААВ=зА\/В (г) АЛА~А (д) A\J(A~A). 4. 5. МР(4, формулы 3) А - А. 1. посылка 2. Пример 1.22. Проиллюстрировать метод доказательства теоремы дедукции, преобразовав вывод A id (В id С), В, А |— С в вывод A id zd (В id С), Я Ь4 => С. ► 1. A ZD (В ID С) 2. (Л =э (В ZD С)) ID (А : id (Aid (В id С))) 3. A id (A zd (В zd С)) 4. 5 5. Bzd(Az>B) 2. В_ 2. посылка 6. A id В ) A)) ZD ) ((В ZD A) ZD 1. A ID (Bid С) 1. 3. МР(\, 2) 4. посылка 5. АС1 д' в 6. МР{4, 5) 7. АС2 с’ §=>А 3. Л 10. АС1 |=эЛ 11. МР(10, 9) 12. АС2Ф А. В zd С 5. С 7. (Л z> (Д : =>((Л : ЗЛ))=>(Л=)Л)) 8. A id {В id А) 8. АС1 9. (Л z>((Bz>A)zd 9. МР(8, 7) id A)) zd (A ZD А) 10. Л =)((£ :эЛ)=э Л) 3. посылка 11. Л id Л 12. (Л id Л)=э((Л id ID (Л ID (Д ID С))) ID ^(Лз(ВзС))) 13. (Л =) (Л =)(£=> 13. МЯ(11, 12) =>С)))=Э(Л1Э zd(B ZD С)) 4. МР(3, 1) 14. A id (В zd С) 14. МР(3, 15. (Л id Б) id ((Л zd 15. АС2; id (В id С)) ID ZD {A ZD С)) 16. {A ID (В ZD С)) ZD 16. AfP(6, 15) ID (Л ID С) 5. МР(2, 4) 17. ЛрС. 17. МР{ 14, 16). 13) Если, принимая формулы 1 —17 за данный вывод, снова применяют общий метод доказательства теоремы дедукции, то получают состоящий из 53 формул вывод В id (Л id С) из Лз(Вз С); еще раз используя этот метод, получаем состоящее из 161 формулы доказательство (Л => (В ID С)) ID (В ID (Aid С)). <4 1.58. Проиллюстрируйте метод доказательства теоремы дедукции, преобразуя вывод А/\В^> С, Л, В |— С в вывод А Д В =) С, А |-£ => С. 1.59. Докажите, что если данный вывод имеет р фор- 7* 195
мул, то результирующий вывод имеет 3р + 2 формул, если последняя посылка Л& фактически используется в качестве допущения в данном выводе; и 3р формул, если Ak не используется (речь идет о методе доказательства теоремы дедукции). 1.60. Восполните отсутствующие гипотезы или добавьте заключения в следующих применениях МТ1: (а) A, ~1Л(—“Пв и ~ПВ КВ, значит, (п = 2, k=\) (б) и А /\В \-А, значит, A zd(B zd С), А /\B\-A (л = 2, k = 1). (в) Л id (Я id С), А/\В\-А и Azd(Bzd С), А/\В\-В и и Л, В, A id (В id С) [—С, значит, A id (BzdC), А АВ\-С (п = 2, k = 3) (г) и и A, A id В (— В, значит, Л, IB, Azd В\- \-В (п = 3, 6 = 2). 1.61. Постройте следующие три вывода Azd (BzdC), ЛДВМ; Azd(BzdC), AABhB; Azd(BzdC), А/\В |- |—Л id (B id С). Затем постройте вывод Л, В, Л id (В id С) f— f-C. Проиллюстрируйте доказательство МТ16, использовав построенные выводы. 1.62. Докажите: если \-А \ Д... Д Ak zd В, то Л i, ..., ...yAk |—В. 1.63. Покажите, что: если А\, ..., Ak\-B, то |—у4i Д Д...ДЛ*=эВ. Пример 1.23. Установить существование доказательства формулы (AzdC)zd ((В =э С) :э (Л V В => С)). ► Существование этого доказательства следует из схемы: I- (А => С) => ((В => С) =>(А V В => С)) 196
Строим формальный вывод: 1. A id С 2. Bid С 3. AVB 4. (A id С) id ((В =э С) zd (А V В : 5. (В id С) zd (А \/ В zd С) 6. Л V£ =э С 7. С 'С)) 1. посылка 2. посылка 3. посылка 4. АС8 5. МР( 1, 4) 6. МР(2, 5) 7. МР(3, 6) 8. A id С, Bzd Су A\JВ С 8. из 1—7 по определению формального вывода. Содержательное доказательство иллюстрируется схемой: <4 Установите, что: НА => В) А (В id С) id (Л =d С) НА и> (В id С)) :э (Л А В id С) |—(Л А В => С) ID (Л ID (В ID С)) Мз(ВзЛАВ) ИЛ ID В) ID (Л ID (Л ID В)). 1.65. Докажите следующие правила введения и удаления логических операторов (Г — любое множество формул): если Г, Л |—В, то Г |—Л zd В (ТД, ВИ) Ау A zd В \-В (МР, УИ) Л, ВМАВ (ВК) Л АВ|-Л (УК1) ЛАВ(-В (УК2) 1.64. (а) (б) (в) (г) (Д) (а) (б) (в) (г) (Д) 197
(К) (л) (е) А\-А\/В (ВД1) (ж) B\-A\J В (ВД2) (з) если Г, Л I-С и Г, В \-С, то Г, A\JВ\-С (УД) (и) если Г, Л \-В и Г, А\-~\В, то Г(-~1Л (RA, ВО) ПЛ м (УДО) А, -\A\-B (СУО) (м) Л =э В, В zd А\-А ~ В (ВЭ) (н) Л ~£М э8 (УЭ1) (о) Л ~ В \-В=> А (УЭ2). 1.66. Восполните отсутствующие гипотезы или добавьте заключения в следующих применениях правила УД: (а) Л, Л гэ В f-B и Л, ПВ =э ~\А f—В, значит, (б) Л, В (~Л и , значит, В, ЛХ/^-бКЛ (в) ПЛДПВ, Л f-П(Л VS) и ПЛДПВ, В\-1(А\/В), значит, (г) ПЛДПВ, Л |—Л и , значит, ПЛД ИВ, Л VBh л. 1.67. Восполните отсутствующие гипотезы или добавьте заключения в следующих применениях правила RA- (а) П(Л\/В), В |-Л V В и П(ЛУ-б), В П(Л V В), значит, (б) значит, (в) (г) ПЛДПВ, A\J В\-С ПЛДПВ, ЛХ/ВМС, значит, П(Л)\/В)|-НЛ , значит, Л ДПВ|- П(Л V6). Л Ь£ и ЛДПВ, Л=)В|-В Ь П(Л=>В). Пример 1.24. Установить выводимость: “15, Л V Д Ь ~1(Л V В). ^ Поиск решения виден из схемы: 2 RA I В,А 8.А V В \- Е \В,А=> В.А Уд Hf MT1Q Е -В УМ I П0,Л =5 В, А I- В 1В,А=>В.8\-В тг МТ1а 198
Доказательство выводимости дается последовательностью утверждений: 1. A, A zd В \-В 2. П В, Azd В, А \-А 3. IB, Azd В, А \-А zd В 4. 1 В, AzdB, А \-В 5. ПВ, AzdB, В\-В 6. IB, Azd В, А\/ В\-В 7. ПВ, Azd В, А\/ В\-~\В 8. ПВ, Azd В \- П(Л V В) 1. МР 2. MTla 3. MTla 4. МТ1б(2, 3, 1) 5. MTla 6. УД (4, 5) 7. MTla 8. /М(6, 7) Поиск решения можно провести и по-другому: Этот вариант решения представляет собой последовательность утверждений: AVB, ПВМ ~\В, Л =>В, A VBl-A VB ~\В, AzdB, А\/В\-1В ~\В, AzdB, Л VВ\-А A, AzdB \-В ПВ, А\/ В, Azd В \-А zd В ИВ, A =>В, A\JB\-B ПВ, A ZDBh^(AVB) 1. 2. 3. 4. 5. 6. 7. ДС MTla MTla МТ1б(2, 3, МР MTla МТ1б(4, 6, 5) 1) .68 а) в) Д) ж) и) л) Н) п) с) .69 а) в) д) 8. RA(3, 7). А Докажите соотношения выводимости: А\-1~\А (б) А,В}-АЛВ (г) ПЛ, В |-%4 Л В) (е) А, В \-А VВ (з) 1 A,B\-A\JB (к) А, В \-А =э В (м) ПЛ, В \-А zd В (о) А, В \~А ~ В (р) (т) ПЛ ПЛ А, 1В1-~1(АЛВ) ПЛ, 1В1-~1(АЛВ) A, iBhAVB ПЛ, ПВ|-П(Л\/В) Л, ПВ1-1(Л=)б) ПЛ, ПВ1-Л =>в А, П^ f— П(Л ~ В) ПЛ, ПВМ ~ В. ПЛ, В\-1(А ~ В) , Докажите правила вывода: Л ~ В, Л \-В (б) Л ~ В, В |-Л ЛзВ, ПВ |— ПЛ (МТ) (г) ЛгэВМВгэПЛ (К) Л~В,ПВ[- ПЛ (е) Л ~ В, ПЛ I-1B 199
(з) А ~В\-1А => 1В и) Л =э(В=) С)МДВ=) С (СП) к) ЛАВ=>С|-Л =>(В=>С) (РП) л) A\JB, -ЛА\-В (ДС) м) * 1(Л V S) h~1Л Д ~\В (УОД) н)*-|(ЛАЯ)МЛ V "1В (УОК) 0) ПЛ V ~1В |— П(у4 А В) (ВОК) п) -1ЛЛ~1ВМ(Л У В) (ВОД) р) Л dB, CzdD, A\JC\-B\/D (КД) с) A zd В, CzdD, ПВ V ~1Z> (— ПЛ V “IС (ДД) .70. Установите следующие выводимости: а) А, -\B\-Azd~\B (б) 1А А ПВ, Л |-В в) П(Л VB), BMVB A=>B\JC, D=>A, D/\E=>~\B\-D/\E-z>C A A “IB, Л :э В j-H В, А А 1C, Л id (В =э С) (-Л ~ В ж) Л ~В, ПВ(-“1Л (з) Л ~В, В~СМ=>С и) Л A “IB, Л =) В (-С Л\/В\/С, DA1B, £=>ПС|-Л ЛэВ, ЛАСЬ^АС м) Л 3) В V с, Л A “IB (-С ЛАВ=>С, ПС |—ПЛ V “IB Л V В гэ С, ПС |— ПЛ A “IB п) ПЛА“1В, ПВ=>Л|-С В, Л =э ПВ|—П(ПВ\/Л) с) ПЛ id В, САПВ|-Л Л Г) В, С=)Д ПВА HDl-ПЛЛ "1C у) *ПЛ гэ В, ПС zd D, ~ЛВ\/ ~\D\-A\/C ф)* А/\В^ С, Л А ПС|-“1В (х)*Л гэ В, С => Z), Л V С, ПВ\/ ПД|-В=)Л. Методы установления выводимости: 1) построение формального вывода; 2) доказательство существования формального вы- 3) замена вопроса о выводимости вопросом о следовании в алгебре высказываний. Пример 1.25. Установить существование доказательства формулы ^ Поиск доказательства приведен на схеме (с. 201). Переводим эту схему в последовательность утверждений: вода; АЛ(А\/В)~А 1. л м 2. А \-А У В 3. A, AVBhAA(AVB) 4. AhAA(AVB) 5. М => A A{AV В) 4. МТ1б(1, 2, 3) 5. ТД (4) 1. MTla 2. ВД1 3. ВК 200
6. А/\(АУВ)\-А 7. \-AA(AVB)=>A 8. Az3AA(AVB), АА{АУВ): A{AVB)~A 9. MAHVB)~-4 6. УК1 7. ТД (6) >/4 МЛ 8. ВЭ 9. МТ1б(5, 7, 8). 4 1.71. Установите дующих формул: (a) A\JBz>B\/A (в) ЛДВгэЛ\/В (д) А zd (Л ~ А) (ж) Л Д В zd Л Д (Л 1.72. Установите дующих формул: (а) Л Д Л ~ Л (в) Л D (В D С) ^ (г) ЛпВ~ ПВ г (е) (Л~В)~(В (ж)*ЛД(ВДС)' (з)*л v(flvc)- (и) ЛХ/ПЛДВ- существование доказательств сле- (б) Azd А ДЛ (г) ЛУ(Л ~Л) (е) ЛДВ=эВДЛ В) (з) (BzdA)^(A\/Bz>A). существование доказательств сле- (к) ААВ' (л)* А\/В ' (м)* П(Л гэ ААВ 1А -А) '{ААВ) АС (АУВ)УС A\J В (б) АУААВ D С (д) П(Л Д В) ~ •Л 1А V “15 П(ПЛ V Ifi) - П(ПЛ Д ПВ) в)~ а а~^в (н) * A zd В ~ ПЛ V ^ 201
(o)*i4V(BAC)~ (AVB)AHVC) (n)*M(fiVC)-(Mfi)V(MC). Методы установления доказуемости: 1) построение формального доказательства; 2) установление существования формального доказательства; 3) замена вопроса о доказуемости вопросом об общезначимости. 1.73. Докажите независимость АС4 — АС13 (см. п. 1.2.1).
2. ЛОГИКА ПРЕДИКАТОВ 2.1. АЛГЕБРА ПРЕДИКАТОВ Вопросы для повторения 1. Предикат. Алфавит и формулы. Семантика букв алфавита. Значения предметных переменных и ионов. Свободные и связанные вхождения переменных. Замкнутая формула. Замыкание формулы. 2. Интерпретация формул. Предметные интерпретации формул. Истинностные таблицы формул. 3. Отношение равносильности формул. Виды формул. 4. Отношение логического следования между формулами. 5. Применение алгебры предикатов: перевод предложений с русского языка на язык логики предикатов; упрощение и преобразование предложений; анализ рас- суждений. 2.1. Определите, какие из следующих записей выражают предикаты: (а) 2-2 = 4 (б) 2 • л: = 4 (в) х:у (г) у-х = 4 (д) x-y = z (е) 2-3 (ж) х \ у (з) Иван и Марья (и) х и у (к) х \ у (л) х/у (м) Xf}Y = Z (н) X\JY (о) #+ Л Q = Q+ (п) *П Y=0 (Р) 2.2. Определите, какие из следующих выражений русского языка описывают предикаты: (а) А. П. Платонов (б) выдающийся поэт современности (в) А. П. Платонов — автор повести «Котлован» (г) прямые х и у (д) прямые х и у пересекаются в точке Z (е) он написал эту повесть. Пример 2.1. Определить хотя бы три значения для каждого из предикатов: (а) х- у = z\ (б) х—город Белоруссии; (в) он является нашим учителем. ► (а) Опыт использования записей вида ху = z подсказывает, что значениями переменных х, у, z могут быть числа, например натуральные. Тогда значениями предиката ху = z будут высказывания-равенства: 2 -(- 3 = 4, 3 -f- 5 = 8, 5 4- И = 17 и т. д. Запись л' + у = z в другом контексте может использоваться для выражения и других отношений, например отношения между множествами. 203
(б) Смысл имени «город Белоруссии» подсказывает, что для получения осмысленного высказывания вместо х следует подставить наименования населенных пунктов: Ясная Поляна — город Белоруссии, Мышковичи — город Белоруссии, Минск — город Белоруссии, Лондон — город Белоруссии. (в) Повествовательное предложение русского языка «он является нашим учителем» невозможно оценить как истинное или ложное. Поэтому оно не является высказыванием и становится им, если «он» заменить именем конкретного человека, а «нашим» — именем конкретной группы людей: Н. И. Вавилов является учителем советских генетиков. Личное местоимение «он» и притяжательное местоимение «наш» в данном предложении играют роль, аналогичную роли переменных в математике. <4 2.3. Назовите хотя бы два значения каждого из предикатов, встречающихся в задачах 2.1, 2.2, так, чтобы одно из них было истинным, другое — ложным. Пример 2.2. Указать область истинности логической функции, связанной с предикатом ху — z, если х, у, ze.( 1, 2, 3). ^ Из всех возможных 27 троек (х> у, z) области определения {1, 2, З)3 логической функции, связанной с предикатом ху = г, только следующие тройки (1, 1, 1), (1, 2, 1), (1, 3, 1), (2, 1, 2), (3, 1, 3) обращают предикат ху — z в истинное высказывание. Поэтому Е = = {(1, 1, 1), (1, 2, 1), (1, 3, 1), (2, 1, 2), (3, 1, 3)}. Л 2.4. Найдите область истинности логической функции, связанной с предикатом: (а) «город х находится на берегу реки Днепр», где х^ {Львов, Могилев, Волгоград, Днепропетровск} (б) «х кратно 4», где хе{0, 2, 4, 6, 8, 10} (в) «sin х 1», где х ^ R (г) «cos х> 1», где хе/? (д) «х граничит с у», если х, у е {Португалия, Испа¬ ния, Франция, Бельгия, Андорра, Монако} (е) «точка с координатой х лежит левее точки с координатой у», где х, у ^{ — 3, —2, 0, 1, 2} (ж) «А (= В»у где А, В е {ЯД Q, P\J Q, Р =э Q, Р ~ Q, Р | Q, Р | Q, П(Р \ Q), l(PVQ), l(PIQ) (з) «А=В», где А, В принимают те же значения, что и в (ж) (и) «х у = z»y где х, у, г^{0, 1, 2, 3, 4} (к) «\[у = z»y где х, у, zg(0, 1, 2, 3, 4} (л) «Л, В(= С», где Л, В и С принимают те же значения, что и в (ж); (м) «х и у современники 2», где х, j/,2G {А. С. Пушкин, Р. Гамзатов, М. Ю. Лермонтов, Петр I, Александр I). 2.5. Найдите область истинности логической функции, связанной с предикатом: 204
(а) «река х впадает в море у», где х^ {Волга, Урал, Днепр, Неман, Рейн, Дунай, Сена}, у е {Каспийское, Черное, Балтийское, Северное, Норвежское, Средиземное}. (б) «точка X лежит на прямой у» (рис. 9). (в) «композитор х и поэт у написали песню г», где jk^{B. Мигуля, Р. Паулс, А. Пугачева, В. Шаинский}, у GE {М. Пляцковский, М. Танич, И. Резник}, ze {«Маэстро», «Старая песня», «Улыбка», «По секрету всему свету»}. Пример 2.3. Дан ион Р(-, -, -). Выписать различные, порождаемые им типы атомов. ^ Всякий ион, если он не нульместный, порождает бесконечное множество атомов. Например, ион Q(-) порождает атомы: Q(x), Q(xi), ..., Q(y), Q(yi), .... Одноместные атомы отличаются друг от друга только тем, что их переменные имеют различные имена. Если же местность атома больше, чем один, то атомы отличаются не только различными именами их переменных, но еще и тем, одинаковыми или разными переменными заполнены пустые места. Например, бесконечное множество атомов, порождаемых двухместным ионом Р(-, -), распадается на два подмножества: первое характеризуется тем, что пустые места — первое и второе — заполнены различными переменными (Р(х, у), Р{у, х\ Р{х, г) и т. д.), второе — пустые места заполнены одной переменной (Р(х, х), Р(уу у) и т. д.). В связи с этим выделяются два типа атомов, порождаемых двухместным ионом: Р(ау b), Р(а, а), где а и b — произвольные переменные и аф Ь. Учитывая сказанное, можно указать различные типы атомов, порождаемые ионом Р(~, -, -): Р(а, Ьч с), Р(а, a, b), Р(а, b, а), Р(а, b, Ь), Р(а, а, а). 4 2.6. Укажите все типы атомов, возникающие из иона: (a) Q(-) (б) />(-) (в) Q(-, -) (г) Я(-, -) (д) Р (е) Q (ж) <?(-, -) (3) Т(; -, -) (и) S(-, -) (К) Q(-, (Л) Р(; -) (м) 2.7. Какие из следующих записей являются словами в алфавите Лап (см. определение 2.3): (а) VР(х) (б) VxP(x) (в) Зх, 3уР(х, у) (г) (Vx(VyP{x, у))) 205
(д) Эх, уР(х, у) (е) ЧхуР{х, у) (ж) (3х)Р(х) (з) 3х(Р(х)) 4 (и) 21 х (к) \xdx (л) VxP(x)\/VyQ(y, х) (м) (V*Vj/P(x, у)) (н) Vx(VyP(x, у))? 2.8. Пользуясь определением 2.2, выясните, какие из записей задачи 2.7 являются: а) формулами, б) формулами с учетом соглашения об опускании скобок (см. п. 2.1.4). 2.9. Опустите скобки в формулах: (a) (Vx(3y(VzP(x, у, z)))) (б) ((VxP(x)) zd Р(х, у)) (в) (Vx(P(x)VP(x, у))) (г) ((3хР{х)) zd ((VxQ(x))V(lQ(x)))). 2.10. Восстановите скобки в формулах: (а) \fxP(x)\/ Q(x)z> 3xQ(x)/\P(x) (б) P(x)^VxQ(x)V^Q(x) (в) Vx(P{x, y)=>VyQ(y)) (г) P(y) ZD ~\(VxQ(x, y) ZD P(y)) (д) 3x(VyP(y)z> Q(xj) Д nVi/3x(Q(x)=) P(y)) (е) VxlP(y)^Q(x, y, z)VVyR(y) (ж) ~\VxP(x)ZD(3yQ(y)ZD P(x, y)) V P(y) (з) V*Vt/VzP(;t) ^ Q(jc)V ~lP(x) (и) 3xVy3zP(x)\/ 3y~\VzP(z, у). 2.11. Найдите множество значений: (а) одноместного иона Р(-) на D = {1, 2, 3, 4), на D — {0, 1, 2, 3, 4}, на D = {1, 2, 3, 4, 5, 6} (б) пятиместного иона на £) = {1| (в) ионов Р(-) и Q(-, -) на D = {0, 1}, учитывая, что /(1)= И и /(0,1) = Л. 2.12. Выпишите следующие логические функции: (а) /I, Ц, Лоо на D = {1, 2, 3} (б) /47, /з 1552409 на D = { 1, 2, 3, 4, 5} (в) /иг, /?23456789 НЭ D — {\, 2, 3} (г) $, 1Ь, /250 на D = {\, 2}. Пример 2.4. Показать на диаграмме Венна область истинности логической функции, связанной с предикатом: 1Р(*) zd Q(х). ► Упростим вначале формулу 1Р(х) zd Q(х): ~1Р(х) ZD Q(x) = 1 ~\Р(х)\у Q(x) = Р(х) VQW- Тогда {х\ 1Р(х) zd Q(x)} = {х\Р(х\V QMI = {х\Р{х)\ {] [х\ Q(x)|. Искомая область изображена диаграммой, приведенной на рис. 10. 4 Пример 2.5. Изобразить диаграммой Венна область истинности логической функции, связанной с предикатом Р(х) zd Q(x)\J 1P(x)/\R(x)- ► Найдем условия, при которых предикат Р(х) zd Q(x)V ~^P{x)AR{x) имеет значением истинное высказывание. Для этого отыщем все решения уравнения Р(х) zd Q(x)\/ 1Р(х)А R(x) = Л; тогда область истин- 206
Рис. 10 ности логической функции, связанной с предикатом Р(х) zd Q(x)\y \/~\P(x)/\R(х), будет дополнением к области, изображающей множество решений указанного уравнения, которое равносильно системе условий: наконец, { г Р(Х) = И ( QWVnPWA/?(x) = Jl, Р(х) = И Q(jc) = J1 или /?(*) = Л откуда Р(х) = И Q(x) — Л f Р(х)= И { QW = Jl I R(x) — И. 1ЛД/?(Д:) = Л> Изображаем полученные решения диаграммой Венна (рис. 11), причем, если заранее ничего не известно об отношениях между областями истинности DP, Dq, Dr, то они показываются в самом общем виде, когда все они имеют общую часть. На рис. 12 изображена искомая область истинности. Задачу можно решить и по-другому, определив область истинности составлением истинностной таблицы и заполнив по ней соответствующие области диаграммы Венна, а именно те, которым в табл. 5 отвечает значение И. Таблица 5 Р(х) Q(x) R(x) P(x)=>Q(x)V~IP(x)AR(x) И и и и и и л и и л и л и л л л л и и и л и л и л л и и л л л и 2.13. Изобразите на диаграмме Венна область истинности логической функции, связанной с предикатом: (а) P(x)A(Q(x)=> /?(*)) ~ Р(х)У ~lR(x) (б) P(x)=>Q{x)VR(x)A-iQ(x) 207
(в) Р{х)=> Q(x)v lQ(x) (г) Р(х)~ Q(x)Afi(x)AP(x). Пример 2.6. Записать предикат, связанный с логической функцией, область истинности которой заштрихована на рис. 13. ► Искомый предикат А(х) обращается в истинное высказывание при всех тех и только тех значениях хеД при которых Р(х) имеет своим значением истинное высказывание, a Q(x) — ложное. Значит, {x\A(x)} = {x\P(x)}f){x\Q(x)} = = {x\P(x)A-1Q(x)} = = {*n(-i/>MVQW)l = = {*П(Я(*) zd Q (*))}. Тогда A (x) = ~\(P(x) zd Q(x)). <4 2.14. Запишите предикаты, связанные с логическими функциями, области истинности которых заштрихованы на рис. 14, а—и. а б в В в В Ст.к СмкЬ\ г д р И 9 и ж 3 V D В у у l«ffl 208
2.15.* Предикаты Р(х) и Q(x) определены на некотором множестве D. В каком отношении должны находиться области истинности DP и Dq логических функций, связанных с этими предикатами, чтобы (1) Р(х) и Q(x) принимал значение И: (а) для некоторых x^D (б) для всех х <= Dp (в) для всех х ^ Dq (г) ни для одного значения x^D\ (2) Р(х) zd Q(x) принимал значение И: (а) для всех х е D (б) ни для одного значения xgD. 2.16. Логические функции /,-(*) заданы на множестве D = {a, by с, d) с помощью табл. 6. Таблица 6 х abed I ,(х) Цх) Цх) Цх) И и и и и и и л л л л л л и и и Определите истинностные значения следующих формул: Vjc/i (jc) ЗхЦх) Vxl3(x) ЗхЦх) Vxh{x) 3xli(x) УхЦ(х) ЗхЦ(х). 2.17. Логическая функция 1(х, у) задана на множестве D = {а, Ь) с помощью табл. 7. Таблица 7 х у 1(х, у) a a J1 а Ь И b а И b b И Определите истинностные значения следующих формул: Vx/(x, а)\ 3xl(x, а)\ Vyl(a, у)\ Зу1(ау у); Vjc/(jc, 6); 3xl(x, Ь)\ Vyl(by у); 3yl{b, у); ЧхЧу1{х, у); Vx3yl(x, у); 3*/V*/(x, у); V£/Злг/(лг, //); Vf/Vx/(x, */); ЗлгЗг//(лг,«/); 3xVf//(x, у); 3f/3x/(x, */). 2.18. Логическая функция /(л:, /у) определена на области из трех элементов D = {а, 6, с} (табл. 8). 8 Зак. 2997 209
Таблица 8 Значен ия У Значения X a ь с a И л л b и л л с л л л Найдите истинностные значения формул: (а) ЗиУх~М(ху */)Д ЗхЗ*//(х, у) (б) УлгЗyl(x, y)V Vy3xl(x, у) (в) ЗхЗуИх, у) zd Vx3yl(x, у) (г) 3x(Vy~\t(x, у)=> 1(х, х)). 2.19.* Логическая функция 1(х, у) определена на мно- жестве натуральных чисел следующим образом: 1(ху у)— И, если либо х=1, либо у = 2, либо х = у, в остальных случаях l(x, у) = J1. Пусть /\(х, у, z)=l(x, у)АКх> z)- Найдите истинностные значения формул: (a) Vjc/i(лг, х, х) (б) Vxli(x, 2, 1) (в) Vjc/i(jc, z, х) (г) 3i//i(i/, 2, 1) (д) Vx3y3zl\(xy у, z) (е) 3j*rVt/Vz/i(x, */, z). 2.20. Укажите свободные и связанные вхождения переменных в следующих записях: 2 Н (а) \ (х-\-y)dx (б) \л(Р/Н)2х2йх -2 о (в) «наибольшее х такое, что + » (г) «наименьшее х такое, что xe/V» <д> <е> + (*) 5т7) k (з) 2 (и) шахК(^) (к) Ду. /= 1 [0; а\ Какие, из этих формул замкнутые? открытые? Для открытых формул запишите их замыкания. 2.21. Укажите свободные и связанные вхождения переменных в следующих формулах: (а) Vz(VxP(x, у) zd P(z, х)) (б) VyP(zy у) zd VzP(z, у) (в) Vy3xP(xy у)\/ ~\VxQ(x) (г) Vx(P(x)A3xQ(x, z) zd 3yR(xy у))\/ Q(z, x) (д) Vx(P(x)A 3xQ(xy z) zd 3xR(xy x))\/Q(z, x) (е) Vz3y(P(z, y)AVzQ(z, x)zd R(z))
(ж) 3xVz(P(x, z)\JVtQ(t, у, *)) (з) Vx(P(*, у):э Vt/Q((/)) (и) VxP(*, */)=Э VyP(x, у) (к) ПЗг/<Э(г/, y)AR(y)- Какие из этих формул замкнутые? открытые? Для открытых формул запишите их замыкания. 2.22. Найдите, что выражает каждая из формул в указанной для нее интерпретации: Номер Формула Интерпретация 1 P~Q=>R\/S 2 Р(х) ~ Q 3 3*Р(лт) ~ Q 4 Р{х, у) 5 VxP(x, у) 6 VxP(x, у)\/ Q(y) (Р, Q, Я, 5) = (Л, И, Л, Л) D = {0, 2, 4}, Q = Л, Р(х) = /б(*) D = ) 1, 2, 3, 4(, <2 = И, Я(л:) = /,,оМ D = {0, 1}, Р(лг, у) = 1\ь(х, у) D = (0, 3,5), Р(х, у)=Ги(х, у) D = { 1,2), Р(*, */) = /!(*, */), Q(y)=4fo) Пример 2.7. Построить предметную интерпретацию логической функции /| на D = {а, 6}. ► По заданным индексам логической функции восстановим ее таблицу (1 ю = 012): /! И Л Возьмем одноместный предикат, который на двухэлементном множестве принимает один раз в качестве значения истинное высказывание, а другой раз — ложное, например, а) «х < 1» на {1, 2); б) «х — простое число» на {2, 4); в) «л: делит 4» на {2, 3}. <4 2.23. Пусть Р(х\ R(x:), Q(x\ S(x, у) обозначают пре¬ дикаты «л: — простое число», «х — четное число», «х — нечетное число», «у делится на х» соответственно. Переведите на русский язык: (а) Р(7) (б) Я(2)ЛЯ(2) (в) V*(S(2, x)=>R(x)) (г) 3x(R(x)AS{x, 6)) (д) 3 x(R(x)AP(x))A !3x((R(x) А Р(х)) Д3г/(х ф у) Д AR(y)AP{y))) (е) Vx(“!/?(x)=) 15(2, *)) (ж) Vx(R(x)AVy(S(x, у)=>Р(у))) (з) Vx(P(x)=> 3y(R(y)AS(x, у))) (и) Vx(Q(x) => Vy(P(y) => lS(x, у))). 2.24. Найдите хотя бы по одной предметной интер- претации каждой логической функции, являющейся зна- 8* 211
чением двухместного иона на двухэлементной области (см. табл. 2.2). 2.25. Постройте предметные интерпретации данных логических функций (номера функций даны в двоичной системе в виде 2"-значного числа): (а) 1'о (б) /! (в) II (г) ({ (д) /оI (е) /п (ж) /оою (з) /?001 (и) /0001 (к*) /looonoi- 2.26.* Постройте предметные интерпретации следующих логических функций (номера функций даны в десятичной системе): (а) Ц Ц t\5, \D\ = 2 (б) /з, /I, /?5, /34, IbOOy \D \ = 3 (в) /?, /47, /250, /?, /3, \D\ — 2. Пример 2.8. Для формулы УуР{х, у) указана предметная интерпретация: D = N; Р(х, у): х^у. Прочитать в данной интерпретации формулу и указать, что она выражает. ► Для конкретной интерпретации всякая замкнутая формула представляет собой высказывание, которое имеет одно из двух значений И или J1, а всякая формула со свободными переменными выражает некоторое отношение в области интерпретации. Это отношение может быть выполнимым для одних значений переменных из области интерпретации и невыполнимым для других. В данной интерпретации формула \fyP(x, у) примет вид Vy(x^.y), где х, у е N и выражает свойство (т. е. унарное отношение), которое выполнимо только для числа 1. 4 2.27. Для формул: (а) Р(х, £/); (б) 3у У/хР(х, у); (в) ЗуР(х, у) указана предметная интерпретация: D= N; Р(х, у): х^у. Прочитайте в данной интерпретации формулы и укажите, что они выражают. 2.28. Даны формулы: (а) Р(х, y)iD Р(уу х)\ (б) V*V*/Vz(P(*, у) =э (Р(уу z) =э Р(х, г))) и следующие их предметные интерпретации: D\ = N; Рх(х, у): х < у; D2— множество всех людей; Р2(ху у):х любит у, D3 — множество всех множеств целых чисел; Рз(х, у): X=>Y. Прочитайте в данных интерпретациях формулы и укажите, при каких значениях свободных переменных эти формулы выполнимы, или выясните, являются ли они ложными или истинными высказываниями. Пример 2.9. Найти значение формулы Р(х) id Vx(Q(x)/\~\Р(у)) на D = {1, 2}, если значения переменных х, у и ионов Р(-), Q(-) суть 1, 2, /1, /2 соответственно. 212
* Имеем: /1(1) zd V*(/1(*)A 1/|(2)); HdV^WAIJI); Hzd У*(Й(*)ДИ); И zd Vjc/J(jc); И =z> JI; Л. « Пример 2.10. Вычислить значение формулы У/хЗуР(х, у) id zd 3yVxP(xy у), если |D| =2, а значением иона Р(-, -) является функция /§(*, */) (см. табл. 2.2). Выполняя подстановку, получаем импликацию Vx3ylg(x, y)ZD3yVxll(x, у). Чтобы найти значение Vx(3yll(x, у)\ надо вычислить 3yll(x, у) как функцию от х. Для вычисления значений этой функции надо найти значения функций /5(1, у) и /5(2, у), которые приводятся ниже: /9(1. У) I% (2, у) Л И 1 и 2 Л Из этих таблиц по определению квантора существования получаем. * з yl'i(x,y) 1 и 2 И Так как при всех возможных значениях х значение функции 3yll(xt у) суть И, то Vx3ylg(x, у)— И. Точно также вычисляем, что 3yVxll(x, у) имеет значение Л, а тогда значение рассматриваемой импликации Л. 4 Пример 2.11. Построить истинностную таблицу формулы Vz(P(x)zd~\QVP{z)) над D={ 1, 2}. ► Формула логики предикатов — функция от ионов, свободных (хотя бы в одном своем вхождении) предметных переменных. В формуле Vz(P(x) zd ~)Q \/P{z)) одна свободная переменная х и два различных иона Q и Р(-). Поэтому на входе таблицы будет три столбца. Переменная х принимает два значения: 1 или 2; нульместный ион Q — тоже два значения: И или Л; одноместный ион Р(-) принимает в качестве значения одну из четырех логических функций: /«, /1, 1-2, /5, заданных табл. 2.5. Следовательно, в искомой истинностной таблице 16 строк. Вычислим, например, элементы одиннадцатой строки. Подставляя значения переменной х и ионов Q и Р(-), представленные в этой строке, в формулу Vz(P(x) id ~\Q\J P{z)), получаем V2(/J(2)zi 1И \/йй). По табл. 2.5 имеем 2) = И, тогда \/г(И zd эЛУЙ(4 213
Чтобы вычислить значение Vz(H =э J1 \/й(<г)), составим табл. 9. Таблица 9 z l\z 1 Л и 2 И Л По определению квантора всеобщности имеем, что Vz(H =э Л Х/й(2)) = Л. Значения остальных строк вычисляются подобным .образом. Результат представлен в табл. 10. 4 Таблица 10 Номер строки X Q Уг(Р(х)=5 1QVP(.V)) 1 1 И /о И 2 1 и /; л 3 1 И /2 и 4 1 И /з и 5 1 Л /о и 6 1 Л /1 и 7 1 Л lit и 8 1 Л /з и 9 2 И /о и 10 2 и /! и 11 2 И /2 л 12 2 И й и 13 2 л /J и 14 2 л /1 и 15 2 Л й и 16 2 л й и 2.29. Вычислите значения формул при данных значениях переменных и ионов (номера функций даны в виде 2*-значных двоичных чисел и D = {1, 2}): (1) Р(х, у) id Vx(P(x, у) id 3хР(х, х)), где а) Р(х9 у) = /оою, х = 2, у = 1 б) Р(х, у) = /ооп, х= 1, у= 1; (2) P(y)\/Vx{P(x)=> Q), где (a) P(y) = ll\, Q = И, у= 1 | (б) Р(у) = 1\о, Q = Л, у= 1; 214
(3) Vz(P(x)=>-lQVP(z)), где (a) P(z) = l\u Q = J1, x = 2 (6) P(z) = l\o, Q = И, x = 1; (4) Q(x, y)zD(VxP(x, y)zD3xP(x, x)), где (а) P(x, y) — /?iio, x = 2, j/= 1, Q(x, y) = /f,00 (б) P(x, £/) = /?oio, x = 1, у = 2, Q(x, y) — l] ioo. 2.30. Пусть D = {1, 2}. Сколько строк содержат истинностные таблицы формул: (а) Р(х, г/)=э Vx(/5(x, у) zd 3хР(х, х)) (б) 3yVx(P(y, x)\/4xQ(x, у, г)) (в) Vz3y(P(z, y)/\VzQ{z, x)ziR(z)) (г) VxP(x, y)zD Q(x) (д) Vx4yVzP(x) zd Q(z) Д 1Р(х)? Ответьте на этот же вопрос для одноэлементной и трехэлементной областей. 2.31. Постройте истинностные таблицы (|Z)| =2) для формул: (a) VxQ(x, у) (б) 3yQ(x, у) (в) 3x(Q(x, у)zd Q(y, х)) (г) Vx3y(Q(x, z)z>Q(x, у)). 2.32. Постройте истинностные таблицы данных формул над указанными областями: (а) Vx(3xP(x)id Р(х))ЛР(х) на D = { 1, 2} (б) Р(х)/\3xQ(x) на D = {0, 1} (в) 3уР(х, у) УхР(х, х) на D = {а, Ь} (г) Р(х, y)zD y/z{P(x)/\Q ~ 3yQ(x, у, г)) на D = {0} (д) V*(/>VQM)~ PVVxQ(x) на D = {1, 2}. Пример 2.12. Доказать равносильность УлгЛ (х) Д VxB (х) = V*(Л (х) Д В (*)). ^ Пусть задана произвольная область интерпретации D. Рассмотрим общую истинностную таблицу формул VxA(x)AVxB(x) (1) и Vx(A(x)AB(x)) (2) в этой области, если на входе таблицы помещены значения ионов и переменных, от которых зависят формулы (1), (2), причем переменные имеют свободное вхождение хотя бы в одну из формул. Разобьем строки таблицы формулы (1) на две группы: в первую — отнесем все строки, где формула принимает значение И, а во вторую — все строки, где формула принимает значение J1. Для каждой из этих групп рассмотрим формулу (2), т. е. определим ее истинностное значение. Рассуждения оформим в виде табл. 11. Таким образом, в любой строке таблицы формулы (1) и (2) имеют одинаковые истинностные значения. По определению 2.8 они равносильны. <4 215
Таблица 11 VxA(x)AVxB(x) и л Рассмотрим произвольную строку из первой группы строк, в которой (А(х), В(х)) = (/!•(*), //(*)). | У*/!(*)=И, \ Vjc/}(*)= И. Из первого уравнения системы получаем, что 1-(х) = И при всех хеО. Из второго — //00 = И при всех xeD. Значит, //00 Д //(*)= И при всех xgD. По определению квантора общности получаем V*(//(*)A//'(*))= И. Таким образом, в каждой строке первой группы фор мулы Ух(А(х) Л В(х)) имеют значение И. Рассмотрим произвольную строку из второй группы строк, в которой 04 00, ЯОО) = = (/,'(*), /'(Л-)). Тогда Ух//(х) = Л или Vxl}(x) = J\. Откуда хотя бы при одном х будет: /!(х0)=л. /!(х0=л. Для хо: Для х\: // (хо) А1) Ы = Л. // (х,) Л1) (х 1) ■= Л. По определению По определению квантора общности квантора общности Vx(H(x)A //М) = л. Vx(//(x)A//W) = л. Таким образом, в каждой строке второй группы формулы Vх(А(х)/\ В(х)) имеют значение Л. И Л Vx(A(x)AB(x)) 2.33. Докажите равносильности предложения 2.1 и следующие. Законы пронесения кванторов через импликацию: (15) Did VxA(x)^ V* (D z> Л (*)). (16) Dzd3xA(x)=3x(DzdA(x)). (17) Эх A (x)dD = Ух(Л (jc) id D). (18) У*Л (x) id D = 3*(Л (*) id D). Показать, что равносильности (1) и (2) предложения 2.1 не имеют места, если нарушены условия, налагаемые на А(х) и А (у). 2.34. Подобрав подходящую интерпретацию, покажите, что если формула D содержит свободные вхождения переменной х, то равносильности (11) — (18) (см. определение 2.8 и задания 2.33) места не имеют. 2.35. Замените каждую формулу равносильной ей, содержащей только операторы "1, Д, V» причем 216
областью действия унарных операторов 1, V, 3 должны быть только атомы: (a) 3x(P(x)=>VyQ(y)) (б) l(V*P(x)=>3yQ(y)) (в) VxP(x)=>l(Q(y)~VzR(z)) (г) (3xP(x)~4yQ(y))^R(z) (д) l(Vx(P(x)=>Q{x))A3yOR(y)AS(z))) (е) n(Vx3у(Р{х)=> Р(у))А(Р(у)=> Р(х))) (ж) ~1(УхР(х) V 3x(Q(x) гэ R(x))) (з) Эх(Уг/Р(г/) =э Q(*))A ~lVy3x(Q(x)=> Р(у)). Пример 2.13. Доказать общезначимость формулы Vx{A(x)=> -\В(х))=> -\(\/xA(x)f\3xB(x)). ^ В алгебре предикатов общезначимость формулы обычно доказывают: а) методом «от противного»; б) методом равносильных преобразований. а) Предположим, что формула необщезначима. Это означает, что найдется хотя бы одна интерпретация формулы, в которой последняя принимает значение J1, т. е. хотя бы в одной области Do должно существовать хотя бы одно значение формулы А(х) — логическая функция /',„(*) — и формулы В(х)—Iх}ЛХ\—Для которых выполняется система условий: I Vx(/!0(x)=> = и, \ -1(Ух/Цх)ДЭх/;„(х)) = Л или равносильная ей система гух(/Цх)=эп/‘М)= и, } Vxl)0(x) = И, (2) 1з*/},м=и. Из последнего равенства системы (2) по определению квантора существования получаем, что 1}0(х) — И хотя бы при одном х, которое обозначим лсо, значит, /}0(хо) — И. Тогда ~1/]0(дго) = Л. Так как l'i0(x)— И при любом х (см. второе уравнение системы (2)), то 1\п(хо) = И. Итак, /!о(*0) = И, а ~1/}0(*о) = Л, поэтому /]0(*о) =э ~1/}0(х0) = Л, что противоречит первому уравнению системы (2). Значит, сделанное предположение было неверным, т. е. формула общезначима. (15) б) Vx(А (х) id ~\В(х)) zd ~}(УхА {х)А ЗхВ(х)) = (55) = 1(Vx(A (х) =э ^В(х)) V ~\(УхА (х)А 3хВ(х)) = (40) = 3jc"I(>I(jc) nfi(jc))V H(Vjc^(jc)A ^ (42) = 3х(А (х) Д 11В(х)) v "!('v хА (х) Д 3хВ (х)) = (38) ^3xHWA^W)V1(V^WA3xB(x)) ^ (55) = 3х(А (х) А В (х)) v “I vj&4 (х) v “13хВ (х) = (60) = 3x(A{x)AB{x))V3x~}A(x)\/ ~)ЗхВ(х) = 217
= Эх(А (х) Л В(х) V ~1А (х)) V 13 хВ(х) = = Эл:((Л(дг)У 1Л(л:))Л(В(л:)У ^ W))V ПЭхВ(х) (= = Эх (И Д (В (х) V 1-4 (*))) V 1 ЗхВ (х) = (60) 33 3х(В(х)\у ПЛ (x))V ПЭ*Я(*) W (25) = (3jcJ3(jc) v 3jc ПЛ (*)) V 13хВ(х) (22) = Э*£(*) V(3*ПЛ (*) V ПЭх£(х)) = = ЭлгВ (х) V (^ 3jcB (jc) V Элг ~1 Л (л:) S = (ЗхВ (х) V ~1ЭхВ (х)) V Эл: ~\А (х) (= = И V Эх~1Л (х) £= И. 4 2.36. Пусть х и у — произвольные различные переменные, А(х)у В(х)у А(ху у)—произвольные формулы, Ау В — формулы, в которые х не входит свободно. В формулах (а) и (б) А(ху х) является результатом подстановки к вместо свободных вхождений у в А(ху у)у причем х свободно для у в А(ху у) (т. е. все вхождения х в А(ху х)у которые получаются в результате этой подстановки, свободны). Докажите общезначимость формул: (а) VxVyA(xy у) id \fxA(xy х) (б) ЗхА(ху х) zd ЗхЗуА(ху у) (в) VxA(x)id ЗхВ(х) ~ Зх(А (х) zd В(х)) (г) (ЗхА(х) Id VxB(x)) zd Vx(A(х) id В(х)). 2.37. Докажите общезначимость формул: (a) 3x(A(y)zD А(х)) (б) V хА(х) zd ЗхА(х) (в) 13xA(x)zd 1VxA(x) (г) 3xVyA(x, у) zd Vy3xA(xy у) (д) Зх(>4 (х)/\ В(х)) zd ЗхА(х)/\ ЗхВ(х) (е) 3 х(А(х)\/ В(х))=эЗхА(х)\/ЗхВ(х) (ж) VxA(x) V VхВ(х) id Ух(А (х)\/ В(х)) (з) \/х(А(х)/\В(х)) id УхА(х)/\ УхВ(х) (и) Vx(,4(x)zd 1 B(x))id ~\(ЗхА(х) /\ УхВ(х)) (к) 3x(A{x)id B(x))id(VxA(x)id3xB(x)) (л) * Зх(А (х)А(В id С(х))) id (Vx(A(x) zd 1С(х)) zd 1В)У где х связано в В. Покажите, что формула (л)* перестает быть общезначимой, если отказаться от условия «х связано в В». 2.38*. Покажите, что формула 3xVy(R(xy у) id zd(~IR(xy #)zd (/?(*, x)~R(yy у)))) 3-общезначима, но не является 4-общезначимой. Пример 2.14. Общезначима ли формула Q Д Р(х) =э УхР(х)? ► Допустим, что формула не является общезначимой. Тогда должна 218
существовать интерпретация (Do, /?, //(*)), в которой на выходе истинностной таблицы, формулы /?Л 1}(х) =э Vxlj(x) хотя бы в одной строке стоит Л. Но в такой строке должно быть |/?Д/!(*>)= И, I Vxlj(x) = Л, где хо — значение переменной л: в этой строке. Данная система равносильна следующей: | /?= И, { 1}(Х о) = И, V Vxlj(x) = Л. Последняя система не содержит противоречия, так как все ее уравнения выполняются, если D0 = (l, 2), / = I, хо = 2. Значит, допущение оказалось верным. Данная формула не является общезначимой. <4 2.39. Являются ли общезначимыми следующие формулы: (a) 3xP(x)zdVxP(x) (б) "1(3xP(x)zd VxP(x)) (в) 3xVj/Q(x, y)zD Vy3xQ(x, у) (г) Vx3yQ(x, y)=>3yVxQ(x, у) (д) P(x)ziVxP(x) (e) VxP(x)zd3xP(x); (ж) 3xP(x) ZD P(x) (3) VxP(x)zd P(x) (и) P(x)zd3xP(x) (k) 3x3y(~\P{x)A ~lQ(y)\/P(x) v Q(y)) (л) 3xVy(P(y)zD Q(x, y)) (m) Vx(P(x) zd Q{x)) zd (VxP(x) zd VxQ(x)) (h) 3x(P(x) zd Q(x)) zd (3xP(x) zd 3jcQ(jc)) (o) 4x{P(x) ZD Q(x)) ZD (3xP(x) ZD 3jfQ(jf)) (n) 3x(P(x) ZD Q(x)) ~ (VxP(x) ZD 3xQ(x)) (p) Vx(P(x) ZD Q(x)) ~ (3xP(x) ZD VxQ{x)) (c) 3x(P(x) zdQ)~ Vx(P(x) zd Q)? 2.40. Пусть A(y) — это одна из формул: P(x)zd zdVxQ(x, у), Q(z) ~ Vx/>(z, у, x), Q(t)/\3tR(z, t), Vz(P(x)A3xQ(y, x)\JQ(z, x)), \fz{P{z)A'3xQ{y, x))=> ZD Q(z, x). Запишите -4(c), взяв в качестве с такую переменную, чтобы «с свободно для у в А(у)» было: а) истинно; б) ложно. Выполните задание, если данные формулы рассматривать как А(х), A{z), A(t). 2.41. Докажите общезначимость формул: (а) ЧхА{х)-=>А(с) (б) A(c)zd3xA(x). В формулах (а) и (б) с свободна для х в А(х). Покажите, что если условие «с свободно для х в А(х)» не соблюдено, то формулы (а) и (б) перестают быть общезначимыми. 219
Пример 2.15. Выяснить, выполнима ли формула 3jcP(jc). ► Чтобы доказать, что формула выполнима, достаточно подобрать соответствующую интерпретацию и показать ее истинность в этой интерпретации. а) Рассмотрим интерпретацию: D—{1, 2), Р(х) = ^(х). В ней формула 3хР(х) обращается в формулу 3xl[{x), значение которой равно И. Значит, в силу определения 2.10 формула 3хР(х) выполнима. б) Выполнимость формулы можно доказать и подбором подходящей предметной интерпретации, такой для данной формулы может быть: D — N; Р{х): «х — четное число». В этой предметной интерпретации формула 3хР(х) становится истинным высказыванием «существует четное натуральное число». <4 2.42. Изобразите на диаграмме Венна отношение между множеством выполнимых и общезначимых формул. 2.43. Докажите, что (а) А выполнима тогда и только тогда, когда ПЛ необщезначима; (б) А общезначима тогда и только тогда, когда ПЛ невыполнима. 2.44. Выполнимы ли формулы: (а) ЗхР(х)=>Р{у) (б) VxP(x) (в) 3xVy{Q(xy х)А 1Q(x, у)) (г) ЗхЗу(Р(х)Л^Р(у)) (д*) 3xVy(Q(xy у) =э VzR(xy уу z)) (е) P(x)zd VyP(y) (ж) VxVy{P(xy у)/\ ПЯ(х, х)) (з) V*V*/Vz(Q(*, у)\/ lQ(y, z)) (и) УхЗу(Р{х)/\~\Р{у)) (к) 3xP(x)f\~^Q(y) (л) ПР(х)Д VyP{y)? 2.45. Покажите выполнимость следующих формул: (а) Vx3yQ(x, y)zD 3yVxQ(xy у)A3//VxlQ(xy у) (б) Vx3y(P(x, у)Д 1Р(ху х)) (в) Vх(Р(х)\/ Q(x)) Iэ \/хР(х)\у VxQ(x). 2.46*. Приведите пример формулы, выполнимой на области из трех элементов, но невыполнимой на области из двух элементов. 2.47*. Приведите пример формулы, выполнимой на области из четырех элементов, но невыполнимой на области из трех элементов. 2.48*. Докажите, что формула Vx3yVz{R(x, х)ДП/?(г/, x)/\(R(y, z)zd R{x, z))) выполнима на бесконечной области и невыполнима в любой конечной области. 2.49. Докажите, что УхЗуР(х, у) :э 3уУхР(ху у) 1-общезначима, но не 2-общезначима. Выполнима ли эта формула? 220
Пример 2.16. Доказать необщезначимость формулы Vx(Q(y)zD Z3 Р(х)). ^ (а) В алгебре предикатов необщезначимость формулы обычно доказывают методом интерпретаций. При этом подбирают такую интерпретацию, что в ней формула либо обращается в ложное высказывание, либо может принимать значение Л хотя бы при одном наборе значений свободных переменных. Рассмотрим интерпретацию: О = {1, 2), Q(y) = l\(y), Р(х) — 1о(х). В ней формула принимает вид Vx(/| (у) zd 1о(х)). Vjc(/i {у) zd llo(x)) = Л при у = 2. б) Необщезначимость формулы можно также установить, подобрав подходящую предметную интерпретацию, в которой формула выражает не всегда выполнимое отношение. Такой интерпретацией может быть: D = No Q{y): «у—простое число», Р(х): «х — четное число». В этой интерпретации формула выражает одноместное отношение «для любого натурального х, если натуральное число у — простое, то натуральное число х — четное», которое не выполняется при у — 2. <4 2.50. Докажите, что следующие формулы необщезначимы: (а) Vf/3xQ(x, у) zd 3xVyQ(x, и) (б) !(Vx3yP(x, y)z>3yVxP(x, у)) (в) 3x3уР(х, у)1эЗхР(ху х) (г) 3xP(x)A3xQ(x)zd3x(P(x)AQ(x)) (д) Vx(P(y)z>P(x)) (е) 3xP(x)A~}Q(y) (ж) ЗхР(ху y)iD УхР(х, у) (з) Vx(P(x)\/Q(x)) ~ VxP(x) V VxQ(jc) (и) 3x{P{x)/\Q(x))~ 3xP(x)A3*Q(x)- 2.51. Приведите пример необщезначимой формулы, общезначимой на области из одного элемента. 2.52*. Покажите, что формула VxR(x, х)ДЗyVxRX Х(х, у)^> 3x\fyR(x, у) не является общезначимой. Докажите ее общезначимость на одноэлементной и двухэлементной областях. Правильность следования в алгебре предикатов можно устанавливать теми же методами, что и в алгебре высказываний. Дополнительным методом для формул, содержащих только одноместные ионы, может быть метод диаграмм Венна. Пример 2.17. Доказать, что Зх(А (х) zd В(х)\ УхА (jc)f= ЗхВ(х). ^ а) Докажем методом «от противного». Предположим, что следование неверно, тогда найдется интерпретация посылок и заключения, в которой посылки принимают значение И, а заключение — Л, т. е. в некоторой области Do должна выполняться система условий: Зх(Цх)=>1,(х))=И, ЧхЦх) = И, 3 xlj(x) = Л. 221
Из второго равенства приведенной системы получаем /<•(*)= И при всех хеО, из третьего равенства — 1}(х) = Л при всех х е D. Тогда li(x) zd lj(x) = Л при всех хеД что противоречит первому уравнению системы. Значит, сделанное предположение было неверным, т. е. следование правильное. б) Заменим вопрос о следовании вопросом об общезначимости: \=3x(A(x) zd В(х))/\ УхЛ(х) id ЗхВ{х) (1) или |=Эх(Л(х)=>В(х)):э(Ух,4(х):эЭхВ(х)). (2) Общезначимость формулы (1) можно установить методом «от противного». При этом мы придем к вышеуказанной системе и далее наше рассуждение повторится. Методом равносильных преобразований доказательство утверждения (1) будет выглядеть следующим образом: Зх (Л (х) zd В (х)) Д УхЛ (х) id ЗхВ (х) У = 1(3*04 (лг) => В(х))А VxA (лг)) V 3хВ(х) (= = 13лг(Л(х):э B(x))V 1VxA(x)\S3xB(x) (= = Л Эх(А (лг) :э В (х)) V Элг ~\А (лг) V Эх В (лг) W = -\Зх(-\А(х)\/В(х))\/ ЗхОА(х)\/ В(х)) =' И. Таким образом, формула Зх(Л (jc) zd В(х)) А \fxAx zd ЗхВ(х) оказалась общезначимой, т. е. утверждение (1) верно. Общезначимость формулы (2) доказана в задании 2.37 (к). 4 Пример 2.18. Верно ли следование R(y) zd Р(*)(= R(y) zd VxP(x)? ► Допустим, что следование не выполняется. Тогда найдется интерпретация посылки и заключения (Do, 1}{х), 1)(у)), в которой посылка принимает значение И, а заключение — Л для некоторых хо, у о. В этой интерпретации должно быть: И, ( 1}(у0) 3 //(Хо) = И, Г ^о) 3 : < , , или \ lj(yо) = И, t//ыг, v*/;w=л, \;;//(х)=л, {! Vxli(x) = ч!м = и, . 1}(хо) = и, , Vxlj(x) = Л. Условия системы выполнимы, если, например, Do = {1, 2), /=1, / = 3, хо = 2, уо — 2. Значит, допущение выполняется, т. е. следование неправильное. 4 Пример 2.19. Верно ли следование R(y) zd ЧхР(х)\= R(y) zd Р(х)? ^ Допустим, что следование не выполняется. Тогда в некоторой интерпретации (D0, l!{x), 1}(у)) для некоторых хо, у о должно быть: '■'(х) = И, ( 1}(уо) => Vx//(x) = И, (№°) = ^ < , . или 1 Л(г/о) = И, Ц-Ы = /<(*.)-л, 1а = л, ( /;м=и, //'(хо) = Л, Vx/,'(x) = И. 222
Второе и третье уравнения последней системы противоречат друг другу. Значит, допущение неверно, а следование — правильное. 4 2.53. Верны ли следования: (a) VxA(x)h3xA(x) (б) 3xA(x)\=VxA{x) (в) Ух{А (х) =э В(х))Н 3х(А (х) А В(х)) (г) Vx(A(x)id ~\В(х))\= Зх(А (х)А (д) yfx(A(x)iD В{х)\ ЗхА(х)\=Зх(А{х)АВ(х)) (е) 3хА{х\ Vx(A(x)z>lB(x))\=3x{A(x)A^B(x)) (ж) Q(y)iD P(x)^=Q(x)id\/xP{x) (з) Q(x)^VxP(x)hQ(y)^P(x)? 2.54. Докажите, что: (a) R id P(x)\^R id УхР(х) (б) Р(х) id R \^=3xP(x) id R (в) УхА\=А для любых х w А (г) А\=УхА для любых х и А (д) если х не входит свободно в С, то А{х)\=С тогда и только тогда, когда \=3xA(x)zd С (е) ЗхА(х, х)\= ЗхЗуА(х, у) для любых Л, х, у. 2.55. Какие из формул 1 Р(у), Ух~ЛР(х), ~1 УхР(х) являются следствиями формулы ~\Р(х)? 2.56. Пусть х — произвольная переменная, А(х) — произвольная формула, с — произвольная переменная, не обязательно отличная от х, А (с) — результат подстановки с вместо всех свободных вхождений переменной х в формулу А(х\ Г — любое множество формул, возможно пустое, В — произвольная формула. Докажите: (а) Если с свободно для х в А(х)у то: А(с)^ЗхА(х) (б) Если х не входит свободно в Г и в В, то: если Г, А(х)\=В, то Г, ЗхА{х)\=В (см. предложения 2.4 и 2.5). Пример 2.20. Правильно ли следование: (а) Vx(S(x) zd -1Р(*))Н 3x(S(x)A P(x)) (б) 3x(S(x)AP(x))hlx(S(x)A ПЯМ)? ^ Проверку правильности следования можно проводить и с помощью диаграмм Венна, если посылки и заключения — одноместные предикаты, зависящие от одной переменной. Для категорических суждений, каковыми являются в нашем примере посылки и заключения, отношения между объемами понятий S и Р описаны в примере 2.30. Этим описанием мы и воспользуемся. Метод диаграмм Венна для случая с одной посылкой состоит в следующем. Изображаем диаграммами все возможные случаи отношений между объемами понятий 5 и Р, соответствующие посылке. Если на каждой из полученных диаграмм заключение оказывается истинным, то следование правильно. Если же хотя бы на одной из диаграмм заключение ложно, то следование неправильно (а) Поскольку посылка \fx(S(x)zDlP(x)) является отрицательным суждением, то для нее возможны диаграммы, изображенные на рис. 15. 223
Рис. 15 Ни на одной из этих диаграмм суждение 3x(S(x)/\P(x)) не верно, так как объемы понятий 5 и Р не имеют общих элементов. Значит, следование неправильное. (б) Так как посылка 3x(S(x)A Р(х)) является частноутвердительным суждением, то возможные для нее диаграммы приведены на рис. 16. Рис. 16 На каждой из этих диаграмм заключение верно, так как объемы понятий S и не-Р имеют общие элементы, например хо. Значит, следование правильное. <4 2.57. Ответьте, следуют ли из посылок (левая колонка) указанные заключения (правая колонка). (а) Vx(S(x)zd Р(х)) (б) 3x{S(x)AP{x)) (в) Vx(S(x) id ~1Р(х)) (г) 3х(5(х)ЛПР(х)) 1. Vx(P(x):z>S(x)) 2. 3x(P(x)AS(x)) 3. 3x(P(x)A^S(x)) 1. Vx(S(x):=>-|/>(x)) 2. 3x(P(x)A~\S(x)) 1. Vx(P(x)zd~1S(x)) 2. 3x(S(x)A^P(x)) 3. 3x(P(x)AlS(x)) 1. Vx(P(x)A~lS(x)) 2. Vx(P(x)z>lS(x)) 3. 3x(P(x)A5(x)) Рассмотрим применение метода диаграмм Венна для установления правильности следований, посылки или заключения которых не обязательно категорические суждения. Пример 2.21. Выполняются ли следования: (а) Vx(B(x)=> ПЛ(*))Н Vx(A(x)VB(x)) (б) Зх(А (х)А В(х))|= 3х(А (х) V В(х))? ^ Для случая категорических посылок отношения между их терминами исследованы, и мы, пользуясь этим, сразу рисуем ту диаграмму, на которой рассматриваемая посылка истинна. Если же посылка не 224
категорическая, то отношение между ее компонентами требуется еще установить. (а) Хотя посылка рассматриваемого следования категорическая, тем не менее на ее примере мы покажем установление отношения между компонентами посылки Л(х) и В(х). Для этого вначале изобразим диаграммами Венна все возможные отношения между областями истинности логических функций, характеризующих А(х) и В(х) (рис. 17, а—д). Затем на каждой диаграмме покажем штриховкой область истинности логической функции, характеризующей формулу В(х) id ~\Л (х). а б 6 После этого отыщем те диаграммы, на которых посылка оказывается истинной. Для данной посылки, имеющей структуру VxM(x), где М(х) = В(х) zd ~\Л (х),— это диаграмма, представленная на рис. 18, д. На диаграммах рис. 18, а—г посылка \fxM(x) ложна, так как имеется хо еД не принадлежащий области истинности М(х). На диаграмме рис. 18, д таких х нет. Из результатов нашего исследования видно, почему именно с помощью диаграммы, представленной на рис. 3 в табл. 2.14, показывают отношения между терминами общеотрицательного суждения. Итак, посылка следования (а) имеет значение И только на диаграмме, изображенной на рис. 18, д. Поэтому, в силу определения логического следования, решение вопроса о том, истинно ли заключение Ух(А(х)\/ В(х)) на диаграммах, представленных на рис. 18, а—г, не требуется. Остается выяснить вопрос только для диаграммы на рис. 18, д. Область же истинности логической функции, связанной с предикатом A(x)\JВ(х) и изображенной на диаграмме рис. 17, ду можно представить в виде рис. 19. Исходя из рис. 19 и учитывая определение квантора общности, делаем вывод о ложности заключения Ух(А(х)\/В(х)). Значит, следование неверное. (б) Область истинности логической функции, связанной с формулой А(х)АВ(х), при всех возможных отношениях между DA и DB изображена на рис. 20, а—д. 225
Посылка Зх(А (х) Д В(х)) истинна на диаграммах рис. 20, а—г. На всех этих диаграммах истинно и заключение Зх(А (x)\J.B(х)). Значит, следование правильное. 4 2.58. Ответьте, следуют ли из посылок (левая колонка) указанные заключения (правая колонка): (а) < * ) ' В(х)) 1. Ух (A (x)zdB(x)) 2. 3x(B(x)zdA(x)) 3. Зх (А (х)А ~1В(х)) 4. Vx(1B(x)id ^А(х)) (б) Ш * < _! Со 1. Зх(В(х)=>А{х)) 2. Vx(B(x)AA(x)) 3. 3х(А (х)\/В(х)) 4. Ух(А(х)~В(х)) (в) < > 1. 3х(А (х)~ В (х)) 2. Зх(А (x)zdB(x)) 3. 3x(B(x)idA(x)) 4. 3х(А (х)\у В (х)) (г) Зх{А(х)\/В{х)) 1. УхЩх)АВ(х)) 2. 3х(А.(х) ~ ~1В(л')) 3. 3 х(А(х)АВ(х)) 4. Ух(1А(х)А^В(х)) (д) Ух {А м- ' ~|£М) 1. Ух (А (х)\/ВМ) 2. 3 ~\А (х) V 1В{х)) 3. Ух{В(х) ZD 1А (х)) 4. У х(В(х)~-]А(х)) Пример 2.22. Верно ли, что (a) Vx(S(x)=>Q(x))t Vx(Q(x)z>-)P(x))\=3x(S(x)A~lP(x)\ Vx(S(x)=>Q(x)), 3x(Q(x)A -\P(x))\=3x(S(x)AP(x))-> ^ Вопрос о правильности следования решаем методом диаграмм Венна, учитывая при этом категоричность посылок и заключения. Этот метод для случая с двумя посылками состоит в следующем. Изображаем все возможные отношения между объемами понятий S и Q первой посылки, затем — все возможные отношения между объемами понятий Q и Р второй посылки. После этого изображаем все возможные диаграммы, связывающие каждый случай для первой посылки с каждым случаем для второй посылки. При этом, конструируя объединенные диаграммы, следует учитывать все возможные отношения между Vs н Vp- Если на каждой из полученных объединенных диаграмм заключение оказывается истинным, то следование правильно. Если же хотя бы на одной объединенной диаграмме заключение ложно, то следование неправильно. (а) Так как первая посылка Vx(S(x) zd Q(x)) — общеутвердительное суждение, то ей соответствуют диаграммы, изображенные на рис. 21, а—б. Так как вторая посылка Vx(Q(x) zd П/5^))— общеотрицательное суждение, то ей соответствуют диаграммы на рис. 22, а—б. Для получения объединенных диаграмм комбинируем каждую диаграмму рис. 21, а, б с каждой диаграммой рис. 22, а, б. Получаем рис. 23. На каждой из объединенных диаграмм (рис. 23) заключение 3x(S(x)A ~\Р(Х)) верно, так как объемы понятий 5 и не-Я имеют общие элементы. Значит, следование правильное. 227
Рис. 21 Рис. 22 Рис. 23
(б) Первая посылка та же, что и в случае (а). Так как вторая посылка 3x(Q(x)A ~~\Р(х)) является частноотрицательным суждением, то ей соответствуют диаграммы на рис. 24, а—б. Комбинируя диаграммы на рис. 21 и 24, получаем рис. 25. Рис. 25 229
На первой объединенной диаграмме (рис. 25) заключение Зл'(5(л')Д /\Р(х)) неверно, так как объемы понятий S и Р не имеют ни одного общего элемента. Значит, следование неправильное. 4 . 2.59. Ответьте, следуют ли из посылок (левая колонка) указанные заключения (правая колонка): V*(S(jc) => Q{x)) 1. Vx(S(x) ZD P(x)) 3x(Q(x)AP(x)) 2. 3x{S(x)/\ 1 P(x)) 3. Vx(S(x)=>~\P(x)) 4. 3x(S{x)AP(x)) Vx(Q(x)ziS(x)) 1. 3jc( ~IS(x)A ~\P(x)) Vx(P(x) ZD Q(x)) 2. Vx{P(x)=>S(x)) 3. Vx{S(x)=> P{x)) 4. 3 x(P(x)AS(x)) Vx{S(x)^Q{x)) 1. Vx(S(x)zd1P(x)) 3x(P(x)A~IQ(x)) 2. Vx(P(x)=>-lS{x)) 3. 3 x(P(x)A~lS(x)) 4. 3x(S(x)A ~lP(x)) 2.60*. Сделайте заключение о связи между S и Р в следующих случаях. (1) Любое 5 есть Q и любое Q есть Р. (2) Любое 5 есть Q и никакое Q не есть Р. (3) Любое S есть Q и некоторое Q есть Р. (4) Любое S есть Q и некоторое Q не есть Р. (5) Никакое S не есть Q и любое Q есть Р. (6) Никакое 5 не есть Q и никакое Q не есть Р. (7) Никакое S не есть Q и некоторое Q есть Р. (8) Никакое S не есть Q и некоторое Q не есть Р. (9) Некоторое 5 есть Q и любое Q есть Р. (10) Некоторое S есть Q и никакое Q не есть Р. (11) Некоторое S есть Q и некоторое Q есть Р. (12) Некоторое 5 есть Q и некоторое Q не есть Р. (13) Некоторое S не есть Q и любое Q есть Р. (14) Некоторое S не есть Q и никакое Q не есть Р. (15) Некоторое S не есть Q и некоторое Q есть Р. (16) Некоторое S не есть Q и некоторое Q не есть Р. 2.61. Какие из перечисленных ниже предложений следуют из х2 — 2х = 0? (1) х = 0 (4) х = 0/\х — 2 = 0 (2) * — 2 = 0 (5) х2 — 2х = 0 \/ х — 3 = 0 (3) X = 0 V* - 2 = 0 (6) (х2 - 2х) (х - 3) = 0. 2.62. Задайте предметную область D так, чтобы на этой области второй предикат был бы следствием первого: (а) «х кратно 3», « — четно» (б) «х — квадрат», «х — ромб» 230
(в) «х — четно», «х — квадрат натурального числа» (г) «х2 — 5х + 6 = 0», «х — 2 — О» (д) «х>> 3», «х — 5 ^ О» (е) «Зх = 5», «Зх2 = 5х» (ж) «х <С —3», «х <С —2» (з) «х -j- 2 = 0», «х2 -j- 2х = О» (и) «х2 — у2 — 0», «х — у = О» (к) «х2 — у2 — 0», «х — у\/х ——у». 2.63. Верны ли утверждения: (а) Из х:> 2 следует х>» 5 (б) Из х> 0 следует, что хе(0, +оо) (в) Из х = 2 следует х + 2 = 5 (г) Из х2 = 4 следует х = 2 (д) Из х2 + 6х = 0 следует (х — 3) (х2 + 6х) = О (е) Из «натуральное число х кратно 4» следует «натуральное число х— четное» (ж) Из х> 2 следует 1 + х> О? 2.64. Верны ли следования: (а) (х + у = 2)^=(2х + 2у = 6) (б) (у> 0), (х> 0)h{xy> 0) (в) (xi/<0)h(*<0) (г) (lg(x — 2)> 1), (х — 2> 0)h(x> 100) (д) (Ух—~3 = 3 — х)(=(х(х — 3) = 0) (е) (а < 0)|= (а + 0,1 < 0) (ж) (|х| = \у\)\=(х = у) (з) (л[~х-лГу= 16)Нл/*# = 16) (и) (y2 = 0)h(\y \ <0)? 2.65. Верны ли утверждения: (а) Из «углы А и В смежные» следует «углы А и В равны». (б) Из «/-A=Z-B» следует «углы А и В вертикальные». (в) Из «сумма углов А и В равна 180°» следует «углы А и В смежные». (г) Из «угол В — тупой» следует «АВ> 90°». (д) Из «в A ABC Z.A + Z.B = 90°» следует «в A ABC /_С — 90°». (е) Из «фигура F — равнобедренный треугольник» следует «фигура F — равносторонний треугольник»? 2.66. Верны ли утверждения: (а) Из «у летает» следует «у — птица». (б) Из «х — слон» следует «х — животное». (в) Из «х живет в общежитии» следует «х — студент». (г) Из «у имеет детей» следует «у замужем». 231
(д) Из «х — футбольный болельщик» следует «л: играет в футбол»? 2.67. Установите, верны ли следования, обратные следованиям 2.63—2.66. Из исследованных взаимно обратных следований образовать верные равносильности. 2.68. Ниже помещены пять предложений на русском языке, за которыми следует столько же формул. Для каждого предложения найдите формулу, которая является его переводом на язык алгебры предикатов. (1) Все женщины — учителя (Ж(х), У(лг)). (2) Не все учителя — женщины. (3) Некоторые женщины одновременно являются учителями и членами общества книголюбов (К(*)). (4) Ни одна женщина не является одновременно учителем и домашней хозяйкой (Х(х)). (5) Некоторые женщины-учителя являются домашними хозяйками. (а) 3*(Ж(*)ЛКМЛУМ) (6) Зх(Ж(х)ЛУ(х)Л*(х)) (в) У*(Ж(*)=>У(х)) (г) 1У*(У(*)=эЖМ) (д) Ух(ЖМ=)1(УМДХ(4 2.69. Постройте отрицания следующих высказываний и прочитайте их словами (х, у, z, t ^ R): (1) VxVy(x> у \/х < у У х = у) (2) 3*Vy(“l(*/ = 0):z> х + у = х) (3) ЗхЗуЗг(~](х + У = z)V3/(x + у — t/\гФ t)). 2.70. Используя предикаты «х = у», «х\у», «х + у = = г», «г < 0», «х • у < г», «х\у», «П(х)»— «х — простое число» в области натуральных чисел, запишите следующие предложения в виде формулы алгебры предикатов. (1) Всякое натуральное число, делящееся на 12, делится на 2, 4, 6. (2) Для всякого числа х существует только одно число у, такое, что х у = z. (3) Для всякого числа х можно указать такое у, что для всякого г: х • у < z либо z <С 0. (4) Если произведение двух натуральных чисел делится на простое число, то на него делится, по крайней мере, один из сомножителей. (5) Для всякого числа х существует только одно число у, такое, что х + у = 2. 2.71. Запишите в виде формул алгебры предикатов следующие предложения: 232
(1) Определения параллельности прямых, плоскостей, прямой и плоскости. (2) Признаки параллельности прямых, плоскостей, прямой и плоскости. (3) Определение подобных фигур. (4) Свойства подобия фигур. (5) Аксиомы группы, кольца, поля. 2.72. Пусть А, В, С — переменные для точек; а, Ь, с — переменные для прямых; е —знак принадлежности точки прямой. Используя эти обозначения, запишите в виде формул логики предикатов следующие геометрические предложения и постройте их отрицания. (1) Для любых двух точек существует проходящая через них прямая. (2) Для любых двух различных точек не существует более одной прямой, проходящей через эти точки. (3) Для любой прямой существует, по крайней мере, две точки, принадлежащие ей. (4) Существуют три точки, не принадлежащие одной прямой. (5) Для любых двух различных прямых не существует более одной точки, принадлежащей каждой из этих прямых. 2.73. Запишите на языке логики предикатов определения: (а) линейно упорядоченного множества: Упрядоченное множество называется линейным, если для любых элементов этого множества х и у либо х — у, либо х <. у, либо х> у\ (6) подобия многоугольников: Многоугольники называются подобными, если соответственные углы их равны, а стороны пропорциональны; (в) четной функции: Функция / называется четной, если вместе с каждым значением переменной х из области определения / значение (— х) также входит в область определения этой функции и при этом выполняется равенство /(— x) = f(x); (г) периодической функции: Функция f называется периодической, если существует такое число Т Ф О, что при любом х из области определения f числа (х — Т) и (х + Т) также принадлежат этой области и при этом выполняется равенство f(x) = f(x -f- Г); (д) возрастающей функции на множестве М: Функция f называется возрастающей на множестве М, если для любых чисел х\ и Х2, принадлежащих мно¬ 233
жеству М, из неравенства Х\<Х2 следует неравенство f{Xi)<f(X2)\ (е) биссектрисы угла: Биссектрисой угла называется луч, который исходит из его вершины, проходит между его сторонами и делит угол пополам; (ж) касательной к окружности: Прямая, проходящая через точку окружности перпендикулярно к радиусу, проведенному в эту точку, называется касательной. Пользуясь полученными формулами, ответьте на вопросы: Что значит: (а) упорядоченное множество не является линейным? (б) многоугольники не являются подобными? (в) функция не является четной? (г) функция не является периодической? (д) функция не является возрастающей на множестве М? (е) луч не является биссектрисой угла? (ж) прямая не является касательной к окружности? Пример 2.23. Проанализировать рассуждение: «Ни одно животное не бессмертно. Кошки — животные. Значит, некоторые кошки не бессмертны». Процесс анализа рассуждений в алгебре предикатов такой же, как и в алгебре высказываний. Переведем каждое из высказываний на язык алгебры предикатов. Выберем в качестве области D множество живых существ. Обозначения: Ж(*): х—животное; Ъ(х): х—бессмертно; К(х): х — кошка. Структура рассуждения: Ух(Ж(х) =э ~1Б(дг)), Vx(K(*):=> =эЖ(*))ЬЭ*(КМЛПБМ). Анализ рассуждения сводится к проверке правильности следования: У*(ЖМ=э ПБМ), V*(KW ЖМ)НЭ*(КМЛ 1БМ). Способ 1. Проверяем методом «от противного». Предположим, что следование неверно. Тогда хотя бы в одной интерпретации будет иметь место система: ( Чх(Цх) =э I/,■(*)) = И, ( Цх) => П/Дх) = И, { Vx(lk(x)=> Цх)) = И, (1) { lk(x) =э Цх) = И, (2) I 3x(lk(x)A "ЧМ) = откуда ( lk(x)A ~^h(x) = л при всех х е D. Но на Z) = {1, 2, 3} возможно (/2(2), /з(2), /6(2))= (И, И, И), и при этом система (2) противоречива. Значит, рассуждение правильное. Способ 2. Проверяем методом диаграмм Венна. Структура данного рассуждения такая же, как и следования (а) в примере 2.22 (порядок выписывания посылок не важен). Поскольку следование (а) примера 2.22 верно, то и наше следование верно, а рассуждение правильное. <4 234
Пример 2.24. Проанализировать рассуждение: «Все студенты сдают экзамены. Иванов сдает экзамен. Следовательно, Иванов — студент». ^ Переведем каждое из высказываний на язык алгебры предикатов. Выберем в качестве области D — множество людей. Обозначения: С(х): х — студент; Э(х): х сдает экзамен; и — Иванов. Структура рассуждения: Vx(C(x) id Э(л')), Э(и)|=С(и). Проверяем правильность полученного следования методом диаграмм Венна. Для первой посылки возможны диаграммы, приведенные на рис. 26, а, б. Вторая посылка представляет собой единичное суждение, и изобразить ее можно точкой в области £)э. После изображения двух посылок на объединенной диаграмме получим рис. 27, а—в. На диаграмме рис. 27, б заключение С (и) неверно. Значит, следование тоже неверно, а рассуждение неправильно. <4 2.74. Проанализируйте следующие рассуждения. а) Никто не поймет этого сообщения, если кто-нибудь не разгадает кода. Значит, имеется кто-то, кто может понять это сообщение, только если разгадает код. б) Не существует х, такое, что х> 0 и х<0. Значит, для всякого числа х имеет место х ^ 0 или х^О. (в) Если бы кто-нибудь мог решить эту задачу, то и какой-нибудь математик мог бы. Иванов — математик, а не может ее решить. Значит, задача неразрешима. (г) Всякий математик может решить задачу, если кто-нибудь может ее решить. Иванов — математик, а не может ее решить. Значит, задача неразрешима. (д) Всякий, кто может решить задачу,— математик. Рис. 26 Рис. 27 235
Иванов не может ее решить. Значит, Иванов — не математик. (е) Всякий, кто может решить задачу,— математик. Ни один математик не может решить этой задачи. Значит, она неразрешима. (ж) Всякий обычный ученик должен иметь возможность понять данный школьный учебник. Ни один обычный ученик не может понять данный школьный учебник. Значит, данный школьный учебник недоступен обычному ученику. (з) Некоторые первокурсники любят всех второкурсников. Ни один первокурсник не любит никого из студентов последнего курса. Следовательно, ни один второкурсник не является студентом последнего курса. (и) Перья есть только у птицы. Ни одно млекопитающее не является птицей. Значит, все млекопитающие лишены перьев. (к) Имеются прилежные студенты. Ни один студент не лишен способностей. Значит, некоторые студенты, лишенные способностей, неприлежны. (л) Ни один торговец наркотиками не является наркоманом. Некоторые наркоманы привлекаются к ответственности. Следовательно, некоторые люди, привлекавшиеся к ответственности, не являются торговцами наркотиками. (м) Ничто плодотворное не легко. Некоторые легкие вещи общедоступны. Значит, некоторые общедоступные вещи не плодотворны. (н) Если какое-нибудь из чисел, лежащее (строго) между 1 и 101, делит 101, то простое число, меньшее 11, делит 101. Ни одно простое число, меньшее 11, не делит 101. Значит, ни одно число между 1 и 101 не делит 101. (о) Ни один первокурсник не любит второкурсников. Все живущие в общежитии — второкурсники. Следовательно, ни один первокурсник не любит никого из живущих в общежитии. (п) Всякое рациональное число есть действительное число. Существует рациональное число. Следовательно, существует действительное число. (р) Всякое целое число есть рациональное число. Всякая дробь есть рациональное число. Значит, всякая дробь есть целое число. (с) Все целые положительные числа — натуральные. Значит, все натуральные числа — целые положительные. 236
(т) Все ромбы — параллелограммы. Некоторые параллелограммы — прямоугольники. Значит: (1) Некоторые ромбы — прямоугольники; (2) Все ромбы — прямоугольники; (3) Некоторые прямоугольники — ромбы. (у) Некоторые целые числа — положительные. Некоторые положительные числа — рациональные. Значит: (1) Некоторые целые числа — рациональные; (2) Все целые числа — рациональные; (3) Некоторые рациональные числа — целые; (4) Все рациональные числа — целые. (ф) Для любого множества X существует множество К, такое, что мощность Y больше мощности X. Если X включено в У, то мощность X не больше мощности Y. Всякое множество включено в V. Следовательно, V — не множество. 2.2. ИСЧИСЛЕНИЕ ПРЕДИКАТОВ (ТЕОРИЯ PL) Вопросы для повторения 1. Алфавит, формулы, аксиомные схемы, правила вывода. 2. Доказательство и вывод в теории PL. 3. Правила введения и удаления кванторов. 4. Применение теории PL: анализ рассуждений, формализация доказательств. 2.75. Докажите правила введения и удаления кванторов: (а) Если Г ММ, то Г\-VxA(x) (ВКО) (б) VxA(x)\-A(c) (УКО) (в) А(с)\-ЗхА(х) (ВКС) (г) Если Г, А{х)\-В, то Г, ЗхА{х)[-В (УКС). Здесь Г — любое (возможно пустое) множество формул, в УКО и ВКС с свободна для х в А(х), в ВКО и УКС х не входит свободно в Г, в УКС х не входит свободно в В. Пример 2.25. Построить схему доказательства правила ВКО: Если Г ММ. то Г|-VxA(x) (см. п. 2.23). ^ Решение приведено на схеме (с. 238). <4 2.76. Постройте схему доказательства правила УКС: «Если Г, А(х)\-В, то Г, ЗхА(х) |—В» (см. п. 2.2.3), аналогичную схеме 6. Призер 2.26. Построить вывод: Vy(R id P(y))\-R zd УхР(х). 1. VyP{y)zD P(x) 1. AC 14 2. VyP(y)zDVxP(x) 2. 0(1) 237
| Г\-А(х) 3. V*/(tf ZD P((/)) 3. посылка 4. Vy(/?Z>P(y))3(/?=DP(i/)) 4. AC 14 5. R zd P{y) 5. MP(3, 4) 6. >3 и < 6. 0(5) 7. (VyP{y) ZD VxP(x)) ZD (R ZD (VyP(y) ZD 7. AC 1 ZD VxP(x))) 8. R ZD (VyP(y) ZD VxP(x)) 8. Af/>(2, 7) 9. (R ZD VyP(y)) ZD ((R ZD (VyP(y) ZD 9. AC2 ZD VxP(x))) ZD (R ZD VxP(jc))) 10. (R zd (VyP(y) zd VjcP(jc))) =d (/? Z5 V*P(*)) 10. MP(6, 9) 11. /? ZD VxP(x) 11. MP(8, 10). Так как в Vy(RzDP(y)) нет свободных вхождений переменных, то Vy{R zd P(y))\-R => VxP(x). 4 2.77. Постройте вывод А из VxVf/Л, где А — произвольная формула. 2.78. Являются ли выводами следующие последовательности формул? Если нет, то найдите и объясните ошибку. (а)1. 3zVxPQ/, х, z) 1. посылка 2. VxP(y, х, z) zd 3wVxP(w, x, z) 2. AC5 3. 3zVxP(*/, x, z)zD3wyixP(wy x, z) 3. /f0(2) 4. 3wVxP(w, x, г) 4. MP( 1, 3) 238
(6)1. 3xVyP(x, у, z) 1. посылка 2. VyP(x, у, z) zd 3wWyP(w, y, z) 2. AC15 3. 3xVyP(x, у, z) zd 3wVyP(w, у, z) 3. /С0(2) 4. 3wVyP(w, у, z) 4. MP(\, 3) (b)1. 3yVyP(y, у, x) 1. посылка 2. Vi/P(y, i/, *)=> 3zV///>(z, y, x) 2. AC 15 3. 3yVyP(y, y, x) zd 3zVyP(z, у, x) 3. Ko(2) 4. 3zVyP(z, y, x) 4. MP{ 1, 3). Пример 2.27. Установить, что доказуема формула (3хР(х) =э Р{х))\/(ЗхР(х) => Р(х))ЛР{х) ~ 3хР(х) => Р{х). ^ Изучение структуры формулы показывает, что она содержит повторяющуюся подформулу ЗхР(х) zd Р(х) три раза. Обозначим ее А. Тогда данная формула примет вид А \/АЛР(х)~А. Обозначим Р(х) буквой В, из нее получим схему А\/ А /\В ~ А, которая совпадает с формульной схемой (37) предложения 1.9 Поскольку каждая формула, полученная по формульной схеме (37), общезначима, значит, данная формула общезначима, а поэтому и доказуема (см. п. 2.2.3). 4 2.79. Докажите: (а) \-VxP(x)=> VxP(x) (б) h3^Q(x) ~ 3xQ(x) (в) \-3xP{x) ZD (V*Q(х) ZD ЗхР(х)) (г) \-Р(х)=> P(x)V3xQ(x)A^P(x) (д) K^WA ~\Q(x))AOR(x)zd P(x))zd Р(х)А "1 Q(x) (е) (—(VxR(x) V ЗхР(х) zd Q(x))~ ~\(VxR(x)\/3xP(x))\/ V Q(x). 2.80. Постройте вывод Vx(P(x) id Q(x)\ VxP(x) |— VxQ(x). Пример 2.28. Установить, что существует доказательство формулы VxA ~ А, где А не содержит свободных вхождений х. ^ Решение дается схемой (с. 240). Где в этом доказательстве использовано условие «А не содержит свободного вхождения х»? <4 2.81. Установите существование доказательств: (а) 3хА~А, где А не содержит свободных вхождений х (б) VxVf//l(x, у)~ VyVxA(x, у) (в) ЗхЗуА(х, у) ~ ЗуЗхА(х, у) (г) VxV'уА(х, у) id VхА(х, х) ) (д) ЗхА(х, x)id ЗхЗуА{х, у)), где х свободно для У в А(у) (е) ~\ЗхА(х) ~ VxlA(х). 239
2.82*. Докажите, что: (а) Если Г |—А(х) ~ В(х), то Г |— VxA (х) ~ УхВ(х) (б) Если Г |—А(х) ~ В(х), то Г \-3хА(х) ~ 3хВ(х). 2.83*. Докажите, что: (а) Если Г \—А (х) zd В(х)у то Г |— VxА (х) zd VxB(x) (б) Если Г I—А(х) zd В(х), то Г \-3xA(x) zd 3хВ(х). Постройте схему доказательств. Пример 2.29. Проанализировать рассуждение, построив вывод: «Всякий отличник есть член математического кружка. Иванов — не член математического кружка. Значит, он не отличник». ► Обозначения: О(х): х — отличник; Ч(лг): х — член математического кружка; и — Иванов. Структура рассуждения: Vx(0(x)d Ч (jc)), "14 (и) f-ПО (и). Строим вывод: 1. Vx(0(x) zd Ч(лг)) 1. посылка 2. О (и) zd4(h) 2. УКО(1) 3. "14 (и) 3. посылка 4. (О (и) zd 4 (и)) zd ((О (и) =>14 (и)) zd 4. АС9 Z) Ю (и)) 5. (О (и) zd 14 (и)) zd 10 (и) 5. МР(2, 4) 6. 14 (и) zd (О (и) zd14(h)) 6. АС1 g(,,) 7. О (и) zd 14 (и) 7. МР(3, 6) 8. 10 (и) 8. МР(5, 7) 9. VxO(x) zd 4(л*)), 14 (и) |—10 (и) 9. 0ФВ(1— 8). 4 2.84. Докажите правильность рассуждений, построив вывод: (а) Ни один человек не является четвероногим. Все 240
студенты — люди. Следовательно, ни один студент не является четвероногим. (б) Каждый член комитета комсомола — студент и комсомолец. Некоторые члены комитета комсомола — женщины. Следовательно, существуют женщины-комсомолки. (в) Все первокурсники встречаются со всеми второкурсниками. Ни один первокурсник не встречается ни с одним студентом предпоследнего курса. Существуют второкурсники. Следовательно, ни один второкурсник не является студентом предпоследнего курса. (г) Все рациональные числа являются действительными числами. Некоторые рациональные числа — целые числа. Следовательно, некоторые действительные числа — целые числа. (д) Все целые числа — рациональные, у — целое число. Следовательно, у — рациональное число. (е) Глупец был бы способен на это. Я на это не способен. Значит, я не глупец. Пример 2.30. Формализовать доказательство теоремы «Если а с b и 6 < с, то о < с»1. Содержательное доказательство, СД: «Докажем, что разность а — с — отрицательное число. Прибавив к этой разности b и —Ь, получим: а — с = а — с+ b — b = (а — b) + (b — с). По условию а<.Ь и b < с. Поэтому слагаемые а — Ь и Ь — с — отрицательные числа. Значит, и их сумма является отрицательным числом. Следовательно, а <С с»2. ► Запишем доказываемую теорему в виде формулы: \fxVyVz(x <iy/\y<C.zzDx<iz). В СД применяется тождество а — с — а — с b — Ь, в котором использованы свойства сложения: * = х -j- О3, (а) причем 0 представлен разностью b — b, т. е. использовано свойство вычитания х — х = 0\ (в) Равенства (а) и (в) верны при любом выражении (терме) х, . 1 Алгебра: Учебник для 7 класса средней школы/Под ред. С. А. Теляковского.— М.: Просвещение, 1985.— С. 130. 2 Там же, 3 См. Виленкин Н. Я., Чесноков А. С., Шварц- бурд С. И. Математика: Учебник для 4 класса средней школы.— М.: Просвещение, 1984.— С. 44. 4 См. там же, с. 52. 9 Зак. 2997 241
т. е. фактически использованы следующие арифметические теоремы Vx(x = * + 0), (1) Vjc(jc — jc = 0). (2) Далее в СД дважды используется определение отношения а < Ь: «Число а меньше числа Ь, если разность а — b — отрицательное число»1. Это определение записывается такой формулой опр VxVy(x<y £= х — у<0). (3) Затем в СД используется правило сложения отрицательных чисел: «Чтобы сложить два отрицательных числа, нужно сложить их модули и поставить перед полученным числом знак «минус»2. Это правило можно записать формулой VxVy{x<0Ay <0^> х + у <0А\х + у\ = \х\ + \у\). (4) Кроме этого, в СД неявно используются предложения: «Если выражения равны и одно из них отрицательно, то и другое отрицательно», «Если в истинном равенстве выражений какую-то переменную заменить равным ей выражением, то равенство останется истинным». Они записываются формулами соответственно: VxVy(x = yAx<0iDy<0\ (5) VjcV^/V2V/(jh: = у -j- zAt = 2 zd х — у + /). (6) Формализация доказательства: 1. а < b 1. посылка 2. b < с 2. посылка 3. VxVy(x < у ~ х — у < 0) 3. (3) 4. а < b ~ а — b СО 4. УКО (3), два раза 5. а < b id а — b <0 5. УЭ1 (4) 6. а — b < 0 6. МР( 1, 5) 7. b < с ~ b — с <0 7. УКО(З), два раза 8. b < с id b — с <0 8. УЭ1 (7) 9. b — с < 0 9. МР(2, 8) 10. VxVy(x < 0 Д у < 0 zd х + у < 0 Д 10. (4) А\х + у 1 = \х\ + \у\) 11. а — b <0АЬ — с с 0^> (а — Ь) + 11. УКО (10), два раза + (Ь - с) < ОД |(а -b) + (b- с)| = = \a — b\ + \b — c\ 12. а — &<0Д6 — с<0 12. ВК (6, 9) 13. (а — Ь) + (Ь — с) < 0 Д\(а — Ь) + 13. МР{ 11, 12) + (Ь-с) | = \ а — Ь \ + \Ь-с\ 14. (a-b) + (b-c)< 0 14. УК (13) 15. \/х(х — х -f- 0) 15. (1) 16. а — с — а — с 0 16. УКО (15) 17. Vx(x -х = 0) 17. (2) 18. Ь — Ь = 0 18. УКО (17) 19. VxV//V2:V/(x = у + z A t — z zd x = 19. (6) = у + 0 1 Алгебра: Учебник для 7 класса средней школы/Под ред. С. А. Теляковского.— М.: Просвещение, 1985.— С. 127—128. 2 Виленкин Н. Я., Чесноков А. С., Шварцбурд С. И. Математика: Учебник для 5 класса средней школы.— М.: Просвещение, 1984.— С. '6. 242
20. а — с = а — с-\-0/\Ь — b = 0u 20. УКО (19), четыре id а — с = а — с-\-b — b раза 21. а-с = а-с + 0ЛЬ-Ь = 0 21. ВК(16, 18) 22. а - с = а - с + Ь - Ь 22. МР(20, 21) 23. а — с + b — b = (а — Ь) + (Ь — с) 23. См. ниже 24. (а — Ь) + (Ь — с) = а — с 24. См. ниже 25. VxVy{x = yAx<0=>y<0) 25. <5) 26. (а — Ь) + (Ь — с) = а — с/\(а — Ь) + 26. УКО (25), два раза + (6 — с)<0=эа — с<0 27. (а — Ь) + (Ь — с) = а — с Д(а — Ь) + 27. ВК (24, 14) + (Ь - с) < 0 28. а - с < 0 28. МР(26, 27) 29. а < с ^ а — с < 0 29. УКО(З), два раза 30. а — с < 0 =э а С с 30. УЭ2 (29) 31. асе 31. МР{28, 30) 32. а <Ь, Ь<с\-а<с 32. ОФВ (1—31) 33. \-а < b/\Ь < с zd а < с 33. Следствие б) МТЗ 34. |-УхУг/У2:(л: < у/\у < 2 з х < z). 34. ВКО (33), три раза. Обоснование строки 23: получена в результате многократного применения свойств ассоциативности и коммутативности операции сложения. При необходимости это может быть формализовано. Обоснование строки 24: получена из строк 23 и 22 применением свойств симметричности и транзитивности отношения равенства, что тоже можно формализовать. 4 2.85. Даны некоторые утверждения школьной математики и их содержательные доказательства. Формализуйте их. (а) Если а < b и с — любое число, то а + с < b + с. СД. «Рассмотрим разность (а + с) — (Ь + с). Имеем: (а + с) — (Ь + с) = а — Ь. По условию а — Ь, поэтому а — b — отрицательное число. Значит, и разность (а-\- с)— — (Ь-\-с) отрицательна. Следовательно, а + с < b + с»х. (б) Если функция / непрерывна в точке хо, a f'(x)> 0 на интервале (а; хо) и f'(x)<Z 0 на интервале (jco; b), то точка хо является точкой максимума функции f. СД. «Производная /'> 0 на интервале (а; хо), а функция / непрерывна в точке хо, следовательно, функция f возрастает на промежутке (а; хо] и поэтому f(x) < f(xо) для всех х из интервала (а; хо). На промежутке [хо; Ь) функция f убывает (доказательство аналогично) и потому /(х)</(хо) для всех х из интервала (хо; Ь). 1 Алгебра: Учебник для 7 класса средней школы/Под ред. С. А. Теляковского.— М.: Просвещение, 1985.— С. 131. 9* 243
Итак, f(x)Cf(xо) для всех хфх§ из интервала (а; 6), т. е. хо есть точка максимума функции (в) Внешний угол треугольника равен сумме двух внутренних углов, не смежных с ним. СД. «Пусть ABC — данный треугольник. По теореме 4.4. Z-A + Z.B-\-Z.C = 180°. Отсюда следует, что /LA + + Z.B— 180° — Z.C. В правой части этого равенства стоит градусная мера внешнего угла треугольника при вершине С»2. (г) Диагонали прямоугольника равны. СД. «Пусть ABCD — данный прямоугольник. Утверждение теоремы следует из равенства прямоугольных треугольников BAD и CDA. У них углы BAD и CDA прямые, катет AD общий, а катеты АВ и CD равны как противолежащие стороны параллелограмма. Из равенства треугольников следует, что их гипотенузы равны. А гипотенузы есть диагонали прямоугольника»3. (д) В прямоугольном треугольнике квадрат гипотенузы равен сумме квадратов катетов. СД. «Пусть ABC — данный прямоугольный треугольник с прямым углом С. Проведем высоту CD из вершины прямого угла С. По определению косинуса угла cos А = = = Отсюда AB-AD=AC2. R Г) RC Аналогично cos В = —= тб-. Отсюда BD X D С Ап X АВ = ВС2. Складывая равенства почленно и замечая, что AD + + DB = АВ, получаем, А С2 + ВС2 = AB(AD + DB) = АВ2»4. 1 Алгебра и начала анализа: Учеб. пособие для 9—10 классов средней школы /Под ред. А. Н. Колмогорова.— М.: Просвещение, 1986.—С. 116. 2 Погорел ов А. В. Геометрия. Учеб. пособие для 6—10 классов средней школы.— М.: Просвещение, 1986.— С. 43. 3 Там же, с. 70. 4 Там же. с. 82—83. 244
3. АЛГОРИТМЫ 3.1. КЛАССЫ РАЗРЕШИМЫХ ВОПРОСОВ И ВЫЧИСЛИМЫХ ФУНКЦИЙ Вопросы для повторения 1. Разрешающие и вычислительные алгоритмы. Общая схема уточнения класса вычислимых функций. 2. Рекурсивные функции. 3. Нормальные алгоритмы Маркова. Пример 3.1. Разрешим ли класс вопросов: «Является ли данная конечная последовательность формул В\, ..., Bk доказательством в некоторой формальной системе?». ^ Разрешим. Разрешающая процедура состоит в последовательном рассмотрении формул Вi, ..., Bk и проверке того, является ли данная формула аксиомой или следует из встречавшихся ранее формул по одному из правил вывода. Если каждая из формул Вi, ..., Bk удовлетворяет указанному условию, то последовательность В\у ..., Bk есть доказательство; если хотя бы одна из формул В\у ..., Bk не удовлетворяет указанному условию, то последовательность Вi, ..., Bk не является доказательством. <4 Пример 3.2. Разрешим ли предикат: «Натуральное число х делится на натуральное число у»? ► Разрешим. Разрешающая процедура состоит в выполнении обычного деления «углом» числа х на число у и проверке того, равен ли нулю остаток. 4 Пример 3.3. Разрешим ли предикат: «Данная формула Е исчисления предикатов доказуема»? ^ Не разрешим. В 1936 г. Чёрч, а вслед за ним и Тьюринг установили, что для этого класса вопросов не существует разрешающей процедуры. 4 Пример 3.4. Разрешим ли класс вопросов: «Для данных натуральных чисел а и b чему равны натуральные числа q (частное) и г (остаток), такие, что а = bq + г и 0 ^ г < Ь?» ^ Разрешим. Разрешающий алгоритм состоит в делении «углом» а на Ь. 4 Пример 3.5. Вычислима ли функция п-^Пр(п), где Пр(я) означает п-е простое число. ^ Вычислима. Вычислительный алгоритм можно сформулировать так: выбираем произвольно п. По теореме Евклида п-е простое число существует. Начинаем перебирать по порядку натуральные числа, начиная с числа 1, испытывая их на то, являются ли они простыми. Перебор проводим до тех пор, пока не найдем п-е простое число. Так как оно существует, то этот процесс перебора за конечное число шагов закончится. 4 Пример 3.6. Вычислима ли функция: ^наименьшее х, при котором Р(а, х), если такое f(a) =% значение х существует; V0 в противном случае. Считать, что предикат Р(а, х) разрешим. ^ Выберем произвольно некоторое значение а, обозначим его ао. 245
Требуется найти /(ао). Для этого, если мы не располагаем относительно предиката Р(а, х) никакой информацией, кроме той, что он разрешим, начнем последовательно вычислять значения Р(ао, 1), Я(ао, 2), Р(ао, х), ... до тех пор, пока не найдем такое значение х, при котором Р(ао, х) обращается в истинное высказывание. На любом конкретном шаге вычисления, если мы еще не нашли интересующее нас значение •х (такое, при котором Я(ао, х) принимает в качестве значения истинное высказывание), мы не можем сказать, отчего мы не располагаем таким значением х: или от того, что мы не зашли достаточно далеко в нашей процедуре поиска, или оттого, что такого значения не существует. Поэтому, вообще говоря, мы не можем сказать, можно ли найти такое значение х, что Р(ао, х) обратится в истинное высказывание, а значит, мы не можем найти и /(ао). Таким образом, функция [(ао) невычислима. 4 3.1. Определите, разрешимы ли следующие классы вопросов и предикаты, вычислимы ли следующие функции. (а) Имеет ли рациональные корни данное алгебраическое уравнение .аохп + a\xtl~1 + ... + ап-\х + ап = О, ао Ф 0, п> Ос целыми коэффициентами ао, ai, ..., ап-1, а„? (б) Является ли данное слово в данном алфавите (в некоторой формальной системе) термом? формулой? (в) Доказуема ли в теории L данная формула Е? (г) Чему равна сумма двух натуральных чисел? (д) Чему равны НОД и НОК двух натуральных чисел а и Ь? (е) Для данной допустимой шахматной позиции белые могут выиграть независимо от игры черных. (ж) f наименьшее х^Ь, такое, что Р(а, х), /(a, Ь) =< если такое значение х существует; Kb1 в противном случае. (з) Число а — простое число. (и) ла+1, если «великая теорема» Ферма f(a)=l истинна; (а, если «великая теорема» Ферма ложна. (к) Для данных формул A i, ..., Л*, В теории L имеет место А\, ..., Ak ЬВ. (л) Какова истинностная таблица данной формулы Е алгебры высказываний? (м) Для данной конечной области D и данной формулы Е алгебры предикатов выполняется ли |=0Е? (н) Для данной формулы Е алгебры предикатов выполняется ли \=Е? (о) Имеет ли решения данная система т линейных уравнений с п переменными, коэффициенты которой целые числа? 246
(п) [-^4 (Р) [е 3.2. Докажите, что если функция f(xi, ..., хп) примитивно-рекурсивна, то и следующие функции примитив- но-рекурсивны: (а) g(x\, Х2, хз, ..., xn) = f(x2, х\, хз, хп) (перестановка аргументов) (б) \|)(a;i, X2, xn) — f(x2, Хп, х\) (циклическая перестановка аргументов) (в) h(x 1, ..., хп, хп+1) = f(x\, •••> хп) (введение фиктивного аргумента) (г) ф(*1, ..., xn-i) = f(xi, х\, х2, xn-i) (отождествление аргументов). 3.3. Докажите следующие равенства: (а) x^y = N(x)^N(y) (б) х + (у — х) = у + (х — у) (в) х — (у + z) = (x —у)—Z (г) {х — у) — Z = (х — z) — у. 3.4. Пусть g"+1 — примитивно-рекурсивные функции (от я+ 1-го аргумента). Докажите, что следующие функции примитивно-рекурсивны: Хп+\ (а) fn + l(x 1, ..., хп, Хп+\)= 2 g(x 1, ..., Хп, i); /=о хп+ 1 (б) fn + '(x Хп, Хп+1)= П g{xI, Хп, г). 1 = 0 3.5. Докажите, что следующие функции примитивнорекурсивные: (а) — частное от деления х на у (здесь (б) rest(x, у) — остаток от деления х на у rest (х, 0) = х) (в) т(х) — число делителей числа ху где т(0) = 0 (г) а(х) — сумма делителей числа х, где а(0) = 0 (д) lh(x)—число простых делителей числа х, где lh (0) = 0 (е) п(х) — число простых чисел, не превосходящих х. 3.6. Докажите, что следующие функции частично рекурсивные: (а) нигде не определенная функция со, т. е. функция со с пустой областью определения = х) здесь (б) f(x, у)=[х~у' если Х>У v ; v ; I не определена в о определена в остальных случаях 247
( х / \ £/ \ I —, если и делит х (в) f(x, у)=\ у' у ^ не определена в остальных случаях ( \ f( \ _/ если гУ — х \ ) 1\ > У) | не определена в остальных случаях. 3.7 Постройте нормальный алгоритм, перерабатывающий любое слово в алфавите {а, Ьу с} в слово, в котором все буквы а (если они имеются) стоят левее всех остальных, а все буквы Ь — левее всех букв с. 3.8. Постройте нормальный алгоритм: (а) преобразующий каждое слово в алфавите {а, Ь, с) в пустое слово (б) преобразующий каждое слово Р в алфавите {а, 6, с) в слово abcP (в) используя алгоритмы из (а) и (б), построить алгоритм, преобразующий каждое слово в алфавите {а, 6, с), в слово abc. Множество слов в некотором алфавите вместе с конечной системой подстановок называется ассоциативным исчислением. Слова Р и Q называются смежными в ассоциативном исчислении, если одно может быть преобразовано в другое однократным применением подстановки. Слова Р и Q называются эквивалентными в ассоциативном исчислении, если существует последовательность слов Р, Pi, Рг,Рп, Q, в которой каждые два соседних слова — смежные. 3.9. Рассмотрите ассоциативное исчисление с алфавитом {а, 6, с, d} и системой подстановок: {ас++са ad++da bc++cb. (а) Сколько смежных слов имеют слова abed, aaabb? Укажите их. (б) Эквивалентны ли слова abed и cabd? 3.10. Рассмотрите ассоциативное исчисление с алфавитом {а, b, с] и системой подстановок {ab++ba ас^са bc++cb. Эквивалентны ли в этом исчислении пары слов: abca и cbaa\ ccbaab и bbacac; abcaa и acba\ аса и Ьса? 3.11. Даны два алгоритма: А\ —перерабатывающий каждое слово в алфавите {а, b} в пустое слово и Ач — 248
преобразующий каждое слово Q этого же алфавита в слово abQ. Какое слово является результатом преобразования слова Р в алфавите {а, Ь}\ (а) алгоритмом Л1ОЛ2, (б) алгоритмом А'2 CMi? Является ли операция композиции алгоритмов коммутативной? 3.12. Постройте алгоритм, позволяющий по любой паре слов ассоциативного исчисления с алфавитом [а] и подстановкой аа++А определять, эквиваленты они или нет. 3.13. В языке некоторого племени всего два звука: «а» и «b». Два слова означают одно и то же, если одно получается из другого с помощью следующих операций: пропуска идущих подряд звуков аааау ЬЬ или abab и добавления в любое место сочетаний этих звуков. Укажите алгоритм, дающий возможность по любым двум словам определять, означают ли они одно и то же. 3.14. Постройте алгоритм, позволяющий по любой паре слов ассоциативного исчисления с алфавитом {а, 6, с} и системой подстановок ’ аа++А ьь<-+л сс++А ab++c Ьа++с ас++Ь са+->Ь определять, эквивалентны они или нет. 3.15. Постройте алгоритм, позволяющий по любой паре слов ассоциативного исчисления с алфавитом {а, b} и системой подстановок !аааа++ Л ЬЬ+-+А abababab++A определять, эквивалентны они или нет. 3.16. Нормальный алгоритм задан алфавитом А = = {а, Ь} и нормальной схемой Какое свойство слов в алфавите {а, Ь} распознается с помощью этого алгоритма? Укажите все возможные результаты преобразования слов в алфавите А = {а, Ь} с помощью этого алгоритма. 249
3.17. Нормальный алгоритм задан алфавитом А = = {а, Ь, 1} и нормальной схемой Что определяется для каждого исходного слова с помощью этого алгоритма? 3.18. Нормальный алгоритм задан алфавитом А = = {а, Ьу |} и нормальной схемой ( а-Ч Ь-1 Ill+Л. Как его представить в виде композиции двух алгоритмов? Какое свойство слов распознается с помощью этого алгоритма? Примените этот алгоритм к словам: 1) bababbaa; 2) ааа\ 3) bbbb\ 4) aabbb\\. 3.2. МАШИНА ТЬЮРИНГА Вопросы для повторения 1. Понятие машины Тьюринга. 2. Вычислимость по Тьюрингу. Пример 3.7. Составить программу МТ, вычисляющей значения функции „ , Г 1, если 2\а, f{a)=\o, если 121а. (машина Т) ^ Будем считать, что алфавит машины Т есть множество Лт- = {0, |), где 0 обозначает пустую букву, а 1 — знак |. Натуральные числа будем изображать последовательностями знаков |: 0— I, 1 — II, 2- III, 3- INI а- Я...1, ... a -f-1 Чтобы подготовить машину Т к вычислениям для данного аргумента а, в момент 0 установим машину Т в начальное положение, в котором самая левая клетка на ленте — пустая, аргумент представлен знаками | в следующих a -f* 1 клетках, все клетки справа от них — пустые, машина обозревает самую правую из заполненных клеток и находится в начальном состоянии q\. В таком случае говорят, что машина применяется к числу а как к аргументу. Машина вычисляет значение с для а в качестве аргумента, если, исходя из начального положения в момент 0, машина в некоторый последующий момент приходит в пассивное состояние qo (останавливается), причем на ленте после a-f-1 знаков |, представляющих аргумент, и одного пробела напечатано 1 знаков |, на остальной части ленты ничего не напечатано и машина опять обозревает самую правую из заполненных клеток. Если машина для каждого а вычисляет значение с, где с = f(a), то говорят, что машина вычисляет функцию [(а). Функция 1(a) называется вычислимой по Тьюрингу, если существует МТ, вычисляющая f(a) для любого а. Условимся не рисовать ленту и изображать ситуацию последовательностью нулей и единиц, указывая состояние машины над той буквой, которую машина обозревает, например, 011011°00.... Условимся нули, обозначающие все пустые клетки после последней заполненной, не писать и опускать также знак многоточия. 250
В нашей машине всякое четное число изображается нечетным числом знаков |, всякое нечетное число — четным числом. Работа машины Т может быть описана следующей блок-схемой: 251
Переведем эту блок-схему в таблицу-программу машины Т (табл. 12) и приведем имитацию работы машины для а — 2 и а = 3. Имитация работы машины Т для а = 2 дана в табл. 13. Имитация работы машины Т для а = 3 приведена в табл. 14. Таблица'12 Состояние 2 3 4 5 6 7 8 9 10 11 12 Содержание обозреваемой клетки 1Н0 опз 1Л4 0Л4 0П2 ото 0Л4 1П8 1П11 1П11 1П2 1П8 0П9 1Л5 1Л6 1П7 0П7 1ЛЗ 1П1 1П10 1Л12 опо Таблица 14 Момент Ситуация 0 01111'ООО 12 011400010 13 015100010 14 061100010 15 01'01000Ю 16 011|0000Ю 17 0110,о0010 18 01110“010 19 011110" 10 20 0111111"0 21 011111|210 22 0111101°0 Таблица 13 Момент Ситуация 0 0111'000 1 01110200 2 01110030 3 01110410 4 01114010 5 01151010 6 01611010 7 01171010 8 оюГою 9 01000710 10 01004010 11 01040010 12 01400010 13 О5100010 14 01200010 15 01080010 16 01108010 17 01110®10 18 01111180 19 01111310 20 01110190 21 0111010' 22 0111011° 3.19. Проимитируйте работу машины Т для (а) а = 0; (б) а— 1; (в) а — 4; (г) а = 5. 3.20. Составьте программу машины С, вычисляющей функцию f(a) = а + 1. 3.21. Составьте программу машины, вычисляющей следующие функции: 252
<*> «»)={?: Z21°i. 0, если a = 11 1, если la =1 (mod 2) (6) /(o)={0, если a=1(mod2) (B) /(«) = />?’ если 3'« w 11, если 131 a ir\ f(n\ — i°- если a=l(mod3) 11, если ~la=l(mod3) (л) f(a) —I0, если a = 2(mod 3) W na)—\it если Ha = 2(mod 3) f(n\—f0' если a = 0(mod 4) ^ 11, если “!a = 0(mod4) (ж) /(a)=f?’ если ansl(rdi^ ’ /w 11, если la = l(mod4) Hn\— J°> если a = 2(mod 4) ' ' 11, если ~la = 2(mod4) (и) KaW0’ если _la = 2(mod 4) ' ' ' 11, если a = 2(mod 4) /.K\ r(n)=f0’ если a==3(mod4) ' ' ^ ' 11, если la = 3(mod4) (л) j(a) =| °’ если a “ 0(m°d 5) 1, если "la s= 0(mod 5) (M) /(a)=f°* если “sl(.n?od5)c4 ' w I 1, если Па =1 (mod 5) t„\ a„\ (0, если a s= 2(mod 5) («) /(«)=( j, если ~la = 2(mod 5) (n\ f/Vi—J°> если a = 3(mod 5) ' ' ' 11, если la = 3(mod5) /„\ если a = 4(mod5) 1, если 1a = 4(mod5) (p) /(a)={*. если a*l(mod3)_ , 0, если “la = 1 (mod 3). 3.22. Составьте программы машин, вычисляющих функции: (а) /(а) = а (б) f(a) = a + 2 (в) /(а) = а + 3 (г) /(а) = а + 4 (д) /(а) = а + 5 (е) /(а) = а + 6 (ж) f(a) — 2a (з) /(а) = 2а+1 (и) /(а) = 2а + 2 (к) /(а) = 2а3 (л) /(а) = 2а-|-4 (м) Да) = 2а-+-5 (и) /(а) = 3а (о) /(а) = За+1 (п) Да) = За+ 2 (р) Да) = За + 3 (с) Да) = За + 4 (т) /(а) = За + 5. 253
3.23. Составьте программы машин, вычисляющих следующие функции: (a) f(a) = ■ (б) f(a) = (в) f(a) = (г) /(а) =■ (Д) f(a) = (е) /(а) = (ж) f(a) = (з) f(a) = 3.24. Докажите, что ни одна функция не была бы вычислима по Тьюрингу, если бы в определении машины Тьюринга допускалась только конечная лента. 3.25. Постройте неразрешимый предикат вида «для любого х Р(а, *)», где Р(а, х) разрешим. 3.26. Составьте программу машины, вычисляющей функции: (а) [!]; (б) [4]; (в) [4]; 3.27. Докажите, что множество машин Тьюринга счетно. 3.28. Докажите существование арифметических функций, не вычислимых по Тьюрингу. 3.29. Составьте программу МТ, вычисляющей функции: / ч г/ ч Г 2а — 1, если а ^ 1 (а) №={0t если а = 0 ^ (б) /(а)=/2(а-1), если а>1 v ; 1 v ' I 0, если а = О , v с/ ч Г 2а — 3, если а ^ 2 (в) /(а) ={ о, если а<1 frl K/rt =/ 2^а “ 2)’ еСЛИ а^2 ‘ ^ ' w \ 0, если а ^ 1 , v г/ \ f 2а — 5, если а ^ 3 (д) /И=(о, если а<2 Г а — 1, если а> 1 1 0, если а ^ 1 Г а — 2, если а> 2 1 0, если а ^ 2 Г а — 3, если а> 3 1 0, если а ^ 3 Г а — 4, если а> 4 I 0, если а ^ 4 а:2, если 21а О, если "121 а а:3, если 31 а О, если 131 а а:4, если 41а О, если "141 а а:5, если 51а О, если "151 а. 254
Ы f(a) — /2(а — 3)> если а> 3 (е; Г(а)~\0, если а <2 (ж) /(а)={ 2а;3, если 3|2а w 11, если 13|2а f/n\ / 2а:5, если 5|2а (з) па)-\ 2_ если п5|2а /и\ f(n\—f3a:2, если 21За ^ 10, если П2|3а /к^ ?Ы=/За:4’ если 4^3а ^ 11, если 141 За (л) Па)=Ца:2' есл” 2|5а ; 1 w 12, если П2| 5а , v г/ ч Г 5а: 3, если 3| 5а <м> ^aHl, если 13|5а , ч г/ ч Г 5а:4, если 415а КаНз, если -1415а / \ и \ f5a:6, если 615а <°> ^=12, если Пб|5а / \ и \ ( 5а: 7, если 715а (") /(а) ={ 4) если -,7|5а / \ и \ (4а :3, если 3|4а (Р) /(«)={ о, если 13|4а / v г/ ч Г 4а: 5, если 514а ^ ^а>={ 6, если П5|4а / \ и \ f 4а:7, если 714а ^а>={ 2, если ~17|4а. 3.30. Постройте программу МТ с алфавитом {So, I}, выполняющей следующую работу: воспринимает последнее число набора чисел (в^стандартном положении, т. е. обозревает последнюю заполненную ячейку в состоянии <71), увеличивает его на единицу и останавливается, воспринимая полученное число. Имитируйте работу машины для набора чисел 3, 0, 2. 3.31. Постройте программу МТ с алфавитом {So, I}, выполняющей следующую работу: воспринимает любое число из набора х\, *2, хп, уменьшает число знаков | в его записи на одну и останавливается, воспринимая уменьшенное число. Изобразите на ленте набор чисел 2, 3, 4, и пусть машина воспринимает второе число в стандартном положении. Что получится в результате работы машины? 3.32. Постройте МТ с алфавитом {So I}, выполняющую следующую работу: воспринимает набор чисел х\, *2, ..., 255
хп в стандартном положении и через одну пустую ячейку справа от этого набора записывает число 0, после чего останавливается, воспринимая 0. Примените машину к набору чисел 1, 2, 3. 3.33. Постройте МТ с алфавитом {So, I}, которая, отправляясь от воспринятого в стандартном положении числа, не самого правого на ленте, заполняет промежуток из пустых клеток (если имеется такой) между этим числом и ближайшим справа, оставляя между ними одну пустую клетку, и останавливается, воспринимая в стандартном положении получающееся число. Примените эту МТ к записи на ленте: 0110111 ‘0001100... 3.34. Постройте МТ с алфавитом {So, I}, которая, примененная к произвольной записи на ленте, сдвигает воспринимаемую ячейку на одну ячейку (а) вправо, (б) влево и затем останавливается, не изменяя записи на ленте.
ОТВЕТЫ. УКАЗАНИЯ. РЕШЕНИЯ 1.1 1.1. (а), (з). 1.2. (a) OPAQ~ R)V(S=>P)AQ (б) R ~ (1PV VQA«~5=>(5=>/>)) (в) ~P)VPAQ (г) ((Я~ Q) ~ ~ РARЛPV ~IP Q)\/ Q-1.3. (а) (((■IP) =>(Q => P))~(p(-|(PV<?)))=> =>S)) (б) (R=>(((i(PVR))AOP))VQ)) (в) (((/? = />)=>P)~(nP)VQ)) (г) ((S~*)~((((PAS)AQ)VnS))=>*)). »-4- (а) Л- И- (б) И- Л- 1.6. (а), (б), (г), (ж), (з) — И; (е) — Л; (в), (д) — нет. 1.7. В п. 1.1.8 указаны все 16 двухместных истинностных функций. 1.8. Сначала задать каждую функцию таблицей, а затем составить СДНФ и СКНФ, как в задании 1.7. p Q R (а) (б) и И и и и и и л л л и л и л л и л л л и л и и л л л и л и и л л и и и л л л и л 1.10. (а) (Я, Q, Р) = (И, J1, Л); (б) 0; (в) (Р, <3)<={(И, Л), (Л, Л)); (г) (Р, Q) е ((И, И), (И, Л), (Л, Л)}; (д) (Р, Q, R)= (Л, Л, И); (е) (Р, Q, R, S) = (И, Л, И, И);, (ж) (Р, Q, R, 5)е{(Л, Л, Л, И), (Л, Л, И, И)); (з) (Р, Q, R)— (Л, И, И). 1.11. Воспользуйтесь определениями логических операторов, стоящих слева и справа в уравнениях 1.12. (а) (Р, Q)e{(H, Л), (И, И), (Л, Л)); (б) (Р, Q) е €={(И, И), (Л, И)); (в) (Р, Q) = (Л, Л); (г) (Р, <?)е((И, И), (Л, Л)); (д) (Р, Q) е {(И, Л), (Л, И)}; (е) (Р, Q, Р)е((И, Л, И), (И, Л, Л), (Л, И, И), (Л, Л, И), (Л, Л, Л), (Л, И, Л)); (ж) (Р, Q, R) е ((И, Л, И), (Л, И, И), (Л, И, Л)); (з) (Р, Q, Я)е={(Л, И, Л), (Л, Л, Л), (И, Л, И)„ (Л, И, И), (Л, Л, И), (И, И, Л)). 1.13. P|Q = 1(PAQ); Р\ Q = П(РV<?)• 1.15. Построить таблицу истинности для левой и правой частей равносильности. 1.21. (а), (в), (г), (к), (л), (м) —нейтральные, выполнимые и необщезначимые; (б), (д), (ж) — противоречия и необщезначимые, (е), (з), (и)—общезначимые и выполнимые. 1.22. (г) (Р=> QVR)A(S=> PVQ)A(tf=> IQ) A(5 ~ 1R)A(Q=>~ R): A = А В С = (-|PVQV/?)A(iSVPVQ)A(i/?ViQ), Bs(Sd^)A(i/?dS) = = (-|SV"I^)A(_i^V5) = (PA1S)V(5A"1^), C=1Q\/R, bac = = ((/?AiS)V(SA1«))A("iQV/?) = V?A15A"IQVSA1«A"1QV V PA 15, AABAC = (-\PVQ\/R)AnsvP\/Q)AnRV~\Q)A A(PA"iSA4QVSA"i/?A iQVKA 'IS), DAE = RA~\SA ~\QVS/\ E A~\RA~\Q, AABAC = OPVQVR)AnsVPVQ)A
A(/?AH5A-iQVSAn^A-|Q), FA О = RA 1QA IS VRA 1QA О A iSAPVSA~^RA~^QAPt A ABAC = (1P VQ VR)A(RA 1QA Л iSVtfл 1QA"15APV5A"1/?A"IQAP)*/?A“IQA15. 1.23. Различные значения истинности при: (а) (Р, Q, /?)е{(Л, И, И), (Л, Л, И), (J1, И, Л), (Л, Л, Л)); (б) (Р, Q, /?)€={(И, И, Л), (И, Л, Л)); (в) (Р, Q, /?)<={(И, И, Л), (И, Л, И)); (г) (Я, Q, /?)е{(Л, Л, И), (Л, Л, Л)}; (д) 0; (е) (Р, Q, /?)е={(Л, И, Л), (Л, Л, Л)). 1.24. (а) PVQVR; (б) Р; (в) Р; (г) ПРV 1Q; (д) РVQ- 1.25. (а) -.(е), (к), (м) — (ш). 1.27. (а), (и), (к), (л), (м) — верны 1.29. (a) PVQ; (б) РVQ =э /?; (в) P-QAR; (г) PAQV1/?; (д) PAQ^RVS; (е) PAQ; (ж) (PVQ)A(tfVS); (з) ПР; (И) РА<?=>/?; (к) P-Q; (л) P~QVRVS; (м) Р\/ Q id R. 1.30. (a) PidQ; (б) HPzdQVP; (В) hPzdIQ; (Г) PAQ; (д) р => QVЯ; (е) PAQ; (ж) PAQ; (з) Р ~ (Q ~ /?), учитывая ассоциативность эквиваленции, скобки вообще можно опустить; (и) при оформлении мысли в русском языке не все высказывается в явном виде. Это делается для краткости речи и тогда, когда недостающие высказывания без труда однозначно восстанавливаются. В анализируемом предложении мы встречаемся с таким явлением. Полная формулировка предложения такова: Если студент написал все контрольные работы на 2, то он сдаст и экзамен на 2, разве что он тщательно изучит каждый вопрос курса, чтобы не сдать экзамен на 2. Структура последнего предложения передается формулой алгебры высказываний: (Р id Q)\/(R id 1Q). 1.31. (в) у параллелограмма противоположные стороны не равны или противоположные углы не равны. 1.36. (в) Следует. 1.37. Правильные (а), (в), (г), (д), (е). 1.38. Правильные (а), (б), (в), (е), (ж). 1.40. (д) PVQVR- 1.41. (a) PQR\/QPR\ (б) Р; (в) PV((QVT)R); (г) PQRTК\ (д) P(QVR)VQ(RV§); (е) QP; (ж) PVQ- 1-42. (a) QVtf; (б) QS(PVtf); (в) PQR. 1.43. (а) PQRVRSV(UVV)S ; (б) QRV P(Q\/R) (P V Q V R)V PR)\ (в) ((Q\/R)SVPQS)PR• 1.44. (a) PV QR\ (6) S(PQ\JPR)\ 0*) _PQVR. 1.45. (a) _(PVQV_tf)A(PVQ V% (6) P AQ ARASV_RS_(QWP)V V PQ(S V#); (B) /?(PQ VPQ) VPQ/?. 1.46. (a) PQR VPQRVPQRV VPQP; (6) QRVPRVPQ- 1.47. (a) P(QVtf)VQtf; (6) PQ(R\/S\/ \/T)\/ PR(S\/T)\/ PST. Указание: Л: PQRSV PQRT = PQR(S\/T); B: RQPST = PQRS\/T; AVB: PQR(SVT)V PQRSV T = PQR\ подобные преобразования проводятся еще 5 раз. 1.2 1.53. (а) Л id С, Д=эС, Л V ^ |—С; (б) Aid В, А^1В\-~\А] (в) AzdB, В id А \-А ~ В; (г) (A id В) id {IB id “L4), Aid В, 1B\-~^A. 1.54. В каждом выводе используется по одной аксиомной схеме. 1.55. В выводах используются указанные аксиомные схемы: . (а) 3; (б) 4, 5; (в) 2, 1; (г) 2, 1; (д) 9, 1; (е) 9, 1, 3; (ж) 12, 2, 1; (з) 2, 1; (и) 9, 1; (к) 9, 6; (л) 12, 9, 1; (м) 12, 1, 13, 2, 1, 11; (н) 1, 2; (о) 9, 4, 5; (п) 4, 5, 9, 1. 1.57. В доказательствах используются указанные аксиомные схемы: (а) (8), (7), (6); (б) (2), (1), (3); (в) (2), (5), (1), (7); (г) (И), (4), (2), (1), (3); (д) (2), (1), (9), (7). 1.69. Воспользоваться правилами: (м) ВК, RA и ВД; (н) RA, УОД, УК, УДО. 1.70. Воспользоваться правилами: (у) УД, 258
МТ, ДС, СУО, ВД; (ф) УК, МТ, ДС, УОК; (х) УД, ТД, МТ, ДС, СУО. 1.72. Воспользоваться правилами: (ж) УК, ВК, ВЭ; (з) ВД, УД, ВЭ; (л) RA, УДО, УК, УОД, ТД, ВЭ; (м) УОК, RA, ТД, МР, УК, ДС, ВК; (н) ТД, RA, УОД, УК, УДО, МР, ДС, ВЭ; (о) УД, ВД, ВК, УК, ДС, RA, ТД, ВЭ; (п) УОД, УК, УОК, УД, СУО, ВК, RA, ВД, ТД, ВЭ. 2.1 2.7. (г). 2.9. (a) \/x3yVzP(x, у, г); (б) УхЯ(х)zd Р(х, у); (в) Чх{Р(х)У Р{х, у))\ (г) 3xP(x)=>VxQ(x)\/ lQ(x). 2.10. (a) (((VxP(x)) V VQM)=>((3*Q(*))AP(jO)); <б> (P(*) = ((V*Q(*))V(-|QW))); (в) (V*X Х(Р(х, у) =. (VyQCfif)))); (г) (P(y)=>(l((VxQ(x, у))=>Р<у)№ (д) 0*Х X ((VyP(y)) => Q(x)))An(Vy(3x(Q(x) zi Я(</)))))); (е) ((Vx(lP(y))) => =>(Q(x, у, z)V(VyR(y))))\ (ж-) ((!(VxP(x))=>{((3yQ(y))=> P(x, <y))V УЯИ; (з) «ух(Чу(ЧгР(х))))=>тх)ЛПРШ- (и) ((Э*(Эу(ЭгЯ(х))))У V(3j/p(VzP(z, у))))). 2.11. (в) /,(1)=И при / = 1, 3; /,(0,1) = Л при i = 0, 1, 2, 3, 8, 9, 10, 11. 2.14. Для некоторых областей может бы-ть записано несколько предикатов, например, (д) Р(х) AQ(x)V Р МЛ д R(x) V Q(x) A R(x) ил и Р (х) A Q(x) A R М V Я М Л /? М Л п Q W V Р (х) А AQ(x)A~^R(x)\/1P(x)AQ{x)AR(x) или 1рЯ(х)Л lQ(x)A “'^WV V Р(х)А HOW Л i/?WV^WA “iQWA i/?WV ПР (*)A Q МЛ n/? (*)) и др. 2.16. И — V*/i(*), 3x/i(x), 3xh{x), 3xIa(x). 2.21. (в) —замкнута. 2.29. И— (1, б), (2, а), (2, б), (3, а), (4, а), (4, б). 2.30. (а) — 64; (б) — 8192; (в) — 2048; (г) — 256; (д) — 64 на D = = {1, 2}. 2.55. ~\УхР(х). 2.57. Из (а) следует 2; из (б) следует 2; из (в) следует 1, 2, 3; из (г) следует 3. 3.1 [у] = .2 ( egn (/(/ —*); (б) rest (jf, у) = х — у yj ; (в) т(х) = X X £ sgn rest (х, /); (г) с(х)= £ i sgn rest (х, /); (д) л: — простое /=1 /=1 X число о т(х) = 2, lh (х) = £ sgn (| т(/) — 2| + rest (лс, /)); (е) л(лс) = /=1 X X = I sgn (Iт(0 — 2|). 3.6. (а) ш(х)=цу\N(x) + y = 0}; (б) f(x, у) = = цг(|х — (г + у)\ = 0]; (в) f(x, у) = \iz[\x — гу\ = 0]; (r) f(x, у) = — цг[\х — гу| = 0J. 3.15. Указание: рассмотреть равнобедренный прямоугольный треугольник и элементарное движение плоскости: а — поворот на 90° против часовой стрелки вокруг вершины прямого угла, в — поворот на 180° вокруг середины гипотенузы.
ЛИТЕРАТУРА Клини С. К. Математическая логика.— М.: Мир, 1973.— 480 с. Колмогоров А. Н., Драгалин А. Г. Введение в математическую логику.— М.: Изд-во МГУ, 1982.— 120 с. Колмогоров А. Н. Драгалин А. Г. Математическая логика. Дополнительные главы.— М.: Изд-во МГУ, 1984.— 120 с. Лавров И. А., Максимов Л. Л. Задачи по теории множеств, математической логике и теории алгоритмов.— М.: Наука, 1984.— 224 с. Мендельсон Э. Введение в математическую логику.— М.: Наука, 1976.— 320 с. Новиков П. С. Элементы математической логики.— М.: Наука, 1973.— 400 с.
ТЕРМИНОЛОГИЧЕСКИЙ УКАЗАТЕЛЬ А Адекватность формальной теории 62, 162 Аксиома независимая 70 — теории L 39 Аг 123 PL 110 — формальной теории 122 Аксиоматический метод 118 Аксиомы логические 122 — нелогические 123 — специальные (математические) 122 Алгебра высказываний 9 — предикатов 4, 74 Алгоритм 63, 130, 134, 135 — ветвления 149 — вычислительный (вычисляющий) 130 — разрешающий 63, 129 — циклический 134 Алгоритмы над словами 143 Альтернатива 177 Алфавит алгебры высказываний 10 предикатов 78 — машины Тьюринга 151, 154 — формализованного языка 121 — теории Аг 122 Анализ рассуждений 33, 108, 114 Антецедент 13, 23 Атом 10, 11, 77 Б Блок-схема 132 Буква алфавита 11 — предикатная 120 — пустая 152, 199 — функциональная 120, 154 Блок 132 — арифметический 132 — логический 132 В Вхождение переменной 84 — — свободное 84 — — связанное 84 Вывод формальный 41 Выражение одних логических функций через другие 22 Высказывание 9 — истинное 9 — ложное 9 Г Гипотеза 41 Д Детерминированность алгоритма 134 Дизъюнктивная нормальная форма совершенная (СДНФ) 18 Дизъюнктивный член 13 Дизъюнкция 13 — строгая 177 — элементарная 18 Дискретность алгоритма 135 Доказательство формальное 40, 122 — содержательное 114 261
Допущение косвенного доказательства 116 Definiendum 105 Definiens 105 3 Заключение 27, 40 Закон двойного отрицания 23, 67 — дистрибутивности квантора общности относительно конъюнкции 93, 96 — — — существования относительно дизъюнкции 93, 96 — изменения квантора общности на квантор существования 96 — исключенного третьего 21, 23 — контрапозиции 23 — непротиворечия 23 — отрицания антецедента 23 — — дизъюнкции 67 — — импликации 23 — — квантора общности 93, 96 — — — существования 93, 96 — — конъюнкции 69 — — эквиваленции 23 — перемены посылок 23, 49 — перестановки разноименных кванторов 96 — пронесения квантора существования через конъюнкцию 93, 96 — — — общности через дизъюнкцию 93, 96 — силлогизма 23 — соединения и разъединения посылок 23 — tertium non datur 21 — тождества 23 — универсальной конкретизации 99 — экзистенциального обобщения 99 Законы ассоциативные 22 — введения отрицания в формулы с кванторами 93, 96 — де Моргана 23, 67 — дистрибутивные 22 — идемпотентности 23 — коммутативные 22 — отрицания кванторов 93, 96 — — логических операций 23 — переименования связанных переменных 93, 96 — перестановки одноименных кванторов 93, 96 — поглощения 23, 69 — пронесения квантора общности через дизъюнкцию 93, 96 — — — — через конъюнкцию 93, 96 — — — существования через дизъюнкцию 93, 96 — — — — — конъюнкцию 93, 96 — традиционной логики 23 Замыкание формулы 86 Значения предметных переменных 79 — ионов 79 — логических операторов 13, 82 И Импликативный член 13 Импликация 13 Индекс машины Тьюринга 158 Индексация машин Тьюринга 158 Интерпретация теории естественная 124 — — стандартная 124 — формальной теории 124 — формулы 14, 86 — — предметная 89 Ион 76 Истинностная таблица 15, 91 — — формулы алгебры предикатов 91 Истинностное значение 10 262
И 10, 12 Л 10, 12 Исчисление высказываний 4, 39 — предикатов 4, 110 К Квантор 84 — общности 84 — существования 84 — навешен на переменную 85 Команда ветвления 132 — машины Тьюринга 153 — повторения 134 — присвоения 133 Композиция алгоритмов 148 Консеквент 13, 23 Константа 120 Конструктивные объекты 135 Конъюнктивная нормальная форма совершенная (СКНФ) 18 Конъюнктивный член 13 Конъюнкция 12, 13 — элементарная 17 Л Лемма 57 Лента 152 Логика исследователя 9 — предметная 9 — теории Аг 123 — формальной теории 122 Логический оператор 10, 121, 125 — элемент 35 М Массовость алгоритма 139 Машина Тьюринга 151, 154 — — применяется к а как к аргументу 156 — — вычисляет значение с для а в качестве аргумента 156 — — — функцию 156 Металогика 9 Метатеорема 42 Метаязык 9 Множество сдвигов машины Тьюринга 154 Модель теории 124 Молекула 10, 11, 78 Н Называющая форма иона 76 Непротиворечивость теории, простая 50, 57, 111 Нормальный алгоритм Маркова 143, 149 О Область значений логической функции 75 — интерпретации 86 — истинности логической функции 75 — определения логической функции 75 — предметная 79, 86 Определенность алгоритма 134 Определяемое 105 Определяющее 105 Отношение логического следования 26, 102 — .логической равносильности 15, 92 Отрицание 12, 13 П Переменная булева 34 — свободная 84 — предметная 77, 79, 120, 124 — с свободна для х в А(х) 99 Подстановка 144 — ориентированная 144 — переменной с вместо переменной х в формулу А 98 263
— с вместо х в А (х) свободна 99 Подформула 24 Полная система истинностных функций 19 Полнота теории 163 —'— относительно общезначимости 57 Понятия противоречащие 108 Посылка 27, 40, 41 Правила введения и удаления 51 — — — — кванторов 112 — вывода теории PL 111 — — элементарной теории 122 — Генцена 29, 31 — заключения 29 — следования 29 Правило введения двойного отрицания 67 — — дизъюнкции, первое 30, 52, 54 — — — , второе 30, 52, 54 — — импликации 29, 45, 51, 54 — — квантора общности 103, 112 — — — существования 103, 112 — — конъюнкции 30, 44, 52, 54 — — отрицания 29, 52 , 54 — — — дизъюнкции 67 — — — конъюнкции 69 — — эквиваленции 30, 52, 55 — вывода теории L 40 PL 111 — деструктивной дилеммы 31 — дизъюнктивного силлогизма 31 — индукции 124 — конкретизации 111 — конструктивной дилеммы 31 — контрапозиции 31, 56 — modus ponens 30, 40 — modus tollens 31, 56 — обобщения 111 — перемены посылок 31 — разъединения посылок 31 — reductio ad absurdum 29, 52 — силлогизма 31 — слабого удаления отрицания 30, 52, 56 — соединения посылок 31 — удаления двойного отрицания 30, 52 — — дизъюнкции 29, 52, 54 — — импликации 30, 40, 51 — — квантора общности 103, 112 — — — существования 103, 112 — — конъюнкции, первое 30, 52, 55 — — — , второе 30, 52, 55 — — отрицания дизъюнкции 30, 67 — — — импликации 30 — — — конъюнкции 30, 69 — — — эквиваленции 30 — — эквиваленции, первое 30, 52, 55 — — — , второе 30, 52, 55 — универсального обобщения 103, 112 — универсальной конкретизации 103, 112 — экзистенциального обобщения 103, 112 — экзистенциальной конкретизации 104 Предикат 75 — бинарный 75 — двуместный 75 — я-местный 75 — одноместный 75 — суждения 106 — тернарный 75 — трехместный 75 — унарный 75 Предложение 16 — разрешимое 163 Проблема вычисления 130 — независимости 70 264
— непротиворечивости 50, 70, 111, 118 — полноты 57, 70, 163 — разрешения 63, 70, 129 — — формальной аксиоматической теории 64 Программа Гильберта 120 — машины Тьюринга 153 Противоречивость теории, простая 50, 57 Противоречие 20 Процедура вычислительная 130 — разрешающая 63, 129 Пустое место 76 Р Разрешимая теория 64, 162 Равно по определению 105 Равносильно по определению 105 Равносильность формул 15, 92 Результативность алгоритма 135 С Сигнатура 121 — теории Аг 123 Синтактика языка 11, 121 Система аксиом независимая 70 — — теории L 39 PL 110 Аг 123 — команд исполнителя 134 Скобки 10, 14, 78, 121 Следование логическое 27, 43, 102 — — в области D 102 Слово в алфавите 11 — пустое 144 Соглашение об опускании скобок 12, 23, 78 Состояние активное 153 — внутреннее 153 — заключительное 153 — начальное 153 — пассивное 153 Стрелка Пирса 19 Структура предложения 32 — рассуждения 33 Субъект суждения 106 Суждение категорическое 106 — общеотрицательное 107 — — выделяющее 108 — общеутвердительное 107 — частноотрицательное 107 — частноутвердительное 107 Сумматор 37 Схема аксиомная 39 — контактная 35 —- нормальная 150 — формульная 21 — электронная 35 Схемы введения и удаления логических операторов 22 Т Тавтология 20 Тезис 138 — Чёрча 143 — Чёрча — Маркова 151 — Чёрча — Тьюринга 158 Теорема 16, 40, 122 — Гёделя о неполноте, первая 163 — — вторая 165 — дедукции 45, 112 Теория L 4, 39 — математическая 120 . — Аг 4 — неформальная 118 — первого порядка 122 — PL 4, 92, 137 — полуформальная 119 — содержательная 118 — формальная 122 — элементарная 122 Терм 121, 123 Термин суждения 106 265
У Уравнение логическое 25 Управляющая головка 152 Ф Формализация доказательств 114 Формула И, 78 — алгебры высказываний 10 — — предикатов 77 — выводимая 41, 43 — выполнимая 20, 94 — — в области D 94 — доказуемая 40, 43, 122 — замкнутая 86 — невыполнимая 20, 94 — — в области D 94 — нейтральная 20, 94 — — в области D 94 — необщезначимая 20, 95 — — в области D 94 — общезначимая 20, 22, 43, 94 — — в области D 94 — открытая 86 — сложная 10, 11, 78 — теории Аг 123 — тождественно истинная 20 — — ложная 20 — языка формальной теории 121 — элементарная 10, 11, 78, 121 Формульная схема 21 Формулы тождественно равные Функция алгебры высказываний 16 — арифметическая 136 — булева 34 — вычислимая 136 — — по Маркову 150 — — по Тьюрингу 156 — истинностная 16 — логическая 75 — примитивно-рекурсивная 139 — представляющая 137 — пропозициональная 75 — рекурсивная 139 Ш Штрих Шеффера 19 Э Эквиваленции член 13 Эквиваленция 13, 14 Элементарное предикатное выражение 76 Эффективность определения 11 Я Язык исследователя 9 — первого порядка 122 — предметный 9 — формализованный 121 Ячейка 152
СОДЕРЖАНИЕ Предисловие 3 Введение 5 Указатель обозначений 8 А. ТЕОРЕТИЧЕСКИЙ КУРС 9 I. Логика высказываний 9 1.1. Алгебра высказываний 9 1.1.1. Язык и метаязык 9 1.1.2. Высказывание 9 1.1.3. Алфавит и формулы алгебры высказываний 10 1.1.4. Эффективность определения формулы. Соглашение об опускании скобок 111.1.5. Семантика букв алфавита алгебры высказываний 12 1.1.6. Истинностные значения и истинностные таблицы формул алгебры высказываний 14 1.1.7. Отношение равносильности формул 15 1.1.8. Истинностные функции 16 1.1.9. Совершенные нормальные формы истинностных функций 17 1.1.10. Полные системы истинностных функций 19 1.1.11. Виды формул алгебры высказываний и их классификации 20 1.1.12. Важнейшие свойства общезначимых формул 21 1.1.13. Важнейшие общезначимые формулы 22 1.1.14. Методы установления общезначимости формул. Равносильные преобразования формул 24 1.1.15. Отношение логического следования и его связь с общезначимостью 26 1.1.16. Важнейшие правила следования 29 1.1.17. Применения языка алгебры высказываний 32 1.2. Исчисление высказываний 39 1.2.1. Алфавит, формулы, система аксиомных схем и правило вывода теории L 39 267
1.2.2. Формальное доказательство и формальный вывод 40 1.2.3. Свойства отношения выводимости 42 1.2.4. Непротиворечивость теории L 50 1.2.5. Правила введения и удаления логических операторов 51 1.2.6. Полнота теории L 57 1.2.7. Адекватность теории L алгебре высказываний 62 1.2.8. Разрешимость теории L 62 1.2.9. Использование правил введения и удаления и МТ1 при установлении существования доказательств и выводов в теории L 64 1.2.10. Независимость аксиом теории L 70 2. Логика предикатов 74 2.1. Алгебра предикатов 74 2.1.1. Недостаточность логики высказываний для анализа рассуждений 74 2.1.2. Предикат, логическая функция. Область определения, область значений и область истинности логической функции 74 2.1.3. Ионы и переменные 76 2.1.4. Формулы алгебры предикатов 77 2.1.5. Семантика букв алфавита алгебры предикатов 79 2.1.6. Свободные и связанные вхождения переменных. Замкнутая и открытая формулы 84 2.1.7. Интерпретации формул. Предметные интерпретации формул 86 2.1.8. Истинностные таблицы формул алгебры предикатов 89 2.1.9. Отношение равносильности формул алгебры предикатов 92 2.1.10. Виды формул алгебры предикатов. Важнейшие общезначимые формулы алгебры предикатов 94 2.1.11. Важнейшие свойства общезначимых формул 97 2.1.12. Отношение логического следования в алгебре предикатов 102 2.1.13. Применение языка алгебры предикатов 105 2.2. Исчисление предикатов 110 2.2.1. Алфавит и формулы теории PL. Системы аксиомных схем. Правила вывода. Формальное доказательство. Формальный вывод 110 2.2.2. Непротиворечивость теории PL 111 2.2.3. Правила введения и удаления кванторов 112 2.2.4. Применения теории PL 114 268
3. Математические теории 118 3.1. Основные понятия 118 3.1.1. Аксиоматический метод: три стадии развития 118 3.1.2. Формализованные языки 120 3.1.3. Синтактика формализованного языка: термы и формулы 121 3.1.4. Логика формальной теории 122 3.2. Формальная теория Аг для арифметики натуральных чисел 122 3.2.1. Язык теории Аг 122 3.2.2. Синтактика языка теории Аг 123 3.2.3. Логика теории Аг 123 3.2.4. Естественная (стандартная) интерпретация теории Аг 124 3.2.5. Теоремы теории Аг 126 4. Алгоритмы 129 4.1. Интуитивные понятия 129 4.1.1. Проблема разрешения и разрешающий алгоритм 129 4.1.2. Проблема вычисления и вычислительный (вычисляющий) алгоритм 130 4.1.3. Интуитивное понятие алгоритма 131 4.1.4. Потребность в математическом уточнении интуитивного понятия алгоритма 136 4.2. Рекурсивные функции 138 4.2.1. Определение класса рекурсивных функций 138 4.2.2. Примеры рекурсивных функций 140 4.3. Нормальные алгоритмы Маркова 143 4.3.1. Алгоритмы над словами (интуитивное понятие) 143 4.3.2. Нормальный алгоритм Маркова 149 4.3.3. Тезис Чёрча — Маркова 150 4.4. Машина Тьюринга 151 4.4.1. Интуитивные понятия 151 4.4.2. Машина Тьюринга — математическое понятие алгоритма 154 4.4.3. Вычислимость по Тьюрингу. Тезис Чёрча — Тьюринга 155 4.4.4. Существование невычислимых функций 158 4.4.5. Применения к формальной арифметике (формальная система Аг) 162 Б. ПРАКТИКУМ 166 1. Логика высказываний 166 1.1. Алгебра высказываний 166 269
1.2. Исчисление высказываний (теория L) 193 2. Логика предикатов 203 2.1. Алгебра предикатов 203 2.2. Исчисление предикатов (теория PL) 237 3. Алгоритмы 245 3.1. Классы разрешимых вопросов и вычислимых функций 245 3.2. Машина Тьюринга 250 Ответы. Указания. Решения 257 Литература 260 Терминологический указатель 261
Учебное издание «Патотин Леонид Александрович Макаренков Юрий Алексеевич Николаева Валентина Владимировна Столяр Абрам Аронович МАТЕМАТИЧЕСКАЯ ЛОГИКА Заведующий редакцией Л. Д. Духвалов Редакторы Е. А. Пастушенко, Л. Д. Духвалов Младший редактор В. М. Кушилевич Художник переплета В. П. Калинин Художественный редактор Ю. С. Серганев Технический редактор М. Н. Кислякова Корректоры 3. Б. Звонарева, Н. Б. Назарева ИБ № 2907 Сдано в набор 20.10.89. Подписано в печать 15.08.90. Формат 84X108/32. Бумага тип. № 1. Гарнитура литературная. Высокая печать. Уел. печ. л. 14,28. Уел. кр.-отт. 14,28. Уч.-изд. л. 15,02. Тираж 7500 экз. Зак. 2997. Цена 2 р. 30 к. Издательство «Вышэйшая школа» Государственного комитета БССР по печати. 220048, Минск, пр. Машерова, 11. Минский ордена Трудового Красного Знамени полиграфкомбинат МППО им. Я. Коласа. 220005, Минск, ул. Красная, 23.
Математическая логика: Учеб. пособие/ J1. А.Ла- М34 тотин, Ю. А. Макаренков, В. В. Николаева, А. А. Столяр; Под общ. ред. А. А. Столяра.— Мн.: Выш. шк., 1991.— 269 с. ISBN 5-339-00342-6. Цель пособия — совершенствовать математическую, логическую и профессиональную подготовку будущего учителя математики и информатики, активизировать его самостоятельную работу. Включены теоретический курс и практикум. Предназначено для студентов физико-математических факультетов педагогических институтов. 1602020000—087 М 13—90 М304(03) — 91 ББК 22.12я73