Текст
                    гошин
ЗАДАЧИ
И УПРАЖНЕНИЯ
ПО МАТЕМАТИЧЕСКОЙ
ЛОГИКЕ И ТЕОРИИ
АЛГОРИТМОВ
3-е издание


ВЫСШЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ В.И.ИГОШИН ЗАДАЧИ И УПРАЖНЕНИЯ ПО МАТЕМАТИЧЕСКОЙ ЛОГИКЕ И ТЕОРИИ АЛГОРИТМОВ Допущено Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности 032100 «Математика» 3-е издание, стереотипное Москва Издательский центр «Академия*» 2007
УДК 510.6(076.5) ББК22.12я73 И269 Рецензенты: декан факультета «Прикладная математика» Московского государственного открытого университета, д-р физ.-мат. наук, проф. В. Д. Кулиев; зав. кафедрой «Теоретические основы компьютерной безопасности и криптографии» Саратовского государственного университета, проф. В. Н. Салий Игошин В.И. И269 Задачи и упражнения по математической логике и теории алгоритмов : учеб. пособие для студ. высш. учеб. заведений / В.И.Игошин. — 3-е изд., стер. — М. : Издательский центр «Академия», 2007. — 304 с. ISBN 5-7695-3728-0 Сборник содержит задачи и упражнения по всем традиционным разделам курса математической логики и теории алгоритмов. В каждом параграфе подробно рассмотрены разнообразные типовые примеры и приведены многочисленные задачи разного уровня сложности для самостоятельного решения. Теоретический материал изложен в учебном пособии: Игошин В. И. Математическая логика и теория алгоритмов. — М. : Издательский центр «Академия», 2004. Для студентов университетов, технических и педагогических вузов, обучающихся по специальностям «Математика», «Прикладная математика». УДК 510.6(076.5) ББК22.12я73 Оригинал-макет данного издания является собственностью Издательского центра «Академия», и его воспроизведение любым способом без согласия правообладателя запрещается © Игошин В. И., 2005 ISBN 5-7695-3728-0 © Издательский центр «Академия», 2005
ПРЕДИСЛОВИЕ Обучение математике немыслимо без решения задач. В процессе обучения задачи выполняют разнообразные функции — обучающую, развивающую, воспитывающую. Задача есть некий внешний фактор, воздействующий на учащегося и детерминирующий его познавательную активность. С точки зрения общей теории систем задачи рассматриваются как особый вид систем. В педагогической науке существует так называемый задачный подход к исследованию и построению деятельности, в том числе учебной и обучающей. Согласно этому подходу всякая деятельность индивидов, в том числе учащихся и учителей, имеет задачную структуру, т. е. осуществляется как решение специфических для нее (учебных) задач. Поэтому и проектировать ее целесообразно как систему процессов решения разнообразных задач. Результативность обучения в конечном итоге определяется тем, какие именно задачи, в какой последовательности и какими способами решают учителя и учащиеся. Эту мысль отмечали Полиа (Д. Пойа) и Сегё в предисловии к их книге «Задачи и теоремы из анализа»: «Настоящая книга отнюдь не представляет собой простого собрания задач. Главное заключается в расположении материала: оно должно побуждать читателя к самостоятельной работе и прививать ему целесообразные навыки математического мышления. Мы потратили на достижение возможно более эффективного расположения материала гораздо больше времени, старания и скрупулезной работы, чем это на первый взгляд могло бы показаться необходимым. Сообщение ряда новых сведений интересовало нас само по себе лишь во вторую очередь. В первую очередь мы желали бы способствовать выработке у читателя правильных установок, известной дисциплины мышления, что при изучении математики необходимо еще в большей мере, чем при изучении других наук»1. Мы рассматриваем задачи как важнейшее средство обучения математике. При обучении математике с помощью задач могут ставиться различные дидактические цели: подготовка к изучению теоретических вопросов, закрепление приобретенных теоретических 1 Пойа Д. Математическое открытие: Пер. с англ. — М., 1970. з
знаний, формирование умений и навыков, повторение ранее изученного материала, применение в других науках и в практике, контроль усвоения знаний. Существуют различные способы классификации задач: задачи стандартные (типовые, задачи-упражнения), общий метод решения которых известен учащимся, и задачи нестандартные, нетиповые, хотя и основывающиеся на изученном материале, решение которых требует творческого подхода, неординарного мышления. Для того чтобы обучение с помощью задач достигало поставленных целей, нужна тщательно продуманная система упражнений и задач. В такой системе должна быть правильно установлена последовательность задач с учетом особенностей и возможностей учащихся и принципа «от простого к сложному». Должно быть соблюдено разумное разнообразие упражнений и задач. При работе с задачами знания учащихся должны совершенствоваться при решении каждой новой задачи. Грамотно составленная задача управляет процессом обучения, формирует умения и навыки на основе осмысленных знаний путем многократного повторения операций, действий, приемов, алгоритмов, составляющих предмет обучения. Сборник задач и упражнений по математической логике и теории алгоритмов составлен в соответствии с действующими программами по этим двум тесно взаимосвязанным дисциплинам и предназначен для обучения будущих специалистов в университетах, технических и педагогических вузах, чья деятельность так или иначе связана с математикой. Сборник задач призван осуществить практическую поддержку теоретических курсов математической логики и теории алгоритмов, изучаемых по учебному пособию1 (в дальнейшем будем называть его «Учебник»). Настоящий сборник представляет собой существенно переработанный и расширенный вариант ранее изданного задачника: Игошин В. И. Задачник-практикум по математической логике. — М., 1986. Сборник состоит из четырнадцати параграфов, сгруппированных в пять глав: I. Алгебра высказываний; II. Булевы функции; III. Формализованное исчисление высказываний; IV. Логика предикатов; V. Элементы теории алгоритмов. Каждый параграф разбит на тематические пункты (без нумерации). Весь параграф или некоторые его пункты предваряются краткими сведениями теоретического характера, в которых приводится система понятий и обозначений, используемых в параграфе. Внутри каждого пункта задачи расположены в порядке возрастания их сложности. Пункт начинается с достаточно стандартных задач, предназначенных для отработки на конкретных примерах положений теории, в частно- 1 Игошин В.И. Математическая логика и теория алгоритмов. — М., 2004. 4
сти для реального уяснения сути тех или иных введенных понятий, реальной отработки тех или иных теоретически обоснованных методов. Далее обычно следуют задачи, решение которых возможно лишь при условии, что необходимые понятия и методы уяснены. В конце некоторых пунктов приводятся задачи, решение которых требует в определенной мере нестандартного подхода или необычного хода рассуждений. Впрочем, таких задач немного, и мы не задавались целью включить в сборник большое количество таких задач. Наше внимание, напротив, было сосредоточено на задачах первых двух типов. Специфика таких задач и самого курса математической логики обусловила следующее их строение: каждая задача имеет общее условие, к которому прилагается серия разнообразных начальных данных, т. е. каждая из них фактически представляет собой серию однотипных задач. Почти всегда для одной из задач (а иногда и для нескольких) каждой серии приводится подробное решение, которое студент может разобрать самостоятельно или под руководством преподавателя. Структура сборника позволяет преподавателю осуществить индивидуальный подход к обучению каждого студента, подготовив для него индивидуальную выборку задач. Некоторые задачи снабжены указаниями к их решению. Почти для всех задач даны ответы. В сборник включено большое количество задач на осмысление понятий школьного курса математики, методов рассуждений и доказательств, используемых в школьной математике, на применение булевых функций, на развитие алгоритмического стиля мышления. В сборнике принят следующий принцип нумерации задач: номер задачи состоит из двух чисел, первое из которых есть номер параграфа, второе — номер задачи в этом параграфе. Сборник задач и упражнений будет полезен всем, кто приступает к изучению основ математической логики и теории алгоритмов в учебных заведениях самых разных профилей и уровней. В. И. Игошин
Глава I АЛГЕБРА ВЫСКАЗЫВАНИЙ В первой главе объединены три параграфа. Первые два посвящены собственно алгебре высказываний: первый — ее основам, а второй — нормальным формам для формул алгебры высказываний. В третьем параграфе, рассматривается применение алгебры высказываний в математической практике и практике рассуждений. § 1. Основные понятия алгебры высказываний Высказывания и операции над ними. Под высказыванием мы понимаем предложение, представляющее собой такое утверждение, о котором можно судить, истинно оно или ложно. По совокупности всех высказываний определяется функция истинности, принимающая значения в двухэлементном множестве {0, 1}: Jl, если высказывание Р истинно, [О, если высказывание Р ложно. Значение Х(Р) называется логическим значением или значением истинности высказывания Р. Над высказываниями определяются следующие основные операции (логические связки), которые позволяют из имеющихся высказываний строить новые: 1) отрицание: нР (читается «не Р»); 2) конъюнкция: Р л Q (читается «Р и Q», используется также иное обозначение: Р& Q); 3) дизъюнкция: Р v Q (читается «Р или Q»); 4) импликация: Р-> Q (читается «если Р, то Q», или «из Р следует Q», или «Р достаточно для Q», или «Q необходимо для Р»); 5) эквивалентность: P<r¥ Q (читается «Р равносильно Q», или «Р тогда и только тогда, когда Q», или «Р необходимо и достаточно для £?»). При этом логические значения результатов этих операций связаны с логическими значениями исходных высказываний так, как указано в следующей таблице (таблице истинности соответствующих операций): 6
ЦР) 0 0 1 1 МО) 0 1 0 1 Х(-\Р) 1 1 0 0 Я(Рл О) 0 0 0 1 MPv Q) 0 1 1 1 ЦР-> О) 1 1 0 1 ЧР<* Q) 1 0 0 1 Каждую из этих операций можно рассматривать как операцию над символами 0 и 1. Так, например, дизъюнкция и импликация задают соответственно следующие правила действий с указанными символами: 0v0 = 0;0vl = l;lv0=l;lvl = l;0->0=l; 0-> 1 = 1; 1->0 = 0; 1 —^ 1 = 1. 1.1. Какие из следующих предложений являются высказываниями: а) Москва — столица России; б) Студент механико-математического факультета университета; в) Треугольник ABC подобен треугольнику А 'В' С"; г) Луна есть спутник Марса; Д) 2 + 2-5; е) Кислород — газ; ж) Каша — вкусное блюдо; з) Математика — интересный предмет; и) Картины Пикассо слишком абстрактны; к) Железо тяжелее свинца; л) «Да здравствуют музы!»; м) Треугольник называется равносторонним, если все его стороны равны; н) Если в треугольнике все углы равны, то он равносторонний; о) Сегодня плохая погода; п) В романе А. С. Пушкина «Евгений Онегин» 136 245 букв; р) Река Ангара впадает в озеро Байкал. Решение, б) Это предложение не является высказыванием, потому что оно ничего не утверждает о студенте. в) Предложение не является высказыванием: мы не можем определить, истинно оно или ложно, потому что не знаем, о каких именно треугольниках идет речь. Фактически ABC здесь является некоторой переменной, вместо которой могут подставляться конкретные значения (треугольники). О предложениях такого типа речь пойдет в гл. IV. ж) Предложение не является высказыванием, так как понятие «вкусное блюдо» слишком неопределенно. 7
п) Предложение — высказывание, но для выяснения его значения истинности нужно затратить немало времени. 1.2. Укажите, какие из высказываний предыдущей задачи истинные, а какие ложные. 1.3. Сформулируйте отрицания следующих высказываний; укажите значения истинности данных высказываний и их отрицаний: а) Волга впадает в Каспийское море; б) Число 28 не делится на число 7; в) 6 > 3; г) 4<5; д) Все простые числа нечетны; е) лД — рациональное число; ж)5 + 3 = 8; з) Африка —- остров; и) Все слова можно разделить на слоги; к) Некоторые грибы несъедобны. 1.4. Установите, какие из высказываний в следующих парах являются отрицаниями друг друга и какие нет (объясните почему): а) «4 < 5», «5 < 4»; б) «6 < 9», «6 > 9»; в) «Треугольник ABC прямоугольный», «Треугольник ABC тупоугольный»; г) «Натуральное число п четно», «Натуральное число п нечетно»; д) «Функция / нечетна», «Функция / четна»; е) «Все простые числа нечетны», «Все простые числа четны»; ж) «Все простые числа нечетны», «Существует простое четное число»; з) «Человеку известны все виды животных, обитающих на Земле», «На Земле существует вид животных, неизвестный человеку»; и) «Существуют иррациональные числа», «Все числа — рациональные»; к) «Если п делится на 3, то п делится на 9», «Если п не делится на 3, то л не делится на 9»; л) «2 < 0», «2 > О». Решение, л) Высказывание «2 > 0» не является отрицанием высказывания «2 < 0», потому что требование не быть меньше О оставляет две возможности: быть равным 0 и быть больше 0. Таким образом, отрицанием высказывания «2 < 0» является высказывание «2 > 0». 1.5. Определите значения истинности следующих высказываний: а) Санкт-Петербург расположен на Неве и 2 + 3 = 5; б) 7 — простое число и 9 — простое число; в) 7 — простое число или 9 —- простое число; г) Число 2 четное или это число простое; д) 2 < 3, 2 > 3, 2 • 2 < 4, 2 . 2 > 4; 8
е) 2-2 = 4 или белые медведи живут б Африке; ж) 2-2 = 4, и 2-2<5, и 2-2>4; з) 2 — рациональное число или -5 — иррациональное число; и) Фобос и Луна — спутники Марса; к) У равнобедренного треугольника либо два, либо три угла равны между собой; л) 3-3 = 9и4 + 7=11. Р е ш е н и е. л) Оба простых высказывания, к которым применяется операция конъюнкции, истинны, поэтому на основании определения этой операции и их конъюнкция есть истинное высказывание. 1.6. Определите значения истинности высказываний А, В, С, Д Е, F, G, Н, /, /, К, если высказывания а)—д) истинны, а высказывания е)—л) ложны: а) Лл(2-2 = 4); д) -iEv (2 • 2 = 5); и) -п/л(2-2 = 4); б) 5v(22 = 5); e) Fa(2-2 = 4); к) -i/v(2-2 = 5); в) Cv(2-2 = 4); ж) <7v (2 • 2 = 5); л) Кл(2 • 2 = 4). г) -i2)a(2-2 = 4); з) Ял (2-2 = 5); Р е ш е н и е. л) Конъюнкция высказываний есть ложное высказывание в случае, когда по меньшей мере одно из входящих в конъюнкцию составляющих высказываний (членов конъюнкции) ложно. В нашем случае второе составляющее высказывание «2 • 2 = 4» истинно, а конъюнкция двух высказываний ложна. Поэтому первое составляющее высказывание Сложно. 1.7. Сформулируйте и запишите в виде конъюнкции или дизъюнкции условие истинности каждого предложения (a, b — действительные числа): а) п-ЬфО; г) ab>0; ж)|а|>3; к) аЬ < 0; б) а- 6 = 0; д) в) я2 + 62 = 0; е) = 3; з) а2 + Ь2*0; л) < 3; и) а/b ф 0; Р е ш е н и е. л) Дробь равна нулю лишь в том случае, когда числитель равен нулю, а знаменатель отличен от нуля, т. е. (а = 0) л (Ь ф 0). 1.8. Определите значения истинности высказываний А, В, С, А Е, F, G, Н, /, /, К9 если высказывания а)—д) ложны, а высказывания е)—л) истинны: а) Если 4 — четное число, то А; б) Если Д то 6 — четное число; в) Если 2 • 2 = 4, то -1 С; г) Если -iZ>, то 2 • 2 = 5; д) Если 6 — четное число, то -\Е; е) Если F, то 4 — нечетное число; ж) Если 3-2 = 6, то -л G; з) Если -i/T, то 2-2 = 5; и) Если 2 — четное число, то /; к) Если 3 — четное число, то /; л) Если 4 — четное число, то К 9
Р е ш е н и е. л) Импликация двух высказываний есть ложное высказывание лишь в единственном случае, когда посылка истинна, а заключение ложно. В данном случае посылка «4 — четное число» истинна, и по условию все высказывание также истинно. Поэтому заключение Сложным быть не может, т. е. высказывание К истинно. 1.9. Определите значения истинности следующих высказываний: а) Если 9 делится на 3, то 4 делится на 2; б) Если 11 делится на 6, то 11 делится на 3; в) Если 15 делится на 6, то 15 делится на 3; г) Если 15 делится на 3, то 15 делится на 6; д) Если Саратов расположен на Неве, то слоны — насекомые; е) 12 делится на 6 тогда и только тогда, когда 12 делится на 3; ж) 4 > 5 тогда и только тогда, когда -4 > -5; з) 15 делится на 6 тогда и только тогда, когда 15 делится на 3; и) 15 делится на 5 тогда и только тогда, когда 15 делится на 4; к) Если 12 делится на 6, то 12 делится на 3; л) 11 делится на 6 тогда и только тогда, когда 11 делится на 3. Р е ш е н и е. к) Так как высказывание-посылка «12 делится на 6» истинно и высказывание-следствие «12 делится на 3» истинно, то и составное высказывание по определению импликации истинно. л) Из определения эквивалентности видим, что высказывание вида Р<-> Q истинно, если логические значения высказываний Р и Q совпадают, и ложно в противном случае. В данном примере оба высказывания, к которым применяется связка «тогда и только тогда», ложны. Поэтому все составное высказывание истинно. 1.10. Определите значения истинности высказываний А, В, С, Д Е9 F, G, Н, /, /, К, если высказывания а)—д) истинны, а высказывания е)—к) ложны: а) Л<-»(2<3); д) (22 = 4)<-»£; з) (6<7)<->н#; б) В+* (2 > 3); е) F+* (2 < 3); и) (6 > 7) <-> п/; в) (6<7)<->-i(7; ж)<7«+(2>3); к) (2• 2 = 4)<-►-i/. г) (6>7)<->-iZ); 1.11. Пусть через А обозначено высказывание «9 делится на 3», а через В — высказывание «8 делится на 3». Определите значение истинности следующих высказываний: ъ)А->В\ г) пВ->А; ж)В->-лА\ к) £ б) В->А; д) -iA-+-iB; з) А<г>В; л) в) -ъ4-»2?; е) А->-\В; и) -\А<г*-\В; м)-\В-*пА. Решение, л) Имеем ЦА)= 1, Ц1?) = 0. Поэтому Х(А<->iB) = = Х(А) <-> ~\Х(В) = 1 <-> нО = 1 <-> 1 = 1. м) Имеем Х(А) = 1, Х(В) = 0. Поэтому X(-tB-> пА) = iX(B) -> 1.12. Пусть через А обозначено высказывание «Этот треугольник равнобедренный», а через В — высказывание «Этот треугольник равносторонний». Прочитайте следующие высказывания: 10
з)- и)" к)- л)( т(л л л(Аа лАа- ■"(^ B) а) -\Aa-iB; ж)(-\А vhjB) -^п(Лл В); б) -|(Л v в) -ъ4 г) G4vi?)<->,4; д) е) Р е ш е н и е. л) Если треугольник равнобедренный и неравносторонний, то неверно, что он неравнобедренный. 1.13. Пусть через А обозначено высказывание «Это число — целое», через В — высказывание «Это число положительное», через С — высказывание «Это число простое», через D — «Это число делится на 3». Прочитайте следующие высказывания: а) 04vjB)->-iC; ж) 04aZ))->-iC; б) (AaB)->D; з) (AvB)a(CvD); в) (Л v -ъ4) -> (Вл С); H)-b4viZ); г) (Ba~iB)<+(AvD); к) (AaBaC)vD; д) О^ЬСаА); л) (А а С) v (BaD). е) (AaC)->D\ Р е ш е н и е. л) Это число либо целое и простое, либо положительное и делящееся на 3. 1.14. Следующие составные высказывания расчлените на простые и запишите символически, введя буквенные обозначения для простых их составляющих: а) Если число делится на 2 и не делится на 3, то оно не делится на 6. б) Произведение трех чисел равно нулю тогда и только тогда, когда одно из них равно нулю. в) Если производная функции в точке равна нулю и вторая производная этой функции в той же точке отрицательна, то данная точка есть точка локального максимума функции. г) Если прямая параллельна каждой из двух пересекающихся плоскостей, то она параллельна и линии их пересечения. д) Если прямая / перпендикулярна двум прямым а и Ь, лежащим в плоскости к (утверждение А), и прямые а и Ъ не параллельны a f b (утверждение В), то прямая / перпендикулярна всякой прямой с, лежащей в плоскости п (утверждение С). е) Если прямая / перпендикулярна двум прямым аи Ь, лежащим в плоскости п (утверждение А), и неперпендикулярна некоторой прямой с, лежащей в этой же плоскости (утверждение пС), то прямые аи bпараллельны (а \\ b — утверждение -uff). ж) Если две прямые а и Ь, лежащие в плоскости л, непараллельны а % b (утверждение В) и прямая / неперпендикулярна некоторой прямой с, лежащей в плоскости п (утверждение и С), то / неперпендикулярна одной из прямых а или b^утверждение -\А). з) Если какие-либо два из трех векторов 2, £, с коллинеарны, то их смешанное произведение равно нулю [а х b ] • с = 0. 11
и) Логарифм некоторого положительного числа будет положительным, если основание логарифма и логарифмируемое число будут больше 1 или если основание логарифма и логарифмируемое число будут заключены между 0 и 1. к) Если в параллелограмме не все углы прямые или не все стороны равны между собой, то этот параллелограмм не прямоугольник или не ромб. л) Если в треугольнике любая его медиана не является высотой и биссектрисой, то этот треугольник не равнобедренный и не равносторонний. Р е ш е н и е. л) Выделим и следующим образом обозначим простейшие составляющие высказывания: А: «В треугольнике некоторая его медиана является высотой»; В: «В треугольнике некоторая его медиана является биссектрисой»; С: «Этот треугольник равнобедренный»; D: «Этот треугольник равносторонний». Тогда данное высказывание символически записывается так: 1.15. Из трех данных высказываний А, В, С постройте такое составное высказывание, которое: а) истинно тогда и только тогда, когда все данные высказывания истинны; б) ложно тогда и только тогда, когда все данные высказывания ложны; в) истинно тогда и только тогда, когда все данные высказывания ложны; г) ложно тогда и только тогда, когда все данные высказывания истинны; д) истинно тогда и только тогда, когда истинны высказывания Аи В; е) истинно тогда и только тогда, когда ложны высказывания Аи В; ж) ложно тогда и только тогда, когда истинны высказывания Аи В; з) ложно тогда и только тогда, когда ложны высказывания Аи В; и) истинно тогда и только тогда, когда все данные высказывания либо истинны, либо ложны; к) ложно тогда и только тогда, когда все данные высказывания либо истинны, либо ложны; л) ложно тогда и только тогда, когда ложно лишь высказывание С. Решение, л) Искомое высказывание должно быть ложно лишь в одном случае: когда высказывание Сложно, а оба высказывания А и В истинны. Таким высказыванием могло бы стать 12
высказывание вида М-> С, где высказывание Мдолжно быть истинно и так сконструировано из высказываний А и В, что если хотя бы одно из высказываний А или В будет ложным, то ложным станет и М. Ясно, что в качестве М следует взять конъюнкцию А а В. Итак, искомое высказывание имеет следующий вид: (А л В)-+ С. 1.16. Определите логическое значение последнего высказывания, исходя из логических значений всех предыдущих высказываний: а) Х(А-+В)=1, б) ЦА-+В)=1, в) Х(А<+В) = 0, г) Х(АлВ) = 0, Х(А-+В) = 1, Х(В-+~\А)=; д) Х(А++В) = 0, X(A->B) = l, X((-iA->B)<+A)= ; е) X(AvB) = l, X(A-±B) = l, X(iB->A)=; ж)Х(АлВ) = 0, Х(А<+В) = 09 Х(А-*В) = \, Х(А)=; з) Х(А лЯ) = 0, Х(А<+В) = 0, Х(А->В) = 19 Х(В)=; и) Х(АлВ) = 0, X(AvB) = l, X(A->B) = l, Х(В->А)=; к) Х(А->(В<г>А)) = 0, Х(А-+В)=; л) ЩАчВ)->А)=1, Х(А->В)=1, м)ЦА<+В) = 1, ЩА-+ В) л(-тА-+ Ре ше ни е. л) Из первого условия Х((А v В) -> А) = 1 заключаем, что невозможна ситуация, когда Х(А vi)=l, а Х(А) = 0, т. е. Х(А) = 0 и при этом Х(В) = 1. Второе условие Х(А v5) = l исключает ситуацию, при которой Х(А)=1 и Х(В) = 0. Следовательно, высказывания Аи В имеют одинаковые значения истинности. Значит, одинаковые значения истинности имеют и их отрицания ~лА и -л В. А раз так, то высказывание -ъ4 <-» -iB будет истинным. м) Из условия Х(А<г> В) = 1 следует, что Аи В имеют одинаковые значения истинности. Тогда одинаковые значения истинности имеют и их отрицания -\А и -iB. Значит, обе импликации А -» В и —1>4 -» -il? истинны. Следовательно, истинна и конъюнкция двух последних высказываний. 1.17. Для каждого из помещенных ниже высказываний определите, достаточно ли приведенных сведений, чтобы установить его логическое значение (если достаточно, то укажите это значение; если недостаточно, то покажите на примерах, что возможны и одно и другое истинностные значения): а) Ал(В-+С), Х(В-+С) = 0; б) Av(B-+C)9 в) -i(AvB) г) (Л->Я) д) (AaB)- е) -i(B->A) ж)(А<*В)у(АаС), МЛ) = 0; 13
з) (~\(A->B)->(A a-\B))v С, и) (А л-iC)<-> ((-l4 v-iC) -4(5л D)), Х(А v 5) = 0; л) (,4->CBv-iC))<->C, А.(С) = 0; м) (Л л В) -> ((-ъ4<-> С) л (В v С)), ЦЛ л В) = 1. Решение, л) Поскольку А,(С) = 0, то M-iC)=l и, следовательно, М^ v -iC) = 1, независимо от значения Х(В). Далее, имеем Х(А -> (2? v -iC)) = 1, независимо от значения Х(А). Наконец находим Х[((А-» (5v пО) <-> С]= МЛ -> (Вv -IС)) <->МО = 1 <->0 = 0. Таким образом, если С — ложное высказывание, то и все данное высказывание также будет ложным, т.е. приведенных сведений достаточно для того, чтобы определить логическое значение данного составного высказывания. м) Поскольку Х(АаВ) = 1, то Х(А) = 1 и Х(В) = 1. Тогда Х(Вv v С) = 1, независимо от значения Х(С). С другой стороны, относительно значения Х(-чА <-» С) мы не можем высказаться определенно при имеющихся данных (X(-iA) =0). Оно может оказаться как истинным (при Х(С) = 0), так и ложным (при Х(С) = 1). В первом случае следствие данного составного высказывания окажется истинным, а во втором — ложным. Следовательно, в первом случае, т.е. при Х(С) = 0, данное в задаче высказывание истинно, а во втором, т.е. при Х(С) = 1, — ложно. Таким образом, приведенных сведений недостаточно для того, чтобы установить логическое значение данного высказывания. 1.18. Существуют ли три таких высказывания А, В, С, чтобы одновременно выполнялись для них следующие условия: а) Х(А л£)=1, Х(АлС) = 0, X(AaBaiC) = 0; б) Х(В в) Х(А г) Х(А д) e) з) Х(А vC)=l, и) X(B vC) = 0, к) МЛ лС) = 1, л) МЛ v-lB) = 0 Р е ш е н и е. л) Из первого условия, по определению дизъюнкции, следует, что Х(А) = 0 и M-il?) = 0, т.е. Х(В) = 1. Тогда второе данное условие, по определению импликации, влечет Х(А v С) = 0. Отсюда МО = 0. Следовательно, A,(-iC->-i2?)= -iA,(C)-»-iA,(2?) = = -i0->nil = l->0 = 0, что противоречит третьему данному условию. Значит, трех высказываний А, В, С, удовлетворяющих данным условиям, не существует. 1.19. Для каких из следующих высказываний их логическое значение не зависит от логического значения высказывания А: 14
а) АлО; г) Av-iA; ж)А-^пА; к) -\А->А; б)А->1; д)ЛуО; з)Лл1; л) Av 1; в) А-+А; е) 0->у4; и) А<->А\ м)А+*-)А. Р е ш е н и е. л) По определению дизъюнкция двух высказываний истинна тогда и только тогда, когда по меньшей мере одно из этих высказываний истинно. Следовательно, высказывание A v 1 истинно, независимо от логического значения высказывания А. м) Ясно, что высказывания А и -\А имеют противоположные логические значения (т.е. О и 1 или 1 и 0). Поскольку эквивалентность двух высказываний истинна тогда и только тогда, когда эти высказывания имеют одинаковые значения истинности, то эквивалентность А<г>-\А высказываний Аи-iA ложна, независимо от значения истинности высказывания А. 1.20. Докажите теорему об обратимости системы двух импликаций: если истинны высказывания Ах-> Ви А2-> Въ Ах у Аъ -\(B\ л л 2?2), то истинны и высказывания Вх ->у4ь 2?2->Л2. 1.21. Докажите теорему об обратимости системы т импликаций (принцип полной дизъюнкции): если истинны высказывания Ах->Ви А2->В2,..., Ат->Вт, Ах vA2 v... v Ат, н(Дл£у), /*/, у=1,2, ...,/и, то истинны и высказывания Вх-±Аи В2->А2,..., Вт -» Ат. Формулы алгебры высказываний. Пропозициональными переменными называются такие переменные, вместо которых можно подставлять конкретные высказывания. Эти переменные будем обозначать: Р, Q, R, S, ..., Рь Ръ Р3, ..., X, Y, Z, Хь Хъ Х3, ... Понятие формулы алгебры высказываний определяется следующим (индуктивным) образом: а) всякая пропорциональная переменная есть формула; б) если Fx и F2 — формулы, то выражения iF9 (Fx л F2), (Fx v v F2), (Fx ~> F2)9 (Fx <r> F2) также являются формулами; в) других формул, кроме построенных по правилам двух предыдущих пунктов, нет. Обычно внешние скобки у формулы договариваются не писать. Подформулой формулы называется всякая ее часть, которая сама является формулой. Если Р(Хи Хъ ..., Хп) — формула алгебры высказываний, содержащая пропозициональные переменные Хь Хъ ..., Хп, и АХ,АЪ ..., А„— некоторые конкретные высказывания, то, подставив последние в данную формулу вместо соответствующих пропозициональных переменных, получим составное высказывание F(Ax,A2,...,An). Логическое значение X(F(Ax,A2,...,An)) этого высказывания можно определить, если теперь вместо высказываний Аь Аъ ..., Ап вставить символы их логических значений (0 или 1), а затем выполнить над этими символами последовательно все предписываемые формулой операции, т.е. X(F(AU Аъ ..., An)) = F(X(Ax), ЦА2), ..., Х(АЯ)). Например, если 15
Х(А{) = 1, Х(А2) = 0> Н^з) = 1, то логическое значение составного высказывания (Ах ->А2) л -ь43 есть Х((АХ ->А2) л -ъ43) = = (ЦЛ,) -> ЦЛ2)) л 1А.(>4з) = = (1 -> 0) л -il = 0 л 0 = 0. В этом случае говорят, что формула (Хх -> Х2) л -iX3 принимает значение О, если входящие в нее переменные Хх, Х2, Хъ принимают значения 1, 0, 1 соответственно. Значок X часто опускают. Это связано с тем, что в алгебре высказываний полностью отвлекаются от содержания высказываний, а изучают их только в связи с их свойством быть истинными или ложными. Поэтому каждое ложное высказывание можно рассматривать как элемент 0, а истинные — как элемент 1 и писать вместо Х(Р) = 0 или Х(Р) = 1 лишь только Р= О или Р= 1 (этим сокращением мы будем пользоваться, в частности, при составлении таблиц истинности формул). Формула F(XX, Х2, ..., Х„) называется выполнимой (опровержимой), если существует такой набор высказываний Аи Аъ ..., Ат который обращает эту формулу в истинное (ложное) высказывание F(AU Аъ ..., Л). Формула называется тождественно истинной, или тавтологией (тождественно ложной, или противоречием), если она обращается в истинное (ложное) высказывание при всех наборах значений переменных. Обозначение тавтологии: »= F(XX, X2, ..., Хп). 1.22. Определите, является ли последовательность символов формулой: а) (PQ); б) ((P^Q)aR)^(PvR); в) (bP->Q)-*(RA(QvS))); г) <(PvnC)->(Jl-i5)); д) (P^(QaR^iP)); е) -i((-lPл-iQ) -> (Pv (Ra-iS))); ж) ((PvnQ) -> (-lPa -lRa (Q<r> R))); з) P^>Q-+R; и) -i-iP-~>P; k)(P->0)v(Q->P); л) ((PaQ)R)-+-iS; m) ((Pa (i(2-> R)) v ((nP<-> R) a n(2)). Решение, л) Данная последовательность не является формулой. В самом деле, пропозициональные переменные Р, Qn R согласно п. а) определения формулы являются формулами. Следовательно, согласно п. б) этого определения последовательность ((Р л Q)R) формулой не будет, так как входящие в нее формулы (Pa Q) и R не соединены ни одним из допустимых символов: л, v, -> и <г>. Поэтому и данная последовательность формулой не является. м) Согласно пп. а) и б) определения формулы пропозициональные переменные Р, Q, R и выражения пР, -iQ, (-\Q-+R), 16
(-iP<-> R) будут формулами. Далее, формулами будут выражения Наконец выражение ((Рл (nQ-> Л)) v ((-iP<-> Л) л -10), представляющее собой данную последовательность, также является формулой. 1.23. В следующей последовательности символов всевозможными способами расставьте скобки так, чтобы получилась формула: а) Р-> Qa-^RvS; ж) Р<-> Qa-\R->S; б) P-*-i(?vi?->-iP->-ii?; з) Pv QaiRaPvR; в) пРл (?->Л; и) -\PaQvR-> Q; г) Pv-i(?->-ii?A Q; к) -пРл Q-+iPvR; д) iPvRa QvR; л) iP<r>~\QvRa Q. е) -iPv RvP->Q; Решение, л) Вот эти формулы (внешние скобки опущены): bP<r>-*Q)v(RAQ); -i(P« -i((Q v Л) л Q); (2)); (2); Q); Q); A Q. 1.24. Выпишите всевозможные подформулы каждой из следующих формул (внешние скобки у формул опущены): а) ((Pv0)v-ii?)A(-iPv(-i{2viO); б) (Р-> Q) -> ((Р-> -iQ) -> (Ра О); в) (Pa(0v-.P)>a((-iQ^P)vQ); г) -п(РуД)л(Р-><2); д) (P<^Q) л п(Л->5); е) (Pv(Qa-iR))a(PvR); з) (P и)Ру к) (P Л) ((P<->(QA-|P))v(PA0))->(Pv(-lQAi?). Р е ш е н и е. л) Подформула — это такая связная часть данной формулы, которая сама является формулой. Связность означает, что подформулу можно без разрыва «наложить» на данную формулу. Так, часть (Р<->(Ра Q)) данной формулы таким свойством не обладает: чтобы «наложить» на данную формулу, ее нужно «разорвать» после знака «<-»». Поэтому формула (Р<->(Ра Q)) не является подформулой данной формулы. Подформулы удобно перечислять последовательно, по числу логических связок, занятых в ней. Во-первых, подформулами будут все пропозициональные переменные^ входящие. &«да*шую формулу (это подформулы 17
с нулевым числом логических связок): Р, Q, R. Далее, подформулы с одной логической связкой: iR, PaQ, nQ. Подформулы с двумя логическими связками: Qa-iR, -iQaR. Подформулы с тремя логическими связками: Р<->(0лпЛ), Pv (iQaR). Подформул с четырьмя логическими связками в данной формуле нет. Есть одна подформула с пятью связками: (P<->(Qa-iR)) v v (Pa Q). Наконец еще одна подформула совпадает с данной формулой. Таким образом, у данной формулы 12 подформул. 1.25. Составьте таблицы истинности для следующих формул и укажите, какие из формул являются выполнимыми, какие — опровержимыми, какие — тождественно истинными (тавтологиями), какие — тождественно ложными (противоречиями): а) б) в) (Pa«2v-iP))a((hQ->P)vQ); г) ((Pa-iQ)->G)-><P->Q); д) Pa(Qa(-iPv-i<2); е) ) з) и) (((Р<-> Q) <-> (Р<-> R)) <-» (Q<-> R)) <-» Р; к) n((-iP^n(P->n(e->7?))) л) ((Pv-iQ)->Q)a(-iPvQ). Решение, л) Пользуясь определениями логических связок (операций над высказываниями), составим таблицу истинности данной формулы (логические значения этой формулы записаны в последнем столбце таблицы, где сама формула обозначена F(P9 Q)): р 0 0 1 1 Q 0 1 0 1 1 0 1 0 Pv~\Q 1 0 1 1 (Pv~iQ)-+Q 0 1 0 1 -\Р 1 1 0 0 -iPv Q 1 1 0 1 F(P, Q) 0 1 0 1 Из построенной таблицы истинности видно, что данная формула выполнима, так как если, например, вместо пропозициональной переменной Р вставить в формулу ложное высказывание, а вместо Q — истинное, то вся формула превратится в истинное высказывание. Но эта формула является также и опровержимой, поскольку если, например, вместо пропозициональной переменной Р вставить в формулу истинное высказывание, а вместо переменной Q — ложное, то вся формула превратится в лож- 18
ное высказывание. Следовательно, формула не является ни тавтологией, ни тождественно ложной формулой. 1.26. Докажите, что следующие формулы выполнимы, не составляя для них таблиц истинности, а указав какие-нибудь значения входящих в них пропозициональных переменных, при которых эти формулы обращаются в истинные высказывания: а) -i(P-»-iP); б) (P-+Q)-+(Q-+P); в) (Q->(PaJ?))a-i((Pv*)->Q); г) -i((P«-iQ)vJ?)aQ; Д) е) з) и) ((Р« Q) a(Q<* R)) -> (Pv Л); к) ((Pa-iQ)v(-iPaC))«(P«G); л) (PaQ)-><(J?vQ)->(Qa-iQ)). Решение, л) Заключение второй импликации есть, очевидно, тождественно ложная формула. Поэтому если посылка R v Q второй импликации превратится при некоторой подстановке в ложное высказывание, то эта импликация станет истинным высказыванием и, следовательно, вся данная импликация превратится в истинное высказывание независимо от того, в какое высказывание обратится посылка Р л Q всей данной импликации. Посылка R v Q второй импликации обращается в ложное высказывание, когда вместо переменных R и Q подставляются ложные высказывания. Итак, данная формула выполнима, поскольку она обращается в истинное высказывание, если вместо Rn Q подставить ложные высказывания, а вместо Р — произвольное высказывание (его истинностное значение в данном случае не повлияет на истинностное значение всего высказывания). 1.27. Докажите, что следующие формулы опровержимы, не составляя для них таблиц истинности, а указав какие-нибудь значения входящих в них пропозициональных переменных, при которых эти формулы обращаются в ложные высказывания: а) ((Х-+ (УлZ)) -» (-1 Г->т¥)) ->пГ; б) ((Xv Y)vZ)-> ((Xv Y) л (Xv Z)); в) ((Xv Y)a((YvZ)a (ZvX))) -> ((Xa Y)aZ); r) (XaY)v(XaZ)v(YaZ)v(Ua V)v(Ua W)w(V a W) a Д) e) (((P-> Q) -> (R -> Q)) -> (R -» P)) -> (P^ Q); 3) (P и) «Р-» Q) л (Л-» н0) л (Pv R)) 19
к) ((Рл-iQ) a(Q-> R) a(Rv -iS)) -> (Sл Q); л) (XvY) -> ((iXaY) v(Xa-*Y)). P e ш е н и е. л) Импликация ложна лишь в одном случае: когда ее посылка истинна, а следствие ложно. Следствием нашей импликации является дизъюнкция, которая ложна тогда и только тогда, когда оба ее слагаемых ложны. Итак, наша формула обратится в ложное высказывание, если найдутся такие высказывания А и В, что высказывание A v В истинно, а оба высказывания тА а В и А л л 1.8 ложны. Если высказывания А и В имеют разные истинностные значения, то высказывания -iAaBhAa-\Вне могут быть ложны оба (почему?) Поэтому А и В либо оба истинны, либо оба ложны. Но если А и В оба ложны, то высказывание A v Сложно, что нас не устраивает. Следовательно, А и В должны быть оба истинны. Итак, мы доказали, что данная формула превращается в ложное высказывание в одном и только в одном случае, когда вместо переменных X и У подставляются истинные высказывания. Тавтология алгебры высказываний. Решить задачи 1.28—1.33. 1.28. Составив таблицы истинности следующих формул, докажите, что они являются тавтологиями: а) Pv -iP (закон исключенного третьего); б) -i(jPahlP) (закон отрицания противоречия); в) тпР<-> Р (закон двойного отрицания); г) Р-> Р (закон тождества); д) (Р-> (?) <->(i Q ->iP) (закон контрапозиции); е) ((Р^ Q)a(Q->R))->(P-*R) (правило цепного заключения); ж) (Р<-> Q) <-> (пР<-> -i(2) (закон противоположности); з) (Рл Q)<t+(QaP) (коммутативность конъюнкции); и) (Pv Q) <-> (Qv P) (коммутативность дизъюнкции); к) ((Рл Q) a R) <-» (Рл (Qa R)) (ассоциативность конъюнкции); л) ((Pv Q) v R) <-> (Pv (Q v R)) (ассоциативность дизъюнкции); м) (Рл (Q v R)) <-> ((Рл Q) v (Рл Л)) (дистрибутивность конъюнкции относительно дизъюнкции); н) (Pv (QaR)) <-> ((Pv Q) л (Pv Л)) (дистрибутивность дизъюнкции относительно конъюнкции); о) (Рл Р)<-*Р (идемпотентность конъюнкции); п) (PvP) <-» Р (идемпотентность дизъюнкции); р) (P->Q)«*(-,Pv<2); с) (P«G) <*((/>->(?) л (Q->P)); т) (Р л (Q v Р)) <-» Р (первый закон поглощения); у) (Р v (Q а Р)) <-> Р (второй закон поглощения); ф) -i(P л (?) <-> (пР v -iQ) (первый закон де Моргана); х) -i(P v Q) <-> (пР л -iQ) (второй закон де Моргана); ц) (Pv<2)« 20
Р е ш е н и е. д) Составим таблицу истинности данной формулы: р 0 0 1 1 Q 0 1 0 1 Р-> Q 1 1 0 1 1 0 1 0 -iP 1 1 0 0 п£?-> ~\Р 1 1 0 0 (Р-> Q)<r> П0-> нР) 1 1 1 1 Таблица показывает, что, какого бы истинностного значения высказывания ни подставлялись в данную формулу вместо пропозициональных переменных Р и Q, формула всегда превращается в истинное высказывание. Значит, формула — тавтология. 1.29. Составив соответствующие таблицы истинности, докажите, что все следующие формулы являются тавтологиями: а) Р->«2->Р); б) (Р-> Q) -* ((Р-> (Q->R)) -► (Р-> R)); в) р_»((2->(Рл<2)); г) Р-> (Pv Q); д) (Pa Q) ^ Р; е) (P-+(Q («разбор случаев»); з) (Р-> R) -> ((Q -» R) -> ((Рv Q) -» и) (Р-> Q) ^ «P-» -iQ) -» -iP); к) -iiP->P; л) (P-^Q)v(Q^P); м) (Р-> (2) -»((Q-> Р) -> (Р<+ Q)Y, )( р) (Р с) (/•, т) (Р, у) (P Л)) -^ ((Р-> (2) -^ (Р 2) (7)... л... a (7); Ф) х) ц) 1.30. Докажите, что следующие формулы являются тавтологиями: а) (-,P->(Qa-iQ))->P; б) ((-,P->Q)a(iP->-,<2))->.P; в) ((Рл (Лл -.Л)) Q); 21
г) Д) е) ж) з) и) (Рл(/>-> // П . /*")\ ((Р-> Q) ((/*-» Q) ((/»-»• С) a(Q-> л (/?-> л (R-> vR)+> р)) 4 <i 5)лп(С 5)) ^ ((. (P-+(Q °^>R) )vS)) D * D\ i Л /v^ v/?)); i(Pv 1.31. Докажите, что если формулы F и Р-» G являются тавтологиями, то и формула Gявляется тавтологией, т.е. если i= Ри i= F -> G, то n= (?. (Правило вывода называется «модус поненс» — МР.) 1.32. Докажите, что: а) если nFaG, и р<-> G, то и= <7-> Я; б) если и р v <7, t= (?-> Я, то и Р v Я; в) если и -iP-> <7, t=n(?v пЯ, то и Я-> Р; г) если »=пбл-пЯ, t= P v (7, то *= пР-> Я; д) если HfvG, t= p<-> (7, то и G; е) если n= P, n=P<-> (?, и= Р<-> Я, то t= Сл Я; ж) если »== -iP-> G, i=-i(?a -\Н, то i= Pv Я; з) если i= P<-> G, и (?<-> Я, то н р<-> Я; и) если и= Р, n= G, »= Я, то »= Р-> (G-> Я); к) если *= FaG, n= G-> -пЯ, то *= Р л л) если »= -ipvG, t=n(?vпЯ, то i м) если »= G-^ Р, и (-ip л Я) <-> G, t= Я, то n= пб л Я. Решение, л) Пусть P(JTlf..., ЛГЯ), (?(ДГ„ ..., ХЛ), Я(ДГ„ ..., Хп) — формулы, о которых идет речь в задаче. Предположим, что формула Р-> -пЯ не является тавтологией. Это означает, что существуют такие конкретные высказывания Аи ..., Аю что высказывание F(AU ..., Я*) истинно, а высказывание -1Я(/415..., ^4Л) ложно. Тогда высказывание ~\F(AU ..., ЛЛ) ложно. Далее, так как формула ~-\Fv G является тавтологией, то высказывание G(AU ..., Ап) истинно. Но с другой стороны, поскольку -iG v-пЯ — тавтология, то высказывание -\G(AU ..., Ап) истинно. Получили противоречие. Следовательно, формула Р-> ~>-1Я— тавтология. м) Предположим, что посылка данного утверждения верна, а заключение нет, т.е. формулы G-» Р, (iFa Я) <-> Си Я являются тавтологиями, а формула hGa Я— нет. Последнее означает: найдутся такие конкретные высказывания А{9...9АП9 что высказывание -iG(i4i,..., Л) Л Я(ЛЬ..., Ап) будет ложным. Это, в свою очередь, возможно лишь в том случае, когда по меньшей мере одно из высказываний ~iG(Ab ..., Ап) или ЩАЬ ..., Ап) будет ложным. Высказывание ЩАи ...,Ап) ложным быть не может, поскольку это противоречило бы тождественной истинности формулы H(Xi,...9Xn). Следовательно, ложно высказывание -\G(AU..., An) и, значит, истинно высказывание G(AU..., Ап). А раз так, то из 22
истинности высказывания G{AU..., An) -» F(AU..., An) вытекает истинность высказывания F(AU ..., А„). Обратимся теперь к высказыванию (-iF{Au...9 An) л ЩАи ..., Ап)) <-» G(AU..., An), которое истинно, поскольку формула (iFa H) <-> G, по предположению, является тавтологией. Ввиду истинности высказывания F(AU ..., Ап) левая часть рассматриваемой эквивалентности есть ложное высказывание. Значит, ее правая часть, т.е. высказывание G(AU..., An), также ложна. Но это противоречит истинности этого высказывания, установленной в предыдущем абзаце. Таким образом, сделанное допущение приводит в противоречию. Следовательно, допущение неверно, а верно доказываемое утверждение. 1.33. Выясните, справедливы ли следующие утверждения (если утверждение несправедливо, то постарайтесь определить, обе его части «тогда» и «только тогда» не выполняются или только одна): а) »= F<r> G тогда и только тогда, когда н= (F-> G) л (£?-> F); б) i= Fv G тогда и только тогда, когда и F или и* G; в) р= F<r± G тогда и только тогда, когда и F-> G и и <?-» F; г) n= Fv G тогда и только тогда, когда и /**и t=(7; д) и jP-> G тогда и только тогда, когда n= jp; е) »= jF-> G тогда и только тогда, когда и G; ж) и= /?--> G тогда и только тогда, когда *= -\F или »= G; з) *= F aG тогда и только тогда, когда и f и и= G; и) и= /^<-> G тогда и только тогда, когда \= F и и (7; к) и= jF v G тогда и только тогда, когда и .F или и G; л) t= F-» G тогда и только тогда, когда \= Fn и б1; м) i= -if/1 v С?) тогда и только тогда, когда ^=hjFh nhC, Р е ш е н и е. л) Данное утверждение в полном объеме несправедливо: неверна его часть «тогда» (необходимость). Для подтверждения этого нужно указать такие конкретные формулы Fn G, чтобы по меньшей мере одна из них не была тавтологией, а формула F-» G тавтологией была бы. Вот пример таких формул: F= P, G= Q-> P. Ни одна из них не является тавтологией, но формула Р-> (G-> Р) — тавтология. Еще пример: F= P-> (Q-> Л), (?= (Рл л Q) -> R. Проверьте, что этот пример действительно опровергает необходимость данного утверждения. Приведите самостоятельно аналогичный пример. Рассмотрим теперь часть «только тогда» (достаточность) данного утверждения. Оказывается, она верна. В самом деле, предположим, что и Fu и G. Это означает, что для любых высказываний Аи ..., Ап высказывания F(AU ..., А„) и G{AU ..., А„) будут истинными. Следовательно, для любых высказываний Л,,..., Ап истинным будет и высказывание F(AU ..., Ап)-+ G(Ab..., Ап). А это означает, что формула F-> G является тавтологией, т.е. 23
м) Покажем, что данное утверждение справедливо. Необходимость. Пусть и -\(F v G). Следовательно, формула F v G тождественно ложна. Но тогда, ввиду определения дизъюнкции, тождественно ложны обе формулы Ри G А раз так, то отрицание каждой из этих формул -\Fh -i G будет всегда принимать лишь истинные значения, т. е. n= п^и n= h G Докажите достаточность самостоятельно: убедитесь, что каждый логический шаг, сделанный при доказательстве необходимости, может быть проделан в обратном направлении. Логическое следование. Формула G(XU Хъ ..., Хп) называется логическим следствием формул FX(XUX2,..., Xn), ..., Fm(Xu Хъ ..., Хп), если она обращается в истинное высказывание на всяком наборе значений переменных, для которого в истинные высказывания обращаются все формулы Fu ...9 Fm. Это обозначается: Fb 1.34. Формулы F;(P, Q, R) и G,(P, Q, R) (/= 1, 2, 3; y= 1, 2, 3,..., И) от трех переменных заданы следующей таблицей истинностных значений: р 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 R 0 1 0 1 0 1 0 1 Fx 0 1 1 0 0 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 G\ 1 1 0 1 0 1 0 0 G2 1 0 1 1 1 1 0 1 <*> 1 0 1 1 0 0 1 1 G4 1 0 1 1 0 1 1 1 0 1 1 0 1 0 0 1 G6 1 1 1 1 1 1 1 1 Gl 0 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 G9 1 1 1 0 1 1 1 1 <*10 1 1 0 1 1 0 0 0 Gn 0 1 1 0 1 0 1 1 Выясните, какие из формул (/,(./= 1, 2, 3,..., И) являются логическими следствиями трех формул Fb F2, F3. Решение. 11) Формула Gn не является логическим следствием формул Fb jF2, jF3, так как при Р= 1, Q=0, R=l все формулы Fu F2, F3 принимают значение 1 (превращаются в истинные высказывания), а формула Gn при этих значениях своих переменных принимает значение 0, т.е. превращается в ложное высказывание (см. строку 6 таблицы). 1.35. Докажите, что справедливы следующие логические следования, руководствуясь определением этого понятия; выясните, 24
будут ли верны обратные следования, т. е. будет ли формула, стоящая слева, логическим следствием формулы справа: а) P+*Qt=P->Q; б) Po-iQh=PvQ; в) PaQ^PvQ; г) ((PaQ)-+(PvQ))-+Pi=PvQ; Д) (Pv<2)-»(i>AQ)t=P-><2; е) PaiQ*=(-iPvQ) ->•-!(?; ж) СР-» Q) -> -iQк= (-i<2-> P) -> Л з) (-10->Р и) (P-+Q) л к) -1(Рле) л) -iCPvQJ )Q() Р е ш е н и е. м) Составим сначала таблицу истинности для формулы -\Pa-iQ, стоящей слева от знака (= логического следования, и для формулы -|(Рл Q), стоящей справа от этого знака: р 0 0 1 1 Q 0 1 0 1 -\Р 1 1 0 0 -iG 1 0 1 0 -iPa-iQ 1 0 0 0 (*) PaQ 0 0 0 1 -|(/>л Q) 1 1 1 0 (**) Итак, логические значения данных формул -iPaiQ и -i(Pa Q) представлены в столбцах построенной таблицы, отмеченных знаками (*) и (**) соответственно. Сравним теперь эти столбцы, руководствуясь определением логического следования (алгоритм см. в Учебнике, с. 55). Столбцы нужно сравнивать построчно, так как в каждой строке представлены значения двух формул, отвечающие одному и тому же набору значений пропозициональных переменных Р и (?, входящих в эти формулы. В первой строке столбца (*) стоит 1. Следовательно (на основании определения логического следования), мы должны посмотреть, стоит ли также 1 в первой строке столбца (**), т.е. принимает ли значение 1 формула i(Pa Q) на том наборе значений пропозициональных переменных, на котором приняла значение 1 формула -iPa -iQ (в данной строке этот набор таков: Р = 0, Q =0). Посмотрев на первую строку столбца (**), мы убеждаемся, что в данном случае это действительно так. Переходим ко второй строке. В ней в столбце (*) стоит 0. Определение логического следования в этом случае никаких требований к логическому значению второй формулы п(Рл Q) не предъявляет: ее значение в этой строке (т.е. при />=0и Q-Y) может быть 25
любым. Поэтому мы можем даже не смотреть, какое значение имеется во второй строке столбца (**). Переходим к третьей строке. В столбце (*) обнаруживаем также значение 0. Поэтому переходим к четвертой, заключительной, строке таблицы. В столбце (*) в этой строке — снова 0. Таким образом, все строки таблицы просмотрены. Это означает, что мы сопоставили логические значения формул -iPa-iQ и -\(Рл Q) при всевозможных наборах значений их пропозициональных переменных и обнаружили при этом, что на всяком наборе значений переменных, на котором первая формула пРл -iQ принимает значение 1 (в нашем случае это лишь первая строка: в ней Р=0, £?=0), и вторая формула i(Pa Q) непременно принимает значение 1. По определению логического следствия это и означает, что формула ~\(Рл Q) является логическим следствием формулы iQ, т.е. hPahQj=-i(Pa Q). Дадим теперь ответ на второй вопрос, является ли формула л -iQ логическим следствием формулы и(Рл Q). Посмотрим, например, во вторую строку построенной таблицы: в ней в столбце (**) стоит 1, а в столбце (*) — 0. Это означает, что формула -i(Pa Q) при значениях переменных Р = 0, Q = 1 принимает значение 1, в то время как формула -пРл -i(? на том же наборе значений переменных принимает значение 0. Не глядя более ни в какие другие строки таблицы, на основании определения логического следствия заключаем, что формула iPaiQ не является логическим следствием формулы i(Pa Q). Заметим, что для данных формул имеется еще один набор значений переменных (это Р= 1, (? = 0), на котором «проваливается» определение логического следования формул (если говорить о следовании формулы -iP л 1Q из п(Р л (?)). В то же время на остальных наборах значений переменных определяющее свойство выполняется. Тем не менее достаточно одного «проваливающего» набора. Таким образом, формула -iPa-iQ не является логическим следствием формулы ( Q) 1.36. Докажите, что справедливы следующие логические следования, руководствуясь определением этого понятия: а) (Pv -iR) -> Q \= (P-> Q) л R; б) (P->Q)->i?t=P->(Q-»i?); в) (PvQ)->R\=(Pa-,Q)vR; г) (P-+Q)->Rt=(PAQ)->R; Д) (PAQ)- е) (P<+Q) ж) (Р v R) <-» Q f= (Pv R) <r> R; з) -i(Pv Q)t=~iPvi?; и) (Pv Q) -> R N (P-> Q) v (P<-> R); к) Рл (Q v R) t= (Pv Q) a (Pv R)\ л) (PaQ)vR*=Pv(Q-+R). 26
Выясните, будут ли верны обратные следования, т.е. будет ли формула, стоящая слева, логическим следствием формулы, стоящей справа. Решение, л) (Изучите сначала ход решения задачи 1.35, м.) Составим таблицу истинности для формул (Pa (?) v Rh Pv (Q-+ -» R), участвующих в отношении следования: р 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 R 0 1 0 1 0 1 0 1 PaQ 0 0 0 0 0 0 1 1 (Pa Q)vR 0 1 0 1 0 1 1 1 (*) G-> R 1 1 0 1 1 1 0 1 Pv(Q-> R) 1 1 0 1 1 1 1 1 (**) Последовательный просмотр по строкам столбцов (*) и (**) показывает, что как только в какой-либо строке столбца (*) появляется 1, так сейчас же в этой строке и в столбце (**) обнаруживается 1. Значит, требуемое логическое следование действительно выполняется (алгоритм см. в Учебнике, с. 55). Обратное же следование неверно, поскольку, например, в первой же строке (т.е. при Р=0, Q = 0, Л = 0) формула Pv(Q^R) принимает значение 1 (столбец (**)), а формула (Pa Q)v R тем не менее принимает значение 0 (столбец (*)). 1.37. Для следующих формул выясните, будет ли какая-либо из них логическим следствием другой: a) (P->Q)->R, PvQvR; в) R->(QvnP), P->(QaR); г) P^(QaR), (PaQ)^R; д) (PvJ?)<->Q, (PvQ)++R; e) з) P^Q, (P-+R)vQ; h)(PaQ)-+R, (Р->0) 27
л) (PaQ)->R, (PvQ)^R; m)(PaQ)^R, Pv(Q^R). P e ш е н и е. л) Составим таблицу истинности данных формул: р 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 R 0 1 0 1 0 1 0 1 PaQ 0 0 0 0 0 0 1 1 (Рл Q) -> R 1 1 1 1 1 1 0 1 (*) Pv Q 0 0 1 1 1 1 1 1 (Pv Q)^ R 1 1 0 1 0 1 0 1 Сопоставляя столбцы (*) и (**), видим, что во всякой строке, в которой в столбце (**) стоит 1, в столбце (*) также стоит 1, но не наоборот (например, третья строка). Это означает, что первая данная формула является логическим следствием второй, но вторая, в свою очередь, не является логическим следствием первой. м) Составим таблицу истинности данных формул: р 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 R 0 1 0 1 0 1 0 1 PaQ 0 0 0 0 0 0 1 1 (Pa Q) -> R 1 1 1 1 1 1 0 1 (*) Q-> R 1 1 0 1 1 1 0 1 Pv(Q-> R) 1 1 0 1 1 1 1 1 28
Сравнивая столбцы значений данных формул, видим, что в третьей строке первая формула принимает значение 1, а вторая — значение 0, в то время как в седьмой строке вторая формула принимает значение 1, а первая — 0. Следовательно, ни одна формула из двух данных не является логическим следствием другой. 1.38. Пользуясь определением понятия логического следствия, выясните, справедливы ли следующие логические следования: а) Р->0, б) Р-> Q, в) г) д) i>->0,-!/>-> Q 1=0; е) (Р-»0)->0, нР, nQHiJ; ж) Р-> Q, PvRt= (Pv R) -> (Pa Q)\ з) PvR, R-> Q*=Pv Q; и) (PaQ)->R> н0н-|Д; к) P, R->-i(PvQ)\=-nR; л) Рл 0, -\R->-iQt=R; м) (PaQ)-^R, -\Rt=-iQ. P e ш е н и е. л) Составим сначала таблицу истинности для всех трех данных формул Рл0, iR-^-^Qh R, участвующих в рассматриваемом отношении: р 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 R 0 1 0 1 0 1 0 1 (***) PaQ 0 0 0 0 0 0 1 1 (*) 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 (**) Отметим столбцы таблицы, отвечающие данным формулам PaQ, -|Л->-10, R, символами (*), (**), (***) соответственно. Чтобы проверить выполнимость определения логического следования для данных формул, нужно найти все те строки таблицы, в которых в обоих столбцах (*) и (**) стоят единицы, и убедиться, что в каждой из этих строк в столбце (***) также стоит единица. 29
Значит, доказываемое логическое следование справедливо (строки, в которых не в обоих столбцах (*) и (**) стоят единицы, автоматически удовлетворяют условию из определения логического следования: для них посылка этого условия, представляющего собой импликацию, ложна, а значит, сама импликация истинна). м) Составим таблицу истинности для всех трех данных формул: р 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 R 0 1 0 1 0 1 0 1 PaQ 0 0 0 0 0 0 1 1 (Pa Q) -> R 1 1 1 1 . 1 1 0 1 iR 1 0 1 0 1 0 1 0 hQ 1 1 0 0 1 1 0 0 Найдем те строки, в которых обе посылки (Рл Q) -» R и -\R принимают значение 1. Это 1-я, 3-я и 5-я строки. При этом в 1-й и 5-й строках формула -i Q также принимает значение 1, но в 3-й строке этого не происходит: -i Q принимает значение 0. Именно здесь «проваливается» определение логического следования, а значит, формула -\Q не является логическим следствием формул (Рл a Q) -» R и -i& 1.39. Расположите формулы так, чтобы из каждой логически следовали все стоящие после нее: а) PvQ, -,(P->(Q^P)), -i(-iPa-iG), -iPoft -тРл Q; б) Р-><2, -|/>л-10, P-^(Q^(PaQ)), Sv-iP, P<*Q; -> Q) v P, -i(J>-> Q) a -i(Q -> P), -i(/>«. Q), -.(Рл Q), в) л Q; r) v-ifi); Q, Q), Q), Q-> (Pv v(Q->P); e) (Pv -.P, P-> Q; з) (Рл Q) -». Q, -.P-> Q, ), Qv-iP, о Q), Pa Q, (hP-> Q)лР; 30
Q) ); Q, л) (-iQ-^-iPJv-iP, P->0, (-i/>-> Q) v-iP, -iP-^-iQ, Рл Q. P e ш е н и е. л) Пронумеруем данные формулы в той последовательности, в какой они записаны в условии, и составим для них таблицу истинности (проверьте самостоятельно правильность ее составления): р 0 0 1 1 Q 0 1 0 1 (1) 1 1 0 1 (2) 1 1 0 1 (3) 1 1 1 1 (4) 1 0 0 1 (5) 0 0 0 1 F-> > M\ Из таблицы видно, что (5) *= (41) и (4) *= (2). Далее, формулы (1) и (2) равносильны. Наконец (1) f= (3). Итак, требуемое расположение данных формул выглядит следующим образом: (5), (4), (2), (1), (3). 1.40. Методом от противного выясните, верны ли следующие логические следования: а) F-+G, K-+U FvK^GvL; б) F-><7, ((Fv L) л Я) -> М, L-* Яи ((Fv L) л G) в) (Fa G) -> iR, (Fa H)-*K,F^> ~iK, (Fa -iG) -> r) F->G, -iK-> д) (Fa G) -> Я, (Ял 7Q -> U ~*M-* (Ka L) t= (Fa G) е) F->(G-+H), (HaK)-*L, -iM-> (KaiL) ж) (Fv G) -> (Ял К), (Kv L)->Mt=F-+M; з) F-» ((7л Я), -i(?v К, (L-»iM) ^ iK, G-> (Fa и) (F-> G) л (Я-> Л0, (G-*L)a (K^> M), -i(I AM) к) F-><7, (7-^Я л) F-^G, К-*-лН, Решение, л) Допустим, что данное логическое следование не выполняется, т.е. существуют такие конкретные высказывания, которые превращают все формулы-посылки в истинные высказывания, а формулу-заключение F-» -iK— в ложное. Тогда из F^>-iK=Q следует, что F= 1 и нА^О, т.е. К= 1. Из F-> G= 1 и F= 1 следует, что (7=1. Далее, из HviG= 1 и (7= 1 заключаем, что Я= 1, т.е. нЯ=0. Наконец из ^->-пЯ= 1 и -пЯ=0 получаем ^Г=0. Пришли к противоречию. Следовательно, формула F-» -* пЛГне может превращаться в ложное высказывание, если все формулы F-^ G, К-±-лН, Ну п(7превратились в истинные выс- 31 M); * I;
казывания. Это означает, что рассматриваемое логическое следование верно. 1.41. Выясните, выполняются ли следующие логические следования: а) Р-> Q, R->S, PaR*= Q a S\ б) Р-> Q, R->S, -iPv-iRt=-\Qv-iS; в) Р-»0, R-+S, -iQA-\St=-iPA-iQ; г) (Pv Q)->(RaS), P*=RaS; д) (Pv Q)->(RaS), е) (P->Q) -» (RaS), ik){PvQ)->(R->S)9 3) P-> Q, R->S, PvS*= Qy R\ и) P-» 0, R-+S, PvRt= QaS; k) (Ру0)->(Лл£), (SvK)-*L 1.42. Докажите, что F*= G тогда и только тогда, когда t= 1.43. Покажите, что утверждение «i7^ G» является более сильным, нежели утверждение «Если \= F, то и (?». Другими словами, покажите, что из первого утверждения следует второе. 1.44. Покажите, что из утверждения «Если *= F9 то >= (/» не всегда следует утверждение «Fh G». Для этого приведите примеры конкретных формул Fn G, подтверждающие сказанное. Указание. Рассмотрите, например, формулы F(P, Q, R) = = (P->Q)a(PvR) и G(P, Q, R) = (P->/?). Покажите сначала, что импликация «Если и F, то и G>> истинна, так как ее посылка «t= i7» ложна. Затем покажите, что утверждение «Ft= G» ложно. 1.45. Покажите, что если из формул FhhGb качестве логического следствия можно вывести тождественно ложную формулу (например, Pa -\P)9 to Ft= G. Другими словами, если F9 iG »= Рл л-iP, то Fn С?. 1.46. Докажите или опровергните, что Ри= (7-> Ятогда и только тогда, когда Z1, п G и Я. 1.47. Докажите, что если Ft=GnFt=H, то F^GaHhF^ 1.48. Докажите, что если (г-— тавтология, то Fu Ръ ..., Fm и= G для любых формул jFlf Z^, .-., Pm- 1.49. Докажите, что если Р — тождественно ложная формула, то ее логическим следствием является любая формула: F*= G. 1.50. Докажите, что если F, G и= Н и i= F9 то G*= H. 1.51. Докажите, что если ft=(?H Ft=-\G9 тон-iF. 1.52. Докажите, что если Р, СиЯ, то F, G, Et= Я, где £ — произвольная формула. 1.53. Пусть F(P, Q, R) = (PaQaR)v(-\PaQaR)v(Pa~\Qa a -i7?) v (Pa-iQaR) v (пРл -|£?л пЛ); (?(Р, Q, Л) = (пРл -10л пЛ) v (пРл -1Q a R) v (пРл Qл Л) v (Рл лн(2лД), Я(Р, 0, /?)= (-iPA-iQA-i/?)v(nPA 0л R) v (Рл-10л л R). 32
Докажите, что для произвольной формулы Е алгебры высказываний F, G t= Е тогда и только тогда, когда Н'и Е. Равносильность формул. Формулы Fu G называются равносильными, или эквивалентными (обозначение: F= G), если при любых значениях переменных логические значения получающихся из формул FviG высказываний совпадают. 1.54. Докажите, что формулы Fu G равносильны тогда и только тогда, когда формула F<r+ G является тавтологией, т.е. F= 1.55. Используя утверждение предыдущей задачи и тавтологии из задачи 1.28, установите следующие равносильности: а) Pv-iP=l, Pa~iP=0; б) PvOsP, Pvlsl; в) PaOsO, Рл1 = Р; г) ->-\Р=Р; Д) PaQ=QaP; е) PvQ=QvP; m)(PaQ)aR=Pa(QaR); з) (PvQ)vR=Pv(QvR); и) Pa (Qv R) = (Pa Q) v (Pa R); k) Pv (Qa R) s (Pv Q) a (Pv R); л) PaP=P; m)PvP=P; h)Pa(QvP)sP; o)Pv(0aP) = P; n) c) -.(Pa Q) = -.Pv t) -i(Pv y) PvQ 1.56. Следующие формулы преобразуйте равносильным образом так, чтобы они содержали только логические связки -i, a, v: а) ((X^Y)a(Y->X))->(XvY); б) ((*-> У) л (Y^> -iX)) -+ (Z->X); в) ((Х^> Y) л (-iX-> -i У)) -> ((Zv У) л (-iXv -i У)); г) ((Z<H>-iy)->Z д) (Х->(У^Z)) е) (*^ з) и) (Х^> У) ^. ((Х^- -I У) -> (ЛГл У)); л) Решение, л) Проделаем требуемые равносильные преобразования: ЛГ-> -|(Уо Z)s-iZv -1(У<^ Z) = -iZv((y-»Z)A(Z-> -> У)) s nZv -i((-i Уу Z) л (nZv У)). 2 Игошин 33
1.57. Следующие формулы преобразуйте равносильным образом так, чтобы отрицание было отнесено только к пропозициональным переменным и не стояло перед скобками: а) -i((^A(-nyv-iZ))vZ); б) -|((Хл У) v -iZ) -► -i(Xa Z); в) -\(U-> -1(гл-|(Ул г) -|(-|(-|(*л У) -► У) д) -i(-i(Xv (-i У л Z) v nZ) v (У a Z)); е) -i((-iJSTa -i У) -> (JTv (Za i Г)); з) -!((-!*■<->•-■ У) vZ) л У; к) -i((Zv -I У) -► У) a (iXv У)); л) (Х-> У)-»-!(*<-»iZ). Р е ш е н и е. л) Проделаем требуемые равносильные преобразования: (Х-+ У) -» -i(X<-> -iZ) a (-iJSTv У) -> л(ЛГч* iZ) a -i(-i*v У) v v -!((*-► iZ) л (-iZ-> X)) = (i-iZa У) v -i((-iJirv -iZ) a (-i-iZv v X)) a (Xa -i У) v (n(-ilv -iZ) v n(Zv ЛГ)) а (1л -i У) v (-iiJTa л п-iZ) v (-iZa -i^O = (Xa -\ Y) v (ЛГл Z) v (-iXa -\Z). 1.58. Следующие формулы преобразуйте равносильным образом так, чтобы они содержали только логические связки пил: а) (Xv У) б) (-iZ^ в) ((XvYvZ)->X)vZ; г) д) е) (X-+Y)-+(YaZ); з) (( и) ((*-> (Ул Z)) -> (-1У-^. -1X)) -> -I У; к) ((*->• У) л (У^. Z)) -» (A'-)- Z); л) (-1* <+ Y)->Z. Р е ш е н и е. л) Проделаем равносильные преобразования: )^Z= ->(пХ<-> Y)vZ= -.((-.*-> Y)a(Y^> -iX)) v Z= У) л (-iYv-iX)) vZ= -i(Xv Y) v-i(-iXvi7)v л -i У) v (-i-iZa -i-i У) v Z= (iIa -i У) v (Хл У) v Z= л-1У)лп(Хл y>A-iZ). 1.59. Каждую из формул предыдущей задачи преобразуйте равносильным образом так, чтобы она содержала только логические связки -I и v. Решение, л) Воспользуемся результатом равносильных преобразований данной формулы, выполненных в предыдущей задаче, и продолжим преобразования для решения данной задачи: ЫГ<-» Y) ^ Z= ЬХа пУ) v (Хл У) v Z= -i(-i-l*v -пУ) v v -i(-iXv-iy) vZ=-i(Xv y)v-i(-iXv-iy)vZ. 34
1.60. Производя равносильные преобразования с использованием равносильностей из задачи 1.55, докажите, что все формулы из задачи 1.29 являются тавтологиями. Р е ш е н и е. е) Покажем, что левая часть эквивалентности равносильна правой. Для этого равносильным образом преобразуем левую часть (используем равносильности из задачи 1.55, п, к): P^>(QaR) = -iPv(QaR) = (-\Pv Q)a(-iPvR) = (P-+ Q) а л (Р-> R). Тогда на основании утверждения задачи 1.54 заключаем, что данная формула действительно является тавтологией. н) Покажем, что эта формула равносильна 1 (истинному высказыванию): ((/>-» (?) -> Р) -> Р= -i(-i(-iPv Q) v Р) v P= -i((-i-iPa л -iQ) v Р) v Р= -!((Рл iQ) v Р) v Р= ЫРл -!<2) л -iP) v Р = = ((-iP v Q) л -iP) v P = -пР v P = 1. В процессе преобразований использованы равносильности п, т, с, д, е, н, а из задачи 1.55. 1.61. С помощью равносильных преобразований установите тождественную истинность формул из задачи 1.30. 1.62. Применяя равносильные преобразования, приведите следующие формулы к возможно более простой форме: a) -.(-.PvQ)->((PvQ)->.P); в) (P-><2)a(0-»P)a(Pv<2); г) (Р-><2)Л(0-*-1Р)л(Л-).Р); д) (PaJ?)v(Pa-i/?)v(Qa.R)v(-!Pa<2a.K); е) (P-><2) з) (Po(2) и) (Р-> 1Q) a ((P-> Q) v (R -> Р)); K)-n((P->e)AP)A(-iPv-i(2); л)(Ро(3)а(Ру(2). Р е ш е н и е. л) Проделаем необходимые равносильные преобразования (проанализируйте их самостоятельно, выявив на каждом шаге ту равносильность, которая там применена): (Р<-> Q) a (Pv Q) = (Р->- Q) л (Q-> Р) л (Pv Q) = (nPv (2) л А ("1(2 V Р) A (PV Q) = (nPv Q) A ((PV П(2) A (PV Q)) = (iPv Q) A a (Pv (-iQa 0)) = (iPv Q) л (Pv 0) s (-.Pv Q) л P= (iPa P) v (Qa a P)) = 0 v (Pa Q) & Pa Q. 1.63. С помощью равносильных преобразований докажите, что следующие формулы являются тождественно ложными: а) ((Р-><2)->Р)а-.Р; б) (i((Xv Y) -> -.(*-> Y)) v -i(Za У)) ^. i((Z-> nZ) v Z); в) -i(((I-> У) а г) ((X->-iF)-> д) (Z->- -л{Ха -iZ)) -> (i(Zv Z) a Xa Y); е) ((-.Р-> -.(2) ^ ((-.Р^ (2) -> Р)) -^ --((->Р^ Р) ^ Р); ж)-!0лРа(Р-»0); з) (PvQ)<h.(-iPa((2^-.Q)); 35
и) (Р-> (Q-+ R)) л (Р-> Q) л Рл iR; к) ((Хл -I У) v (Хл -iZ)) <-► ((Х-> У) л (Х-+ Z)); л) ((Р-> -1Q) -> ((пЛ -> -15) -> (Рл Q))) л -1(7? -► Р). Решение.л) Выполним равносильные преобразования: ((Р -> -iQ) -> ((-ii? -> -.5) -> (Р л Q))) л -1(Я -> Р) = (-.(iP v v -iQ) v (-i(RyiS) v (Рл Q))) л -.(-lR v P) = ((Рл Q) v (пЛ л S) v v (Рл Q)) л (-iPa Л) s ((Рл Q) v (-.Ял 5)) л (пРл Л) s (Рл (2л л -пР л Л) v (~\R aSaiPaR) = OvO = Q. 1.64. С помощью равносильных преобразований установите, какие из следующих равносильностей действительно выполняются: a) б) в) Р-> (Q<* R) s (Р-> 0) ^ (Р-> г) Рл(д<->Л) = (Рле)<->(РлД); д) Pv(Q+*R) = (PvQ)+±(PvR); е) Рл(е->Л) = (Рл0)^(/)лЛ); ж) Pv (Q-> Л) s (Pv (2) -^ (Pv P); з) (Р->{2)лЛ=(РлД)->«2лД); и) (Р-+ Q) v R= (Pv R) -± (Qv R); К) л) Решение, л) Р->(Р л Q) = -iP v(P л Q) = (-iPvP)a(-iPv v(2) =1a(P->(2) = P^Q. м) Данная равносильность не выполняется, так как для формулы слева имеем Р-> (Pv Q) = nPv (Pv Q) = (nPv P) v Q= 1 v v 0= 1, т.е. формула P-+(Pv Q) является тавтологией, в то время как формула справа Р-> Q, очевидно, тавтологией не является. 1.65. Чему равносильны следующие выражения (формулы): а) Р->0; г) 1->Р; ж)0->-пР; к) 0<->-iP; б) Р-> 1; д) Р<-> 1; з) -iP-> 0; л) 1 -> пР; в) 0->Р; e)-iP~>l; h)1<^-iP; m)P<->0. Решение, л) По определению импликации имеем 1 -> 0 = 0, 1 —> 1 = 1, т.е. при значении посылки, равном 1, значение всей импликации совпадает со значением следствия. Значит, 1 -> -iP = м) Для эквивалентности имеем 0<->0=1, 1 <->0 = 0, т.е. при ложном одном высказывании логическое значение эквивалентности двух высказываний противоположно логическому значению второго высказывания. Следовательно, Р<-> 0 = -iP. 1.66. Докажите, что для нахождения отрицания произвольной формулы, составленной из пропозициональных переменных и логических связок л, v, и, достаточно всюду заменить знак л на знак v, знак v заменить на знак л, всякую переменную, входящую в формулу без знака отрицания, заменить на ту же переменную со знаком отрицания, а все имевшиеся знаки отрицания уничтожить. 36
1.67. Найдите отрицание каждой из следующих формул: а) (Хл (Yv iZ)) v (iXa Y)\ б) ((-\Xa-\Ya-iZ)vR)a-iUa-iVa~iW; в) (((-lJTa (-1 Yv Z)) v P) a -lQ) v (~}R a(Sv-iT)); r) -i(Xv-iY)v((iXv-\YvZ)aXa Ya~\Z); д) (Xvn(nlv Y) v (nYa -iZ)) а -1(АлZ); е) ЛГл ((Хл -i У) v -i(-iJJTv -i 7v Z)); ж) (((-iJJTa Гл -iZ) v (Хл iYaZ))a(YvZ))v (Хл Ya Z); з) -i(Jfv -l У) л ("iZv Yv -iZ) л (-i 7v -iZ); и) (nlA(7vZ))v(lAnZ); к) JTv i((iXv -i Yv nZ) л (Xv Yv Z))\ л) ((^Гл (-17v (-iZa P))) v -i Q) л R. P e ш е н и е. л) Руководствуясь правилом, сформулированным в задаче 1.66, выписываем отрицание данной формулы: (("iXv (Ya л (Zv -ijP))) л Q) v -i ft Отметим, что для упрощения формулы иногда бывает удобно сначала найти ее отрицание, упростить его, а затем снова взять отрицание полученного результата. 1.68. Сколько существует неравносильных между собой формул б?(Р, Q, R) от трех переменных, являющихся логическими следствиями формулы: а) (Р-> Q) -> R; ж) (Р<-> Q) л -iJ?; б) Pv QvR; з) Рл QaR\ в) (Pv R) -> (Рл Q)\ и) (-iPa Q) <-» -ift; г) (PaG)->-i*; к д) P<r>(Q-±R); е) (Р-> G)v(P->/?); л)1Ру(0л/г). Р е ш е н и е. л) Составим таблицу истинности данной формулы: р 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 R 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 QaR 0 0 0 1 0 0 0 1 -iPv(QaR) 1 1 1 1 0 0 0 1 G(P, Q, R) 1 1 1 1 * * 1 Вспоминая определение логического следствия, постараемся понять теперь, как может выглядеть столбец значений формулы 37
G(P, Q, R), являющейся логическим следствием данной формулы -\Р v (Q л R). В тех строках, где данная формула принимает значение 1 (у нас это строки 1, 2, 3, 4 и 8), формула G, являющаяся ее логическим следствием, может также принимать лишь значение 1 (см. столбец значений формулы G В тех же строках, где данная формула принимает значение 0 (у нас это строки 5, 6 и 7), ее логическое следствие Сможет принимать любое значение (в столбце G таблицы эти места отмечены знаком *). Таким образом, исходная задача свелась к определению числа формул, у которых столбец значений истинности имеет указанный вид: в строках 1, 2, 3, 4 и 8 стоят единицы, а в остальных — произвольные значения. А это число, очевидно, равно числу способов, какими можно расставить 0 и 1 на трех вакантных местах (отмеченных знаком *), т.е. числу наборов длины три, составленных из 0 и 1. Последнее, как нам известно, равно 23. Ясно, что все эти формулы будут не равносильны между собой, так как имеют различные столбцы значений. 1.69. Сколько существует не равносильных между собой формул jF(P, Q, R) от трех переменных, из каждой из которых логически следует соответствующая формула предыдущей задачи? Р е ш е н и е. л) Воспроизведем найденную в предыдущей задаче таблицу истинности данной формулы nPv (QaR): р 0 0 0 0 1 1 1 1 Q 0 0 1 1 0 0 1 1 R 0 1 0 1 0 1 0 1 -IP 1 1 1 1 0 0 0 0 QaR 0 0 0 1 0 0 0 1 -\Pv(QaR) 1 1 1 1 0 0 0 1 F(P9 Q, R) * * * 0 0 0 * Вспоминая определение логического следствия, постараемся понять теперь, как может выглядеть столбец значений формулы F(P, Q,R)9 для которой данная формула -iPv(QaR) является логическим следствием. В тех строках, где данная формула принимает значение 0 (у нас это строки 5, 6 и 7), формула F, логическим следствием которой будет данная формула, может также принимать лишь значение 0 (см. столбец значений формулы F в 38
последней таблице). В тех же строках, где данная формула принимает значение 1 (у нас это строки 1, 2, 3, 4 и 8), формула F, из которой логически следует данная, может принимать любое значение (в последней таблице в столбце F эти места отмечены знаком *). Таким образом, искомое число формул равно числу двоичных наборов длины пять (столько вакантных мест отмечено знаком * в столбце значений формулы F), составленных из 0 и 1. Это число, как нам известно, равно 25. Каждому получаемому двоичному набору будет отвечать некоторая формула (ее можно найти с помощью СДН- или СКН-формы; см. § 2), причем формулы, отвечающие разным столбцам, будут не равносильны между собой. Упрощение систем высказываний. Решить задачи 1.70—1.71. 1.70. Упростите данную систему истинных высказываний, т.е. найдите логически эквивалентную ей систему, состоящую из меньшего числа не более сложных высказываний: а) C->(AvB), (ВлС)-+А, (АлВ)->С; б) A->{BvC), B->(AvC), (АлВ)->С; в) у4->Я, A->(Bv С), B-+ С; г) P-*(QvR), W-+(SvT),R-+(Qv-iP), (WaT)-^-\S; д) W->(MvS), R-+T, -iQ-^Г, M->(SvW), P-+(TvR); е) -ъ4 -» (B v С), В-► i(A a C), C-> (A v -i Я), A -» (B v С), (А л л -\В) -> С; Pv Q, Q-*P\ з) P-»Q, Q->-iP, R-+P; и) AvQ B-+C, (ВлС)->А; к) А а В, 5~>С, C->(AvB); л) А^В, С-+В, (BaC)->A. P e ш e h и е. л) Упрощение совокупности высказываний основано на том, что каждое из высказываний данной совокупности будет истинным тогда и только тогда, когда истинна конъюнкция всех этих высказываний. Поэтому, составив конъюнкцию из данных высказываний и приведя ее равносильными преобразованиями к конъюнкции более простого вида, можно получить более простую систему высказываний, эквивалентную данной. В нашем случае имеем следующую конъюнкцию, которую последовательно упрощаем: (А-+ В) а (С-> В) а ((Ва С)-+А) = bAvB) a (-iCv В) а (п(5л л С) v А) = (-ъ4 v В) а (-1С v В) а (пВ v и С v А) = (~iA v В) л ((А л л ну4) v Вv-iC) л (A v-i5v-iC) = (~vl v В) л (A v Bv~\C) л (~\А v Bv v-iC) л (A v-iJ? v-iC) = ЬА v 5) л (у4 v (Ва ~\В) v пС) = ЬА v 5) л л (Л v -.С) = {А -+ В) а (С-^ А). Следовательно, все высказывания данной системы будут истинны тогда и только тогда, когда будут истинны высказывания А -> В иС->А Поэтому данная система трех высказываний оказалась логически эквивалентной более простой системе двух высказываний 39
1.71. Для каждой из следующих систем высказываний найдите логически эквивалентную ей, но более простую систему высказываний, если известно, что в данной системе по меньшей мере одно высказывание истинно: а) -1(Л->Я), iBaA, iDaC, -i(C->A); б) АлВл С, п>4лп5лпС, Ал 5л1С, ~i{A v 5v-iC); в) P->Q, -i(G->P), PaQ; r) AaiBaQ Aa-}(B->-\C), Aa-i(BvC); д)Аа-\ВаС, -i(A-*C)aiB, пу4л-|(С->5); e) ~\Av B, A<+B; ж)А-±В, Bv C, AaC\ 3) >4->(5vC), Bv{A-*C), Cv(A->B), Bv C; и) AaBa~\C, -i(^-> С)л-пу4, Лл(5у C); к) -1Л л С, А -> 5, 5 v (A -» С); Решение, л) По меньшей мере одно из высказываний данной совокупности будет истинным тогда и только тогда, когда истинна дизъюнкция всех этих высказываний. Поэтому, составив дизъюнкцию из данных высказываний и приведя ее с помощью равносильных преобразований к дизъюнкции более простого вида, можно получить более простую систему высказываний, эквивалентную данной. В нашем случае имеем следующую дизъюнкцию, которую затем упрощаем: {А а В a -iC) v (-|(Л -> 5) л -iC) v {-\A a -i(5-> С)) = {А л 5л л -iC) v (-i(-vl v 5) л и С) v {-лА л -i(~i5 v С)) = {А л 5л -\С) у {А а л-»5л -iC) v {-лА а Вa-iC) = {{А а ВA-iC) v {A a-iBa-iC)) v {{А а а В a -iC) v {-\Аа В а пС)) = {A a (5v -i5) л-iC) v ((/4 v-гЛ) л 5л л -iC) = (Лл -iC) v (5л -IС). Следовательно, по меньшей мере одно высказывание из данной системы будет истинным тогда и только тогда, когда будет истинным одно из высказываний Аа~\С или 5 л -i С. Поэтому данная система трех высказываний логически эквивалентна более простой системе из двух высказываний А л пС, 5 л -i С. § 2. Нормальные формы для формул алгебры высказываний и их применение Конъюнктивным {дизъюнктивным) одночленом от переменных Хи Хъ ..., Хп называется конъюнкция (дизъюнкция) этих переменных или их отрицаний. Дизъюнктивной {конъюнктивной) нормальной формой называется произвольная дизъюнкция (конъюнкция) конъюнктивных (дизъюнктивных) одночленов. Сокращенная запись: ДН- форма и КН-форма соответственно. Одночлен от некоторых переменных называется совершенным, если каждая из этих переменных входит в него ровно один раз, со знаком отрицания или без него. 40
Нормальная форма от некоторых переменных называется совершенной, если каждый входящий в нее одночлен является совершенным одночленом от тех же самых переменных. Сокращенная запись: СДН-форма (или СДНФ) — совершенная дизъюнктивная нормальная форма, СКН-форма (или СКНФ) — совершенная конъюнктивная нормальная форма. Например, (Х{ л ~\Х2 л Х3) v {Хх л Хъ) v ~лХ2 — дизъюнктивная (но не совершенная) нормальная форма от трех переменных Хи Хъ Хз, 3l (Х{ v -iX2) л (-iJifi v Х2) л (iXi v -iJSf2) — совершенная конъюнктивная нормальная форма от двух переменных Хх и Х2. Отыскание нормальных форм. Решить задачи 2.1 — 2.18. 2.1. Приведите равносильными преобразованиями каждую из следующих формул к дизъюнктивной нормальной форме: а) (X<r> У) л -i(Z-> Г); б) ((*-» У) -> (Z-» -лХ)) -> (У-> -iZ); в) {Х-> (У-> Z)) ^ ((Х-> -iZ) -> (Х-± -i7)); Г) ((^^ Y) v -!Z) ~> (Zv (Jif<-> Z)); д) (Z-->y)->Z; е) з) (^^y)-^(^AZ); и) (Х++ Y) -> ((-iZ-> Z) -> -i У); к) (Ivn(r-^Z))A(IvZ); л) -i(XvZ)a(X-*Y). P e ш е н и е. л) Всякую формулу равносильными преобразованиями можно привести к ДН-форме. Для этого нужно руководствоваться следующими правилами (алгоритмом): 1) сначала избавиться от операций импликации и эквивалентности, выразив их через логические связки -i, л и v по законам: Х-> У= -iJSTv У, Х±± У= (iXv У) л (-1Уv X); 2) довести знаки отрицания до независимых переменных, используя законы де Моргана: -i(JTv У) = iXa -i У, -\(Хл У) = -\Х v -i У; 3) применяя закон дистрибутивности (Xv Y) aZ=(XaZ)v v (УaZ), преобразовать формулу к дизъюнкции конъюнктивных одночленов; 4) постоянно избавляться от двойных отрицаний: -тХ= X. Обратимся к нашей формуле и преобразуем ее к ДН-форме, руководствуясь приведенными правилами: i(Xv Z) a (X-* У) = (-iXa -iZ) л (-iJTv У) s п^Гл (-iZa (nlv v У)) s пДГл ((hZa -iX) v (-iZa У)) = (-iJTa hZa -i^) v (п!л Ул л -iZ) = (-iAa -iZ) v ("iJTa Ул nZ). 2.2. Приведите равносильными преобразованиями каждую из формул задачи 2.1 к конъюнктивной нормальной форме. Р е ш е н и е. л) Каждую формулу равносильными преобразованиями можно привести к КН-форме, руководствуясь четырьмя правилами, приведенными при решении задачи 2.1, л, с той лишь 41
разницей, что в правиле 3) следует использовать другой (двойственный) закон дистрибутивности: (Xл У) v Z= (Xv Z) л (Yv Z). Преобразуем данную формулу: -i(JTv Z) л (*-► У) = (iXa -iZ) л (-iAV У) s (н^л -iZ) v (нЛГл л Г л -iZ) = ((-ъГл -iZ) v пА) л ((-iJTA-nZ) v У) л ((пЛСл -iZ) v v -.Z) s -iJT л ((-i* v У) л (-.Z v Y)) л -iZ s (-1* л ЬХ v У)) л л ((-iZ v У) л -iZ) = п!л nZ 2.3. Применяя равносильные преобразования, найдите СДН- форму для формул из задачи 2.1. Решение.л) Чтобы привести формулу к СДН-форме, нужно сначала равносильными преобразованиями привести ее к какой- нибудь ДН-форме (см. задачу 2.1). При этом нужно убрать члены дизъюнкции, содержащие переменную вместе с ее отрицанием (если такие окажутся), а из одинаковых членов дизъюнкции удалить все, кроме одного. Далее, если какой-либо конъюнктивный одночлен в ДН-форме содержит не все переменные из числа входящих в исходную формулу, то его умножают на единицы, представляемые в виде дизъюнкций AJv-iA} каждой недостающей переменной Xt с ее отрицанием -лХг (закон исключенного третьего). Затем раскрывают скобки внутри каждого такого конъюнктивного одночлена, применяя закон распределительности (дистрибутивности) конъюнкции относительно дизъюнкции. Наконец, если среди членов полученной дизъюнкции окажутся одинаковые конъюнктивные одночлены, то из каждой серии таковых следует оставить по одному. Приведем данную формулу к СДН-форме, начав преобразования с ДН-формы, полученной при решении задачи 2.1: n(Iv Z) л (*-> У) = (п!л -iZ) v (пЛГл Ул -iZ) = ((iJTa iZ) л л (Уv -i У)) v (-ъГл Ул -iZ) = ЬХл -iZa У) v (-*Хл -iZa -1 У) v (чХл л Ул -iZ) = (пЛГл Ул -iZ) v (-ьГл -i Ул -iZ). 2.4. Применяя равносильные преобразования, найдите СКН- форму для формул из задачи 2.1. Решение.л) Правила приведения формулы к СКН-форме двойственны соответствующим правилам приведения к СДН-форме. Начав с какой-нибудь КН-формы данной формулы (см. задачу 2.2), нужно в каждом ее дизъюнктивном одночлене, в котором присутствуют не все переменные из числа входящих в данную формулу, добавить (через дизъюнкцию) нули, представляемые в виде конъюнкции Xi л пXi каждой недостающей переменной Х{ с ее отрицанием -\Xh Затем внутри каждого такого дизъюнктивного одночлена раскрыть скобки, используя закон распределительности (дистрибутивности) дизъюнкции относительно конъюнкции. Наконец, если среди членов полученной конъюнкции окажутся одинаковые дизъюнктивные одночлены, то из каждой серии таковых следует оставить по одному. Приведем данную формулу к СКН-форме, начав преобразования с КН-формы, полученной при решении задачи 2.2: 42
-i(A"v Z) л (X^- Y) = -пЛГл iZ= (чДГv (У л -i Г)) л (iZv (Xл л iJO) s (-iJTv У) л (-iXv п У) a (Xv -iZ) л (i* v iZ) = (-iJSTv У v v (Za -iZ)) л (-i* v -i У v (Za -iZ)) л (Xv iZv (Гл -i Y)) л (nlv iZv v(yv-iIO=(-iArv Yv Z)a(-\Xv yv-iZ)A(-iZv-irvZ) v -i У v -iZ) л (X v У v -iZ) л (JT v -i У v iZ) л (-i* v Уv -iZ) л v -i У v iZ) s (-iJTv У v Z) л (-iJTv У v -iZ) л (nJfv -i У v Z) л (nJfv v -i Уv -iZ) a (Xv Уv -iZ) л (Zv -i Уv -iZ). 2.5. По данному набору значений переменных постройте конъюнктивный одночлен, принимающий значение 1 только на этом наборе значений переменных: а) (0, 0); д) (0, 0, 1); и) (1, 0, 1); б) (0, 1); е) (1, 0, 0, 1); к) (1, 1, 1, 0); в) (1, 1); ж)(0, 1, 0, 0); л) (0, 1, 1). г) (1, 0, 0); з) (0, 0, 0, 1); Решение, л) Так как конъюнктивный одночлен Y\ л У2 л У3 принимает значение 1 тогда и только тогда, когда Yx = I, Y2 = \, Y3 = 1, то конъюнкция -\Xi лХ2лХ3 принимает значение 1 тогда и только тогда, когда -кХх = 1, Х2= 1, Х3= 1, т.е. когда Хх = 0, Х2= 1, Хъ = 1, а значит, ->Х\ лХ2/\Хг — искомый конъюнктивный одночлен. 2.6. Используя СДН-форму, найдите формулу, принимающую значение 1 на следующих наборах значений переменных, и только на них: 0, 1) = 1, 0) = 0, 0) = а) б) в) г) д) е) ДО, до! до, Д1, ДО, ж) Д1, з) и) к) л) до, до, до, О) = Д1, 1) = 1; О) = 1; 1, О) = Д1, 0, 1) = 1, 1) = Д1, 1, О) = 0, 0) = Д0, 1, 0) = 1, 1) = Д1, 0, 1) = 0, 1) = Д0, 1, 0) = 1) = Д1, 0) = Д1, 1, 0, 0) = Д0, 0, 1 1, 0, 1) = Д1, 0, 1, 0, 0) = Д0, 1, 0) = 0, 0, 0) = ,Р(1, 1, 1, 0)=1; 1, 1) = 1. Р е ш е н и е. л) Первому условию удовлетворяет лишь конъюнктивный одночлен ->Хл -i Ул -iZ, второму — -iXa Ул -\Z, третьему — Хл Ул Z. Тогда формула F(X, Y,Z) = (-iZa -i У л -iZ) v ( a yAnZ)v(ArA YaZ) обращается в 1, если и только если л-i У л-iZ обращается в 1, или -iXa У л-iZ обращается в 1, или Ха YaZ обращается в 1, т.е. если и только если (X, Y, Z) = = (0,0,0), или (Z, У, Z) =(0, 1, 0), или (X, У, Z) = (1, 1, 1). Следовательно, F(X, Y, Z) — искомая формула. 2.7. Докажите, что всякая выполнимая формула алгебры высказываний обладает, и притом единственной, СДН-формой. 2.8. По данному набору значений переменных постройте дизъюнктивный одночлен, принимающий значение 0 только на этом наборе значений переменных: 43
а) (0, 0); д) (0, 0, 1); и) (0, 1, 1, 0); б) (1, 0); е) (1, 0, 0, 1); к) (1, 1, 1); в) (1, 1); ж)(0, 1, 0, 0); л) (0, 1, 1). г) (1, 0, 1); з) (1, 0, 1, 1); Решение, л) Поскольку дизъюнктивный одночлен Y{v Y2v Y3 принимает значение 0 тогда и только тогда, когда Yx = 0, Y2 = 0, Y3 - 0, то дизъюнкция Хх v ~iX2 v -\X3 принимает значение 0 тогда и только тогда, когда Хх = 0, -iX2 = 0, -лХъ = 0, т.е. когда Хх -0, Х2 = 1, Х} = 1. Значит, Х\ v -iX2 v -\ХЪ — искомый дизъюнктивный одночлен. 2.9. Используя СКН-форму, найдите формулу, принимающую значение 0 только на следующих наборах значений переменных: а) б) в) г) Д) е) 0, 0, з) к) л) /•(0 F(0 F(0 F(l F(0 F(l, F(l 0) = F(0 F(l F(0 F(0 , 1) , 1) , 1, , o, > * 3 1, I 0; ■> 1) 0 , o, = F(l, Г = 0; 1) = F(l, 0) = ,Р(1, 1) = F(0. 1) = /"(0, 0, l) = F\ = F(l, О] 0, 0)= / 0, l) = F( 0) = F(0. ) = 0; , 1, l) = 0; , 0, l) = 0; , 0, 0) = F(0, 1 0, l) = F(l, 1, (0,0, 1, 0) = f( ) = F(lt l) = 0; ^(0, 1, 1, l) = 0 1, 0, 1, 0) = F(l , 1, 0) = F(l, 1 , 0) = 0; 0) = jF(1 1,0, 1,0 I- ', о, о, i , i)=o. , 0, 0) = 0; 1) = F(0, 0, ) = F(0, 1, 0) = 0; Р е ш е н и е. л) Первому условию удовлетворяет лишь следующий дизъюнктивный одночлен Xv Yv Z, второму — JTv -i Yv Z, третьему — -iZv -i 7v -iZ. Тогда формула /"(A", Y, Z) = (Xv Yv Z) л л (Iv -i Fv Z) л (-iA'v -i Уv -iZ) обращается в 0, если и только если Xv Yv Z обращается в 0, или Xv -i Yv Z обращается в 0, или -»Xv-\Yv-iZ обращается в 0, т.е. если и только если (X, Y, Z) = = (0, 0, 0), или (X, Y, Z) = (0, 1,0), или (X, Y, Z) = (1, 1, 1). Следовательно, F(X, Y,Z) — искомая формула. 2.10. Докажите, что всякая опровержимая формула алгебры высказываний обладает, и притом единственной, СКН-формой. 2.11. Для каждой из следующих формул алгебры высказываний найдите СДН-форму с помощью ее таблицы истинности: а) Х-> Y; б) (XaY)vZ; в) (Xv>Z)->(.Xa-iY); г) д) е) (Х<* Y) л (Г<->Z) л (Zo T); з) и) (ХоГ) л к) ((JSrv-iZ) л) i(Xa У) ^ 44
Р е ш е н и е. л) Составим таблицу истинности данной формулы: X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 -ЦХл Y) 1 1 1 1 1 1 0 0 i(XvZ) 1 0 1 0 0 0 0 0 -ч(Хл Y) -> ~i(Xv Z) 1 0 1 0 0 0 1 1 Теперь, выбирая наборы значений переменных, на которых формула обращается в 1, подобно тому как это делалось при решении задачи 2.6, л, записываем совершенную дизъюнктивную нормальную форму для данной формулы: -|(Хл Y) -> -i(Xv Z) = (-лХа -1 Г л -iZ) v (чХл Ул -iZ) v (Xa Ya a -\Z) v (Xa Ya Z). 2.12. Для каждой из следующих формул алгебры высказываний с помощью ее таблицы истинности найдите СКН-форму: а) X<r> Y; б) (Xv Y)aZ; в) -i(-ilv -i У) л (Х-> ( Ya Z)); г) (Xa YaZ)vT; д) Xa -.(-i Ya (Z-> (X+* Y))); е) (XaY)v(YaZ)v(ZaT); ж) (Xa((YaZ) v T))v -iT; з) -i(Ia -i Y) a (Z<r> (-лХа Y)); к) л) -i(JSTa У) -> i(Iv Z). P e ш е н и е. л) Составим сначала таблицу истинности данной формулы (см. решение задачи 2.11, л). Затем, выбирая наборы значений переменных, на которых формула обращается в 0, подобно тому как это делалось при решении задачи 2.9, л, записываем СКН-форму для данной формулы: -1(1л Y)-*-i(XvZ) = (Xv Yv -iZ) л (Xv i7v -iZ) л (iXv v 7v Z) л (-iJTv Уу hZ). 2.13. Докажите, что отрицание -i/"всякой формулы /"алгебры высказываний равно дизъюнкции тех и только тех совершенных 45
конъюнктивных одночленов от тех же самых переменных, которые не входят в СДН-форму формулы F. 2.14. Докажите, что отрицание -i/1 всякой формулы /"алгебры высказываний равно конъюнкции тех и только тех совершенных дизъюнктивных одночленов от тех же самых переменных, которые не входят в СКН-форму формулы F. 2.15. Применяя утверждения задач 2.13 и 1.66, перейдите от СДН-формы к СКН-форме для данной формулы: а) F = б) F= в) F = (пХл -1 Ул -iZ) v (Хл Ул Z); г) F = (пХл -17л Z) v (Хл У л -iZ) v (пХл -i У л -iZ); д) F = (пХл -i Ул -iZ) v (-.Хл -i Ул Z) v (пХл Ул iZ); е) F = (пХа -i Ул -iZ) v (пХл Ул iZ) v (Хл -i Ул -iZ) v (^л л Ул -iZ); ж) F = (пХл -i Ул Z) v (Хл -i Ул iZ) v (iXa Ул nZ) v (пХл У л л Z) v (*л Ул -iZ); з) F = (~iXa Ул -iZ) v (пХл FaZJv (Хл Ул Z); и) f= (-lZл-IУл-^Zл-IГ)v(Zл-IУлZл-I71)v(-IXлУл-IZл л -^7)v(Xл-^Ул•^Zл-^71)v(-lЛгл-^Ул-IZл T)v(Xa YaZa T); k) F= (Хл-|Ул-^л Т) v(Xa-iYaZa-iT) v(Xa-iYaZa aT)v(Xa Ya ^л-iT) v (Xa Ya -\Za 7)у(1лГлгЛпГ)у (п/л л YaZaT)v(Xa YaZa T); л) F = (-1^л -iУл -iZ) v (п1л Ул Z) v (Хл пУл7)у (Хл Ул л -iZ) v (Хл Ул Z). Р е ш е н и е. л) Согласно задаче 2.13 отрицание данной формулы имеет следующую СДН-форму: iF= (-\Xa-iYaZ) v (пХл л Ул-iZ) v (ХлпУл-iZ). Теперь, применяя утверждение задачи 1.66, находим отрицание этой формулы: F= (Xv Уv-iZ) л (Xv-.yvZ)л (iXv Уу Z). Это и есть СКН-форма данной формулы F. 2.16. Применяя утверждения задач 2.14 и 1.66, перейдите от СДН-формы к СКН-форме для данной формулы: а) F=(-iXvy)A(Xv-iy); б) F=bXv-iY)A(XvY); в) F = (iXv ч Уv -iZ) л (Xv Уv Z); г) /^(-iXv-iyvZWXvyv-iZ^XvyvZbt-iXv-iyviZ); д) F = (iXv -л yv -iZ) л (iXv -i Уv Z) л (iXv yv iZ); е) FH(nIvnrvnZ)A(nIv yV iZ) л (Xv nyv-iZ) л (Xv v yv -iZ); ж) F = (nXv -i Уv Z) л (Xv -i Уv -iZ) л (~iXv yv -iZ) л (-iXv yv v Z) л (Xv yv -iZ); з) /'=(-IXv-lУv-IZv-I77)л(-IXv-lУv-lZv77)л(-lXvУvZv v -t Г) л (iXv YvZvT)a (Xv yv Zv T); и) Z's(Xv-iyv-iZvr)A(Xv-iyvZv-i77)A(Xv-iyv Zv7)a л (Xv Уv -iZv -i T) a (Xv Уv -iZv T) л (Xv yv Zv i T); 46
к) F=(-iXv-iYv-iZ>/-iT)A(-\X\/-iYvZv-\T)*(riXvYv-iZv v ~\T) a (Xv -\Yv iZv -iT) a (~iXv -iYv nZv T)a(Xv Yv Z v T)\ л) F = (iXv Yv Z) л (Iv -i Уv -iZ) л (ilv У v -iZ) л (JTv У v Z). P e ш е н и е. л) Согласно задаче 2.14 отрицание данной формулы имеет следующую СКН-форму: -iF= (-\XviYv-iZ) л (Xv v -i7v Z) л (Xv Yv -iZ) л (iXv -iYv Z). Теперь, применяя утверждение задачи 1.66, находим отрицание этой формулы: F = (XaYaZ)v (тЛГл Гл -iZ) v (-тЯГл п 7л Z) v (ДГл 7л -iZ). Это и есть СДН-форма данной формулы F. 2.17. СКН-форма некоторой формулы от трех переменных содержит шесть сомножителей (совершенных дизъюнктивных одночленов). Что проще — СКН-форма или СДН-форма этой формулы? 2.18. СДН-форма некоторой формулы от трех переменных содержит шесть слагаемых (совершенных конъюнктивных одночленов). Что проще — СДН-форма или СКН-форма этой формулы? Применение нормальных форм. Решить задачи 2.19—2.32. 2.19. Найдите наипростейшую формулу от трех переменных среди равносильных формул от трех переменных, последний столбец таблицы истинности которых имеет следующий вид: а) 0 1 0 1 0 1 0 1; д) 1 1 0 0 0 0 1 1; и) 1 1 1 1 0 0 0 0; б) 0 0 1 0 0 1 0 0; е) 0 1 0 1 1 0 1 0; к) 1 0 1 0 1 1 1 0; в) 1 0 1 1 1 1 0 1; ж) 1 1 0 0 1 0 0 1; л) 0 0 0 0 1 1 1 1. г) 1 1 0 0 0 0 1 0; з) 0 0 1 1 0 0 1 1; Решение, л) Для нахождения формулы можно воспользоваться как СДН-формой, так и СКН-формой. Используем, например, СКН-форму. Выделяем те наборы значений переменных, на которых искомая формула обращается в 0. Вот они: F(09 0, 0) = F(09 0, 1) = F(0, 1,0) = F(0, 1,1) = 0. Выписываем СКН- форму, удовлетворяющую этим условиям, и затем упрощаем ее с помощью равносильных преобразований: F(X9 Y,Z) = (Xv Yv Z) a (Xv Yv -iZ) л (Xv i Yv Z) л (Xv -i Fv v nZ) = (Xv Yv (Za -iZ)) л (Xv -i Yv (Za nZ)) = (Xv Y) л (Xv ) () 2.20. Найдите наипростейшую из равносильных формул от трех переменных, которая: а) всегда принимает то же значение, что и ее второй аргумент; б) принимает такое же значение, как и большинство ее аргументов; в) принимает значение 1 тогда и только тогда, когда точно два ее аргумента принимают значение 0; г) принимает такое же значение, как и меньшинство ее аргументов; д) принимает значение 0 тогда и только тогда, когда по крайней мере один из первого и третьего аргументов принимает значение 0; 47
е) принимает значение 1 тогда и только тогда, когда большинство ее аргументов принимают значение 0; ж) принимает значение 0 тогда и только тогда, когда большинство ее аргументов принимают значение 1; з) принимает значение 1 тогда и только тогда, когда принимают значение 1 первый аргумент и один и только один из двух оставшихся; и) принимает значение 1 тогда и только тогда, когда из первых двух ее аргументов принимает значение 1 ровно один; к) принимает значение 0 тогда и только тогда, когда два ее последних аргумента принимают различные значения; л) принимает значение 1 тогда и только тогда, когда либо первый ее аргумент равен 1, либо все аргументы равны 0. Решение, л) Это означает, что искомая формула удовлетворяет условиям: F(l, о, 0) = F(l, 0, 1) = /г(1, 1, 0) = /Х1, 1, 1) = /г(0, 0, 0)= 1. Следовательно, F(0, 0, 1) = /г(0, 1, 0) = F(0, I, l) = 0. Выписываем СКН-форму, удовлетворяющую трем последним соотношениям, и затем упрощаем ее с помощью равносильных преобразований: F(X, У, Z) = (XvYv~iZ)A(Xv-iYvZ)A(XvnYv-iZ) = ((Xv v Yv -iZ) л (Xv -1Yv -iZ» л ((Xv -i Yv Z) л (Iv -i Yv nZ)) = (Xv v~iZ)a(Xv-*Y) = Xv (iZa -i Y) = Xv -i( Y v Z). 2.21. Для того чтобы формула логики высказываний была тавтологией, необходимо и достаточно, чтобы в ее КН-форме каждый дизъюнктивный одночлен содержал слагаемым хотя бы одну переменную вместе с ее отрицанием. Докажите. Решение. Достаточность очевидна. В самом деле, если в каждом дизъюнктивном одночлене КН-формы имеется дизъюнкция типа Xv iX, то ввиду тождественной истинности этой дизъюнкции будет тождественно истинен и каждый дизъюнктивный одночлен КН-формы. Но тогда тождественно истинна и конъюнкция таких дизъюнктивных одночленов, т. е. КН-форма, а значит, и данная формула. Необходимость доказываем методом от противного. Если в некотором дизъюнктивном одночлене КН-формы нет вхождения какой-либо переменной вместе с ее отрицанием, то такой дизъюнктивный одночлен принимает значение 0 на следующем наборе значений входящих в него переменных. Если переменная входит в него без знака отрицания, то ей придаем значение 0, если же со знаком отрицания, то — 1. (Например, дизъюнктивный одночлен Хх v -iX2 v Хъ принимает значение 0 при Хх = 0, Х2=1, Аз = 0.) Тогда на этом наборе конъюнкция рассматриваемого одночлена с любыми другими дизъюнктивными одночленами, т.е. вся КН-форма, обращается в 0, что противоречит тождественной истинности данной формулы. 2.22. Для того чтобы формула логики высказываний была тождественно ложной, необходимо и достаточно, чтобы в ее ДН- 48
форме каждый конъюнктивный одночлен содержал сомножителем хотя бы одну переменную вместе с ее отрицанием. Докажите. Указание. Доказательство аналогично доказательству двойственного утверждения, сформулированного в предыдущей задаче. 2.23. Применяя критерии из задач 2.21 и 2.22, найдите среди следующих формул тождественно истинные (тавтологии) и тождественно ложные: а) (*-> (У-> Z)) -> ((*-> -.Z) -► (Х-+ -л У)); б)-i(P->G)л-i(Q->/>); в) (X-+Y)a(X->-*Y)aX; г) (PaQ)-+(P+>Q); д) (Рл «->(/>-*(?); е) з) и) (P->Q)v <(?->/>); к) (*<-» У) л ((Хл -i У) v (-ьГл У)); л) ((JTv Z) v-iZ) -> (-i(Jfv г)л1лУ). Р е ш е н и е. л) Приведем данную формулу к ДН-форме равносильными преобразованиями: ((AV Z) v-iZ) -> (n(JTv Z) л!л У) = н((Лл/ Z) viZ) v (-i(JTv Z) л л^Гл У) = (n(XvZ)aZ)v (iXa-\ZaXa У) s (пХл iZaZ)v(iXa л~1 ZaXa У). Каждый конъюнктивный одночлен полученной формы содержит хотя бы одну переменную вместе с ее отрицанием: первый содержит Z, второй — X. Следовательно, на основании задачи 2.22 данная формула тождественно ложна. 2.24. Докажите, что тавтологии не имеют СКН-формы. Указание. Сопоставьте определение СКН-формы с критерием тождественной истинности формулы, приведенным в задаче 2.21. 2.25. Докажите, что тождественно ложные формулы не имеют СДН-формы. Указание. Сопоставьте определение СДН-формы с критерием тождественной ложности формулы, приведенным в задаче 2.22. 2.26. Пользуясь свойством единственности совершенных нормальных форм (см. задачи 2.7 и 2.11), выясните, равносильны ли следующие формулы, приведя их к СДН-форме или СКН-форме: а) -|(Хл-1У)->(-|У->*) H б) {Xv(X-> У)лУи Ул(-|( в) -,((/>-> 0)л «2->нР)) и г) (X+*Z)->(XA-iY) и ((Xa^Z)v(ZaiX))v(Xa^Y); д) (XvY)a(XvZ)a(YvZ) и (ZAy)v(^AZ)v(yAZ); е) (XaY)a(X->(YaZ)) и (X-+Y)a-i((X-+Z)^>(X^>-iY)); 49
ж) (Ха Z) -> Г и Ха (Z-+ У); з) (X^>-iY)^>(YaZ) и (XaY)v(YaZ); и) (jr->y)->(^AZ) и (7->-1У)->(ХлпУ); к) (*-► У) -► Z и Х-> (У-> Z); л) (If>y)^ZnIo(roZ); м) (Pv Q) a R и Pv (QaR). Р е ш е н и е. л) Найдем СКН-форму для первой формулы: (Х++ Y)++Z= (n((-iJirv У) л (*v -i У)) v Z) a (((-iXv У) л (Xv v -I У)) v nZ) 2 ((* л -I У) v (-гЯГл 7)vZ)a (iYv У v -iZ) л (A'v -n У v v Z) = (((Iv У) л (nATv -1У)) v Z) л (-iJJfv Уу -iZ) л (*v -,Yv nZ) = s (ATv 7vZ)a (-i^v -i Уу Z) л (~iXv Уу -iZ) л (ЛГу -i Yv nZ). Теперь ясно, что для получения СКН-формы второй формулы Х+± (У<-> Z) нужно в полученной СКН-форме всюду вместо X написать Z, а вместо Z— X. Убедитесь, что после такой замены мы получим (с точностью до порядка членов дизъюнкции и конъюнкции) ту же самую СКН-форму. Следовательно, данные формулы равносильны. м) Найдем СДН-форму для первой формулы: (Pv Q) aR=(PaR)v(QaR) = (Pa (Qv~\Q) aR)v ((Pv -iP) л л Qa R) = (Pa QaR)v (Pa-\QaR) v (чРл QaR). Найдем СДН-форму для второй формулы: Pv(QaR) = Ps/(Pa QaR)v(->Pa Qa R) s (Pa Q) v (Pa a-iQ)v(Pa QaR)v(-iPa Qa R) = (Pa Qa-iR) v (Pa-\Qa R) v v(PA-tQa-iR)v(Pa QaR)v(iPa QaR). Мы видим, что СДН-формы для данных формул не равны. Следовательно, данные формулы не равносильны. 2.27. Найдите все такие не равносильные между собой формулы F(X, У) от двух переменных, чтобы следующая формула была тавтологией: а) ((Fa У) -> -iX) -> <(*-> -i У) -> F); б) ((Fa У) -> пДГ) -* ((Х-> У) -> f); в) (( г) ( е) ж) ((/"^ У) л -лХ) -* ((Ха -iY)-+F); з) ((FvY)a-iX)-+((XvY)->F); и) (Р^- (Zv У» -* (-i(Za Р) -^ У); к) (ЬХа Y)vF)-+(Fv (X-> У)); л) ((-iXv -л У) л F) ^ (Р-^ (Хл У)); м) ((Fv У) ->• X) -> (Р^. (У^ Я)). Р е ш е н и е. л) Составим таблицу истинности данной формулы, учитывая, что входящая в нее подформула F(X, У) неизвестна и, значит, неизвестны значения, которые она принимает на различных наборах значений своих переменных (при вычислениях пользуемся задачей 1.42, в). 50
X 0 0 1 1 Y 0 1 0 1 -лХ 1 1 0 0 1 0 1 0 -\Xv-\Y 1 1 1 0 (-\Xv-iY) aF F(09 0) ДО, 1) Щ, 0) 0 Xa Y 0 0 0 1 F-> (Xa Y) "iF(0, 0) -Щ0, 1) nf(l, 0) 1 Данная формула -Щ0, 0) -|Д0, l) -Щ1, 0) 1 Формулу F(X, Y) требуется подобрать такой, чтобы в последнем столбце таблицы стояли только единицы. Тогда F(X, У) должна удовлетворять условиям: iF(0, 0) = ~\F(0, 1) = ~i-F(l, 0) = 1, т.е. F(0, 0) = Д0, l) = F(l, 0) = 0. (*) Что касается значения F(l, 1), то оно, как мы видим, ничем не лимитируется: в последней строке составленной таблицы (и в последнем ее столбце) стоит 1 независимо от того, какое значение примет формула F(X, Y) в этой строке (т.е. при Х= 1, Y- 1). Это дает нам возможность получить в качестве решения нашей задачи две неравносильные формулы: первая из них FX(X, Y) удовлетворяет условиям (*) и JFi(l, 1) = 1, а вторая F2(X, Y) — условиям (*) и ^2(1, 1) = 0. Следовательно, F{(X, Y) = XaY, a F2(X, Y) может быть любой тождественно ложной формулой. м) Аналогично предыдущему решению составьте таблицу истинности данной формулы. Вы увидите, что столбец ее значений уже состоит только из единиц независимо от значений искомой формулы F(X, Y). Это означает, что формула 7^, Y) может быть любой. 2.28. Найдите все такие неравносильные между собой формулы F(X, Y, Z) от трех переменных, чтобы следующая формула была тавтологией: а) ((Z-> (пУл X)) -» F) -> ((*-► Y) a Fa Z); б) ((Fa Y) -» -.*) -> ((*-> Z)-+F)\ в) (((XvZ)-*-,Y)vF)->(((ZvX)aY)vF); г) (((iYaX)-+Z)-*F)^>(Fa(X->Y)aZ); д) е) ( ж) (((Xv Y)->Z)^>F)^>(Fa ((-i*-> Y) a -iZ)); з) ((X-+Y)->F)v((XvY)aFaZ); и) (F-> ((hZa Y) -> X)) -> (Xa (Z-± Y)aF)\ k) ((F-> (Za Y))aZ)v (Z-> ((Xa -i Y) v F))\ л) ((Х-> У) v Zv /0 -» (((F-> X) -> Z) -> /). P e ш е н и е. л) За деталями решения рекомендуется обратиться к решению задачи 2.27. Здесь же отметим основные этапы. Составим таблицу истинности данной формулы, в ней использованы следующие обозначения для подформул: 51
(1) - (Y формула ((* ; (2) - ((Y->X)->Z)^F; (3) - данная X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 X-> Y 1 1 1 1 0 0 1 1 (X-> Y) v Z 1 1 1 1 0 1 1 1 {X-> Y) v Zv F 1 1 1 1 F 1 1 1 Y->X 1 1 0 0 1 1 1 1 (1) 0 1 1 1 0 1 0 1 (2) 1 F F F 1 F 1 F (3) 1 F F F 1 F 1 F Для того чтобы данная формула была тавтологией, нужно чтобы искомая формула F(X, Y, Z) на пяти наборах значений аргументов 001, 010, 011, 101, 111 принимала значение 1; на остальных трех наборах 000, 100 и 110 она может принимать произвольные значения (при этом значение данной формулы не будет зависеть от них: на этих трех наборах данная формула непременно принимает значение 1). Столбец значений такой формулы Fприведен в приведенной ниже таблице (места, отмеченные в ней звездочками, могут быть заполнены произвольными значениями). Таким образом, мы приходим к тому, что подходящими для данной задачи будут восемь формул с следующими значениями: X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F * 1 1 1 * 1 * 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 F3 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 F6 1 1 1 1 0 1 1 1 Fl 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 52
л Используя СКН-формы, находим все эти формулы: Fi(X, Y,Z) = (Xv YvZ)a(-iXv YvZ)л(-xXv-iFvZ) = (YvZ)a i*v -.yv Z) = (Ул (-iXv лУ)) v Z= (->Хл Y) v Z; ВД Г, Z) s (*v 7v Z) л (-iJTv YvZ)=Yv Z; F3(X, Y,Z) = (Xv 7v Z) л (-i*v -i У v Z); F4(X, Y,Z) = XvYvZ; F5(X, Y,Z) = (~\Xv Yv Z) л (~\Xv -\Yv Z) = -\Xv Z; F6(X, Y,Z) = (ilv 7v Z) s Z-^. (Kv Z); Г, Z) = (-■*v -i7v Z); Y, Z) — любая тавтология. 2.29. Найдите все такие не равносильные между собой формулы F(X, Y) от двух переменных, чтобы: а) (Xv У) л F= Уи Хл F= Хл Y; б) Хл F= Хл 7и F-^> X= Xv Y; в) F-* Х= Xv Ги Xv F= F-> X; г) (Хл F)vY=Yn Xv F= Xv Y; д) Xv (iFa Y)=YлXиXv F=Y^> X; е) (Xa-\Y)v F=-iYuXvF=-iXA-iY; m)(XaY)->F=IhXv F= Xv Y; 3) F^> (Хл Y) = XnXv F= 1; и) (Хл -iY) v F= пГи -.^Гл F= -\Хл -i7; к) Fv (ЛГл Y) = Хи Yv F= Xv Y; л) (X^> Y) v F= X-> Yu F^> 1= Xv Y. P e ш е н и е. л) Чтобы найти требуемую формулу F(X, Y), нужно сначала определить, какие истинностные значения принимает она на всевозможных двухэлементных наборах, составленных из нулей и единиц. Для этого будем придавать переменным Хи Y всевозможные значения и, исходя из данных условий, определять соответствующее значение формулы F(X, Y). Полагая во втором данном соотношении X = 0, получаем F(0, Y) -> 0 = 0 v Y, или п/ХО, У) = Y. При Y= 0 находим F(0,0) = 1, а при Y= 1 находим F(0, 1) = 0. Положив в первом соотношении Х= 1, получаем (1-> У) vF(l, У) = 1 -> У, т.е. У v F(l, Y) = Y Отсюда при У= 0 получаем 0 v F(l, 0) = 0, т.е. F(l, 0) = 0. При У= 1 равносильность YvF(l, У)= У превращается в верное равенство вне зависимости от того, каково значение F(l, 1). В результате для искомой формулы F(X, У) получаем следующую таблицу значений: X 0 0 1 1 Y 0 1 0 1 F(X, Y) 1 0 0 * FX{X, Y) 1 0 0 0 F2(X, Y) 1 0 0 1 53
В ней на месте (*) может стоять любое значение: 0 или 1. В результате получаем две формулы FX(X, У) и F2(X, У), которые находим с помощью СДН-формы: FX(X, У) = -\Х a -iY; F2(X, У) = = (~iXa-iY)v(Xa Y) = X<+ Y. Проверим, что каждая из этих формул действительно удовлетворяет обоим условиям задачи: (Х^> У) v Fx = (Х^> Y) v (-iXa -.У) = -iXv Yv ЬХл-iY) = -iXv lY)vX=(Xv Y)vX=Xv Y; (X^ У) v F2 = (X^> Y) v (-*Xa-iY) v(XaY) = -iXv Yv (пХа aY)v(XaY) = -iXv Y= X-> Y; F2 -^ X= ((-iXa -i 7) v (1л У)) -> X= h((-iIa пУ) v {Xa Y)) v vZ=(-i(-i^A-iy)A-i(^A У)) v X=((Xv Y)A(nXv-iY))vX = = (Xv YvX)a (-iXviYv X) = Iv У. 2.30. Найдите все такие не равносильные между собой формулы F(X, Y, Z) от трех переменных, чтобы: а) Z-> F= Z-» (Ха Y)hF^> Z= -i(Zv Y) ^ Z; б) X^> F= У-^ (-iXv Z) и -iX-+ -ifs (Z-> У) -> X; в) fAZ=ZA(nIvnr)HfvIv r=Iv yv-iZ; r) Fa X= Ха Уи -if-^ ЛГ= Xv yv Z; д) yv f = (Iv Z)aYhX^> F= X^> (yv Z); е) Xa F= Xa (Yv Z) и -лХa F= nXа п(Ул Z); ж) fv Z= (Xa Y) v Zh Fa nZs Хл Ул iZ; з) Z-> f= Z-> (X-> У) и F-> Z= (Xa Y) -> Z; и) Ул f = 1л Ул Zh fv У= Iv yv Z; к) X^- F = X-> Уи Iv F= Z^ X; л) Xa F= Xa Уи Xv F= Xv Z; m) Xv F= У-> Xw Ул f= Za У; h)Z-» FsZ->(^4 У) nf->-iZ= (XA-tY) v-iZ. Решение, л) Чтобы найти требуемую формулу F(X, У, Z), нужно сначала определить, какие истинностные значения принимает она на всевозможных трехэлементных наборах, составленных из нулей и единиц. Для этого будем придавать переменным X, У и Z все возможные значения и, исходя из данных условий, определять соответствующее значение формулы F(X, У, Z). Так как X a F(X, У, Z) = X л У, то, полагая здесь Х= У= 1, получаем 1 л F(l, 1, Z) = 1 л 1, т.е. F(l, I, Z) = 1. Следовательно, f(l, 1, 0) = F(l, 1, 1) = 1. (1) Положим теперь в первом данном соотношении Х= 1, У= 0. Тогда получаем 1 л F(l, 0, Z) = 1 л 0, т.е. F(l, 0, Z) = 0. Следовательно, F(l, 0, 0) = F(l, 0, 1) = 0. (2) Далее, поскольку X v F(X, У, Z) = X v Z, то, полагая здесь 1= 0, Z = 0, получаем 0 v F(0, У, 0) = 0 v 0, откуда F(0, У, 0) = 0. Следовательно, 54
ДО, О, 0) = ДО, 1, 0) = 0. (3) Полагая наконец во втором данном соотношении Х= 0, Z= 1, получаем 0 v ДО, У, 1) = 0 v 1, т.е. ДО, У, 1) = 1, откуда заключаем, что ДО, 0, 1) = ДО, 1, 1) = 1. (4) Полученные соотношения (1) —(4) не противоречат друг другу и дают полную информацию о формуле F. Используя эти соотношения, запишем СДН-форму для искомой формулы F(X, У, Z) и упростим ее с помощью приведенных ниже равносильных преобразований: F(X, Y,Z) = (Хл Ул -iZ) v (Хл У л Z) v (iXa пГл Z) v (~лХа aYaZ) = (Xa Ya (-iZv Z)) v (п!л (нУу Y) л Z) = (^л Ул 1) v v (-|*л 1 л Z) = (ЛГл У) v (п^Гл Z). Проверьте, действительно ли найденная формула удовлетворяет обоим требованиям из условия задачи. Поскольку искомая формула непременно должна удовлетворять всем соотношениям (1) — (4), то такая формула единственна с точностью до равносильности. м) Из первого условия при Х= 0 получаем F(0, У, Z) = -iy (1) Из второго условия при У= 1 получаем F(X9 I, Z) = Z (2) Покажем, что условия (1) и (2) противоречивы. Так, из (1) при У= 1 получаем 1, Z) s 0, (3) а из (2) при Х= 0 имеем ДО, 1, Z)=Z. (4) Из (3), в частности, следует, что ДО, 1, 1) = 0, а из (4) получается, что ДО, 1, 1) = 1, а это невозможно. Значит, формулы F(X, У, Z), удовлетворяющей обоим требованиям задачи, не существует. н) Из первого соотношения при Z= 1 получаем F(X, У, 1) = = Х-± У Из второго условия при Z= 1 получаем -iF(X, У, 1) = Ха л пУ, т.е. F(X9 У, 1) = Х-> У Следовательно, ДО, 0, 1) = ДО, 1, 1) = Д1, 1, 1)=1, Д1, 0, 1) = 0. Никаких других ограничений на формулу ДА", У, Z) не возникает. Следовательно, на остальных четырех наборах 000, 010, 100, 110 формула может принимать произвольные значения. В результате мы имеем возможность получить 16 не равносильных между 55
собой формул от трех переменных, таблица значений которых имеет следующий вид: X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F * 1 ♦ 1 * 0 * 1 0 1 0 1 0 0 0 1 F2 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 1 1 F5 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 Fl 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 1 F9 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 Fn 1 1 0 1 1 0 1 1 Fn 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 FX* 1 1 1 1 1 0 0 1 Fxb 1 1 1 1 1 0 1 1 Используя СДН-форму, найдем первую формулу: Fi(X, Y,Z) = (-i*л -i Ул Z) v (~>Ха YaZ)v (Xa YaZ) = (iXa Z) v v (Xa YaZ) = (iXv(Xa Y))aZ= (nJfv У)л Z= (X-+Y)л Z. Проверим, что эта формула удовлетворяет обоим данным соотношениям: Z-> /•, = -iZv (bXv Y)aZ) = iZv (-iJSTv Y) = Z-> (X-> Y); Fx -> -iZ= -i((-iXv Y) a Z) v iZ= (Xa iF) v iZv iZ= (Xa a-iY) v-iZ Найдем вторую формулу, используя СКН-форму: F2= (Xv Yv Z) a (Xv nFv Z) л (-iXv YvZ)a (iJfv Yv -iZ) = (Xv v Z) л (iZv Y). Сделаем проверку: Z-> F2 = -iZv ((Xv Z) a F2 ^ -iZ= -i((Zv Z) л v-iZ=(Xa-\Y)v-iZ. Предлагается самостоятельно найти остальные 14 формул и проверкой убедиться, что все они удовлетворяют обеим требуемым равносильностям. 2.31. Найдите все такие не равносильные между собой формулы F(X, Y, Z) от трех переменных, чтобы: a) X<r>-iF= (Xa Y) -► Z; v Y)) = nZv Y)) v -iZ= X^> Y); -iZ) v (Xa nY) v 6) -iX в) (F г) -iF Д) "iF е) F* ж)пр з) F<- и) F< <-> F = 4*F = ' <r* Z = ■» -1^ = '«■ Z = ■> -iZ = » (Xv У) = (Za-iF) vZ; ((XaZ)v Y)^(Xa YaZ); Y -> (X <r> Z); Iv -iZ; (Xa Y)^Z; Xv Yv Z; Z -> X; 56
к) F*± ((Гл Z) -> X) = (XvY) л-iZ; л) (JT-»Z) <-> F= (1л -iY) -» Z P e ш е н и е. л) При Z= 1 данная равносильность превращается в следующую: F(X, Y, 1) = 1, откуда вытекает, что F(0, О, 1) = jF(O, 1, 1) = F<1, О, 1) = Д1, 1, 1) = 1. При Z = О данная равносильность принимает следующий вид: Х+± F(X, У, 0) = Х-> К Из последней равносильности при У= 1 получаем -iJif*-» F(X, 1, 0) = 1. Отсюда при Х= 0 имеем jF(O, 1, 0) = 1, а при Х= 1 — -i<F(l, 1, 0) = 1, т.е. 7^(1, 1, 0) = 0. Из той же равносильности при Y = 0 получаем -iX<r> F(X, 0, 0) = ~iX. Отсюда при X = 0 имеем F(0, 0, 0) = 1, а при Х= 1 - -lF(1, о, 0) = -il, т.е. F(1, 0, 0) = 1. Итак, формула F(X, Y, Z) должна быть такой, что только на единственном наборе (1, 1, 0) значений переменных она принимает значение 0, а на остальных семи наборах ее значение равно 1. Используя СКН-форму, находим саму формулу: F(X> Y, Z) = = -bTv-i7vZ=-i(jrA Y)vZ=(Xa Y)-*Z. Проверим, что найденная формула действительно удовлетворяет условию задачи: (Х-> Z) <-> ((Хл Y)->Z) = (Z~> Z) <-> (-iJTv -iFv Z) = ((nlv v Z) -> (-iXv -i Уv Z)) л ((-i*v -i Fv Z) -» (iJTv Z)) = (-i(-iifv Z) v v -iJTv -i7v Z) л Ы-iXv-iYv Z) v n^Tv Z) = ((ЛГл iZ) v iXv-iYv v Z) л ((ЛГл Гл -iZ) v -iXv Z) s ((JTv -iZv -i7v Z) л (iZv nlv-i7v v -iZ)) л ((Xv -iJTv Z) л (У v -iJTv Z) л (iZv nlv Z)) = Yv nXv vZ= п(1л -|У) v Z= (1л -iT) -» Z 2.32. Существуют ли такие не равносильные между собой формулы Fn G (не являющиеся ни тождественно истинными (тавтологиями), ни тождественно ложными), что: а) б) в) г) F-> <?t= Fv G*= 1 F -> G i= F-> (?t= Решение. Fa G; л) > G; д) -iF e) Fh h> G; ж) F *= 3) Fn Прежде всего -> Gt= F; > G t= F\ F<r± G; отметим, и) F <r> k)Cn л) ^»= что такое F -* G\ Fa G. следование выполняется не всегда. Например, при F(X, Y) = Хи G(X, Y) = = Хл У оно не выполняется. Поэтому поставленный вопрос корректен. С другой стороны, обратное логическое следование справедливо: Fa G n= F. Это означает, что ответ на поставленный вопрос будет положительным для таких формул Fn G, для которых Fa G= F. В частности, так будет для формул F(X, Y) = Хи G(X, Y) = X v Y, ддя которых данное логическое следование превращается в равносильность Х= X a (Xv Y). Нахождение следствий из посылок. Решить задачи 2.33 — 2.37. 2.33. Пусть имеется конечное число формул (посылок) Fu F2, ..., Fm и требуется найти все формулы, являющиеся логическими следствиями данных посылок. Предлагается следующий алгоритм. Привести конъюнкцию FxaF2a ... л Fm посылок к СКН- 57
форме. Затем перечислить все совершенные дизъюнктивные одночлены, входящие в нее, а также всевозможные конъюнкции этих одночленов по два, по три и т.д. Полученные формулы будут исчерпывать совокупность всех логических следствий из данных посылок. Докажите. Решение. Ясно, что каждая такая формула будет логическим следствием данных посылок в силу тавтологии (Pa Q) -> Р (конъюнкция сильнее каждого из сомножителей). Поэтому достаточно убедиться в том, что каждый совершенный дизъюнктивный одночлен из СКН- формы каждой формулы G, являющейся логическим следствием формул Fu F2, ... , Fm будет также входить совершенным дизъюнктивным одночленом в СКН-форму формулы F\ л F2a ... л Fm. Докажем это утверждение методом от противного. В самом деле, пусть D = Х*х v Х%2 v... v Х*п — некоторый совершенный дизъюнктивный одночлен, не входящий в СКН-форму для формулы Fx л F2a ... л Fm. Тогда при подстановке Х\ = <хь Х2 = аь ... 9Хп = ап этот одночлен примет значение 0. Поскольку далее каждый совершенный дизъюнктивный одночлен в СКН-форме для формулы F\ л л F2 л ... л Fm отличен от Д то при той же подстановке каждый из них примет значение 1, а следовательно, значение 1 примет вся формула FY л F2 л ... л Fm, т.е. каждая посылка Fu Ръ ..., Fm. Но поскольку G является логическим следствием этих посылок, то при этой подстановке она должна также принимать значение 1, а следовательно, совершенный дизъюнктивный одночлен D не может входить в ее СКН-форму. 2.34. Найдите все не равносильные между собой и не тождественно истинные формулы алгебры высказываний, являющиеся логическими следствиями следующих формул (посылок): а) Х^> YnX; б) в) г) Xv Y9 Хи-iY; д) Х-> Уи Y-> Z; е) *<-> Уи У<-> Z; ж)(ЛГл Г)-> ZnXv Y; з) (Хл Y) -» Zh Y-* X; и) Х-> Y, Yv Zu (Xa Y)++Z; к) (Xa Y) ->-.Z, YhZ; л) X->(7vZ)hZ-> Y P e ш е н и е. л) Составляем конъюнкцию посылок и равносильными преобразованиями приводим ее к СКН-форме: (JT-> (Yv Z)) a (Z-> Y) = (iXv Yv Z) л (nZv У) = (nlv Fv Z) л л ((Xa -iJT) v Yv -iZ) = bXv Yv Z) л (Xv Yv nZ) л (iXv Yv -\Z). Логическими следствиями из данных посылок будут все совершенные дизъюнктивные одночлены, входящие в полученную СКН-форму, а также всевозможные конъюнкции этих одночле- 58
нов по два, по три и т.д. Выписываем получающиеся формулы, придав им более удобную равносильную форму: -iXv Yv Z= X-* (Yv Z) (первая посылка); Xv Yv ->Z= Z-> (Xv Z); -iJTv FvnZ=(lAZ)-4 У; (-*Xv Yv Z) л (Xv Yv -iZ) = (X <-> Z) v У; (-iXv YvZ)a (-iXv Yv -\Z) = (-iXv Y) v (Za ~,Z) = n*v Yv vOs-,XvY=X^> Y; (Xv Yv -\Z) a (-iXv Yv -\Z) = Z-» У(вторая посылка); (-iXv Yv Z) a (Xv Yv ~>Z) a hlv Yv iZ) = (X-> (Yv Z)) л л (Z-> Y) = (Xv Z)^>Y. 2.35. Найдите формулу F(X, Y), зависящую только от переменных Хи Yn являющуюся логическим следствием следующих формул (посылок): а) -iX-^Zh -i7->-iZ; б) -iJSTv Z, -iZa пУи Y^> X; в) X^> Z, 7<->-iKhZ-> V; r) Xa Ya iZ, Xv V, Z++ -iYh X-> Z; д) iZv Z, Г-^. -iZ, F^- (Ya Z) и Iv F; е) X-> Y, Y->ZhXv Z; ж) (Xv Z)^> V,Ya-iXu-iV+* -\Z; з) JTv 7v Z, X<-> Ги 7л -iZ; и) Z-» -1У, 7v -iZh iFe -iZ; к) -.У^н. -iZ, Xv (Ул Z) и -!*-> Z; л) X-> Z, iZ-> пУ, У^ Fh iZa F. Решение, л) Составляем таблицу истинности для формул, являющихся посылками: X 0 0 0 0 0 0 0 0 1 Y 0 0 0 0 1 1 1 1 0 Z 0 0 1 1 0 0 1 1 0 V 0 1 0 1 0 1 0 1 0 Х-> Z 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 r-> v 1 1 1 1 0 1 0 1 1 -iZa V 0 1 0 0 0 1 0 0 0 2 59
X 1 1 1 1 1 1 1 У 0 0 0 1 1 1 1 z 0 1 1 0 0 1 1 V 1 0 1 0 1 0 1 x-> z 0 1 1 0 0 1 1 -iZ-> iY 1 1 1 0 0 1 1 y-> v 1 1 1 0 1 0 1 -iZa V 1 0 0 0 1 0 0 Далее, в правом столбце ставим номера строк, в которых все четыре посылки принимают значение 1. Этому требованию удовлетворяет лишь вторая строка, в которой Х- 0 и 7= 0. Следовательно, если мы найдем такую формулу F(X, У), для которой /^(0, 0) = 1, то такая формула будет логическим следствием четырех данных посылок вне зависимости от того, какие значения принимает эта формула на остальных наборах значений переменных 01, 10 и 11. Это означает, что на остальных трех наборах значений переменных Хи У (01, 10 и И) искомая формула вольна принимать любые значения. В итоге мы получаем следующую таблицу значений для формул, служащих решениями данной задачи: X 0 0 1 1 Y 0 1 0 1 F(X, У) 1 * * Fx 1 0 0 0 F2 1 0 0 1 *3 1 0 1 0 *4 1 0 1 1 1 1 0 0 F6 1 1 0 1 Fl 1 1 1 0 1 1 1 1 Исходя из этой таблицы и используя нормальные формы (или просто узнавая логические связки по их определениям), выписываем сами формулы: FX(X, Y) = пХ л -\Y; F2(X, Y) s X <-> Y; F3(X, Y) = -,Y; F^X, Y)=Y-+X; F5(X, Y) = -,X; F6(Xt Y) = X^Y; F7(X, Y) s -iXv -i 7; F$(X, Y) — любая тавтология. 2.36. Найдите следствие из посылок ЛГ-> (7v Z), V-> -\Y, (Хл i W) -> V, W -> X, зависящее только от переменных: а) X, Y, W; б) X, V, W; Д) X, Y, Z; е) У, Z, V; и) X, Z, W; к) У, W, V; 60
в) X, Z, V; ж) У, W\ л) Z, F, W. г) *, К; з) X, W; Р е ш е н и е. л) Составьте таблицу значений данных четырех формул от переменных X, Y, Z, V, W (в ней будет 32 строки) и выделите те строки, в которых все данные формулы принимают значение 1 (это будут строки 1, 3, 5, 7, 9, 13, 22, 23, 24, 26 и 30). В выделенных строках определите наборы значений переменных Z, V, W: 000, 010, 100, ПО, 101, 111, 001. На этих наборах каждая из искомых формул должна принимать значение 1. На оставшихся наборах (а это всего один набор — 011) каждая из искомых формул может принимать любое значение. Таким образом, мы получаем лишь одну не тождественно истинную формулу, удовлетворяющую условию задачи: она на всех наборах, кроме ОН, принимает значение 1, a jF(O, 1, 1) = 0. Тогда ее аналитический вид таков: F(Z, К, W) = Zv -iFv -i Ж 2.37. Найдите все такие не равносильные между собой формулы F(X, Y, Z) от трех переменных, что: а) -i(((7-> X) -» (Хл -|У)) л Z) i= (Z-> (X<-» Y)) л F; б) (Y-> X) л (У-> Z) n= ((Хл Y) -> Z) -> F; в) (*<-> 7)vZf= ^л((Х-> Y)v Z); г) *-> (7-> Z)*=Fv ((Хл Y) -» Z); д) Х-+ (7л Z) 1= ((-ьГ-» У) v Z) f> f; е) (-!*л-.У) ->Zt= (((У-> Z)w X) л F) v-^(iZ-+ X); ж^-> (-i*<-> y)Nfv ((X^> Y) л Z); з) Xv -iYv nZt= /л ((JST-> Y) v (У-> Z)); и) Х-+ Г и (Х<-> /0 ^ (Yv Z); к) (JTv 7v Z) л (-iJTv -iXv -iZ) и (Z-> (iXv iF)) л F; л) ^-> (Г<^ -iZ) »= (Z-> (nlv -1У)) л i^. P e ш е н и е. л) Составим сначала таблицу истинности для формул, стоящих в скобках слева и справа от знака *= (проверьте самостоятельно правильность ее составления): X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 Х-> (Y<r> iZ) 1 1 1 1 0 1 1 0 (*) Z-> (-iZv-iy) 1 1 1 1 1 1 1 0 (Z-> (-Uirv-iy)) л/1 Д0, 0, 0) до, о, i) до, i, о) до, 1, l) Д1, 0, 0) Д1, о, 1) Д1, 1, 0) 0 (**) 61
Для того чтобы из формулы со столбцом значений (*) логически следовала формула со столбцом значений (**), нужно, чтобы в 1-й, 2-й, 3-й, 4-й, 6-й и 7-й строках столбца (**) стояли единицы (потому что в этих строках в столбце (*) стоят единицы). Но в этих строках в столбце (**) стоят значения искомой формулы F(X, Y, Z) на соответствующих наборах значений пропозициональных переменных. Следовательно, F(X, Y, Z) должна быть такой, чтобы эти значения также равнялись 1. Далее, в 5-й строке столбца (*) стоит 0. На основании определения логического следования это означает, что в той же строке столбца (**) может стоять любое значение. Но там стоит jP(1, 0, 0). Следовательно, на значение F(l, 0, 0) никаких ограничений не накладывается и оно может быть любым. Наконец 8-я строка удовлетворяет определению логического следования вне всякой зависимости от того, какое значение примет на соответствующем наборе формула F, т.е. и на F(l, 1, 1) также не накладывается никаких ограничений. В итоге получаем для искомой формулы F(X, Y, Z) следующую таблицу значений: X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F(X, Y, Z) 1 1 1 1 * 1 1 Fx 1 1 1 1 0 1 1 0 F2 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 Расставляя на местах, обозначенных (*), всевозможными способами 0 и 1, мы приходим к четырем (с точностью до равносильности) формулам, аналитические выражения для которых выписываем с помощью СКН-формы: FX(X, Y, Z) = (-iXv Yv Z) л л (nlv n7v nZ); F2(X, Y, Z) s nJTv Yv Z= X-* (Yv Z); F3(X, Г, Z) = -\Xv-iYv -iZ; F4(X, У, Z) — любая тавтология. Нахождение посылок для данных следствий. Рекомендуем решить задачи 2.38 — 2.42. 2.38. Пусть имеется формула G(Xb ..., Хп) и требуется найти все формулы, логическим следствием каждой из которых будет формула G Предлагается следующий алгоритм: найти СКН-форму для G 62
и выявить совершенные дизъюнктивные одночлены от переменных Хи..., Хю которые в ней отсутствуют; затем составить конъюнкции формулы G с недостающими одночленами, взятыми по одному, по два, по три и т.д. Полученная совокупность формул будет искомой (с точностью до равносильности формул). Докажите. Указание. Воспользуйтесь результатом задачи 2.33. 2.39. Найдите все не равносильные между собой и не тождественно ложные формулы алгебры высказываний, зависящие от переменных Хи Y, для которых следующая формула является логическим следствием (за исключением самой данной формулы): а) nXv-iY; д) (Xv У) -> (Хл У); и) X <+ пГ; б) Х-+ У; е) п!л У; к) iX^ (Хл У); в)*у-|У; ж)(1уУ)->п1; л) X <-> Y г) п(1уУ); з) -ъГ-> У; Р е ш е н и е. л) Руководствуясь алгоритмом, указанным в предыдущей задаче, приведем сначала данную формулу к СКН- форме: X<r> Y= (X-> Y) л (У-> X) = (nlv У)л(пЬ X). Недостающими в этой форме дизъюнктивными одночленами вида X* v У* являются Xv У и -\Хv -i Y Поэтому искомыми посылками для данной формулы являются формулы: (Х++ Y) л (Xv У), (Х*± Y) л (nlvny), (*<-> У) л (Xv Y) л (-iXv пУ). Преобразуем их равносильным образом к более простым формулам: (Х<г> У) л (Xv У) = (-iJTv У) л (Xv iY) л (JTv У) = (nlv У) л л!=1л У; (Z^ У) л (iXv пУ) s (-nJTv У) л (AV пУ) л (nlvnT) s У) л (JTv У) л (nZv -пУ) = (-iZv У) л (Xv -.У) л (Jfv У) л -пУ) = (-iJTv У) л (-ivTv пУ) л Х= п!л Z= 0. Итак, всякая формула, для которой формула X <-» У является логическим следствием, равносильна либо формуле X л У, либо формуле -пЛГл 1 У, либо тождественно ложна. Поскольку из тождественно ложной формулы логически следует любая формула, то впредь мы не будем упоминать тождественно ложную формулу в числе возможных посылок для данной формулы (за исключением случая, когда тождественно ложная формула является единственной посылкой для данной формулы). 2.40. Найдите все не равносильные между собой и не тождественно ложные формулы алгебры высказываний (посылки), зависящие от пропозициональных переменных Х9 У, Z, из которых логически следует формула: а) (ЛГ-> Z) л (Z-> У) л Х\ ж)(Х-> (Ул Z)) л (У<* Z); б) (Х<+ У) л пУ; з) -i(yvZ)A(Z-> У); в) Хл У; и)*<-> У; г) Ул -iZ; к) Ул Z; д) -.ЛГлнУ; л) i(YvZ). е) -|ДГ <-> Z; 63
Решение, л) Считая, что данная формула зависит от переменных X, У, Z, найдем ее СКН-форму (проверьте!): -i(rv Z) з (Xv -iTV Z) л (Xv Yv iZ) л (ilv -i7v Z) л (iXv Kv v -iZ) л (Iv -i У v -iZ) л (-iXv -i У v -iZ). В ней отсутствуют совершенные дизъюнктивные одночлены Xv v 7v Zh -\Xv Yv Z. Поэтому (на основании задачи 2.38) искомыми посылками для данной формулы будут следующие: -i(YvZ)a(XvYvZ) = -iYa-iZa(Xv YvZ) = Xa~iУл-iZ; -*(YvZ)a (nlv Yv Z) з -iУ л -iZa (i* v Уv Z) s -,Za iYa iZ; -i(yv Z) л (A'v yv Z) л (-iXv YvZ) = -\(YvZ)a ((Xa -iJ) v Yv v Z) = -\(Yv Z) a (Yv Z) = 0 (тождественно ложная формула). 2.41. Найдите все не равносильные между собой и не тождественно ложные формулы F, зависящие лишь от указанных пропозициональных переменных (недостающую посылку) так, чтобы выполнялись перечисленные ниже логические следования: а) Х^> Z, У«* -iF, F(Z, V) t= -iXv -iY; б) Xv -iZ, У^. (Xa Z), F(X, Y) t= -,Yv -iZ; в) Х-+ Z, -iYv -iZ, Z-» (yv V), F(X, Y) t= Xa -iV; г) У^- iZ, (Jfv Z) -> (Fa У), /"(X, У) f= X-> iF; д) -i*v пУ, F(A; У, Z) t= Za X; е) JTv -iY, Z-> (ЛГл У), ДДГ, Z) t= пГл -iZ; ^- У, /•(*, r,Z)NlA -iZ; ) з) У-» -iX, (Iv Z) ^. (пУл -iF), /•(Z, У) t= X-> V; и) Za Ул -iZ, yv -iF, /"(У, Z) t= Za F; к) У л Z, F(X, Y, Z) i= X <r> nZ; л) Iv yv Z, чУл F, /XZ, F) i= Хл F. P e ш е н и е. л) Составим сначала таблицу истинности для формул, являющихся посылками и заключениями: X 0 0 0 0 0 0 0 0 Y 0 0 0 0 1 1 1 1 Z 0 0 1 1 0 0 1 1 V 0 1 0 1 0 1 0 1 XvYvZ 0 0 1 1 1 1 1 1 пГл V 0 1 0 1 0 0 0 0 Л-л V 0 0 0 0 0 0 0 0 4 64
X 1 1 1 1 1 1 1 1 Y 0 0 0 0 1 1 1 1 z 0 0 1 1 0 0 1 1 V 0 1 0 1 0 1 0 1 ху Yvz 1 0 1 1 1 1 1 1 -1Ул V 1 1 0 1 0 0 0 0 Xa V 1 1 0 1 0 1 0 1 Далее, в правом столбце поставим номера тех строк, в которых обе посылки принимают значение 1, а следствие принимает значение 0. Этому требованию отвечает лишь 4-я строка, в которой Z= 1 и V- 1. Ясно, что при этих значениях Zh Кискомая посылка F(Z, V) должна принять значение 0, так как в противном случае формула Хл Кне будет логическим следствием формул Ху Yу Z, п7л V, F(Z, V) (потому что на наборе Х= 0, 7=0, Z= I, K= 1 все посылки примут значение 1, а формула X а V примет значение 0). Никаких других ограничений на формулу F(Z, V) не возникает, т.е. на остальных наборах (00, 01 и 10) она вольна принимать любые значения. В итоге мы получаем следующую таблицу значений для восьми (с точностью до равносильности) формул, удовлетворяющих условию задачи: Z 0 0 1 1 V 0 1 0 1 F(Zf V) 0 0 0 0 0 0 0 1 0 0 1 0 0 F* 0 1 1 0 1 0 0 0 F6 1 0 1 0 Fi 1 1 0 0 1 1 1 0 Исходя из этой таблицы и используя нормальные формы (или просто узнавая логические связки по их определениям), выписываем сами формулы: F\(Z, V) — любая тождественно ложная формула; F2(Z, V) = -.(Z-> V); F3(Z, V) = -,(F-> 2); FA(Z, V) = n(Z^ о V); F5(Z, V) = -i(Zv V); F6(Z, V) = -*V; F7(Z, V) = iZ; FS(Z, V 3 Игошин 65
Формулы jFi, F6 и F7 можно не включать в ответ (две последние зависят лишь от одной переменной). 2.42. Найдите все такие не равносильные между собой формулы F(X, У, Z) от трех переменных, что: а) Fa (X-> -iY) и -i ((Xa Z) -> -.У); б) (Z-> (Ха пУ)) -+F*=Za (X-> У); в) F+± ((JTv Z) -> У) i= (ЛГл Z) v У; г) (*-> 70 л (Уv Z) и -iZ-> (Хл У); д) -if л (JT-> пУ) i= 1л Ул -iZ; е) Fa (Z-> (JTo У)) и ((*-» У) -> -|(У-> JT)) v (ЛГл Ул -.Z); ж)((Х-> Y)v Z) a F*=(-}Xa YaZ)v (XaiYaiZ); з) (Z-> (пГл!)) -> FhZa (ДГ«> У); и) F<^ ((У-> Z) -> X) и —■«—iJIT —> Y)vZ); к) Fv (n(Z-> Z)a7)^ (ЛГ-> У) л nZ; л) (Zv (У-> -iZ)) -> f \= Ул -iZ Р е ш е н и е. л) Составим сначала таблицу истинности для формул, стоящих слева и справа от знака t=. При этом будем учитывать, что нам не известны значения истинности, принимаемые формулой F(X9 У, Z) на тех или иных наборах значений входящих в нее пропозициональных переменных X, У, Z Таким образом, истинностные значения первой формулы, т. е. формулы (Zv (Y-+ -\Х)) -» F(X, У, Z), будут конечно же зависеть от значений формулы F(X, У, Z). Таблица имеет следующий вид: X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 Zv(Y-> -iX) 1 1 1 1 1 1 0 1 (Zv(Y^-iX)) ->F F(0, 0, 0) /40, 0, 1) /40, 1, 0) /40, l, i) /41, 0, 0) /41A l) 1 /41, l, l) Гл-iZ 0 0 1 0 0 0 1 0 При вычислении значений в предпоследнем столбце использованы следующие соотношения: l->F=F90-*F=l. Чтобы теперь найти требуемую формулу F(X9 У, Z), нужно сначала определить, какие истинностные значения принимает она на всевозможных трехэлементных наборах, составленных из нулей и единиц. Это надлежит выяснить исходя из того требова- 66
ния, что из формулы (Zv (У-> iX)) -> Алогически следует формула Ул -iZ Для этого сопоставим столбцы их истинностных значений. Если формула F(X, У, Z) такова, что F(0, 0, 0)=1, то, поскольку в первой строке таблицы значений для Ул -iZ стоит О, формула У л -iZHe может быть логическим следствием формулы (Z v (У-> ~ь¥)) -> F9 так как значением формулы (Z v (У-> -xY)) -> -> А(Х, У, Z) при JT = О, У= О, Z=0 является именно значение jF(O, 0, 0) = 1. Следовательно, F(0, 0, 0) = 0. Аналогично находим ДО, 0, 1) = F(0, I, 1) = Д 1,0,0) = Д 1,0, l) = F(l, 1, l) = 0. Далее, в 3-й строке рассматриваемых двух таблиц значение формулы У л iZ равно 1. Следовательно, какое бы значение при Х=0, Y- 1, Z= 0 ни принимала формула (Zv (У-> ~iX)) -» i7 (а оно совпадает со значением ДО, 1, 0)), отношение следования здесь нарушаться не будет. Аналогична ситуация с 7-й строкой, хотя там значение формулы (Zv (Y-> ~\Х)) -» F(X, У, Z) никак не связано со значением формулы F(X9 У, Z) при Z=l, У=1, Z=0. Таким образом, получаем таблицу истинности для искомой формулы F(X, У, Z) (на месте символа * может стоять любое значение 0 или 1): X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F(X,Y,Z) 0 0 0 0 0 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 Это дает возможность получить четыре формулы, не равносильные между собой и удовлетворяющие условию задачи. Столбцы их истинностных значений представлены в последней таблице. Из них видим, что Fi(X, Y, Z) — любая тождественно ложная формула. Для определения вида остальных формул нужно воспользоваться СДН-формой: F2(X, Y,Z) = Xa Ул hZ; F3(X, Y, Z) = -\Хл Ул nZ; ВД У, Z) s (1л Ул -iZ) v (-ijTa Ул -iZ) = Ул -iZ Для проверки нужно подставить найденную формулу вместо Fb левую формулу, данную в условии, и либо равносильно преобразовать полученную формулу к такому виду, что следование форму- 67
лы Y л -iX станет очевидным, либо составить таблицу истинности полученной формулы и, руководствуясь определением логического следования, сравнить ее с таблицей значений формулы Y л -\Z. Проверим, например, формулу F2: (Zv(Y-+~iX))->F2(X, Г, Z) = (Zv(Y-+-iX))->{XaYa-\Z) = = n(Zv пУv -iZ) v (1л 7л -iZ) = (-iZa 7л X) v (Xа 7л -iZ) = = Ха Ya-\Z. Ясно, что Xа (7л iZ) n= 7л niZ(конъюнкция сильнее каждого из сомножителей). Проверьте самостоятельно правильность нахождения остальных формул. § 3. Приложения алгебры высказываний к логико-математической практике В этом параграфе собраны разноплановые задачи, объединяемые тем, что при решении каждой из них могут быть применены методы алгебры высказываний. Первая группа задач посвящена нахождению обратных и противоположных теорем для исходных прямых теорем, имеющих разнообразные логические структуры. Далее следуют задачи на применение принципа полной дизъюнкции (теоремы об обратимости системы импликаций) для доказательства справедливости обратных теорем, на установление необходимых и достаточных условий, на упрощение совокупностей высказываний, на построение умозаключений из данных посылок. Заключительная группа задач этого параграфа —- это, как их иногда называют в школьной практике, логические задачи, или задачи на рассуждение. Некоторые из них могут быть решены и без применения алгебры высказываний: «методом рассуждений», но методы алгебры высказываний обеспечивают гарантированный успех при их решении. Обратная и противоположная теоремы. Решить задачи 3.1 — 3.10. 3.1. Сформулируйте утверждения, обратные следующим теоремам: а) Если последовательность рациональных чисел сходится, то она фундаментальна (т.е. является последовательностью Коши); б) Если последовательность сходится, то она ограниченна; в) Если треугольник равнобедренный, то углы при его основании равны; г) Если четырехугольник —- ромб, то его диагонали взаимно- перпендикулярны; д) Если параллелограмм — ромб, то его диагонали взаимно- перпендикулярны; е) Точка пересечения диагоналей параллелограмма является его центром симметрии; ж) В прямоугольном треугольнике квадрат длины гипотенузы равен сумме квадратов длин катетов; 68
з) Если последовательность монотонна и ограниченна, то она имеет предел; и) Если каждое слагаемое является четным числом, то и сумма — четное число; к) Если в четырехугольник можно вписать окружность, то суммы длин его противоположных сторон равны между собой; л) Если свободный член с квадратного уравнения ах2+Ьх+с=0 (а ф 0) равен нулю, то один из корней этого уравнения равен нулю. Какие из обратных утверждений истинны, т.е. являются теоремами? Р е ш е н и е. а) Для утверждения вида «Если А, то В» (или символически А -> В) обратным является утверждение «Если В, то А (или символически В -> А), Так как формулы Х-» У и Y-> Хне равносильны (проверьте, составив их таблицы истинности), то высказывания А-±ВиВ->Ане обязаны быть одновременно истинными. Другими словами, если А -> В — теорема, т. е. в данном случае верное утверждение, то В -> А таковым может не быть. Именно так обстоит дело в настоящем примере. Обратное утверждение: «Если последовательность в множестве рациональных чисел фундаментальна, то она сходится к некоторому элементу этого множества» — неверно. (Фундаментальной, но не сходящейся в множестве рациональных чисел последовательностью является, например, последовательность рациональных приближений к какому-нибудь иррациональному числу, скажем, к y[l.) 3.2. Сформулируйте предложения, противоположные теоремам, приведенным в задаче 3.1. Какие из этих предложений верны, т. е. сами являются теоремами? Сопоставьте ответы на этот вопрос с ответами на второй вопрос задачи 3.1. Совпадают ли они? (Если какие-нибудь два ответа не совпадут, то один из них неверен.) Решение, а) Для данного предложения А -> В противоположным ему является предложение пЛ -» -iA Формулы Х-> 7 и -}Х -> -л Y не равносильны (составьте и сравните их таблицы истинности), поэтому если А -> В — теорема, то противоположное предложение iA -> -\В может теоремой не быть. Но ввиду закона контрапозиции У-> X = -iX -± -i7(cm. задачу 1.28, д) обратное утверждение В-±Аи противоположное утверждение -лА -> iB для данной теоремы А -► В одновременно истинны или нет. Поэтому ответы об истинности утверждения из задачи 3.1 и противоположного утверждения из данной задачи должны совпадать. Противоположное утверждение в настоящем примере формулируется так: «Если последовательность рациональных чисел не сходится, то она не фундаментальна». 3.3. Для каждой теоремы из задачи 3.1 сформулируйте теорему, равносильную ей согласно закону контрапозиции (см. задачу 1.28, д), т. е. теорему, обратную противоположной. 69
Решение, а) На основании закона контрапозиции X -» Y = = пУ-> -\Хнекоторое утверждение А -> В и обратное противоположному ему утверждение -л В -> -\А одновременно истинны или ложны. Поэтому если А -» В — теорема, то теоремой будет и утверждение -ii? -> -лА. Причем доказывать эту теорему нет необходимости: она вытекает из прямой теоремы А -> В и логического закона контрапозиции. В настоящей задаче теорема, обратная противоположной, формулируется так: «Если последовательность рациональных чисел не фундаментальна, то она не сходится». 3.4. Пользуясь законом контрапозиции, докажите теоремы: а) Если тп — нечетное число, то т и п нечетны (т, п — целые числа); б) Если значение выражения 2t/(t2 + 1) — иррациональное число, то / иррационально; в) Если а2 + Ь2 * О, то а ф О или b * 0; г) Если две прямые порознь параллельны третьей прямой, то они параллельны между собой; д) Если две параллельные прямые пересечены третьей, то внутренние накрест лежащие углы равны; е) Среди простых чисел нет наибольшего. Р е ш е н и е. г) Докажем утверждение, обратное противоположному для данного, а именно: «Если две прямые не параллельны между собой, то по крайней мере одна из них не параллельна третьей прямой». В самом деле, пусть различные прямые 1Х и /2 не параллельны. Тогда они пересекаются в некоторой точке М. Утверждаем, что либо 1Х не параллельна третьей прямой /, либо /2 не параллельна /. Действительно, в противном случае через Мпроходили бы две различные прямые 1Х и /2, параллельные третьей прямой /, что противоречило бы аксиоме о параллельных Евклида. Утверждение, обратное противоположному, доказано. На основании закона контрапозиции заключаем, что верно и прямое утверждение. 3.5. Для каждой из следующих теорем найдите все теоремы, т. е. верные утверждения, обратные и противоположные ей (если они есть), и теорему, противоположную обратной: а) Если а = 0 и Ъ = 0, то а2 + Ъ2 = 0 (а и b — действительные числа); б) Если а делится на Ъ и Ъ делится на с, то а делится на с (а, Ь, с — целые числа); в) Если ab делится на с и а не делится на с, то b делится на с (а, Ь, с — целые числа); г) Если а делится на с и b делится на с, то а + b делится на с (а, Ь, с — целые числа); д) Если два угла вписаны в окружность и опираются на одну и ту же дугу, то они равны между собой; е) Если у четырехугольника две противоположные стороны равны и параллельны, то этот четырехугольник — параллелограмм; 70
ж) Если две хорды принадлежат равным кругам и равны между собой, то они одинаково удалены от центров этих кругов; з) Если плоскость перпендикулярна одной из параллельных прямых, то она перпендикулярна и другой; и) Если плоскость а проходит через прямую /, перпендикулярную плоскости р, то плоскости аир перпендикулярны между собой. Р е ш е н и е. а) Логическая структура этой теоремы (как и всех остальных в данной задаче) выражается следующей формулой алгебры высказываний: (Ах а А2) -> 2?. Ввиду справедливости равно- сильностей (см. задачу 1.28, с, ц) (Ах aA2)->B = A]-> (A2 -> В) = = А2 -> (Ах -> В) данная теорема имеет три равносильные формы, представляющие собой условные высказывания. Для каждой из них можно образовать одно обратное утверждение: В _> (Ах а А2), (А2 -» В) -> Аи (Ах -> В) -> А2. Кроме того, обратив во второй и третьей формах данной теоремы импликации в скобках А2 -» В и Ах -> Д получим еще две обратные теоремы: Ах -> (В -> А2) = (Ах а В) -+ А2\ А2-+ (В -» Ах) = (А2 а В) -» Ах. Таким образом, для теоремы (Ах а А2) -» В мы получили пять обратных форм (формул): В -»(Ах а А2), (Ах а В) -» Аъ (А2 а В) -» -> Аь (А2 -> В) -> Аи (Ах -^ В) -» Л25 которые не равносильны между собой, в чем можно убедиться, составив таблицы их истинности. Поскольку теоремы элементарной математики обычно принято формулировать так, чтобы их условия и заключения (если они являются составными высказываниями) сами не содержали условной связки «если..., то...», а составлялись в виде конъюнкции (реже дизъюнкции) простых высказываний, то мы будем называть обратными утверждениями для данной теоремы (Ах а аА2)-+В лишь утверждения трех первых форм: В -> (Ах а А2), (Ах а В) -> Аъ (А2 л5)-> Ах. Произведя контрапозицию этих обратных форм, получим формы, противоположные данной теореме. Их также три: -|(у4, л А2) -» -i£ s (-U, -> -ijB) л (-1у42 -~> чВ); -\А2 -» ~i(Ax а В) = ~\А2 -> (-i^j v -iB); -\АХ -> ~i(A2 а В) = ~\АХ -> {~\А2 v ~iB). Наконец, произведя контрапозицию исходной теоремы, получим одну теорему, противоположную обратной: iB -> -\(АХ л А2). Найдем соответствующие утверждения для данной теоремы и выясним, какие из них сами являются теоремами: В -» (Ах а А2): «Если а2 + Ь2 = 0, то а = 0 и b = О»; (/4j л 2?) -> у42: «Если а = 0 и а2 + б2 = 0, то b = О»; (Л2 л Я) -» Лр «Если Ъ = 0 и я2 + Ъ2 = 0, то а = О». 71
Каждое из этих утверждений является теоремой, т. е. мы можем доказать его истинность, причем две последние теоремы из-за коммутативности сложения действительных чисел сливаются в одну: «Если сумма квадратов двух действительных чисел равна нулю и одно из этих чисел равно нулю, то и другое число равно нулю». Утверждениями, противоположными данной теореме, являются: -ч(А{ л А2) -> ~il? — «Если ни одно из действительных чисел не равно 0, то и сумма квадратов этих чисел не равна О»; -\А2 -> -» (-\А\ v -i5), ~\Ai -> (-l42 v ~*В) — «Если одно из двух действительных чисел не равно 0, то либо и другое не равно 0, либо сумма квадратов этих чисел не равна 0». Наконец противоположной обратной является следующая теорема: iB -> (-Ui v i/42) — «Если сумма квадратов действительных чисел не равна 0, то по меньшей мере одно из этих чисел не равно О». 3.6. Составив таблицы истинности для обратных форм (формул), рассмотренных в решении предыдущей задачи: У-> (Х{ л л Х2), (*, л У) -> Хъ (12лУ)-> Хи (Х2-*¥)-* Хи (Хх -> Y) -> -» Хъ определите, какие из этих форм являются логическими следствиями и каких форм. 3.7. Для каждой из следующих теорем найдите все обратные и противоположные теоремы (если они есть), а также теорему, противоположную обратной: а) Если три прямые лежат в одной плоскости и две из них перпендикулярны третьей, то эти две прямые параллельны; б) Если прямая д, лежащая вне плоскости к, параллельна прямой Ь, лежащей в плоскости я, то прямая а и плоскость п параллельны; в) Если прямая лежит в одной из двух пересекающихся плоскостей и параллельна другой из них, то она параллельна и линии их пересечения; г) Если прямая а пересекает плоскость п и перпендикулярна двум непараллельным прямым Ьи с, принадлежащим этой плоскости, то прямая а перпендикулярна плоскости п; д) Если отрезки параллельных прямых заключены между параллельными прямыми, то они равны между собой. Р е ш е н и е. д) Логическая структура этой теоремы выражается формулой (Ах л А2 л Аъ) -> В, где использованы следующие обозначения для составляющих высказываний: А\\ «Отрезки [АВ] и [CD] заключены между прямыми 1Х и /2 (т.е. А, Се /,, В, Dz /2)»; А2: «[АВ] || [CD]; Аъ\ «1{ || /2»; В: «[АВ] = [CD]». Если исходная теорема имеет структуру (А\ л А2 л ... л Ап) -» Д то считаем по определению, что обратные ей теоремы содержатся среди тех обратных форм, которые образованы из формы исходной теоремы путем замены всего ее условия или любой части условия заключением, а заключения — соответствующей частью условия или 72
полным условием. При п = 3, согласно этому определению, теоремы, обратные исходной, содержатся среди следующих форм: 1) В -> (Ах л А2 л Аъ)\ 5) (Л, л Л2 л В) -> Л3; 2) (Л, л В) -+ (А2 л у43); 6) {Ах лА3лВ)-+ А2; 3) 0*2 л Я) -> (Л, л у43); 7) (А2 л А3 л В)-> Ах. 4) (Л3 ДЙ)-> 04, л Л2); Сформулируем соответствующие высказывания для данной исходной теоремы: 1) Если отрезки равны, то они параллельны и заключены между параллельными прямыми; 2) Если равные отрезки заключены между двумя прямыми, то как отрезки, так и заключающие их прямые параллельны; 3) Если два отрезка равны и параллельны, то они заключены между параллельными прямыми; 4) Если два отрезка равны и некоторые две прямые параллельны, то данные отрезки параллельны и заключены между этими прямыми; 5) Если равные и параллельные отрезки заключены между двумя прямыми, то эти прямые параллельны; 6) Если равные отрезки заключены между параллельными прямыми, то эти отрезки параллельны; 7) Если два отрезка равны и параллельны и некоторые две прямые параллельны, то они заключают данные отрезки. Среди этих высказываний истинными являются 3) и 5). Они и служат теоремами, обратными исходной. Среди утверждений, противоположных исходной теореме, теоремами являются лишь контрапозиции обратных теорем 3) и 5). Эти противоположные теоремы таковы: 3') -i04, л v43) -» (~\А2 v -л В) — «Если отрезки не могут быть заключены между параллельными прямыми, то они или не равны, или не параллельны»; 5') -ъ43 -» "iO4, лА2л В)— «Если две прямые не параллельны, то они не могут заключить равные параллельные отрезки». Наконец теорема, представляющая собой контрапозицию исходной теоремы (противоположная обратной), имеет следующую форму: iB -> -i04, л А2 л Аг) и формулируется так: «Если два отрезка не равны, то они не могут быть одновременно параллельными и заключенными между параллельными прямыми». 3.8. Для каждой из следующих теорем найдите все обратные и противоположные теоремы, а также теорему, противоположную обратной: а) Если целое число делится на 12, то оно делится на 3, а также на 4; б) Если прямоугольник является квадратом, то его диагонали взаимно-перпендикулярны и делят углы пополам; 73
в) Если параллелограмм является квадратом, то его диагонали равны, взаимно-перпендикулярны и в точке пересечения делятся пополам; г) Если пирамида рассечена плоскостью, параллельной основанию, то ее боковые ребра и высота делятся этим сечением на пропорциональные части, при этом сечением является многоугольник, подобный основанию, а площади сечения и основания относятся как квадраты их расстояний до вершины. Решение, а) Логическая структура этой теоремы выражается формулой А -» (В\ а В2). Так как справедлива равносильность (см. задачу 1.28, ё) А -> (В{ а Bj) = {А -> Вх) л (А -> В2), то исходная теорема распадается на две теоремы: А -> Вх и А -» Въ ввиду чего обратные теоремы могут иметь форму: 1) (В\ л В2) -> А; 2) В{ -» А\ 3) В2 -> А, причем форма 1) является следствием как формы 2), так и формы 3). Если формы 2) и 3) одновременно истинны, то их можно заменить одной формой: (В{ v B2) -> А. В нашем случае имеем единственную обратную теорему: (Вх а В2) -> А — «Если целое число делится на 3 и 4, то оно делится на 12». Формы противоположных теорем: -l4 -> -i(B} а В2), -\А -> -iBu -\А -> ~\В2. В нашем случае из противоположных утверждений истинно (т. е. является теоремой) лишь утверждение первой формы: -U -» (-il?! v 1В2) — «Если целое число не делится на 12, то оно не делится на 3 или на 4». Наконец теорема, противоположная обратной, имеет форму -\(В} а В2) -> ~\А или (-il?! v -лВ2) -> -лА — «Если число не делится на 3 или на 4, то оно не делится на 12». 3.9. Составьте все теоремы, обратные и противоположные следующим: а) Всякий параллелограмм с равными диагоналями есть прямоугольник или квадрат; б) Всякий параллелограмм с взаимно-перпендикулярными диагоналями есть ромб или квадрат; в) Если четырехугольник вписывается в окружность, то он правильный или суммы его противоположных углов равны. Р е ш е н и е. а) Логическая структура этой теоремы выражается формулой А -» (2?! v В2). Тогда возможны следующие обратные формы: (В{ v В2) -> А, Вх -> А, В2 -> А. Соответственно возможны следующие формы противоположных теорем: -\А -» (-i5, л ~iB2), -лА -> -iBl9 -\А -> -\В2. При этом одновременная истинность двух последних форм (обратных и противоположных) влечет за собой истинность первой формы и обратно. В нашем случае имеем обратную теорему: (Вх v B2)->A — «Если параллелограмм является прямоугольником или квадратом, то его диагонали равны». Противоположная теорема: -\А -> (нЯ, л пВ2) — «Если диагонали параллелограмма не равны, то этот параллелограмм не является ни прямоугольником, ни квадратом». 74
3.10. Установите логическую форму следующих теорем и найдите все обратные и противоположные им теоремы: а) Если в четырехугольнике противоположные стороны попарно параллельны, то они попарно равны; б) Если прямая параллельна линии пересечения двух плоскостей, то она параллельна каждой из этих плоскостей; в) Плоскость я и прямая а параллельны, если существует прямая, лежащая в плоскости я и параллельная прямой а; г) Если существует прямая, принадлежащая одной из двух пересекающихся плоскостей и перпендикулярная другой, то эти плоскости перпендикулярны; д) Прямая а перпендикулярна плоскости я, если а пересекает я и существуют две непараллельные прямые, лежащие в плоскости я и перпендикулярные прямой а. Принцип полной дизъюнкции. Решить задачи 3.11 — 3.15. 3.11. Имеются три следующие теоремы: «Во всяком треугольнике: 1) против большей стороны лежит больший угол; 2) против равных сторон лежат равные углы; 3) против меньшей стороны лежит меньший угол». Примените принцип полной дизъюнкции (т. е. теорему об обратимости системы импликаций, см. задачу 1.21) для доказательства того, что обратные теоремы для всех трех данных теорем верны. Решение. Для удобства запишем данные утверждения в символической форме, используя связку «если..., то...» и четко выделяя условие и заключение каждого из них. Во всяком треугольнике: 1) если а > Ь, то а > р; 2) если а = 6, то а = р; 3) а < Ь, то а < р, где a, b — стороны треугольника, а, р — углы, лежащие против сторон аи b соответственно. Тогда ясно, что из трех условий этих теорем: а>Ь, а = Ьиа< Ь — по меньшей мере одно непременно выполняется, а из трех заключений а>р, а = р, а<р никакие два не совместны, т. е. конъюнкция любых двух ложна. Поэтому можем применить к этим теоремам принцип полной дизъюнкции (теорему об обратимости системы импликаций) и на его основе заключить, что все три обратные утверждения также верны, т. е. являются теоремами. 3.12. Даны три теоремы: «Во всяком треугольнике: 1) квадрат стороны, лежащей против острого угла, меньше суммы квадратов двух других его сторон; 2) квадрат стороны, лежащей против прямого угла, равен сумме квадратов двух других его сторон; 3) квадрат стороны, лежащей против тупого угла, больше суммы квадратов двух других его сторон». Примените теорему об обратимости системы импликаций (см. задачу 1.21) для доказательства того, что обратные утверждения для данных теорем также верны, т. е. являются теоремами. Сформулируйте их. 3.13. Даны следующие теоремы: «В одном и том же круге или в равных кругах: 1) большая хорда ближе к центру; 2) равные хорды одинаково удалены от центра; 3) меньшая хорда дальше отстоит от центра». Покажите, как применяется теорема об обрати- 75
мости системы импликаций (см. задачу 1.21) для доказательства того, что обратные утверждения также верны. Сформулируйте обратные теоремы. 3.14. Сформулируйте обратные теоремы к следующим трем теоремам: «Для положительного числа а: 1) если Ъ < с, то ab < ас; 2) если b = с, то ab = ас; 3) если Ъ > с, то ab > ас». Нуждаются ли обратные теоремы в доказательстве? Ответ обоснуйте. 3.15. Проанализируйте следующие группы теорем на предмет применимости к ним принципа полной дизъюнкции: а) Если R > d, то прямая и окружность имеют две точки пересечения (R — радиус окружности, d — расстояние от ее центра до прямой). Если R = d, то прямая и окружность касаются (имеют одну общую точку). Если R < d, то прямая и окружность не пересекаются (не имеют общих точек); б) Если к прямой из одной точки проведены перпендикуляр и наклонные, то равные наклонные имеют равные проекции, из двух наклонных больше та, у которой проекция больше; в) Три теоремы о взаимном расположении двух окружностей (в зависимости от соотношений между суммой радиусов R + г и расстоянием d между центрами); г) Если в квадратном уравнении ах2 + Ьх + с = 0 дискриминант D > О (D = 0 или D < 0), то это уравнение имеет два вещественных корня (имеет один вещественный корень или, соответственно, не имеет вещественных корней). Приведите свои примеры математических теорем, для которых обратные утверждения оказываются верными на основе теоремы об обратимости системы импликаций (принципа полной дизъюнкции, см. задачу 1.21). Необходимые и достаточные условия. Если справедлива теорема «Если А, то В», то говорят, что условие А достаточно для В, а условие В необходимо для А. 3.16. Сформулируйте следующие высказывания, используя связку «если..., то...»: а) А достаточно для В; б) А необходимо для В; в) В достаточно для А; г) В необходимо для А. 3.17. Выделив условие и заключение теоремы, сформулируйте ее посредством связки «если..., то...»: а) Для того чтобы функция была дифференцируемой в некоторой точке, необходимо, чтобы она была непрерывной в этой точке; б) Необходимым свойством прямоугольника является равенство его диагоналей; в) Для делимости многочлена f(x) на линейный двучлен х- а достаточно, чтобы число а было корнем этого многочлена; г) На 5 делятся те целые числа, которые оканчиваются цифрой 0 или цифрой 5; д) Две прямые на плоскости тогда параллельны, когда они перпендикулярны одной и той же прямой; 76
е) Комплексные числа равны, только если равны соответственно их действительные и мнимые части; ж) Всякое квадратное уравнение с действительными коэффициентами имеет не более двух действительных корней; з) Из того, что четырехугольник — ромб, следует, что каждая из его диагоналей служит его осью симметрии; и) Четность суммы есть необходимое условие четности каждого слагаемого; к) Равенство треугольников есть достаточное условие их рав- новеликости; л) Для делимости произведения на некоторое число достаточно, чтобы по меньшей мере один из сомножителей делился на это число. Решение, л) Заключением теоремы является утверждение о делимости произведения на некоторое число. Условием такого заключения служит утверждение о делимости на это число по меньшей мере одного из сомножителей. Данную теорему можно сформулировать так: «Если по меньшей мере один из сомножителей делится на некоторое число, то и произведение делится на это число». 3.18. Определите, какие из следующих высказываний истинны и какие ложны: а) Наличие аттестата зрелости достаточно для поступления в университет; б) Наличие аттестата зрелости необходимо для поступления в университет; в) Периодичность — достаточное условие всякой тригонометрической функции; г) Периодичность — необходимое свойство всякой тригонометрической функции; д) Непрерывность — необходимое и достаточное свойство всякой тригонометрической функции; е) Для существования действительного логарифма числа необходимо и достаточно, чтобы это число было действительным и положительным; ж) Для того чтобы натуральное число р было простым, необходимо и достаточно, чтобы число р + 1 было четным; з) Для того чтобы медиана треугольника была равна половине стороны, которую она делит пополам, необходимо и достаточно, чтобы она выходила из прямого угла; и) Для того чтобы четырехугольник был квадратом, необходимо и достаточно, чтобы его диагонали были равны и перпендикулярны; к) Для того чтобы в прямоугольном треугольнике катет составлял половину гипотенузы, необходимо и достаточно, чтобы угол, лежащий против этого катета, был равен 30°; л) Дифференцируемость функции в точке есть необходимое условие для ее непрерывности в этой точке. 77
Указание. Прежде чем отвечать на вопрос, непременно сформулируйте теорему с использованием связки «если..., то...», выделив условие и заключение. 3.19. В следующих высказываниях вместо многоточия вставьте одно из выражений: «необходимо, но не достаточно», «достаточно, но не необходимо», «необходимо и достаточно», чтобы получилось истинное высказывание: а) а — четное число... для того, чтобы За было четным числом (а — целое число); б) а делилось на с... для того, чтобы а • Ъ делилось нас с (я, Ь, с — целые числа); в) а и Ъ делятся на с... для того, чтобы а + b делилось на с (я, Ь, с— целые числа); г) х > 1... для того, чтобы х2 - 1 > 0; д) а || Ъ и Ъ || с... для того, чтобы а || с (а, Ь, с — прямые); е) Совпадение центров вписанной и описанной около треугольника окружностей... для того, чтобы треугольник был правильным; ж) а = р... для того, чтобы sin а = sin p; з) Для того чтобы четырехугольник был прямоугольником, ..., чтобы его диагонали были равны; и) Для того чтобы четырехугольник был параллелограммом, ..., чтобы все его стороны были равны; к) Для того чтобы четырехугольник был прямоугольником, ..., чтобы все его углы были равны; л) Для того чтобы четырехугольник был параллелограммом, чтобы его диагонали в точке пересечения делились пополам. Указание. В задачах 3.18, з, и, к, л имеется в виду выпуклый четырехугольник. 3.20. Даны утверждения: А: Треугольник равнобедренный; В: Два внутренних угла треугольника равны между собой; С: Три внутренних угла треугольника равны между собой; D: Два внешних угла треугольника равны между собой; Е: Две высоты треугольника равны между собой; К: Три высоты треугольника равны между собой; L: Один из углов треугольника равен 45°. а) Какие из перечисленных утверждений и из каких логически следуют? Составьте из соответствующих пар истинные условные высказывания. б) Какие из утверждений В, С, ..., L служат для утверждения А достаточными условиями; необходимыми; необходимыми и достаточными условиями одновременно? 3.21. Даны утверждения: А: Пирамида правильная; В: Все боковые ребра пирамиды равны между собой; С: Высоты всех боковых граней пирамиды равны между собой; 78
D: Проекция каждого из боковых ребер пирамиды на основание есть биссектриса соответствующего угла основания; Е: Вершина пирамиды проецируется в центр окружности, вписанной в основание. а) Какие из перечисленных утверждений и из каких логически следуют? Составьте из соответствующих пар истинные условные высказывания. б) Какие из утверждений А9 В, ..., D являются для утверждения Е достаточными условиями; необходимыми; необходимыми и достаточными условиями одновременно? 3.22. Используя слова: 1) всякие; 2) если..., то...; 3) только если; 4) необходимо; 5) достаточно; G) те, которые; 7) только те, которые; 8) тогда, когда; 8) только тогда, когда; 10) если нет..., то нет... (без... нет...); 11) содержится, сформулируйте следующие теоремы: а) Вертикальные углы равны; б) Диагонали ромба взаимно-перпендикулярны; в) Равные треугольники подобны; г) Если целое число делится на 6, то оно делится на 3; д) Точка пересечения диагоналей параллелограмма есть центр его симметрии; е) Невырожденная матрица имеет обратную матрицу. 3.23. Каждое из следующих высказываний сформулируйте в форме равнозначности (с использованием связки «... тогда и только тогда, когда...»): а) Перпендикуляр, проведенный к отрезку через его середину, есть геометрическое место точек, равноудаленных от концов отрезка; б) Две прямые, параллельные данной прямой и находящиеся по разные стороны от нее на расстоянии г, есть геометрическое место центров окружностей радиуса г, касающихся данной прямой в данной плоскости; в) При прибавлении одного и того же числа т к обеим частям уравнения f(x) = g(x) получаем новое уравнение, имеющее те же корни, что и исходное, и не имеющее никаких других корней; г) При умножении обеих частей данного неравенства/(х) > g(x) на одно и то же положительное число т получаем неравенство того же смысла, обладающее тем же самым множеством решений, что и исходное неравенство. Р е ш е н и е. а) Точка лежит на перпендикуляре к отрезку, проведенном через середину этого отрезка, тогда и только тогда, когда она равноудалена от концов этого отрезка. 3.24. Руководствуясь определением импликации (таблицей истинности этой операции), сформулируйте: а) достаточное, но не необходимое условие истинности импликации; б) необходимое, но не достаточное условие ложности импликации; в) необходи- 79
мое и достаточное условие ложности импликации; г) необходимое и достаточное условие истинности импликации. 3.25. Используя только законы алгебры высказываний, выясните, какие из приведенных ниже высказываний следуют из высказывания «Если целое число п делится на 6, то п также делится на 3»: а) Чтобы п делилось на 3, достаточно, чтобы оно делилось на 6; б) Чтобы п делилось на 6, достаточно, чтобы оно делилось на 3; в) Чтобы п не делилось на 3, необходимо, чтобы п не делилось на 6; г) Число п делится на 6 тогда и только тогда, когда оно делится на 3; д) Число п делится на 3 тогда и только тогда, когда оно делится на 6. 3.26. На основе законов алгебры высказываний выясните, какие из приведенных ниже высказываний будут истинны, если истинно высказывание: «Равные треугольники подобны»: а) Треугольники равны только в случае их подобия; б) Подобие треугольников является необходимым условием их равенства; в) Треугольники подобны только в случае их равенства; г) Равенство треугольников является достаточным условием их подобия; д) Подобие треугольников является необходимым и достаточным условием их равенства; е) Для того чтобы треугольники не были равны, достаточно, чтобы они не были подобны. Указание. Запишите данное высказывание символически: А -> Д обозначив через А высказывание «Треугольники равны» и через В — «Треугольники подобны». Затем, используя эти обозначения, запишите символически каждое из предлагаемых высказываний и сравните полученную формулу с формулой, отражающей структуру данного истинного высказывания. 3.27. Пользуясь основными законами (тавтологиями) алгебры высказываний, докажите, что следующие составные высказывания истинны: а) Действительное число а больше 2 или меньше -1 в том и только в том случае, когда из того, что а не больше 2, следует, что а < -1; б) Если справедливо утверждение, что каждое алгебраическое уравнение с действительными коэффициентами нечетной степени имеет по меньшей мере один действительный корень, то справедливо и утверждение, что каждое алгебраическое уравнение с действительными коэффициентами, не имеющее действительного корня, имеет четную степень; в) Два утверждения: «Система п линейных однородных уравнений с п неизвестными имеет единственное решение тогда и только 80
тогда, когда определитель системы отличен от нуля» и «Система п линейных однородных уравнений с п неизвестными имеет по меньшей мере два решения тогда и только тогда, когда определитель системы равен нулю», одновременно истинны или ложны; г) Если дифференцируемая функция непрерывна, то невозможно, чтобы функция была дифференцируема и разрывна; д) Если справедливо, что невырожденная матрица имеет обратную, то справедливо также, что матрица вырождается или имеет обратную. Р е ш е н и е. а) Введем обозначения для простейших высказываний: А: «а > 2» и В: «а < -1». Тогда составное высказывание символически записывается так: (А л В) <-» (-iA -> В). Оно истинно на основании тавтологии задачи 1.28, д, потому что получается из этой тавтологии в результате подстановки вместо ее пропозициональных переменных Р и Q конкретных высказываний А и В соответственно. Упрощение систем высказываний. Решить задачи 3.28 — 3.31. 3.28. Администрация небольшого завода спешно дала в связи с неожиданным приходом инспектора следующую директиву по службе безопасности, в соответствии с которой должно выполняться по меньшей мере одно из следующих правил: а) Инспектору не разрешается курить на заводе; б) Если инспектору разрешается курить на заводе, то рабочие должны быть предупреждены об этом, и бригадир должен принять меры к быстрому уничтожению окурков; в) Рабочие должны быть предупреждены, или бригадир должен принять меры к быстрому уничтожению окурков; г) Или рабочие должны быть предупреждены и бригадир должен принять меры к быстрому уничтожению окурков, или инспектору не разрешается курить на заводе. Как можно упростить эти правила? Решение. Введем следующие обозначения для простейших правил (высказываний), содержащихся в директиве: А: Инспектору разрешается курить на заводе; В: Рабочие должны быть предупреждены о том, что инспектору разрешено курить; С: Бригадир должен принять меры к быстрому уничтожению окурков. Теперь директивные правила примут соответственно следующий вид: -ъ4; А -> (В л С); В v С; (В л С) v -\А. Поскольку по меньшей мере одно из перечисленных правил должно выполняться, должна быть истинна и их дизъюнкция: -лА v {А -> (В л С)) v (В v С) v ((В л С) v пЛ) = ... Преобразуем это сложное высказывание, используя свойства участвующих в нем логических операций: 81
... =~iAv-iAv(Ba C)v(Bv C)v(Ba QwiA = ~лА v (B a C) v Bv v C= ~\A v ((5л С) v В) v C= -лА v 5 v С = Л-> (5 v С). Таким образом, вся директива может быть сформулирована следующим образом: если инспектору разрешается курить на заводе, то либо рабочие должны быть предупреждены об этом, либо бригадир должен принять меры к быстрому уничтожению окурков. 3.29. Администрация морского порта издала следующие распоряжения: а) Если капитан корабля получает специальное указание, он должен покинуть порт на своем корабле; б) Если капитан не получает специального указания, он не должен покидать порта или впредь лишается возможности захода в этот порт; в) Капитан или лишается впредь возможности захода в этот порт, или не получает специального указания. Как можно упростить эту систему распоряжений? 3.30. Командир осажденной крепости послал следующие три сообщения: а) Если нам удастся получить продовольствие, то нам не будет угрожать смерть от голода; б) Если нам не удастся получить продовольствие, то нам или будет угрожать смерть от голода, или мы попытаемся прорвать кольцо окружения; в) Если нам будет угрожать смерть от голода, то мы попытаемся прорвать кольцо окружения. Покажите, как можно сократить эти сообщения, не меняя их смысла. 3.31. На факультативном занятии по математической логике учитель сообщил ученикам 8-го класса, собирающимся в туристический поход по родному краю, следующие сведения о готовящемся походе: а) Будут приобретены новые палатки, новые рюкзаки, и 8-й класс пойдет в поход; б) Палатки и рюкзаки приобретаться не будут, и 8-й класс в поход не пойдет; в) Будут приобретены новые палатки, рюкзаки приобретаться не будут, 8-й класс пойдет в поход; г) Неверно, что либо будут приобретены новые палатки, либо не будут приобретены новые рюкзаки, либо 8-й класс пойдет в поход. Отметив, что по крайней мере одно из четырех сообщений абсолютно верно, учитель попросил учеников наилучшим образом упростить всю полученную информацию и представить ее в виде одного простого условия. Правильные и неправильные рассуждения. Решить задачи 3.32— 3.43. 82
3.32. Я пойду или в кино на новую кинокомедию (А), или на занятия по математической логике (В). Если я пойду в кино на новую кинокомедию, то я от всей души посмеюсь (С). Если я пойду на занятия по математической логике, то испытаю большое удовольствие от следования по путям логических рассуждений (D). Следовательно, или я от всей души посмеюсь, или испытаю большое удовольствие от следования по путям логических рассуждений. Справедливо ли проведенное рассуждение? Решение. Учитывая символические обозначения высказываний, приведенные в условии, запишем посылки нашего рассуждения: у4 v В, А -> С, В -> D. Покажем, что для формул алгебры высказываний имеет место следующее логическое следование: Xv Y, X->Z, Y-> Wt=Zv W9 где X, Y, Z, W— пропозициональные переменные. В самом деле, предположим, что это следование неверно, т.е. найдутся такие конкретные высказывания Аи Аъ А3, А4, что X(AU v А2) = 1, Х(АХ -» А$) = 1, Х(А2 -» ДО = 1, но Х(АЪ v A4) = = 0. Тогда из последнего равенства следует, что Х(А3) = 0 и Х(А4) = 0. Далее, из Х(А{ -» А3)= 1 и Х(А3) = 0 следует, что Х(АХ) - 0, а из Х(А2-> А4) = 0 следует, что Х(А2) = 0. Тогда Х(А{ v А2) = Х{АХ) v v Х(А2) = 0 v 0 = 0, что противоречит предположению Х(А{ v А2) = 1. Таким образом, проведенное в данной задаче рассуждение справедливо. К такому выводу мы приходим, если в доказанном логическом следствии выполним подстановку: Х- A, Y= В, Z= С, W= D. 3.33. Если цех II не будет участвовать в выпуске нового образца продукции, то не будет участвовать и цех I. Если же цех II будет участвовать в выпуске нового образца, то в этой работе непременно должны быть задействованы цехи I, III. Необходимо ли участие цеха III, если в выпуске нового образца будет участвовать цех I? 3.34. Если Антон ляжет спать сегодня поздно (Л), то утром он будет в нерабочем состоянии (В). Если он ляжет не поздно, то ему будет казаться, что он много времени теряет бесполезно (С). Следовательно, или Антон завтра будет в нерабочем состоянии, или ему будет казаться, что он много времени теряет напрасно. Справедливо ли такое заключение? 3.35. Если я пойду завтра на первое занятие (А), то должен буду рано встать (В), а если я пойду вечером на дискотеку (С), то лягу спать поздно (£>). Если я лягу спать поздно и встану рано, то буду вынужден довольствоваться пятью часами сна. Следует ли отсюда, что я должен или пропустить завтра занятие, или не ходить вечером на дискотеку? Решение. Посылки нашего рассуждения можно записать в следующем символическом виде: (А -> В) л (С-» D), (D л В) -> Е9 ~iE. Нам нужно выяснить, вытекает ли отсюда утверждение ~iA v и С. Предположим, что высказывание iA v -i С ложно, в то время как все посылки истинны. Тогда X(iA v -iС) = 0, т. е. Х(А) - 1 и Х(С) = 1, в то время как Х((А -> В) л (С -+ D)) = X((D л В) -> Е) = Х(-\Е) = 1. 83
Из этих условий заключаем, что Х(Е) = 0, a X(D л В) = 0. Следовательно, X(D) = 0 или Х(В) = 0. Если X(D) = 0, то А,(С-> D) = Х(С) -> -> X(D) = 1 -> 0 = 0 и Х((А -> 5) л (С->#)) = 0, что противоречит предположению. Если же А,(5) = 0, то аналогично Х{А -> 1?) = 0 и А,((Л -» i?) л (С-> Z))) = 0, что снова противоречит предположению. Следовательно, не может быть ложно высказывание -\А v -i С, если все данные посылки истинны. Значит, вывод -ъ4 v -i С верен. 3.36. Если будет холодно (у4), то я надену теплое пальто (В), если рукав будет починен (С). Завтра будет холодно, а рукав не будет починен. Следует ли отсюда, что я не надену теплое пальто? Решение. Посылки нашего рассуждения символически записываются следующим образом: А -> (С-> В), А л -\С. Спрашивается: следует ли отсюда утверждение -il?? Предположим, что высказывание iB ложно, в то время как все посылки являются истинными высказываниями. Тогда Х(-\В) = 0, а Х(В) = 1. Значит, первая посылка А -> (С -> В) действительно истинна, а вторая будет истинной, если А истинно, а С ложно. Таким образом, ситуация, когда посылки все истинны, а высказывание -\В ложно, вполне возможна. Это означает, что высказывание -iB не следует из данных посылок. 3.37. Андрей или очень переутомился (А), или болен (В). Если он переутомился, то он раздражается (С). Он не раздражается. Следует ли отсюда, что он не болен? 3.38. Если 2 — простое число (А), то 2 — наименьшее простое число (В). Если 2 — наименьшее простое число, то 1 не является простым числом (С). Следует ли отсюда, что 2 — наименьшее простое число? Следует ли отсюда, что 2 — простое число? 3.39. Если выиграет самарский «Спартак» (А), то Самара будет торжествовать (В). Если же выиграет саратовский «Сокол» (С), то торжествовать будет Саратов (D). Выиграет или «Спартак», или «Сокол». Однако если выиграет «Спартак», то Саратов не будет торжествовать, а если выиграет «Сокол», то торжествовать не будет Самара. Вытекает ли отсюда, что Самара будет торжествовать тогда и только тогда, когда не будет торжествовать Саратов? 3.40. Или Анна и Антон одного возраста (А), или Анна старше Антона (В). Если Анна и Антон одного возраста, то Наташа и Антон не одного возраста (С). Если Анна старше Антона, то Антон старше Николая (D). Следует ли отсюда, что либо Наташа и Антон не одного возраста, либо Антон старше Николая? 3.41. Если 6 — составное число (А), то 12 также составное число (В). Если 12 — составное число, то существует простое число больше, чем 12 (С). Если существует простое число больше 12, то существует составное число больше 12 (D). Если 6 делится на 2 (Е), то 6 — составное число. Число 12 составное. Следует ли отсюда, что 6 — составное число? 3.42. Если я поеду автобусом 04), а автобус опоздает (В), то я пропущу назначенное свидание (С). Если я пропущу назначенное 84
свидание и начну огорчаться (D), то мне не следует ехать домой (Е). Если я не получу работу (Р), то я начну огорчаться и мне следует поехать домой. Следует ли тогда, что если я поеду автобусом и автобус опоздает, то я получу работу? 3.43. Если Александр выиграет теннисный турнир (А), то он будет доволен (2?), а если он будет доволен, то он плохой борец в последующих турнирах (С). Но если он проиграет этот турнир, то потеряет поддержку своих болельщиков (D). Он плохой борец в последующих турнирах, если потеряет поддержку своих болельщиков. Если он плохой борец в последующих турнирах, то ему следует прекратить занятия теннисом (Е). Александр или выиграет этот турнир, или проиграет его. Следовательно, ему нужно прекратить занятия теннисом. Справедливо ли приведенное рассуждение с точки зрения логики? Нахождение всех следствий из посылок. Решить задачи 3.44— 3.51. 3.44. Найдите все следствия из посылок: «Если сумма цифр целого числа делится на 3, то это число делится на 3 или на 9»; «Если целое число делится на 9, то оно делится на 3». Найденным следствиям придайте содержательный смысл. Решение. Введем обозначения для простых высказываний: X: «Сумма цифр целого числа делится на 3»; Y: «Целое число делится на 3»; Z: «Целое число делится на 9». Тогда первая посылка символически запишется в виде формулы Х-> (Yv Z), а вторая — в виде формулы Z-> Y Задача сводится к тому, чтобы из этих формул получить все формулы, являющиеся их логическими следствиями. Для данных посылок эта задача решена нами в задаче 2.34, л. Остается придать этим формулам содержательный смысл: Х-> (Yv Z): «Если сумма цифр делится на 3, то число делится на 3 или на 9»; Z-> (Xv Y): «Если число делится на 9, то оно делится на 3 или сумма цифр делится на 3»; (X л Z) -» Y: «Если сумма цифр делится на 3 и число делится на 9, то оно делится на 3»; (Х<-> Z) v Y: «Сумма цифр делится на 3 тогда и только тогда, когда число делится на 9 или число делится на 3»; Х-+ Y: «Если сумма цифр числа делится на 3, то число делится на 3»; Z-> Y: «Если число делится на 9, то оно делится на 3»; (JvZ)-> Y: «Если сумма цифр числа делится на 3 или число делится на 9, то число делится на 3». 3.45. Найдите все следствия из посылок и выразите их в содержательной форме: «Если последняя цифра целого числа чет- 85
на, то число делится на 2 или на 4»; «Если целое число делится на 4, то оно делится на 2». Указание. Выразите посылки в виде формул алгебры высказываний и сравните их с посылками предыдущей задачи. 3.46. Найдите все следствия из посылок: «Если целое число делится на 2 и на 5, то оно делится на 10»; «Целое число делится на 2 и не делится на 5». Выразите полученные следствия в содержательной форме. Указание. Выразите посылки в виде формул алгебры высказываний и обратитесь к задаче 2.34, з. 3.47. Найдите все следствия из посылок: «Если у четырехугольника две противоположные стороны параллельны и они же равны, то этот четырехугольник — параллелограмм»; «У данного четырехугольника две противоположные стороны равны или параллельны». Указание. См. задачу 2.34, ж. 3.48. Какая связь между высказываниями «Данный четырехугольник — ромб» и «Данный четырехугольник — квадрат» логически следует из перечисленных далее посылок: «Если данный четырехугольник — ромб, то его диагонали взаимно-перпендикулярны»; «Если диагонали данного четырехугольника не взаимно- перпендикулярны, то он не является квадратом»; «Если данный четырехугольник — квадрат, то его можно вписать в окружность»; «Неверно, что данный четырехугольник имеет взаимно-перпендикулярные диагонали или не может быть вписан в окружность». Решение. Введем обозначения для простейших высказываний, входящих в посылки: X: «Четырехугольник — ромб»; Y: «Четырехугольник — квадрат»; Z: «Диагонали четырехугольника взаимно-перпендикулярны»; V: «Четырехугольник можно вписать в окружность». Тогда посылки можно записать символически следующим образом: JST —> Z, -iZ-> -iY, У-> V, -i(Zv iY). Последняя посылка равносильна такой: nZ л F, и поэтому задача сводится к тому, чтобы из данных посылок получить следствие, зависящее лишь от переменных Хи Y Эта задача решена нами в задаче 2.35, л. Остается придать полученной формуле iXa п ^содержательный смысл: «Четырехугольник не является ни ромбом, ни квадратом». 3.49. Из посылок задачи 3.48 найдите правильное заключение о связи между высказываниями: «Данный четырехугольник — ромб» и «Данный четырехугольник можно вписать в окружность». 3.50. Даны посылки: «Если целое число п больше 1, то оно простое либо составное»; «Если целое число четное, то оно не простое»; «Если целое число больше 1 и не больше 2, то оно четное»; «Если целое число 2, то оно больше 1». Из этих посылок найдите следствие, связывающее высказывания: «Целое число больше 2», «Целое число четное» и «Целое число составное». 86
Указание. Выразите посылки в виде формул алгебры высказываний и обратитесь к задаче 2.36, л. 3.51. Даны следующие посылки: «Если данный четырехугольник — ромб, то его диагонали перпендикулярны»; «Если данный четырехугольник — квадрат, то его диагонали равны»; «Если диагонали данного четырехугольника не равны, то он не квадрат»; «Диагонали данного четырехугольника не перпендикулярны и равны». Найдите следствие из этих посылок, состоящее из высказываний: а) «Данный четырехугольник — ромб» и «Данный четырехугольник — квадрат»; б) «Данный четырехугольник — ромб» и «Диагонали данного четырехугольника равны». Нахождение посылок для следствий. Решить задачи 3.52—3.53. 3.52. В следующем рассуждении найдите недостающую посылку, связывающую высказывания «Прямые а и b лежат в одной плоскости» и «Прямые аиЬскрещиваются» так, чтобы рассуждение было правильным: 1) «Прямые а и Ъ либо параллельны, либо пересекаются, либо скрещиваются»; 2) «Прямые аи b лежат в одной плоскости и не пересекаются»; 3) ??? Следовательно, прямые лежат в одной плоскости и параллельны. Решение. Введем обозначения для простейших высказываний, входящих в это рассуждение: X: «Прямые аи b параллельны»; Y: «Прямые аи b пересекаются; Z: «Прямые аи b скрещиваются»; V: «Прямые аи b лежат в одной плоскости». Тогда задача сводится к отысканию такой формулы F(Z9 V), зависящей от переменных 2и V, что справедлива следующая выводимость: Xv Yv Z, iYa V, F(Z, V)\=XaY. В задаче 2.40, л найдены все такие формулы (их пять). Одна из них: Z-» -1V. Придадим этой формуле смысл: «Если прямые аи b скрещиваются, то они не лежат в одной плоскости». Сформулируйте остальные четыре утверждения, которые могут быть взяты в качестве посылки в данном рассуждении. 3.53. В следующем рассуждении найдите недостающую посылку так, чтобы рассуждение было правильным и посылка выражала связь между высказываниями: «Целое число оканчивается нулем»; «Целое число делится на 5»; «Целое число оканчивается цифрой 5». 1) Целое число делится на 5 и не оканчивается нулем; 2) ??? Следовательно, целое число оканчивается цифрой 5. 87
Логические задачи. Решить задачи 3.54—3.62. 3.54. Один из трех братьев Витя, Толя, Коля разбил окно. В разговоре участвуют еще двое братьев — Андрей и Дима. — Это мог сделать только или Витя, или Толя, — сказал Андрей. — Я окно не разбивал, — возразил Витя, — и Коля тоже. — Вы оба говорите неправду, — заявил Толя. — Нет, Толя, один из них сказал правду, а другой сказал неправду, — возразил Дима. — Ты, Дима, не прав, — вмешался Коля. Их отец, которому, конечно, можно доверять, уверен, что трое братьев сказали правду. Кто разбил окно? Решение. Введем обозначения для высказываний: В: «Витя разбил окно»; Т: «Толя разбил окно»; К: «Коля разбил окно». Тогда высказывания братьев можно записать в символической форме следующим образом: А = BvT; V = -чВлпК; L = -l4a-iF=-i(j?v T) a -i(iBa iK) = пйлпЬ (Bv K) = D г G4a-iF)v(-v1a V) = ((Bv T) а п(п^л -лК)) v (n(B v T) л л (iB a -iK)) = ((B v T) a (B v K)) v (-1В лпГл -\К) = Bv(TaK)v v (-|#л iTa -лК) s (J5v -iB) a (B v iT) л (Вv iK) s Вv (пГл ~\К)\ M= ~iD s -i(B v (пГл iK)) = i5a (Tv K). Образуем из высказываний Я F, L, D, M всевозможные конъюнкции по три высказывания: А л Va £, А л VaD,AaLaD,AaLaM, AaDaM,VaLaD,VaLaM,VaDaM,LaDaM,AaVaM. Поскольку из высказываний Л, К, Z,, Д Л/только три истинны, то из десяти конъюнкций истинна лишь одна. Проверьте самостоятельно, что конъюнкции A a L, VaL, LaD ложны, а потому восемь из перечисленных конъюнкций ложны. Остаются две конъюнкции: A a VaD,Aa V a M. Проведем их преобразования: Аа VaD = (Bv T)a-}Ba-iMa(Bv(-\Ta-iM)) = (Bv(Ta-}Ta a -iM)) л -\В a -iM= Ba-\Ba iM= 0; A a VaM=(Bv Т)а~лВа-лМа(ТчМ)= Ta-\Ba~iMa Г= Гл Л "iB A iM Итак, заключаем, что истинным может быть только высказывание A a Va Мили (эквивалентное ему) Та -iBa-\M, т.е. истинны высказывания Г, -iB и пЛ/, а значит, окно разбил Толя. 3.55. Один из трех братьев поставил на скатерть кляксу. — Витя не ставил кляксу, — сказал Алеша. — Это сделал Боря. — Ну, а ты что скажешь? — спросила бабушка Борю. — Это Витя поставил кляксу, — сказал Боря. — А Алеша не пачкал скатерть.
— Я знаю, что Боря не мог это сделать. А я сегодня не готовил уроки, — сказал Витя. Оказалось, что двое мальчиков в каждом из двух случаев сказали правду, а один оба раза сказал неправду. Кто поставил на скатерть кляксу? Указание. Образуйте прежде всего всевозможные попарные дизъюнкции из высказываний братьев. Все они будут истинны. Затем рассмотрите конъюнкцию всех истинных дизъюнкций. Она тоже будет истинна. Преобразовав ее к конъюнкции элементарных высказываний, установите виновного. 3.56. Один из четырех мальчиков испортил выключатель. На вопрос «Кто это сделал?» были получены следующие ответы: 1) «Это сделал или Миша, или Коля»; 2) «Это сделал или Витя, или Коля»; 3) «Это не могли сделать ни Толя, ни Миша»; 4) «Это сделал или Витя, или Миша». Можно ли по этим данным установить, кто виновен в поломке выключателя, если из четырех высказываний три — истинны? 3.57. Четыре друга — Антонов (А), Вехов (В), Сомов (С), Деев (/)) — решили провести свой отпуск в четырех различных городах — Москве, Пятигорске, Киеве и Ташкенте. В какой город должен поехать каждый из них, если имеются следующие ограничения: Р) если А не едет в Москву, то С не едет в Пятигорск; б) если В не едет ни в Москву, ни в Ташкент, то А едет в Москву; R) если С не едет в Ташкент, то В едет в Киев; S) если D не едет в Москву, то В едет в Москву; Т) если D не едет в Пятигорск, то В не едет в Москву? Решение. Символом Ам обозначим высказывание: «Антонов едет в Москву», символом ~\АМ — высказывание «Антонов не едет в Москву». Аналогичны буквенные обозначения и для остальных друзей. Тогда ограничения запишутся так: Р = ~\АМ-> -iQ = AMv -iQ; Q = (-л Вм л -i Вт) -» Ам = Вм v Вт v Ам\ R =-лСт-± Вк= CTv Вк; Составляем последовательно конъюнкции этих высказываний, каждая из которых истинна: Pa Q = (Амv -iQ) л (BMvBTvAM) = (АмлВм) v (-iQ л Вм) v v (Амл Вт) v (iQa Bt) v Аму (iCLлАм) = (AmaBt)vAm\/ (hQa л Вм) v (-iQ л Вт) = AMv (-iQ л Вм) v (~iQ л Вт); PaQaR=(Amv (iCl а Вм) v (nQ л Вт)) л (Ст v BT) = (Ама а (Ст v Вк)) v ((-.Q л Вм) а (Ст v Вк)) v (-iQ л Вта (Ст v Вт))) = = (Амл Ст) v (Ам а Вк) v(iClaBma Ct) v (iCl aBma Bk) v (iCl a а Вта Ст) v (hQ л Вта Вк) = (Ама Ст) v (AmaBk) v (-iQ аВма Ст)\ PaQaRaS= {{Ama Ct) v (AmaBk) a (nQ л Вма Ст)) a(Dmv 89
v Вм) = (Амл Сг (л DM v Вм)) v (Амл Стл DM) v (Амл Стл Вт) v (AM v aBkaDm)v(AmaBkaBm)v(~iClaBma Cta Dm)v (iCla Bma Cta aDm) v (у4л/л Вка Вм) v (п^л 5мл Ста Dm) v (hQa Д^л Cta a4)-iQa £^ л Сг. При проведении преобразований мы использовали факт, что ложны конъюнкции, в которых говорится, что одно лицо поедет в два разных города или что два разных человека поедут в один город. Таким образом, мы установили, что конъюнкция -iQ, л Вм л См истинна, т.е. истинны высказывания Вм и Ст. Из условия Г и истинности 2?mзаключаем, что ~\DL, — истинно, т.е. Z)/, ложно. Тогда истинно AL. Следовательно, истинно DK. Итак, Антонов едет в Пятигорск, Вехов — в Москву, Сомов — в Ташкент, Деев — в Киев. 3.58. Шесть спортсменов — Адамов, Белов, Ветров, Глебов, Дронов, Ершов — в проходившем соревновании заняли шесть первых мест, причем ни одно место не было разделено между ними. О том, кто какое место занял, были получены такие высказывания: 1) «Кажется, первым был Адамов, а вторым — Дронов»; 2) «Нет, на первом месте был Ершов, а на втором — Глебов»; 3) «Вот так болельщики! Ведь Глебов был на третьем месте, а Белов — на четвертом»; 4) «И вовсе не так: Белов был пятым, а Адамов — вторым»; 5) «Все вы перепутали: пятым был Дронов, перед ним — Ветров». Известно, что в высказывании каждого болельщика одно утверждение истинное, а другое ложное. Определите, какое место занял каждый из спортсменов. Указание. Рассмотрите высказывания: А{. «Адамов занял /-е место» (/ = 1, 2, 3, 4, 5, 6). Аналогичные значения имеют символы Д, Vh Gh Dh Eh Высказывания болельщиков представьте в виде дизъюнкций. Все они будут истинны. Рассмотрите конъюнкцию этих истинных дизъюнкций. Преобразуйте эту конъюнкцию и, учитывая ее истинность, выведите распределение мест между спортсменами. 3.59. Для четырех дружинников, фамилии которых начинаются буквами А, Е, jP, С, необходимо составить график дежурств на четыре вечера подряд, учитывая, что: 1) С и Р не могут дежурить в первый вечер в связи с командировкой: 2) если С выйдет во второй вечер или Р — в третий, то Е сможет подежурить в четвертый; 3) если А не будет дежурить в третий вечер, то Е согласен дежурить во второй вечер; 4) если А или Р будут дежурить во второй вечер, то С сможет пойти в четвертый вечер; 5) если Р в четвертый вечер уедет на конференцию, то А придется дежурить в первый, а С в третий вечер. 3.60. При составлении расписания уроков на один день учителя математики, истории и литературы высказали следующие пожелания: математик просил поставить ему или первый, или второй урок; историк — или первый, или третий; учитель литературы — или второй, или третий. Как составить расписание, чтобы учесть все пожелания? 90
3.61. Для полярной экспедиции из восьми претендентов А, В, С, Д Е, F, G и Н надо отобрать шесть специалистов: биолога, гидролога, синоптика, радиста, механика и врача. Обязанности биолога могут выполнять Ей G, гидролога — В и F, синоптика — Fvl G, радиста —Си/), механика — С и Я, врача — А и D. Хотя некоторые претенденты владеют двумя специальностями, в экспедиции каждый сможет работать только по одной специальности. Кого и кем следует взять в экспедицию, если Fnt может ехать без В, D — без Н и без С, С не может ехать одновременно сС,а А не может ехать вместе с В? 3.62. Некий остров населен жителями, каждый из которых либо всегда говорит правду, либо всегда лжет. Все жители отвечают на вопросы только «да» или «нет». К развилке дорог, из которых только одна ведет в столицу острова, подходит путешественник. Никаких знаков, указывающих куда ведет каждая дорога, у развилки нет. Но здесь стоит местный житель, некто N. Какой вопрос, предусматривающий ответ «да» или «нет», должен задать ему путешественник, чтобы определить, какая дорога ведет в столицу острова? Решение. Пусть А означает высказывание: «N всегда говорит правду», а В означает высказывание: «Дорога, идущая налево, ведет в столицу». Построим такое составное высказывание из высказываний Аи В, чтобы ответ местного жителя на вопрос, истинно ли оно, гласил «да» тогда и только тогда, когда истинно высказывание В независимо от того, говорит местный житель всегда правду или всегда лжет. Путешественнику достаточно спросить: «Верно ли, что N всегда говорит правду и дорога, идущая налево, ведет в столицу или что N всегда говорит неправду и дорога, идущая налево, не ведет в столицу?», т.е. «Истинно ли высказывание (А л В) v (~\А л -iJ?)?» Проверим, что из ответа «да» вне зависимости от того, говорит ли N правду или нет, следует, что дорога, идущая налево, ведет в столицу, а из ответа «нет» следует, что эта дорога не ведет в столицу. Здесь возможны четыре случая: а) ответ «да», N говорит правду; б) ответ «да», N лжет; в) ответ «нет», N говорит правду; г) ответ «нет», N лжет. Рассмотрим, например, последний случай. Тогда ЩА л В) v v (-ъ4 л -\В)) = 1, Х(А) = 0. Так как Х(А) = 0, то Х(А л В) = 0 и, следовательно, Х{-\А л iB) = 1. Далее, так как Х(А) = 0, то X(iA) = = 1, и значит, X(~iB) = 1. Следовательно, Х(В) = 0. Итак, при ответе «нет» мы заключаем, что дорога, идущая налево, не ведет в столицу. Оставшиеся три случая предлагается рассмотреть аналогичным образом самостоятельно.
Глава II БУЛЕВЫ ФУНКЦИИ Теории булевых функций посвящены четыре параграфа, объединенных в настоящую главу. В § 4 собраны задачи о числе булевых функций, о соотношениях и формальных свойствах булевых функций, § 5 посвящен специальным классам булевых функций, играющим существенную роль в формулировке теоремы Поста о полноте систем булевых функций, т.е. классам линейных, самодвойственных, монотонных, сохраняющих 0 и сохраняющих 1 булевых функций. В этих двух параграфах помимо заданного материала содержится большое количество новых понятий и фактов, не нашедших места на страницах Учебника и существенно развивающих теорию булевых функций. В § 6 рассматриваются полные системы булевых функций и вопросы применения теоремы Поста к их анализу. Релейно-контактные (переключательные) схемы являются ярким примером применения булевых функций в прикладных областях, связанных с автоматикой, телеметрией, компьютерной техникой. Им посвящен § 7. § 4. Понятие булевой функции и свойства булевых функций Булевой функцией от одного аргумента называется функция/от одного аргумента, заданная на множестве из двух элементов {0, 1} и принимающая значения в том же двухэлементном множестве. Булевой функцией от п аргументов называется функция/от п аргументов, заданная на двухэлементном множестве {0, 1} и принимающая значения в двухэлементном множестве {0, 1}. Другими словами, булева функция от п аргументов сопоставляет каждому упорядоченному набору, составленному из элементов 0 и 1, либо О либо 1. Булева функция/от п аргументов хи х2,..., хп обозначается так: /(*,, хъ ..., хп). В первой из приведенных ниже таблиц указаны значения булевой функции от одного аргумента, называемой отрицанием и обозначаемой х', а во второй — обозначения и значения основных булевых функций от двух аргументов. 92
X 0 1 1 X 1 0 л: 0 0 1 1 У 0 1 0 1 x-y 0 0 0 1 xv у 0 1 1 1 х-> у 1 1 0 1 х<г> у 1 0 0 1 х\у 1 1 1 0 xiy 1 0 0 0 х + у 0 1 1 0 Функции от двух аргументов называются соответственно: конъюнкция, дизъюнкция, импликация, эквивалентность, штрих Шеф- фера, стрелка Пирса, сложение по модулю два (сумма Жегалкина). Число булевых функций. Решить задачи АЛ —АЛ, 4.1. Сколько существует различных булевых функций от одного аргумента? Составьте таблицы значений каждой из них. 4.2. Сколько существует различных булевых функций от двух аргументов? Составьте таблицы значений каждой из них. Выразите эти функции через отрицание и основные булевы функции от двух аргументов. 4.3. Сколько имеется различных двоичных наборов (т. е. наборов, составленных из нулей и единиц) длины nl 4.4. Докажите, что существует точно 22" различных булевых функций от п аргументов. 4.5. Каково число булевых функций от п аргументов, принимающих на противоположных наборах одинаковые значения? (Противоположными называются два двоичных набора вида (а1? а2, ..., а„) и (а{, а$, ..., а;).) Решение. Целесообразно начинать решение подобных задач с рассмотрения случаев п = 1, 2, 3. Рассмотрим, например, последний из них и начнем составлять таблицу значений для искомых функций: X 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 /о 0 0 0 0 0 о 0 0 А 0 0 0 1 1 0 0 0 А 0 0 1 0 0 1 0 0 А 0 0 1 1 1 1 0 0 А 0 1 0 0 0 0 1 0 /s 0 1 0 1 1 0 1 0 /б 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 А 1 0 0 0 0 0 0 1 ... ... ... ... ... ... ... / V. ь ъ Уа Y4 Y3 Yi 93
Следует заметить, что при выбранной нами системе записи наборов значений аргументов х, у, z противоположные наборы располагаются точно симметрично друг другу относительно выделенной средней линии таблицы. Это означает, что у требуемой функции / значения на первой половине наборов могут быть заданы произвольно: уь у2, у3, у4, но в то же время значения на второй половине наборов, состоящей из наборов, противоположных наборам из первой половины, должны быть уже жестко определены: у4, уз, У2, Yi- Таким образом, требуемых функций будет столько, сколькими способами мы сумеем означить половину двоичных наборов длины п. Всего двоичных наборов длины п, как мы знаем, имеется 2п штук, половина их 2п~х. Означить их мы сможем числом способов 22"~! (это есть число двоичных наборов длины 2п~х). Это и есть искомое число функций. 4.6. Найдите число булевых функций от п аргументов, которые на любой паре соседних наборов принимают противоположные значения. {Соседними называются два таких двоичных набора одинаковой длины, которые отличаются друг от друга значениями лишь в одном месте.) 4.7. На скольких наборах значений аргументов принимает значение 1 следующая булева функция от п аргументов: ж)(х, ... х*) + (хк+х ... х„); з) хрсзХз + (х4х5 ... хЛ); И) 1 + Хх + ХХХ2 + ХХХ2Х$ + ... т ХХХ2 ... ХЛ, iyj Хх + Х|Л<2 "г Х]Х2Лз + ... + ХХХ2 ... ЛЛ, л) (х! v ... v х*) + (хк+х v ... v х„); м) (х, ... хЛ) v (х*+1 ... хЛ). Решение, а) Данная функция равна 1 тогда и только тогда, когда ххх2 ... хп = 0. Последнее выполняется на всех наборах, кроме одного — единичного. Значит, искомое число наборов равно 2п - 1. б) Сумма Жегалкина двух слагаемых равна 1 тогда и только тогда, когда одно из этих слагаемых равно 1, а другое — 0. Случай X! = 0, хрс2 ... хп = 1 реализовать невозможно. Пусть хх = 1, а х^.-.х,, = = 0. Этот случай осуществляется для всех таких наборов (1, а2, ..., ап), которые не являются полностью единичными. Ясно, что таких наборов имеется 2п~х - \ штук. в) Случаю хх = 0, х2 ... хп = 1 отвечает только один набор (0, 1, ..., 1). Случаю X! = 1, х2 ... хп = 0 отвечают 2п~х - 1 наборов. Всего наборов будет 2п~х. г) Случаю X! = 1, х2 ... хп = 1 отвечает только единичный набор: (1, 1, ..., 1). Случаю X! = 0, х2 ... хп = 0 отвечают 2п~х - 1 наборов. Всего 2п~х наборов. д) Аналогично решению задачи в). е) Сумма Жегалкина трех слагаемых равна 1 тогда и только тогда, когда нечетное число слагаемых равно 1. Следовательно, данная функция примет значение 1, если и только если два 94 а) б) в) г) д) е) Х\Х2 X, + 1 +. х,х2 х,х2 ... х„+ 1; ... Х„ + Х\, х2х3 ... х„; Х\ + Х2Х3 ... J ... Х„_| + Х„, + Х3Х4 ... Х„
первых слагаемых примут значение 0 либо оба этих слагаемых примут значение 1. Последняя ситуация возможна лишь для одного набора (единичного) длины п: (1, 1, ..., 1). Равенство же нулю обоих первых слагаемых достигается на таких двоичных наборах (ось а2, а3, ..., ая), в которых среди элементов аь а2 есть хотя бы один 0 и среди элементов а3, ..., а„ есть хотя бы один 0. Чтобы сосчитать общее число таких наборов, разделим их на три группы: наборы вида (0, 0, сс3, ..., ап); наборы вида (0, 1, а3, ..., а„); наборы вида (1, 0, а3, ..., аЛ). Ясно, что в каждой из этих групп одинаковое число наборов. Поэтому подсчитаем их число в одной из групп. Поскольку среди элементов а3,..., ап имеется по меньшей мере один 0, то наборов вида (0, 0, а3, ..., аЛ) будет столько же, сколько наборов (а3, ..., ап) длины я- - 2, не все элементы которых равны 1. А таких наборов имеется 2й"2 - 1. Столько же наборов вида (0, 1, а3, ..., ап) и еще столько же наборов вида (1, 0, а3, ..., аЛ). Итак, ровно 3(2"~2- 1) наборов превращают каждое из первых двух слагаемых в сумме Жегалкина, задающей данную функцию, в 0. Прибавим к ним один набор, превращающий эти слагаемые в 1. Получим всего 3(2Л"2 - 1) + 1 = 3 • 2Л~2 - 2 наборов. ж) Наборы, для которых хх ... хк = 1, хк+{ ... хп = 0, имеют вид (1, ..., 1, ак+ь ..., а„). Таких наборов 2п~к - 1 штук. Наборы, для которых х, ... хк = 0, хк+1 ... хЛ= 1, имеют вид: (аь ..., аъ 1, ..., 1). Таких наборов 2к - 1 штук. Итого (2Я~* - 1) + (2к - 1) = 2к + 2п~к - 2. и) Случай хх = 0 дает 2п~х наборов. Если х{ = 1, то х2 = 1. Далее, случай х3 = 0 дает 2Л~3 наборов. Если же х3 = 1, то х4 = 1. Далее, случай х5 = 0 дает 2п~5 наборов. Если х5 = 1, то х6 = 1. И так далее... Конец этого процесса будет различным для четных и нечетных п. Пусть п — четное. Тогда случай хп_{ = 0 дает 2Л"(л-1) наборов. Если хп_х = 1, то хп = 1. Таких наборов один (единичный набор). Итого: :"/2)_п 9 = £(2"-i)+i. 22-1 3 Пусть п — нечетное. Тогда случай хп_2 = 0 дает 2Л~(л~2) наборов. Если хп_2 = 1, то хп_х = 1. Наконец случай хп = 0 дает 2п~п = 1 наборов. Всего получаем следующее число наборов: 22((«+1)/2) _ 1 1 2^1 "3^ " h л) Наборы, для которых х\ v ... v xk = 1, хк+х v ... v xn = 0, имеют вид (аь ..., аь 0, ..., 0), причем не все а равны 0. Таких наборов всего 2* - 1. Наборы, для которых x\v ... v хк = 0, хк + х v ... v xn - 1, 95
имеют вид (0, ..., О, ак + и ..., ал), причем не все а равны 0. Таких наборов имеется 2"~к - 1 штук. Всего: 2* + 2п~к - 2. Равенство булевых функций. Решить задачи 4.8—4.9. Две булевы функции от п аргументов/(хь х2, ..., хл) и g(xu x2, ..., хп) называются равными, если любым одинаковым наборам значений аргументов хи х2, ..., хп обе эти функции сопоставляют одинаковые элементы из множества {0, 1}, т.е. f(au аъ ..., ап) = = g(a\> (*2, •••> ап) Для любых элементов я, е {0, 1}, где / = 1, ...5 п. 4.8. Постройте таблицы значений для следующих булевых функций: а) /(*, У, z) = ((х -> z)yf) -> х'; б) /(х, j/, z) = ((х v у) -> в) /(х, j, z) = х' -> (х <-> (.у + г) Л*, 1к д)Лх, е) Лх, ж)Л*, Л ) (;) з) Лх, у, z) = ((х | .у) + (у | и)Лх, у к) f(x, у, z) = (xyz) I (x'y'z9); л) Лх, у, z) = ((х ^ (у v *))(уг)') -> х. Р е ш е н и е. л) Построим таблицу значений для булевой функции Лх, у, z) = ((х -> (у v z))((j>z)') -> х: = х'У + ^' + ху; l 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 yvz 0 1 1 1 0 1 1 1 *-> (yvz) 1 1 1 1 0 1 1 1 yz 0 0 0 1 0 0 0 1 (yz)' 1 1 1 0 1 1 1 0 (*-» (yvz))(yz)' 1 1 1 0 0 1 1 0 / 1 1 1 0 0 0 0 0 4.9. Построив соответствующую таблицу значений, выясните, равны ли следующие булевы функции: а) f(x9 у, z) = ((xvу) v z) -> ((xvy)(xv z)), g(x, y9 z) =xv (>><->z)\ б) Лх, у, z) = (x' ); в) fix, у, z) = (x -> y) -+ z, g(x, y, z) = x -+ (y -> z)\ 96
г) f(x, у) = ((х + у) -> (х v у))((х' \ (х + >>)), g(x, д) Дх, е) Дх, ж) Дх, з) z) v и) /(x, к)/(x, л) /(x, P e ш е у, z) = ((х v j/')z) v {xz') v (z(y v z1)), £(*> Л *) = * v y, z) = xyv xzvyz, g(x, y, z) = (x + y) zv zy\ у, z) = xy' v x> v x'z', g(x, y, z) = (xf v y')(x vyv z')\ ^, z) = x'y'z' v x'yz v xyz v xy'z, g(x, У, Z) = (^ - у, z) = (х + z')'(y + x'z), g(x, у, z) = y+ (z-> x)'; y, z) = (x + y)' v (x + z)', g(x, y, z) = xyz + x'y'z'. н и е. л) Построим таблицы значений для функций/и g: Дх, ;;, z) = (х + у)' v (x + z)' X 0 0 0 0 1 1 1 1 У С 0 1 1 с с 1 1 X 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 Z 0 1 0 1 0 1 0 1 ХУ 0 0 0 0 0 0 1 1 х + у 0 0 1 1 1 1 0 0 (х+уУ 1 1 0 0 0 0 1 1 g(x, У, z) = xyz 0 0 0 0 0 0 0 1 х' 1 1 1 1 0 0 0 0 x+z 0 1 0 1 1 0 1 0 (x+z)' 1 0 1 0 0 1 0 1 xyz + x'y'z' У 1 1 0 0 1 1 0 0 z' 1 0 1 0 1 0 1 0 х'у' 1 1 0 0 0 0 0 0 x'y'z' 1 0 0 0 0 0 0 0 fix, y, z) 1 1 1 0 0 1 1 1 gix, y, z) 1 0 0 0 0 0 0 1 4 Игошин 97
Получили: ДО, 0, 1) * g(0, О, 1), ДО, 1, 0) * g(O, 1, 0), /(1, О, 1) * g(l, О, 1), /(1, 1, 0) * g(l, 1, 0). Следовательно, Дх, у9 z)* *g(x, У, z). Свойства булевых функций. Некоторые из этих свойств, которые связаны с тождествами для булевых функций, приведены в § 9 Учебника. Рассмотрим здесь ряд дополнительных подобных свойств. 4.10. Проверьте справедливость следующих равенств, выражающих свойства дистрибутивности (распределительности) одних булевых функций относительно других: а) (x->y)vz=(xvz)->(yvz); б) (xej/)v^=(xvz)f>(yv z)\ в) л: -> (у -> z) = (х -> у) -> (х -* z); г) х->^=(х->;>;)(х-»г); д) х -> (у v г) = (х -» у) v (х -> ^); е) х -> (у <-> ^) = (х -» ,у) <-> (х -> z)\ ж) х(уг) = (xy)(xz); з) xv(yvz) = (xvy)v(xvz); и) х -> ху = х -> у; к) (xvj;)->3; = x->>;; л) х -> (х -> у) = х -> ^; м) х -» (х <^ >>) = х -> >^. Заметьте, что свойства и), л), м) также представляют собой свойства дистрибутивности слева или справа одних булевых функций относительно других. Так, для свойства и) имеем х -> ху = = (х -> х)(х -> у) = 1(х -> у) = х -> j;. 4.11. В задачах 4.10, в, г, 5, е установлена левосторонняя дистрибутивность импликации относительно самой себя, конъюнкции, дизъюнкции и эквивалентности. Исследуйте вопрос о правосторонней дистрибутивности импликации относительно тех же функций. 4.12. Обладает ли импликация свойствами коммутативности и ассоциативности? 4.13. В задачах 4.10, а, 6 установлена правосторонняя дистрибутивность дизъюнкции относительно импликации и эквивалентности. Будет ли дизъюнкция дистрибутивна слева относительно этих функций, т.е. будут ли справедливы равенства х v (у -> z) = (х v у) -» (х v z), х v (у <-> z) = (х v у) <+ (х v г)? 4.14. Исследуйте вопрос о дистрибутивности конъюнкции относительно импликации и эквивалентности. 4.15. Выясните, будет ли эквивалентность дистрибутивна относительно конъюнкции, дизъюнкции, импликации, а также относительно самой себя. 4.16. Проверьте, что сложение по модулю два (сумма Жегал- кина) обладает следующими свойствами: 98
а) х + у = (х <-» у)'; б) х + у = у + х; в) (х + j>) + г = я: + 0> + г) д) е) х + О = х; ж) если х = у + г, то у = х + з) если х+ z = y + z,to х = и) xyvxzvyz к) fo + х2 + ... л) х{ + х2+ ... + хЛ = 0, если среди хь х2, ..., хп четное число единиц, 1, если среди хи х2, ..., хп нечетное число единиц. Р е ш е н и е. л) Докажем сначала первое из этих утверждений. Пусть переменным хь хъ..., хп придаются такие значения а1э а2,..., ап соответственно, что общее число единиц среди них четно (а остальные значения а равны 0). Сгруппируем эти единицы в пары (остальные слагаемые равны 0):(1 + 1) + (1 + 1)+... + + (1 + 1) + 0 + ... +0. В силу четности числа единиц для каждой единицы найдется пара. По определению суммы Жегалкина в каждой паре сумма равна 0 и общая сумма также равна 0. Чтобы доказать второе утверждение настоящей задачи, нужно заметить, что при группировке в пары суммы нечетного числа единиц для одной единицы пары не найдется. Эта единица, будучи прибавленной к остальной сумме, которая равна 0, дает в итоге единицу. 4.17. Докажите, что булева функция штрих Шеффера | обладает следующими свойствами (наряду с другими булевыми функциями): a) jc|1=jc|jc = jc'; ж) (х\у)' = (х' v/)'; б)х|0=1; з) xv(x\y)=yv(x\y); в) х|х' = 1; и) (х\х)\у = у-+х; г) х\у = у\х\ к) (x\x)\(y\y)=xvy; Д) (х\уУ = х'\у, л) ((х\х)'\(у\у)У=ху. е) x\(yvx)=x'; Решение, л) ((х | х)' \ (у \ у)')' = (х" \ у")' = (х \ у)' = (xf v ;;')' = ((ФУ) у 4.18. Докажите, что булева функция стрелка Пирса 1 обладает следующими свойствами (наряду с другими булевыми функциями): а) xlx = x'; ж) (xlу)' =*' 1у'; б) х I у = у I х; з) х I (ух) = х'\ в) х I 1 = 0; и) (х I у)' = (х'у'У; г) х I 0 = х'; к) (х I х')'(х I х)' = х; д) х I х' = 0; л) х(х ly) = x(l l у). е) x(xly)=y(xly); 99
Решение, л) Данную задачу будет нетрудно решить с помощью таблицы значений. Составим ее для функций из левой и правой частей доказываемого равенства. X 0 0 1 1 У 0 1 0 1 xiy 1 0 0 0 x(xiy) 0 0 0 0 liy 0 0 0 0 x(liy) 0 0 0 0 Из таблицы видно, что выделенные столбцы, соответствующие значениям данных функций, одинаковы. Следовательно, данные функции действительно равны. Попутно мы доказали, что данные функции равны тождественно 0. 4.19. Докажите, что булевы функции следующим образом выражаются через отрицание (') и дизъюнкцию v: а) xy=(x'vy')r; б) х->у = х' v у; в) х <-> у = (х -» у)(у -> х) = (*' v y)(x v у'); г) x + y=(xr vy)' v(xvy')'; д) x\y = x'vy'; е) xly=(xvy)'; ж) х А у = (*' v у)' (знак А означает отрицание импликации); з) xvy=(x'vy)'vy. Решение, з) Начнем преобразования с правой части равенства: {х' vу)9 vу= (х"у') vу = (хvyf) vу = (хvy)(y' vу) = (хvд/)1 = = х v у. Что и требовалось доказать. 4.20. Выразите через суперпозиции конъюнкции (•) и отрицания (') следующие булевы функции: а) дизъюнкцию v; б) импликацию ->; в) эквивалентность <->; г) сумму Жегалкина +; д) штрих Шеффера |; е) стрелку Пирса I; ж) отрицание импликации А. 4.21. Докажите, что булевы функции следующим образом выражаются через сумму Жегалкина + и константу 1: а) х1 = х +1; б) хvу = (х + 1)(у + I) + I =ху + х + у; в) х->>> = ху + л:+ 1; г) х+>у = х + у+1\ д) х|у = ду+1; е) х I у = ху + х + у+ 1; ж)х А у = ху + х; з) x'yvxy' = 100
и) x'yf v ху к) (x<r>y)f = х + у; л) (х <-> у) <-> z = х + }> + z. Решение, л) (л:<->у)<->^=[(л: + у+1+^]+ 1=^ + ^ + ^ + 0 = = х + у + & 4.22. Докажите, что булевы функции следующим образом выражаются через штрих Шеффера |: а) х'=х|х; Ъ)ху=(х\у)\(х\у); в) xvy = (x\x)\(y\y); г) х->у = х\(у\у); Д)х?4 у=(х\(у\у))\(х\(у\у)); е) xly=[(x\x)\(y\y))\[(x\x)\(y\y)]; ж)х + у=(х\(у\у))\(у\(х\х)); з) х<+у=[(х\(у\у))\(у\(х\х))]\[(х\(у\у))\(у\(х\хМ Р е ш е н и е. ж) х + у = (х <-> у)' = ((х -» j>)( j ~> *))' = (х -> ^) I (У -> 4.23. Выразите с помощью суперпозиций функции стрелка Пирса I следующие булевы функции: а) отрицание '; б) конъюнкцию • ; в) дизъюнкцию v; г) импликацию ->; д) отрицание импликации А; е) штрих Шеффера |; ж) сумму Жегалкина +; з) эквивалентность <->. Решение, з) х<-> у= (х -> у)(у -> х) = ((х ~> з7)' v (У -> ^)')г = = (х -> y)f i (у -> х)г = (х' v у') 1 (jc v у)' = (хг >1 ^) >1 (х 1 у') = ((х i 1х) 4 у) I (xl (yly)). 4.24. Выразите через отрицание ' и импликацию -> следующие булевы функции: а) дизъюнкцию v; б) конъюнкцию •; в) эквивалентность <->; г) сумму Жегалкина +; д) штрих Шеффера |; е) стрелку Пирса |. § 5. Специальные классы булевых функций Речь пойдет о классах функций, играющих важную роль в теореме Поста, описывающей полные системы булевых функций, т.е. такие системы булевых функций, через которые все другие булевы функции могут быть выражены в виде суперпозиции. Это — классы линейных булевых функций, самодвойственных булевых функций, монотонных булевых функций и функций, сохраняющих нуль и сохраняющих единицу. Полиномы Жегалкина и линейные булевы функции. Полиномом Жегалкина от переменных хь х{, ..., хп называется булева функция вида 101
представляющая собой сумму по модулю два (сумму Жегалкина) конъюнктивных одночленов х^ xti ...х^ от всевозможных наборов переменных хь хъ ..., х„, причем коэффициент Я/^...^ может равняться 1 или 0, что показывает, входит данный конъюнктивный одночлен в сумму или нет. Булева функция/(хь ..., хп) называется линейной, если в представляющем ее полиноме Жегалкина отсутствуют слагаемые, имеющие степень выше первой, т. е. если представляющий эту функцию полином имеет вид а0 + аххх + ... + а„хп, причем постоянные коэффициенты а0, аи ..., ап могут образовывать любой набор из О и 1. 5.1. Выпишите все полиномы Жегалкина от одной переменной. Сколько имеется различных таких полиномов? Решение. Нетрудно видеть, что каждый из этих полиномов О, 1, х, х + 1 представляет собой соответствующую булеву функцию от одного аргумента. 5.2. Выпишите все полиномы Жегалкина от двух переменных. Сколько имеется различных таких полиномов? Для каждой булевой функции от двух аргументов найдите представляющий ее полином Жегалкина. Решение. Полином Жегалкина от двух переменных х, у имеет следующий вид: аху + bx+cy + d. Расставляя вместо коэффициентов а, Ь, с, d всевозможными способами константы 0 и 1, мы получим 24 = 16 различных полиномов Жегалкина от двух переменных. Укажем для каждого из них соответствующую булеву функцию от двух аргументов: Оху + Ох + Оу + 0 = 0 = go{x, у); Оху + Ох + Оу + 1 = 1 = g15(x, у); Оху + Ох + \у + 0 = у = gs(x, у); Оху + Ох + \у +1 = у + 1 = у' = glo(x, у); Оху + 1х + Оу + 0 = х + g3(x, у); Оху +lx + 0j>+l=x+l=x'= gn(x, у); Oxy + lx+lj>+O = x + j/ = ge(x, у); Оху +lx+l<y+l=x + j>+l = (x + .y)' = x<-><y = g9(x, у); Ixy + Ox + 0j> + 0 = xy = &(x, y)\ \xy + Ox + Oy + 1 = xy + 1 = (xy)' = x | у = g14(x, y)\ )y = x'y=(xvy)' = (y-> x)'=g4(x,y); lxy+ lx+O.y+ l=xy+x+l=xy'+ l = (xy')' =x' vy = Ixy +lx+lj>+O = xy + x + j> = x(y +l)+y = xy'+y= {{xy1 -> y)(y -> '))' = {{xfvyvy){y'vxyf)y = ((x' v у)у'У = {х'у'У =xv y = g7{x, y); Ixy +lx+ly+l=xy + x + ^+l = (xvj;)+l = (xv>y)< = x>|,y = = &(x, y). 5.3. Докажите, что имеется 22" различных полиномов Жегалкина от п переменных. 102
Решение. Сначала нужно подсчитать, сколько всевозможных конъюнктивных (не обязательно совершенных) одночленов от п переменных хи х2, ..., хп существует. В предыдущей задаче перечислены все от двух переменных ху9 х, у, a (const). Их четыре. От трех переменных — восемь: xyz, ху, xz, yz, x, у, z, a (const). Комбинаторика позволяет подсчитать их число для произвольного п. Конъюнктивных одночленов от 0 переменных — CJJ, от 1 переменной — С\, от 2 переменных — С\, ..., от п переменных — С„. Всего число одночленов от п переменных равно С„ + + С' + СЗ+... + С* = 2". Чтобы теперь получить полиномы Жегалкина, нужно около каждого из 2п конъюнктивных одночленов поставить (умножить на) 0 или 1 и результаты сложить. (Для случая п = 2 эта процедура подробно проделана в предыдущей задаче.) Таким образом, полиномов будет столько, сколько существует наборов, составленных из 0 и 1 длины 2". А эту задачу мы уже решали при подсчете числа булевых функций от п аргументов. Таких наборов и, значит, полиномов Жегалкина будет 22\ 5.4. Докажите, что всякая булева функция обладает единственным (с точностью до порядка слагаемых и сомножителей) представляющим ее полиномом Жегалкина. Решение. Мы знаем, что как число всех булевых функций от п аргументов, так и число всех полиномов Жегалкина от п переменных (предыдущая задача) равно 22\ Это означает, что каждой булевой функции соответствует единственный полином Жегалкина. Остается одна деталь. В предыдущей задаче мы все-таки не доказали, что различные полиномы Жегалкина задают различные булевы функции. Покажем это. Пусть полиномы/?(хь ..., хп) и q(xu ..., хп) различны. Это означает, что в одном из них, например в р(хи ..., хп), имеется слагаемое s = x-t , x^..., xt, не содержащееся в другом. Допустим, что выбранное слагаемое "имеет наименьшее возможное число букв, так что все слагаемые, имеющие менее чем к букв, одинаковы в обоих полиномах. Рассмотрим теперь двоичный набор а длины п, составленный из 0 и 1 так, что для всех переменных, входящих в s, значения равны 1, а для всех остальных переменных значения равны 0. Покажем, что на этом наборе полиномы р и q принимают разные значения: р(а) ф q(o). Ясно, что на этом наборе значений переменных любое слагаемое как первого, так и второго полинома, отличное от s и содержащее равное с ним или большее число переменных, обращается в 0, так как содержит переменные, не входящие в s. Само слагаемое s принимает на этом наборе значение 1. В итоге первый полином р(хь ..., хп) примет значение 1 + р0, где р0 — значение, которое примет сумма тех конъюнктивных одночленов, которые содержат меньшее по сравнению с одночленом s число переменных. Аналогично, вто- 103
рой полином q(xx, ..., х„) примет значение q0, где qQ — значение, принимаемое суммой тех конъюнктивных одночленов из <7, которые также содержат меньшее, чем в одночлене s, число переменных. Но такие одночлены в р и q, согласно выбору s, одинаковы. Значит, р0 = q0. Но тогда 1 + р0 ф q0. Следовательно, р(а) ф #(а), и полиномы р и q задают различные булевы функции. Утверждение доказано. 5.5. Если в совершенной дизъюнктивной нормальной форме, представляющей булеву функцию, произвести замену всех знаков дизъюнкции знаками суммы Жегалкина, а все отрицаемые переменные заменить согласно тождеству х' = х + 1, то получится выражение, содержащее из булевых функций лишь конъюнкцию и сумму Жегалкина и представляющее ту же булеву функцию, что и исходная СДН-форма. Докажите данное утверждение. 5.6. Для следующих булевых функций найдите представляющий их полином Жегалкина: а) x'(yz' v y'z); ж) х(у -> z) v (x'y v xy'){z + 1); б) (х -> (у -> z')){yz' -> х); з) х1 v у v z'; в) (x+l)(y+l)z'vyz] и) x'y'z'vx'yz'vx'yzvxy'zvxyz9', г) x'z' v (х'у v лу')z; к) xz v (х + z)}> v x'z'; д) x'/zvx^'; л) x'^r v (x'zvxz')yvxy'z'. е) (x'vyvzX^vyv^'X^'v^'v^); Решение, л) Для нахождения полинома Жегалкина нужно выразить все встречающиеся в данном выражении булевы функции через сумму Жегалкина (сложение по модулю 2) и конъюнкцию, а затем, пользуясь свойствами функций, максимально упростить полученное выражение. Проделаем это для данной булевой функции: x'z' v (x'z v xz')y v xy'z' = (x' v xy')z' v (x'z + хг').у = = (x' + jcy1)^'v (x'yz + xyz') = (xrzr + xy'z') v (x'j^z + xyz') = (x'z' + + xy'z')(x'yz + xyz') + x'z' + xy'z' + x'yz + xyz' = x'z' +xy'z' + x'yz + + xyz' = (x+ l)(z+ l)+x(y + l)(z+ 1) + (x + l)j>z+xy(z+ 1) =xz + x + + z + 1 + xyz + xy + xz + x + xyz + yz + xyz + xy = xyz + yz + z+ 1. 5.7. Выясните, верны ли следующие равенства, отыскав полиномы Жегалкина, представляющие булевы функции в обеих частях этого равенства: а) х -> (у ~> z) = (х -» у) -> (х -> z); б) (ху -> z) -> (х -» z) = х' v у v z; в) xy -> z = (х -> z)(j^ -> z); г) (х <-» j;)(xy' v у) = ху; д) (х <-> j;')' = х <-» ,у; е) z -> (х v у) = (z -> х) ~> (х -» j); ж) х «-> 3; = (xz <-> j^z)((x v z) <■> (У v z)); з) xy v (z -» x) = x' -» z'; и) (x -^ y) -^ z = x -> (y -> z); к) ((x -> z)(^ -» z)) = ((x v y) -> z); л) x <-> ,y = xy v x'y\ 104
Решение, л) Для функции в левой части равенства имеем: х<г±у=(х + у)'=х + у+ 1 . Для функции в правой части равенства находим: ху v х'у' = хух'у' + ху + х'у' = 0 + ху + (х + 1)(>> + 1) = ху + ху + + х + у + 1 = х + у + 1. Следовательно, рассматриваемое равенство действительно выполняется. 5.8. Отыскав для каждой из следующих булевых функций представляющий ее полином Жегалкина, установите, какие из функций тождественно равны 1, а какие — 0: а) (у -> z) -» ((х -> у) -> (х -» z))l б) х -> (х' -> >>); в) (х -> у) -> ((х -» (у -» г)) -* (х -> г); г) ((х -> у) -> х) -> х; д) (х -> (у -» х)) -> ((у' -» х')' (х -> ^)); е) (х -> ^) -> ((х -> у) -> (х -» ^)); ж) х' -> (х -> j^); з) (х->(д;->г))(х->у)(^->^У; и) ((х ->у)^> {у1 -> х')) -> {{у1 -* х') -> (х -> >;)); к) (x'v(j;-»x))'; л) (xv^)'vx'yvx. Р е ш е н и е. л) Находим полином Жегалкина для данной функции: (х v ;;)' v х'у vx=(xy + x + y+ I) v (х + I) у v х = (ху + + х + у + 1) v (ху + }>)vx=(xy + * + J;+ l)v(x>; + yx + xy + + у + jc) = (xv + jc + .у + 1) v (xy + jc + j/) = ду + ху + ху + 5.9. Проверьте, что каждая булева функция от одного аргумента линейна. 5.10. Найдите все линейные булевы функции от двух аргументов. Сколько имеется таких функций? 5.11. Докажите, что всего имеется 2п +1 линейных булевых функций от п аргументов. Решение. Число таких функций равно числу двоичных наборов длины п + 1. Таких наборов, как мы знаем, имеется 2я +1 штук. Все получающиеся при этом булевы функции будут различны, так как различны будут представляющие их полиномы Жегалкина. 5.12. Докажите, что все следующие булевы функции линейны: а) x'y'zvxy'z'vx'yzvxyz', б) ((х v у v z) -> xyz') v (х + y)z\ в) (x'.yvxy')£'v г) (x + j/)zv(x д) x'yzv(x + z+ l)y'vxyz'; е) ((xvyv z')->xy'z') v(x' ж) x'yz' v x'yz v xyz' v xyz\ з) x'(y'zvyz') v(y + z)x; и) (xvy' v z)(x vy'v z')(x' v y'v z)(x' v x' v z')\ к) хуг' v ((x' v у v z) -> xyz) v x'y'zi л) xyzvxy'zv x'yz' vx'y'z'. 105
Р е ш е н и е. л) Для доказательства нужно найти полином Же- галкина данной функции и убедиться в том, что степень этого полинома не выше первой. Полином отыскивается следующим образом. Нужно выразить все встречающиеся в данном выражении булевы функции через сумму Жегалкина и конъюнкцию, а затем, пользуясь свойствами этих функций, максимально упростить полученное выражение: xyz v xy'z v x'yz1 v x'y'z' = xz(y v у') v x'z' v (у v у') = xz v x'z' = = xz v (x + l)(z + 1) = xzv (xz + x + z + 1) = xz(xz + x + z+ 1) + xz + + xz + x + z+ 1 =xz + xz + xz + xz + x + z+ 1 = x + z + 1. Полученный полином Жегалкина есть полином первой степени, и, следовательно, данная булева функция линейна. 5.13. Выясните, какие из следующих функций линейны: а) x'y'z'vx'y'zvx'yzvxyz'; б) x'y'z' v x'yz' v xyz' v xyz\ в) (xvyvz')(xvy'vz')(x'vyvz')(x'vy'vz); r) (xy->z)'v(x'vy')(xvy)z; Д) x'(y + z) v ((x v у v z) - e) x'->(yvz'); з) ((x' -> y)' -> z)'; и) xf(3^'Z v j;^') v (3; + z + 1)*; к) (yzf + x) -> (x <-» xy')'; л) ((x v у v £) -> x^'z) v (x'z v X£')j> v xy'z'. Решение, л) Представим данную функцию полиномом Жегалкина. Для этого используем свойства булевых функций и выразим все встречающиеся в данном выражении функции через сумму Жегалкина и конъюнкцию, а затем упростим полученное выражение: ((х v у v z) -> xy'z) v (x'z v xz')y v xy'z' = ((x v у v z)' v xy'z) v ((x + + l)z v x(z + l))y v xyz' = x'y'z' v xy'z v xy'z' v ((xz + z) v (xz + x))y = = (x' v х)Уz' v xy'z v ((xz + z)(xz + x) + (xz + z) + (xz + x))y = y'z' v v xy'z v (xz + xz + xz + xz + z + x))y = у'(zr v xz) v (x + z)y = y'((z' v x) • • (z' v z)) v (xy + yz) + (x v z')y' v (лу + yz) = (xz' + x + z')y' v (xy + yz) = = (xy'z' + xy' + y'z') v (xy + yz) = (xyz + xy + xz + x + xy + x + yz + y + + z + 1) v (xy + yz) = (xyz + xz + yz + у + z + 1) v (xy + yz) = xyz + xz+ + yz + у + z + 1 -ьху^-yz = xyz + xyz + xyz + xy + xyz + xy + xyz + xzy + + yz^-yz + yz + yz + xyz + xz + y + z+l+xy = xyz + xy + xz + y + z+l* Поскольку полученный полином Жегалкина кроме слагаемых первой и нулевой степени у, z содержит слагаемые второй степени ху и xz, а также третьей степени xyz, то данная булева функция не является линейной. 5.14. Докажите, что суперпозиция любого числа линейных булевых функций является снова линейной булевой функцией. Может ли суперпозиция нелинейных функций дать функцию линейную? 106
5.15. Покажите, что если в линейной булевой функции отождествить два или более аргументов, то снова получится линейная булева функция. 5.16. Приведите примеры нелинейных булевых функций, отождествление в которых двух или большего числа аргументов приводит к линейной булевой функции. 5.17. Приведите примеры нелинейных булевых функций, отождествление в которых двух или большего числа аргументов приводит к нелинейным функциям. 5.18. Приведите примеры нелинейных булевых функций от трех аргументов, в которых нельзя отождествлением их аргументов получить нелинейную функцию от двух аргументов. Двойственность и самодвойственные булевы функции. Булева функция /*(хь ..., х„) называется двойственной по отношению к булевой функции/(х,, ..., х„), если (/*(хь ..., хп))' = /(х{, ..., *„'). Булева функция называется самодвойственной, если двойственная к ней функция совпадает с ней самой. Для булевой функции Дхь х2, ..., хп) от п аргументов обозначим через /(х/ = 0) булеву функцию f(xu ..., Х/_ь 0, xi+u ..., хп) от п -1 аргументов, получающуюся из данной функции заменой всех вхождений ее аргумента X/ значением 0. Аналогично обозначение /(х/ = 1). Говорят, что булева функция f(xu x2, ..., хп) существенно зависит от своего аргумента xh если/(х/ = 0) */(*/ =1). Говорят, что булева функция f(xb хъ ..., хп) зависит от аргумента х( несущественно (или что аргумент х,- фиктивный), если/(х/ = 0) =/(х/ =1). 5.19. Для каждой булевой функции от одного аргумента найдите двойственную ей булеву функцию. 5.20. Для каждой булевой функции от двух аргументов найдите двойственную ей булеву функцию. Решение. Используя обозначения Учебника (§ 9) для булевых функций, найдем двойственные для них функции: , У) = (&(*', У')У = 0' = 1 = gl5(x, у); x, У) = (g\(x', у'))' = (х'у'У = x"vy" = xvy = g7(x, у); Й(*, У) = (a^y)y = ((^->/)r)r=^vy=/vx=(y^x)=gll(x;y); g%x, у) = (&(*', У')У= {х'У = х = &(х, у). 5.21. Для следующих булевых функций найдите двойственные функции. Представьте найденные функции их СДН-формами: а) x'yzvxy'z'vxyz; б) x'yzvx'yz'vxy'zvxy'z'i в) х (у + z) v ((x' v у у z)-> (x'yz)); г) (z-> (xvу))' vх(у + z); д) xyz + xy + xz + z\ е) x'yv(z->x)'-9 з) (х -> (z -> у)) (дс -> (z -> ^0); и) x'y'zvx'yz' vxy'z'vxy'zvxyz\ 107
к) х'у' v yzvy'z'; л) (x'-»z)' v(x->z)y'. Решение.л) Обозначим/(х, у, z) = (х' -> z)' v (x-> z)y'. Найдем функцию, двойственную для/(х, у, z): /*(*, У, z) = (/(х', у', z'))' = ((*-> z')' v (х' -+ z')y)' = (х-> z')"((x' -> -> *')>>)' = (* -> Z')((x' -> Zf)' v У') = (*' v z')((x v z')' v/) = (x'v *')(*'* v v 3;') = x' (x'z v у') v z' (x'z v y') = x'x'z v x'y' v z'x'z v z'y' = x'y' v x'z v у z'. Представим /* в виде СДН-формы: f* = х'у' v x'z v y'z' = x'y'{z v г') v x'(у v ;/')£ v (x v х')^'^' = x'y'z v v x'j'z' v x'j>£ v x'y^ v xy'zf v x'y'z' = x'y'z' v x'y'z v xy'z' v x'yz 5.22. Докажите, что в каждой из следующих пар булевых функций одна из функций двойственна другой: а) xyz + yz + у + 1, xyz + xy + xz + x + y+ 1; б) ху + xz + х + у + г, ху + xz + х; в) xyz + ху + z, xyz + xz + yz; г) xy + yz + x + y + z+l,xy + yz + y+l; д) Ayz + ху + х + у, xyz + xz + yz + x + у + z + 1; е) *y + x + y + z+l,xy + z; ж) xyz + x + 1, xyz + xy + xz + yz + у + z; з) лу + yz + x + 1, xy + yz + z + 1; и) Ayz + xy + xz + у + 1, xyz + yz + x + y; к) xyz + x + z,xyz + xy + xz + yz + y; л) yz + x + y, yz + x + z. Решение, л) Найдем двойственную функцию для данной функции/(х, у, z) = yz + x + у:/* = (y'z' + x' + у')' = y'z' + х' + у' + + 1 = (у+ l)(z+ 1) + (х+ 1) + (у+ 1) + 1 =yz + y + z+ 1 +х+ 1 +у + + 1 + 1= yz + x+z, что и требовалось доказать. 5.23. Покажите, что для следующих булевых функций двойственные функции совпадают с их отрицанием: а) x(y + z+ 1) + yz; ^)xyz^xy'z^x'yzfyx'y'zf\ б) x'yz'vxy'z; 3) ((xvyvz)->yz)vxyz'vx'y'z; в) x'yz'vx'yzyxy'z'vxy'z; и) (x + z+ l)y+ xz+ 1; r) (* + z)(y + 1) + xy + yz; к) xy + xz + yz + x + 1; д) xy + xz + yz + x + у + z; л) xy + xz + yz + z. е) Ayzv x'y'z'; Решение.л) /(x, y, z) = xy + xz + yz + z. Найдем для функции /(x, у, z) двойственную функцию:/* = (х'у' + x'z' + y'z' + z')' = х'у' + + x'z' +y'z' + z' + l = (x -^ yz -^ z + 1 = (xy + xz + yz + z)' = /'(x, y, z). Итак, двойственная функция для/совпала с отрицанием функции/: /*=/'. 5.24. Найдите все самодвойственные булевы функции от одного аргумента. 5.25. Найдите все самодвойственные булевы функции от двух аргументов. Сколько из них существенно зависят от всех своих аргументов? 108
Решение. Проанализировав решение задачи 5.20, обнаруживаем четыре самодвойственные функции от двух аргументов: g\(x> У) = х, &(*, У) = У, £ю(*> У) = У', gn(*, У) = х'. Как видим, все они от одного из аргументов зависят несущественно, т.е. фактически являются функциями одного аргумента. 5.26. Докажите, что следующие булевы функции самодвойственны: а) x(z -> у) v (у -> z)'; б) x'yzvxy'zvx'y'zvx'y'z'; в) xyvxzvyz; г) х'у vx'z' vyz'; д) xy + xz + yz + y + zi е) x'yz'v x'yzv xyz'v xyz; ж) x'y'z v x'yz' v jcv'z' v xyz; з) xz + (x + z)(.v + О; и) (x -> y)'(z -> z) v (x v y)'(z -> z); к) (x'vyv z)(x' v у v z')(x' vy' v z)(x' vу' v ^'); л) xy' vx^' vj;'^'. Решение, л) f(x, у, z) = ху' v xz' v y'z'. Для доказательства самодвойственности функции /(х, у, г) найдем ее двойственную: /*(*, у, z) = (х'у v x'z v у^)' = (х v у'){х v z'Xj7' v z') = (х v у'zOO7' v v z') = ху' v xz' v у'г' v y'z' = xv' v xz' v у 'z' =/(x, у, z), что и требовалось доказать. 5.27. Выясните, какие из следующих булевых функций самодвойственны: а) x'yf vx'zf vy'z'l ж) x'yz' vx'yzvxy'z'vxyz' vxyz\ б) x'yzv xy'zv xyz'; з) ((xvyv z)->x'yz) vx(y + z+ 1); в) xv + xz + yz\ и) xvzv x'yz' v xy'z' v x'y'z'; r) (x'v$y'v(x'vy)z'vx'yz; к) xyz1vxy'z' vx'yz1vx'y'z'; Д) i(x^>y)+l)(z+l)vxy'z; л) (x + l)(y->z)'v(x + y)z. e) xvz'vxv'zvx'yzvxvz; Решение. л)/(х, y9 z) = (x + l)(y ~> z)r v (x + >>)z. Найдем сначала СДН-форму для данной функции: /(х, у, z) = (х + 1)(у -> z)' v v (x +y)z = х'(у' v z) v (x <-» y)'z = x'yz' v ((x' v y)(x v y'))'z = x'yz' v v (xv' v x'y)z = x'yz' v xy'z v x'yz. Затем найдем функцию, двойственную /, и также представим ее в виде СДН-формы:/* = (xv'z v x'yz' v xy'z')' = (x; v у v z')(x vy'v v z)(x' v у v z) = (x' v y)(x v у v z) = x'y' v x'z v xv v yz = x'y'z' v x'y'z v v x'y'zv x'yzv xyz' v xyzv xyzv x'yz = x'y'z' v x'y'zv x'yzv xyz' v xyz. Поскольку функции /и/* имеют различные СДН-формы, то и сами эти функции различны: /* ф / Следовательно, функция / несамодвойственна. 5.28. Докажите, что функция четности р„(хи ..., хп) = X! + ... + хп является самодвойственной тогда и только тогда, когда п нечетно. 5.29. Как найти таблицу значений двойственной функции, если известна таблица значений исходной функции? Найдите таблицу 109
значений двойственной функции для булевых функций, заданных следующей таблицей своих значений: X 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 а) 0 1 1 0 0 0 1 1 б) 1 1 0 1 1 0 1 0 в) 1 0 1 1 0 0 1 0 г) 0 0 0 1 1 0 0 0 д) 1 0 0 0 1 1 0 1 е) 1 1 0 1 0 1 0 0 ж) 1 1 1 0 1 1 1 1 з) 0 0 0 0 1 0 1 0 и) 0 0 1 0 1 0 1 1 к) 0 1 1 1 0 1 0 1 л) 0 1 1 1 0 1 0 1 Решение. Обратите внимание на то, что в выбранной нами последовательности наборов значений аргументов взаимно дополняющие друг друга наборы (т.е. наборы вида (а, Ь, с) и (я', Ь\ с')) располагаются симметрично относительно средней горизонтальной линии таблицы. Теперь вспомните определение двойственной функции. Вот таблица значений функции, двойственной для функции л): 01010001 (вместо столбца записана в строку). Таким образом, каждая из двух половин столбца значений функции/* антисимметрична противоположной половине столбца значений функции /, т. е. получается из этой половины симметричным отражением относительно средней полужирной линии таблицы и последующим отрицанием. 5.30. Каким свойством обладает таблица значений самодвойственной булевой функции? Какие из булевых функций, приведенных в задаче 5.29, самодвойственны? Решение. В силу рассуждений, проделанных при решении предыдущей задачи, столбец значений самодвойственной булевой функции антисимметричен относительно своей средней линии, т. е. каждое значение в этом столбце равно отрицанию симметричного ему значения относительно средней линии таблицы. Но наборы значений аргументов, симметричные относительно средней линии, противоположны, т.е. имеют виды (аь ..., аЛ) и (а'ь ..., а^). Следовательно, самодвойственная булева функция на противоположных наборах принимает разные значения, т.е. ее таблица значений антисимметрична относительно средней линии. Тогда из функций, приведенных в задаче 5.29, самодвойственными будут лишь функции в), е), и). 110
5.31. Сколько существует самодвойственных булевых функций от трех аргументов? Найдите все такие функции. Сколько из них существенно зависят от всех своих аргументов? 5.32. Приведите примеры самодвойственных булевых функций от четырех аргументов. Указание. Здесь следует воспользоваться результатом задачи 5.30 о строении таблицы значений самодвойственной функции: составить таблицу значений какой-нибудь самодвойственной булевой функции от четырех аргументов, а затем, используя нормальные формы, найти выражение для этой функции. 5.33. Сколько существует самодвойственных булевых функций от п аргументов? Решение. Воспользовавшись результатом задачи 5.30 о строении таблицы значений самодвойственной функции, обратите внимание на то, что самодвойственная функция полностью определяется заданием значений, принимаемых ею на половине всех наборов. Причем значения ее на наборах этой половины могут быть заданы произвольно. Таким образом, поскольку всего двоичных наборов длины п имеется 2п штук, то половина их составляет 2п~х штук, а самодвойственных функций будет столько, сколько имеется двоичных наборов длины 2я"1, т.е. 22"'1 штук. 5.34. Подсчитайте число таких булевых функций от п аргументов, двойственные функции для которых совпадают с их отрицанием. Решение. В силу результата задачи 5.29 двойственная функция для/совпадает с ее отрицанием/', если/на симметричных (т. е. противоположных) наборах принимает равные значения. Таким образом, каждая такая функция определяется своими значениями на половине наборов длины п, т.е. на 2п~{ наборах, а общее число таких функций 22"'1. 5.35. Подсчитайте число самодвойственных булевых функций от п аргументов, существенно зависящих от всех своих аргументов. 5.36. Докажите, что всякая самодвойственная булева функция от п аргументов принимает одинаковое число раз (т. е. на одинаковом числе наборов значений аргументов) значения 0 и 1. Решение. Поскольку для самодвойственной булевой функции/справедливо соотношение/(ai, ..., а.;) = (Даь ..., аЛ))', то из него видно, что если/на одном из двух наборов (al5 ..., ая) или (а{, ..., а„) принимает значение 0, то на другом ее значение равно 1. 5.37. Для произвольной булевой функции/(х,, ..., хп) от п аргументов определим функцию от п + 1 аргументовgfo, хь...,хп) = = *6/(*ь —> хп) v Xof'(x\,..., x'n). Докажите непосредственным вычислением, что функция g(x0, хь...,хя) самодвойственна. 5.38. Докажите, что множество всех определенных в задаче 5.37 функций g для всевозможных булевых функций/от п аргументов 111
есть множество всех самодвойственных булевых функций от п + 1 аргументов. 5.39. Докажите, что: а) различные булевы функции имеют различные двойственные функции: f*g=>f**g*', б) /-» g = 1 тогда и только тогда, когда g* -»/* = 1; в) (/*)*=/; г) (Я* = (/*)г; Д) (/-g)*=/*vg*; е) (/+£)*=/*<-►£*; ж) (/<->£)*=/*+#*; з) (/->£)* = £*+>/*; к) л) (/vg)* =/*•£*. Р е ш е н и е. а) Вытекает из результата задачи 5.29 о получении столбца значений функции/*, исходя из столбца значений функции /. б) Докажем сначала, что (/-» g)* = (g* -»/*)'. Вычисляем двойственную функцию: ь ..., хп) -» g(xu ..., х„))* = (/(*{, ..., х;) -» g(x{, ..., х$У = ..., х'п) v g(x{, ..., *;))' =/"W, .-, ^)g'(^b -., х'п) = ь ..., xn))'g*(xb ..., хЛ) = (/*(хь ..., хп) v (g*(xb ..., *„))')' = Тогда из /-» g = 1 следует, что (g* ->/*)' = 1* = 0, откуда g* в), г) Проверяются непосредственными вычислениями. л) Вычисляем двойственную функцию: (f(xu ..., хп) v ..., хя))* = (/(xj, ..., х'п) v g(x|, ..., x'H)Y =/'W, ..., x;) • g'(x[, ..., x«) =/*(xi, ..., xn) • g*(x,, ..., хЛ). 5.40. Докажите, что если булевы функции f(xu ..., хЛ) и g(xu ..., хЛ) самодвойственны и/(1, х2, ..., xw) = g(l,x2, ..., хп), то f=g. Решение. Покажем, что/(аь а2, ..., аЛ) = g(ab a2, ..., аЛ) для любого набора (аи а2, ..., ал). Если ах = 1, то это верно по условию. Пусть а! = 0. Тогда/(0, <х2, ..., <хЛ) =/'(1, <*>ь —э ai) = = g'(l, aj, ..., a;) = g(0, a2, ..., аЛ). Следовательно,/= g. 5.41. Докажите, что функция, двойственная линейной, также линейна. 5.42. Докажите, что функции, двойственные булевой функции второй или третьей степени, есть функции той же самой степени. 5.43. Докажите, что переход к двойственной булевой функции не меняет степени функции. 5.44. Существуют ли булевы функции, одновременно являющиеся самодвойственными и линейными? Если да, то охарактеризуйте все такие функции. 112
5.45. В произвольной несамодвойственной булевой функции так отождествите ее аргументы, чтобы получилась несамодвойственная функция от возможно меньшего числа аргументов. Каким может быть это число? Покажите, что всегда можно получить несамодвойственную функцию от двух аргументов. Дальнейшее уменьшение числа переменных, вообще говоря, невозможно. Решение. Пусть f(xu ..., хп) — несамодвойственная функция. Это означает, что найдется такой набор (al5 ..., ал), для которого /(аь ..., ап) =/(aJ, ..., а;). Разобьем переменные хи ..., хп на две группы. В первую включим те переменные xh для которых а, = 1, во вторую — те переменные xh для которых а, = 0. Отождествим между собой все переменные первой группы, переименовав их в уи а также все переменные второй группы, переименовав их в у2. Получим функцию от двух аргументов у(уи Уг) (она может оказаться функцией от одного аргумента, если (ссь ..., аЛ) — нулевой или единичный набор). Ясно, что ф(1, 0) =/(al5 ..., сс„), q>(0, I) =/(ai, ..., а;). Поэтому ф(1, 0) = ср(О, 1), а значит, ц>(у\, Уг) — несамодвойственная функция. Может оказаться, что дальнейшее отождествление переменных с сохранением несамодвойственности невозможно. Примером служит несамодвойственная функция ху, единственно возможное отождествление переменных в которой приводит к самодвойственной функции х. 5.46. Докажите, что из суперпозиций произвольных несамодвойственных функций и отрицания можно получить константы 0 и 1. Решение. В силу предыдущей задачи 5.45 можно ограничиться случаем несамодвойственной функции от двух аргументов ф(х, у). Пусть ф(а, р) = ф(а', Р'). Рассмотрим тогда функцию \|/(х, у) = = ф (ха, уа), где ха = х, если a = 1, и ха = х', если а = 0, т.е. vj/ есть суперпозиция функции ф и отрицаниях'. Поскольку аа = рр=1,то \|/(1, 1) = vj/(O, 0). Отождествим у функции \|/(х, у) переменные х, у: получим функцию от одного аргумента т(х) = vj/(x, jc). Для нее имеем т(1) = т(0), т.е. %(х) — константа (0 или 1). Подставляя эту константу в х\ получаем другую константу (1 или соответственно 0). Монотонные булевы функции. Упорядочим множество {0, 1}, полагая 0 < 1. Поскольку нам придется иметь дело с функциями от нескольких переменных, введем отношение частичного порядка в множестве двоичных наборов одной и той же длины. Пусть a = (ai, ..., аЛ) и р = (fil9 ..., ря) — двоичные наборы. Тогда а меньше р (обозначение: a < р), если а,- < Р/ для всех /, причем по крайней мере для одного / имеет место строгое неравенство. Будем писать a < р, если a < р или наборы аир совпадают. Булева функция f(xu ..., хп) называется монотонной, если для всяких наборов a = (ab ..., a j и р = (рь ..., рЛ), таких, что a < р, имеем /(а,, ..., аЛ) </(рь ..., Р„). ИЗ
5.47. Выясните, сравнимы ли два данных набора, и если сравнимы, то какой из них меньший? ж) (0, 1, 0, 0), (0, 1, 0, 1); з) (1,0,0, 1,0), (1,0, 1 ,1,0); и) (0, 1, 0, 0, 1), (0, 1, 0, 1, 0); к) (1, 0, 1), (1, 0, 0); л) (0, 1, 1, 1), (0, 1, 0, 0). а) (0, 1, 0), (1, 0, 0); б) (О, 1, 1, 0), (О, 1, О, 1); в) (1, О, О, 1), (1, О, 1, 1); г) (1, 1, 0), (1, О, О); д) (О, 1), (1, 0); е) (1, 0, 0), (1, О, 1); Р е ш е н и е. л) Сравним первые элементы данных наборов: 0 = 0. Сравним вторые: 1 = 1, третьи: 1 > 0 , наконец, четвертые: 1 > 0. Так как каждый элемент первого набора больше или равен соответствующему элементу второго набора (причем есть неравные элементы), то имеем (0, 1, 1, 1) > (0, 1, 0, 0). 5.48. Докажите монотонность следующих булевых функций: а) xyzvx'yzvxyz'; б) xyz + ху + xz\ в) xyvxzvyz; г) (xvyvz)(xvyfvz)(xvyvzf)] д) xyz е) ж) (xv у у z)(xf v yv z)(xv у v z)(xv yv z')(x' v у v z)(xv у' v z')l з) x'y'zvxy'z' vx'yzvxyzi и) xyzvxzvyz; к) ху+(х + у); л) (xvyvz)(x' vyvz)(xvyfvz). Решение, л) Сначала составим таблицу значений данной функции: X 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 /(*, У, z) 0 1 0 1 0 1 1 1 Теперь посмотрим, каково отношение порядка на множестве упорядоченных троек, составленных из нулей и единиц: 000 < < 001,000 < 101,000 < 010,000 < ПО, 000 < 011,000 < 100,000 < 111,00К < 011, 001 < 101, 001 < 111, 010 < ПО, 010 < 111, 010 < 011, 011 < < 111,100 < 101, 100 < 110, 100< 111, 10K111, 110< 111, 011 < 111. 114
Данное отношение порядка удобно изобразить с помощью диаграммы (слева), на которой меньшая тройка изображена соответствующей точкой ниже большей, и от нее к большей тройке (точке диаграммы) идет восходящая линия: На параллельной такой же диаграмме (справа) в узлах изображены значения данной функции при соответствующем этому узлу наборе значений аргументов. Видно, что ни в какой части полученной диаграммы 1 не оказалась расположенной ниже 0. Это и означает, что рассмотренная функция такова, что большему набору значений аргументов соответствует большее значение функции. Следовательно, данная функция действительно монотонна. 5.49. Найдите все монотонные булевы функции от одного аргумента. Найдите все монотонные булевы функции от двух аргументов. Решение. Ясно, что монотонными булевыми функциями от одного аргумента будут функции 0, х, 1. Для нахождения всех монотонных булевых функций от двух аргументов сначала укажем порядок на множестве упорядоченных пар, составленных из 0 и 1: 00 < 01, 00 < 10, 00 < 11, 01 < 11, 10 < 11, пары 01 и 10 несравнимы. Теперь воспроизведем таблицу значений всех функций от двух аргументов и выделим полужирным шрифтом для каждой функции те ее значения, для которых нарушается монотонность: X 0 0 1 1 У 0 1 0 1 So 0 0 0 0 «1 0 0 0 1 «2 0 0 1 0 «3 0 0 1 1 S, 0 1 0 0 «5 0 1 0 1 0 1 ] 0 «7 0 1 1 1 «8 1 0 0 0 «э 1 0 0 1 «10 1 0 1 0 «II 1 0 1 1 «12 1 1 0 0 «.з 1 1 0 1 «14 1 1 1 0 «15 1 1 1 1 Следовательно, монотонными будут функции: go(x, у) = 0, g\(x, У)=ху, &(*> У) = х, g5(x, у) = у, g7(x, у) = xv у, g15(x, у) = 1. 115
5.50. Найдите все монотонные булевы функции от трех аргументов. Сколько имеется таких функций? 5.51. Приведите пример монотонной булевой функции от четырех аргументов. 5.52. Выясните, какие из следующих булевых функций монотонны: а) xyz; б) (x + y)z+(x + z)'; в) (xvyvz)(x'vyvzKxvyvz'); г) xyz + xz; д) x'y'z' v x'yz' v zy'z' v xyz' v xyz; е) xy(z + l) + z; ж) x'yz' v xy'z v (x'yr + xr + y); з) *'()> + z) v ((*' v у v z) -> xyz) v x((j/ -> z) + 1); и) (x v }> v z)(x' v ^ v z)(x v j;' v z')(x' v y' v z); к) xyz + xv + xz + j;z + x + 3; + z; л) (xvj')(xf vy)zvx'yzvxy'z'. P e ш е н и е. л) Прежде всего составим таблицу значений данной функции: 0 0 0 0 1 1 1 1 У 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 f(x,y,z) 0 1 0 1 1 0 0 1 Из таблицы видно, что, например, для наборов (1, 0, 0) и (1, 0, 1) имеет место неравенство: (1, 0, 0) < (1, 0, 1), а для соответствующих значений функции выполняется противоположное неравенство: 1 =/(1, 0, 0) >/(1, 0, 1) = 0. Следовательно, данная функция не монотонна. Для обозрения всех случаев нарушения монотонности можно также воспользоваться наглядным методом диаграмм, описанным при решении задачи 5.48. Диаграммы для данной функции имеют следующий вид: 116
ПО 1 001 V. >oin У9100 1 5.53. Проверьте монотонность конъюнкции от п аргументов и монотонность дизъюнкции от п аргументов. 5.54. Функция большинства (или мажоритарная функция) от п аргументов — это такая булева функция, которая принимает значение 1 на таких и только на таких наборах (аь ..., аЛ) значений аргументов, в которых большинство аргументов принимают значение 1. Докажите, что функция большинства монотонна. 5.55. Докажите, что суперпозиция монотонных функций есть функция монотонная. Решение. Целесообразно пояснить идею доказательства этого утверждения на примере функций от небольшого числа аргументов. Так, если/^х, у),/г(хи *2)>Уз(*ь xi) — монотонные булевы функции и (ai, а2) < (Pi, P2), т.е. а! < рь а2 < р2, то рассмотрим функцию g(xu x2) =/i(/2(xi, х2), /3(хи х2))9 являющуюся суперпозицией данных. В силу монотонности f2 и f3 имеем ^(аь а2) </2(Рь Рг) и/3(а,, а2) </3(рь Р2), а в силу монотонности/, имеем g(ab а2) =/,(/2(аь а2),/3(аь а2)) </,(/2(Рь Р2),/з(Рь Р2)) = = «(Pi, P2). 5.56. Докажите, что для всякой монотонной булевой функции /, не являющейся константой, справедливо следующее разложение: /(*,, ..., Хп.ь Хп) = ф(хь ..., ХП_Х)ХП V \|/(Xi, ..., *„_,), где ф, \|/ — монотонные функции. Решение. Найдем для / ее СДН-форму и вынесем из всех конъюнктивных одночленов с одной стороны переменную хП9 а с другой — х'п. Получим разложение f(xu ..., х„_и хп) = ф(хь ..., хп_х) • 'Хп v v|/(xb ..., xw_i)x;, где ф(хь ..., хп.{) =/(хь ..., хп.и 1), у(хь -э хп-\) =А*и ..., хп-и 0). Функции ф и \|/ монотонны в силу предыдущей задачи как суперпозиции монотонных функций/и 1, 0 (константы — монотонные функции). Покажем, что в данном случае имеет место более сильное представление: /(*!, ..., ХЛ_Ь Хп) = ф(*1, ..., ХП.Х)ХП V \|/(X15 ..., *„_,). (*) Для этого докажем, что справедливо равенство хпу v х'„\у = xnq> v v vj/. В самом деле, сравним множества наборов, на которых обра- 117
щаются в нуль левая и правая части этого равенства. Если на некотором наборе (аь..., аЛ_ь а„) обратилась в нуль правая часть, то а„ф(аь..., ап„{) = 0 и \|/(аь..., а„) = 0. Но тогда аХа,,..., ая_,) = = 0, и левая часть также обращается в нуль. Обратно, пусть теперь на наборе (ссь ..., аЛ_ь ап) равна нулю левая часть. Тогда аяф(аь ..., аЛ_!) = 0. Покажем, что \|/(аь ..., ап_{) = 0. В самом деле, \|/(аь .-, <*/t-i) =/(аь -, ал_ь 0) < Даь ..., ап.и ап) = 0 (неравенство— в силу монотонности функции/). Поэтому \|/(аь ..., aw_i) = 0. Таким образом, и правая часть обращается в нуль. Следовательно, доказываемое равенство действительно имеет место, а вместе с ним справедливо и разложение (*). 5.57. Докажите, что булева функция, не являющаяся тождественной константой, будет монотонной тогда и только тогда, когда ее можно представить в виде суперпозиции конъюнкций и дизъюнкций. Решение. В силу задачи 5.55 и монотонности функций конъюнкции и дизъюнкции (задача 5.49) достаточность имеет место. Доказательство необходимости проведем индукцией по числу п аргументов булевой функции. При п = 0 имеются лишь функции- константы; при /2=1 добавляется еще функция х - х v x, которая выражается через дизъюнкцию (как, впрочем, и через конъюнкцию). Предположим, что утверждение справедливо для монотонных функций от п - 1 аргумента. Пусть/(хь ..., хп_и хп) — монотонная булева функция от п аргументов, не являющаяся константой. Тогда по предыдущей задаче справедливо разложение /(хь Предположим сначала, что ф и у также не являются константами. Тогда, поскольку они монотонны и зависят от п - 1 аргумента, то по предположению индукции каждая из них представима в виде суперпозиции конъюнкций и дизъюнкций. Из приведенного разложения видно, что этим свойством обладает и функция / Теперь рассмотрим случаи, когда одна или обе функции ср и у являются константами. Заметим, что в силу монотонности/имеем ф(Хь...,*„_!) =/(*!,...,*„_!, 1) >/(*,,...,*„_,, 0) = y(pCu...,XH-i). Поэтому если ф = 0, то \|/ = 0 и/= 0, что не так. Если vj/ = 1, то /= 1, что невозможно. Если у = 0 и ф = 1, то/(хь ..., хп) - хп. Если же vj/ = 0 и ф не является константой или <р = 1, а у не является константой, то из предположения индукции и из рассматриваемого разложения также следует доказываемый результат. Ясно, что к этому результату можно прийти, используя двойственные соображения, в частности в задаче 5.56 можно получить двойственное соотношение (начав с СКН-формы для/). Проведите эти рассуждения самостоятельно. Таким образом, в данной задаче приведено исчерпывающее описание всех монотонных функций. 118
5.58. Докажите, что функция, двойственная монотонной булевой функции, сама монотонна. Решение. Пусть /— монотонная функция. Если /— константа, то двойственная ей функция есть другая константа (задача 5.20) и, следовательно, также монотонна. Если/— не константа, то по предыдущей задаче она есть суперпозиция конъюнкций и дизъюнкций. Но мы знаем (задача 5.20), что функция, двойственная для конъюнкции, есть дизъюнкция, а двойственная для дизъюнкции — конъюнкция. Следовательно, функция, двойственная для суперпозиции конъюнкций и дизъюнкций, будет снова суперпозицией дизъюнкций и конъюнкций и потому будет также монотонной. Это утверждение можно также доказать и непосредственно, исходя из определений двойственной и монотонной функций. 5.59. Верно ли утверждение: если булева функция зависит существенно более чем от одного аргумента и линейна, то она немонотонна? 5.60. Существуют ли булевы функции, являющиеся одновременно линейными и монотонными? Если да, то приведите примеры таких функций и охарактеризуйте все такие функции. 5.61. Верно ли утверждение: если булева функция зависит существенно более чем от одного аргумента и монотонна, то она несамодвойственна? 5.62. Существуют ли булевы функции, являющиеся одновременно самодвойственными и монотонными? Если да, то приведите примеры таких функций и охарактеризуйте все такие функции. 5.63. Существуют ли булевы функции, являющиеся одновременно линейными, самодвойственными и монотонными? Если да, то приведите примеры. 5.64. Пусть имеется произвольная немонотонная булева функция от п аргументов (п > 3). Докажите, что, отождествив подходящим образом ее аргументы, можно получить немонотонную функцию от трех аргументов. Решение. Пусть/— немонотонная функция и наборы а = (аь •-., ая) < Р = (Рь ..., ря) таковы, что Да,, ..., ая) >/(р„ ..., р„), т.е./(аь ..., аЛ) = 1,/(рь ..., р„) = 0. Разобьем переменные хь ..., хп на три группы. В первую включим такие переменные xh что а,- = 0, Р/ = 1; во вторую — такие xh что а, = р/ = 0; в третью — такие xh что а/ = Р/ = 1. (Поскольку а < (3, то не может быть такого, что а,- = 1, a Р/ = 0.) Отождествим переменные внутри каждой из этих групп: подставим вместо каждой переменной первой группы х, второй — у, третьей — z. Тогда получим немонотонную функцию cp(x, у, z), так как ср(О, 0, 1) = 1, ср(1, 0, 1) = 0. 5.65. Приведите пример немонотонной булевой функции от трех аргументов, любое отождествление аргументов которой приводит к монотонной функции. 119
Решение. Примером такой функции может служить следующая: х + у + z. Отождествление любых двух ее переменных приводит к функции от одного аргумента, совпадающей с этим аргументом. Например, х + у + у = х + 0 = х. Такая функция уже монотонна. 5.66. Показать, что суперпозицией любой немонотонной функции и констант можно получить отрицание. Решение. Если/(хь ..., хп) — любая немонотонная функция, то согласно задаче 5.64 получим из нее немонотонную функцию от трех аргументов <р(х, у, z). Положив в ней у = 0, z = 1, придем к функции q>(x, 0, 1) = х', так как <р(0, 0, 1) = 1, а Ф(1,0,1) = 0. 5.67. Выясните, при каких п следующие функции монотонны: а) (х{ vx2v ... v хп) -> (х{х2 ... х„); б) (х\ vxjv ... v х'„) -> (х,х2 ... хп)\ в) (х, v ... v х„_2 v *;_, v *;) -» (*, v х2 v ... v х„); Г) (X, V ... V Х„_2 V ДС;., V Х*п) -> (X! + Х2 + ... + Хп)\ д) (X! v ... v хя_, v x;) -> (xj ... хл_,х„); е) (х,х2 ... х^х;) -> (хх + х2 + ... + хл). Решение, е) Посмотрим на вид данной функции при п = = 1: х\ -» Xi = X\ v xt = хх. Ясно, что она монотонна. Для решения вопроса о монотонности данной функции при остальных значениях п обратим внимание на следующее обстоятельство: т.е. на наименьшем наборе (0, 0, ..., 0) данная функция принимает значение 1. Поэтому если найдется такой набор значений аргументов (а он будет непременно больше нулевого набора), на котором функция принимает значение 0, то функция является немонотонной. Попытаемся его найти. Искомый набор должен обратить посылку импликации x^2... хя^,х^ в 1, а следствие X! + х2 +...+ хп — в 0. Посылка XjX2... х^х;, являющаяся конъюнкцией, принимает значение 1 только на одном наборе: ^ = 1, х2 = 1,..., хЛ_1 = 1, хп = 0. Возникает вопрос: какое значение принимает следствие хх + х2 + ... + х„_, + х„? Оно равно сумме Жегалкина я-1 единиц: 1 + 1 +...+ 1. Если число п - 1 четно (и, значит, п — нечетно), то это значение равно 0. Следовательно, данная функция принимает значение 0, а это означает, что при нечетном п(п * 1) данная функция немонотонна. Если же число п - 1 нечетно (и, значит, п — четно), то вычисляемое значение равно 1. Значит, данная функция принимает значение 1, и это, в свою очередь, означает, что при четном п данная функция монотонна. (Фактически при четном п данная функция равна тождественно 1.) Итак, данная функция монотонна при п = 1 и при любом четном л. Булевы функции, сохраняющие нуль и сохраняющие единицу. Булева функция/(хь х2, ..., хп) называется сохраняющей нуль, если /(0, 0, ..., 0) = 0. Булева функция /(хь х2, ..., хп) называется сохраняющей единицу, если/(1, 1, ..., 1) = 1. 120
5.68. Перечислите все булевы функции: а) от 1 аргумента, сохраняющие 0; б) от 1 аргумента, сохраняющие 1; в) от 2 аргументов, сохраняющие 0; г) от 2 аргументов, сохраняющие 1; д) от 1 аргумента, сохраняющие и 0 и 1; е) от 2 аргументов, сохраняющие и 0 и 1; ж) от 2 аргументов, сохраняющие 0, но не сохраняющие 1; з) от 2 аргументов, сохраняющие 1, но не сохраняющие 0. 5.69. Докажите, что: а) суперпозиция булевых функций, сохраняющих 0, есть снова булева функция, сохраняющая 0; б) суперпозиция булевых функций, сохраняющих 1, есть снова булева функция, сохраняющая 1. 5.70. Докажите, что среди всех булевых функций от п аргументов число функций, сохраняющих 0, равно числу функций, сохраняющих 1. Найдите это число. Решение. Если / сохраняет 0, то ее отрицание /' сохраняет 1. Число функций от п аргументов, сохраняющих 0, равно числу всевозможных двоичных наборов длины 2Л- 1, т.е. равно 22""1 5.71. Докажите, что среди всех булевых функций от п аргументов число функций, сохраняющих 0, но не сохраняющих 1, равно числу функций, сохраняющих 1, но не сохраняющих 0. Найдите это число. Решение. Такие функции, как и соответствующие функции из предыдущей задачи, взаимно однозначно соответствуют друг другу. Поэтому их количество одинаково. Чему же оно равно ? Так как здесь фиксируются значения на двух наборах, то это число равно числу всевозможных двоичных наборов длины 2й - 2, т. е. равно 22"-2. 5.72. Докажите, что: а) если булева функция сохраняет 0, то двойственная для нее функция сохраняет 1; б) функция, двойственная для функции, сохраняющей 1, сохраняет 0. 5.73. Подсчитайте число самодвойственных булевых функций от п аргументов: а) сохраняющих 0, но не сохраняющих 1; б) сохраняющих 1, но не сохраняющих 0. Решение. Если/(хь ..., хп) сохраняет 0, то вычисляем/*(1, ..., 1) = (/(Г, ..., 1'))' = (/(0, ..., 0))' = 0' = 1, т.е./* сохраняет 1. Отсюда вытекает, что не существует самодвойственных функций, сохраняющих 0, но не сохраняющих 1, равно как и сохраняющих 1, но не сохраняющих 0. 5.74. Докажите, что среди всех самодвойственных булевых функций от п аргументов число функций, сохраняющих 0, равно числу функций, сохраняющих 1. Найдите это число. Подсчитайте число самодвойственных булевых функций от п аргументов, сохраняющих хотя бы одну из констант 0 или 1. 121
Решение. Из двух предыдущих задач вытекает, что всякая самодвойственная булева функция, сохраняющая 0, сохраняет также и 1, а сохраняющая 1 — сохраняет и 0. Как нам известно (задачи 5.29, 5.30, 5.33), самодвойственная функция полностью определяется заданием своих значений, принимаемых ею на половине всех наборов значений аргументов. Таких наборов имеется 2п~1 штук. Если при этом функция еще и сохраняет 0 (а значит, сохраняет и 1), то еще один набор значений аргументов оказывается связанным. Это — нулевой набор. В итоге мы можем произвольным образом задать значения на 2п~{ - 1 наборах значений аргументов, т.е. получить 22"~1~1 булевых функций. 5.75. Докажите, что среди всех линейных булевых функций от п аргументов число функций, сохраняющих 0, равно числу функций, сохраняющих 1. Найдите это число. 5.76. Докажите, что: а) все монотонные булевы функции, за исключением тождественно равной 1, сохраняют 0; б) все монотонные булевы функции, за исключением тождественно равной 0, сохраняют 1. 5.77. Докажите, что если булева функция линейна и монотонна, то она либо не сохраняет 0, либо не сохраняет 1, либо самодвойственна. 5.78. Пусть булева функция/(хь хъ х3, х4), существенно зависящая не менее чем от двух аргументов, самодвойственная, линейная, сохраняющая 0 и/(1, 1, 0, 1) = 1. Найдите функцию/ Решение. Так как по условию функция линейная, то ее можно представить в виде f(xb х2, х3, х4) = а0 + аххх + а2х2 + а3х3 + + а4х4, и так как она самодвойственная, то у нее нечетное число коэффициентов щ - 1 (/ ф 0). Значит, данная функция имеет вид f(xv xv ху х4) = аре. + aQ илиДх,, х2, xv х4) = а.х + a.xh + a.xh + а0. Первый вариант отпадает, так как функция должна существенно зависеть по условию не менее чем от двух аргументов. С учетом того, что/(1, 1, 0, 1) = 1, получаем следующие возможные варианты: fx(xu хъ х3) = аххх + а2х2 f2(xu хъ х4) = аххх + а2х2 /3(хь х3, х4) = аххх + Яз*з /4(х2, х3, х4) = а2х2 + а3х3 + а4х4 (свободный член равен 0, так как функция линейна, самодвойственна и сохраняет 0 одновременно). Найдем значения этих функций на наборе (1, 1, 0, 1). Получим ах + а2 = 1; ах + а2 + а4 = 1; ах + я4 = U а2л- а4- 1. Сумма Жегалкина х + у равна 1 только в случаях, когда х = 1, у = 0 или л; = 0, у = 1. Значит, ни /ь ни f3, ни f4 не могут быть искомой функцией. Остается функция^, у которой ах = а2 = а4 = 1. Следовательно, искомая функция имеет вид: хх+ х2 + х4. 122
5.79. Докажите, что: а) из всякой булевой функции, не сохраняющей 0, отождествив ее аргументы, можно получить функцию от одного аргумента, также не сохраняющую 0, т.е. функцию х' или функцию 1; б) из всякой булевой функции, не сохраняющей 1, отождествив ее аргументы, можно получить функцию от одного аргумента, также не сохраняющую 1, т.е. функцию х' или функцию 0. Решение, а) Пусть функция f(xu ..., хп) не сохраняет 0, т.е. /(0, ..., 0) = 1. Отождествив все ее аргументы, получим функцию ф(х) =/(*,..., х). Если/(1,..., 1) = 1, то ф(х) = 1. Если же/(1,..., 1) = = 0, то ф(х) = х'. § 6. Полные системы и функционально замкнутые классы булевых функций Полные и неполные системы булевых функций. Система (совокупность) булевых функций F = {/j, ..., fm} называется полной, если всякая булева функция является суперпозицией функций из этой системы. В Учебнике (лемма 10.4 и теорема 10.5) методом математической индукции доказывается полнота системы {•, v, '}. 6.1. Докажите полноту следующих систем булевых функций: а) {•, '}; б) {v, '}; в) {->, '}; г) {А, '}, где х А у = (х -> у)' = = ху'\ д) {А, 1}; е) {->, 0}; ж) { | }; з) {I}; и) {+, -, 1}; к) {+, v ,1}; л) {<->, ., 0}. Решение, д) Для доказательства достаточно выразить каждую функцию из какой-нибудь полной системы функций через функции А , 1 из данной системы. Проверьте, что справедливы следующие выражения: х' = \х' = 1 A x;xvy=(x'y')f = 1 А (х'у') = = 1 А ((1 А х) А у); ху = ху" = д: А у1 = х А (I А у). Как известно, система {•, v, '} полна, т.е. каждая булева функция выражается через •, v и '. Если в этом выражении выразить далее •, v и ' через А и 1 по указанным формулам, то получим выражение данной функции через А и 1. Так будет с каждой булевой функцией. Следовательно, система {А,1} полна. л) Достаточно выразить функции полной системы {•, '} через функции <->, •, 0 из данной системы. Проверьте, что справедливо следующее выражение: х* = х <-» 0. 6.2. Докажите неполноту следующих систем булевых функций: а) {•, v}; б) {->, .}; в) {->, v}; г) {+, '}; д) {', 1}; е) {v, +}; ж) {+, <->}; з) {•, v , ->}; и) {., v , -», <-►}; к) {'}; л) {<->, '}. Решение. Для доказательства неполноты системы нужно найти какое-либо свойство, которым обладают все функции данной системы и которое сохраняется при суперпозиции, хотя не все булевы функции им обладают. Например, в задаче а) каждая из функций • и v сохраняет 0, т.е. 0-0 = 0h0v0 = 0. Следовательно, всякая суперпозиция этих 123
функций будет функцией, сохраняющей 0. Ясно, что далеко не все булевы функции сохраняют 0, и потому далеко не все они выразимы через • и v. В задаче л) нетрудно показать, что в виде суперпозиций функций <-> и ' могут быть представлены лишь такие функции, среди значений которых имеется одинаковое число нулей и единиц. 6.3. Исследуйте на полноту системы булевых функций: а) {+, •>; б) {->, +}; в) {->, 1}; г) {+, 1}; д) {+, ., 0}; е) {+, 0, 1}; ж) {•, 0, 1}; з) {<-», v, 0}; и) {->, •, 0}; к) {+, •, <->}; л) {+, v, <->); м) {-», ^ }, где х iA у = (у -> х)' = х'у. 6.4. Докажите, что каждая из следующих функций образует полную систему из одной функции (такие функции называются обобщенными функциями Шеффера): a) x'y'z'] б) (х + у + l)(z + 1); в) x'y'z' v xy'z\ г) ху -» z'\ д) (х + + 1)(у + l)(z + 1); е) х\у -> z'); ж)z+>(y+ (xz)); з) (1 + х)(у + z)'; и) x't' v yz'\ к) xyz + 1; л) ху -» (х -> s'). Решение.л) Обозначим данную функцию через/, т.е. /(х, у, z) = ху -> (х -» ^')j и покажем, что все функции какой-нибудь полной системы функций могут быть выражены через функцию/ Положим z = у и преобразуем выражение для/следующим образом: /(х, у, у) = ху -> (х -> у') = (ху)' v (xf v j;') = x' v у' v xf v у' = = x'v/ = (ху)' = x I .у. Таким образом, х | у =/(х, ^, j^). Поскольку система {|}, состоящая из функции | (штрих Шеффера), полна (см. задачу 6.1, ж) и эта функция выражается через функцию/, то, следовательно, через функцию /может быть выражена всякая булева функция. Это и означает, что система {/} полна. 6.5. Исследуйте на полноту следующие системы булевых функций: а) {ху v у% 0, 1}; ж) {{у -> х)(у' -> z), 0, 1}; б) {ху v xz v yz, х', 1}; з) {х + у + *, х'}; в) {xyvxzvyz,x<r>y,x + y}\ и) {xyvxzv^,x'}; г) {у -^ xz, 0, 1}; к) {ху + xz + j>z, 0, 1}; д) {х + у + z, ху, х'}; л) {х + у, 0, 1}; е) {ху + z, (х ^ ^) + г, 1}; м) {ху, 0, 1}. Решение. Системы а)—ж) полны. Система з) не полна, так как обе функции линейны и, следовательно, всякая их суперпозиция есть линейная функция (задача 5.14). Аналогично в задаче и) обе функции самодвойственны, а в задаче к) все три функции системы монотонны. 6.6. Докажите, что если некоторая система булевых функций F- {fu ->/«} полна, то и система F* = {/*, ...,/Л, состоящая из функций, двойственных функциям системы F, также полна. Решение. Если требуется представить некоторую функцию / в виде суперпозиции функций из F*, то представим сначала двойственную функцию /* в виде суперпозиции функций из F. Переходя в этом представлении к двойственным функциям, мы 124
получим слева функцию /, а справа суперпозицию двойственных функций к функциям из F, т. е. суперпозицию функций из F*. Применение теоремы Поста. Напомним теорему Поста, которая формулирует критерий полноты системы булевых функций: для полноты системы булевых функций В = {/о,/ь ...,.£,...} необходимо и достаточно, чтобы для каждого из классов PQ, Ри S, L, М в системе В нашлась функция/, ему не принадлежащая, т.е. необходимо и достаточно, чтобы система В не включалась ни в один из этих классов. Отсюда легко получается отрицание этого критерия, представляющее собой критерий неполноты системы булевых функций: система В булевых функций неполна тогда и только тогда, когда она целиком включается в один из классов PQ, Ри S, Z,, М. 6.7. Решите задачу 6.1, используя теорему Поста. Р е ш е н и е. л) Для решения полезно составить таблицу, называемую таблицей Поста данной системы функций: <-> 0 - + + Л + + - S - - - L + - + м - - + Стоящий в таблице знак «+» означает, что указанная в данной строке функция принадлежит указанному в данном столбце классу. Знак «-» означает непринадлежность данной функции соответствующему классу. Если в каждом из пяти последних столбцов таблицы имеется хотя бы один знак «-», то это означает, что рассматриваемая система функций полна. В противном случае, т.е. когда хотя бы в одном столбце нет ни одного знака «-», система не полна. 6.8. Используя теорему Поста, решите задачу 6.2. 6.9. Решите задачу 6.3, используя теорему Поста. 6.10. Как выглядят таблицы Поста для функций задачи 6.4? 6.11. Решите задачу 6.5, используя теорему Поста. В этой задаче выделите системы булевых функций, которые доказывали бы существенность каждого условия теоремы Поста, т. е. доказывали бы невозможность опустить ни одно условие этой теоремы без того, чтобы не нарушить формулируемый в теореме критерий. Решение. Составим таблицу Поста для пяти последних систем функций. Из этой таблицы заключаем, что каждая из рассмотренных систем функций включается в один из классов Ро, Ръ 5, X, М. Первая система включается в класс Ро, вторая — в класс Ри третья — в класс S, четвертая — в L, пятая -вМ Следовательно, на основании теоремы Поста ни одна из рассмотренных систем не является полной. 125
з) и) к) л) м) x + y + z ху 0 x + y+z ху 1 ху vx'z'v y'z' х + у 0 1 ху 0 1 + + + + + - - + + - + + - + + - + + + - - - + + - + S + - - + - - + - - - - - - L + - + + - + - + + - + + м - + + - + + - - + + + + + Обсудим теперь вопрос о существенности условий теоремы Поста. Приведенные пять систем булевых функций предоставляют нам такую возможность. Эти системы показывают, что для каждого из пяти классов Ро, Pl9 S, L, Мможно указать такую содержащуюся в нем систему булевых функций (а значит, неполную), в которой для каждого из остальных четырех классов имеется функция, ему не принадлежащая. Это и означает, что, отбросив условие непринадлежности функции системы хотя бы одному из классов Ро, Рь S, L, М, мы рискуем получить неполную систему булевых функций. 6Л2. Выясните, является ли система {f\(xb jc2, ..., xn),f2(x{, x2, ..., хп)} булевых функций полной, если: ; б)a 6.13. Является ли полной система {/j (xl5 ..., xn),f2(xu ..., хл), f3(xb ..., хп)} булевых функций, если/! & Lu (Po n P\),f2 е М \ \I,/l->/2=l,/lV/3=l. 6.14. Докажите, что функции штрих Шеффера и стрелка Пирса и только они являются булевыми функциями от двух аргументов, через каждую из которых могут быть выражены все другие булевы функции. Указание. Решение может состоять в проверке того, что все остальные булевы функции от двух аргументов, взятые по отдельности, не удовлетворяют условию теоремы Поста. 126
6.15. Докажите, что система {f (хи х2, ..., хп)}, состоящая из одной функции, полна тогда и только тогда, когда эта функция не сохраняет 0, не сохраняет 1 и не является самодвойственной. 6.16. Докажите, что среди булевых функций от п аргументов имеется ровно 22"~2 - 22""1"1 таких, каждая из которых образует полную систему функций. Функционально замкнутые классы булевых функций. Всякая совокупность Г функций алгебры логики, замкнутая относительно суперпозиции (т. е. такая, что суперпозиция функций из Т снова принадлежит Т), называется функционально замкнутым классом, 6.17. Какие из указанных классов функций являются функционально замкнутыми классами: а) функции от одной переменной; б) функции от двух переменных; в) все функции алгебры логики; г) линейные функции; д) самодвойственные функции; е) монотонные функции; ж) монотонно убывающие функции; з) функции, сохраняющие нуль; и) функции, сохраняющие единицу; к) функции, сохраняющие и нуль, и единицу; л) функции, сохраняющие нуль, но не сохраняющие единицу. Решение, л) Нужно показать, замкнута или нет данная совокупность относительно суперпозиции. В данном случае можно привести пример, доказывающий, что совокупность — не функционально замкнутый класс. Например, функция х + у сохраняет 0, но не сохраняет 1, а ее суперпозиция х + (у + z) сохраняет 1. 6.18. Докажите, что ни один, из классов Ро, Рх, S, L, М не содержится в другом, т.е.: а) Ро не включается в Ри Рх не включается в Ро; б) Ро не включается в S, S не включается в Ро; в) Ро не включается в L, L не включается в Ро; г) Ро не включается в М, М не включается в Ро; д) Рх не включается в S, Sne включается в Рх\ е) Рх не включается в L, I не включается в Рх; ж) Рх не включается в М, Мне включается в Рх\ з) S не включается в Z,, L не включается в S; и) S не включается в М, Мне включается в S; к) L не включается в ¥, Мне включается в L. Указание. В каждом случае привести примеры двух конкретных функций: одна из них должна принадлежать первому классу, но не принадлежать второму, а другая принадлежать второму и не принадлежать первому. 6.19. Докажите, что всякий функционально замкнутый класс, не совпадающий с классом всех булевых функций, содержится в одном из классов Ро, Ри 5, X, М. Решение. Допустим, что некоторый функционально замкнутый класс К не содержится ни в одном из классов PQ, Рь S, L, М. Следовательно, в нем есть функции, не принадлежащие каждому из этих классов. Тогда, по теореме Поста, всякая булева функция 127
представима в виде суперпозиции таких функций. Но в силу функциональной замкнутости класса К эта суперпозиция снова принадлежит классу К. Таким образом, всякая булева функция находится в К, что противоречит условию, согласно которому К не совпадает с классом всех булевых функций. Получили противоречие, которое и доказывает, что К содержится в одном из классов Ро, Pi, S, L, М. 6.20. Докажите, что функционально замкнутые классы Ро, Рх, S, L, Ммаксимальны, т.е. не существует функционально замкнутых классов, отличных от класса всех булевых функций и содержащих какой-либо из перечисленных классов. 6.21. Докажите, что кроме классов Ро, Рх, S, L, Мне существует других максимальных (см. задачу 6.20) функционально замкнутых классов. Решение. Утверждения двух последних задач непосредственно следуют из утверждения задачи 6.19. Базисы булевых функций. Минимальная полная система функций (т.е. такая полная система функций, удаление из которой любой функции делает систему неполной) называется базисом. Булева функция, представляющая собой базис из одного элемента, называется обобщенной функцией Шеффера. 6.22. Докажите, что системы функций из задачи 6.1 являются базисами. Решение. Если из данной системы удалить функцию х <-> у, то получим неполную систему функций, так как функции ху и 0 обе монотонные. Если же удалить функцию ху, то снова приходим к неполной системе, так как функции х <-> у и 0 линейные. И наконец, если удалить 0, система вновь будет неполной, так как функции х <-> у и ху сохраняют единицу. Следовательно, удаление любой из функций данной полной системы функций приводит к неполной системе. Значит, данная система является базисом. 6.23. Докажите, что следующие системы булевых функций являются базисами: а) х + у + z, ху, 0, 1; ж) (у -> х)(у' -» z), 0, 1; б) х + у + z, х v у, 0, 1; з) ху v z, x <-> у, 0; в) х + у + z, ху + xz + yz, 0, 1; и) ху v xz v yz> x <-> у, х + у; г) xyz, x <-> у, 0; к) (х + j>) <-> z, ху + z, x + у; д) ху vy'z, 0, 1; л) xvyz,x + y, 1; е) ху v xz v yz, х', 1; м) (х <-> у) + z, ху + z, 0. 6.24. Из полной системы булевых функций выделите всевозможные базисы: а) (х v y)(x' v у'), ху + zAx + у) <-> z, xy v xzv yz; б) Х + У+ z, 1, ay, x'\ в) xyz, x + y + z, 1, xy*; r) (x + y) z, 1, xy v /z, x + у + z; д) ху v x'z' v j>'zr, x + y,xy, 1; 128
е) (х -> j>) -> z, х', ж) х -> (у -> z), х + у, О, ху + z\ з) xvyz, х + у, 1,х'; и) ху v z, х+± у, О, 1; к) ху v у'z, О, 1, О> -» х)О>' -> г); л) zv xzf, x + y,x<r+y, 1. Указание. Сначала нужно составить таблицу Поста для данной системы и выяснить, является ли она полной. Затем проверить, является ли сама система из четырех функций базисом (см. задачу 6.22). Если эта система не является базисом, то из нее выделяются всевозможные полные системы, состоящие из двух и трех функций. И наконец, нужно проверить, будут ли полные системы из двух и трех функций базисами. 6.25. Докажите, что базис не может содержать более пяти функций. Решение. Ясно, что из всякой полной системы функций можно выбрать не более пяти функций, удовлетворяющих теореме Поста. 6.26. Докажите, что базис не может содержать более четырех функций. Решение. Рассмотрим функцию, не сохраняющую нуль. В силу задачи 5.76, а она или является немонотонной, или является тождественной единицей, а следовательно, является несамодвойственной функцией. Это означает, что во всякой полной системе обязательно найдется функция, не принадлежащая сразу двум из пяти классов Ро, Ри S, L, М. Тогда к этой функции можно присоединить не более трех функций из рассматриваемой системы так, чтобы удовлетворялись условия теоремы Поста. Следовательно, в базисе не может быть более четырех функций. 6.27. Для каждого / = 1, 2, 3, 4 приведите пример базиса, состоящего из / функций. 6.28. Докажите, что если система функций В = {f{, f2, ..., fm) является базисом, содержащим функции-константы 0 и 1, то число т функций в нем равно 3 или 4. Причем, если т = 4 , то из двух оставшихся функций одна представляет собой сумму нечетного числа своих аргументов, а другая — монотонная функция от не менее чем двух аргументов. 6.29. Докажите, что если базис содержит функцию-константу 0 и не содержит 1, то число функций в нем может быть равно либо 2, либо 3. 6.30. Докажите, что если базис содержит функцию-константу 1 и не содержит 0, то число функций в нем может быть равно либо 2, либо 3. 6.31. Докажите, что базис, не содержащий функций-констант, может состоять из одной, двух или трех функций. 6.32. Докажите, что пара функций {',/} образует базис в том и только в том случае, если/<= (L \ S) п (Ро u P,). 5 Игошин 129
§ 7. Применение булевых функций к релейно-контактным схемам Под релейно-контактной схемой понимают устройство из проводников и двухпозиционных контактов, через которое полюсы источника тока связаны с некоторым потребителем. Контакты могут быть замыкающими или размыкающими. Каждый контакт подключен к некоторому реле (переключателю). Когда реле срабатывает (находится под током), все подключенные к нему замыкающие контакты замкнуты, а размыкающие контакты разомкнуты; в противном случае — наоборот. Каждому реле ставится в соответствие своя булева переменная х, которая принимает значение 1, если реле срабатывает, и 0 — в противном случае. На чертежах все замыкающие контакты, подключенные к реле х, обозначаются символом х, а размыкающие — символом х'. Это означает, что при срабатывании реле х все его размыкающие контакты х' не проводят ток и им сопоставляется 0. При отключении реле создается противоположная ситуация. Всей схеме также ставится в соответствие булева переменная у, которая равна 1, если схема проводит ток, и 0 в противном случае. Переменная у, соответствующая схеме, очевидно, является булевой функцией от переменных х,, х2, ..., хя, соответствующих реле. Эта функция называется функцией проводимости схемы, а ее таблица — условиями работы схемы. Две релейно-контактные схемы называются равносильными, если одна из них проводит ток тогда и только тогда, когда другая схема проводит ток, т.е. если обе эти схемы обладают одинаковыми функциями проводимости. Из двух равносильных схем более простой считается та, которая содержит меньшее число контактов. В теории релейно-контактных схем различают две главные задачи — анализа и синтеза. Задача анализа состоит в изучении характера работы данной схемы и ее упрощении. Задача синтеза состоит в построении схемы с наперед заданными условиями работы. Анализ релейно-контактных схем. Решить задачи 7.1 — 7.7. 7.1. Найдите функции проводимости следующих релейно-контактных схем: б) е) г) 130
Решение, л) Ясно, что данная схема проводит электрический ток тогда и только тогда, когда оба независимых переключателя х и у замкнуты. Следовательно, функцией проводимости этой схемы будет такая булева функция от двух аргументов, которая принимает значение 1 в том и только в том случае, когда оба ее аргумента принимают значение 1. Как известно, такой функцией является конъюнкция х • у. Итак, п(х, у) = х у. м) Ясно, что данная схема проводит ток тогда и только тогда, когда по меньшей мере один из двух независимых переключателей х или у замкнут. Следовательно, функцией проводимости этой схемы будет такая булева функция от двух переменных, которая принимает значение 1 в том и только в том случае, когда хотя бы одна из переменных х или у принимает значение 1. Такой функцией является, как известно, дизъюнкция ху у. Итак, п(х, y) = xv у. 7.2. По данной релейно-контактной схеме найдите ее функцию проводимости и условия работы:
е) и) У- Z- У- У Z -у- Р е ш е н и е. л) Схема состоит из трех параллельных ветвей. Первая ветвь, в свою очередь, состоит из двух параллельных ветвей, в одной из которых последовательно соединены два контакта х и zr, а в другой есть лишь один контакт у. Поэтому первая из трех параллельных ветвей имеет следующую функцию проводимости: xz' v у. Вторая параллельная ветвь состоит из двух последовательно соединенных контактов хи^и поэтому имеет следующую функцию проводимости: ху. Наконец третья параллельная ветвь схемы состоит из двух параллельных ветвей, в одной из которых единственный контакт х\ а в другой последовательно соединены контакты у и z. Поэтому функция проводимости третьей ветви схемы есть х' v yz. Итак, поскольку данная схема состоит из трех параллельно соединенных ветвей, функции проводимости которых мы нашли, 132
то для нахождения функции проводимости всей схемы нужно рассмотреть дизъюнкцию найденных функций: я(х, у, z) = (xzf v у) v vxyv(x' yyz). 7.3. Постройте релейно-контактную схему с заданной функцией проводимости: а) (xyvzfvx')(x'\/y); б) (xr v y)(yzv х) vuz; в) x(yzvy'z')vx'(y'zvyz'); г) (x'vy)ty'x'(yvz); д) x(yz v /) v хуг' v z(У v х'); е) x'(yz'vx(tyvz(xvy'))); Р е ш е н и е. л) Схема представляет собой последовательное соединение контакта и схемы с функцией проводимостиy'zv xv у. Последняя схема, в свою очередь, состоит из трех параллельных ветвей. В первой ветви последовательно соединены контакты у' и Z, вторая содержит контакт х9 третья — лишь контакт у. Итак, искомая схема имеет вид ж) (xv yz)(xtv z(x' v у)); з) ху' v u(v v z)x' v x'uv; и) ((zvx)y'uvx'v)xz; к) х (у v z') vx'v(yv xz')x; л) x'(y'zvxvy). -X'- -У- 7.4. Постройте релейно-контактную схему с заданной функцией проводимости: а) (ху -> xry)(x v zy)\ ж) (х + yr) v (х + z)(у' + z')l б) (х -> у) -> х'Су v z); з) (ху + z) -> x'z; в) (х -» (.у -» ^)) -»(>>-> х'); и) (хг + у')(х <г> у); г) (x\y')->((xvy)\(xvz)); к) xy|(x'-»x(jv^)); д) (z I xy)((x v z) i у^); л) (х —> (^ -> z')) v (ху <-> z). е) (xl(xJryO)l(x'i (yvz')); Р е ш е н и е. л) Выразим сначала данную функцию через функции ', •, v, причем так, чтобы знак ' стоял бы лишь на переменных и не стоял на скобках: (х -> (у -> z')) v (ху <-> z) = (x' v (у -> ~> ^f)) v (ху -> z)(z -> ху) = х' v у v z' v (x' v/v ^)(^' v ху). Соответствующая схема имеет вид х' -У- 7.5. Проверьте равносильность следующих релейно-контактных схем: 133
а) — 1—7 Jt-J б) -z'- г) д) У- .у. -У х У- ■Z е) У- х- ж) -Z- -у—■ -у- -z'- -у- -У- 'X- 134
и) —х к) у z'— -I—х—I- ^-z у-г -У- —х—у—z'— л) -X- -У- -z1- -X -У- -Z Р е ш е н и е. л) Сначала составим функцию проводимости первой из двух данных схем, а затем преобразуем ее: п(х, у, z) = xv (xvy')(yv z') vу' v z = xv [(xvy')(yv z') vyf] vz = = xv (xvyf vy')(y v z' vy') v z = xv (xvy')(y vy' v z') v z = xv (xv vy')(l v z') v z = xv(xvy')l v z = xv(xvy') v z-xvy1 v z. Ясно, что полученная функция (булева функция, конечно, осталась той же самой, а изменилась лишь форма ее аналитической записи) является функцией проводимости второй из двух данных схем. 7.6, Упростите следующие релейно-контактные схемы: а) б) е) -х'- -х- -X- -Y- -у- •z- -zf- •z- г) ^-J Lr'—I L.
д) е) ж) з) и) -х- -У- -Z'- -z- -У- -X- -У- •Z- -X- -у- • и- -X- -Z1- -Г I X' -у- .у. к) -У- ■с У- 7.7. Упростите следующие релейно-контактные схемы (называемые мостиковыми): а) Z— Z'- V X' —1 X О) 1 л 1 у -Z— , V'.. у 136
г) е) X' L_ V' —X— 7' —z— г Г 1 Z 1 1 1 У 1 —Z' 1 X1 V } —У У — Z ' И) | у 1 X 1 X 1 К) | у 1 Н I Т г Т * ' Т I х 1 Z 1 У 1 I V 1 /' 1 X 1 л) Р е ш е н и е. л) Ток может протекать через контакты х и у, если они замкнуты, т.е. если конъюнкция ху равна 1. Далее ток может пройти через контакты х, v, w, если они замкнуты, т.е. если конъюнкция xvu равна 1. Аналогично, ток может пройти через контакты z, и или z9 v9 у, т.е. ток проходит через схему, если одна из конъюнкций zu или zvy равна 1. Итак, ток пройдет через схему в том и только в том случае, когда хотя бы одна из конъюнкций ху, xvu, zu или xvy равна 1, т.е. когда равна 1 дизъюнкция всех этих конъюнкций. Следовательно, функция проводимости данной схемы такова: я(х, у, z, и, v) = ху v xvu v zuv zvy, а сама схема может быть реализована обычной (не мостиковой) схемой, но с большим числом контактов, чем исходная схема: 137
Синтез релейно-контактных схем. Решить задачи 7.8 — 7.26. 7.8. Постройте наиболее простые релейно-контактные схемы по заданным условиям работы: а) 7i(0, 0, 0) = я(1, 0, 1) = 1; б) я(1, 1, 0) = тс(О, 0, 0) = я(1, 0, 0) = 1; в) тс(О, 0, 0) = я(0, 1, 0) = тс(1, 0, 0) = 7i(0, 1, 1) = 1; г) тг(О, 0, 1, 1) = я(1, 1, 1, 0) = я(0, 1, 1, 0) = 1; д) я(0, 0, 1, 1) = тг(О, 0, 0, 1) = я(1, 0, 0, 1) = 1; е) я(1, 1, 1, 1) = 7i(0, 1, 0, 1) = 1; ж)я(0, 1, 1) = я(0, 1, 0) = я(0, 0, 1) = 1; з) я(1, 1, 0) = 7i(l, 0, 0) = я(0, 1, 0) = 1; и) я(0, 0, 0, 1) = я(1, 0, 0, 1) = тг(О, 0, 1, 1) = я(1, 0, 1, 1) =1; к) я(1, 0, 0, 0) = я(1, 1, 0, 0) = я(1, 0, 0, 1) = я(1, 1, 0, 1) = я(0, 1, 0, 1)=1. Указание. Используя СДН-форму (или СКН-форму), найдите сначала аналитическое выражение для функции я проводимости исходной схемы. Максимально упростите полученное выражение. После этого начертите релейно-контактную схему, для которой полученное выражение представляет собой функцию проводимости. 7.9. Постройте наиболее простую релейно-контактную схему с четырьмя переключателями, которая должна проводить электрический ток тогда и только тогда, когда выполнено по меньшей мере одно из следующих трех условий: а) переключатель х замкнут и только один из переключателей у или z замкнут; б) t разомкнут и только два из остальных переключателей разомкнуты; в) только два переключателя, но не переключатели у и t, замкнуты. Решение. Используя условия, которым должна удовлетворять искомая схема, составим сначала таблицу значений функции проводимости я этой схемы (в последнем столбце таблицы указано то условие, по которому функция я принимает значение 1 на данном наборе значений аргументов). Зная теперь все наборы значений аргументов, на которых функция я обращается в 0, запишем выражение для нее, используя совершенную конъюнктивную нормальную форму (потому что наборов значений аргументов, на которых функция обращается в 0, значительно меньше, чем наборов, на которых функция обращается в 1, и, значит, СКН-форма будет более простой, нежели СДН-форма), и затем упростим его: я(х,у, Z, t) = (xvу vzv t)(xvyvzv t')(xv/v^'v t')(x' vy'vz'v v t)(x* vy' v z1v t') = x(xvyv zv tt')(xvy' v zz' v t')(x' vy' v z1' v //') = = (xvyv z)(x v y' v t')(x' v/v z') = [xv (yv z)(y' v t')](x* v/v z) = = (xvy'z vyV v zt')(xf vy' v z') = x'y'z vx'yt' vx'z? vxy' vy'zvy'zt' v v xzf v yz't' = x'yt1 v x'(y v y')zt' у xy' v y'z v x(y v y')z' v (x v x')yz't' = = x'yt' v x'yzt' v x'y'zt' v xy' v y'z v xyzf v xy'z' v xyz't' v x'yz't'. 138
X 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 У 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 z 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 t 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 n 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 Условие б в б в б в а а а а Далее используется закон поглощения. Внимательно разьпците в последнем выражении все слагаемые, из которых одно поглощается другим. Например, ху' v xy'z' = ху', x'yt' v x'yz't' = x'yf. Продолжаем упрощение функции: п(х, у, z, t) = x'yt' v ху' v y'z v xyz' = x'yt' v x(y' v yz') v y'z = x*yV v v xy' v xz' v y'z = (x v z)y' v x'yt' v xz'. Изображаем релейно-контактную схему, обладающую найденной функцией проводимости: -У- 7.10. Каждый из трех членов комитета, голосуя «за», нажимает на кнопку. Построить по возможности более простую схему, через которую проходил бы ток и включал электрическую лампочку тогда и только тогда, когда не менее двух членов комитета голосуют «за». 139
7.11. Комитет состоит из пяти человек. Решение выносится большинством голосов. Если председатель «против», то решение не принимается. Построить такую схему, чтобы, голосуя «за», каждый из пяти человек нажимал бы на кнопку, и в случае принятия решения зажигалась бы сигнальная лампочка. 7.12. Постройте релейно-контактную схему с четырьмя переключателями, которая проводит ток тогда и только тогда, когда замыкаются некоторые, но не все переключатели. 7.13. Постройте релейно-контактную схему с пятью переключателями, которая проводит ток тогда и только тогда, когда замкнуты все ее переключатели или когда не замкнут ни один из них. 7.14. Постройте схему с тремя переключателями, которая замыкается тогда и только тогда, когда замкнуты либо ровно один, либо ровно два переключателя. Используйте не более шести контактов. 7.15. Начертите схему с пятью переключателями, которая замыкается, если и только если замкнуты ровно четыре из этих переключателей. 7.16. Начертите схему с пятью переключателями, которая проводит ток в том и только в том случае, когда замыкаются ровно два или ровно три из этих переключателей. 7.17. Требуется составить схему с четырьмя переключателями х, у, z, t. Схема должна проводить ток тогда и только тогда, когда будут замкнуты переключатели х и у или z и t 7.18. Начертите схему, которая замыкается тогда и только тогда, когда либо переключатель х замкнут, либо переключатель у замкнут, либо переключатель z разомкнут. 7.19. Постройте релейно-контактную схему с пятью переключателями, которая проводит ток тогда и только тогда, когда меньшая часть переключателей замкнута, но если последний переключатель замкнут, то схема проводит ток, независимо от положения остальных переключателей. 7.20. Имеется одна лампочка в лестничном пролете двухэтажного дома. Постройте схему так, чтобы на каждом этаже своим выключателем можно было бы включать и выключать лампочку, независимо от положения другого выключателя. Решение. Функция проводимости к(х, у) такой схемы должна обладать тем свойством, что ее значение меняется всякий раз, когда меняется значение одного ее аргумента. Следовательно, например: ти(1, 1) = я(0, 0) = 1; тс(О, 1) = тс(1, 0) = 0. Используя СДН-форму, отсюда легко получаем: п(х, у) = xyv х'у', а соответствующая схема имеет вид I х' у- 140
7.21. Спроектируйте релейно-контактную схему, позволяющую включать и выключать электрическую лампочку с помощью трех независимых переключателей. Сколькими способами можно сконструировать такую схему? 7.22. Спроектируйте релейно-контактную схему, которая позволяла бы включать и выключать электрическую лампочку с помощью четырех независимых переключателей. 7.23. Постройте релейно-контактную схему с пятью переключателями, каждый из которых позволял бы включать и выключать в любой момент одну и ту же лампочку. 7.24. Опишите функцию проводимости релейно-контактной схемы с п переключателями, позволяющей включать и выключать лампочку любым из них (см. задачи 7.20—7.23). Сколько существует таких булевых функций от п аргументов? 7.25. Схема должна быть замкнута, если переключатель х разомкнут, но без того, чтобы у и z (но не оба вместе) были замкнуты: в последнем случае цепь разомкнута. Кроме того, цепь должна быть замкнута, когда х замкнут, но при этом у и z не должны быть одновременно замкнуты или одновременно разомкнуты; в последнем случае цепь также размыкается. Постройте удовлетворяющую этим условиям релейно-контактную схему с наименьшим возможным числом контактов. 7.26. Какой контакт, х, у, хг или у\ необходимо вставить в вакантное место релейно-контактной схемы, чтобы функция проводимости полученной схемы стала бы равна данной булевой функции: б)п(х, y)=xvy; — х -X'- -У—' х, у)=ху; L-x—У- д) л(х, у)=у; -х- -У- -х'- -У- -Y- ■ х- г)п(х, у)=ху; ё)п(х, y)=xvy; 141
Р е ш е н и е. л) Обозначим искомый контакт @ и составим функцию проводимости данной схемы: п(х, у) = (х v у) у' v x'@. Упростим ее, используя свойства булевых функций: к(х, у) = = ху' v yyr v х'@ = ху' v 0 v х'@ = ху' v х'@. По условию должно быть: ху' v х'@ = х' v у'. Сравнивая выражения в левой и правой частях последнего равенства, заключаем, что @ = х\
Глава III ФОРМАЛИЗОВАННОЕ ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ Эта глава состоит из одного параграфа. В нем осуществляется глубокое развитие аксиоматической теории высказываний в форме задач на базе системы аксиом, принятой в Учебнике (§ 15), а также рассматриваются задачи о независимости этой системы аксиом. § 8. Построение формализованного исчисления высказываний и исследование системы аксиом на независимость В качестве аксиом выбираются формулы следующих видов: (Al) (F->{G-+F))9 (А2) «F-+ (G-+H))-* ((F-+ G)->(F-> #)), (A3) ((п(7 -> -ijF) -+ (bG -> F) -> (?)), где F, G, Н— произвольные формулы. Таким образом, каждое из выражений (Al), (A2), (A3) задает лишь форму аксиомы. Они превращаются в аксиомы, если вместо F, G, Н подставить конкретные формулы (в частности, пропозициональные переменные). Следовательно, каждое из этих выражений задает бесконечное множество формул. Все они называются аксиомами. Поэтому каждое из выражений (Al), (A2), (A3) называют схемой аксиом. Далее определяется следующее правило получения новых формул из имеющихся. Если имеются формулы Fn (F -> G), то они дают формулу G. Это правило называется modus ponens или правилом отделения (сокращенно МР) и записывается так: F, (F-+G) Наконец определяется понятие доказательства или вывода. Доказательством или выводом формулы F из множества формул (гипотез) Г называется такая конечная последовательность Ви 52,..., Bs формул, каждая формула которой является либо аксиомой, либо формулой из Г (гипотезой), либо получена из двух предыдущих по правилу МР, а последняя формула Bs совпадает с F. Если имеется вывод формулы /^из множества гипотез Г, то 143
говорят, что F выводима из Г, и пишут Г ь-. Если же имеется вывод .Риз пустого множества гипотез, то говорят, что Fвыводима из аксиом или что Fдоказуема. В этом случае /'называют теоремой и пишут I- F. Если Г = {Fl9 F2, ..., Fm}, то вместо {Fu F2, ..., Fm) н- G будем писать Fu F2, ..., Fw h- G Поскольку в аксиомах не участвуют связки л, v, <->, то нам придется их определить. Эти связки вводятся с помощью следующих определений: (F л G) означает n(F->nG); (F v G) означает (-iF-> G); (F <-> G)означает \{F -> G)*(G-> F)). Как и в алгебре высказываний, договоримся внешние скобки у формулы не писать. Построение выводов из аксиом. Решить задачи 8.1 — 8.4. 8.1. Среди следующих формул укажите те, которые являются аксиомами: а) (F-+ (CF-> F) -» F)) -» (0F-* (F-+ F)) -» (F-> F)); б) /?-> ((-i^-^ G)-> F); в) (G^ H)-+(F-+(G-> H)); r) д) e) ж) (G з) (nG-> -л/) -> ((-iG-* -if)); к) л) m) (-i-iiF -> -\F) -> н) (jF -> ((Я -> F) -> {G -> (Я ~> F)))) -» ((F -> (Я Решение, а) Аксиома, получающаяся из схемы аксиом (А2), если там в качестве формулы F взять саму F, в качестве G взять F -» F, а в качестве Я взять jF. б) Аксиома (А1), если взять F= F, G= -tF-» GL в) Аксиома (A3), если взять F= F, G=-\G. 8.2. Укажите недостающую формулу й^так, чтобы третья из данных формул получалась из первой и второй формул по правилу вывода МР: а) F-+ (Я-> F), (/•-> (Н-± F)) ->(F-+(G-+(H-> F)))9 W\ б) F->(G-> Я), Wy (F-+ G)-*{F-+H)\ в) Ж г) Д) е) ж) F -> G, G, G-> W, (iF G-> F9 W, (F -> W, H -> (F iG)->( ► (/) - «?- > G) ) G -> Д Ж, (G -> -i/) -> (G -► F); 144
з) W, (G -> (nF->. F)) -> ((G -> -iF) -► (G -> F)), (G -► -iF) ^ (F-» -iG), (-iG-> (F-> nG)) -► G, Ж Решение, а) Если в схеме правила вывода МР принять за F формулу F -> (Я -» F), то вторая формула данной задачи может выступить в качестве формулы F -> G правила МР, где G есть формула F-» (G -»(Я-» F)). По правилу МР она является результатом применения этого правила к двум данным формулам, т. е. является искомой формулой W. б) Здесь для двух формул F и G требуется сконструировать такую формулу W, чтобы из Fn W выводилась G по правилу МР. Ясно, что в качестве Wдолжна быть взята формула F-» G. В данном случае (F-> (G -> Я)) -> ((/"-» G) -> CF-> Я)). в) Первая из двух данных формул имеет вид F-* G, где F=-\G-> -> -iG, G s (-iG -► G) -» G. Поэтому Ж= -iG -» iG. 8.3. Выясните, является ли данная последовательность формул выводом из аксиом. Если является, то обоснуйте каждый шаг построения этой последовательности. Если не является, то докажите это. а) б) в) г) д) е) ж) (1) (2) (3) (1) (2) (3) (1) (2) (3) (1) (2) (3) (1) (2) г (3)' (4) (? (6) (7) (1) (2) (3) (1) G -» (G- G -» bG -цр- (F -) F-> G -> (H - l(H"- D))), F-+ F-> -iG- ("iC (nG G -> Решение выводом. > (F-> G)) -> (G-> (G- (G->> (jP-^ G)). -> -i/) -> ((iG -> F) -> * ((-i(r-» /0 -> (?). ► (j) —> (r —> r). , f^ ^ (^G -> (F -> F)), F9 (F -» jF)« > /0 -^ {G -> (Я -^ /))> -►ТГ)--» ((?->(#->/?))). ((Я -> iO -> (G -» (Я -^ ^ ((# -> iO ~> (G -> (Л / ЕГ v 174 \ v / 17 v / /^ v ► (/z -> /*)) —> (r —> (Or -» (Я-^F), (<?4(l4/)). -» -iG, -» -iG) -> ((-iG -> G) - -> G) -► G, (-iF-> G). М^ G))), ► G), -^(F^^->F)^(G^ F))), ^ F)))) ^ ((F-^ (Я^ (Я-^F))), ♦ G), . а) Данная последовательность формул является Обоснуем это. Каждая из формул (1), (2) представляет 145
собой аксиому (А1). Формула (3) получена из (1) и (2) по правилу MR б) Данная последовательность формул не является выводом. Покажем это. Хотя формулы (1) и (2) являются аксиомами ((А2) и (А1) соответственно), формула (3) не является аксиомой и не может быть получена из (1) и (2) по правилу МР. Следовательно, раз имеется хотя бы один неверный шаг, то последовательность выводом не является. 8.4. Докажите, что следующие формулы являются теоремами формализованного исчисления высказываний, построив последовательности формул, являющиеся выводами данных формул из аксиом: а) F-+F; ж) F-> (G -» (#-> F)); б) (?-> CF-> F); з) F-> ((<?-> G)-> (#-> F)); в) (F-+ G) -+ (F-> F); и) G->(Fv G)\ r) g -> (G -> (F -> G))\ к) (-i(? -> G) -» G; д) (? -> (F -> ((? -> F)); л) -i<5 -^ ((-i/^ -> G) -» /0. е) (7^ (F->(H ->/)); Решение, а) Таким выводом является, например, следующая последовательность формул: (1) (F-> ((/•-> F) - (5) F-^ F В самом деле, формула (1) представляет собой аксиому (А2), в которой в качестве формул Fn G взята формула Дав качестве формулы G— формула F -> F. Формула (2) представляет собой аксиому (А1), в которой в качестве формулы G берется формула F-± F. Формула (3) получена из формул (1) и (2) по правилу МР. Формула (4) есть аксиома (А1). Наконец формула (5) получена из формул (3) и (4) по правилу МР. г) Обоснуйте каждый шаг вывода этой формулы, помещенного в задаче 8.3, а. Построение выводов из гипотез. Решить задачи 8.5 — 8.10. 8.5. Пусть последовательность формул Вь Въ ..., Bs является выводом из множества гипотез Г и Г * 0. Уточните, что можно сказать тогда о формулах Вх и В2. Тот же вопрос для случая Г = 0. 8.6. Докажите, что понятие выводимости обладает следующими свойствами: Fb F2, a) 6) в) н F\- F\, - F\ F2, ... если Fx, Gk и G,, ,, Fm F2, •• G2,.. •- ^/, / ., Fmb- ., Gk i- = 1 Gx H, , 2, ..., m; » F\, F2, ..., то F,, F2, ... Fm^- , Fm н G2, H. 8.7. Докажите, что: а) если h-jF—> G, то F\- G\ 146
б) если Fu ..., Fm_u \-Fm -> G, то Fu ..., Fm_u Fm t- G; в) если (y-Fx, -> (... -> {Fm.x -». (Fm -> <?))...), то f,,..., Я,.,, Fm \- G. 8.8. Выясните, является ли данная последовательность выводом из гипотез. Если да, то укажите, выводом из каких формул и какой формулы является. Если нет, то объясните почему. а) (1) G -► Я; (2) G; (3) Я; (4) H^{F^H); (5) F-+H. б) (1) /■-> G; (2) f->-!<?; (3) (F-> G) (4) (5) в) (1) G; (2) <?-►(/•-> G); (3) F^. G. r) (1) (/•-» (/--^ G)) ^ ((f^ /0 -> 0F-> G)); (2) (3) (4) (5) д) (1) F-> G; (2) -.f^ (7; (3) (F -> G) (4) -.G (5) (if -^ G) -► (-iG (6) -iG ^ -in/1; (7) (-iG -> -i-iiO -» ((iG -^ -iF) -» G); (8) (iG -» -./0 -> G; (9) G. е) (1) F^(G^H); (2) (F-> (G-> Я)) ^. ((f^ G) -► (/-^ (3) (F^G)^(F^H); (4) (?_,(jp->G); (5) G; (6) /•-> G; (7) (2) (F^ (G ->/))-> ((/•-*- G) -^ (/"-^ F)); (3) (f^G)^(/-^i7); (4) f^ G; (5) F->tf. з) (1) -.G -> iF; (2) (iG -^ -i/) -> ((-iG -^ F) ^. G); 147
(3) (-i<7-> F) -> G; (4) F-+bG-+F); (5) F-+ a Решение, а) Гипотезами здесь выступают формулы (1), (2). Формула (3) получена из (2), (1) по правилу МР. Итак, здесь приведен вывод формулы F -» Я из гипотез G, G -> Я. б) Формулы (1), (2) не являются аксиомами и потому должны быть приняты за гипотезы. Формула (3) похожа на аксиому (A3), но все же не является ею. Формула (4) получена из (1), (3) по МР. Формула (5) получена из (2), (4) по МР. Итак, данная последовательность является выводом формулы (5) из формул (1), (2), (3), но не является выводом формулы (5) из формул (1), (2). 8.9. Докажите, что имеют место следующие выводимости, построив соответствующие выводы из гипотез: G\ в) G, H\- F-± G; г) G\- Я-> CF-> G); д) G, (7-> Ян- /*-> Я; е) F-> G, G-± Я, Fh Я; ж)^-> G, F-+(G-+ H), Ft- H; з) F-> G, F-> (G-± H)\- F-> H; и) F-» (?,(?-> Як F-> Я; к) F9 G, F-> (G-> Я) h- Я; л) F -+ (G --> H), G \- f-> Я; m)7^-> (G-^ Я) Н- (?^ (F-> Я); н) F-+(F-+ G) \- F-+ G\ o) iG\- (Fv G) -> i7; n) -i(?-> -iJF, Fv- G\ p) F,-iF\-G (-iF, F н (?); c) -iG -> i7, -iG ^ -if н G; t) jF h- (G -> -i/) -^ (G -> /); y)Fh H-> (-iG-+ F); ф) бгн- Fv G; x) i7 л (? h- (7; ц) F <-> C? H G -> F; J ш)-1,рь- (-■(?-> F) -> G; m)-iF, -iG-> Fi- G. P e ш е н и е. б) Вывод этой формулы помещен в условие задачи 8.8, в. в) Ясно, что если формула выводится из какого-то множества гипотез (см. задачу 8.9, б) настоящей серии, то она выводится и из большего (объемлющего его) множества гипотез (см. теорему 15.3, а в Учебнике). и) Приведем соответствующий вывод с краткими пояснениями: 148
(1) f-> G (гипотеза); (2) G -» H (гипотеза); (3) (G -» H) -» (f -> (G -» Я)) (Al); (4) f -»((?-» Я) (МР: (2), (3)); (5) (f-» (<7 -» Я)) -» ((f-» G) -» (f-» Я)) (A2); (6) (/>-> (7) -> (f-» Я) (МР: (4), (5)); (7) f-» Я(МР: (1), (6)). Обратите внимание на то, что в Учебнике, в лемме 15.7, а обоснование у этой выводимости опирается на теорему о дедукции. л) Вывод этой формулы помещен в условие задачи 8.8, е. Обратите внимание на то, что в Учебнике в лемме 15.7, б приведено обоснование этой выводимости с помощью теоремы о дедукции. т) Обоснуйте каждый шаг следующего вывода: (1) F; (2) F->bF-> f); (3) -if-»f; (4) (-if-> F) -» (G-> (-if-» F)); (5) G-»(-iF-»f); (6) (G -» (iF -► F}) -► ((G -» -iF) -» (G -» f)); (7) (G ^. -iF) -» (G -» /)• x) Вспомним, что Fa Gесть -i(F-» -iG). Обоснуйте каждый шаг следующего вывода: (1) -!(/■-»-iG); (2) (3) (4) (nf-► n(F-> -.(7)) -> ((-if-» (f -» -i<?)) -» f); (5) (if ^.(f->-i(?))-4.f; (6) nf-»(f-»n(?); (7) f. 8.10. Докажите, что имеют место следующие выводимости и теоремы, обосновав возможность построения соответствующих выводов из гипотез: а) h-i-jF-»F; б) -i-if н-F; в) н f-»Tif; г) F ь- -i-if; д) н -if _» ((-i(7-» f) -» (7); е) fvfi-f; ж)^ ^ (7) ^. ((f-> ((7-> Я)) ^. (f -> Я)). Р е ш е н и е. а) Рассмотрим следующую последовательность формул: (1) (if-> -i-if) -» ((if-> -if) -> f); (2) nf -»-if; (3) (-if->-!-if) ^. f; 149
(4) -riF-+(iF-^>-i-iF); (5) -nf-> F Формула (1) есть аксиома (A3). Формула (2) есть доказанная ранее теорема (задача 8.4, а). Ее вывод здесь не приведен, но мы можем его вставить в данную последовательность. Формула (3) может быть выведена из формул (1) и (2) в силу утверждения задачи 8.9, л, и этот вывод мы также могли бы вписать сюда. Формула (4) есть аксиома (А1). Наконец формула (5) может быть выведена из формул (4) и (3) на основании задачи 8.9, и, и этот вывод мы могли бы также вписать сюда. Итак, хотя мы и не выписали в полном объеме доказательство данной теоремы, у нас не осталось никаких принципиальных трудностей к тому, чтобы это сделать. Теорема о дедукции и ее применение. Решить задачи 8.11 — 8.18. 8.11. Проделайте доказательство теоремы о дедукции в следующей частной формулировке: а) если F-+(G^>H), G, Fh Я, то F-+ (G-> Я), Gh F-*H\ б) если F-* G, G -> Я, F н Я, то F-> G, G -> Я к F-> Я; в) если F-± (F-+ G), F\- G, то F-> CF-» G) н- F-» G; г) если G ь- Я-> (F-> G), то н- G -> (Я-> (F-+ G)); д) если nG н (f v G) -> F, то н -iG -> ((Fv С?) -> F); е) если jFh-Я^ (nG-> /), то н- jF-> (Я-> (nG-> F))\ ж) если ~i(? -> -i/; Z1 н G, то iG -> -i/1 н F-^ (7; з) если F н- ((? -» -iiO -» (С? --> 70, то н- F ~> (((? -> п/7) -> и) если f, (?, f-> (G-^ H)h-H,ToF,G\-(F-+(G->H))-+H; к) если F -> (G -> Н), G н F ~> Я, то F-> (G->fl)i-G4 (^->Я); л) если Z7 -^ G, F -» ((? -^ Я), jF h Я, то jF -> G, F -> ((? -> Я) н F-^Я; м) если пС? -> Д пб ~> -iF н- G, то nG -> F к (п(? -> -л/7) -> н) если f, -л/1 н G, то F н tF-> G; о) если -л/; Ft- G,to-iF\- F-> G. Решение, а) В задаче 8.9, к требовалось построить вывод формулы Я из гипотез F-+ (G-» Я), G, F. Воспроизведем этот вывод: 2?,: G (гипотеза); 2?2: i7 (гипотеза); 53: F -» (G -> Я) (гипотеза); В4: G-+ Н (МР: Я2, 53); Обращаясь к доказательству теоремы о дедукции, мы можем построить вывод F-> Низ F-> (G -> Н), G. Для этого построим сначала последовательность 150
F->H. (**) Эта последовательность формул заканчивается нужной нам формулой F -» Я, но выводом этой формулы она не является. Дополним последовательность (**) новыми формулами так, чтобы она стала выводом формулы F-^ Низ гипотез F-± (<7-> Я) и G. Для этого будем рассматривать последовательно каждую формулу F-> Д из (**) и добавлять перед ней необходимые формулы в зависимости от того, какова формула В, в выводе (*). Рассмотрим первую формулу последовательности (**): F-+ Вх. Она имеет вид F-> G. Формула Вь являющаяся формулой G, представляет собой гипотезу в выводе (*). В этом случае перед формулой F -> Вх добавляем в последовательность (**) такие формулы: C\i G (гипотеза); C2:G-+(F-+ G) (A1); C3:F-> <7(MP: С,, С2). Рассмотрим вторую формулу последовательности (**): F -» 2?2. Она имеет вид F-* F. Формула Въ являющаяся формулой F9 представляет собой гипотезу в выводе (*). Но /*не является гипотезой в выводе, который мы строим. В этом случае перед формулой F-* В2 добавляем следующие формулы, составляющие вывод формулы аксиом: С5: (F-> ((F-> F) -> F)) -> ((F-> (F-> F)) -> (F ^ F)) (A2); Q: (F-+ (F-+ F)) -> (F-> F) (MP: Q, С5); : C6, C7). Рассмотрим третью формулу последовательности (**): jF-> B3. Она имеет вид F-> (F-^> (G^> H)). Формула В2, являющаяся формулой F -» (G -> Я), представляет собой гипотезу в выводе (*). Поэтому перед формулой F-+ Въ добавляем следующие формулы: С9: F^> (G-+ Н) (гипотеза); С10: (F~> (G-> H)) -> CF-> (F-> ((?-> Я))) (Al); С„: F-+{F-+(G->H)) (MP: C9, C10). Рассмотрим четвертую формулу последовательности (**): F-^> B4. Она имеет вид F-*(G-*H). Формула В4, являющаяся формулой G -> Я, получена по правилу МР из В2 и Въ последовательности (*). В этом случае перед формулой F-> B4 добавим следующие формулы: С12: (F-+ (f-* (G-+H))) -* ((/•-► Л -* (F-+ (G->H))) (A2); С13: (/■-> /0 -> (F-> ((?-> Я)) (МР: С„, С12); С14: /*->(<?-> Я) (MP: Q, С13). Рассмотрим пятую формулу последовательности (**): F -» Bs. Она имеет вид F -> Я. Формула 2?5, являющаяся формулой Я, получена по правилу МР из формул 2?4 и Вх последовательнос- 151
ти (*). В этом случае перед формулой F-* В5 добавим следующие формулы: С15: (F-+(G-*H))-> «*•-> (?) -> (F-+ Я)) (А2); С16: (F->G)->(F->H) (МР: С14, С12); С17:/-->#(МР: С3, С16). Получили нужную нам формулу F-+H. Таким образом, вписав недостающие формулы в последовательность (**), мы получили вывод формулы jF-> Яиз гипотез jF-> ((?-> Я), (?: Сь С2,..., С17. Проанализируйте полученный вывод, сравнив его с выводом в задаче 8.9, л. 8.12. Докажите, что в исчислении высказываний, в котором правилом вывода является правило МР, теорема о дедукции справедлива тогда и только тогда, когда следующие две формулы являются теоремами (в частности, аксиомами) в этом исчислении: (Al) F^(G^ F); (А2) (F-> ((?-> Я)) -> ({F-* G) -> (F -> Я)). 8.13. Докажите, что во всяком исчислении высказываний, в котором правилом вывода является правило МР и в котором справедлива теорема о дедукции, следующие формулы будут теоремами (выводимы из аксиом), каковы бы ни были аксиомы этого исчисления: Я)); а) б) в) г) д) е) ж; з) и) F-* F -» G -» (F н (JF-ч «?- (/"-> ► (7) н ► G) -^ ■* G) - у (G-> > Я) - G); у ((G ■ ► ((#- "с?" .Я)) G); -> (F -> (F - (H - (F- ЮУ, к) (jF^ G) _> ((jf^ (G_+ н))„+ (F-> щу Решение, а) Правило МР состоит в том, что F, F -» G н- |- (?. Применив к этому утверждению дважды теорему о дедукции, получим сначала F н (jp ~> (?)->(?, а затем н/1 -» ((F ->(?)-> ) к) Выводимость F-> (?, /7~>((?->Я), Fk Я осуществляется без использования аксиом (см. задачу 8.9, ж). Применив к ней дважды теорему о дедукции, получим требуемое утверждение. 8.14. Используя теорему о дедукции, докажите, что следующие формулы являются теоремами ФИВ (при этом необходимые выводы отыщите в предыдущих задачах): а) -iF->(F-+ (?); г) F^> (Fv (?); б) (-,(? -> iF) -> (F -+ (?); д) (Fv F) -> F\ в) F-* ((i(? ~> -liO -> (?); e) (Fa (?) -> (?. Решение, а) В задаче 8.9, p доказана выводимость -\F, F\- (?. Применив к ней дважды теорему о дедукции, сначала получим 152
выводимость -\F н- F-> G, а затем и требуемую теорему i—\F-> -*(F-+ G). 8.15. Используя теорему о дедукции, докажите, что следующие формулы являются теоремами ФИВ (при этом необходимые выводы постройте, опираясь, если это будет необходимо, на ранее доказанные теоремы ФИВ и выводимости): а) (/■-> G) -> (-i(7-> -i/O; г) (f-> (?) -> «f-> -iG) -> -if); б) /*_> (п(?->-!(/•-> G)); д) -iF-> ((-iG-> /) -> G). в) (F->G) -» ((-if-* G) -> G); Решение, а) Покажем сначала, что F построив для этого соответствующий вывод: (1) F-+ G; (2) -inF~>^; (3) -nF-> G; (4) (5) (6) (t-lF-> -i-iG) (7) -,£ ^ п/: Поясним: (1) — гипотеза; (2) есть теорема на основании задачи 8.10, а. Формула (3) может быть выведена из (2), (1) на основании задачи 8.9, и (свойство транзитивности); (4) есть теорема в силу задачи 8.10, в. Формула (5) может быть выведена из (3), (4) на основании задачи 8.9, и; (6) есть теорема согласно задаче 8.14, б; наконец (7) получена из (5), (6) по МР. Итак, формула nG -> -» недействительно может быть выведена из F-> G. Применив к этой выводимости теорему о дедукции, получим требуемую теорему. 8.16. Используя теорему о дедукции, докажите, что справедливы следующие выводимости (при этом необходимые выводы отыщите в предыдущих задачах): a)fh(F->G)->(7; г) (?ьЬ G; б) F-> G, G-> Як F->#; д) /*-> (G-> Н) ь- G-» (F-> H); в) Ft-Fv G; e) -iG-> nF\- F-» G. Решение, а) Сначала нужно увидеть, что F, F -» G н G. Но это есть правило вывода МР. Применив к этой выводимости теорему о дедукции, получаем требуемую выводимость: Fh (F-+ -> G) -> G 8.17. Используя теорему о дедукции, докажите, что справедливы следующие выводимости (при этом обоснование возможности соответствующего вывода постройте, опираясь, если это будет необходимо, на ранее доказанные теоремы и выводимости ФИВ): f; д) F, (?ь Fл G; е) Т^ч-» G н /*-> G; G; ж) F-+ G, G-> F ь- F <r> G; 3) Fv G, F-> #, G-+H>- H. 153 а) б) в) г) Fa G\ F-> G F^> G, F^ G,
Р е ш е н и е. а) Согласно определению логической связки л требуется доказать следующую выводимость: -\(F-+ -iG) н~ F. Строим вывод: (1) (2) (3) (4) (~lF-> -i(F-> -iG)) -> ((-iF-> (/*-> -iG)) -> F)\ (5) (6) (7) F Для пояснения отметим лишь, что формула (6) является теоремой согласно задаче 8.14, а, а следовательно, последовательность (1) —(7) превратится в вывод формулы /"из гипотезы i(F-> -iG), как только она будет пополнена доказательством формулы (6). 8.18. Докажите, что: а) Д G ь- Н тогда и только тогда, когда t-(F л G) -» Я; б) F\9..., Fm н- Ятогда и только тогда, когда H(jFi л ... л Fm) -> Я. Производные правила вывода и их применение. Решить задачи 8.19-8.22. 8.19. Докажите, что справедливы следующие производные правила вывода, называемые правилами введения логических связок (Г — некоторое множество формул, возможно пустое): а) введение импликации (->-вв): б) введение конъюнкции (л-вв): Г ь- F, Г ь- G. T\-FAG ' в) введение дизъюнкции (v-bb): r\-FvG9 Гь-FvG' г) введение отрицания (приведение к абсурду) (-i-bb): Решение. В предыдущих задачах найдите оправдание для перечисленных правил введения логических связок. Например, для обоснования правила в) введения дизъюнкции отметим, что в задаче 8.16, в доказано, что F\- Fv G. Поскольку еще по условию 154
Г н F9 то по свойству выводимости (задача 8.6, в) из этих двух утверждений заключаем, что Г н /V (7. Аналогично, но с использованием задачи 8.9, ф, где доказано, что G к- Fv G, проверяется второе правило введения дизъюнкции. 8.20. Докажите, что справедливы следующие производные правила вывода, называемые правилами удаления логических связок (Г — некоторое множество формул, возможно пустое): а) удаление импликации (->-уд): Г \- F\ T\-F -> G. T\-G б) удаление конъюнкции (л-уд): Гн-FAg, Th- F AGm ГУ-F ' Гн-G ' в) удаление конъюнкции (л-уд): г) удаление дизъюнкции (Генцен): д) удаление дизъюнкции (Клини): е) сильное удаление отрицания (сильное и-уд): Г н- T\-F ' ж) слабое удаление отрицания (слабое п-уд): Гь-С? Решение, г) По теореме о дедукции из условия вытекает, что Г н F-* Ни Г н G-> Я. Далее, по задаче 8.17, з, Fv <?, ,F-> Я, (?->ЯнЯ. Поскольку, кроме того, по условию еще Г i- Fv G, то по свойству выводимости из задачи 8.6, в заключаем, что ГнЯ. 155
8.21. Используя производные правила вывода из задач 8.19, 8.20, докажите, что справедливы следующие выводимости: а)пС,пЯнп(СлЯ); з) ~\G, Я \- G -> Я; б) -i(7, Я к -i(<7 л Я); и) G, -iH i- -i((7 -► Я); в) (7, -.Я Нп((?лЯ); к)С,Ян(?ч Я; г) п(7, -)Я н -t((? v Я); л) -i(7, -iH t- G <->■ Я; д) -i<7, Я н (7 v Я; м)-|<7, Ян -i((7 <-> Я); е) (7, -1Я н (7 v Я; н) (7, иЯ н -i((7 -и- Я); ж)-1(?,-1ЯнС->Я; о) (7, Я н G <-> Я. Решение, а) Обоснуем эту выводимость: (1) -.(7, -1Я, (7 л Я н -■<? (задача 6, б); (2) -i(7, -!Я, (7 л Я и- G (л-уд (задача 20, 5)); (3) -i(7, -|Я, н -i(<7 л Я) (-1-вв (задача 19, г): (1), (2)). г) Обоснуем эту выводимость: (1) п(7, пЯ н -1(7 л -!Я (л-вв); (2) -i(7 л -1Я, (7 н- G (задача 6, 5); (3) -i(7 л пЯ, (7 н -i(7 (л-уд); (4) -i(7 л -1Я, G н- -i((7 v Я) (-.-уд: (2), (3)); (5) -i(7 л -1Я, Я ь- Я (задача 6, б); (6) -.(7 л пЯ, Я н -пЯ (л-уд); (7) -.(7 A-iH,Hi- -i((7 v Я) (-i-уд: (5), (6)); (8) -i(7 л чЯ, G v Я н- -.((7 v Я) (v-уд по Клини: (4), (7)); (9) -i(7 л пЯ, (7 v Я н (7 v Я (задача 6, б); (10) -i(7 л -\Н \- -!((? v Я) (-1-вв: (8), (9)); (11) -1(7-1Я н -i((7 v Я) (задача 6, в: (1), (10)). и) Приводим обоснование этой выводимости: (1) G, -\H, G -> Я н пЯ (задача 6, 5); (2) G, -1Я, (7 -* Я н- Я (->-уд (задача 20, а)); (3) (7, -1Я у- -i((7 ^ Я) (-1-вв (задача 19, г): (1), (2)). м) Обоснуйте каждый шаг следующего рассуждения: (1) -i(7, Я, G<* Я I- Я -► (7; (2) Я, Я -» (7 н- (7; (3) -i(7, Я, (7 <-► Ян- (7; (4) -i(7, Я, (7<+ Яь- -.(7; (5) -i(7, Яь- -i((7<-> Я). 8.22. Используя производные правила вывода из задач 8.19,8.20, докажите следующие выводимости и теоремы: а) F л G н- (7 л F; б) h-Fv-i/1; в) н(?л С) о (G л .F); г) (-(/'v (?) <-» ((7 v /0; д) f-(F л F) -и- F; е) t-(/"v i0 о F; ж)н(/л(СлЯ))в ((F л G) л Я); з) h(Fv ((7v H))<+((Fv (?) v Я); и) t-(Fv (Fa (?)) о F; 156
к) h(Fa(Fv <?))<-> F; л) \--\(Fv G) o(-ifA -iG); m) h-i(Fa G) <-> (n/v -iG); н) >-(Fa(Gv H)) <*((/" л G) v (FaH)); о) н(Ь(СлЯ))о((/у G)a(FvH)); n) t- (F ->• G) <r> (~iG -» -iF); p) н -1-1F <-> /: Решение, б) Читателю предлагается тщательно разобраться в приводимом обосновании доказательства. (1) -i(l=V-iiO, Fi- .F (задача 8.6, б); (2) -iCFv-i/), F>-Fv-iF(v-bb:(1)); (3) -t(Fv-\F), Ft- -i^v -i/) (задача 8.6, 6); (4) -i(/-v-if) »- -if(-i-BB: (2), (3)); (5) i(Fv -*F) i- Fv -i/"(v-bb: (4)); (6) n(Fv-if) i- -i^v -i/) (задача 8.6, a); (7) i--i-i(Fv-i/)(-i-bb:(5),(6)); (8) H- Fv -up(сильное -i-уд: (7)). д) Приведем обоснование этой выводимости: (1) F (3) F, F-+ -I/-I- /-(задача 8.6, 5); (4) F, F-> ~\F *--\F (Ш); (5) Fh- 4F-». -iF) (-1-вв: (3), (4)); (6) \-F-> (F a F) (->-вв: (5)); (7) н(/"л /) <^ ^(л-вв: (2), (6)). ж) Обоснуйте справедливость следующего рассуждения: (1) Fa(GaH)\-F; (2) Fa (G а Н) н G а Н; (3) СлЯ(-С; (4) G а Н н Я; (5) Fa(GaH) к G; (6) Fa(GaH)\-H; (7) Fa(GaH)\-Fa G; (8) /л((?лЯ)н (Fa G) л Я; (9) К*"л (СлЯ))-> ((Fa (7) л Я); (10) (Fa G) aH\- FaG; (11) (Fa (7) л Ян- Я; (12) Fa (7hF; (13) Fa Gh G; (14) (Fa G) a Hi- F; (15) (Fa G) aH\- G; (16) (Fa G) aH\- GaH; (17) (Fa G) а Ну- Fa (GaH); (18) н ((Fa G) л Я) -► (Fa (Сл Я)); (19) КС/7 л (?) л Я) <->■ (F л ((7 л Я)). . Независимость системы аксиом. Решить задачи 8.23—8.27. 157
8.23. Рассмотрим трехэлементное множество М= {0, 1, 2}. Введем в нем две операции. Первая операция унарная, сопоставляющая каждому элементу А из М элемент из М, обозначаемый -\А. Вторая операция бинарная, сопоставляющая любым двум элементам А, В из М элемент из М, обозначаемый А-> В. Сопоставление осуществляется в соответствии со следующими таблицами: А 0 1 2 -\А 1 1 0 А 0 0 0 1 1 1 2 2 2 В 0 1 2 0 1 2 0 1 2 А->В 0 2 2 2 2 0 0 0 0 Таким образом, если всем переменным, входящим в формулу F исчисления высказываний, придавать некоторые значения из М, то согласно введенным правилам (если в формулу входят связки л, v, <-», то нужно предварительно вспомнить их определения) формула примет некоторое значение из множества М. Формула, которая всегда принимает значение 0, называется выделенной. Докажите, что: а) всякая формула, получающаяся по схеме аксиом (А2), является выделенной; б) всякая формула, получающаяся по схеме аксиом (A3), является выделенной; в) правило МР сохраняет свойство выделенности, т.е. если формулы Fn F -» G выделенные, то и формула G выделенная. 8.24. Аксиома называется независимой от остальных аксиом аксиоматической теории, если она не может быть выведена из них в этой аксиоматической теории. Докажите, что аксиома (А1) не зависит от аксиом (А2), (A3) формализованного исчисления высказываний. Указание. В силу задачи 8.23 все формулы, выводимые из аксиом (А2) и (A3), являются выделенными. Поэтому для доказательства того, что аксиома (А1) из них невыводима, достаточно проверить, что она (точнее, одна из конкретных формул, получающихся из схемы (А1)) не является выделенной. 158
Замечание. О рассуждениях, проведенных в задачах 8.23, 8.24, говорят, что построена модель, в которой выполняются аксиомы (А2) и (A3), но не выполняется аксиома (А1). 8.25* Докажите, что аксиома (А2) не зависит от аксиом (А1) и (A3) формализованного исчисления высказываний. Указание. Рассмотрите, например, модель, в которой операции -лА и А -» В задаются согласно следующим таблицам: А 0 1 2 -lA 1 0 1 А 0 0 0 1 1 1 2 2 2 В 0 1 2 0 1 2 0 1 2 А-+В 0 2 1 0 2 0 0 0 0 8.26. Докажите, что каждая из моделей а) — м) на трехэлементном множестве {0, 1,2}, где операции -i и -> определены с помощью таблиц, доказывает независимость аксиомы (A3) от аксиом (А1) и (А2): А 0 1 2 а) 2 0 1 А 0 0 0 1 1 В 0 1 2 0 1 б) 1 1 0 в) 2 0 1 ] а) 0 1 2 0 0 б) 0 2 1 0 0 в) 0 1 2 0 0 Унарная г) 2 0 1 д) 1 0 1 операция ~\А е) 2 1 0 ж) 1 1 0 Бинарная операция А г) 0 1 1 0 0 д) 0 2 1 0 0 е) 0 1 2 0 0 ж) 0 1 0 0 0 2 2 0 з) 0 1 0 0 0 и) 0 1 1 и) 0 0 2 0 0 к) 0 1 1 к) 0 1 0 0 0 л) 2 0 1 л) 0 2 1 0 0 м) 1 1 0 м) 0 1 0 0 0 159
Окончание таблицы А 1 2 2 2 В 2 0 1 2 а) 2 0 0 0 б) 0 0 0 0 в) 2 0 0 0 г) 0 0 0 0 д) 0 0 0 0 е) 0 0 0 0 ж) 0 0 1 0 з) 0 0 1 0 и) 2 0 1 0 к) 0 0 1 0 л) 0 0 0 0 м) 0 0 1 0 Решение, л) Проверим, что в данной модели формулы (А1) и (А2) будут О-выделенными, т. е. они принимают только значения 0. Для этого составьте их таблицы истинности. Проверим, что в данной модели правило МР вывода формул сохраняет свойство 0-выделенности формул, т. е. если формулы F и F-± G 0-выделенные, то 0-выделенной будет и формула G. Это видно из определения операции -> в данной модели: F 0 G 0 0 В самом деле, если бы G принимала на некотором наборе (я, Ь, с) значение d ф 0, т.е. G(a, b, с) = d9 d e {1, 2}, то на этом наборе было бы F(a, b, с) ф 0 или F(a, b, с) -» G(a, b, с) ф 0 (что следует из определения операции -»). Это противоречило бы 0-вы- деленности формул Fn F-> G. Итак, из 0-выделенных формул с помощью правила вывода МР могут получаться только 0-выделенные формулы. Теперь для доказательства того, что формула (A3) не может быть выведена с помощью правила МР из 0-выделенных формул (А1) и (А2), достаточно проверить, что формула (A3) не является 0-выделенной. В самом деле, вычислим, например, значение этой формулы при F= I, G = 2 : (~i2 -> -il) -> ((-i2 -> 1) -> 2) = (1 -> 0) -> ((1 -> -► 1) -> 2) = 0 -> (0 -> 2) = 0 -> 1 = 2. м) Доказательство независимости аксиомы (A3) с помощью данной модели представляет собой некоторую модификацию доказательства, проделанного с помощью предыдущей модели. Назовем формулу (0, 2)-выделенной, если она принимает только два значения 0 и 2. Проверьте, что в данной модели формулы (А1) и (А2) будут (0, 2)-выделенными. Для этого составьте их таблицы истинности (нас не должно смущать то, что значение 2 формула (А1) ни разу не принимает). Проверим, что в данной модели правило МР вывода формул сохраняет свойство (0, 2)-выделенности формул, т.е. если формулы F и F -» G (0, 2)-выделенные, то (0, 2)-выделенной будет и 160
формула G. Это видно из определения операции -> в данной модели (имеет место как бы замкнутость подмножества {0, 2} в множестве {0, 1, 2} относительно правила МР в указанном смысле): F 0 0 2 2 G 0 2 0 2 F-+G 0 0 0 0 Итак, из (0, 2)-выделенных формул с помощью правила вывода МР могут выводиться только (0, 2)-выделенные формулы. Теперь для доказательства того, что (A3) не может быть выведена с помощью правила МР из (0, 2)-выделенных формул (А1) и (А2), достаточно проверить, что формула (A3) не является (0, 2)-выде- ленной. В самом деле, вычислим, например, значение этой формулы при F - О, G = 1: (-il -> -Ю) -> ((-il -> 0) -> 1) = (1 -+ 1) -> ((1 -> 0) -> 1) ;= 0-» -»(0-> 1) = 0-> 1 = 1. Замечание. Если каждая аксиома системы не зависит от остальных аксиом этой системы, то такая система аксиом называется независимой. Таким образом, в задачах 8.24, 8.25, 8.26 устанавливается независимость системы аксиом (Al), (A2), (A3) формализованного исчисления высказываний. 8.27. Докажите, что если схему аксиом (A3) в системе аксиом (Al), (A2), (A3) формализованного исчисления высказываний заменить схемой аксиом (A3') : (iG -> -iF) -> (jF-* G)9 to класс теорем от этого не изменится. Указание. Для этого достаточно показать, что формула (A3') выводима из аксиом (Al), (A2), (A3) (см. задачу 8.14, б), и обратно показать, что формула (A3) выводима из аксиом (Al), (A2), (A3'). 6 Игошин
Глава IV ЛОГИКА ПРЕДИКАТОВ Эта глава объединяет три параграфа (§ 9—11). В § 9 рассматриваются основные понятия, связанные с предикатами, — множество истинности, классификация предикатов, их равносильность и следование, операции над предикатами, формулы и тавтологии логики предикатов, равносильность и следование формул логики предикатов, а § 10 посвящен применению логики предикатов в математической практике и практике рассуждений. В § 11 строится формализованное исчисление предикатов. § 9. Основные понятия логики предикатов Понятие предиката и операции над предикатами. п-Местным предикатом (или функцией-высказыванием от п переменных), определенным на множествах (областях) Ми Мъ ..., М„, называют выражение, содержащее п (предметных) переменных хи х2, ..., х,„ превращающееся в высказывание при подстановке вместо этих переменных конкретных элементов (предметов) из множеств Мь Мъ ..., Мп соответственно. Для я-местного предиката будем использовать обозначение Р (хь хъ ..., хп). Высказывание будем считать 0-местным предикатом. На предикаты естественным образом переносятся все операции (логические связки), которые мы проделывали над высказываниями. Например, дизъюнкцией я-местных предикатов Р(хь хъ ..., хп) и Q(xu хъ ..., хп), заданных над множествами Ми Мъ ..., Мт называют новый я-местный предикат над этими множествами, обозначаемый Р(х[9 хъ ..., хп) v Q(xb хъ ..., х„)9 который обращается в ложное высказывание на тех и только тех значениях переменных из множеств Ми Мъ ..., МП9 на которых в ложное высказывание обращаются оба данных предиката. Кроме того, для предикатов определяются еще две операции: 1) квантор общности (Vx)(P(x)) (читается: «Для всех х имеет место Р(х)»); 2) квантор существования (Зх)(Р(х)) (читается: «Существует х, для которого имеет место Р(х)»). Эти операции применяются к одному предикату. Они ставят в соответствие одноместному предикату Р(х) высказывания (Vx)(P(x)) и (Зх)(Р(х)) соответственно, логические значения которых определяются следующими формулами: 162
1, если P(x) — тождественно истинный предикат, О — в противном случае; (О, если Р(х) — тождественно ложный предикат, — в противном случае. Квантор можно применять также к я-местному предикату; в результате получается (п - 1)-местный предикат. Переменную, к которой относится квантор, называют связанной, остальные переменные называют свободными. Выражение (Vx)(P(x) -> Q(x)) обозначают (VP(x))(Q(x)). Символ (\/Р(х)) называют ограниченным квантором общности. Выражение (Зх)(Р(х) л Q{x)) обозначают (3P(x))(Q(x)). Символ (ЗР(х)) называют ограниченным квантором существования. 9.1. Какие из следующих выражений являются предикатами: а) «х делится на 5» (х е N); б) «Река х впадает в озеро Байкал» (х пробегает множество названий всевозможных рек); в) «х2 + 2х + 4» (jc € R); г) «(х + у)2 = х? + 2ху + у1» (х, у е R); д) «х есть брат у» (х, у пробегают множество всех людей); е) «х и у лежат по разные стороны от z» (x, у пробегают множество всех точек, a z — всех прямых одной плоскости); ж)«с1§45°= 1»; з) «х перпендикулярна у» (х, у пробегают множество всех прямых одной плоскости); и) «х2 + х - 6 = 0» (х g R); к) «Для всех вещественных чисел х выполняется равенство 9.2. Для каждого из следующих высказываний найдите предикат (одноместный или многоместный), который обращается в данное высказывание при замене предметных переменных подходящими значениями из соответствующих областей: а) «3 + 4 = 7»; б) «Вера и Надежда — сестры»; в) «Сегодня — вторник»; г) «Город Саратов находится на берегу реки Волги»; д) «sin 30° = 0,5»; е) «А. С. Пушкин — великий русский поэт»; ж) «З2 + 42 = 52»; з) «Река Индигирка впадает в озеро Байкал»; 163
и) «Если число делится на 3, то оно делится на 9»; к) «Луна есть спутник Марса»; л) «tg(rc/4) = l». Построив такой предикат, постарайтесь или точно указать его область истинности, или как-то ее обрисовать. Р е ш е н и е. л) Можно указать три предиката, каждый из которых обращается в данное высказывание при соответствующей подстановке. Первый предикат одноместный: «tgx = 1» (х е R \ {л/2 + пп : п е N}). Он превращается в данное высказывание при подстановке х = к/4. Получающееся высказывание истинно. Указанным значением не исчерпывается множество истинности построенного предиката. Как нетрудно установить, это множество следующее: {п/4 + пп: пе N}. Второй предикат также одноместный: «tg(rc/4) = у» (j/ e R). Он превращается в данное высказывание при подстановке у = 1. Ясно, что этим значением и исчерпывается множество истинности этого предиката. Наконец можно построить третий предикат, двухместный: «tgx = у» (хеЛ\ {тс/2 + пп : п е N}, у е Щ. Он превращается в данное высказывание при подстановке х = п/4, у = 1. Его область истинности представляет собой множество упорядоченных пар, совокупность которых графически изображается в виде бесконечного семейства кривых, называемых тангенсоидами. 9.3. Прочитайте следующие высказывания и определите, какие из них истинные, а какие ложные, считая, что все переменные пробегают множество действительных чисел: а) (Vx) (Зу) (х + у = 7); б) (Зу) (Vx) (х + у = 7); в) (Зх) (Vy) (x + у = 7); г) (Vx) (V;;) (х + у = 7); Д) [(Vx)(Vj)(x + y = 3)]->(3 = 4); е) (V*) [(х2 > х) ** ((х > 1) v (х < 0))]; ж) (уа) {[(Зх) (ах = 6)] « (а * 0)}; з) (VA) (За) (Vx) {х2 + ах + b > 0}; и) (Vx) [((х > 1) v (х < 2)) <-> (х = х)]; к) (ЗЬ) (\/а) (Зх) (х2 + ах + Ъ = 0); л) (За) (\/Ь) (Зх) (х2 + ах + Ь = 0). Р е ш е н и е. а) Двухместный предикат «х + у = 7» задан над множеством действительных чисел R. Это означает, что вместо каждой из двух его предметных переменных х и у могут быть подставлены действительные числа. Если такая подстановка сделана вместо обеих переменных, например «6 + 3 = 7», то предикат превращается в высказывание (в нашем случае ложное). Но данный двухместный предикат «х + у = 7» может быть превращен в высказывание и другим путем: именно путем применения к нему операций квантификации (взятия квантора общности или квантора существования). Применим сначала к двухместному предикату «х + у = 7» 164
операцию взятия квантора существования по переменной у. Получим уже одноместный предикат «(Зу)(х + у = 7)» относительно переменной х, которая пробегает множество R. Говорят, что в полученном выражении переменная у связана, а переменная х свободна. Вместо переменной у мы уже ничего не можем подставлять, в то время как вместо х могут быть подставлены действительные числа, в результате чего одноместный предикат будет превращаться в высказывания. Например, высказывание «(3j;)(10 + у = 7)» можно прочитать так: «Существует действительное число у, такое, что 10 + у = 7». Ясно, что это высказывание истинно. (В качестве такого у, существование которого утверждает это высказывание, нужно взять действительное число -3.) Легко далее понять, что, какое бы действительное число хь мы ни подставили вместо переменной х в предикат «(Ву)(х + у = 7)», предикат превращается в истинное высказывание. Действительно, в качестве такого числа у, существование которого утверждает высказывание, нужно взять разность 7-х. Это обстоятельство согласно определению операции взятия квантора общности означает, что получающееся высказывание «(Vx)(3y)(x+у = 7)» истинно. Его можно прочитать следующим образом: «Для любого действительного числа существует такое действительное число, сумма которого с первым равна 7». В выражении «(Ух)(3у)(х + у = 7)» уже нет свободных переменных. Обе переменные х и у стоят под знаками кванторов и поэтому являются связанными. Само же выражение уже не является предикатом, оно есть высказывание истинное, как было установлено ранее. Впрочем, по желанию, развивая понятие предиката, можем считать, что высказывание — это 0-местный предикат, т. е. предикат без предметных переменных. Но мы должны осознавать, что количественный переход от одноместного предиката к 0-местному приводит к качественному скачку, так что 0-местный предикат — это объект качественно иной, нежели предикат одноместный, хотя и подводимый нами условно под понятие «предикат». б) Высказывание «(3j>)(Vx)(x + у = 7)» можно прочитать так: «Существует такое действительное число, которое после прибавления к любому действительному числу в сумме дает 7». Нетрудно понять, что это утверждение ложно. В самом деле, рассмотрим одноместный предикат «(Vx)(x + j> = 7)» относительно переменной у, применением к которому квантора существования получается данное высказывание. Ясно, что какое бы действительное число ни подставить вместо предметной переменной у, например «(Vx)(x + 4 = 7)», предикат будет превращаться в ложное высказывание. (Высказывание «(Vx)(x + 4 = 7)» ложно, так как одноместный предикат «х + 4 = 7» превращается в ложное высказывание, например при подстановке вместо переменной х числа 5.) Поэтому высказывание «(3j>)(Vx) (* + У = 7)», получающееся из одно- 165
местного предиката «(Vx)(x + у = 7)» применением операции взятия квантора существования по у, ложно. и) Это высказывание читается так: «Любое действительное число равно самому себе тогда и только тогда, когда оно больше 1 или меньше 2». Чтобы выяснить, истинно или ложно данное высказывание, будем, например, искать такое действительное число х, которое превратило бы одноместный предикат ((х > 1) v (х < 2)) <-» <-» (х = х) в ложное высказывание. Если нам удастся найти такое число, то данное высказывание, получающееся из этого предиката «навешиванием» (т.е. применением операции взятия) квантора общности, ложно. Если же мы придем к противоречию, предположив, что такое х существует, то данное высказывание истинно. Ясно, что предикат «х = л» превращается в истинное высказывание при подстановке вместо х любого действительного числа, т. е. является тождественно истинным. Спрашивается, можно ли указать действительное число, которое превратило бы предикат «(х > 1) v (х < 2)» в ложное высказывание? Нет, потому что какое бы действительное число мы ни взяли, оно либо больше 1, либо меньше 2 (либо одновременно и больше 1 и меньше 2, что вовсе не возбраняется в нашем случае). Следовательно, предикат «(х > > 1) v (х < 2)» тождественно истинен. Тогда тождественно истинным будет и предикат ((х > 1) v (х < 2)) <-> (х = х), а значит, данное высказывание (Vx)[((x > 1) v (x < 2)) <-> (х = х)] по определению операции взятия квантора общности истинно. 9.4. Из следующих предикатов с помощью кванторов постройте всевозможные высказывания и определите, какие из них истинны, а какие ложны (х е R): а) х2 + 2х+1=(х+1)2; б) (х - 3) (х + 3) < х2; в) б?М<1п|х|(х*0); г) (x?+l=0)->((x=l)v(x=2)); д) (x<0)v(x = 0)v(x>0); е) |х-д;Н|х|-Ы1; ж) sin х = sin у; з) х2 = у2 -» х = у; и) (х + у)2 = х2 + 2ху + у2; к) \х-у\<3; л) х2 = 25; м) х2 + у2 = 16. Решение, л) Из этого одноместного предиката с помощью кванторов можно построить два высказывания: «(Vx)(x2 = 25)» и «(Зх)(х2 = 25)». Первое высказывание читается так: «Квадрат любого действительного числа равен 25». Оно ложно и с точки зрения здравого смысла, и согласно определению операции взятия квантора общности: предикат «х2 = 25» не является тождественно истинным, и потому высказывание «(Vx)(x2 = 25)» ложно. Второе 166
высказывание читается так: «Существует действительное число, квадрат которого равен 25». Это высказывание истинно, так как предикат «х2 = 25» не является тождественно ложным. м) Предварительно полезно ознакомиться с решением задачи 9.3, я. Из данного двухместного предиката «х2 + у1 - 16» можно построить четыре высказывания с помощью комбинаций двух кванторов (VxXVyX*2 + у1 = 16), (BjcXV^X*2 + у* = 16), (Чу)(3х)(х* + + ^=16), (Зу)(3х)(х2 + f = 16). Чтение этих высказываний на русском языке предоставляется читателю. Займемся исследованием вопроса об их истинности. Посмотрим на первые два высказывания. Они получены из одноместного предиката «(V^X*2 + у1 = 16)» с помощью кванторов общности и существования. Этот предикат превращается в ложное высказывание при подстановке вместо него предметной переменной х любого действительного числа. Другими словами, этот предикат тождественно ложен. Следовательно, применение к этому предикату как квантора общности, так и квантора существования приводит к ложным высказываниям. Итак, оба первых высказывания ложны. Обратимся теперь к двум последним высказываниям. Они получены из одноместного предиката «(Зх)(д^ + у1 = 16)» с помощью кванторов общности и существования. Этот предикат не является тождественно истинным (так как, например, при у = 5 получаем ложное высказывание «(ЗхХ*2 + 25 = 16)»). Поэтому применение к нему квантора общности приводит к ложному высказыванию. Таково третье высказывание. Этот же предикат «(Зх)(х2 + у1 = 16)» не является и тождественно ложным (так как, например, при у = О он превращается в истинное высказывание «(3x)(jc2 + 0 = 16)»). Поэтому применение к нему квантора существования приводит к истинному высказыванию. Таково последнее высказывание. Итак, из четырех высказываний последнее истинно, а остальные ложны. 9.5. Пусть переменная х пробегает конечное множество М = {аь аъ ..., ап}. Каким высказываниям без кванторов будут эквивалентны в этом случае высказывания (\/х)(Р(х)) и (Зх)(Р(х))? Множество истинности предиката. Множеством истинности предиката Р(хи хъ ..., хп), заданного над множествами Ми Мъ ..., Мп, называют совокупность всех упорядоченных я-систем (аь а2, ..., ап) g Л/| х М2 х ... х МЛ, таких, что данный предикат обращается в истинное высказывание Р(а{, аъ ..., ап) при подстановке хх = аь х2 = аъ ..., хп = ап. Обозначение: Р+ = {( аь аъ ..., ап): Х(Р(аь аъ ..., ап)) = 1}. Предикат Р(хь хъ ..., хп) называют тождественно истинным (тождественно ложным), если при любой подстановке вместо переменных хь хъ ..., хп конкретных элементов из соответствующих множеств он превращается в истинное (ложное) выска- 167
зывание. Предикат Р(хи х2, ..., хп) называют выполнимым {опровержимым), если при некоторой подстановке вместо предметных переменных хх, хъ ..., хп конкретных элементов из соответствующих множеств он превращается в истинное (ложное) высказывание. 9.6. Найдите множества истинности следующих предикатов, заданных над указанными множествами: а) «хкратноЗ», М= {1, 2, 3, 4, 5, 6, 7, 8, 9}; б) «хкратноЗ», М = (3, 6, 9, 12}; в) «хкратноЗ», М- {2, 4, 8}; г) «х2 + 4 > О», М= R; д) «sinx > 1», М= R; е) «х2 + х~6 = 0», Л/=Л; ж) «х2 + х\ = 0», Af| = Af2 = Л; з) «X! < х2», Мх = {1, 2, 3, 4, 5}, М2 = {3, 5, 7}; и) «х, делит х2», Мi = Л/2 = {2, 3, 4, 6}; к) «| х, | + х2 > 12», Мх = {-2, 4, 8}, Л/2 = {0, 7, 9, 11}; л) «х, + х2 < О», Мх = {-3, -2, -1, 0, 1, 2, 3}, Л/2 = {-3, 1, 2}. Р е ш е н и е. л) Множеством истинности этого предиката будет подмножество декартова произведения множеств Мх и Мъ т.е. множества Мхх М2 = {(-3, -3), (-3, 1), (-3, 2), (-2, -3), (-2, 1), (-2, 2), (-I, 1), И, -3), (-1, 2), (0, -3), (0, 1), (0, 2), (1, -3), (1, 1), (1, 2), (2, -3), (2, 1), (2, 2), (3, -3), (3, 1), (3, 2)}, состоящие из всех таких упорядоченных пар (хь х2), что X! е Мь х2 е М2 и Xj + х2 < < 0. Выберем из множества Мх х М2 все такие пары: Р+ = {(-3, -3), (-3, 1), (-3, 2), (-2, -3), (-2, 1), (-1, -3), (0, -3), (1, -3), (2, -3)}. Это и есть множество истинности данного предиката. 9.7. Изобразите на координатной прямой множества истинности следующих заданных на R одноместных предикатов: а). б) в) г) Д) е) х< х| х\ х| хн 3; <2- >2; ьЗ|<2; ж). з) . и) к) л) >е + бх- х- 11< Зх-1|н х+2|< 16 <0; |2х+4|; Н2х+4|>3; 5. Р е ш е н и е. л) Множество истинности данного предиката представляет собой множество решений неравенства. Поэтому, прежде чем изобразить это множество на числовой прямой, найдем его, т. е. решим данное неравенство. Абсолютная величина некоторого числа меньше 5 тогда и только тогда, когда само число больше -5 и меньше 5:-5<х+2<5. Первое из этих неравенств равносильно следующему: -7 < х, а второе — следующему: х < 3. Решением неравенства и областью истинности данного предиката является пересечение двух множеств: ]-7, оо[ п ]-оо? 3[ = ]-7, 3[. Изображение полученного множества на числовой прямой предоставляется читателю. 168
9.8. Изобразите на координатной плоскости множества истинности следующих двухместных предикатов, заданных на множестве действительных чисел R: а) х = у; ж) х + Ъу < 6; б)М = М; з) tff в) х2 + f = 9; и) ху = 0; г) х> + у*-4х+6у+ 14 = 0; к) j; = lg(x+l); Д)^<у; л)д? = ^. е) j/=l/x; Р е ш е н и е. л) Обозначим этот предикат Р(х, у) и будем отыскивать его множество истинности: Р+ = {(х, у): х2 = у2} = {(х, у): х2 - у2 = 0} = {(х, у): (х - у) (х + у) =0} = {(х, >;): х - ^ = 0 или х + з> = = 0} = {(х, у): х - ^ = 0} и {(х, у): х + >> = 0} = {(х, >>): х = >;} и {(х, ^): j;=-x} = PfuP5. Первое из объединяемых в результате множеств представляет собой прямую, являющуюся биссектрисой первого и третьего координатных углов, а второе — прямую, являющуюся биссектрисой второго и четвертого углов. 9.9. Среди предикатов из задач 9.4, 9.6, 9.7, 9.8 укажите: а) тождественно истинные предикаты; б) тождественно ложные предикаты. 9.10. Найдите множества истинности следующих предикатов, заданных на множестве всех точек плоскости (А, В и С — различные фиксированные точки плоскости, / — фиксированная прямая плоскости): а) Отрезок [АВ] виден из точки Jif под прямым углом; б) Точка X располагается по одну сторону с точкой А от прямой / (предполагается, что точка А не лежит на прямой /); в) Точка X располагается на прямой / и одинаково удалена от точек Аи В; г) Точка X симметрична с некоторой точкой отрезка [АВ] относительно точки С; д) Точка X равноудалена от точек Аи В; е) Точка X находится на данном расстоянии от точки В; ж) Точка X удовлетворяет двум условиям: она одинаково удалена от точек Аи В и находится на данном расстоянии от точки С; з) Точка X лежит на прямой между точками Аи В; и) Точка В лежит на прямой между точками Аи X; к) Точка X одинаково удалена от точки А и прямой / (А е /); л) Точка X симметрична с некоторой точкой отрезка [АВ] относительно прямой /. Р е ш е н и е. л) По условию нам даны прямая /, отрезок [АВ] и сказано, что точка X симметрична с некоторой точкой, принадлежащей отрезку [АВ]. Отметим на отрезке [АВ] произвольно точку Х{. Проведем прямую а через точку Хх перпендикулярно прямой /. Тогда an 1= Р. Отложим от точки Рна продолжении прямой а отрезок [ХР] = [Х\Р]. Точку Х{ можно брать в любом месте отрез- 169
ка [АВ]. Таким образом, Р+ = [А{В{] — отрезок, симметричный отрезку [АВ] относительно прямой /. 9.11. Изобразите на координатной прямой или на координатной плоскости множества истинности следующих предикатов: а) (х> 2) л (х<2); б) (х> 2)v (x<2); в) (х> 2) <->(*< 2); г) (х > 0) л (у < 0); д) (х > 0) v (у< 0); е) (х>0) -»0><0); ж)(|х|<3)л(х>2); з) (sin х > 0) л (| х - 2 | < 5) л (lg x > 1); и) (х2 + у1 > 1) <-> (ху < 0); к) (|х|>2)->(|*|<3); л) (х> 2) -> (jc < 2); м) (х > 0) <-> (у < 0). Решение, л) Ясно, что предикат «(х > 2) -» (х < 2)» будет обращаться в истинное высказывание только при тех значениях х, при которых посылка «jc > 2» обращается в ложное высказывание. Следовательно, множеством истинности импликации будет полуинтервал ]-°о, 2]. м) (х > 0) <-> (у < 0). Координаты хну каждой точки первой четверти, включая положительную часть оси Оу, удовлетворяют первому соотношению, а второму — не удовлетворяют. Следовательно, весь предикат в этой области обращается в ложное высказывание. Во второй четверти координаты х и у каждой точки обращают оба предиката, стоящие в левой и правой частях эквивалентности, в ложные высказывания. Следовательно, весь предикат превращается в истинное высказывание. Исключение составляют точки полуосей Оу+ и Ох~. Координаты х и у каждой точки третьей четверти не удовлетворяют первому соотношению, а второму — удовлетворяют. Следовательно, предикат превращается в ложное высказывание. В четвертой четверти координаты хи у каждой точки обращают и посылку, и следствие в истинные высказывания. Следовательно, предикат превращается в истинное высказывание. Итак, множеством истинности предиката является множество точек второй и четвертой четвертей плоскости, за исключением полуосей Оу+ и Ох~. 9.12. Найдите множества истинности следующих предикатов, заданных над множеством М = {1, 2, 3, 4, 5, ..., 19, 20}: а) х — четное число; б) х — нечетное число; в) х < 10; г) 3|х; д) (х — четное число) -> (х — квадрат натурального числа); е) (х — квадрат натурального числа) -> (х — четное число); ж) (jc | 16) л (х > 15); 170
з) (х — квадрат натурального числа) v (х < 10); и) (х > 14) л (4 | х); к) (х — нечетное число) <-> (2 не делит х)\ л) (х — четное число) <-> (л: не делит 8). Решение, л) Данный предикат представляет собой эквивалентность двух предикатов. Поэтому найдем сначала те натуральные числа из М, которые превращают в истинные высказывания одновременно оба эти предиката. Первый предикат превращается в истинное высказывание элементами из множества М\ = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}, второй — элементами из М\ = {3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}. Значит, оба эти предиката превращаются одновременно в истинные высказывания на множестве М1 = М\ г\ М\ = {6, 10, 12, 14, 16, 18, 20}. Далее, найдем числа из М, которые превращают в ложные высказывания одновременно оба предиката «х — четное число» и «х не делит 8». Первый предикат превращается в ложное высказывание элементами из множества М\ = {1, 3, 5, 7, 9, И, 13, 15, 17, 19}, а второй — элементами из Af2 = {1, 2, 4, 8}. Значит, оба эти предиката превращаются одновременно в ложные высказывания на множестве М° = М\ п М\ = {1}. Таким образом весь данный предикат превращается в истинное высказывание при подстановке вместо х как элементов из М1, так и элементов из М°. Следовательно, множеством истинности данного предиката является объединение этих множеств Мl u М° = = {6, 10, 12, 14, 16, 18, 20} и {1} = {1, 6, 10, 12, 14, 16, 18, 20}. 9.13. Зная множества Р+ и Q+ истинности предикатов Р(хь х2,..., хп) и Q(xu x2,..., хп) соответственно, заданных над одними и теми же множествами, найдите множества истинности: а) предиката -iP(xl5 x2,..., х„); б) конъюнкции; в) дизъюнкции; г) импликации; д) эквивалентности предикатов Р{хь х2,..., хп) и Q(xu х2,..., хп). Указание, г), д). Выразите импликацию через отрицание и дизъюнкцию, а эквивалентность — через отрицание, конъюнкцию и дизъюнкцию, и затем примените результаты задач а), б) и в). 9.14. Зная множества Р+ и Р+ истинности предикатов Р{хъ jc2, ..., хп) и -iP (хь х2, ..., хп) соответственно, заданных над одними и теми же множествами, найдите множество истинности следующего предиката: а) Р(х) v ~\Р(х); б) Р(х) -+ -iP(x); в) (Р(х) -> iP(x)) -> пР(х); г) (Р(х) -> -.Р(х)) -► Р(х); д) (Р(х) v iP(x) ++ (Р(х) -► -./>(*)); е) (Р(х) -> ЬР(х) v Р(х))) -> -.Р(х); ж) -iP(x) -> (Р(х) л iP(x)); з) (Р(х) +> пР(х)) ~> />(*); 171
и) (i>(x) «. -,Р(х)) v к) (-iP(x) л Р(х)) -+ (iP(x) v Р(х)); л) (-iP(x) <+ Р(х)) -> Р(х). Р е ш е н и е. л) Для нахождения множества истинности данного предиката сначала выразим операции <-» и -» через -i, л, v, затем воспользуемся результатами задачи 9.13: [(-.Дх) ♦* Дх)) -> Дх)]+ = [((-.Дх) -» Дх)) л v Р(х)) л (нР(х) v -iP(x))) V п (Р+ и Р+)) иГ= (Р+ о Р+) и?+ = (Р+ и 9.15. Выразите множества истинности следующих предикатов через множества истинности входящих в них элементарных предикатов: а) ((-.Р(х) v -1<2(х)) л Д(х)) v (-iJ?(x) л -.Р(х)); б) (Р(х) -> Л(х)) л (Q(x) -». ->Л(х)) л (Р(х) -+ iR(x)); в) -i(P(x) v Q(x)) «• (iP(x) v Q(x»; г) (-iP(x) -> (3(х)) л (пР(х) v Q(x)); д) (Р(х) -► Q(x)) л (Q(x) -»• R(x)) л (Q(x) е) -i(P(x) л -пЛ(х)) л -i(P(x) л Q(x)) л ж)(-!Р(х) <^ (2(х)) л -i(P(x) -> ii?(x)) л (пР(х) -> пб(х)); з) ((/>(х) v -tR(x)) v -.(-.(2(х) -> Р(х))) -> (Q(x) -> Р(х)); и) (Q(x) <^ -iJ?(x)) л -1(-|Л(х) -)« Q(x)) л (iQ(x) v ад); к) <(-iP(x) л Q(x)) -». (Р(х) л -iQ(x))) v -i(P(x) v Q(x)); л) [((-ii!(x) -> -iP(x)) -> (G(x) v -iP(x))) v (-i(2(x) v ->P(x)) л Р е ш е н и е. л) Для того чтобы выразить множества истинности Сданного предиката через множество истинности входящих в него элементарных предикатов, сначала выразим операции <-> и -» через -1, л, v, а затем воспользуемся результатами задачи 9.13: > (Q(x) v пР(х))) v (п(2(х) v пР(х))) Л Л(х)]+= v (Q(x) v -,P(x))) v (-i0(x) v -iP(x))) Л u (Q+(x) u Q+u P7))u(Q7 u u (Q+ u P7)) uCQ7 u F))n^ (((( ))6) uFuQ'u^u F)n^=(Fu F KjU)nR+ 9.16. Выясните, равны ли. множества истинности следующих предикатов: а) Р(х) -»• (Q(x) -> Л(х)) и (Р(х) -> С(х)) -♦ Л(х); б) iP(x) v (Л(х) -» -.Q(x)) и (Р(х) л Л(х)) -> nQ(x); 172
в) (Р(х) -> Q{x)) л (Q(x) -> ВД) и 0(х) -+ (Р(х) л Л(х)); г) (-|Р(х)-> 0(х)) -» (-iP(x) л ->R(x)) и -iP(x) л (Q(x) -> д) -i(-iP(x) л (Q(x) -» -.Л(х)) и Р(х) v ((?(х) л Л(х))); е) (Р(х) л -iQ(x)) -> (Р(х) v Л(х)) и (/>(*) л (-iQ(x) -+ Р(х))) v vR(x); ж) (Р(х) <-> -1 G(x)) л (-1 Q(x) v Р(х)) и ((-. (?(х) v -iP(x)) -> (iP(x) л л Л(х))) v (-iP(x) л -1Л(х)); з) /»(х) -> (Р(х) v Q(x)) и -iP(x) л (Р(х) v Q(x)); и) ((Р(х) v Q(x)) -»• Л(х)) v -|Л(х) и (iP(x) -> -|Л(х)) v к) Р(х) v ((-iQ(x) о Л(х)) л Q(x)) и -iP(x) ^ ((-i(?(x) -> Л(х)) л л (fi(x) v Л(х))); л) ((Р(х) -> (Q(x) v -ij?(x))) -> Q(x)) и iQ(x) л (Р(х) -> -.Л(х)); м) -i(-iQ(x) -> Р(х)) л ((/»(х) v -iQ(x)) о fi(x)) и (/>(х) v Q(x)) л л ((б(х) -> -!/>(х)) -► iQ(x)). Решение.л) Чтобы выяснить, равны ли множества истинности данных предикатов, сначала найдем множества истинности каждого из них, а затем сравним их. Для нахождения множеств истинности сначала выразим -> и <-> через -i, л, v, а потом воспользуемся результатами задачи 9.13. Первый предикат: Ы(Р(х) -» (Q(x) v -iJ?(x))) -> Q(x))]+ = [-.((-.Р(х) v Q(x) v v -,J?(x)) -> Q(x))]+ = ЬЬЬР(х) v Q(x) v -iJ?(x)) v Q(x))]+ = = h((P(x) л -i(3(x) л Я(х)) v (2(х))]+ = Кад л -iQ(x) л Л(х)) л л -iQ(x)]+ = [(т£(х) v Q(x) v -над) л 2Р(*)1* = (Р* ^ (2+ ^ Второй предикат: [~\Q(x) л (Р(х) -» -uR(x))]+ = [iQ(x) л (пР(х) v v^(x))]t=CT + n(FuF). Сравнивая полученные множества истинности предикатов, делаем вывод, что они равны. м) Решаем аналогично. Первый предикат: b(-i6(x) -> Р(х)) л ((Р(х) v -iQ(x)) <^ Q(x))]+ = h(fi(x) v v (Р(х)) л ((Р(х) v -iQ(x)) -> Q(x)) л (Q(x) -» (P(x) v -.Q(x)))]+ = = [(-.Q(x) л -iP(x)) л (i(P(x) v nQ(x» v Q(x)) л (-iQ(x) v (P(x) v v -|<2(х)))Г = K-iGW л i(P(x)) л ((-.Р(х) л Q(x)) v Q(x)) л (-,Q(x) v v (P(x) v iQ(x)))]+ = bQ(x) л п(Р(х) л Q(x) л (-iQ(x) v P(x))]+ = = hQ(x) л -iP(x) a Q(x)]+ = 0. Второй предикат: [(P(x) v Q(x)) л ((G(x) -+ ->P(x)) -> -i(2(x))]+ = [(P(x) v Q(x)) л л(п(-)б(х) v -i/>(x)) v -.Q(x))]+ = [(P(x)_v^G(x)) л ((Q(x) л Р(х)) v v tQ(x))]+= (P+_u Q+) n ((Q+ n P^)_u (2* ) = (P+ u Q+) n (Q+ u u Q+ ) n (P+ u Q+ ) = (P+ u (G+ n Q+))n U= (P+ u0)nU=P+n о U= P\ 173
Следовательно, множества истинности данных предикатов не равны, если предикат Р(х) не является тождественно ложным. 9.17. Каким условиям удовлетворяют множества истинности одноместных предикатов Р(х) и Q(x), заданных на множестве М, если: а) конъюнкция их тождественно истинна; б) конъюнкция их тождественно ложна; в) конъюнкция превращается в истинное высказывание при подстановке любого из элементов множества Р+ истинности предиката Р(х) и только таких элементов; г) дизъюнкция их тождественно истинна; д) дизъюнкция их тождественно ложна; е) дизъюнкция превращается в ложное высказывание при подстановке любого элемента из множества Р+ истинности предиката Р(х) и только таких элементов; ж) импликация их тождественно истинна; з) импликация их тождественно ложна; и) эквивалентность их тождественно ложна; к) эквивалентность их тождественно истинна; л) эквивалентность превращается в истинное высказывание при подстановке любого из элементов множества Р+ истинности предиката Р(х) и только таких элементов. Решение, л) По условию задачи [Р(х) <-> Q(x)]+ = Р+(х), т.е. [(/>(*) -► Q(x)) a (Q(x) -> Р(х))У = Р+(х), т.е. [(jnPOc) v Q(x)) л л (Р(х) v -iQ(x))r = Р+(х), т.е. (Р+ u Q+)_n (P+ иб+) = Р+. Следовательно, Р+ с Р+ и Q+ и P+cP+uQ+. Второе включение не накладывает никаких ограничений на множества Р+ и Q+, а вот первое — накладывает. Поскольку Р+ф Р+ и в то же время Р+сР+и u Q+, поэтому Р+ с Q+, 9.18. Считая одноместный предикат Р(х) заданным на множестве М, докажите что: а) ЩЧх)(РШ = 1 » Р+ = М; б) Х[(Зх)(РШ = 1 « Р+* 0; в) М(Зх)(Р(х))] = О«Р+ = 0; г) Х[(\/х)ЬР(х))] = 1 « Р+ = 0; д) ЩЭх)ЬРШ = 1 « Р+ ^ М; е) Х[(Зх)(пР(х))] = 0 <=> Р+ = М\ ж) ^h(Vx)(P(x))] = 1 <=> Р+ * М\ з) Xb(Vx)(P(x))] = 0 <=> Р+ = М; и) ?ih(3x)(P(x))] = 1 « Р+ = 0; к) ?i[-i(3x)(P(x))] = 0 « Р+ ^ 0; л) Щ\/х)(Р(х))] = 0 <=> Р+ ф М; м) X,[(Vx)(nP(x))] = 0 ~ Р+ 9t 0. Р е ш е н и е. л) По определению квантора общности, высказывание (Vx)(P(jc)) ложно тогда и только тогда, когда предикат Р(х) опровержим, т.е. когда он не на всех элементах из Мпревращается 174
в истинное высказывание. Это и означает, что не все элементы из Мвходят в множество истинности предиката Р(х), т.е. Р+ ф М. м) Ложность высказывания (Va;)(-iP(jc)) означает опровержи- мость предиката нР(х), что в свою очередь на основании предыдущей задачи означает, что (*пР)+ * М. Вспоминая, что (нР)+ = = Р+, получаем Р+ ф М. Это означает, что Р+ ф 0 (ибо в противном случае, если бы Р+ = 0, то Р+ = 0 = М). 9.19. Пусть Р(х) и Q(x) — такие одноместные предикаты, заданные над одним и тем же множеством А/, что высказывание: а) (Зх)[Р(х) -» (нР(х) v -i(-i(?(x) -> P(x)))] истинно; докажите, что высказывание (Vx)(P(x)) ложно; б) (Vx)[(hQ(x)aP(x)) -»(Р(х)-> (?(*))] ложно; докажите, что высказывание (Зх)(Р(х)) истинно, а высказывание (\/x)(Q(x)) ложно; в) (Vx)[((?(jc) -> iP(x)) v (Р(х) -> ~iQ(x))] ложно; докажите, что тогда каждое из высказываний (Зх)(Р(х)) и (3x)(Q(x)) истинно; г) (Зх)[пР(х) -» (Q(x) а Р(х))] ложно; докажите, что тогда будет ложным высказывание (Зх)(Р(х)); д) (3x)[Q(x) a (P(x) v (Q(x) <-> Р(х)))] истинно; докажите, что тогда истинно и следующее высказывание (Зх)(Р(х) a Q{x))\ е) (Vjc)[P(x) v (Q(x) ~> P(x))] ложно; докажите, что высказывание (Vx)(P(x)) ложно, a (3x)(Q(x)) истинно; ж) (Зх)[Р(х) а (Р(х) <-> (Q(x) v -iP(jc)))] истинно; доказать, что высказывание (Зх)(Р(х) a Q(x)) также тогда будет истинным; з) (Зх)[((Р(х) -> Q(x)) <-> -iP(x)) л Р(х)] истинно; доказать, что высказывание (Vx)(P(x) -> Q(x)) ложно; и) (Vx)[(P(x) -^ ((Р(х) л Q{x)) -> iP(x))] ложно; проверьте, что тогда высказывание (Зх)(Р(х) л Q (х)) истинно; к) (Vjc)[P(x) -> (Р(х) л ~i(Q(x) -> -iP(jc)))] ложно; проверьте, что тогда будет ложным и высказывание (Vx)(P(x) -> Q(x)); л) (Vx)[-iP(jc) -> (P(jc) v -i(-iQ(x) -> P(x)))] ложно; докажите, что первое из высказываний (Vx)(P(x)) и (3x)(Q(x)) ложно, а второе истинно; м) (3x)[-iP(x) a (P(x) v (Q(x) -> P(x)))] истинно; проверьте, что тогда высказывание (Vx)(P(x) v Q(x)) ложно. Р е ш е н и е. л) Из условия по определению квантора общности следует, что X[iP(a) -> (P(a) v -i(-*Q(a) -^ Р(а)))] = 0 для некоторого элемента а е М. Отсюда по определению импликации, заключаем, что Ц-|Р(д)] = 1 и Х[Р(а) v n(-iQ(a) -> Р(а))] = 0. По определению отрицания из первого из двух последних равенств следует, что Х[Р(а)] = 0, а из второго — Ц-1(-1(?(я) -> -> Р(а))] = 0, т.е. ^[-iQ(a) -> Р(а)] = 1. Поскольку, кроме того, ЦР(д)] = 0, то из последнего соотношения по определению импликации заключаем, что X[-iQ(a)] = 0, т.е. Х[()(а)] = 1. Итак, Х[Р(а)] = 0 для некоторого а е М. Следовательно, по определению квантора общности заключаем, что высказывание 175
(Vx)(P(x)) ложно. Так как X[Q(a)] = 1, то отсюда по определению квантора существования следует, что высказывание (3x)(Q(x)) истинно. м) Из условия по определению квантора существования следует, что Х[-\Р(а) л (Р(а) v (Q(a) -> Р(а)))] = 1 для некоторого предмета а е М. Отсюда по определению конъюнкции заключаем, что ХЬР(а)] = 1 и Х[Р(а) v (Q(a) -> P(a))] = 1. Тогда Х[Р(а)] = = 0, и из последнего соотношения с учетом только что установленного получим X[Q(a) -» Р(а)] = 1. Снова, учитывая, что Х[Р(а)] = О, из последнего соотношения заключаем: X[Q(a)] = 0. Итак, Х[Р(а)] = 0 и X[Q(a)] = 0. Тогда по определению дизъюнкции отсюда заключаем: Х[Р(а) v Q(a)] = 0 для некоторого а е М. По определению квантора общности отсюда следует, что высказывание (Vx)(P(x) v (?(*)) ложно. 9.20. Какими могут быть множества Р+и Q+ истинности предикатов Р(х) и Q(x) соответственно, заданных над непустым множеством М, если известно, что следующее высказывание истинно: а) (Эх)(Р(х) -> Q{x)) л (Vx)(-iP(x) л Q(x)); б) (Vx)bP(x) -> -iQ(x)) л п(Зх)(Р(х) л Q(x)); в) -i(3x)(P(x) -> fi(x)) л -i(Vx)(-iP(x) л С(х)); г) -i(Vx)(P(x) л Q(x)) л (Зх)(Р(дс) л Q(x)); д) (Зх)(Р(х) л Q(x)) л -i(Vx)(P(x) -> Q(x)); е) (Vx)(P(x) л ~i(2(x)) <^ (Зх)(Р(х) -> Q(x)); ж) -i(Vx)(-iP(x) л Q(x)) « (Зх)(Р(х) v Q(x)); з) i(Vx)(P(x) л fi(x)) <^ (Зх)(Р(х) л С(х)); и) (Зх)(пР(х) -> -iG(x)) <^ п(Зх)(Р(х) л к) (Vx)(nP(x) л Q(x)) <-> -i(3x)(P(x) - л) i(Vx)(P(x) v -iQ(x)) л (Зх)(Р(х) -> Q(x)); м) (Vx)(-iP(x) л Q{x)) <r> i(3x)(P(x) -> fi(x)). Р е ш е н и е. л) По определению конъюнкции двух высказываний из условия следует, что Xh(Vx)(P(x)vnG(x))] = l; (1) М(Эх)(Р(х) -> GW)] =1- (2) Далее, из (1) по определению отрицания заключаем, что X[(Vx)(P(x)v-iGW)] = 0. (3) По определению квантора общности (3) означает, что предикат Р(х) v -i(2(x) не является тождественно истинным, т.е. что его множество истинности не есть все множество М, т.е. (Р(х) v v "i Q(x))+ * М, т. е. P+ug+ ф М. Последнее условие, как нетрудно понять, равносильно следующему: Q+ ф Р+. Из (2) по определению квантора существования следует, что предикат Р(х) -> Q(x) выполним, т.е. его множество истинности 176
не пусто: (Р(х) -> Q(x))+ ф 0, t.M-iP(jc) v Q(x))+ ф 0, или Р+ и и Q+ Ф0. Отсюда следует, что Р+ ф 0 (т.е. Р+ ф М) или Q+ ф 0. Итак, окончательно мы получаем, что множества Р+и Q+ должны удовлетворять следующим условиям: Q+ ф Р+, причем либо Р+ ф М, либо Q+ ф 0. м) Из условия задачи по определению эквивалентности двух высказываний заключаем, что должны выполняться либо два следующих условия: Р(х)л G(x))] = l, (1) ХЫЗх)(Р(х) -> Q(x))] = 1, (2) либо два следующих условия: X[(Vx)(-iP(x) л 0(*))]=О, (3) Xh(3x)(P(x) -> Q(x))] = 0. ' (4) Из (1) следует, что предикат ~iP(x) л Q(x) тождественно ис- i, т.е. его множество истинности совпадает с М: Р+ nQ+ = Поскольку Р+ и Q+ суть части множества М, то из последнего равенства следует Р7 = М(т.е. Р+ = 0) и Q+ = М. (5) Условие (2) эквивалентно следующему: X[(3x)(P(x) ~> Q(x))] = = 0, откуда заключаем, что предикат Р(х) -> Q(x) тождественно ложный, т.е. его множество истинности пусто: P+uQ+=0. Следовательно, Р7 = 0 (т.е. Р+ = М) и 0+ = 0. (6) Сравнивая полученные условия (5) и (6), ввиду того, что Мф 0, заключаем, что условия (1) и (2) не могут выполняться. Рассмотрим условия (3) и (4). Из первого следует, что предикат -iP(x) л Q(x) опровержим, т.е. не является^гождественно истинным, а значит,^го множество истинности Р+ n Q+ ф М. Отсюда следует, что Р+ ф Мили Q+ф М(так как Р+ и Q+ суть части множества Л/), т.е. Р+Ф0 или Q+ф М. (7) Наконец из (4) следует, что Х[(Зх)(Р(х) -> Q(x))] = 1, т.е. предикат Р(х) -^ Q{x) выполним, и, значит, его множество истинности не пусто: Р+ uQ+^0. Отсюда заключаем, что Р+ ф 0 или (?+* 0, т.е. Р+*Л/или <2+*0. (8) 177
Итак, условия (7) и (8) должны выполняться одновременно: (Р+ ф 0 или Q+ ф М) и (Р+ ф Мили Q+ ф 0). Это условие можно записать следующим образом (воспользовавшись дистрибутивностью конъюнкции относительно дизъюнкции): Р+ ф 0 и Р+ ф М (т.е. 0 ф Р+ с М), или Q+ ф 0 и Q+ ф М (т.е. 0 ф Q с М), или Р+ * 0 и 0+ * 0, или Р+ ф Ми Q+ ф М. 9.21. Какими могут быть множества Р+ и Q+ истинности предикатов Р(х) и (?(*) соответственно, заданных над непустым множеством М9 если известно, что следующее высказывание ложно: а) (Vx)(-iP(x) л Q(x)) -> Qx)bP(x) -> Q(x))); б) (\fx)(P(x) -+ Q(x)) a (3x)(-tP(x) a Q(x)); в) (Vx)(nP(x) -> Q(x)) v п(Зх)(Р(х) л Q(x)); r) -i(3x)(P(x) л Q(x)) -> -i(Vjc)(P(jc) v -ifi(jc)); д) (Эх) -i(P(x) v Q(x)) <+ (Vx)(nP(x) л Q(x)); е) (Vx)(P(x) v C(x)) л (3x)(P(x) -> C(x)); ж) (Vx)(P(x) « Q(x)) v (Vx)(P(x) л Q(x)); з) (Vx)(nP(x) л Q(x)) -> (3x)(P(x) -> n(2(x)); и) (Vx)(P(x) v Q(x)) -+ (3x)(iP(x) л -iQ(x)); к) (3x)(-iP(x) л Q(x)) v n(Vx)(P(x) <^ -iQ(x); л) (Зх)(Р(х) л Q(x)) -> i(Vx)(P(x) -> Q(x)); м) (Vx)(P(x) <^ G(x)) v (3x)(fi(x) л Р(х)). P e ш е н и е. л) По определению импликации двух высказываний из условия задачи следует, что М(Эх)(Р(х) л Q(x))] = 1, (1) A.(-i(Vx)(P(x) -> Q(x))] = 0. (2) Далее, из (1) по задаче 9.5, в заключаем, что (Р(х) a Q{x)Y ф ф 0, т.е. Р+п<2+Ф0. (3) Из (2) по определению операции отрицания следует, что X[(Vx)(P(x) -> Q(x))] = 1, откуда, в свою очередь, в силу задачи 9.5, а следует, что (Р(х) -> Q(x))+ = М. Следовательно, Р+ u Q+ = = М. Пересечем обе части этого равенства с Р+: Р+ = Р+ п М- Р+ п n(P+ u Q+) = (P+n P+)u(P+n Q+) = 0u(P+nQ+) = ?+n Q\ Это означает, что Р+ я Q+. Кроме того, Р+ п Q+ ф 0. Итак, 0 ф Ф Р+ С Q\ м) Из условия задачи следует, что \[(\/х)(Р(х) <-> Q(x))] = 0, Х[(3х) (Q(x) а Р(х))] = 0. Из первого равенства следует, что предикат Р(х) <r> Q(x) тождественно ложен, т.е. Из второго равенства следует, что предикат Q(x) а Р(х) тождественно ложен, т.е. 178
/>+nQ+ = 0. (2) Преобразуем^ (1) с учетом (2)^0 = (J^y Q^)_n (Р" u Q7 ) = = (jP+nCPu <2+))u(6+n(P+u Q+)) = (P+ n G+)u(Q+nP+) = = P+ n Q+. Возьмем дополнения от обеих частей полученного равенства. Получим: Т+ n(F = 0, т.е. Р+ u Q+ = М. Равносильность и следование предикатов. Предикаты Pfo, х2, ..., хЛ) и (?(хь х2, ..., хЛ) над одними и теми же множествами называют равносильными, или эквивалентными, если Р+ = (?+, т.е. если один из них обращается в истинное высказывание на тех и только тех наборах значений переменных из соответствующих множеств, на которых в истинное высказывание обращается другой предикат. Предикат Q(xb хъ ..., хл) называют следствием предиката Р(хь х2, ..., хп), заданного над теми же множествами, что и предикат Q(xu х2, ..., хп), если он обращается в истинное высказывание на всех тех наборах значений переменных из соответствующих множеств, на которых в истинное высказывание обращается предикат Р(хи х2, ..., х„), т.е. если Q+ 3 Р+. 9.22. Выясните, равносильны ли следующие предикаты, если их рассматривать над множеством действительных чисел R, над множеством рациональных чисел Q, над множеством целых чисел Z и над множеством натуральных чисел N: а) 5JC2 - Их + 2 = 0, (х2 - 3)(3х2 - 1х + 2) = 0; б) х2-3/х-73 =х+ «Л, cosx< 1; в) х2 = 0, | х | < 0; г) Jx-y/y =15, V*-;f = 15; д) 1*1 = ш,*=я е) х < 2, у < 2; ж) lg(x • j;) = 1, lg x + lg у = 1; з) 2х- 2^ = 4, 2ДС+-К = 4; и) lg(x • j;) ='lg x + lg у, 2х • 2' = 2*+'; к) lg(*->>) = lgx + lgj;, фГу=у/х-у/у; л) х2= 1, (х- 1)(x+V2)(jc- 1,5)(х+ 1) = 0. Решение, л) Предикаты равносильны над множеством N (каждый из них имеет в этом случае множество истинности {1}) и над множеством Z (множество истинности каждого из них в этом случае {-1, 1}). Над множествами Q и R первый предикат имеет множество истинности {-1, 1}). Второй предикат над множеством Q обладает множеством истинности {-L 1, 3/2}, а над множеством R — множеством истинности {-V2, -1,1, 3/2 }. Следовательно, над множествами Q и R предикаты не равносильны. 9.23. Задайте множество так, чтобы над ним следующие предикаты были равносильны: 179
а) «х кратно 3», «ос кратно 7»; б) «х2 - х - 2 = 0», «х3 + 1 = О»; в) «Город х находится на берегу реки Волги», «Город х находится на берегу реки Свияги»; г) «х — простое число», «х — четное число»; д) «Диагонали в четырехугольнике х равны», «Четырехугольник х — параллелограмм»; е) «Диагонали в четырехугольнике х взаимно-перпендикулярны», «Четырехугольник х — ромб»; ж) «х — треугольник», «Биссектриса одного из внутренних углов треугольника х является его медианой»; з) «х делится на 3», «х делится на 9»; и) «х — куб», «х — параллелепипед»; к) «х — цилиндр», «х — конус»; л) «Треугольник х — равнобедренный», «Три высоты треугольника х равны между собой». Решение, л) Ясно, что требуемое множество нужно искать среди подмножеств множества всех треугольников. Элементы этого множества должны быть одновременно и равнобедренными треугольниками, и такими треугольниками, у которых все три высоты равны между собой. Можно показать, что три высоты в треугольнике равны между собой тогда и только тогда, когда этот треугольник равносторонний. Поскольку, кроме того, всякий равносторонний треугольник является равнобедренным, то искомым множеством может быть, например, множество всех равносторонних треугольников. Другое множество, над которым два данных предиката равносильны, — множество всех неравнобедренных треугольников. 9.24. Докажите следующие утверждения, считая, что каждый из двух предикатов зависит от одних и тех же переменных, пробегающих одни и те же соответственные множества: а) Конъюнкция двух предикатов есть опровержимый предикат тогда и только тогда, когда по меньшей мере один из данных предикатов опровержим; б) Конъюнкция двух предикатов есть тождественно истинный предикат тогда и только тогда, когда оба данных предиката тождественно истинны; в) Дизъюнкция двух предикатов есть выполнимый предикат тогда и только тогда, когда по меньшей мере один из данных предикатов выполним; г) Дизъюнкция двух предикатов есть тождественно ложный предикат тогда и только тогда, когда оба данных предиката тождественно ложны; д) Конъюнкция тождественно ложного предиката и любого предиката есть тождественно ложный предикат: ^(х) л Р(х) <=> F(x); е) Конъюнкция тождественно истинного предиката и любого предиката есть предикат, равносильный последнему: Т(х) л Р(х) <=> Р(х); 180
ж) Дизъюнкция тождественно ложного предиката и любого предиката есть предикат, равносильный последнему: F(x) v Р(х) <=> ~ Р(х); з) Дизъюнкция тождественно истинного предиката и любого предиката есть тождественно истинный предикат: Т(х) v Р(х) » Г(х); и) Импликация двух предикатов с тождественно ложным следствием равносильна отрицанию ее посылки; к) Импликация двух предикатов с тождественно истинной посылкой равносильна ее следствию; л) Эквивалентность двух предикатов с тождественно истинным одним членом равносильна ее второму члену; м) Эквивалентность двух предикатов с тождественно ложным одним членом равносильна отрицанию ее второго члена. Р е ш е н и е. д) Вычислим множество истинности (Fa P)+ = F+n п Р+ = 0 п Р+ = 0. Следовательно, предикат F(x) л Р(х) тождественно ложен. з) Аналогично вычислим множество истинности (7V Р)+ = Г+ и и Р+ = Ми Р+ = М. Следовательно, предикат Т(х) v P(x) тождественно истинен. 9.25. Определите, является ли один из следующих предикатов, заданных на множестве действительных чисел, следствием другого: а) «| х | < 3», «х2 - Зх + 2 = О»; б) «х4 = 16», «х2 = -2»; в) «х - 1 > 0», «(х - 2)(х + 5) = О»; г) «sin х = 3», «х2 + 5 = О»; д) «х2 + 5х - 6 > 0», «х + 1 = 1 + х»; е) «х2 < 0», «х = sin 7i»; ж) «-5 < х», «х < 5»; з) «lg х < 1», «1 < х < 10»; и) «х2 + у2 = 1», «х2 + у2 < 1»; к) «х2 < у», «у > 0»; л) «х3 - 2х2 - 5х + 6 = 0», «| х - 2 | = 1». Р е ш е н и е. л) Второй предикат превращается в истинное высказывание лишь при двух подстановках: х = 1 и х = 3. Нетрудно проверить, что эти подстановки превращают и первый предикат в истинное высказывание (являются корнями кубического уравнения). Поэтому первый предикат является следствием второго. 9.26. Задайте множество М значений предметной переменной так, чтобы на этом множестве второй предикат был бы следствием первого: а) «х кратно 3», «х четно»; б) «х2 = 1», «х - 1 = 0»; в) «х нечетно», «х — квадрат натурального числа»; г) «х — ромб», «х — параллелограмм»; д) «х — параллелограмм», «х — ромб»; е) «х -— русский ученый», «х — математик»; 181
ж) -5 < х, х < 5; з) «х делится на 3», «х делится на 9»; и) «х — куб», «jc — прямоугольный параллелепипед»; к) «х — цилиндр», «х — конус»; л) «х — квадрат, «х —- параллелограмм». Решение, л) Поскольку всякий квадрат является параллелограммом, в качестве множества, на котором второй предикат является следствием первого, может быть взято множество всех четырехугольников. Формулы логики предикатов, их интерпретация и классификация. Понятие формулы логики предикатов вводится аналогично тому, как это было сделано в алгебре высказываний. Определение имеет индуктивный характер: а) всякий 0-местный предикатный символ (т.е. пропозициональная переменная) есть формула; б) всякий л-местный предикатный символ Р(хи х2, ..., хл), где хь х2, ..., хп — свободные предметные переменные, есть формула; в) если F{ и F2 — формулы, то -iF, (F{ л F2), (F{ v F2), (Fx -» F2), (Fx <-> F2) — формулы; г) если F — формула, в которую предметная переменная х входит свободно, то (Vx)(F) и (Зх) (F) — формулы, в которых предметная переменная х связана, а те предметные переменные, кроме х, которые были свободны в F, свободны и в новых формулах, и те предметные переменные, которые были связаны в F, связаны и в новых формулах; д) никаких других формул, кроме тех, которые получаются по правилам а) —г), в логике предикатов нет. Формула логики предикатов превращается в конкретный предикат при подстановке вместо всех ее предикатных переменных конкретных предикатов. Формулу логики предикатов называют выполнимой (опровержимой) на множестве М, если при некоторой подстановке вместо предикатных переменных конкретных предикатов, заданных на этом множестве, она обращается в выполнимый (опровержимый) предикат. Формулу логики предикатов называют тождественно истинной (тождественно ложной) на множестве М, если при всякой подстановке вместо предикатных переменных любых конкретных предикатов, заданных на этом множестве, она превращается в тождественно истинный (тождественно ложный) предикат. 9.27. Определите, какие из следующих выражений являются формулами логики предикатов, а какие нет, и объясните почему: а) (Зх)(В(х))-+(\/х)(В(х)); б) (Vx)(P(x))->P(y); в) (Vx)((P(x) л Q(x)R(x)) -> (3y)bS(x)); г) (\/x)(Q(x)a-*R(x)); д) (3x)(P(x)AQ(x)AnR(x)); е) (3x)(E(x)aD(x, у)); 182
ж) (Ух)(Р(х) v Q(x)) -» (Зх)(Р(х) -> Q(x) v з) hP(jc) к) п[(Эх)(Р(х)) л) (Vx)[E(x) -> (УуШх, у) -> £00)]; м) (Эу)[Р(у) л (Vx)(G(x, у) v Д(х))]. 9.28. Перечислите свободные и связанные вхождения каждой из переменных в каждой из следующих формул: a) б) в) г) д) &xWy)(P(x) л (2(У)) -> (Vy)(J?(x, у)); е) (Зх)Ш(*<*, Л a Q{z))\ ж) (Зи)(У»)(Д(и, i;)) з) и) (Vx)[(V *)(/>(*, ^) ^ Q(y)) л к) (3jxv*xe<x, л ^ л Р(у» -> л) (Vx)[(33;)(P(x, у)) -> Q(x, Л Z)]. Р е ш е н и е. л) Действие квантора Vx распространяется на всю формулу, стоящую в квадратных скобках. Поэтому переменная х всюду в данной формуле является связанной. Переменная z не стоит под знаком квантора, поэтому, без всякого сомнения, является свободной. Наконец переменная у стоит под знаком квантора Зу9 но действие этого квантора распространяется лишь на выражение Р(х, у), и поэтому переменная у в этом выражении является связанной. Но переменная у входит еще и в выражение Q(x, у, z), на которое действие квантора Зу не распространяется. В этом выражении переменная у свободна. Для окончательной ясности в этом вопросе данную формулу можно переписать (переобозначив связанную переменную любой другой буквой, не входящей в формулу, например буквой /) в следующем виде: (Vx)[(3t)(P(x, t)) -> Q(x, у, z)]. Здесь уже отчетливо видно, что переменные хи t связанные, а у и z свободные. 9.29. Придайте следующим формулам указанные интерпретации и определите истинностные значения получающихся высказываний: а) (Vx)(P(x) -> Р(у)), М= {Петр, Павел}, Р(х): «Имя х состоит из 5 букв», у = Петр; б) (Vjc)(P(jc)) -> Р(у), интерпретация та же, что и для предыдущей формулы; в) (Vx)(-if(x, x))A(Vx)(Vy)(Vz)(№, y)AF(y, z)) -> F(x9 z)) л л (Vx)(3y)(F(x, y))9 M= {1, 2, 3}, F(x, y): «x < y»; г) предыдущая формула, M= N, F(x, у): «х < у»; д) (Зх)(Р(х) л fi(x)), M= N, P(x): «x < 5», Q(x): «x > 6»; е) (3x)(P(x)) a (3x)(Q(x))> интерпретация та же, что и для предыдущей формулы; 183
ж) -i(3x)(P(x)), M=N9 P(x): «x < 2»; з) (3x)(-iP(x)), интерпретация та же, что и для предыдущей формулы; и) (Vx)(P(x) <-> Q(x)), M=N, Р(х): «3 | х», Q(x): «2 \ х»; к) (Vx)(P(x)) <-> (Vx)(Q(x)), интерпретация та же, что и для предыдущей формулы; л) (Зх)(Р(х) -+ Р(у))9 М= {2, 3}, Р(х): «2 | х», у = 3; м) (Зх)(Р(х)) -> P(j>), Л/= {2, 3}, Р(х) : «2 | », у = 3. Р е ш е н и е. л) При подстановке вместо предикатной переменной Р конкретного одноместного предиката «2 | х» формула превращается в одноместный (зависящий от у) предикат: (Зх)((2 | х -» -» 2 | у)). Подставив вместо предметной переменной у значение 3, получим высказывание (Зх)((2 | х) -> (2 | 3)). Руководствуясь определением квантора существования, выясним, каково его логическое значение. Поскольку одноместный предикат (2 | х) -> (2 | 3) при х = 3 превращается в истинное высказывание (2 | 3) -> (2 | 3), то и высказывание (Зх)((2 | х) ~> (2 | 3)) истинно. м) При указанной интерпретации данная формула превращается в высказывание (Зх)(2 | х) -> 2 | 3, представляющее собой импликацию двух высказываний. При этом посылка (Зх)(21 х) есть истинное высказывание (так как предикат «2 | х» превращается в истинное высказывание при х = 2), а следствие «2 | 3» — в ложное. Следовательно, получившееся при интерпретации высказывание ложно. 9.30. Покажите, что каждая интерпретация каждой из следующих формул на одноэлементном множестве дает истинное высказывание: а) Р(х) -> Р(у); б) Р(х) <-» Р(у); в) (Зх)(Р(х)) -> Р(у); г) (Зх)(Р(х)) -> (Vx)(P(x)); д) Р(х) v iP(y); е) (Vx)(Vr)(P(x) v ж) Р(х) -> (Р(х) л з) (Р(х) v Р(у)) -> Р(х); и) Р(у) -> (Vx)(P(x)). Решение, и) Как известно, предикат на множестве Месть некоторая функция, заданная на этом множестве и принимающая значения в двухэлементном множестве {0, 1}. Тогда, как легко понять, если Мсостоит из одного элемента а, т.е. М- {а}, то на нем можно задать лишь два конкретных предиката (функции) А{(х) и А2(х) следующим образом: А{(а) = 0, А2(а) = 1. При интерпретировании данной формулы нужно входящую в нее предикатную переменную Р назвать одним из конкретных предикатов Ах или Аъ а свободную предметную переменную у — некоторым предметом из М (там их всего один — а). 184
Сведем в таблицу всевозможные интерпретации данной формулы: р Л У а а Р(у) 0 1 (Vx)(P(x)) 0 1 Р(у) -> (Vx)(P(x)) 1 1 9.31. Покажите, что при интерпретации формул предыдущей задачи на двухэлементном множестве не всегда получается истинное высказывание. Решение, ж) На двухэлементном множестве М= {я, Ь) имеются уже четыре различных одноместных предиката. Они представляют собой функции Ах(х), А2(х), А3(х), ^(х), заданные на двухэлементном множестве Af= {я, b) и принимающие значения в двухэлементном множестве {0, 1} в соответствии со следующей таблицей: Ах(х) А2(х) О 1 О 1 Всевозможные интерпретации данной формулы в этом случае сведем в следующую таблицу: р 4 А Л Л у а Ъ а Ъ а Ъ а Ъ Р(У) 0 0 0 1 1 0 1 1 (Vx)(P(x)) 0 0 0 0 0 0 1 1 Р(У) -> (Vx)(P(x)) 1 1 1 0 0 1 1 1 Из таблицы видно, что предикат А2(х) и предмет Ъ € М (характеризующийся тем, что А2(Ь) = 1) превращают данную формулу в ложное высказывание А2{Ь) -> (\/х)(А2(х)). Руководствуясь этими соображениями, данную интерпретацию можно наполнить определенным содержанием, взяв, например, в качестве М множество {5, 6} (5 и 6 — натуральные числа), а в качестве предиката 185
А2(х) предикат «х < 5». Тогда высказывание «5 < 5» истинно, а «6 < < 5» — ложно (значит, в нашем случае-а = 6 и Ъ = 5). Ложное высказывание, в которое превращается данная формула при этой интерпретации, выглядит так: 5 < 5 -» (Vx)(x < 5). 9.32. Придумайте такие конкретные двухместные предикаты А(х, у), чтобы высказывания (Vx)(3y)(A(x, у)) и (Зу)(\/х)(А(х, у)): а) были оба истинны; б) были оба ложны; в) первое было бы ложным, а второе истинным; г) первое было бы истинным, а второе — ложным. 9.33. Придумайте такие конкретные двухместные предикаты А(х, у), чтобы высказывания (Vx)(3y)(A(x, у)) и (Зх)(\/у)(А(х, у)): а) были оба истинны; б) были оба ложны; в) первое было бы ложным, а второе — истинным; г) первое было бы истинным, а второе — ложным. Решение, а) Рассмотрим предикат А(х, у): «х < у» на множестве всех натуральных чисел. При такой интерпретации первая формула превращается в истинное высказывание: «Для всякого натурального числа существует большее него натуральное число» и вторая формула превращается в истинное высказывание: «Существует наименьшее (т.е. меньшее всех остальных) натуральное число». 9.34. Составьте таблицу значений следующей (открытой или замкнутой) формулы, интерпретируя ее всевозможными способами на двухэлементном множестве: а) (3j;)(Vx)(P(x, у)) v нР(и, v); б) (Vx)(i>(x) -> Р(у)) v -i в) (Vx)(Pv Q{x)) -> (Pv Решение, а) На двухэлементном множестве М = {я, Ь) имеются 16 различных двухместных предикатов (функции двух аргументов, заданных на if и принимающих значения в двухэлементном множестве {0, 1}): (а, а) (<*,Ь) Ф,а) (b,b) А\ 0 0 0 0 0 0 0 1 0 0 1 0 \ 0 0 1 1 As 0 1 0 0 А 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 Аи 1 0 1 0 Ап 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 46 1 1 1 1 Для интерпретации данной открытой формулы на множестве М= {а, Ь) нужно 2-местный предикатный символ Р заменить на конкретный 2-местный предикат, а каждую свободную предметную переменную (у нас их две — и и v) заменить на конкретный элемент из множества М= {а, Ь). Сделаем, например, следующую замену: Р = Alu u = a, v= а. Получим высказывание 186
(Зу)(у/х)(А1Х(х, у)) v -\Au(a9 а). (*) Определим его логическое значение. Во-первых, ясно, что Х[-\Ап(а, а)] = iX[An(a, а)] = -il = 0. Теперь рассмотрим высказывание (Зу)( V х)(Аи(х, у)). По определению квантора общности применение этой операции к двухместному предикату Ап(х, у) дает одноместный предикат (от у): Ац(а, у) л Ап(Ь, у). Далее, применение квантора существования к последнему предикату дает высказывание (0-местный предикат): (Ап(а, а) л An(b, a)) v (Ап(а, Ь) л An(b9 b)), логическое значение которого равно: (1 л 1) v (0 л 0) = 1 v 0 = 1. Таким образом, логическое значение высказывания (*) равно lvO=L Составим теперь таблицу значений данной формулы, когда предикатная переменная Р принимает всевозможные значения Аи Аъ ..., >416, а предметные переменные и и v принимают значение а (проверьте результаты, приведенные в этой таблице, проделав вычисления, как показано выше): р А\ 4 \ \ \ Ап Ап Ап А< As Ав и а а а а а а а а а а а а а а а а V а а а а а а а а а а а а а а а а (3y)(Vx)(P(x, у)) 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 Р(и, v) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 -iP(w, v) 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 F 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 187
Составьте теперь самостоятельно еще три аналогичные таблицы, в которых предметные переменные и и v принимают следующие значения: в первой и = я, v = Ъ, во второй и = b, v = я, в третьей и = b, v= b. Соединение всех этих таблиц и даст требуемую таблицу значений данной формулы при всевозможных ее интерпретациях на двухэлементном множестве. 9.35. Определите, какие из следующих формул выполнимы, а какие нет (т.е. тождественно ложны): а) (Зх)(Р(х)); б) (Vx)(P(x)); в) (3x)(VjO(G(*, х) л nQ(x, д/)); г) <3x)(VjO(G(*, У) д) Р(х) -» (Уу)(Р(Л); е) (Vx)(P(xJ v fi(x)) -> ((Vx)(P(x)) v ж) (Эх)(Р(х)) -► (Vx)(P(x)); з) (Vx)(P(x) л -iP(x)); и) (Vx)(3y)(P(x) л -iP(y)); к) (ух)(\/у)(Р(х) v л) (Зх)(Зу)(Р(х) л м) -iP(x) л Р е ш е н и е. л) Пусть х и у пробегают множество N натуральных чисел и Р(х) означает, что «х — четное число». Тогда данная формула (Зх)(Зу)(Р(х) л -iP(jO) превращается в высказывание: «Среди натуральных чисел существуют как четные, так и нечетные числа», которое истинно. Следовательно, данная формула выполнима. м) Покажем, что эта формула невыполнима. Допустим противное. Это означает, что существует такое множество Ми такой конкретный предикат А(х) над ним, что когда х, у е М, то данная формула превращается в конкретный одноместный предикат В(х) = -\А(х) л (Vy)(A(y)). Этот предикат, в свою очередь, превращается в истинное высказывание при всякой подстановке вместо х элементов из множества М. Возьмем любой а е М. Тогда высказывание В (а) = ~iA(a) л (Уу)(А(у)) истинно, как мы только что установили. Следовательно, истинны высказывания -\А(а) и (Vy)(A(y)). Из истинности второго высказывания заключаем, что высказывание А (а) истинно. Это противоречит истинности первого высказывания -\А (а). Равносильность формул логики предикатов. Две формулы логики предикатов F и Н с одноименными предикатными переменными называют равносильными, если при всякой подстановке вместо предикатных переменных любых конкретных предикатов, заданных над одними и теми же множествами, эти формулы превращаются в равносильные предикаты. Обозначение равносильных формул: F= H. 9.36. Докажите, что формулы в каждой из следующих пар равносильны между собой на одноэлементном множестве: 188
a) б) в) г) д) Р(у); i(Vx)(P(x)) и (Vx)(-.P(x)); и (3jc)(-iP(jc)); и ( и Р(у) и (Зх)( е) (Vx)(P(x) -> Р(у)) и Р(^) -+ (Зх)(Р(х)); ж)(Зх)(Р(х)л((2(х)) и (Зх)(Р(х))л(Зх)((2(х)); з) (Vx)(P(x)v(G(x)) и (Vx)(i>(x))v(Vx)(Q(x)); и) (Vx)(3y)(F(x, у)) и (ЭуУУхШх, у)); к) (УдгХЗ^Х^х, у) л G(x, j)) и (Vx)[(3y)(F(x, у)) л (Зу)((7(х, л) (Vx)(P(x)-+Q(x)) и (Vx)(P(x)) -♦ (Vx)(Q(x)). Р е ш е н и е. На одноэлементном множестве {а} существуют лишь два одноместных предиката Л0(х) и А\(х), характеризующихся тем, что МА(а)) = О, X (4i(a)) = 1. в) Данные формулы открытые: в них имеется свободная предметная переменная у. Составим таблицу значений для этих формул: р Л А\ У а а О/х)(Р(х) ^Р(у)) 1 1 (Vx)(P(x)) 0 1 Piy) 0 1 (Vx)(P(x)) ->P(y) 1 1 Для первой формулы в первой строке получаем высказывание (Vjc)(v40(x) -> Aq(u)), которое истинно, поскольку предикат А0(х) -» -> А0(а) тождественно истинен на одноэлементном множестве {а}. Во второй строке получим высказывание (\/х)(Ах(х) -> Ах(а)), которое также истинно. Для второй формулы сначала вычисляем столбец (Vx)(P(jc)). В первой его строке получаем высказывание (Vx)(y4o(x)), которое ложно, поскольку предикат Aq(x) опровержим. Во второй строке получаем истинное высказывание (\/х)(А{(х))9 поскольку предикат А{(х) тождественно истинен. Затем вычисляем столбец Р(у): Х(А0(а)) = 0 (1-я строка), Х(А{(а)) = 1 (2-я строка). Наконец вычисляем столбец значений самой формулы как импликацию соответствующих значений первого и второго столбцов. Мы видим, что столбцы значений обеих формул одинаковы. (Более того, обе формулы тождественно истинны на одноэлементном множестве.) Следовательно, эти формулы равносильны на одноэлементном множестве. л) Данные формулы замкнутые: в них нет свободных предметных переменных. Поэтому достаточно обозначить только предикатные переменные Ри Q. Составим таблицы значений этих формул. . Одинаковые столбцы значений обеих формул показывают, что формулы равносильны. 189
р л л л А\ Q л л л л 1 1 0 1 (V*)(P(*)) 0 0 1 1 (vx)(G(*)) 0 1 0 1 (v*)(P(x)) -> ->(Vx)(Q(x)) 1 1 0 1 9.37. Докажите, что формулы в каждой из пар в предыдущей задаче 9.36 не равносильны между собой на двухэлементном множестве. Решение. На двухэлементном множестве {а, Ь) существуют уже четыре одноместных предиката Aq(x), А{(х), А2(х), Аъ(х) (см. задачу 9.31). в) Придадим предикатной переменной Р значение Аъ а свободной предметной переменной у значение Ь. Тогда первая формула превратится в ложное высказывание (\fx)(A2(x) -> A2(b)), так как предикат А2(х) -> А2(Ь) опровержим (превращается в ложное высказывание при х = а). В то же время вторая формула превратится в истинное высказывание (Vx)(A2(x)) -> A2(b): посылка (Vx)(A2(x)) ложна (так как предикат А2(х) опровержим: превращается в ложное высказывание при х = Ь), и следствие А2{Ь) ложно. Следовательно, формулы не равносильны на двухэлементном множестве. л) Указание. Проверьте, что при подстановке в данные формулы вместо предикатной переменной Р(х) предиката Ах(х) и вместо предикатной переменной Q(x) предиката А2(х) первая формула превратится в ложное высказывание, а вторая — в истинное. 9.38. Докажите, что в каждой из следующих пар формулы не равносильны между собой: а) (Зх)(Р(х) -> Q(x)) и (Зх)(Р(х)) -> (3x)(Q(x)); б) (Зх)(Р(х) <-> Q(x)) и (Зх)(Р(х)) <-> (3x)(Q(x)); в) (Vx)(P(x) -> (Q(x) -> R(x))) и (\fx)(P(x) -^ (R(x) -> Q(x))\ г) (3x)(Vy)(3z)(F(x, у, z) и (3z)(Vy)(3x)(F(x, у, z)); д) (Ух)((Р(х) -^ Q{x)) v (Q(x) -> Р(х))) и (Vx)(P(x) -> Q(x)) v v (Vx)(Q(x) -> P(x)); е) (Vx)(P(x) -> Q(y)) и (Vx)(P(x)) -> Q(y); ж) (3x)(P(x) -^ Q(y)) и (3x)(P(x)) -* Q(y); з) (Vx)(P(j;) -> 0(x)) и P(j;) -^ (3x)(Q(x)); и) (3x)(P(j;) ~> Q(x)) и к) (Vx)(P(x)<r>Q(x)) и ()(())()(()) Решение, а) Если M= {1, 2} и P(x): «x < 3», Q(x): «3 | x», то формула Р(х) -» Q(x) превращается в тождественно ложный 190
предикат, «х < 3 -» 3 | х», а значит, высказывание (Вх)(х < 3 -> -> 3 | х) ложно. С другой стороны, оба высказывания (Зх)(х < 3) и (Зх)(3 | х) истинны и, значит, истинна их импликация (Зх)(х < 3) -> -» (Зх)(3 | х). Таким образом, данные формулы неравносильны. ж) Можно использовать и «безымянные» предикаты (см. задачу 9.31) для обозначения предикатных переменных данных формул. Достаточно вместо предикатных переменных Р и Q подставить предикат Ах{х), а вместо предметной переменной у — элемент а. Тогда первая формула превратится в истинное высказывание, а вторая — в ложное. 9.39. Докажите, что если в формуле логики предикатов поменять местами два рядом стоящих одноименных квантора, то полученная формула будет равносильна исходной. 9.40. Останется ли справедливым утверждение предыдущей задачи, если поменять местами одноименные кванторы, не стоящие в формуле рядом? 9.41. Докажите, что если две формулы равносильны на некотором множестве М, то они будут равносильны и на всяком непустом множестве Ми мощность которого не превосходит мощности М. 9.42. Докажите, что если две формулы неравносильны на непустом множестве М, то они будут неравносильны и на всяком таком множестве Ми мощность которого не меньше мощности М. Тавтологии логики предикатов. Формулу логики предикатов называют общезначимой, или тавтологией {тождественно ложной, или противоречием), если при всякой подстановке вместо предикатных переменных любых конкретных предикатов, заданных на каких угодно множествах, она превращается в тождественно истинный (тождественно ложный) предикат. Для обозначения тавтологии используется символ t=F. 9.43. Докажите, что следующие формулы являются тавтологиями логики предикатов: а) (Vx)(P(x) л Q{x)) о ((Vx)(P(x)) л (Vx)(fi(x))); б) <Эх)(Р(х) v Q(x)) « ((Эх)(Р(х)) v (3x)(fi(x))); в) (Эх)(Р(х) л Q(x)) -> ((Зх)(Р(х)) л (Эх)((?(х))); г) ((Vx)(P(x)) v (Vx)(Q(x))) -> (Vx)(P(x) v Q(x)); д) (Vx)(P(x) vO)o ((Vx)(P(x)) v Q); е) (3x)(P(x) a Q) <-> ((3x)(P(x)) a Q); ж) з) и) (Vjc)(P(x) ~> -iQ(x)) -> n((Vx)(P(x)) л (3x)(Q(x))); к) (3x)(P(x) -> Q(x)) ++ ((Vx)(P(x)) -> (3x)(Q(x))); л) (Vx)(P(x) -^ fi) « ((3x)(P(x)) -> Q); м) (Vx)(P(x)) -> (Vx)(P(x) v Q(x); н) (3x)(P(x)) ~> (3x)(P(x) v G(x)); o) (Vx)(P(x)) -> (3x)(P(x) v Q(x)); n) (Vx)(P(x) л Q(x)) -+ (Vx)(P(x)); 191
р) (Зх)(Р(х) л Q(x)) -> (Зх)(Р(х)); с) (\/х)(Р(х) л Q(x)) -* (Зх)(Р(х)). Р е ш е н и е. л) Отметим, что предикатная переменная Q в этой формуле может быть не только 0-местной, но и любой я-мест- ной, важно лишь, чтобы в нее не входила предметная переменная х. Итак, пусть Q есть Q(y\,..., уп). Будем считать для краткости, что Q есть предикатная переменная Q{y). Предположим, что данная формула не является тавтологией. Тогда существуют такие конкретные предикаты А(х) и В (у), определенные на множествах М и Мх соответственно, что предикат (от y)(Vx)(A(x) -> В (у)) <-> (Зх)(А(х) -> В (у)) опровержим, т.е. обращается в ложное высказывание при подстановке вместо предметной переменной у некоторого конкретного предмета Ъ из Мх\ X[(Vx)(A(x) -> B(b)) <r> ((3x)(A(x)) -> B(b))] = 0. Эквивалентность ложна, если ее члены принимают разные значения истинности, т. е. могут представиться две возможности: первая — A,[(Vjc) (A(x) -> -> В(Ь))] = 1 (1), Х[(Зх)(А(х)) -> В{Ь)] = 0 (2) и вторая — Х[(\/х)(А(х) -> -> В(Ь))] = 0 (3), Х[(Зх)(А(х)) -> В(Ь)] = 1 (4). Рассмотрим первую возможность. Из (2) по определению импликации имеем Х[(Зх)(А(х))] = 1 (5) и Х[В(Ь)] = 0 (6). Далее, из (5) по определению квантора существования заключаем, что предикат А(х) выполним, т.е. Х[А(а)] = 1 (7) для некоторого а из М. Вернемся к соотношению (1). По определению квантора общности предикат А(х) -» В(Ь) — тождественно истинен. В частности, если вместо предметной переменной х подставить а из М, то получим истинное высказывание Х[А(а) -> В(Ь)\ = 1. Но, учитывая (6) и (7), получаем Х[А(а) -> В(Ь)] = Х[А(а)] -> Х[В(Ь)] = 1 -> 0 = = 0 —- противоречие. Рассмотрим вторую возможность, выраженную в соотношениях (3), (4). Из (3), на основании определения квантора общности, следует, что предикат А(х) -> В(Ь) опровержим, т.е. Х[А(а)-+ -> В(Ь)] = 0 для некоторого а е М. Тогда по определению импликации Х[А (а)] = 1, Х[В (Ь)] = 0 (8). Ввиду последнего соотношения из соотношения (4) заключаем, что Х[(Зх)(А(х))] = 0. Последнее означает тождественную ложность предиката А(х). В частности, для предмета а е М имеем А,[у4(я)] = 0, что противоречит первому из соотношений (8). Итак, в каждом случае приходим к противоречию, доказывающему невозможность сделанного предположения. Следовательно, данная формула — тавтология. м) Предположим, что формула не является тавтологией. Тогда существуют такие предикаты А(х) и В(х), определенные на множестве М, что высказывание (Vx)(A(x)) -» (Vx)(A(x) v B(x)) ложно. Импликация ложна, если и только если Х[(\/х)(А(х))] = 1 (1) и X[(Vx)(A(x) v В(х))] = 0 (2). Из (2) по определению квантора общности следует, что предикат А(х) v B(x) опровержим, т.е. найдется 192
такой предмет а е А/, для которого Х[А(а) v Я(я)] = 0, т.е. А. И(я)] = = 0 и Х[В(а)] = 0. Но утверждение Х[А(а)] = 0 противоречит (1), так как из него по определению квантора общности вытекает, что предикат А(х) тождественно истинный, т. е. ни при каком а е М не превращается в ложное высказывание. 9.44. Докажите, что следующие формулы являются тавтологиями логики предикатов: а) (Vx)(P(x)) -> Р(у); б) Р{у) -> (Зх)(Р(х)); в) (Vx)(P(x)) -> (Зх)(Р(х)); г) (Зх)(Р(у) -> Р(х)); Д) (Vx)(VjO(P(x, У)) -> (Vx)(P(x, х)); е) (Зх)(Р(х, х)) -> (Зх)(Зу)(Р(х, у)); ж) (Vx)(\/y)(Q(x, у)) <-> (V;;)(Vx)«2(x, Л); з) (Зх)(ЗЖ<2(*, у)) <-> (3j>)(3x)(Q(x, у)); и) (Vx)(3^)(^(x, у) v -iPfc у)); к) (Vx)(3y)(VZ)((P(x) л -iP(y)) -> Q«); л) (3y)(Vx)(P(x, у)) -> (Vx)(3j;)(P(x, у)). Р е ш е н и е. л) Предположим, что эта формула не является тавтологией. Тогда существует такой предикат А(х, у), определенный на множествах Му и М2, что высказывание (3y)(Vx)(A(x, у)) -» -> (Vx)(3y) (A(x, у)) ложно. Импликация ложна, если и только если Х[(3у) (Vx)(A(x9 у))] = 1 (1), X[(Vx)(3y)(A(x, у))] = 0 (2). Из (1) по определению квантора существования следует, что предикат (от у) (Vx) (А(х, у)) выполним, т.е. X[(Vx)(A (х, Ь))] = 1 для некоторого b e М2- Последнее по определению квантора общности означает, что предикат А (х, Ь) тождественно истинен на Мх. Следовательно, тождественно истинным на Jlfj будет и одноместный (от х) предикат (Зу)(А (х, у)). Но тогда по определению квантора общности X[(Vx)(3y)(A(x, у))] = 1, что противоречит соотношению (2). Следовательно, данная формула — тавтология. 9.45. Являются ли тавтологиями следующие формулы логики предикатов: а) (Зх)(Р(х)) -> (Vx)(P(x)); б) -i((3x)(P(x)) ~> (Vx)(P(x))); в) (3x)(Vj;)((2(x, у)) -> (Vj;)(3x)(Q(x, у)); г) (Чх)(ЗуШх, у)) -> (33;)(Vx)(Q(x, у)); д) (Vx)(P(x) -> Q(x)) -> [(Vx)(P(x)) - е) (Vx)(P(x) -> Q(x)) ~> [(3x)(P(x)) - ж)(Зх)(Р(х) -> Q(x)) -> [(3x)(P(x)) -> (3x)Q(x))]; з) (3x)(P(x) -* Q(x)) -> [(Vx)(P(x)) -> (3x)(0(x))] и) (Зх)(Зу)((Р(х) л P(y)) v (-iP(x) л -iP(y))); к) (3x)(\fy)(P(y) -+ Q(x, y)); л) (Vx)(P(x) -> Q(x)) о [(Зх)(Р(х)) P e ш е н и е. л) Увидим, что эта формула не является тавтологией. Для этого в качестве области, над которой будем рассматри- 7 Игошин 193
вать предикаты Р(х) и Q(x), возьмем множество натуральных чисел, а предикаты выберем следующие: Р(х): «х делится на 4», Q(x): «х четно». Тогда ясно, что из утверждения о том, что все числа, делящиеся на 4, четны, вовсе не следует, что если существует число, делящееся на 4, то все натуральные числа четны. Следовательно, данная формула не тождественно истинна. 9.46. Покажите, что: а) все тавтологии алгебры высказываний являются тавтологиями логики предикатов; б) правило модус поненс (МР) остается правилом для получения тавтологий и в логике предикатов; в) правило подстановки остается правилом получения тавтологий и в логике предикатов. 9.47. Докажите, что: а) если i= (Vx)(F(x)), то i= F(x); б) если »= G -> F(x), то и G -> (Vx)(F(x)); в) если и F(x) -> (7, то и= (3x)(F(x)) -> G; г) если n= F(x) -> Щх), то *= (Vx)((F(x)) -> (Vx)(#(x)); д) если и F(x) -> Я(х), то и (3*)((F(*)) -> (Эх)(Я(х)); е) если i= F(x) <-> #(х), то i= (Vx)((F(x)) <-> (Vjc)(#(jc)); ж) если i= F(x) <-> Н(х), то и (Эх)№)) <-> (Зх)(Н(х)); з) если формула /*(*) содержит свободно лишь переменную х и i= ВД, то и (Зх)№)); и) если n= jF(x), то и= (Ух)(^(х)), где формула G не содержит свободных вхождений переменной х. Р е ш е н и е. и) Дано: и F(x). Это означает, что если в формулу логики предикатов F(x) вместо всех входящих в нее предикатных переменных подставить конкретные предикаты, то формула превратится в тождественно истинный предикат А(х, у, ..., z), зависящий не только от переменной х, но и, возможно, от каких-то еще переменных;;, ..., z. (Заметим, что исходная формула F(x) может содержать и различные кванторы по каким-то переменным и, v, ..., ги, стоящим в разных ее местах.) Обратимся теперь к формуле (Vx)(Дх)). Подставив в нее вместо всех входящих в нее предикатных переменных конкретные предикаты, мы также превратим ее в конкретный предикат (Vx) (A(x, у, ..., z))> который уже не будет зависеть от переменной х, но, возможно, будет зависеть от переменных у, ..., z- По определению операции взятия квантора общности предикат (Vx)(v4(x, у, ..., z)) таков, что для любых предметов Ь, ..., с из областей задания высказывание (Vx)(A(x, b, ..., с)) будет истинным, если предикат (отх) А(х9 Ь, ..., с) тождественно истинный. Согласно условию и F(x), как мы выяснили вначале, так оно и есть. Значит, высказывание (V;c)(y4(x, b, ..., с)) будет истинным для любых предметов Ь, ..., с. Но это и означает, что предикат (от у, ..., z) (Vx)(i4(x, у, ..., z)) будет тождественно истинным. Это, в свою очередь, означает, что формула (\fx)(F(x)) есть тавтология логики предикатов. 194
Равносильные преобразования формул. Переход от формулы к равносильной ей формуле называется равносильным преобразованием исходной формулы. 9.48. Докажите, что формулы логики предикатов Fvi Я равносильны тогда и только тогда, когда формула F<r> Я является тавтологией. 9.49. Докажите, что справедливы следующие равносильности (формула Я не содержит х свободно): а) -i(3x)CP(x)) s (Vx)(-iP(x)); б) -i(Vx)(/»(x)) = (Зх)(-.Р(х)); в) (Vx)(P(x) л Q(x)) = (Vx)(P(x)) л (Vx)(0(x)); г) (Эх)(Р(х) v <2(х)) s (Эх)(Р(х)) v (Эх)«2(х)); д) Ял (Зх)(Р(х)) == (Эх)(Я л Р(х)); е) Я л (Vx)(P(x)) г (Ух)(Ял Р(х)); ж) Hv (Эх)(Р(х)) = (Зх)(Яу Р(х)); з) Hv (Vx)(i>(x)) = (Ух)(Яу Р(х)); и) Я -> (Зх)(Р(х)) г (Эх)(Я -* Р(х)); к) Я^- (Vx)(P(x)) = (Ух)(Я-> Р(х)); л) (Зх)(Р(х)) ^ Я = (Vx)(P(x) -> Я); м) (Vx)(P(x)) -» Я г (Зх)(Р(х) -» Я). 9.50. Подобрав интерпретацию, покажите, что если формула Я содержит свободные вхождения переменной х, то равносильности д) —м), кроме е), ж), задачи 9.49 не выполняются. 9.51. Для следующих формул логики предикатов найдите равносильную им приведенную форму, т.е. такую форму, в которой из операций алгебры высказываний имеются только операции -i, л, v, а знаки отрицания относятся только к предикатным переменным и к высказываниям: а) (Зх)(Р(х) ->• 000(00)); б) ->((Vx)(P(x)) в) (Vx)(P(x)) - г) ((Эх)(Р(х) - д) -.((Vx)(P(x) -> Q(x)) л (ЭЖ-'ЛСЗ') л S(z))); ж) -i(Vx)(P(x, у) з) и) к) -.(Vx)(3y)(V^)(P(x, Л г) -^ (Э/)(б(х, 0 л Q(y, t) л Qfe /))); л) i((Vx)(P(x)) v (3x)(Q(x) -► Л(х))). Р е ш е н и е. л) Используя равносильности алгебры высказываний и логики предикатов, преобразуем равносильным образом эту формулу: -i((Vx)(P(x) v (3x)«2(x) -> R(x))) s i((Vx)(P(x)) л л -.(3x)(Q(x) -> R(x)) = (Зх)ЬР(х)) л (Vx)-.(-.Q(x) v R(x)) = = (3x) (-iP(x)) л (Vx)(Q(x) л пЛ(х)). 9.52. Применяя равносильные преобразования, приведите следующие формулы к предваренной (пренексной) нормальной фор- 195
ме, т.е. к форме вида (Q{x{) ... (Qmxm)(F(x{, ..., хт)), где т < п, каждый Qi есть один из кванторов V или 3 и формула F(xu ..., хп) не содержит кванторов: a) б) в) (Vx)(Q(x, у)) v г) Д) е) ж) (3x)(R(x, у, z)) ~> -i(Vx)(C(x, з) ((Зх)(Р(х)) v (Vx)(Q(x))) л и) к) л) м) (Зу)((Р(х) -+ Q(y)) Р е ш е н и е. м) Данная формула представляет собой импликацию двух подформул, в каждой из которых имеется квантор по переменной у, так что и в первой подформуле, и во второй подформуле переменная у оказывается связанной. Это означает, что переменная у в первой подформуле и переменная у во второй подформуле никак не связаны между собой. Кроме того, в силу их связанности кванторами каждая из них может быть обозначена любой другой буквой. Это обозначение не имеет значения для данной формулы, но имеет исключительно важное значение для ее равносильного преобразования, начинающегося с процесса вынесения кванторов (Зу) и (Vy) за знак импликации. Итак, начнем с того, что переменную у во второй подформуле данной формулы обозначим буквой /: (Зу)((Р(х) -> Q(y)) -> (Уу)((Р(у) v - (Зу)(Р(х) -> Q(y)) -> <V/)</40 v Теперь мы видим, что квантор существования по переменной у применяется к посылке импликации, в то время как следствие импликации не имеет свободной переменной у. Тогда на основании равносильности задачи 9.49, л (полученной из теоремы 21.12, а Учебника) квантор (Зу) может быть вынесен за знак импликации, но при этом он должен поменяться на квантор (Vy). Получаем ..- ОООКад -> <Ку)) -> (vi)WO v (vz)(Q(z)))] =... Далее, в оставшейся в квадратных скобках формуле квантор общности по переменной t относится к заключению импликации, в то время как посылка этой импликации не имеет свободной переменной /. Тогда на основании равносильности задачи 9.49, к (полученной из теоремы 21.12, в) квантор (V/) может быть без всяких изменений вынесен за знак импликации. Получаем 196
-> Q(y)) -> (P(t) v Остается квантор общности по переменной ь Сначала на основании равносильности задачи 9.49, з (теорема 21.11, в) выносим его за знак дизъюнкции (второй член дизъюнкции Р (/) не зависит от z свободно): ...= (Vj>)(V/)[0P(x) -> GOO) -> (V^)(P(O v 6(z))] =... Наконец, как и в случае с квантором (V/), вынесем квантор (\fz) за знак импликации (равносильность из задачи 9.49, /с, теорема 21.12, в): ...= (vjO(vO(v*)[(P(x) -> QO0) -> (ДО v Q(z))]. Проблемы разрешимости для общезначимости и выполнимости формул. Проблема состоит в том, чтобы уметь выяснять, будет ли данная формула логики предикатов выполнимой или она будет общезначимой. Алгоритмического решения данная проблема не имеет, т.е. единого алгоритма, применимого ко всем формулам и неизбежно дающего ответ на рассматриваемый вопрос, не существует. 9.53. Приведите пример формулы, тождественно истинной на области из одного элемента, но необщезначимой. 9.54. Приведите пример формулы, выполнимой на области из трех элементов, но невыполнимой на области из двух элементов. Решение. Рассмотрим формулу (Зх, у, z)(R(x, у) л R(x, z) л R(y9 z) л (Vt)bW, 0))- Покажем, что она выполнима на области из трех элементов. Пусть М= {а, Ь, с} — множество из трех элементов. Вместо двухместной предикатной переменной R подставим предикат неравенства: N (х, у) <=> х ф у. Тогда рассматриваемая формула превращается в следующий конкретный 0-местный предикат (высказывание): (Зх, у, z)(N(x, у) л N(x, z) л N(y, z) л (Vl)(-i^(/, 0)), или в других обозначениях: (Зх, у, z)(x*yAX*ZAy*z* (V/)(/ = /)). Чтобы убедиться в том, что данный предикат выполним на М, т. е. что это высказывание истинно, нужно увидеть, что трехместный предикат от предметных переменных х, у, z x*yAX*ZAy* * Z л (V/)(/ = t) выполним на М. Это действительно так. Достаточно взять х = а, у = b, z = с. Покажем теперь, что рассматриваемая формула тождественно ложна на всякой области из двух элементов. Пусть М = {а, Ь) — произвольное двухэлементное множество. Выполнимость рассматриваемой формулы на М означает наличие такого конкретного предиката В(х, у), заданного на М, что высказывание (Зх, у, z)(B(x, у) л л2?(х, z) л В(у, z) л (V/)(i5(/, 0)) истинно. Истинность этого 197
высказывания, в свою очередь, означает, что найдутся три таких элемента £, г|, С, е {а, />}, что высказывание В(\, т\) л Z?(^, Q л л 5(г|, ^) л (V/) (-ii?(/, /)) истинно. Так как элементов %, tj, С, три, а в множестве {а, Ь) лишь два различных элемента, то два из элементов £, г|, £ совпадут. Пусть £ = г| = я, С, = Ь. Тогда истинно следующее высказывание: В(а, а) л Я(я, 6) л В(а, Ъ) л (V/)(-i£(/, *)), откуда следует, что истинны высказывания В(а, а) и (V/)(-i2?(f, /)). Истинность последнего высказывания означает, что истинны оба высказывания ~iB(a, а) и ~\B(b, b). Итак, мы показали, что высказывание 2?(я, а) и его отрицание -\В(а, а) истинны одновременно. Это противоречие. Следовательно, данная формула невыполнима на двухэлементном множестве. 9.55. Приведите пример формулы, выполнимой на области из четырех элементов, но невыполнимой на области из трех элементов. 9.56. Докажите, что каждая из двух следующих формул а) (V*)(3jO(Vz)(*(x, х) л -iR(y9 х) л (R(y, z) -> R(x, $)); б) (Vx)(3y)(F(x, у)) л (Vx)bF(x, х)) л (V*)(Vy)(V*)[№, У) а л F(y, z)) -> Дх, z)] выполнима на бесконечной области и невыполнима ни на какой конечной области. Решение, а) Эта замкнутая формула превращается в истинное высказывание, если вместо предикатной переменной R(x, у) подставить двуместный предикат «х > у», заданный над Z: Это означает, что формула выполнима на бесконечной области. Покажем, что допущение выполнимости этой формулы в конечном множестве приводит к противоречию. Допустим, что А(х, у) — такой предикат, заданный на конечном множестве М, что высказывание (Vx)(3y)(Vz)[A(x9 х) л -*A(y, х) л (А(у, z) -> А(х, z))] истинно. На основании правил пронесения кванторов через конъюнкцию (теорема 21.11, а, г или задача 9.49, д, ё) данное высказывание можно представить в виде (Vx)(y4(x, x)) л л (Vx)(3y)[-iA(y, х) л (Vz)(A(y, z) -> A(x, z))]. Следовательно, истинны высказывания (\/х)А(х, х)) и (Vx)(3y)[-iA(y, х) л (Vz)(A(y9 z) -> ~> А(х, z))]. Из истинности второго высказывания следует существование в М такой последовательности элементов аь аъ аъ, ..., что истинно каждое высказывание -\A(aj + u ц)(] = 1, 2, ...). Но в силу предположения конечности множества М найдутся такие / и к (к> /), что щ = ак. Тогда из истинности первого высказывания (Vx)(y4(x, x)) следует истинность высказывания А(аь я,). Возьмем теперь во втором высказывании х = ак_х. Для него найдется такой у = ак, то будут истинны высказывания -\А(ак_\, ак) и (\/z)(A(ak, z) -+A(ak_u z). Следовательно, истинно высказывание 198
А(ак, в/) ->i4(0*_i, at), а значит, истинно и высказывание A(ak_{, a,). Беря теперь х = а*_2, мы аналогично придем к истинности высказывания А(ак_2, Я/) и т.д., и наконец — к истинности высказывания A(ai + b а,) (поскольку к > /). Но это противоречит истинности его отрицания -ъ4(я/ + 1, я,), установленной выше. 9.57. Покажите, что формула (3x)(\/y)(R(x, у) -» (иДу, х) -» -> (/?(*, х) <-> /?(>>, >>)))) тождественно истинна в области из трех элементов и не является тождественно истинной в области из четырех элементов. 9.58. Покажите, что формула (Vx, у, z)(R(x, х) л (R(x, z) -» -»(R(x, у) v R(y, z)))) -> (3x)(\/y)(R(x, у)) тождественно истинна на конечной области и не является таковой на бесконечной области. Решение. Во-первых, отметим, что предикат «х < у», заданный на бесконечном множестве Z, превращает данную формулу в ложное высказывание: (Vx, у, z)[x < х л (х < z ~> (х < у v у < z))] ~> -^ (3x)(V>^)(x < 3;), ибо посылка этой импликации истинна, а следствие ложно. Во-вторых, докажем, что данная формула тождественно истинна на любом конечном множестве. Доказательство будем вести индукцией по числу элементов в множестве. Если М = {аь а2}, то истинным будут утверждения R(a{, a{), R(a2, а2) и R(a{, ах) -> Щаи а2) v R(a2, л,)), а значит, и дизъюнкция R(a{, a2) v R(a2, a{). Если при этом истинно R(au a2), то истинно (Vy)(R(ab у)), т.е. истинно заключение (3x)(Vy)(i?(x, у)) импликации данной формулы и вся данная формула. Аналогично, если истинно R(a2, a{), то истинно (Vy)(R(a2, у)) и снова истинна вся данная формула. Предположим теперь, что данная формула тождественно истинна на всяком конечном множестве, содержащем не больше чем п элементов. Покажем тогда, что она будет тождественно истинна и на любом (п + 1)-элементном множестве. Пусть М= {яь ..., аю ап + {}. В силу тождественной истинности данной формулы на я-элементном подмножестве М' = {аи ..., ап) и предположения истинности на М' посылки данной формулы имеем истинные высказывания: (Vx)(/?(x, x)) и (Vx)(i?(x, x) -> -> (yy)(R(x, у) v R(y, х))). Тогда истинно заключение (Зх)(\/у) (R(x, у)). Не нарушая общности, можно считать, что таким х будет элемент аь т.е. (Vy)(R(auy)), т.е. истинны все утверждения R(au a2), ..., R(au an). Мы хотим доказать, что данная формула истинна на (я + 1)- элементном множестве М = {аи ..., ап, ап + х}. Для этого нужно показать, что на нем в предположении истинности посылки данной формулы верно ее заключение (3x)(\/y)(R(x, у)). Если верно R(au fl/*+i)> то утверждение доказано. Если же Ri(au an + l) не верно, то, в силу истинности дизъюнкции R(ab an + x) v R(an+], ax), заключаем, что истинно R(an + U ax). 199
Далее, в силу истинности в М посылки (Vx, у, z)(R(x, z) -» -> (R(x, у) v R(y, z))) и утверждений R(au a2), ..., R(a{, а„), приходим к истинности всех следующих дизъюнкций: R(au an + x) v v R(an+U a2), ..., R(au an+{) v R(an+l, an). Поскольку первый член каждой дизъюнкции ложен, то истинны все вторые члены Я(я„+ь а2)> •••> R(an+u ап)- Учитывая еще и истинность R(an+U ax) и, кроме того, /?(дЛ+1, яЛ+1), приходим к истинности утверждения (Vy)(R(an+u у)) на М Это означает истинность на Мзаключения данной формулы (3x)(Vy)(R(x, у)) и всей данной формулы. 9.59. Относительно каждой из следующих формул: а) (Зх)(Р(х)) -> (Vx)(P(x)); б) <3x)(Vj>)№, Л) ^> (Vy)(3x)(P(x, у)) докажите, что если она тождественно истинна в некоторой области, то эта область состоит из одного элемента. 9.60. Покажите, что формула ((Vx)(/?(jc, х)) л (3y)(Vx)(R(x, у))) -» -» (3x)(\/y)(R(x, у)) тождественно истинна на всяком не более чем двухэлементном множестве, но тавтологией не является. 9.61. Пусть формула логики предикатов общезначима. Если уничтожить все кванторы и рассматривать оставшуюся часть как формулу алгебры высказываний, то будет ли она всегда тождественно истинной? Верно ли обратное утверждение? 9.62. Докажите, что если формула алгебры предикатов выполнима на области М, то она выполнима и на всякой области АР, содержащей в себе М. 9.63. Докажите, что V-формула, в которую входят п различных предметных переменных, общезначима (является тавтологией) тогда и только тогда, когда она тождественно истинна на л-эле- ментном множестве. 9.64. Докажите, что 3-формула общезначима (является тавтологией) тогда и только тогда, когда она тождественно истинна на одноэлементном множестве. Логическое следование формул логики предикатов. Понятие логического следования для формул логики предикатов соответствует понятию логического следования для формул алгебры высказываний. Формула G логики предикатов называется логическим следствием формулы F, если при всякой интерпретации, при которой ^превращается в тождественно истинный предикат, формула G также превращается в тождественно истинный предикат. Запись: Ft= G. Как и в алгебре высказываний, F*= G<=* *= F-> G. Также две формулы равносильны тогда и только тогда, когда каждая из них является логическим следствием другой. 9.65. Докажите, что в логике предикатов справедливы следующие логические следования: а) (3y)(Vx)(F(x, у)) »= (Vx)(3y)(F(x, у)); б) (Vx)№)) i= (3x)(F(x)); в) (Зх)(Р(х) a Q(x)) \= (3x)(P(x)) a (3x)(Q(x)); 200
г) (Vx)(P(x)) v (Vx)(fi(x)) t= (Vx)(P(x) v д) (3x)(P(x)) -» (Vx)(G(x)) ^ (Vx)(P(x) -> Q(x)); е) (Vx)(P(x) -> Q(x)) *= (Vx)(P(x)) -> (Vx)(Q(x)); jk)(Vx)(P(x) -> Q(x)) и <3x)(P(x)) -> <3x)(Q(x)). Выясните, верны ли обратные логические следования. 9.66. Докажите, что в логике предикатов справедливы следующие логические следования: а) (\/х)(Дх)) и= .F(j>) — правило удаления квантора общности (или правило универсальной конкретизации); б) F(y) *= (3x)(jP(x)) — правило введения квантора существования (или правило экзистенциального обобщения). Эти правила можно представить также в следующих видах: m Г, F(x) Г HVx)(F(x))' Г, (3x)(F(x)) \=G при условии, что ни в одну формулу из совокупности Г и в формулу G предметная переменная х не входит свободно. Решение, а) Обоснуем первое из этих правил. По условию, Г i= F(x), т.е. формула F(x) превращается в тождественно истинный предикат при всякой такой интерпретации, при которой в тождественно истинные предикаты превращаются все формулы из совокупности Г. Пусть мы имеем такую интерпретацию и при ней формула F(x) превращается в тождественно истинный предикат F0(x, уь ..., уп) от переменных х9 уь —, уп- Тогда, по определению квантора общности, предикат (\/x)(F0(x, уь ..., уп)) от переменных уь ..., у„ также будет тождественно истинным. Это и означает, что Г и= (Vx)(F(x)). 9.67, Выясните, будут ли выполняться в логике предикатов следующие логические следования: а) Q(y) -> P(x) t= Q(y) ~> (Vx)(P(x)); б) Q(y) -» (Vx)(P(x)) ^ Q(y) -> Р(х); в) Р(х) -> Q(y) n (3x)(P(x)) -> Q(y); г) (Зх)(Р(х)) -> Q(y) н= Р(х) -> Q(y); д) Р(х) -> Q(y) ^ (Vx)(P(x)) - е) (Vx)(P(x)) -> ОЫ и Р(х) - ж) (Зх)(Р(х, х)) ^ (Эх)(ЭЖР(^ Л); з) (Vx)(P(x) +> Q(x)) i= (Vx)(P(x) и) (Зх)(5(х) л пР(х)) н= (Vx)(P(x) л -i.S(x)); к) (Эх)№) л Р(х)) i= (3x)(5(x) v Р(х)); л) (Vx)№) -> пР(х)) 1= (Зх)(Р(х) л -i5(x)); м) (Vx)(P(x) <^ Q(x)) i= (Эх)(С(х) -> Р(х)). Р е ш е н и е. л) Предположим, что найдутся такие конкретные предикаты А(х) и В(х), заданные над конкретным множеством М, что Х[(Ух)(В(х) -> -iA(x))] = 1 (1), а Л[(Эх)(Л(х) л ~iB(x))] = 0 (2). Из (1) по определению квантора общности следует, что 201
Х[В(а) -» -iA(a))] = 1 (3) для любого предмета а е М. Из (2) по определению квантора существования следует, что Х[А(Ь) л л -iB(b))] = О (4) для некоторого предмета b e M. Отсюда видно, что если предикаты А(х) и В(х) взять такими, что \i J1'если* = 6, )1 { = 0 и Я,[у4(х)] произвольно, если х ф Ь), то противоречия не получится, соотношения (3) и (4) будут выполняться, вместе с ними будут выполняться соотношения (1) и (2), которые и будут говорить о том, что рассматриваемое следование неверно, м) Допустим, что найдутся такие конкретные предикаты А(х) и В(х), которые заданы над конкретным множеством М, что Х[(ух) (А(х) <-> ВШ = 1 (1), а ЩЗх)(А(х) -* В(х))] = 0 (2). Из (1) по определению квантора общности следует, что Х[А(а) <-» <г> В(а))] = 1 (3) для любого предмета а е М. Из (2) по определению квантора существования следует, что ЦА(Ь) -> В(Ь)] - 0 (4) для некоторого предмета Ъ е М. Тогда из (4) следует, что ЦА{Ь)\ = 1, а Х[В(Ь)] = 0. Два последних соотношения противоречат соотношению (3). Значит, сделанное допущение неверно и рассматриваемое следование справедливо. 9.68. Выясните, будут ли выполняться в логике предикатов следующие логические следования, выражающие на языке логики предикатов соответствующие законы аристотелевой силлогистики: а) (Vx)(S(x) -> P(x)) i= (Bx)(S(x) л Р(х)) (1-й закон подчинения); б) (3x)(S(x) л Р(х)) t= (3x)(P(x) a S(x)) (закон /-обращения); в) (\/x)(S(x) -» Р(х)) \= (Зх)(Р(х) л S(x)) (закон а-обращения); г) (Vx)(S(x) -> -\Р(х)) \= (3x)(S(x) л ~iP(x)) (2-й закон подчинения); д) (Vx)(S(x) ~> -iP(x)) н (\/х)(Р(х) -> ~\S(x)) (закон в-обра- щения). 9.69. Докажите, что в логике предикатов выполняются следующие логические следования, выражающие на языке логики предикатов пятнадцать правильных аристотелевых силлогизмов: а) (Ух)(М(х) -> Р(х)) л (Vx)(.S(*) -> M(x)) t= (Vjc)(J(x) -> -> Р(х)) (фигура I, модус Barbara); б) (Vx)(M(x) ~» пР(х)) л (Vx)(S(x) -> М(х)) »= (Vx)(S(x) -^ -> -iP(jc)) (фигура I, модус Celarent); в) (Vx)(M(x)-+P(x))a(3x)(S(x) л М(х)) i= (3x)(S(x) л (фигура I, модус Darii); г) (Vx)(M(x) -> пР(х)) л (3jc)(5(x) л М(х)) и ( л ~iP(x)) (фигура I, модус Ferio); д) (Vjc)(P(jc) ^ М(х)) л (3x)(S(x) л il(x)) t= (3jc)(5(jc) л л -iP(x)) (фигура II, модус Вагоко); 202
е) (Vx)(P(x) -> nMW) л (Vx)(S(x) -> Щх)) »= (Vx)(£(x) -> -iP(x)) (фигура II, модус Cesare); ж) (Vx)(P(x) -> Л/(х)) л (Vx)(£(x) -» iM(x)) f -» нР(х)) (фигура II, модус Camestres); з) (Vjc)(P(jc) -> ~iM(x)) л (Зх)(£(х) л Щх)) и= (Зх)(£(х) л л пР(х)) (фигура II, модус Festino); и) (Vx)(M(x) -> Р(х)) л (Зх)(М(х) л £(х)) и= (3x)(S(x) л P(jc)) (фигура III, модус Datisi); к) (3x)(Af(x) л -iP(jc)) л (Vx)(M(x) -> 5(х)) и (Эх)(5(х) л л пР(х)) (фигура III, модус Bokardo); л) (Зх)(М(х) л Р(х)) л (Vx)(M(x) -> S(x)) 1= (Зх)(5(х) л Р(х)) (фигура III, модус Disamis); м) (Vjc)(M(jc) -> пР(х)) л (Зх)(Щх) л 5(jc)) m (3x)(5(jc) л л iP(x)) (фигура III, модус Ferison); н) (Эх)(Р(х) л Щх)) л (Vx)(M(x) ^ 5(х)) 1= (ЭхХад л Р(х)) (фигура IV, модус Dimaris); о) (Vjc)(P(x) -> М(х)) л (Vx)(AT(x) ^ пЗД) и (Vx)(S(x) -> -> "iP(x)) (фигура IV, модус Camenes); п) (Vx)(P(x) ~> -|Л/(х)) л (Зх)(М(х) л 5(х)) и (Зх)(5(х) л л "iP(x)) (фигура IV, модус Fresison). Р е ш е н и е. н) Допустим, что данное следование не выполняется. Это означает, что существуют такие конкретные предикаты А(х), В(х), С(х), заданные над конкретным множеством М, что ЩЭх)(С(х) л В(х))] = 1, X[(Vx)(B(x) -> А(х))] = 1, а Х[(Зх)(А(х) л л С(х))] = 0. Тогда из первого соотношения получаем, что для некоторого а0 е М Х[С(а0) л В(а0)] = 1 (1), а из второго и третьего— Х[1?(я) -> А(а)] = 1, Я.[Л(а) л С(я)] = 0 для любого а е М (в частности, для я = aQ: ЦВ(а0) -» ^(д0)] = 1 (2), ЦА(а0) л л С(вь)]= 0(3)). Из (1) заключаем А.[С(д0)] = 1 (4) и А,[5(л0)] = 1 (5). Наконец, из (2) и (5) следует, что Х[А(а0)] = 1, а из (3) и (4) следует, что Х[А(а0)] = 0. Два последних соотношения противоречат друг другу. Это и означает, что сделанное допущение неверно и данное следование выполняется. 9.70. Докажите, что в логике предикатов следующие логические следования не выполняются (хотя они выражают на языке логики предикатов еще четыре правильных аристотелевых силлогизма): а) ((Vx)(M(x) -> Р(х)) л (Vx)(M(x) -> S(x))) -+ (3x)(S(x) л л Р(х)) (фигура III, модус Darapty); б) (Vx)(M(x) -> iP(x)) л (Vx)(M(x) -> S(x)) n= (3x)(S(x) л л -iP(x)) (фигура III, модус Felapton); в) (Vx)(P(x) -> M(x)) л (Vx)(M(x) -> S(x)) н (3x)(S(x) л Р(х)) (фигура IV, модус Bramantip); г) (Vx)(P(x) -> -пЛ/(х)) л (Vx)(M(x) -> 5(х)) и (3x)(S(x) л л пР(х)) (фигура IV, модус Fesapo). 203
Решение, а) Покажем, что данное логическое следование не выполняется. Для этого нужно указать такие конкретные предикаты А(х), В(х), С(х), заданные над некоторым множеством М, что посылка силлогизма превратится в истинное высказывание (Vx)(2?(x) -» С(х)) л (\fx)(B(x) -» А(х)), а следствие — в ложное (Зх)(А(х) а С(х)). Для этого достаточно, чтобы предикат В(х) был тождественно ложен, а предикаты А(х) и С(х) обладали бы тем свойством, что для любого предмета а е Модно из высказываний А(а) или С(а) было бы ложным. Последнее возможно, если, например, один из предикатов А(х) или С(х) является отрицанием другого. Укажите самостоятельно примеры конкретных таких предикатов, например, на множестве N. 9.71, Выясните, будут ли выполняться в логике предикатов следующие логические следования, выражающие на языке логики предикатов «слабые» модусы аристотелевой силлогистики: а) (ух)(Щх) -> Р(х)) л (Vx)(S(x) -> М(х)) и (Эх)(ЗД л л Р(х)) (фигура I, модус Barbari); б) (Vx)(M(x) -> iP(x)) л (Vx)(S(x) -> M(x)) \= (3x)(S(x) л л -*Р(х)) (фигура I, модус Celaront); в) (ух)(Р(х) -> М{х)) л (Vx)(5(x) -> -iM(x)) и (Здс)(5(х) л л -iP(x)) (фигура II, модус Camestrop); г) (Vx)(P(x) ^ -|Д/(х)) л (Vx)(5(х) -> М(х)) 1= (Эх)(5(х) л л "iP(x)) (фигура II, модус Cesaro); д) (Vx)(P(x) -> М(х)) л (Vx)(M(x) -> -i5(x)) i= (3x)(5(x) л л -1Р(х)) (фигура IV, модус Camenos). § 10. Применение логики предикатов к логико-математической практике Записи на языке логики предикатов. Задачи такого типа имеют важное методологическое значение. Они по существу являются своеобразной моделью одной из сторон научно-исследовательского процесса, когда от своего рода «технической» постановки задачи требуется перейти к ее математической постановке, с тем чтобы в процессе ее решения можно было использовать математические методы. 10.1. Запишите следующие высказывания на языке логики предикатов: а) Существует не более одного х такого, что Р(х); б) Существует точно один х такой, что Р(х); в) Существует по меньшей мере два различных хтаких, что Р(х); г) Существует не более двух х таких, что Р(х); д) Существует точно два различных х таких, что Р(х). Решение, а) Прежде переформулируем данное утверждение так, чтобы, во-первых, не исказить его смысл, а во-вторых, сде- 204
лать его полностью готовым к переводу на логико-математический язык, т.е. на язык логики предикатов. Вот эта переформулировка: не верно, что существуют два различных предмета х и у такие, что Р(х) и Р(у) (какие бы два предмета ни удовлетворяли условию Р, они не могут не совпадать, т.е. обязаны совпадать). Теперь мы готовы записать последнюю фразу символически: (Vx)(Vy)((P(x) л Р(у)) -+х = у). 10.2. Введя подходящие одноместные предикаты на соответствующих областях, переведите следующие высказывания на язык логики предикатов: а) Все рациональные числа действительные; б) Ни одно рациональное число не является действительным; в) Некоторые рациональные числа действительные; г) Некоторые рациональные числа не являются действительными. Определите, какие из данных высказываний истинны. Решение. Введем следующие одноместные предикаты: Q(x): «х — рациональное число»; R(x): «x — действительное число». Тогда перевод данных высказываний на язык логики предикатов будет таким: a) (Vjc)(Q(x) -> R(x)); б) (Vx)(Q(x) -> -iR(x)); b)(3x)(Q(x) a R(x)); r) (3x)(Q(x) а лВД). 10.3. Введите одноместные предикаты на соответствующих областях и запишите при их помощи следующие высказывания в виде формул логики предикатов: а) Всякое натуральное число, делящееся на 12, делится на 2, 4 и 6; б) Жители Швейцарии обязательно владеют или французским, или итальянским, или немецким языком; в) Функция, непрерывная на отрезке [0, 1], сохраняет знак или принимает нулевое значение; г) Некоторые змеи ядовиты; д) Все собаки обладают хорошим обонянием; е) Все ромбы являются параллелограммами; ж) Некоторые параллелограммы являются ромбами; з) Ни один параллелограмм не является ромбом; и) Некоторые ромбы не являются параллелограммами; к) Ни один ромб не является параллелограммом; л) Все параллелограммы являются ромбами. 10.4. В следующих примерах проделайте то же самое, что и в предыдущей задаче, необязательно ограничиваясь одноместными предикатами: а) Если а есть корень многочлена от одной переменной с вещественными коэффициентами, то сопряженное число (а) также является корнем этого многочлена; б) Между любыми двумя различными точками на прямой лежит по меньшей мере одна, с ними не совпадающая; 205
в) Через две различные точки на плоскости проходит единственная прямая; г) Каждый студент выполнил по меньшей мере одну лабораторную работу; д) Если произведение нескольких натуральных чисел делится на простое число, то на него делится по меньшей мере один из сомножителей; е) Через три точки, не лежащие на одной прямой, проходит единственная плоскость; ж) Наибольший общий делитель чисел а и b делится на всякий их общий делитель; з) х — простое число; и) Каждое четное число, большее четырех, является суммой двух простых чисел {гипотеза Гольдбаха); к) Существуют три точки на плоскости, не принадлежащие одной прямой. Решение, к) Первая форма записи данного утверждения: (ЗА)(ЗВ)(ЗС) -i (31)(А е I л В е I л С е /). Вторая форма: (3A)(3B)(3C)(Vl) (Aelv Be lv Ce /). 10.5. Запишите на языке логики предикатов отрицание каждого из предложений предыдущей задачи, предварительно сформулировав его. Р е ш е н и е. к) Отрицание формулируется следующим образом: «Любые три точки принадлежат некоторой прямой». В случае второй формы записи отрицание выглядит так: (\/A)(VB)(V C)(3l)(A e е /л Be /л Се /). 10.6. Пусть Р(х) означает «х — простое число», Е(х) означает «х — четное число», О(х) означает «х — нечетное число», D(x, у) — «х делите» или «у делится на л». Переведите на русский язык следующие символические записи на языке логики предикатов, учитывая, что переменные х и у пробегают множество натуральных чисел: а) Р(7); б) Е(2) а Р(2); в) (Vx)(Z)(2, х) -> Е(х)); г) (Зх)(Е(х) a D(x9 6)); д) (Vx)(-i£(x) -> иЯ(2, х)); е) (Vx)((jD(x, 32) л х * 1) -> Е(х)); ж)(Чх)(Е(х)->(Зу)(х=2у)); з) (Vx)(P(x) -> (3y)(E(y) а Я(х, у))); и) (Vx)(O(x) -> (Уу)(Р(у) -> -iZ)(x, у)))', к) (Зх)(£(х) л Р(х)) л -|(Эх)(0(х) л Р(х)) а (Зу)(х Фу а Е(у) а л Р(у)); л) (Vx)(£(x) -> (Vy)(D(x, у) -> £(y))). Решение, л) Это высказывание можно прочитать так: «Для любого натурального числа х, если оно четное, то для любого 206
натурального числа у, если х делит у, то и у будет четным числом». Мы прочитали это высказывание что называется «с листа»: произнесли словами нового языка то, что было написано на старом языке, не вникая в математическую суть утверждения. Вдумаемся теперь в суть этого утверждения и придадим ему более подобающую русскому языку и более понятную форму: «Всякое натуральное число, делящееся на четное число, само будет четным». 10.7. Запишите на языке логики предикатов определения: а) монотонной последовательности; б) ограниченной последовательности; в) предела последовательности (сходящейся последовательности); г) фундаментальной последовательности (или последовательности Коши); д) возрастающей функции, монотонной функции; е) четной функции; ж) периодической функции; з) функции, стремящейся к бесконечности в точке; и) предела функции в точке; к) непрерывности функции в точке; л) равномерной непрерывности функции на множестве. Решение, л) Функция f(x) называется равномерно непрерывной на множестве Л/, если абсолютная величина разности между значениями функции для каждой пары точек хь х2 е М может быть сделана меньше любого наперед заданного как угодно малого положительного числа, если только эти точки достаточно близки друг к другу. Символически, на языке логики предикатов (или, как говорят в анализе, на (г, 5)-языке): (Ve > 0)(Э8 > 0)(Vx,, х2 е М)(\ х{ - х2 \ < 6 -> |/(х,) - f(x2) | < г). 10.8. Пользуясь записями, полученными при решении предыдущей задачи, ответьте на следующие вопросы. Что значит: а) последовательность не является монотонной; б) последовательность не является ограниченной; в) последовательность не является фундаментальной; г) последовательность не является сходящейся; д) функция не является возрастающей, монотонной; е) функция не является четной; ж) функция не является периодической; з) последовательность не имеет предела; и) функция не имеет предела в точке; к) функция не является непрерывной в точке; л) функция не является непрерывной на отрезке? Решение, л) Это значит, что существует такое положительное число, меньше которого не может быть сделана абсолютная 207
величина разности между значениями данной функции в точках хи х2 е М, как бы близко ни находились друг от друга эти точки. На языке логики предикатов: (Эе > 0)(V5 > 0)(Эх„ х2 е М){\ хх - х2 \ < 8 л |/(х,) - f(x2) \ > е). Правильные и неправильные рассуждения. Решить задачи 10.9 и 10.10. 10.9. Проанализируйте следующие рассуждения на предмет их правильности. Для этого выявите логические схемы, на которых они основаны, и выясните, справедливы ли они. а) Все люди смертны. Сократ — человек. Следовательно, Сократ смертен; б) Некоторые люди взошли на Эверест. Эдмунд Хиллари — человек. Следовательно, Эдмунд Хиллари взошел на Эверест; в) Во всех городах за Полярным кругом бывают белые ночи. Петербург не находится за Полярным кругом. Следовательно, в Петербурге не бывает белых ночей; г) Все сильные шахматисты знают теорию шахматной игры. Иванов не является сильным шахматистом. Следовательно, Иванов не знает теорию шахматной игры; д) Некоторые змеи ядовиты. Ужи — змеи. Следовательно, ужи — ядовиты; е) Всякий металл является твердым веществом. Ртуть не твердое вещество. Следовательно, ртуть не металл. Решение, е) Рассуждение основано на следующей логической схеме: (Ух)($(х) -> Р(х)), ~\Р(а) i= iS(a). Проверьте, что она верна. 10.10. Проанализируйте следующие рассуждения на предмет их правильности. Для этого выявите логические схемы, на которых они основаны, и выясните, справедливы ли они: а) Все рациональные числа — действительные. Все целые числа — рациональные. Следовательно, все целые числа — действительные; б) Ни одно действительное число не является мнимым числом. Все целые числа —- действительные. Следовательно, ни одно целое число не есть мнимое; в) Все целые числа — рациональные. Некоторые вещественные числа — целые. Следовательно, некоторые вещественные числа — рациональные; г) Все ромбы — параллелограммы. Все прямоугольники — параллелограммы. Следовательно, все ромбы — прямоугольники; д) Все ромбы — параллелограммы. Все прямоугольники — параллелограммы. Следовательно, все прямоугольники — ромбы; е) Некоторые четные функции периодические. Ни одна монотонная функция не является четной. Следовательно, ни одна периодическая функция не монотонна; 208
ж) Некоторые четные функции периодические. Ни одна монотонная функция не является четной. Следовательно, ни одна монотонная функция не является периодической; з) Все квадраты — правильные многоугольники. Ни одна трапеция не есть правильный многоугольник. Следовательно, ни одна трапеция не есть квадрат; и) Некоторые математики суть логики. Все логики знакомы с произведениями Аристотеля. Следовательно, некоторые математики знакомы с произведениями Аристотеля; к) Все студенты СГУ — жители Саратовской области. Некоторые жители Саратовской области — пенсионеры. Следовательно, некоторые студенты СГУ — пенсионеры; л) Все хирурги — врачи. Некоторые врачи — Герои России. Следовательно, некоторые хирурги — Герои России; м) Все пловцы — спортсмены. Ни один спортсмен не курит. Следовательно, ни один курящий не является пловцом. Р е ш е н и е. л) Введем обозначения для предикатов: U(x): «х — хирург», Е(х): «х — врач», Щх): «х — Герой России». Тогда посылки данного рассуждения на языке логики предикатов запишутся в следующем виде: (Vx)(U(x) -> Е(х)) и (Зх)(Е(х) л Щх))9 а заключение — в виде (3x)(U(x) л Щх)). Таким образом, структура данного умозаключения имеет следующий логический вид: (Vx)(U(x) -> Е(х))у (Зх)(Е(х) л Щх)) *= (Зх)(Щх) л Щх)). Выясним, верно ли данное логическое следование. Рассуждаем методом от противного. Допустим, что оно неверно, т. е. для некоторых конкретных предикатов А(х), В(х), С(х), заданных над множеством М, имеет место: Х[(\/х)(А(х) -> В(х))] = 1, Х[(Зх)(В(х) л л С(х))] = 1, но Х[(Зх)(А(х) л С(х))] = 0. Из первого и третьего соотношений тогда следует, что Х[А(а) -» В (а)] = 1 и Х[А(а) л С (а)] = 0 для любого а е М9 из второго —- Х[В(Ь) л С(Ь)] = 1 для некоторого Ъ е М Итак, если предикаты А(х), В(х), С(х), заданные над множеством М, таковы, что А+ с 2?+, 5+nCV0,a>4+nC+ = 0, то все полученные соотношения будут удовлетворены. Например, А(х): «х — рациональное число», В(х): «х — действительное число», С(х): «х — иррациональное число». Это и означает, что рассматриваемое следование неверно. м) Введем обозначения для предикатов: L(x): «x — пловец», С(х): «х — спортсмен», К(х): «х — курильщик». Тогда посылки данного рассуждения на языке логики предикатов запишутся в следующем виде: (Vx)(Z,(x) -> С(х)) и (Vx)(C(x) -> -\К(х)), а заключение — в виде (\/х)(К(х) -> -iL(x)). Таким образом, структура данного умозаключения имеет следующий логический вид: (Vx)(I(x) -> ОД), (V*)(C(*) -> iK(x)) i= (Ух)(К(х) -> -iZ(x)). Выясним, верно ли данное логическое следование. Рассуждаем методом от противного. Допустим, что оно неверно, т.е. для некоторых конкретных предикатов А(х), В(х), С(х), 209
заданных над множеством Af, имеет место: Х[(Ух)(А(х) -» В(х))] = = 1 (1), X[(Vx)(B(x) -> -.ОД)] = 1 (2), а X[(Vx)(C(x) -> -тА(х))] = О (3). Из (3) тогда следует, что X[C(b) -* -iA(b)] = 0 для некоторого 6 g М, т.е. МС(Л)] = 1 (4) и А.[Л(*)] = 1 (5). Далее, из (1) следует, что Х[А(а) -> В(а)] = 1 для любого а е М, и в силу (5), это дает ЭДЯ(6)] = 1 (6). Далее, (2) и (6) дают Х[С(Ь)] = 0 (6), что противоречит (4). Вывод: рассмотренное логическое следование выполняется и проведенное рассуждение верно. Логика предикатов и алгебра множеств. Решить задачи 10.11 и 10.12. 10.11. Докажите на языке логики предикатов следующие утверждения из алгебры множеств (используйте при этом определение равных множеств А = В <=> (\/х)(х е А <-» х е В), вытекающий из него критерий А^В^А^ВиВ^А, и тавтологии логики высказываний и(или) логики предикатов): а) A u A = А (идемпотентность объединения); б) АпА = А (идемпотентность пересечения); в) Аи В= Bkj А (коммутативностьобъединения); г) АпВ= ВпА(коммутативностьпересечения); д) (Аи B)kj C = Akj (Bkj С) (ассоциативность объединения); е) (А п В)\ п С- А п (Вп С) (ассоциативность пересечения); ж) А и (В п С) = (А и В) п (А и С) (дистрибутивность объединения относительно пересечения); з) А п (В kj С) = (А п В) u (A n С) (дистрибутивность пересечения относительно объединения); и) Akj(Bг\А) = А (1-й закон поглощения); к) An (В\j_A) = A (2-й закон поглощения); л) AkjB = AnB (1-й закон де Моргана); м) АпВ = Аи В (2-й закон де Моргана); н)Аи U= U, An U=A; о) Аи 0 = A, An 0 = 0; п) AuA = lL> AnA = 0; р) 0 = U, U = 0; с) А = А; т) А\В=Ап В; у) А^В<=>АпВ = А; ф)А^В**АиВ = В; х) А с А и В; ц) АпВ^А. Решение, а) х е Аи А<=* х е Av х е А*=* х е А. На последнем шаге применена тавтология из теоремы 3.2, а Учебника: (Р v P) <-> Р. е) хе(АпВ)пС<=>хеАпВлхе С*=>(хеАлхеВ)лхе С<=> *=>хеАл(хеВлхе С)<^хеАлхеВпС<=>х<=Ап(ВпС). Использована тавтология из теоремы 3.2, г Учебника: ((Р л Q) л л R) +± (Pa(Q л R)). 210
и) xeAv(BnA) *=>xeAvxeBnA<=>xeAv(xeBAXeA)<=> *=> x eA. Использована тавтология из теоремы 3.2, е Учебника: (Р v v (Qa Р)) <г> Р. л) хе Аи В «х^иВ« -\(х е Akj В) » н(х е A v x e В) « « ni(jc g Л) л -i(x е5)»х^^лх^5«^е А ах е В <=> х € g Л п 2?. Использована тавтология из теоремы 3.2, ж Учебника: -i(Pv (?)<-> у) /1п5 = а х G В) <=> П(Х G >4) V (X G >4 Л X G 5) <=> ("l(X G у4) V X G А) А (п(х G g A) v х g J5) « 1 л (-i(x Gy4)vx€iB)«(xe^->jC6jB)»^ci Проанализируйте приведенную цепочку рассуждений и выявите использованные тавтологии. х) xeA=>XGAvxeB<^xeAuB. Использована тавтология из теоремы 3.2, б Учебника: Р-> (Pv Q). ц)хеАпВ<^хеААхеВ=*хеА. Использована тавтология из теоремы 3.2, б Учебника: (Р л Q) -» Р. 10.12. Докажите на языке логики предикатов следующие утверждения из алгебры множеств. Используйте при этом определения объединения и пересечения семейств множеств U М, = {х: (3/ g /)(x g Л/,)}, р| М;- = {х: (V/ g /)(x g Mi)) iel /б/ и тавтологии логики высказываний и(или) логики предикатов: a) /б/ б) *иПГ/ П /е/ /е/ в) (U^)^(U}0)= U /б/ г) (П^)^(П^)= П /€/ ye/ (i,j)elnj д) (U^/)^(U10)= U /е/ уеУ (iJ)elnJ е) (П^)и(П^)= П ж) з) iel iel = (J iel 211
и) (\JX,)x(\JYj)= к) (f]Xi)x(f]YJ)= П (X,*Yj). /€/ jeJ (ij)elxj Решение.к) Рассуждаем следующим образом: (х,у)е(ПХ1)х(ОЪ)~хе(Г\Х1)луе{Г\Г1)~ (V/ <= /€/ уеУ /е/ yW € Л}) Л (V/ е /)(>> е JJ) « (V/ е /)(V/ б /)((х е *,) Л (у е ty « (V(i, у) е / х /)((х, ^) е Л", х JJ) « (х, у) е П (X, х УД (/,У)е/хУ Равносильные преобразования неравенств и уравнений при их решении. Каждое уравнение и каждое неравенство с одним неизвестным представляет собой одноместный предикат, заданный, чаще всего, над множеством вещественных чисел. Все решения того или иного уравнения или неравенства представляют собой множество истинности соответствующего предиката. Решение уравнения или неравенства есть не что иное, как равносильное его преобразование: ведь на каждом шаге мы хотим сохранить множество корней (т.е. множество истинности), не потеряв ни одного и не добавив лишнего; в конце преобразований мы приходим к столь простому уравнению или неравенству (или их системе), из которого его множество истинности (и, значит, множество истинности исходного уравнения или неравенства) отчетливо видно. Процесс же равносильных преобразований есть уникальный синтез математики и логики: математическое существо подвергается логическому анализу. Непонимание законов логики приводит к запутыванию в случаях и подслучаях, математика здесь тогда не выручает. Придумываются различные методы решения (например, метод интервалов), позволяющие не упустить ни одной возможности, но все они вторичны. Первична же логика равносильных преобразований. 10.13. Выделите логическую систему случаев для решения неравенств и уравнений следующих типов: а) f(x)/g(x)>0; ж) |/(х)|>*(х); б) /(x)/g(x) <0; з) f(\x\) = g(x); в) 2V/W < *(*), где к е N; и) \f(x)\ = g(pc); > g(x), где к е N; к) *(|/(х)|) = g(x); Д) 10ЬЛ*) > log.g(x); л) |*(|Л*)|)| =*(*). е) |Л*)1 <*(*); Решение, д) log. Л*) > iQb <?(*) ~ [(0 < в< 1) л (f(x) > 0) л л (fix) < g(x))} v [(a > 1) л (g(x) > 0) л (f(x) > g(x))] ~ [(0 < < а < 1) л (0 < f{x) < g(x))] v [(a > 1) л (/(х) > g(x) > 0)]. 212
л) \h(\f(x)\)\ = g(x) « (f(x) > О л \h(f(x))\ = g(x)) v (f(x) < О л л \h(-f(x))\ = g(x)) v [g(x) > О л (Л(| /(х)|) = g(x) v - Л(| Дх)|) = = g(*))) « [Дх) > О л ((Л(/(х)) > О л А(/(х)) = g(x)) v (А(Дх)) < < О л - Л(/(х)) = g(x)))] v [/(х) < О л ((Л(-/(х)) > О л А (-/(*)) = > О л Л(Дх)) = g(x)) v (/(х) < О л Л (-/(*)) = g(x)) v (/(x) > О л л -Л(/(х)) = g(x)) v (/(х) < О л -А(-/(х)) = g(x)))]. 10.14. Запишите решение следующих неравенств и уравнений в виде последовательности равносильных предикатов: , Зх + 5 , . х + 5 - а) ^г^<1> Д) loei з^Гз > ' е) log*, (х2 - 5х + 6) < 1; в) lOg3±^<-2; ж)||2х2-х|-3|<2х2 + х+5; Г\ 1л\ст ——— ^ —О* *э^ I V* I Л. v I I — О v* -L. ^ Решение, a) < 1<=> 1 <0<=> <0 <=> 2x~4 2x-4 2x-4 <=>~^-<0<i>(x + 9>0a2x-4<0)v(x + 9<0a2x-4>0)<» <=> ((x>-9) л (x < 2)) v ((x < -9) л (x> 2))» (-9 < x < 2) v ЛОЖЬ о »-9 <x< 2. Символом ЛОЖЬ обозначен тождественно ложный предикат. Здесь использовано следующее свойство предикатов: дизъюнкция любого предиката Р(х) и тождественно ложного предиката рав- носильна предикату Р(х). б) V5-x >х+1«[х+1>0л5-х>(х+ I)2] v[x+1 <0a5- - х > 0] <=> [(х > ~1) л (х2 + Зх - 4 < 0)] v [(х < -1) л (х < 5)] <=> [(х > > -1) А (-4 < X < 1)] V (X < -1) <=> (~1< X < 1) V (X < -1) <*(Х< 1). Логика этих преобразований такова. Предикат х < 5 является следствием предиката х < -1, т. е. предикат (х < -1) -> (х < 5) является тождественно истинным, а значит, и предикат (х < -1) -»((х < < -1)л(х<5)) также тождественно истинен. Поскольку, кроме того, предикат с обратной импликацией ((х < -1) л (х < 5)) -» -> (х < -1), очевидно, тождественно истинный, то приходим к равносильности предикатов (х<-1)л(х<5) и х<-1, чем мы и воспользовались в процессе преобразований. § 11. Формализованное исчисление предикатов Алфавит (чистого) исчисления предикатов состоит из предметных переменных хьх2,..., предметных констант (символы выделенных элементов) сь с2,..., предикатных букв Рь Р2,..., Д,..., а также знаков логических связок пил, кванторов V и 3 и скобок (,). 213
Понятие формулы определяется индуктивно: а) если Рп — предикатная буква, /ь ..., tn — предметные переменные и(или) константы, то Pn(tu ..., tn) — формула; при этом все вхождения переменных в эту формулу называются свободными; б) если F\, F2 — формулы, то формулами являются -\FU (Fx -» -» F2); причем все вхождения переменных, свободные в Fu F2, являются свободными и в формулах указанных видов; кроме того, можно считать, что в Fx и F2 нет предметных переменных, которые связаны в одной формуле и свободны в другой; в) если F(x) —- формула, содержащая свободные вхождения переменной х, то (Vx)(F(x)) и (3x)(F(x)) — формулы; при этом вхождения переменной л: в них называются связанными; вхождения же всех остальных предметных переменных в эти формулы остаются свободными (связанными), если они были свободными (связанными) в формуле F(x) (формула F(x) называется областью действия квантора); г) никаких других формул, кроме тех, которые строятся по правилам а), б), в), нет. Система аксиом исчисления предикатов состоит из двух частей. Первая — это аксиомы формализованного исчисления высказываний: (Al) F^(G^F); (А2) </•-»<<?-> Я)) -> ((F-> G) -> (/■-> Я)); (A3) (-!<?->-iF)->(-.£-> F)->G), где под F, G, Я понимаются уже любые формулы исчисления предикатов. Вторая группа аксиом (схем аксиом) — это собственно предикатные аксиомы (схемы аксиом), т.е. аксиомы с кванторами. Выберем в качестве них следующие (называемые аксиомами Бернайса): (РА1) (РА2) где F(x) — любая формула, содержащая свободные вхождения х, причем ни одно из них не находится в области действия квантора по у (если таковой имеется); формула F(y) получена из F(x) заменой всех свободных вхождений jc на у. К правилу вывода модус Ponens (MP) из исчисления высказываний добавляются еще два правила вывода: F -> G(x) f _> (\/x)(G(x)) (^"пРавило5 ИЛИ правило обобщения); G(x) -> F (3x)(G(x)) -> F (3-пРавило> и™ правило конкретизации) при условии, что G(x) содержит свободное вхождение х, a F не содержит. Построение выводов из аксиом. Формула G называется выводимой из гипотез Fu ..., Fm с фиксированными вхождениями (в 214
гипотезы) свободных переменных, если существует такая конечная последовательность формул Ви В2, ..., Вк, ..., Bs = (?, каждая формула, которая является либо аксиомой, либо гипотезой, либо получена из предыдущих формул последовательности по одному из правил вывода. (Сама эта последовательность называется выводом G из гипотез Fu ..., Fm.) При этом, если Вк есть первая гипотеза, встречающаяся в выводе, то дальше в этом выводе не могут быть использованы V- и 3-правила вывода по любой переменной х, которая входит свободно хотя бы в одну из гипотез. Обозначение: Fu ..., Fm н- G. Если гипотезы отсутствуют, то говорят, что G выводима из аксиом (или просто выводима), и называют G теоремой формализованного исчисления предикатов, и пишут н G. 11.1. Приведите пример, подтверждающий существенность того требования к аксиомам (РА1) и (РА2), что F(x) — любая формула, содержащая свободные вхождения х, причем ни одно из них не находится в области действия квантора по у (если таковой имеется). 11.2. Приведите пример, подтверждающий существенность того требования к V-правилу и 3-правилу, что G(x) содержит свободное вхождение jc, a F(x) — не содержит. 11.3. Докажите, что в ФИП из выводимости формулы F(x), содержащей свободные вхождения х, ни одно из которых не находится в области действия квантора по у, следует выводимость формулы F(y) (правило переименования свободных переменных). Решение. Построим вывод формулы F(y) при условии выводимости формулы F(x): (1) F(x) (выводима по условию); (2) G (любая доказуемая формула, не содержащая свободных вхождений х (это ограничение понадобится на шаге (5))); (3) F(x)->(G->F(x)) (аксиома (А1)); (4)(?->ад (МР: (1), (3)); (5) G->(Vx)(F(x)) (V-правило: (4)); (6) (Vx)(F(x)) (MP: (2), (5)); (7) (Vx)(F(x)) -> F(y) (аксиома (РА1)); (8) F(y) (MP: (6), (7)). 11.4. Докажите, что в формализованном исчислении предикатов а) из выводимости формулы (Vx)(F(x)) следует выводимость формулы (\/y)(F(y)); б) из выводимости формулы (3x)(F(x)) следует выводимость формулы (3y)(F(y)) при условии, что формула F(x) не содержит свободных вхождений у и содержит свободные вхождения х, ни одно из которых не входит в область действия квантора по у (правила переименования связанных переменных). Решение, а) Построим вывод формулы (Vy)(F(y)) из формулы (Vx)(F(x)). С учетом выводимости (из аксиом) последней формулы это будет доказывать выводимость первой формулы: 215
(1) (Vx)(.F(x)) (выводима по условию); (2) (Vx)№)) -> F(y) (аксиома (РА1)); (3) (Vx)№)) -» (Vj)(f(j;)) (V-правило: (2)); (4) ОО0(*Ш (MP: (1), (3)). 11.5. Докажите, что следующие формулы являются теоремами формализованного исчисления предикатов, для чего постройте выводы этих формул из аксиом: а) (Vx)№)) -* (Зх)№)); б) (Vx)(Vy)№, у))<+ (Vj;)(Vx)(/Xx, у)); в) (3x)(3y)(f (х, у)) <■> (ЗуХЗхХ^х, у)); г) (3x)(V^)(F(x, у)) -> (Vy)(3x)(F(x, у)). Р е ш е н и е. в) Укажем последовательность шагов вывода: (1) F(u, v) -> (3x)(F(x, у)) (аксиома (РА2)); (2) F(u, v) -+ (3j>)(3*)№, у)) (аксиома (РА2)); (3)(Э»Х^(и,»))->(ЭуХЗхХД*,У)) (3-правило: (2)); (4)(3u)(3v)(F(u,v))->(3y)(lx)(F(x,y)) (3-правило: (3)); (5) (3x)(3y)(F(x, у)) -^ (3^)(3x)(f (х, у)) (переименование переменных); (6) (3y)(3x)(F(x, у)) -> (3x)(3y)(ir(x, >»)) (доказывается аналогично (5)); (7)(3x)(3y)(F(x,y)<*(3y)(3x)(F(x,y)) (правило л-вв: (5), (6)). 11.6. Докажите, что следующие формулы являются теоремами формализованного исчисления предикатов, построив их выводы из аксиом: а) б) Решение, а) Вывод состоит из последовательности шагов: (1) (Vx)(-i.F(x)) -> ->F(y) (аксиома (РА1)); (2) -i-iF(y) -> -i(Vx)(-i/'(x)) (получена из (1) по правилу ФИВ: 2(?); (3) F(y) -^ ~\~iF(y) (теорема ФИВ); (4) F(y) -> -1(Ух)(-1^(х)) (получена из (3), (2) по правилу силлогизма из ФИВ); (5) {3y)(F{y))-+-i{Vx)(-,F(d) (3-правило: (4)); (6) (3x)(F(x)) -+ -i(Vx)(-ijF(x)) (переименование: (5)); (7) F(y)^(3x)(F(x)) (аксиома (РА2)); (8) -i(3x)(/r(x)) -> -\F(y) (получена из (7) по правилу контра- позиции из ФИВ); (9) -.(Эх)№)) -> (Vy)bF(y)) (V-правило: (8)); (10) -\(3x)(F(x)) -> (Vx)(-iF(x)) (переименование: (9)); (11)-i(Vx)(-i/;'(x))->-i-i(3x)(/;'(x)) (получена из (10) по правилу контрапозиции); (12)-i-i(£:x)(JF(x))->(3x)(i;'(x)) (теорема ФИВ: -i-iP -* Р); (\У) -i(\/x)(-\F(x)) -> (3x)(F(x)) (получена из (11), (12) по правилу ФИВ силлогизма); (14)(3x)(/"(x))^-i(Vx)(-iF(x)) (правило л-вв: (6), (13)). 216
Построение выводов из гипотез. Решить задачи 11.7— 11.9. 11.7. Докажите следующие свойства выводимости из гипотез, представляющие собой правила введения и удаления кванторов: а) если Г н F(x), то Г н (Vx)(F(x)) (правило ВКО); б) (Vx)(F(x)) ь- F(y) (правило УКО); в) F(y) н- (3x)(F(x)) (правило ВКС). Решение, а) Приводим вывод: (1) Fix); (2) G (любая доказуемая формула, не содержащая свободных вхождений х (ограничение на х понадобится на шаге (5))); (3) F{x) ->(<?-► F(x)) (аксиома (Al)); (4)G->F(x) (MP: (1), (3)); (5)G->(Vx)(F0c)) (V-правило: (4)); (6) (Vx)№)) (MP: (2), (5)). 11.8. Докажите, что в ФИП справедливы следующие выводимости, построив выводы формул из соответствующих гипотез: а) (Vx)(F(x) -»• G(x)) i- (Vx)(F(x)) -> (Vx)(G(x)); б) F(y) -► G(y) н (3x)(F(x)) -» (3x)(G(x)); в) (Vx)№) -> G(x)) h (3x)(F(x)) -> (3x)(G(x)); r) (Vx)(G-> F(x)) ь- G-> (Vx)(F(x)); д) (Vx)(f(x) -><?)•- (ЭхКДх)) ^ G; е) (3x)(f (x)) ^ (Vx)(G(x)) к /-(у) _ ж) (3x)(F(x)) -> (Vx)((?(x)) к (3x)(F(x) з) (3x)(f(x)) -> (Vx)((?(x)) н (Vx)(f(x) и) (Vx)(F(x) о </(x))«- (3x)(F(x)) ^ (3x)(<?(x)); к) (Vx)(f(x) «• (7(x)) H- (Vx)(f(x)) о (Vx)((?(x)). Решение, к) Вывод имеет следующий вид: (1) (Vx)(F(x) <-> G(x)) (гипотеза); (2) F(y) о G(y) (правило УКО: (1)); (3) F(y) -+ G(y) (правило л-уд: (2)); (4) ед -^ F(y) (правило л-уд: (2)); (5) (Vx)№)) ^ F(y) (аксиома (РА1)); (6) (Vx)(f(x)) -» G(y) (правило силлогизма: (5), (3)); (7)(Vx)(F(x))^(Vy)(G(y)) (V-правило: (6)); (8)(Vx)(ir(x))-)-(Vx)(G!(x)) (переименование: (7)); (9) (Vx)(G(x)) ^> G(y) (аксиома (РА1)); (Щ (Vx)(G(x))-> F(y) (правило силлогизма: (6), (4)); (11)(Ух)(<7(х))->(УЖад) (V-правило: (10)); (12)(Vx)(G(x))-^(Vx)(/'(x)) (переименование: (11)); (13) ((Vx)№)) -> (Vx)(G(x))) ^> [((Vx)((?(x)) -> (Vx)(f (x))) -»• -^ ((Vx)(F(x)) <r> (Vx)((?(x)))] (теорема ФИВ: А-+(В->(Ал В))); (14) ((Vx)(G(x)) -♦ (Vx)(F(x))) -»• ((Vx)(f (х)) о (Vx)((?(x))) (MP: (8), (13)); (15)(Vx)№))o(Vx)«?(x)) (MP: (12), (14)). 217
11.9. Докажите следующие теоремы формализованного исчисления предикатов: а) n(Vx)(F(x))+*(3x)bF(x)y, б) (\fx)(F(x))<*-i(3x)bF(x)). Решение.а) Последовательность шагов вывода следующая: (1) F(x)<r>~\-iF(x) (теорема ФИВ); (2) (\/x)(F(x) <-> -i-uF(x)) (правило ВКО (задача 11.7, а)); (3) (V*)№)) <-> (Vx)(mF(x)) (задача 11.8, /с); (4) (Vx)№))-*(Vx)(nn/Xx)) (правило л-уд: (3)); (5) {Vx)b-iF(x))-*(Vx){F(x)) (правило л-уд: (3)); (6) -i(Vx)(-i-i/r(x)) -> -i(Vjc)(jF(jc)) (правило контрапозиции из ФИВ: (4)); (7) -i(Vx)(F(x))->-i(\/x)(-i-iF(x)) (правило контрапозиции из ФИВ: (5)); (8) -*(Vx)(F(x)) <r>-i(Vx)(-i-iF(x)) (правило л-вв: (6), (7)); (9) (JEx)(-iF(x)) <-> -i(Vx)(-i-iF(x)) (задача 11.6, а); (10) -i(\/x)(F(x))++{3x)(-\F(x)) (из (8), (9) по правилу ФИВ: Q, Q) Теорема о дедукции и ее применение. Теорема о дедукции в ФИП формулируется так же, как и в ФИВ: если Fb ..., Fm_b Fm н- G, то F\9 ..., Fm_x ь- Fm-+ G (в частности, если F*= G, то n= jF-» G). 11.10. Если Г, F(x) и- (?, то Г, (3jc)(JF(jc)) \- G при условии, что x не входит свободно ни в формулу (?, ни в одну формулу из Г (правило У КС — удаления квантора существования). Решение. Укажем соответствующий вывод: (1) Г, F(x) н G (условие); (2) Г н F(x) -^ G1 (теорема о дедукции: (1)); (3) F(x) ->(?н (3x)(F(x)) -> G (Э-правило); (4) Г н (3x)(F(x)) -» G (свойство вьгоодимости: (2), (3)); (5) Г, (3x)(F(x)) h- (3x)(f(x)) -> G (свойство выводимости: (4)); (6) Г, (3x)(F(x)) к (ЗхШх)) (очевидно); (7) (3x)(^(x)), (3x)(F(x)) ->G*-G (правило МР); (8) Г, (3x)(/(jc)) н (? (свойство выводимости: (5), (6), (7)). 11.11. Используя теорему о дедукции, докажите, что в ФИП справедливы следующие выводимости: a) б) в) г) (3x)(F(x) -> (7) д) (?-> (ЭхХ^х)) н (3jc)(C?-> ^(x)); е) (VxK^x)) -> (?н (ЭхКЛх) -> (?). Решение.а) Нетрудно видеть, что: G -> (Vx)(F(x)), G н /"(у). В самом деле, из формул G-+ (\/x)(F(x)), G по правилу МР сначала выводится (Vx)(F(x)). Затем из последней формулы и аксиомы (РА1) по МР выводится формула F(y). Тогда по теореме о дедукции (7-> (Vx)(F(x)) i-G-> F(y). Из последней формулы по 218
правилу ВКО (задача 11.7, а) выводится формула (\/y)(G-> F(y)), или (Vx)(<7-» F(x)). Окончательно, G-» (Vx)(/"(x)) (- (\/x)(G-> F(x)). б) Докажем сначала, что (3x)(F(x)) -► G, F(y) н G: (*) (1) (3x)(F(x)) -> (7 (гипотеза); (2) F(y) (гипотеза); (3) F(y) ->• (3x)(F(x)) (аксиома (РА2)); (4) (3x)(F(x)) (MP: (2), (3)); (5) G (MP: (4), (1)). Из выводимости (*) по теореме о дедукции заключаем, что (3x)(F(x))->G^F(y)->G. (**) Наконец, из выводимости (**) по правилу ВКО (задача 14.7, а) заключаем, что (3x)(F(x)) -> G\- (Vy) (F(y) -> G) или (3x)(F(x)) -» -> G н (Vx)(F(x) -» G). 11.12. Используя теорему о дедукции, докажите, что в ФИП справедливы следующие теоремы (отыщите среди них все тавтологии логики предикатов, приведенные в теоремах 21.11 и 21.12 Учебника): а) (yx){G^F{x))^(G^(yx){F{xm б) (Vx)№) -> G) <-+ ((Зх)№)) -» G); в) (Зх)(G-> Дх)) ^ (G-»(Зх)(/-(х))); г) (ЗхХДх) -^ (?) ^ ((Vx)(F(x)) -^ (?); д) (Vx)№) vG)o ((Vx)(F(x)) v G); е) (3x)№) aG)« ((3x)(F(x)) л G); ж) (Vx)(,F(x) л G(x)) ** ((Vx)(f(x)) a (Vx)(G(x))); з) (3x)(F(x) v G(x)) ^ ((3x)№)) v (3x)(G(x))). Решение, з) Докажем сначала, что (3x)(F(x) v G(x)) н (1) (F(^) н (Зх)(/"(х)) (правило ВКС); (2) (3x)CF(x))^(3x)(F(x))v(3x)(G(x)) (правило v-вв); (3) F(^) н (3x)(f(x)) v (3x)(G(x)) (получена из (1), (2)); (4) G(y) у- (3x)(G(x)) (правило ВКС); (5) (3x)(G!(x))H(3x)(ir(x))v(3x)(G!(x)) (правило v-вв); (6) G(y) н (3x)(F(x)) v (3x)(G(x)) (получаем из (4), (5)); (7) F(y) v G(y) у- (3x)(F(x)) v (Зх)((7(х)) (правило v-уд: (3), (6)); (8) (3x)№) v G(x)) к (Зх)(/Хх)) v (3x)(G(x)) (УКС: (7)). Следовательно, по теореме о дедукции: н 0x)(F(x) v G(x)) -> ((3x)(/"(x) v (3x)(G(x))). (*) Теперь докажем, что (Зх)(^(х)) v (Эх)((7(х)) н (3x)(.F(x) v (С(х)): (1) F(y) у- F(y) v G(y) (правило v-вв); (2) F(y) v G(y) к (3x)(F(x) v G(x)) (правило ВКС); (3) F(y) к (3x)№) v (?(x)) (получена из (1), (2)); (4) (5(д>) н- /"(у) v G( j) (правило v-вв); 219
(5) G(y) i- (3x)(F(x) v G(x)) (получена из (4), (2)); (6) (3x)(F(x)) h (3x)(F(x) v G(x)) (правило УКС: (3)); (7) (3x)(G(x)) н (3x)(F(x) v (7(x)) (правило УКС: (5)); (8) (3x)(F(x) v (3x)(G(x)) н (3jc)(/-(x) v G(x)) (правило v-уд: (6), (7)). Следовательно, по теореме о дедукции: к ((3x)(F(x)) v (Зх)(ОД)) ^ (3x)(F(x) v (?(x)). (**) Из теорем (*) и (**) по правилу л-вв получаем требуемую теорему.
Глава V ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ В этой главе собраны задачи о трех форматизациях интуитивного понятия алгоритма — о машинах Тьюринга (§ 12), о рекурсивных функциях (§ 13) и о нормальных алгоритмах Маркова (§ 14). § 12. Машины Тьюринга Машина Тьюринга полностью определяется: а) внешним алфавитом А = {а0, др ..., ап}, где а0 — символ пустой ячейки, я, = 1; б) алфавитом внутренних состояний Q = {q0, qv ..., qm}, где q0 — состояние остановки: попав в него, машина прекращает работу; qx — начальное состояние: в этом состоянии машина начинает работать; в) программой (или функциональной схемой), т.е. совокупностью выражений Г(/, У)(/=1, ..., т; j = 0, 1, ..., я), каждое из которых имеет один из следующих видов: qp. -> qkaf, qfi. -» <7*Д/П, qp. -> qkatR, где 0 < k < т, О < / < п. Выражения Г(/, j) называют командами. Наглядно устройство и работу машины Тьюринга можно представить себе следующим образом. Машина имеет бесконечную в обе стороны ленту, разбитую на ячейки. В каждой ячейке записана ровно одна буква из внешнего алфавита А (запись буквы а0 означает, что ячейка пуста). В каждый момент времени (такт работы) машина находится в одном из состояний, обозначаемых буквами алфавита внутренних состояний, и «обозревает» точно одну ячейку ленты («читает» информацию, записанную в ячейке). По команде qfy -> 0£0jJT(где Х- П или Х= Л, или Xотсутствует), означающей, что машина находится в состоянии q. и обозревает ячейку, в которой записана буква ар машина переходит в состояние qk, в обозреваемой ячейке стирает букву а. и заносит туда букву аг Затем машина переходит к обозрению ячейки, следующей справа или слева от предыдущей в зависимости от того Х= П или Х= Л соответственно, или же продолжает обозревать предыдущую ячейку, если место Хв команде не заполнено. После выполнения указанной команды машина на следующем такте переходит к выполнению команды qkat -> qrasXn т.д. Словом в алфавите А или в алфавите Q, или в алфавите A u Q называется любая последовательность букв соответствующего ал- 221
фавита. Под к-й конфигурацией будем понимать изображение ленты машины с информацией, сложившейся на ней к началу А:-го такта (или слово в алфавите А, записанное на ленте к началу &-го такта), и с указанием того, какая ячейка обозревается в этот такт и в каком состоянии находится машина. Имеют смысл лишь конечные конфигурации, т.е. такие, в которых все ячейки ленты, за исключением, быть может, конечного числа их, пусты. Будем говорить, что непустое слово ги в алфавите А\{а0} = = {л,,..., ап} воспринимается машиной в стандартном положении, если это слово записано в последовательных ячейках ленты, все другие ячейки пусты и машина обозревает крайнюю справа ячейку из тех, в которых записано слово ги. Стандартное положение называется начальным (заключительным), если машина, воспринимающая слово в стандартном положении, находится в начальном состоянии q{ (соответственно в состоянии остановки qQ). Далее будем говорить, что слово ги перерабатывается машиной в слово v, если от слова ги, воспринимаемого в начальном стандартном положении, машина после выполнения конечного числа команд приходит к слову v, воспринимаемому в положении остановки. Пусть на некотором множестве слов алфавита {я,,..., а{} задана ^-местная функция, значениями которой являются слова в том же алфавите. Предположим, что имеется машина Тьюринга с алфавитом А = {а0, яр..., ап} (п > /), которая любой набор из к слов, входящий в область определения функции, записанный на ленту последовательно с промежутками в одну ячейку между словами, перерабатывает в слово, являющееся значением функции на этом наборе, а на любом наборе из к слов, не входящем в область определения функции, машина работает бесконечно. Тогда про такую машину Тьюринга говорят, что она вычисляет данную функцию, а сама функция называется вычислимой по Тьюрингу или (короче) вычислимой. Применение машин Тьюринга к словам. Решить задачи 12.1— 12.11. 12.1. Имеется машина Тьюринга с внешним алфавитом А = = {а0, 1}, алфавитом внутренних состояний Q = {q0, qx) и функциональной схемой (программой). 1 q2aji <701П 9,111 В столбце qQ ничего не написано, потому что q0 — заключительное состояние машины, т.е. такое состояние, оказавшись в котором машина останавливается. Функциональную схему или 222
программу кратко можно записать в виде последовательности из двух команд: q{a0 -» qol, qx\ -> q\XW. Определите, в какое слово перерабатывает машина каждое из следующих слов, если она находится в начальном состоянии qx и обозревает указанную ячейку: а) \а0НяоЯо И (обозревается ячейка 4, считая слева); б) lltfollltfol (обозревается ячейка 2); в) 1яояо111 (обозревается ячейка 3); г) 1111я011 (обозревается ячейка 4); д) lltfollll (обозревается ячейка 3); е) 1111111 (обозревается ячейка 4); ж) 11111 (обозревается ячейка 5); з) 111...1 (А: единиц, обозревается к-я ячейка). Изобразите схематически последовательность конфигураций, возникающих на ленте на каждом такте работы машины. Решение, а) Изобразим схематически начальную конфигурацию (начальное положение машины): «г 1 1 1 1 1 Схема означает, что машина находится в состоянии q{ и обозревает ячейку, в которой записана буква 1, в соседней слева ячейке записана та же буква, а в соседней справа ячейке записана буква а0 (т.е. согласно нашему соглашению ничего не записано) и т.д. Ничего не записано и во всех непоказанных ячейках ленты. На первом такте работы согласно команде qx\ -» ^1П машина остается в прежнем состоянии 1, в обозреваемую ячейку вписывает букву 1 (т. е. фактически оставляет уже вписанную в эту ячейку букву 1 неизменной) и переходит к обозрению следующей правой ячейки (т.е. ячейки 5). Изобразим схематически положение, в котором оказалась машина: 1 1 1 ао 1 1 На втором такте работы согласно команде qxa0 -» qol машина вписывает в обозреваемую ячейку 5 букву 1, продолжает обозревать ту же ячейку и переходит в состояние qQ, т. е. останавливается. Создавшаяся конфигурация имеет вид: 1 ао 1 1 1 ао 1 1 Таким образом, из данного начального положения слово 1ао11яояо11 перерабатывается машиной в слово \ао111ао\1. 223
12.2. Дана машина Тьюринга с внешним алфавитом А = {а0, 1}, алфавитом внутренних состояний Q = {q0, qb q2, q^ q^ Qs, Qe> Qi\ и со следующей функциональной схемой (программой): 1 w<P Wo11 д31Л Яг <7баоП <7,1Л Wo 9ла0П qsa0 %% Ъао Я6а0П Ъао Изображая на каждом такте работы машины получающуюся конфигурацию, определите, в какое слово перерабатывает машина каждое из следующих слов, исходя из начального стандартного положения: а) 11111; б) 111111; в) 1111; г) 1111111; д) 111; е)1яо111яоЯо11И; ж) ПаоаоП1Пи з) 11ао111. Р е ш е н и е. д) Выписываем последовательность конфигураций машины при переработке ею слова 111 из начального стандартного положения: 1) 1 1 Чо 1 42 2) 1 1 1 Чъ 3) 4) 1 1 1 1 1 1 44 5) 1 1 1 Чъ 6) 1 1 7) 8) 9) 10) 12) 1 1 Чъ 1 44 1 Qs 44 4о 1 Итак, слово 111 из начального стандартного положения перерабатывается машиной в слово 1. 12.3. Запишите программу (функциональную схему) машины Тьюринга из задачи 17.2: а) в виде последовательности команд; б) в виде сокращенной таблицы; в) в виде сокращенной последовательности команд. Р е ш е н и е. б) Сокращение достигается за счет следующих соглашений: если состояние машины после выполнения команды не меняется, то мы его второй раз не пишем в команде; аналогично, если команда вписывает в ячейку ту же самую букву, что и была записана там, то эту букву второй раз в команде не пишем. 224
Сокращенная таблица, представляющая собой программу машины из предыдущей задачи, имеет тогда следующий вид: До 1 Я\ д2Я &п <1ъ <76П qxJV Я* Qs q4U Ф <76П <*0 12.4. Машина Тьюринга задается следующей функциональной схемой: 1 * q2a^ д31П д2\Л 02*Л ъ д31П д3*П Определите, в какое слово перерабатывает машина каждое из следующих слов, исходя из начального стандартного состояния. После этого постарайтесь усмотреть общую закономерность в работе машины: а) 111*111; б) 1111*11; в) 111*1; г) 1*11; д) 11*111; е) 11111*; ж) *1111. Р е ш е н и е. г) Запишем последовательность конфигураций: Проделайте самостоятельно преобразования остальных слов. Мы видим, что каждое из них перерабатывается в слово, состоящее из такого количества единиц, записанных подряд, сколько их было в исходном слове записано вместе по обе стороны от разделительной звездочки. Таким образом, машина фактически осуществляет сложение единиц. Каков же алгоритм этого сложения? Машина стирает первую единицу, обозреваемую в начальном положении ^ь и ее головка движется по ленте влево до первой пустой ячейки, в которую машина помещает единицу. (Машина как бы берет самую правую единицу и переносит ее в левый конец слова.) В нашем случае имеем 1*1#! 1 => 11*^00, т.е. за один этот цикл машина вернулась в свое исходное положение, но для другого начального слова: 11*1. Затем машина проделывает второй цикл: берет крайнюю правую единицу, относит ее на левый край и возвращается в исходное положение lll#i*, при котором теперь в обозреваемой ячейке содержится не 1, а*. Машина стирает ее и останавливается. 8 Игошин 225
Нетрудно подсчитать количество шагов (тактов), которое проделывает машина при решении задачи по данному алгоритму. Если слева от звездочки записано т единиц, а справа — я, то на каждый цикл машина затрачивает 2{т + п + 1) тактов. Чтобы перенести п единиц, нужно проделать п циклов и, значит, совершить 2п(т + п + 1) тактов работы. В связи с этим возникает проблема разработки более быстрого алгоритма, решающего ту же задачу сложения единиц, разделенных звездочкой на ленте машины Тьюринга. Такой алгоритм мог бы деист иовать, например, следующим образом. Начав из стандартного начального положения, сразу же стереть единицу и двинуться влево. Дойдя до звездочки, заменить ее на единицу. Все. Если же в начальном стандартном положении обозревается звездочка, то просто стереть ее и остановиться. Проверьте, что этот алгоритм для слов указанного вида реализует машина Тьюринга со следующей программой: qx -» ДОоЛ, q\* -» #оя<ь ftl -> Qi 1Л, ft* -> ft 1- Количество тактов здесь для выполнения сложения фактически равно числу п единиц в правом слагаемом. Придумайте свой алгоритм, решающий эту задачу (см. задачу 12.34, а). 12.5. Машина Тьюринга определяется следующей функциональной схемой: 1 * зли Wo д3а0П <73*л <hPfl ?4а0П «4 Определите, в какое слово перерабатывает машина каждое из следующих слов, исходя из стандартного начального состояния: а) 111*11; б) 11*11; в) 1111*1; г) 11111*111; д) 11111*1111. Постарайтесь выявить общую закономерность в работе машины. Решение. Выписав последовательности конфигураций, получаемых при переработке машиной слов а), б), в), мы придем соответственно к следующим результатам: 1, д0, 111. Создается впечатление, что программа осуществляет вычитание числа п единиц, стоящих правее звездочки, из числа т единиц, стоящих левее звездочки, когда т> п. При этом алгоритм работает следующим образом. Машина стирает первую (самую правую) единицу, обозреваемую в начальном состоянии qu и ее головка движется по ленте влево, достигает звездочки, переходит через нее и упирается в первую единицу. Стирает ее и возвращается к правому концу слова, на котором стирает следующую крайнюю единицу и 226
снова движется влево, до ближайшей единицы левее звездочки, стирает ее, и т.д. Идея данного алгоритма хороша, но она не реализуется в полном объеме рассматриваемой машиной Тьюринга. В самом деле, посмотрим, как перерабатывается данной машиной слово г) (некоторые очевидные шаги пропущены): => \Ulao*q2laQao => \llaoq4ao*laoao => lllq{aQao*laoao => 111 aQaoqoaolaoao. Машина остановилась, но на ленте осталась «недосчитанной» разность 3-1. Если применить данную машину к слову д) 11111*1111, то получим в итоге слово 11 la0aQaol 1аоао, т. е. «недосчитанной» остается разность 3-2. Анализируя работу данной программы, приходим к выводу. Если т > п > 3, то программа будет стирать по 2 единицы справа из каждого массива единиц, разделенных звездочкой; будет стерта и сама звездочка. Таким образом, на ленте останется записано слева т - 2 единицы, справа п - 2 единицы, разделенных тремя пустыми ячейками. Если же п < 2, то будут стерты все единицы правого массива, звездочка и п единиц левого массива; в итоге на ленте останется т - п единиц левого массива, т. е. в этом случае машина выполняет вьиитание числа единиц правого массива из числа единиц левого массива. 12.6. Машина Тьюринга определяется следующей функциональной схемой: 1 а Р д4а0и <72а 9,аЛ «7.РЛ qfi <72аП <72РП <7,«оП <7,1П 9,1 Л Для следующих слов определите, в какое слово переработается каждое из них данной машиной, исходя из начального положения, при котором машина находится в состоянии qx и обозревается указываемая ячейка: а) 11111 (обозревается ячейка 2, считая слева); б) 111 (обозревается ячейка 1); в) 1111111111 (обозревается ячейка 4); г) 111111 (обозревается ячейка 2); 227
д) 111111111111111 (обозревается ячейка 6). Какова общая закономерность работы машины? 12.7. Для машины Тьюринга из задачи 12.6 запишите функциональную схему (программу): а) в виде сокращенной таблицы; б) в виде сокращенной последовательности команд. 12.8. Проверьте, что машина Тьюринга с внешним алфавитом А = {до, 1} и программой (записанной в виде сокращенной таблицы) ао 1 q-xU <72Л qJL <73Л <?з £П <7,Л ?4й0 Wo % «3 Wo яр яо\ каждое слово длиной п в алфавите А = {1} перерабатывает в слово длиной г, где г — остаток от деления п на 3. Чтобы понять действие данного алгоритма, примените его к словам 111, 1111, 11111. 12.9. Машина Тьюринга с внешним алфавитом А = {а0, 1} определяется следующей программой: X ао 1 Ч\ q2a0n qtm q2a0U <731П «3 «Ьао <731П Остановится ли когда-нибудь эта машина, если она начнет перерабатывать следующее слово (в начальный момент, в состоянии qu машина обозревает ячейку, в которой записана самая левая буква перерабатываемого слова): a) llltfoaol; б) 11а0д011д01; в) 111111; г) 1аоаоаоао1; д) ПаоаоП; е) 1; ж) laQlaolaol; з) 111; и)1ао10о1;к)11аь11. Если остановка происходит, то какое слово получается в результате, какая ячейка и в каком (перед остановкой) состоянии обозревается? 12.10. Остановится ли когда-нибудь машина Тьюринга, заданная следующей программой: 1 q2m «2 q3ajl %1Л если она начнет перерабатывать следующее слово, начав в состоянии qx обозревать ячейку, в которой записана самая левая буква перерабатываемого слова: а) 1111до1; б) 11111; в) laolaol? 228
Если машина остановится, то какова ее заключительная конфигурация? 12.11. Останавливается ли когда-нибудь машина Тьюринга с внешним алфавитом А = {я0, 1} и функциональной схемой 1 д2а0П <72Ш д4а0п Ъ д2а0П при переработке следующих слов (в начальный момент головка машины обозревает ячейку ленты, в которой записана самая левая буква перерабатываемого слова): а) 111до1яо1; б) 1111; в) laolaQlaol? Если машина останавливается, то какое слово получается в результате, какая ячейка и в каком состоянии обозревается? Конструирование машин Тьюринга. Решить задачи 12.12—12.31. 12.12. Известно, что на ленте записано слово из п единиц 11... 1; п > 1. Постройте машину Тьюринга с внешним алфавитом А = = {я0, 1Ь которая отыскивала бы левую единицу этого слова (т.е. приходила бы в состояние, при котором обозревалась бы ячейка с самой левой единицей данного слова, и в этом положении останавливалась), если в начальный момент головка машины обозревает одну из ячеек с буквой данного слова. 12.13. Сконструируйте машину Тьюринга с внешним алфавитом А = {а0, 1}, которая каждое слово в алфавите Ах = {1} перерабатывает в пустое слово, исходя из стандартного начального положения. 12.14. Сконструируйте машину Тьюринга с внешним алфавитом А = {а0, 1}, которая каждое слово длиной п в алфавите Ах - {1} перерабатывает в слово длиной п + 1 в том же алфавите А, Указание. Используйте алфавит внутренних состояний из двух букв (см. задачу 12.1). 12.15. На ленте машины Тьюринга записаны два набора единиц 1. Они разделены звездочкой *. Составьте функциональную схему машины так, чтобы она, исходя из стандартного начального положения, выбрала больший из этих наборов, а меньший стерла. Звездочка должна быть сохранена, чтобы было видно, какой из массивов выбран. Рассмотрите примеры работы этой машины применительно к словам: а) 1*11; б) 11*1; в) 11*111; г) 111*11; д) 11*1111; е) 1111*11. Указание. Машина может работать, например, следующим образом. Заменить крайнюю правую единицу на а и из состояния qx перейти в состояние q2, в котором она должна, ничего не меняя, прошагать к крайней левой единице. Здесь, перейдя в состо- 229
яние q3, заменить крайнюю левую единицу на букву а. Далее, перейдя в состояние q4, прошагать к крайней правой единице, ничего не меняя. Здесь снова заменить единицу на букву а и вернуться к крайней левой единице и т.д. Дальше программа имеет разветвление. Если, начиная двигаться с правого конца, машина в состоянии qu сделав шаг влево, обозревает ячейку с буквой *, то это означает, что единицы правого массива иссякли. Следовательно, левый массив больше. Тогда машина, перейдя в состояние q5, проходит ячейку с буквой * и во всех последующих ячейках слева проставляет единицы. Затем в состоянии q6 она возвращается к ячейке с *, минует ее и следует дальше вправо, стирая содержимое ячеек (там записаны буквы а). Дойдя до первой пустой ячейки, машина останавливается. Если же, начиная двигаться с левого конца, машина в состоянии q3, сделав шаг вправо, обозревает ячейку с буквой *, то это означает, что иссякли единицы левого массива. Следовательно, большим оказывается правый массив. Привлекая новые состояния q7 и #8, строим программу аналогично предыдущему ответвлению. 12.16. Постройте машину Тьюринга, которая бы к натуральному числу в десятичной системе счисления прибавляла единицу. Решение. В качестве внешнего алфавита естественно выбрать алфавит, содержащий наименование всех цифр десятичной системы счисления. Конечно же, необходим и пустой символ а0. Итак, А = {а0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0}. Состояний у машины будет два: q0 (это, как обычно, остановка) и qx (рабочее состояние). Итак, Q= {<7o> 9\\- Функциональная схема (программа) машины такова: Q\i -> 4оО' + О (Для / = 0, 1, ..., 8), qx9 -> ^ОЛ, qxa0 -► qol. Начальное положение машины стандартное. Приведем последовательность конфигураций, получаемых при переработке этой машиной слова 2499: aQ249qi9a0 => ao24tfi9Oflo =* «o2^i4OOflo =* aQ2q0500aQ. Читателю предлагается проанализировать работу машины. 12.17. По аналогии с предыдущей задачей составьте функциональную схему машины Тьюринга, которая бы от натурального числа в десятичной системе счисления отнимала единицу. 12.18. Дана конечная совокупность единиц, вписанных в ячейки, взятые подряд без пропусков. Постройте функциональную схему такой машины Тьюринга, которая записывала бы в десятичной системе число этих единиц, т. е. пересчитывала бы набор единиц (дешифратор). Решение. Во-первых, обратим внимание на следующее обстоятельство. Данная машина Тьюринга будет иметь дело с теми единицами, количество которых она должна сосчитать, так и с единицей как цифрой в десятичной записи получаемого числа. Чтобы различить эти единицы, для обозначения записанных на ленте единиц необходимо использовать какой-либо другой сим- 230
вол, например палочку |. Таким образом, алфавит данной машины должен быть таким: А = {О, 1,2, 3, 4, 5, 6, 7, 8, 9, |}. Идея требуемого алгоритма такова. Начиная с правого края записанного массива палочек, машина будет стирать по одной и, перейдя на левый край массива, будет каждый раз прибавлять в десятичной системе счисления по единице в счетчике числа единиц. Затем — возврат на правый край, стирание следующей палочки, переход на левый край, к счетчику, прибавление к нему очередной единицы и т.д., пока все палочки не будут стерты. Программа счетчика, прибавляющего к десятичной записи натурального числа единицу, нами уже рассмотрена (задача 12.16). Произведем в ее командах некоторую модификацию, чтобы включить этот счетчик составной частью в нашу новую программу. Во- первых, прибавление единицы к цифре каждого разряда числа будем производить не в состоянии ди а в состоянии q2. Во-вторых, после прибавления новой единицы к счетчику работа программы не завершается; головка должна снова двинуться на правый конец массива палочек. Для обеспечения этого процесса машина после прибавления единицы к счетчику должна переходить не в состояние q0 (остановки), а в состояние д3. В итоге получаем следующие модифицированные команды счетчика: q2i -> q^O + 1) (для / = 0, 1, ..., 8), q29 -» 02ОЛ, g2UQ _» Яъ\л Теперь новый счетчик нужно включить в общую работу машины. Работа начинается из начального стандартного положения, когда в состоянии qx обозревается крайняя правая ячейка, в которой записана палочка. Палочка должна быть стерта, машина переведена в новое состояние q2 и головка должна двинуться влево, к счетчику, чтобы произвести там прибавление единицы. Это достигается командами: qx\ -» q2aoJl, q2\ -> q2\Jl. В конце концов мы выходим из массива палочек и сразу же входим в наш счетчик в состоянии q2. Если мы приходим к счетчику в первый раз и в нем либо ничего не записано (ячейка а0), либо записано число 0, то счетчик запишет в него (в первую же ячейку слева от массива палочек) число 1. Если же там уже было записано какое-то число, то к нему будет прибавлена единица. После прибавления к счетчику единицы машина переходит в состояние q3. Возврат головки на правый край массива палочек обеспечивается командами: q3i -> q3iH (для / = 0, 1,2, ..., 9), qj[ -> -> #3|П- Как только будет достигнута первая справа пустая ячейка, машина должна будет вернуться назад (влево) на одну ячейку и перейти в состояние qx: q3a0 -> qxaoSl. Если при этом в обозреваемой ячейке оказывается палочка, то происходит ее стирание, снова движение к счетчику, прибавление единицы, возврат на правый край. Если же все палочки оказались стерты и, сделав один шаг назад (влево), в состоянии qx машина обнаруживает первую цифру счетчика, то это означает, 231
что все палочки сосчитаны, задача решена и машина должна немедленно остановиться. Это обеспечивается командами: qxi -» qQi (для/ = 0, 1, 2, ..., 9). Запишите все команды построенной машины Тьюринга в таблицу и примените ее к конкретным массивам палочек: ||, |||, ||||. 12.18. а. Используя программу счетчика, вычитающего единицу из десятичной записи натурального числа (задача 12.17), составьте программу машины Тьюринга, которая бы по десятичной записи числа п выписывала бы на ленту п палочек (шифратор). 12.19. На ленте записаны два числа в двоичной системе счисления, разделенные звездочкой: 1011*101. Определите, какую операцию проделает с ними машина Тьюринга, начиная из стандартного положения (крайняя правая ячейка, состояние qx), если ее программа задается таблицей 12.20. Вопрос, аналогичный вопросу из предыдущей задачи, для ленты: 1101*1001 и для машины Тьюринга с программой: ао 1 0 * % %1Л д2Ш <7,1Л «,оп «73Ш1 д$а0П «,1Л <740Л <751П ?5оп %*п <760Л д6т «з*Л qx\ , qx0 , q20 , qz\ , q2\ - -> q2Jl, qA\ -» ?!0Л, qxa0 -> q0. 12.21. На ленту подряд вписаны два конечных набора единиц, разделенные звездочкой. Составьте программу машины Тьюринга, которая выписывала бы подряд (без разделения звездочкой) столько единиц, сколько их в обоих наборах (сложение единиц). У к а з а н и е. См. задачу 12.4. 12.22. На ленту подряд вписаны два конечных набора из ти п единиц, разделенные звездочкой. Причем в левом наборе единиц не меньше, чем в правом (т > п). Составьте программу машины Тьюринга, которая в левом наборе оставляла бы ровно столько единиц, на сколько единиц в левом наборе больше, чем в правом, а все остальные единицы стирала бы (вычитание единиц). Решение. В задаче 12.5 рассматривалась машина Тьюринга, которая выполняла эту операцию для «<2и любого т> п. Если программу этой машины слегка модифицировать, то она будет решать данную задачу. Необходимо ввести еще одно дополнительное состояние q5 и следующие команды, связанные с ним: q5aQ -> q5a0Tl, q5*-* #4*П. Команду q3l -> q^aoll заменить на команду q3l -> q5aQTl. 232
Применим новую машину к слову 11111*111 и сравним ее работу на этом слове с работой на этом слове машины из задачи 12.5: llla0a0*lq4aQaQ => Дополнительное состояние д5 предназначено для того, чтобы отличать положение машины между левым массивом единиц и звездочкой от ее положения правее звездочки. Примените данную машину ко всем словам из задачи 12.5 и убедитесь, что машина выполняет требуемое вычитание. 12.23. Два конечных набора из тип единиц записаны на ленту подряд. Машина в начальном положении обозревает крайнюю правую единицу левого набора. Постройте программу машины Тьюринга, которая выдавала бы набор единиц из НОД(/и, п) штук, а остальные единицы стирала бы. Решение. Проанализируем работу машины Тьюринга из задачи 12.6 и покажем, что она решает поставленную задачу, реализуя алгоритм Евклида для нахождения наибольшего общего делителя двух натуральных чисел тип. Придадим алгоритму Евклида следующее алгоритмическое описание: 1) обозревайте два числа т и п, а затем переходите к следующему указанию; 2) сравните обозреваемые числа: т = п или т < п, или т > п и переходите к следующему указанию; 3) если т = л, то т — искомый результат и процесс вычисления следует остановить; если т ф л, то переходите к следующему указанию; 4) если первое обозреваемое число меньше второго, переставьте их местами и продолжайте обозревать, переходите к следующему указанию; 5) вычитайте второе из обозреваемых чисел из первого и обозревайте два числа: вычитаемое и разность, а затем переходите к указанию 2. Описание работы данной машины Тьюринга будем сопровождать иллюстрацией применительно к случаю т = 4, п = 6 (задача 12.6, в). Начальная конфигурация имеет вид: 11 \q{ 1111111. Программа состоит из чередующихся циклов сравнения (в них участвуют лишь состояния qu q2) и циклов вычитания (в них участвуют лишь состояния q3, q4). Буквы аир внешнего алфавита будут играть роль неких пометок, которые будут делаться для запо- 233
минания тех или иных обстоятельств, возникающих в процессе работы. На первом цикле сравнения машина помечает (заменяет) последовательно единицы левого числа т буквами а, а единицы правого числа п буквами р. При этом машина' ставит одну а, идет вправо и ставит одну р, возвращается влево, ставит а, снова идет вправо, ставит р, и т.д. Через 37 шагов создается следующая конфигурация: aacuxppptfiplL Затем в состоянии qx головка машины устремится влево, пройдет массивы р и а и достигнет пустой ячейки (45-й шаг): ^aoaaaappppi 1. Первый цикл сравнения завершен. В результате него машина обозревает пустую ячейку в состоянии qx и для нее это означает, что т < п. Теперь начинается цикл вычитания. В состоянии #4 головка движется вправо, стирая все подряд буквы а (заменяя их на а0) и заменяя все р на 1, пока не обнаружит первую единицу (54-й шаг): аоаоаоаоао111 lq4l 1. Затем головка передвинется на одну ячейку влево, и машина перейдет в состояние qx (55-й шаг): аоаоаоаоао11 \qx 111. Первый цикл вычитания завершен. В результате него машина оказалась в начальном состоянии, но уже для чисел /я, = т = 4 и пх = п - т = 2, т.е. вычисление НОД(4, 6) сводится к вычислению НОД(4, 2): НОД(4, 6) = НОД(4, 2). Далее оба цикла прокручиваются второй раз. На втором цикле сравнения машина пометит (заменит) буквами а три единицы левого числа т, пометит (заменит) буквами р две единицы правого числа п - т и в состоянии q2 выйдет на правую пустую ячейку (75-й шаг): аоаоаоаоао\ааа^2ао. Второй цикл завершен. В результате него машина обозревает пустую ячейку в состоянии q2, и для нее это означает, что т > п - /я. Теперь начинается второй цикл вычитания. В состоянии q3 головка движется влево, стирая все подряд буквы р (заменяя их на а0) и заменяя все а на 1, пока не обнаружит первую единицу (81-й шаг): aoaQaQaoaoq3llllaoaQao. Затем головка передвинется на одну ячейку вправо и машина перейдет в состояние qx (82-й шаг): aoaQaoaoaolqx 11 laoaoao. Второй цикл вычитания завершен. В результате него машина оказалась в начальном состоянии, но уже для чисел т2 = тх - пх = 2 и п2 = щ = 2, т.е. вычисление НОД(4, 2) сведено к вычислению НОД(2, 2): НОД(4, 2) = НОД(2, 2). Этот процесс повторения циклов сравнения и вычитания происходит до тех пор, пока задача не будет сведена к случаю двух равных между собой чисел (в нашем примере это уже достигнуто). Тогда начинается заключительный цикл сравнения, который должен привести к результативному завершению процесса. После замены двух левых единиц буквами а и двух правых единиц буквами р третий цикл сравнения завершается следующей конфигурацией (97-й шаг): ^яояояоад4аарряоя<)% Наконец, головка машины, находящейся в состоянии #4, движется вправо, стирая подряд все а (заменяя их на 234
я0) и заменяя все р на 1. В этом же состоянии q4 машина выходит на пустую ячейку (100-й шаг): аоаоаоаоаоаоао11д4аоаоао. Для нее это означает, что тг- п2и оставшееся число единиц (я2) и есть искомый результат. После этого машина выполняет заключительный шаг (101-й шаг): flfo^o^o^o^o^o^l^ol^o^o^o- Восстановите все пропущенные шаги в работе машины. 12.24. Постройте машину Тьюринга, осуществляющую перевод слова 001*10 в слово 01*00, где Iх = 1...1 (х единиц). Причем в начальном положении машина должна находиться в состоянии qx и обозревать правую ячейку, эту же ячейку она должна обозревать и в момент остановки. (Эта машина называется «перенос нуля» и обозначается А.) Решение. Приводим программу машины. Рядом с командами изображаем конфигурации, получающиеся в результате выполнения соответствующих команд: Начальное положение Я\ <7,0 -> <?2П q20 -» q3l q30 - q4l -> q50 q50 -» q6Ji 0 0 1 ... 1 0 0 0 1 ... 1 0 0 1 1 1 0 0 1 1 1 0 я, 0 0 1 1 1 1 ... 1 0 0 0 0 1 ... 1 0 0 0 1 ... 1 0 0 0 1 ... 1 0 0 Проанализируйте работу машины. 12.25. Постройте машину Тьюринга, перерабатывающую слово 0 И (в слове х единиц) в это же слово 0И0 из стандартного начального положения, причем в момент остановки должна обозреваться крайняя левая ячейка. (Эта машина называется «левый сдвиг» и обозначается Б".) 235
12.26. Условие аналогично условию предыдущей задачи, но в начальном положении должна обозреваться крайняя левая ячейка, а конечное положение стандартно. (Эта машина называется «правый сдвиг» и обозначается Б+.) Указание. Программа этой машины получается из программы машины Б~ заменой символа Л символом П. 12.27. Постройте машину Тьюринга (называемую «транспозиция» и обозначаемую В), которая перерабатывает слово 01*01*0 в слово 01*01*0, причем в начальном и конечном положении обозревается ячейка, содержащая 0, между двумя наборами единиц. 12.28. Постройте машину Тьюринга (называемую «удвоение» и обозначаемую Г), которая перерабатывает слово 01*0 в слово 01*01*0, причем в начальном и конечном положении обозревается крайняя левая ячейка. 12.29. Постройте машину Тьюринга, переводящую слово 01*01*01*0 в слово 01*01*01*0, причем в начальном положении обозревается ячейка с 0 между наборами из у и z единиц, а в конечном положении обозревается ячейка с 0 между наборами из z и х единиц. (Эта машина называется «циклический сдвиг» и обозначается Ц.) Решение. Проверим, что такой перевод произойдет в результате последовательного применения (композиции) ранее построенных машин В, Б" и В, т.е. Ц = ВБ~В. В самом деле, вычисляем: ВБ-В(01*01*?,01*0) = ВБ-(В(01*01*^01*0)) = ВБ"(01*01^1*0) = = В(Б-(01*0Р$01*0)) = В(01*$01*01*0) = О1^оО1*О1*О. 12.30. Постройте машину Тьюринга, перерабатывающую слово 01*01* в слово 01*01*01*01*, причем в начальном положении обозревается самая левая ячейка, а в конечном — ячейка, в которой записан 0, заключенный между массивами 1*01* и 1*01*. (Машина называется «копирование» и обозначается К2.) Указание. Проверьте, что эта машина представляет собой следующую композицию построенных выше машин: К2 = Б+ГВБ+ВГВБ+ВБ"Б-ВБ+. 12.31. Постройте машину Тьюринга с внешним алфавитом А = = {а0, 1}, обладающую следующим свойством: а) машина не применима ни к какому непустому слову, т.е. применение машины к любому непустому слову приводит к тому, что машина никогда не останавливается; б) машина применима к любому непустому слову, т. е. любое непустое слово перерабатывается машиной в некоторое слово (в результате машина останавливается т.е. приходит в состояние qQ); в) машина применима только к словам вида 11... 1 (Зл единиц), п > 1; г) машина применима только к словам вида 11... 1 до11... 1 (слева от а0 п единиц, справа — т единиц), п > 1, т > 1. 236
Решение, а) Будем считать, что машина начинает работать из стандартного начального положения, т. е. в начальном состоянии #i «головкой» машины обозревается ячейка, в которой записана самая правая единица перерабатываемого слова. Тогда искомую машину построить нетрудно: из начального положения она должна неограниченно двигаться по ленте вправо. Вот ее функциональная схема: q{a0 -> qoao, qx\ -» q2lH, q2aQ -> q2a0TL, q2\ -» q2lTl. В этой машине предусмотрена остановка, если только в начальном состоянии qx обозревается пустая ячейка, т.е. если машина применяется к пустому слову. Попытайтесь построить машину Тьюринга, отвечающую требованию настоящей задачи, при условии, что она начинает работать из положения, в котором обозревается произвольная ячейка с буквой данного слова. Вычислимые по Тьюрингу функции. Уточним понятие вычислимости функции на машине Тьюринга. Будем говорить, что машина правильно вычисляет функцию f(xu хъ ..., х„), если начальное слово #101Х|01*20...01*я0 машина переводит в слово <7оО1/(Х1'*2'-'*я)О ... 0 и при этом в процессе работы не пристраивает к начальному слову новых ячеек на ленте ни слева, ни справа. Если же функция / не определена на данном наборе значений аргументов, то, начав работать из указанного положения, она никогда в процессе работы не будет надстраивать ленту слева. 12.32. Постройте машины Тьюринга, которые правильно вычисляют следующие функции: a) f(x) = х + 1; б) О(х) = 0. Указание. См. задачи 12.1 и 12.13. 12.33. Постройте машины Тьюринга, правильно вычисляющие следующие функции: а) 1\{хи х2) = х2\ б) Il(xu хъ х3) = х2\ в) /«(*,, хъ ..., хп) = хт (1 < т < п). Р е ш е н и е. б) Мы должны переработать слово ^OF'Ol^Ol^O в слово #001*20. Будем применять к начальной конфигурации последовательно сконструированные ранее машины Тьюринга Б+, В, Б~, О: Б+: 0 Iх' qO F2 01* 0 Б": 0 И2 д01* 00* 0 В: 0И2 $01* 01*0 0:0F2 ?00*'00*0 Б+: 0И201*' 001*0 Б": $0Г*01*00*0. Таким образом, функция 12(хи хъ х3) = х2 вычисляется следующей композицией машин: Б+ВБ+ОБ"ОБ- = Б+ВБ+(ОБ~)2. в) Теперь мы можем представить себе алгоритм построения композиции машин Б+, В, Б~, О для вычисления любой функции вида 1т{хи хъ ..., хп) = хт. С помощью правого сдвига Б+, применив его т - 1 раз, нужно сначала достичь массива 01*т: (БТ"1: 01х'0...?0Р'«0...01М). 237
Затем, двигаясь влево, транспонировать (с помощью В) массив о Г"» с каждым соседним слева массивом, пока массив 01** не выйдет на первое место: Теперь нужно дойти до крайнего правого массива с помощью (п - 1)-кратного применения правого сдвига Б+: Наконец нужно стирать последовательно справа налево все массивы единиц, кроме первого: (ОБ")"-1: 901x'»00X|0...00x'w-100Xw+l0...00x«0. Итак, данную функцию (правильно) вычисляет следующая машина Тьюринга: (Б+)т"1(ВБ-)/и"1(Б+)/|~1(ОБ-)/|-1. 12.34. Докажите, что следующие функции вычислимы по Тьюрингу, для чего постройте машины Тьюринга, вычисляющие их: a) /(*, У) = х + у; 6) fix) в) sg(x г) sg(x д) Ах, е) Ях,. ) = {°' ) = С у) = х J 0, если х = 0, \х -1, если х > если х = 0, если х = 0; ГО, если х < [х -1, если -У(х> У)', 0; ;о, х>у; ж) з) f(x) = — — целая часть числа —; и) Л*, У) = НОД(х, у); -)/(x)-[i]; м)/(х) = ^; н)Л*) = 2'-'. 238
Указание, а) См. задачу 12.4; е) см. задачу 12.22; ж) см. Учебник, пример 32.5; и) см. задачи 12.6 и 12.23; л) составьте программу машины Тьюринга, вычисляющей эту функцию, исходя из того, что эта функция фактически равна следующей: /(*) = 1, если х = 1, О, если х > 1. Решение, в) Проверьте, что данная функция вычисляется следующей машиной Тьюринга, исходя из стандартного начального положения: ^0 -» qQ0, #jl -» ftOJl, q2\ -» #20Л, q20 -> qol. Программа машины, правильно вычисляющей эту функцию, такова: qx0 -> q2QTl, q2\ -> 9з1П, q20 -» qQ0Jl (для х = 0), q3l -> #3Ш, ?30 -> 04ОЛ, qA\ -» 04ОЛ, q40 -> q5OTl, q5Q -» qolR. 12.35. Докажите, что следующие функции вычислимы по Тьюрингу, построив соответствующие машины Тьюринга: а) /3(х) = [, х делится на 3, ), х не делится на 3; б) /.<*) = 1, х делится на р, 0, х не делится на р. Указание. См. задачу 12.2. 12.36. Машина Тьюринга имеет следующую функциональную схему: q{0 -» q2\Jl, q\l -> 9iin, q$ -> ?з1П, ^21 -> 92^Л, q30 -> ^00> ftl -> <fo 1- Найдите формульное выражение функции/(х), вычисляемой этой машиной. 12.37. По программе машины Тьюринга напишите формульное выражение функции/(х, у), вычисляемой этой машиной: 0 1 <72ОП <7,1П д3ОП 940Л ^Зоп ?51Л ?60П ?51Л 12.38. а) Докажите, что если машины Тьюринга ^и (/правильно вычисляют функции f(y) и g(x) соответственно, то композиция #= FG этих машин правильно вычисляет сложную функцию h(x) = f(g(x)). б) Докажите, что если функции f(zb ^з), g\(x, у), gi(x9 у) вычислимы по Тьюрингу, то и сложная функция ф(х, у) =f(g\(x, у), ^)) вычислима по Тьюрингу. 239
в) Докажите, что если функции f(zu 1ъ *з)> g\(x, У), &(*, У), g3(x, у) вычислимы по Тьюрингу, то и сложная функция \|/(х, у) = = f(g\(x, У), gi(x, У), &(*, У)) вычислима по Тьюрингу. Решение, а) В самом деле, применим машину Gк начальной конфигурации #iOK Получим: ф\^х\ Применяя далее к полученной конфигурации машину F9 получим: qOlf(gM\ б) Пусть машины F, G{, G2 правильно вычисляют функции/, gu Si соответственно. Сконструируем машину Тьюринга, правильно вычисляющую сложную функцию ф(х, у), пользуясь введенными выше машинами копирования К2, циклического сдвига Ц, левого сдвига Б": К2: Gi. Ц: 4,01'OF 0И)1'«0И)1' ОИОРяО!*1**'^ G2 Б" F: Ф § 13. Рекурсивные функции В этом параграфе рассматриваются функции/: Nn -> N, т.е. заданные на множестве N = {0, 1, 2, ...} натуральных чисел и принимающие значения в нем же. При этом, эти функции могут быть как всюду определенными, так и не всюду определенными, т.е. частичными. Говорят, что функция от п аргументов F(xu ..., хп) = f(g\(xb ..., хп), ..., gm(xu ..., хп)) получена с помощью оператора суперпозиции из функций/(j,, ..., ут) от т аргументов и функций g\(xb -.., хп), -.., gmixu -., хп) от п аргументов. Примитивно рекурсивные функции. Следующие всюду определенные функции называют простейшими: О(х) = 0, S(x) = х + 1, 1пт(хи ...,хп) = хт(Кт< п). Говорят, что(п + 1)-местнаяфункцияф получена из л-местной функции/и (п + 2)-местной функции g с помощью оператора примитивной рекурсии, если для любых хь ..., хю у справедливы равенства: , ..., хя, 0) =/(хь ..., хп), ..., хю у + 1) = g(xu ..., хю у), фи ..., хН9 у)). Пара этих равенств называется схемой примитивной рекурсии. Для п = 0 схема примитивной рекурсии имеет следующий вид: ф(0) = а, <р(у + 1) = g(y, ф(^)), где а — постоянная одноместная функция, равная числу а. 240
Функция называется примитивно рекурсивной, если она может быть получена из простейших функций О, S, 1% с помощью конечного числа применений операторов суперпозиции и примитивной рекурсии. Говорят, что функция/(хь ..., хп) получена из функций g{xb ..., хп, z) и а(х\, ..., хп) с помощью ограниченного оператора минимизации {ограниченного \x-onepamopa), и обозначают/(хь ..., хп) = = цг < a[g(xb ..., хт z) = 0], если выполнено условие: f(xu ..., хп) = = Z < a(xb ..., хп) тогда и только тогда, когда g(xu ..., хл, 0) ф ф 0, g(xb ..., хп, 1) 9t 0, ..., g(xb ..., х„, * - 1) * 0, а g(xb ..., хп, z) = 0. 13.1. Докажите, что следующие функции примитивно рекурсивны, руководствуясь непосредственно определением примитивно рекурсивной функции: а) ср(х) = п\ б) ср(х) = х + п; в) cp(x, у) = х + у; г) ф(х, у) = ху. Решение, а) Покажем, что эта функция получается из простейших в результате лишь их суперпозиции, без применения оператора примитивной рекурсии. В самом деле, чтобы из любого числа х получить фиксированнное число п, нужно сначала числу х сопоставить число 0: О(х) = 0, а затем к полученному результату, т.е. к 0, с Момощью функции S прибавлять по единице 1 до тех пор, пока не получится число я, т. е. необходимо применить эту функцию к числу О(х) последовательно п раз. Получим выражение: ф(х) = S(S(...S(O(x))...))9 доказывающее примитивную рекурсив- ность данной функции. 13.2. Докажите, что функция, полученная суперпозицией примитивно рекурсивных функций, сама примитивно рекурсивна. Решение. В самом деле, компоненты этой функции получены из простейших функций О, S, 1„ с помощью конечного числа применений операторов суперпозиции и примитивной рекурсии. Чтобы получить рассматриваемую функцию, нужно добавить еще одну суперпозицию. В итоге эта функция также получается из простейших функций в результате конечного числа применений операторов суперпозиции и примитивной рекурсии, т.е. примитивно рекурсивна. 13.3. Докажите, что следующие функции примитивно рекурсивны, руководствуясь определением примитивно рекурсивной функции и теоремой, установленной в предыдущей задаче: а) ф) = х\ (здесь 0! = 1); б) Ф(х, у) = ху (здесь 0° = 1); . Г0, если х = 0, В) Sg(*) j ч — [0, если х > 0, Г) Sg(x) j 9 Игошин 241
О,если* = О [х -1, если х > 0; ГО, если х < у, е) х-у = \ [х - у, если х> у. Функция х-у называется усеченной разностью. Решение, а) Во-первых, по определению данной функции 0! = 1, т.е. ср(О) = 1. Это есть первое равенство схемы примитивной рекурсии, где л = 0 и / = 1 — постоянная функция. Далее, по определению данной функции х!, (х + 1)! = 1 • 2 •... • х • (х + 1) = х\ х х (х + 1) = /(х) • S(x) = *У(х) /(х). Это равенство можно представить так: f(x + 1) = p(S(x), /(*)), где функция р(и, v) = uv. Оно представляет собой второе равенство схемы примитивной рекурсии, где g(y, z) = p(S(y), z) — суперпозиция функций р и S, каждая из которых примитивно рекурсивна (первая — по задаче 13.1, г, вторая — простейшая). Значит, функция g примитивно рекурсивна (по задаче 13.2). Окончательно, данная функция ср получена в результате применения операторов суперпозиции и примитивной рекурсии к примитивно рекурсивным функциям 1, р, S, а значит, по определению является примитивно рекурсивной функцией. 13.4. Докажите следующие свойства усеченной разности: а) 0 - у = 0; 5)x^-y=S(x) ^ S(y); в) х + (у ^ х) = у + (х - у); г) х - (y + z) = (x - у) - z\ Д) (х - у) - z = (х + z) - у. Р е ш е н и е. г) Доказательство проведем индукцией по у. При у = 0 очевидно имеем: х ~ (0 + г) = х - г = (х - 0) ~ ь Предположим, что утверждение верно для у: х - (у + z) = (х - у) - z- Докажем, что оно верно для у + 1: х - ((у + 1) + z) = (х - (у + 1)) - z. (*) Последнее утверждение, в свою очередь, докажем индукцией по х. Базисное утверждение этой индукции 0 ~ ((у + 1) + z) = (0 - - (у +1)) ~ z верно в силу свойства а). Предположим теперь, что утверждение верно для х: х - ((у + 1) + z) = (х - (у + 1)) ~ & Докажем, что оно верно для х + 1: (х + 1) ^ ((у + 1) + z) = ((* + 1) - - (У + О) - & Вычисляем: (х + 1) - ((у + 1) + z) = (х + 1) - ((^ + z) + + 1) = 5(х) - S(y + ^) = (по свойству б)) = х - (у + г) = (по предположению индукции по у) = (х - у) - z = (по свойству б)) = = ((х + 1) ~ (>> + 1)) - z. Индукция по х завершена, чем доказано утверждение (*). Последнее, в свою очередь, завершает индукцию по у, что и доказывает исходное утверждение. 242
13.5. Докажите, что следующие функции примитивно рекурсивны, для чего представьте их в виде суперпозиции сложения и усеченной разности: а) | х - у |; б) min(x, у); в) тах(х, у). Р е ш е н и е. а) Покажем, что | х - у | = (х - у) + (у - х). В самом деле, если х> у, то\х- у\ = х- у (так как х - у > 0) и (х ^ у) + + (j; - х) = (х - у) + 0 = х - >>. Если х = у, то обе части рассматриваемого равенства дают 0. Наконец, если х < у, то | х - у | = -(х - - у) = у - х и (х ^ у) + (j; - х) = 0 + (у - х) = у - х. Поскольку функция х + у (задача 13.1, в) и х - у (задача 13.3, е) примитивно рекурсивны, поэтому и данная функция | х - у |, являющаяся их суперпозицией, также примитивно рекурсивна (задача 13.2). 13.6. Докажите, что следующие функции примитивно рекурсивны: а) д(х, у) = — — целая часть дроби — здесь ^ = х ; б) г(х, у) — остаток от деления у на х (здесь г(х, 0) = х); в) т (х) — число делителей числа х, где т (0) = 0; г) а(х) — сумма делителей числа х, где а(0) = 0; Д) ip(x) — число простых делителей числа х, где тДО) = 0; е) тс(х) — число простых чисел, не превосходящих х. Решение, а) Схема примитивной рекурсии для указанной функции имеет следующий вид: q(x, 0) = 0, q(x, у + 1) = q(x, у) + + sg(l* ~ (r(x, у) + 1)|). Смысл второго равенства схемы состоит в следующем: второе слагаемое в нем зависит от делимости у + 1 нах. Если у + 1 не делится на х, то q(x, у + 1) на единицу больше, чем #(*> >>); если же у + 1 делится на х, то #(х, У + 1) = ?(*> Д7)- Задачу можно решить и по-другому, выразив данную функцию через суперпозицию известных примитивно рекурсивных функций. Согласно определению функции [х/у],. при у > 0 число [х/у] = = п удовлетворяет неравенствам: пу < х < (я + l)j>. Отсюда видно, что л равно числу нулей в последовательности 1>> - х, 2у - х, ..., яу ~ х, ..., ху - х. Поэтому для у > 0 имеем формулу Непосредственная проверка показывает, что эта формула верна и при у = 0. Ввиду примитивной рекурсивности всех функций, участвующих в этой суперпозиции, примитивно рекурсивной будет (на основании задачи 13.2) и результирующая функция [х/у]. 13.7. Докажите, что примитивно рекурсивны булевы функции: а) отрицание х'; б) конъюнкция х • у; в) дизъюнкция х v у; г) все булевы функции. Решение. Примитивная рекурсивность отрицания, конъюнкции и дизъюнкции устанавливается посредством их «арифмети- 243
зации» — выражения через числовые функции, которые на числовом двухэлементном множестве {0, 1} ведут себя как указанные булевы функции. Вот, например, выражение для отрицания: х' = = 1 - х. (Найдите выражения для конъюнкции и дизъюнкции.) В силу того что всякая булева функция может быть представлена в виде суперпозиции указанных функций, заключаем, что всякая булева функция примитивно рекурсивна. 13.8. Ограниченный ц-оператор задает примитивно рекурсивные функции. Решение. Для краткости записей будем считать, что п = 1. Пусть/(х) = \iz < cc[g(x, z) = 0]. Покажем, что функция /(х) примитивно рекурсивна. Рассмотрим конечную совокупность последовательных произведений значений функции g(x, z) (все эти значения определены): g(x, 0), g(x, 0)g(x, 1), g(x, 0)g(x, 1) g(x, 2), ..., g(x, 0)g(x, 1) ... g(x, k), ..., g(x, 0)g(x, 1) ... g(x, а). Если g(x, k) = 0 — первое нулевое значение функции g(x, z) в последовательности g(x, 0), g(x, 1), ..., g(x, a), то по определению ограниченного ц-оператора/(х) = к. Это число нетрудно выразить через известные примитивно рекурсивные функции. В рассмотренной совокупности произведений первые к членов не равны 0, а остальные равны 0. По определению функции sg (•) (см. задачу 13.3, в) для каждого ненулевого произведения значение этой функции на нем равно 1, а для каждого нулевого равно 0. Поэтому, чтобы найти число ненулевых произведений и тем самым найти число к, являющееся значением функции/(х), нужно сложить значения функции sg(-) на всех произведениях рассмотренной совокупности: f(x) = k=»z< a[g(x, z) = 0] = y=o /=o 13.9. Используя ограниченный ц-оператор, докажите, что следующие функции примитивно рекурсивны: а) р(п) = р„ — л-е простое число (р(0) = 2, р(1) = 3, р(2) = 5, б) 1(п) — номер наибольшего простого делителя числа п в его каноническом разложении на простые множители; в) ехр(х, у) — показатель степени х-го простого числа /?(х) в каноническом разложении на простые множители числа у9 где ехр(х, 0) = 0; г) НОК(х, у) — наименьшее общее кратное чисел х и у, где НОК(х, 0) = НОК(0, у) = 0; д) НОД(х, у) — наибольший общий делитель чисел хи^, где НОД(0, 0) = 0; е) [yfx] — целая часть числа >/х; ж) [у[х] — целая часть числа >/х, где %/х = х; 244
з) [хл/2] — целая часть числа х>/2. Решение, а) Чтобы применить ограниченный ц-оператор, нужно доказать, что значения функции р(п) ограничены: р{п) < < а (л). Покажем, что рп = р(п) < 22". Доказательство проведем индукцией по л. Для малых л имеем: 2 = р0 < 22° = 2; 3 = рх < 221 = = 4. Предположим, что так продолжается до л включительно: рп = = р(п) < 22". Покажем, что тогда неравенство будет выполняться и для л + I: рп + \ < 22"+\ Для этого перемножим почленно все л + 1 неравенства, выполняющиеся по предположению индукции (проделаем вычисления получившейся правой части): 2°(2п+1-\) А)Л...А,<22°221...22Й = 22°+21+•+2П = 2~^~ = 22"*1-1. (*) Оценим величину разности: 22"+| _22Л+1~1 = 22"+1 - —22"+1 =—22"+1 = 22"+Ll >1 так как показатель степени 2п+1 - 1 > 0 при п > 0. Заменив в левой части этого неравенства вычитаемое 22п+1~{ на число рорх ... рп, которое не больше (согласно неравенству (*)), чем это вычитаемое, получим 22"+I -PoPi-Pn > h т.е. рорх...рп + 1 < 22"+1. (**) Разложим число в левой части неравенства (**) на простые множители: . 22Я+1 (> ЛЛ ...А +1 = р? •.... />&« > А > рл+1. (***) Последнее неравенство рк > рп+] обусловлено тем, что число РоР\—Рп + 1' очевидно, не делится ни на одно простое число р0, Рх, ..., р„ и потому его наименьший (первый) простой делитель рк не может быть меньше (п + 1)-го простого числа рн+х. Итак, шаг индукции доказан. Ограниченность функции рп = р(п) позволяет получить (вычислить) ее с помощью ограниченного ji-оператора: я-е простое число — это такое простое число, меньше которого имеется ровно п простых чисел, т.е. это наименьшее из чисел z, которые не превосходят п + 1 простых чисел (включая само число z), т.е. для которых n(z) = п + 1 (см. задачу 6, е) или для которых [n(z) - (л + + 1)| = 0. При этом, согласно предыдущему доказательству, не нужно перебирать все натуральные числа, чтобы найти такое ъ оно находится среди натуральных чисел, меньших числа 22\ Итак, окончательно получаем: р(п) = \xz < 22л[| n(z) - (л + 1)| = 0]. Следовательно, на основании предыдущей задачи функция р(п) примитивно рекурсивна. 245
13.10. Докажите, что все примитивно рекурсивные функции всюду определены. Примитивно рекурсивные предикаты. Пусть ^-местный предикат Р(хи ..., хп) задан над множеством Ми ..., Мп. Характеристической функцией этого предиката называют следующую функцию, заданную на тех же множествах и принимающую значения в двухэлементном множестве {0, 1}: ГО, если высказывание Р(хи ..., хп) ложно, р 1>—> п |i? если высказывание Р(хь ..., хЛ) истинно. Если Мх = ... = Мп = N, то %Р — функция, входящая в круг наших рассмотрений. Если %Р примитивно рекурсивна, то и предикат Р называется примитивно рекурсивным. Одним из часто встречающихся (особенно в теории алгоритмов) способов задания функций является их задание с помощью так называемого оператора условного перехода. Этот оператор по функциям /,(хь ..., х„), /2(хь ..., хп) и предикату Р(хь ..., хп) строит функцию если высказывание Р(хи ..., хп) истинно, ср(х15..., х„) = если высказывание Р(х,, ..., хп) ложно. Оператор условного перехода может иметь и более общую форму, когда переход носит не двузначный, а многозначный характер и определяется конечным числом предикатов Ри ..., Рь из которых истинен всегда один и только один предикат. 13.11. Докажите, что следующие предикаты примитивно рекурсивны: а) Dn(x): «х делится на п»; б) Аи, Л(х): «х делится на т и на я»; в) Z,(x, у): «х < у»; г) /(х, у): «х = у»; д) Е(х): «х четно»; е) Рг(х, у): «х и у взаимно просты»; ж) 5(х, у, z): «x + y = z»; з) Р(х, у, z)'. «х - у = з>. Р е ш е н и е. а) Этот предикат примитивно рекурсивен для любого я, так как его характеристическую функцию %Dfi можно следующим образом представить в_виде суперпозиции примитивно рекурсивных функций: %Dn(x) = sg(r(w, x)). 13.12. Докажите, что если функции/(х) и g(x) примитивно рекурсивны, то предикат «/(х) = g(x)» примитивно рекурсивен. 246
13.13. Докажите, что если предикаты Р(хи ..., хп) и Q(xu ..., хп) примитивно рекурсивны, то следующие предикаты примитивно рекурсивны: а) -iP(*i, ..., хп)\ б) Р(хи ..., хп) л Q(xb ..., хп)\ в) P(xh ..., х„) v Q(xu ..., хЛ); г) Р(хи ..., хЛ) -> Q(x,, ..., хп)\ д) Р(хь х2, х3, ..., хЛ). 13.14. Докажите, что класс примитивно рекурсивных предикатов замкнут относительно взятия ограниченных кванторов общности и существования. Точнее, докажите, что если предикат Р(хь ..., хп, у) примитивно рекурсивен, то примитивно рекурсивны и следующие предикаты: a) (Vy)(y < z -> Р(хь ..., хт у)); б) (Зу)(у< < z л Р(хь ..., хЛ, у)). 13.15. Докажите, что: а) если функции fuf2 и предикат Р примитивно рекурсивны, то и функция ср, построенная из/ь f2, P с помощью оператора условного перехода, примитивно рекурсивна (этот факт выражают также, говоря, что оператор условного перехода примитивно рекурсивен); б) если функции /ь ..., fk и предикаты Ри ..., Рк примитивно рекурсивны, то и функция ф, построенная из/и...,/к,Ри...,Ркс помощью оператора условного перехода, примитивно рекурсивна. Решение, а) Нетрудно понять, что с помощью характеристических функций предиката Р и его отрицания пР функцию ф можно выразить следующим образом: ф(хь ..., хп) =/i(xb ..., хп) • • хАх\, ...> *п) + М*ъ •..> *п) • Xnpfci, ..., хп), откуда и вытекает требуемое утверждение. 13.16. Докажите, что все функции, заданные на конечных множествах, примитивно рекурсивны. Оператор минимизации. Общерекурсивные и частично рекурсивные функции. Говорят, что функция/(*!,..., хп) получена из функции g{xu ..., хю z) с помощью оператора минимизации (^-оператора), и обозначают/(хь ..., хп) = \xz[g(xu ..., хю z) = 0], если выполнено условие: f(x{, ..., хп) определена и равна z тогда и только тогда, когда g(xu ..., хт 0), g(xu ..., хю 1), ..., g(x{, ..., хп, z - 1) определены и не равны 0, a g(xb ..., хп, z) = 0. Оператор минимизации можно рассматривать как оператор, заданный на множестве числовых функций и принимающий значения в нем же. В этом своем качестве оператор минимизации является удобным средством для построения обратных функций. Действительно, функция /"'(*) = wlfiy) = *\ («наименьший у такой, что f(y) = х») является обратной для функции/(х). (Поэтому в применении к одноместным функциям оператор минимизации иногда называют оператором обращения.) Функция называется частично рекурсивной, если она может быть построена из простейших функций О, S, 1% с помощью конечно- 247
го числа применений суперпозиции, примитивной рекурсии и ц-оператора. Если функция всюду определена и частично рекурсивна, то она называется общерекурсивной, 13.17. Рассмотрите действие оператора минимизации для получения обратных функций. К каким функциям они являются обратными? Для каких значений аргументов эти функции определены? а) </(*, у) = \xz[y + z = х]; б) д(х, у) = \iz[y • z = х]; в) 4х = \iy\y1 = х\; г) logox = \iy[cf = x]. Рассмотрите всюду определенные аналоги этих функций, построенные с помощью ц-оператора: д) [х - у] = \iz[y + z > х] = цг[)> + г + 1 > *]; е) [*/у] = vz[yz > х] = цг[у(г + 1) > х]; ж) [VI ] = цз^[^2 > х] = цЯ(У + I)2 > х]; з) [log. х] = W[^ > х] = M^+I > х]. 13.18. Докажите, что функции из предыдущей задачи а)—г) частично рекурсивны, а функции д)—з) — общерекурсивны. 13.19. Приведите пример частично рекурсивной нигде не определенной функции. 13.20. Докажите, что всякая примитивно рекурсивная функция будет и частично рекурсивной, и общерекурсивной. 13.21. Докажите, что класс частично рекурсивных функций шире класса примитивно рекурсивных функций. 13.22. Докажите, что: а) класс частично рекурсивных функций имеет счетную мощность; б) существует частичная числовая функция, не являющаяся частично рекурсивной; в) класс общерекурсивных функций имеет счетную мощность; г) существует всюду определенная числовая функция, не являющаяся общерекурсивной. Указание. Для доказательства утверждений б) и г) с учетом утверждений а) и в) достаточно доказать, что класс всюду определенных числовых функций имеет мощность континуума. 13.23. Докажите, что класс общерекурсивных функций замкнут относительно суперпозиции функций. § 14. Нормальные алгоритмы Маркова Нормальные алгоритмы Маркова являются еще одной формализацией интуитивного понимания алгоритма. Теория нормальных алгоритмов была создана в конце 40-х — начале 50-х гг. XX в. советским математиком Андреем Андреевичем Марковым (1903 — 1979), который называл их нормальными алгоритмами. Класс всех 248
нормально вычислимых функций, т.е. функций, вычислимых с помощью таких алгоритмов, совпадает с классом всех функций, вычислимых по Тьюрингу. Марковские подстановки. Марковская подстановка — это операция над словами в данном алфавите А (допускается и слово, не содержащее ни одной буквы, называемое пустым и обозначаемое Л). Эта операция задается с помощью упорядоченной пары слов (Р, Q) и состоит в том, что в заданном слове R находят первое вхождение слова Р (если таковое имеется) и, не изменяя остальных частей слова R, заменяют в нем это вхождение словом Q. Полученное слово называется результатом применения марковской подстановки (Р, Q) к слову R. Если же первого вхождения слова Р в слове R нет (и, следовательно, нет вообще ни одного вхождения Р в R), то считается, что марковская подстановка (Р, Q) не применима к слову R. Марковскую подстановку, задаваемую с помощью упорядоченной пары слов (Р, 0), обозначают Р -> Q. В связи с возможностью рассмотрения пустых слов возникает вопрос, что значит марковская подстановка Л -» v, т. е. что значит в данное слово w подставить слово v вместо первого вхождения в w пустого слова Л? По определению полагают, что результатом указанной подстановки является слово vw. 14.1. Пусть для слов в алфавите А = {а, Ь, с, d) заданы следующие марковские подстановки: а) ab -> dc\ г) ас -» dc\ ж) cba-+A; к) Ъ -» а\ б) be -» а\ д) cb -> d\ з) da-±A; л) а -> bd. в) dd -» bb; e) abc -> Л; и) dac -> acd; Примените каждую из них к слову abeddacba. Решение. Для применения марковской подстановки Р -* Q к данному слову важно обнаружить в данном слове первое вхождение подслова Р и заменить его словом Q. В данном случае для подстановок а)—и) подслово Р входит в данное слово только один раз. Это вхождение легко заменяется на подслово Q. Например, для подстановки б) получаем результат: aaddacba. Обратите внимание на то, что для подстановки г) первым вхождением подслова ас в данное слово служит abeddacba, а не abeddacba. Поэтому в результате получим: abedddeba. Подстановка з) даст abedeba. Наконец, в подстановках к), л) каждое из первых слов входит в данное слово неоднократно, поэтому имеет смысл говорить о первом вхождении. Для этих подстановок получаем результаты aaeddaeba и bdbeddacba. 14.2. Каждую из марковских подстановок задачи 14.1 примените к слову ddacbabc. 14.3. Каждую из марковских подстановок задачи 14.1 примените к слову cbabedac. 14.4. Пусть для слов в алфавите А = {а, Ь, с} заданы следующие марковские подстановки: 249
а) b -» а; г) be -> са; ж) Ьса -» Л; к) £ся6 -> Л; б) с-> 6; д) ел -» я/>; з) сяб -> Л; л) а -» 6. в) ab-*bc; е) обе -> Л; и) ябед -> я; Примените каждую из них к слову abcabcabcab максимально возможное число раз. Решение, а) Последовательность получающихся слов можно представить следующим образом (происходит последовательная замена в данном слове всех вхождений буквы b на букву a): abcabcabcab => aacabcabcab => aacaacabcab => aacaacaacab => => aacaacaacaa. д) abcabcabcab => ababbcabcab => ababbabbcab => ababbabbabb. (Выделено то подслово, к которому на следующем шаге применяется соответствующая подстановка.) ж) abcabcabcab => abcabcab => abcab => дА. и) abcabcabcab => abcabcab к) abcabcabcab => acabcab = 14.5. Каждую из марковских подстановок задачи 14.4 примените к слову bcabcabcabca максимально возможное число раз. 14.6. Каждую из марковских подстановок задачи 14.4 примените к слову cabcabcabcab максимально возможное число раз. 14.7. Каждую из марковских подстановок задачи 14.1 примените к словам из задач 14.1 — 14.3 максимально возможное число раз. Нормальные алгоритмы и их применение к словам. Упорядоченная конечная совокупность марковских подстановок в алфавите А: Рг -> № определяет следующее правило построения последовательности Wi (/' = 0, 1,2, ...) слов в алфавите А, исходя из данного слова Wb этом алфавите, называемое нормальным алгоритмом (Маркова) в алфавите А. (Указанная совокупность марковских подстановок называется схемой или записью нормального алгоритма. Точка в скобках обозначает, что каждая из подстановок может быть заключительной.) В качестве начального слова Wo последовательности берется данное слово W, и говорят, что слово Wo получается из слова Жпосле нуля шагов переработки. Пусть для некоторого натурального / > 0 нам уже известно слово Wh полученное из W после / шагов переработки, и процесс построения рассматриваемой последовательности еще не завершился. Тогда (/ + 1)-й шаг переработки будет состоять в следующем. В схеме алгоритма ищем первую подстановку, левая часть Р которой есть подслово слова 250
Wh и затем в Wt вместо первого вхождения Р подставляем правое слово Q этой подстановки. Возникшее в результате подстановки слово обозначается через Щ+\. Если использованная для получения слова Wj+i подстановка была простой, то говорят, что Wi+X получено из слова JVQ в результате / + 1 шагов переработки. Если же указанная подстановка была заключительной, то слово JVi+{ называется результатом переработки слова W посредством нормального алгоритма. Может случиться, что в схеме нормального алгоритма не окажется ни одной подстановки, левое слово которой входит в качестве подслова в слово Wh В этом случае полагаем JVi+, = Wi и также говорим, что 1Vi+ x есть результат переработки слова ^посредством данного нормального алгоритма. В обоих последних случаях говорят, что процесс переработки слова обрывается после (/ + 1)-го шага. Если процесс переработки слова Жни на каком шаге не обрывается, то говорят, что результат переработки слова ^посредством данного нормального алгоритма не определен. Мы определили понятие нормального алгоритма в алфавите А. Если же алгоритм задан в некотором расширении алфавита А, то говорят, что он есть нормальный алгоритм над А. 14.8, Нормальный алгоритм в алфавите А = {а, Ь, 1} задается схемой: а -> 1, Ъ -> 1. Примените его к слову: a) ababaa; б) bababbaa; в) ааа; г) bbbb\ д) aabbbll; e) \\aab\ ж) baaabla; з) lllaabl; и) aabb; к) abbba; л) abaabbb. Решение, л) Данный алгоритм сначала последовательно заменяет все вхождения буквы а в данном слове на букву 1, и затем также последовательно заменяет все вхождения буквы Ъ на букву 1. Имеющиеся в слове буквы 1 оставляет без изменения. Таким образом, данное слово перерабатывается в слово, состоящее из такого количества единиц, сколько всего букв содержало данное слово. Процесс переработки данного слова выглядит так: abaabbb => => lbaabbb=> lblabbb=> 1ШШ=> 111Шй=> 1111Ш=> 1111Ш=» => 1111111. К полученному слову ни одна из подстановок данной схемы уже не применима. Следовательно, работа алгоритма завершена. 14.9. Нормальный алгоритм в алфавите А = {а, Ь, 1} задается схемой: я -> 1, А -> 1, 11-» Л. Примените его к словам из предыдущей задачи. Р е ш е н и е. л) Алгоритм предыдущей задачи является составной частью алгоритма настоящей задачи. Поэтому вначале данное слово перерабатывается в слово, состоящее из такого количества единиц, сколько всего букв содержит данное слово. Затем в полученном слове из единиц начинают вычеркивать единицы по две штуки. В итоге либо не останется ни одной единицы (пустое слово, если исходное слово содержало четное число букв), либо остается одна единица. Например, для рассматриваемого слова процесс переработки выглядит так (с учетом работы алгоритма из 251
предыдущей задачи): abaabbb => 1111111 => 11111 => 111 => 1. К полученному слову ни одна из подстановок данной схемы уже не применима. Следовательно, работа алгоритма завершена. 14.10. Нормальный алгоритм в алфавите А = {а, Ь) задается схемой: ba -> ab, ab -» Л. Примените его к словам: a) babaaa; б) aabbaab; в) abaabb; г) bbbb; д) aabbbaa; e) aabaa; ж) bbbaaa; з) baabbaab; и) abbabba; к) bbaabab. Выявите закономерность в работе алгоритма. Решение, к) Сначала возможное число раз работает первая подстановка схемы: bbaabab => bababab => abbabab => ababbab => => aabbbab => aabbabb => aababbb => aaabbbb. Первая подстановка себя исчерпала и к полученному слову более не применима. Но теперь работает вторая подстановка: aaabbbb => aabbb => abb => b. 14.11. Нормальный алгоритм в алфавите А = {а, Ь) задается схемой: ab -> Л, ba -> ab. Примените его к словам из предыдущей задачи. Р е ш е н и е. л) Настоящий алгоритм отличается от предыдущего порядком выполнения подстановок. Тем не менее в итоге он приводит к тому же результату, что и алгоритм предыдущей задачи: bbaabab => bbaab => bba => bah =* b. Аналогична ситуация и со всеми остальными словами из предыдущей задачи. 14.12. Нормальный алгоритм в алфавите А = {а, Ь) задается схемой: ab -> а, Ъ -> Л, а -> Ь. Примените его к следующим словам: a) bbaab, б) aabbbaa; в) bababab; г) аааа; д) bbbbb; e) aabaabb; ж) abbbbba; з) baab; и) bbbaaa; к) abbabba; л) abbbaaab. Р е ш е н и е. л) Проанализируйте работу данного алгоритма на данном слове, обосновав каждый его шаг: abbbaaab => abbaaab => => abaaab => aaaab => аааа => Ьааа => адя =* Ада =>aa=*ba=>a=>b=> => Л. Убедитесь в том, что данный алгоритм каждое слово перерабатывает в пустое. 14.13. Изменим немного алгоритм из предыдущей задачи: ab -> -> a, b -> . Л, а -> Ъ. Примените его к тем же словам. Р е ш е н и е. л) abbbaaab => abbaaab => abaaab => aaaab => аааа => => iaaa => ала. Ha последнем шаге применена заключительная подстановка Ъ -> . Л, чем и завершилась работа алгоритма. 14.14. Примените к словам из задачи 14.12 нормальный алгоритм со схемой: ba -» ab, a -» Л, b -> . b. 14.15. Примените к словам из задачи 14.12 нормальный алгоритм со схемой: ab -> b, ba -> bb, b -> . Л. 14.16. Примените к словам из задачи 14.12 нормальный алгоритм в алфавите А = {а, Ь) со схемой: ba -> a, bb -> Л, ab -* Л, Л -» 14.17. Примените к словам из задачи 14.12 нормальный алгоритм со схемой: bb -> ba, ba -» а, а -> Л, b -» . Л. Убедитесь, что каждое слово в алфавите А = {а, Ь) он перерабатывает в пустое. 252
14.18. Примените к словам из задачи 14.12 нормальный алгоритм в алфавите А = {я, Ь) со схемой: ЪЬ -» Ъа, Ъа -> я, а -» Л, Л -> . Ь. 14.19. Нормальный алгоритм в алфавите А = {а, Ь, с, d) задается схемой: ad -> . dc, ba -> Л, а -> 6с, 6с -» 6£д, Л -> я. Примените его к следующим словам: a) deb; б) dbc\ в) 6а/; г) cdb; д) Л*с£; е) Л*с; ж) dca; з) бяо/; и) dabc; к) айя; л) Мс. Решение, л) Укажите, какие использованы подстановки на каждом шаге работы алгоритма: bde => abdc => 6c6<fc => bbabdc => => 6Mc => д66й?с =* bebbde => bbabbdc => 666rfc и т.д., т.е. алгоритм будет до бесконечности приписывать слева букву 6, т. е. будет работать вечно. Это означает, что к данному слову он не применим. Нормально вычислимые функции. Рассматриваются числовые функции, т. е. функции заданные и принимающие значения в множестве натуральных чисел. Натуральные числа кодируются словами в алфавите А = {1}, так что рассматриваются функции, заданные на словах над этим алфавитом. При этом будем говорить, что функция /, заданная на некотором множестве слов алфавита А, нормально вычислима, если найдется такое расширение Жданного алфавита {А с В) и такой нормальный алгоритм в В, что каждое слово Р (в алфавите А) из области определения функции / этот алгоритм перерабатывает в слово/(Р) (в алфавите А). В заключение будут рассмотрены примеры функций, для вычисления которых строятся нормальные алгоритмы в расширенных алфавитах. Речь пойдет о числовых функциях, а для кодировки чисел словами будет использоваться десятичная система счисления, т.е. алфавит, состоящий из десяти букв (цифр): А = {0, 1, 2, ..., 9}. Его будем называть основным алфавитом, 14.20. Сконструируйте нормальный алгоритм в алфавите А = {1}, вычисляющий следующую функцию: fl, [0, . . fl, если х делится на 3, б) фз(х)=Нл [0 если х не делится на 3. [ Указание. См. Учебник, примеры 34.6, 34.7. 14.21. Какую функцию вычисляет нормальный алгоритм: а) Л->.Л; б) Л -> Л? 14.22. Сконструируйте нормальный алгоритм, вычисляющий словарную функцию f(w) = wu, заданную на словах в алфавите А, которая к каждому слову ги в алфавите А приставляет справа фиксированное слово и (возможно, также в алфавите А). Решение. В качестве алфавита для требуемого нормального алгоритма возьмем алфавит В = А и {2} = {0, 1} и {2} = {0, 1, 2}. Рассмотрим нормальный алгоритм в алфавите В со следующей схемой: 20 -> 02, 21 -> 12, 2 -> . и, Л -> 2. Применим данный алгоритм, например, к слову it» = 01101 в алфавите А. На первом 253
3b —» 4b -» 56-» 66-» 76 -+ 86-» 96 -» .2 .3 .4 .5 .6 .7 .8 шаге применяется последняя подстановка схемы, что дает слово 201101. На каждом последующем шаге будут применяться поочередно первые две подстановки данной схемы, в результате чего символ 2 будет меняться местами с символами 0 и 1 до тех пор, пока не достигнет правого края данного слова: 011012. Теперь работает заключительная подстановка 2 -» . и, которая дает слово 01101w = wu. 14.23. В алфавите 2? = A u {a, 6}, являющемся расширением алфавита А, рассмотрим нормальный алгоритм, задаваемый схемой (читается по столбцам): 06-» 69 а0-»0а 0а-»06 16->.О а\ -> \а 26-».l а2-»2а аЗ-»За За-» 36 а\ -» 4а 4а -» 46 я5 -> 5а 5а -» 56 аб -» 6а 6а -» 66 а7 -» 7а 7а -» 76 а8-»8а 8а->86 а9->9а 9а->96 Л-» д. Применив его к следующим словам, постарайтесь понять, что он вычисляет функцию/(х) = х - 1: а) 146; б) 50; в) 210; г) 1000; д) 90; е) 360; ж) 400; з) 1998; и) 770; к) 1280; л) 3000. Р е ш е н и е. л) Алгоритм работает следующим образом. На первом шаге применяется самая последняя подстановка: 3000 => яЗООО. Далее начинают работать подстановки из второго столбца, меняя местами букву а с соседними справа цифрами данного числа до тех пор, пока а не займет крайнее правое положение: дЗООО => => ЗдООО =* ЗОяОО => ЗООяО => 3000а. Теперь срабатывает одна из подстановок третьего столбца (в данном случае — первая), фактически меняя букву а на букву 6: 3000а => 30006. Наконец, срабатывает одна из подстановок первого столбца. Если бы перерабатываемое слово завершалось цифрой, отличной от 0, то сработала бы одна из заключительных подстановок, последняя цифра была бы заменена цифрой, на единицу меньшей, а алгоритм закончил бы свою работу. В данном случае слово завершается цифрой 0. Поэтому срабатывает первая подстановка первого столбца: 30006 => 30069. Поскольку и предпоследняя цифра в перерабатываемом слове равна 0, то алгоритм снова применяет первую подстановку, меняя местами 0 и 6 и заменяя 0 на 9. Так будет происходить до тех пор, пока левее буквы 6 не окажется цифра, отличная от 0: 30069 => => 300699 => 36999. Теперь срабатывает одна из заключительных подстановок: 36999 => 2999. Укажем последовательности переработки некоторых слов: а) 146 => л146 => 1а46 => 14л6 => 146а => 1466 => 145; б) 50 => а50 => 254
=> 5аО => 50л =* 506 => 569 => 49; и) 770 => а770 =* 7а70 => 77аО => => 770л => 7706 => 7769 => 769. 14.24. В алфавите Я = Л и {а, 6, с}, являющемся расширением алфавита А, рассмотрим нормальный алгоритм, задаваемый схемой: \Ь -¥ 2b -> 36-* 4b -> 56-> 6b -> 76-» 86-> 96-► .2 .3 .4 .5 .6 .7 .8 .9 cO cl a0->0a al -> 7a a2-> 2a аЗ -»• За a4 -» 4a a5 -> 5a аб -» 6a a7 -> 7a e8-»8a a9 -> 9a 0a->06 la -> 16 2a->26 3a-> 3b 4a -> 46 5a->56 6a -> 66 7a->76 Q v О J% <sa —^ oo 9e-»96 Oc lc 2c 3c 4c 5c 6c 7c 8c 9c ->.l -».2 -».3 ->.4 -►.5 ->.6 ->.7 ->.8 ->.9 -►cO Л-> a. Применив его к следующим словам, постарайтесь понять, что он вычисляет функцию fix) = х + 2: а) 173; б) 28; в) 999; г) 568; д) 898; е) 998; ж) 98; з) 9; и) 1000; к) 1998; л) 546. Решение.а) 173 => al73 => Ia73 => 17аЗ => 173а =» 1736 => 175. б) 28 => а28 => 2а8 => 28а => 286 => 2сО => 30. в) 999 =* а999 => 9а99 => 99а9 =^> 999а => 9996 => 99с1 => 9сО1=> =^> с001 => 1001. г) 568 => а568 => 5а68 => 56а8 => 568а =* 5686 => 56сО => 570. д) 898 => а898 =* 8а98 => 89а8 => 898а => 8986 => 89сО => 8с00 => 900. 14.25. В алфавите В = Л u {a, 6, с}, являющемся расширением алфавита Д рассмотрим нормальный алгоритм, задаваемый схемой: а0 -> 0а 0а -» 06 06 -> с8 0с -^ с9 al ~> 1а 1а -> 16 16 -> с9 1с —>. 0 а2 -> 2а 2а -> 26 26 ~>. 0 2с -^. 1 аЗ -> За За -> 36 36 ->. 1 Зс ->. 2 а4 -> 4а 4а ~> 46 46 ->. 2 4с ->. 3 а5 -> 5а 5а -> 56 56 -». 3 5с ->. 4 аб -> 6а 6а -» 66 66 ->. 4 6с -». 5 а7 ~> 7а 7а -> 76 76 ->. 5 7с -». 6 а8-»8а 8а -> 86 86-*.6 8с->.7 а9 -> 9а 9а -» 96 96 -*. 7 9с ->. 8 Л-> а. Применив его к следующим словам, постарайтесь понять, что он вычисляет функцию/(х) = х - 2: а) 64; б) 71; в) 192; г) 501; д) 1001; е) 240; ж) 99; з) 101; и) 700; к) 16; л) 2. Р е ш е н и е. а) 64 => а64 =* 6а4 => 64а => 646 => 62. б) 71 => а71 => 7а1 => 71а => 716 => 7с9 => 69. в) 192 => а192 =^> 1а92 => 19а2 =^> 192а => 1926 =^> 190. г) 501 => а501 => 5аО1 => 50а1 =^> 501а => 5016 =* 50с9 =^> 5с99 => 499. 255
д) 1001 =* alOOl => 1дОО1 => ЮяО1 => lOOel => 1001л =» 10016 => => 100c9 => 10c99 => Ic999 => 0999. е) 240 => я240 => 2д40 =* 24яО => 240я =» 240* => 24с8 => 238. 14.26. Сконструируйте нормальные алгоритмы, вычисляющие функции: a) fx(x) = х + 5; б) /2(х) = х - 5; в) /3(х) = х + 7; г) /4(х) = = х - 7. Пользуйтесь при этом трехэлементным расширением В = = Av {a, 6, с} основного (цифрового) алфавита А = {0, 1, 2, ..., 9}. 14.27. Сконструируйте нормальный алгоритм, вычисляющий функцию/(х) = Юх. Указание. Можно обойтись одноэлементным расширением В = Аи {а} основного алфавита А. Его начало должно быть таким же, как и у алгоритмов задач 14.23—14.25. После того как мы пришли к слову гиа, нужно каждое подслово вида ка, где к е А, заменить на подслово /Ю. 14.28. Составьте нормальный алгоритм в трехэлементном расширении В = А и {я, 6, с} основного алфавита А, вычисляющий функцию /(х) = 2х. Решение. Его начало такое же, как и у алгоритмов задач 14.23—14.25. После перехода w => aw => гиа => tub (первые два столбца подстановок в задаче 14.25) нужно приступить к поразрядному умножению на 2. Для цифр 0, 1, 2, 3, 4 это выглядит так: 0Ь -> М), \Ь -» Ь2, 2Ь -> М, ЪЬ -> Ь6, Ab -» b$. При удвоении остальных цифр приходится единицу переносить в следуюший разряд. Для запоминания этого применяется дополнительная буква с расширенного алфавита: 5Ь -» сО, 6Ь -> с2, 1Ъ -» с4, %Ъ -> сб, 9Ь -» с8. Если мы к следующему разряду подошли с буквой Ь, то в нем происходят только что описанные замены. Если же мы подошли с буквой с, то там выполняются следующие подстановки: 0с -» Ы9 \с -» ЬЗ, 2с -> Ь5, Ъс -> 67, Ас -> Ь9, 5с -> cl, 6с -> сЗ, 7с -> с5, 8с -> с7, 9с -> с9. После того как мы добрались от младшего разряда перерабатываемого числа до старшего, должен произойти останов. Если мы вышли за число с буквой Ь, то выполняется заключительная подстановка b -» . Л. Если мы вышли с буквой с, то выполняется заключительная подстановка с ->. 1. Например, а) 24 => я24 =* 2я4 => 24д => 2АЬ => 268 => 648 =* 48; б) 39 => аЪ9 =* Ъа9 => 39а => 396 => Зс8 =* 678 => 78; в) 85 => aS5 => =* 8я5 => 85л => 856 => 8с0 => с70 => 170. 14.29. Сконструируйте нормальный алгоритм в четырехэлемент- ном расширении В = Аи {а, 6, с, */} основного алфавита А, вычисляющий функцию/(х) = Зх.
ОТВЕТЫ §1 1. Высказываниями являются предложения: а), г), е), к), н), п), р). 2. Истинные высказывания: а), е), н). Отметим здесь сразу же, что вопросы о том, является или нет то или иное предложение высказыванием и является ли данное высказывание истинным или ложным, не относится к сфере математической логики, а лежит за ее пределами, в сферах тех наук и явлений, о которых собственно повествуют данные предложения. 3. а) Волга не впадает в Каспийское море; б) 28 делится на 7; в) 6 < 3; г) 4 > 5; д) Не все простые числа нечетны; е) V2 — иррациональное число; ж) Сумма 5 + 3 не равна 8; з) Африка — не остров; и) Не все слова можно разделить на слоги; к) — некоторые грибы съедобны. 4. Отрицаниями друг друга являются высказывания в парах б), г), ж), з), и). 5. Истинны высказывания а), в), г), е), ж), з), к). 6. Истинны высказывания А, В, I, /; высказывания С и Н могут быть любыми, остальные — ложны. 7. а) {а ф 0) л (Ь ф 0); б) (fl = 0)v(Z> = 0); в) (а = 0) л (Ь = 0); г) ((а > 0) л (Ь > 0)) v ((а < 0) л (Ь < 0)); д) (a = -3)v(a = 3); е) (а > -3) л (а < 3); ж) (а < -3) v (а > 3); з) (а ф 0) v (b ф 0); и) {а * 0) л (Ь ф 0); к) (а = 0) v (b = 0). 8. Истинны высказывания Д С, Е, Н9 /, К; высказывание / может быть любым; остальные — ложны. 9. Истинны высказывания а), б), в), д), е). 10. Истинны высказывания A, D, E, G, H, J. 11. Ложны высказывания а), з), и). 12. а) Этот треугольник не равнобедренный и не равносторонний; б) неверно, что треугольник либо равнобедренный, либо равносторонний; д) тогда и только тогда неверно, что треуголь- 257
ник равнобедренный и равносторонний, когда он не равносторонний. 13. а) Если это число целое или положительное, то оно не является простым; з) это число либо целое, либо положительное и одновременно либо простое, либо делящееся на 3. 14. а) (А л -i£) -> -iC; е) (А л -iC) -> -i.fi; б) А<->(Ву Cv D); ж)(Вл-1С) -> ~\А\ в) {А л В) -» С; з) {A v В v С) -> D; г) (А л В л С) -* D; и) (A v В) -* С; д) (Л л 5) -> С; к) (-\Av-<iB)->(-\Cv-iD). 15.а) Лл Ял С; в) г) д) (Л л 5 л -лС) v (Л л В л С); е) (-1^л-|5л С) v (~iA л ~\В л-\С); ж)(-lAv-lBv C)A(-iy4v-iJ?v-iC); з) (AvBv-iC)a(AvBvC); и) (Ал В л С) v (iA л -иВ л iC); к) (A v J5v С) л (-ъ4 v -i£v пС). 16. Истинны последние высказывания б), в), г), е), з). 17. Истинны высказывания б), в), д), з), и); ложны высказывания а), е); могут быть как истинными так и ложными г), ж), к). 18. Ни в одном из случаев трех таких высказываний не существует. 19. Истинны высказывания б), в), г), е), и); можно а). 22. Формулами являются в), е). 23. Число способов: а) 8; б) 12; в) 5; г) 9; д) 10; е) 10; ж) 7; з) 19; и) 14; к) 22. 24. Число подформул, включая данную формулу: а) 11; б) 8; в) 9; г) 7; д) 8; е) 8; ж) И; з) 11; и) 7; к) 9. 25. Выполнимы (и опровержимы) б), в), ж), з), и), к); тавтологии — а), г), е); противоречие — д). 26. Формула обратится в истинное высказывание, если сделать, например, следующую подстановку: а) Р = 1, б) Р = Q = 0; в) Р= = 1, Q = 0; г) Р = Q = 1, R = 0; д) Р = Q = 1; е) Р, Q - любые; ж) R = 1; з) Р = 0; и) Р = 1; к) Р = Q = 1. 27. Формула обратится в ложное высказывание, если сделать, например, следующую подстановку: а) X = У= 1; 6)^= У=0, Z= 1; в) Х= Y= I, Z= 0; г) У= Z= F= W= 0, tf= 1; д)Р,С- любые; е) Р = 1, С = 0; ж) Р = Q = 1; з) Р = Д = 1; и) Р = G = 1, Д = 0; к) Р= 1, Q=5=0. 33. Справедливы утверждения а), в), з); достаточность выполняется для утверждений г), е), ж), и), к); для утверждений б), д) не выполняется ни необходимость, ни достаточность. 34. Являются: 2), 4), 6), 7), 9). 258
35. Все обратные следования неверны. 36. Все обратные следования неверны. 37. а) Нет; б) первая следует из второй; в) первая следует из второй; г) вторая следует из первой; д) нет; е) первая следует из второй; ж) вторая следует из первой; з) вторая следует из первой; и) нет; к) первая следует из второй. 38. Справедливы а), б), е), з), к). 39. а) 2, 5, 4, 3, 1; б) 2, 5, 1, 4, 3; в) 2, 5, 3, 4, 1; г) 3, 2, 1, 5, 4; д) 3, 4, 2, 1, 5; е) 4, 1, 5, 2, 3; ж) 1, 5, 2, 4, 3; з) 4, 5, 3, 2, 1; и) 3, 5, 2, 4, 1; к) 1, 3, 5, 2, 4. 40. Верны следования в), г), е), ж), з), и), к). 41. Выполняются. 56. 57. 58. 59. а) XvY; 6)Xv-iZ; b)(Xv Y)a(-IXv-,Y); г) (XvYvZ)a(iXv-iZ); *)XvZ; a) 6) в) r) Д) e) (-iXv (YaZ))a -iZ; -iXvYv-iZ; UaZa(-iYvX); -iYa (Xv-iZ); (Xv (-|Ул X) v -\Z) a (- -\Xa ~iYa (-\Zv T); ж) (1л Ул -iZ) v (п1л (-i з) и) к) а) б) в) г) Д) е) з) и) к) а) в) г) е) ж) з) XaYa hZ; XvY; -iJTa -iY. -i(-i* л У л -iZ); —i(—iJf/\ -1У); -\(-iX a Ya ~iZ); -\(-лХа -1(Ул ~iZ)); n(-i(Xa nY) a-t(Ya Z -1(п(Ха -1(Ул iZ) л -i -i(X л -iZ) л У; прлл Z). Xv-iyvZ; 6) Xv Xv-iYvZ; ->Xv-t(iYvZ); Jv V "П ( "П 1 V Aj ) ■ у- у т/л ( V 7\ XvY; -i(-i*vZ)v-i(-iyvZ)v e) ~iX v ~i У; x)-iXv-}Y; 3) -iXv У; и)Х; k)-iXvYv-*Z. iYv -iZ); yvZ))viy; )); (ibZ)); Г; '-.(7V-.Z); к) Xv -iZ. 259
62. а) 1; е) 1; б) Pv Q; k.)PaQa~iR; b)PaQ; з)-./>-> <2; г) -iPah/?; и) P-»-iQ; д) Pv(QaR); k)-iPv-iQ. 64. Не выполняются г), е), з). 66. a) -iP; б) 1; в) 1; г) Р; д) Р; е) 1; ж) 1; з) Р; и) -.Р; к) Р. 68. а) 8; б) 2; в) 16; г) 2; д) 16; е) 2; ж) 64; з) 128; и) 16; к) 0. 69. а) 32; б) 128; в) 16; г) 128; д) 16; е) 128; ж) 4; з) 2; и) 16; к) 256. 70. а) С -> А, (А а В) -> С; б) /1 -> С, В -► С; в) А -> 5, 5 -> С; г) Р-> Q, W^->T; д) (Mv W) -> ((Л/л Ж) v S), (Pv -iQ v R) -> Г; е) -]£-> С, (Av В)^ ж)Р, Q; з) пР, чД; и) Л v (-15 л С); к) 71 А, .а) б) в) г) Д) В, С. -л(А- А <г> Р-> ~i(A- ~~\(А ■ -*В), Q; -> В), ->Я), i(C- -|(Л - -i(C- » (Л Л jB >С); >5); ')); е) А - к) А- + В; >(В , в, , В А »(2Ь v С) С; ~\С; /С). §2 1. б) в) г) д) е) ж) з) и) к) 2. б) в) г) д) е) а) (п!л (Ха (Ха Xv- (Ха -iXv (~iX (Ха -iXv X. а) (- пУл . Z A -lT) V (X A Y A Z A YaZ)v-iYv-\Z; Ya -iZ) v \ iFv ■ Xv~\X; Xv- (Xv -iJSfv Z)a vZ; 0 v (" v (nJ? У)а( (-iyv ' Z' (lAZ)vnIvn7; iXa-iZ) v (Xa Z); л Y)v(XaZ); Xv nY) a Za -\T; Z); 260
ж) (-ijv Z) л (Zv -i У v -iZ); з) (XvY)AbXv-iYvZ); и) -iXv->Y; к) Z. 3. a) (~\Xa -iYa Za -iT) v (Xa Ya Za -\T); б) (Xa YaZ)v(Xa-iYaZ)v(Xa Ya -iZ) v (iZa 7a-iZ)v v (iIa чГл Z) v (1л пУл iZ) v (п^лпУл iZ); в) (Xa YaZ)v (-.Za Ул Z) v (Za -. Ул Z) v (Za Га hZ) v (-.Za a-iKaZ) v(-.Za rA-i^v^A-irA-iZ) v(-iXa-i7a-iZ); г) (Za 7aZ) v(Xa~iYaZ)v (Xa Ya -iZ) v (Xa -iYa iZ) v v (hZa У л -iZ) v (-iA"a -i У л ~iZ); Д) (Xa Ул Z) v (-\Xa Ya Z) v (Za -i Ya Z) v (Za Га -iZ) v (-.Za a-i7aZ); e) (-iZa rAZ)v(ZA-.rAZ)v(-iZA-iyAZ)v(-iZA 7a-iZ)v v (Za -\Ya -\Z) v (~iZa -пУл ~iZ); ж)(1л Гл Z) v (1л пГл Z) v (iIa iFa Z) v (iIa Уа-iZ) v v (-iZa -i Ул ~iZ); з) (Za FaZ)v(-iIa Ул Z) v (Za пУл Z) v (Za пУл iZ) v v (iZ л Ул -iZ); и) (iZa У) v (-iZa 1У) v (Za -1У); к) (Za Уа Z) v (Za Ул iZ) v (Za пУл Z) v (Za пУл -iZ). 4. 6) Zv-iyv-iZ; в) не существует; г) (Zv Уv -iZ) л (Zv -i yv -iZ); д) (Zv yv Z) л (Zv -iyv Z) л (iZv -iyv Z); е) -iZv-iyvZ; ж) (iZv YvZ)a (iZv -i У v Z) л (Zv и У v -iZ); з) (Zv yv Z) л (Zv yv -iZ) л (iZv -i Уv Z); H)nZv-.y; к) (Zv yv Z) л (Zv yv -iZ) л(1у-1Уу2)л (Zv -iyv -iZ). 5. a) -iZa -iY; e) Za пУл -iZaT; б) -iZa У; ж)п!л Ул -iZa пГ; в) Za У; з) ~iZa пУл -iZa T; г) Za -1Ул -iZ; и) Za пУл Z; ); ) 6. а) (п1л1У)у(1л У); б) ZA-iy; в) (-.Za Ул -iZ) v (Za пУа Z) v (Za Ул Z); г) (-iZa YaZ)v (Xa Ya -iZ); д) (Za -|Ул -iZ) v (-iZa Уа -iZ) v (-.Za пУл Z); е) (-iZa Ул Z) v (Za пУл Z) v (Za Ул -iZ) v (Za Ул Z); ж) (Za чУл Z) v (-iZa Ул -iZ) v (-.Za пУл -iZ); з) (iZa У) v (Za пУ) v (iZa пУ); и) (Za Ул tZa i7) v (iZa пУл Za Г); к) (-i^a Улпгл T)\/(Xa-\YaZa-\T)v(Xa-\Ya-iZa-iT)v v(Za YaZa-iT). 261
8. a) Xv У; е) -iXv yv Zv -i T; 6)-.Xvy; ж) Xv-^YvZv T; в) -iXv -. У; 3) -iXv yv -.Zv -. T; r) -.Xv Уv -iZ; и) Xv -. Уv -.Zv T; д) Xv yv -.Z; к) -iXv -. yv -iZ. 9. a) (Xv-iy)A(-.Xv-.y); б) Xv-iY; в) (Xv -. Yv-iZ) a (-.Xv-i Уv-iZ); r) (-\Xv YvZ)a (iXv yv iZ); д) (Xv-.yv-.Z)A(Xv yvZ)A(Xv-.yvZ); е) (-.Xv iУv -iZ) л (Xv Уv -iZ) л (nXv nYv Z) a (iXv Уv Z); ж) (-.Xv -. yv Zv -. T) a (Xv Yv -.Zv T) л (-.Xv yv -.Zv T) л (Xv v yv -iZv -.7) л (Xv yv Zv T); з) (Xv -|У) л (ilv У) л (-.Xv пУ); и) (iXv YvZvT)a (Xv i Yv -\Zv -. T); к) (Xv -. yv Zv -i T) a (-.Xv Уv -.Zv T) л (iXv yv Zv n T) л (Xv v -i yv -iZv 71). 11. а) (-.Хл -пУ) v (пХл У) v (Хл -.У); б) (Хл YaZ)v (-.Хл FaZ)v (Хл -.Ул Z) v (iJa -.Ул Z); в) (-.Хл YaZ)v(Xa-^YaZ)v (Хл Ул -.Z) v (-.Хл -.Ул Z) v г) (Хл YaZ)v (Хл Ул iZ) v (Хл -.Ул Z) v (Хл -.Ул -.Z) v v (-.Хл Ул -.Z) v (-.Хл -.Ул Z) v (-.Хл -.Ул -.Z); д) (Хл YaZaT)v (-.Хл FaZa7)v (Хл -\YaZaT)v (-\Xa а -.Ул Za T) v (Хл -.Ул -.Za 7); е) (-.Хл -.Ул -\Za -.Г) v (Хл Ул Za T); ж) (-.Хл YaZ)v (Хл Ул -iZ) v (пХл пУл Z) v (Хл -.Ул iZ) v з) (Xa-\YaZ)v(Xa yA-iZ)v(-iXA-.yAZ)v(-iXA Ул-iZ); и) (-1^л -)Ул -.Za -.Г) v (-iXa чУл -\Za Т) v (-.Хл -.Ул Za л пГ) v (Хл Ул Za -\T) v (Хл Ул Za T); к) (пХл -I Ул Z) v (-.Хл Ул -iZ) v (пХл YaZ)v (Хл -. Ул -iZ) v v (Хл -.Ул Z) v (Хл У л -.Z). 12. a) (Xv-iy)A(-.Xv У); б) (Xv Уv Z) л (Xv Уv nZ) л (Xv -i Уv Z) л (iXv yv Z) л (-.Xv в) (Xv YvZ)a(XvYv-iZ)a (Xv -iYv Z) л (-.Xv Yv Z) a (Xv v -.yv -iZ) л (iXv yv iZ) л (-.Xv -iyv Z); r) (Xv yv Zv T) a (nXv Уv Zv T) л (Xv -. yv Zv T) л (Xv yv -.Zv v T)a(-\Xv-iYvZv T)a(-\Xv Yv-tZv T) a(Xv nYv-iZv T); д) (Xv YvZ)a (Xv Yv -iZ) a(IviFvZ)a (-.Xv Yv Z) a (Xv v-tYv-iZ); е) (Xv YvZvT)a (Xv yv Zv -iT) л (Xv yv nZv T) л (Xv пГу vZv T)a(-iXv YvZv T) a (Xv ~\Yv Zv ->T) a (~\Xv YvZv-iT)a a (-iXv yv -.Zv T); ж)(Xv YvZv-\T)a(Xv yv-iZv-.71)A(Xv-.yv-iZv-ir); 262
з) (Xv Yv -iZ) л (Xv -i Yv Z) v (ilv Kv Z) л (-iXv У v -iZ) л (-.Xv viFv-i2); и) Jv^vZ; к) (-iXv Fv Z) л (Xv -i Уу Z) л (nJfv -i Уv Z). 15. a) (Iv y)A(-iA'v-iy); б) (-iXv У)л(Ху-|У); в) (Xv Уу -iZ) л (Xv пУу Z) a (iXv YvZ)a (nlvn7v Z) л л (-iXv Уv iZ) л (Xv -i Уv -iZ); г) (-iXv YvZ)a (Xv -iYv Z)a(-\Xv Yv -iZ) л (Xv-tYv -iZ); д) (-iXv YvZ)a (Xv i Уу -iZ) л (nlv Уv -iZ) л (-iXv -i Уv Z) л л (nJv -i yv ~iZ); е) (Xv yv -iZ) л (Xv -i Уv -iZ) л bXv Yv -iZ) л (nlv ч Уу -iZ); ж) (Xv Уу -iZ) л (-iXv yv -iZ) л (-iXv -iKv iZ); з) (Xv YvZ)a (Xv Yv iZ) л (nXv Yv Z) л (iXv -i Kv Z) л ("iXv vFviZ); и) (Xv -tYv -iZv -17) л (iXv yv iZv -i7) л (-ilvn7v Zv-\T)a a (~\Xv -iУv-iZv 7) л (Xv Уv -iZv-iT) a (-iXv Уv Zv -i7) л (nXv v-iyvZv 7) л (Xv-i Уу-iZv Г) л (Xv -i У v Zv -i 7) л (iXv Уу-iZv v7); к) (Xv rvZvI)A (iXv 7vZv7)a (Xv -tYv Zv T) л (Xv v yv -iZv 71 л (Xv yv Zv -\T) л (Xv Yv iZv -i7) л (Xv -iYv v Zv nT) a (Xv -iYv -\Zv T). 16. а) (Хл y)v(-iXA-iy); б) (ХлпУ) v(-iXa У); в) (-iXa yAZ)v(XA-iyAZ)v(XA yA-iZ)v(-iXAnyAZ)v v (-iXa Ул iZ) v (Хл -i Ул -iZ); r) (-iXa Y a Z) v (X A-iY a Z) v (Xa-^Y A-yZ) v (-iX a Ул-iZ); д) (iXa -i Ул -iZ) v (Хл i Ул -iZ) v (пХл Ул -iZ) v (пХл -i Ул л Z) v (пХл Ул Z); е) (-iXa чУл -iZ) v (iXa Ул -iZ) v (Хл пУл iZ) v (Хл Ул л-iZ); ж) (пХл чУл iZ) v (-iXa Ул nZ) v (Хл Ул Z); з) (пХл тУл -%Za Т) v (пХл -пУл Za -i7) v (чХл Ул -iZa л -1Т) v (~iX a-\Y a Z a T) v (~iX л У л -iZ л Г) v (~iX л У л Z л л -\T)v (Хл -пУл Za ~\Т) v (Хл Ул -iZa ~\T) v (-iXa Ул Za aT)v (Хл -i Г л ZaT)v (Хл Ул hZa 71); и) (пХл -пУл -iZa -лТ) v (Xa-\Ya -\Z а ~\Т) v (Хл пУл -iZa л Т) v(-iXa yAZA-iT) v(XA-iyA-iZA Г) v(-iXa YaZaT)v v (Хл пУл ZaT)v (Хл Ул -iZa Г) v (Хл Ул Za i7) v (Хл Ул л Za Т); к) (iXA-iyAZA T) v (Xa-iYa-\Za T)v(Xa Ya-iZa~\T)v v (-iXa Ул -iZa T) v (-iXa Ул Za iT) v (Xa -iYa Za iT). 19. a) Z; б) (пХл Ул nZ) v (Хл -iYa Z); b) (Xv yv -iZ) л (iXv -iYv Z); г) (пХлпУ) v(Xa Ул-iZ); 263
Д) If> У; е) -.(*<-> Z); ж) ((Xa Z) v -1У) л (-i(Xa Z) v У); з) У; к) (Хл-iT) vZ. 20. a) X; 6) (Xa Y)v (YaZ)v(ZaX); b) (iXa -iFaZ)v (iX л Га iZ) v (Xa -\Ya ~iZ); г) (п!л -.У) v (п7л nZ) v (tZa -iX); Д) Xa Z; е) = r); ж) = г); з) Xa-i(Y+> Z); и) ->(X <-> У); к) 7 о Z. 23. Тождественно истинны формулы а), д), е); остальные — тождественно ложны. 26. Равносильны между собой формулы в задачах а), б), г), д), е), з), и); в остальных — не равносильны. 27. a) -\Xv -i Y, любая тавтология; б) ДГ—> Y, любая тавтология; в) Xv Y, любая тавтология; г) -\Х, -iXv Y, ->Xv -i У, любая тавтология; д) таких нет; е) *-► У; ж) любая формула; з) -tX, Y, Xv Y, -iXa Y, X^> Y, -i(JTa Y), -i(X+> Y), любая тавтология; и) -\Y, Y-> X, -i(Xa Y), любая тавтология; к) любая формула. 28. а) (Х-» Y) a Z; б) -лХу Z, -\Xv Yv Z, -iXv -i Уv Z, любая тавтология; в) Х-> -i7, У-» nZ, У-^ ЬХа -iZ), Х-> (У-> iZ), X-± (У-» -+ Z), Z -* (У -» X), (X -+ (У -> Z)) л (Z -^ (У -> J0), любая тавтология; г) таких нет; д) (iXa iZ) v У, (X<w. Z)v7,Z-> У, Z^- (Xv У), Х-> У, -> (Уу Z), Х-» (Z-> У), любая тавтология; е) любая тавтология; ж)(Хч Y)a-iZ; з) Х-> Y, X-> (Yv Z), X-> (Z-> У), любая тавтология; и) таких формул нет; к) любая формула. 29. а) У, Х^> У; б) X о У; 264
в) У-> X, -iГ, Х-н- У, -i(Xv Y); r) -iY, -iXa Y; д) У-» X, iY, X<+ Y, n(Jv У); е) таких нет; ж) Xv У; з) X -► У, -iX; и) лХл^У; к) -пХлтУ, пК 30. а) (1л Г л Z) v (-iXa л У л -iZ); б) (Xv Yv -iZ) л (-iXv л Yv Z); г) Yv(iXaZ); д) Хл ni; (п!л Ya Z) v (ЛГл тУ), (iIa пУл Z) v е) (-iXv Уv Z) л (Xv -i Уv -iZ); ж) Ул Z; з) (-1ЛГл Z) v (1л У); и) к) (Хл У) v (-iZa-iZ). 31. a) б) -!* в) (Хл Z)v Y; г) д) е) -\Хл -iZ; з) (Xv У) л -iZ; и) (пХл Ул -iZ) v (-пХл пУл Z) v (Хл У); к) (-1Хл Y)v(Xa -iZ). 34. а) X, У, Хл У, Xv У, Х-» У, У-> X, Х-н- У; б), в) -iX, тУ, -iXa пУ, -iXv -пУ, Х-> У, У-> X, Х<^ У; г) X, -!У, Xv У, У-> X, -iXv -1У, Хл -iT, (Xv У) л (iXv пУ); д) Х-> У, У-> Z, X-> Z, Jff» У, Х-> (У^- Z), X^. (Z-> У), Х-> (yv Z), Г-> (Xv Z), Х^- (Ул Z), (Х-> У) л (У^ Z), (Х<-> о У) v Z, Х-> (У«^ Z), (Хо У) л (Х-> (У^ Z)), (Х^ У)л л (У^ (Xv Z)), (У-> Z) л (Х^ (yv Z)); е) СКН-форма конъюнкции посылок: (-iXv Yv Z) a (Xv -i Уv v Z) л (Xv yv -iZ) л (iXv -iyV Z) л (iXv yv -iZ) л (Xv-iYv -iZ); ж) (Хл У) -» Д Xv Уv Z, Xv Уv -iZ, (iX v i Уv Z) л (Xv yv -iZ), (-iXv -.yv Z) л (Xv yv Z), Xv У, ((Хл Г)->^ЛдуГ); з) (Хл Y)-*Z,Y-+ (Хл Z), (Ул Z) -> X, У-> Z, У^ X, (X«* <* Z) v-пУ, У-^. (XaZ); и) СКН-форма конъюнкции посылок: (-iXv Yv Z) л (-iXv Уv v -iZ) л (Xv YvZ)a (-iXv -iyv Z) л (Xv yv -iZ) л (XviYv -iZ); к) СКН-форма конъюнкции посылок: (-iXv -i Уv -\Z) a (Xv yv v Z) л (Xv yv -iZ) л (-iXv FvZ)a (iXv yv -iZ) a(IviFvZ)a A(-iXv-iyvZ). 265
35. a) Xv У; 6) -пХл nY, Xo У, iY, У-> X, iX, X-» Y, nlv B)-iXv-iy; г) любая формула; д) Хл -iY, X, i(Jfe У), Xv Y, -iY, У-> X, -iXv -iY; e)X-> У; ж) пХл У, У, -i(X<-> У), Xv У, X-> У, -iXv 1У, -iX; з) Хл Y, X, Y, X-> Y, X+* Y, Xv Y, У-» X; k)Iv У 36. a) (Xv -1ИО л (iXv -1Уv W), Xv 1W, (Xv Yv 1W) л (-iXv v-iYv W),XvYv-iW,(.Xv-^Yv-\W)*bXv-,YvW),Xv-iYv-iW, -tXv-iYvW; б) (Xv -i ИО л (-iXv Fv »0, (IvhKv-i»0a (iJTv Fv W), (Xv vVv^W)a (iXv Vv W), Xv-iW, nXv Vv W,Xv-iVv-iW,Xv Vv v-iW; в) -iXvZ\/-iV; г) таких нет; д) таких нет; е) -lYvZv-iVi-iYv-iZv^V.-iYv-iV; ж) таких нет; з) W->X; и) (Xv-tW)A (-iXv Zv W), Xv-1W, (Xv Zv-tW)* (ilvZv W), (Xv -iZv -1W) л (~\Xv Zv W), Xv Zv 1W, Xv nZv -1W, -iXv Zv W; K)-iyv-iF, -iYv-iVv W, -iYv-iVv-iW. 37. a) (Xv -iYv -iZ) л (nJTv Yv -\Z), XviYv -iZ, -iXv Yv nZ, любая тавтология; б) Xv -1 У, Xv -1 Yv Z, Xv -1Уv -\Z, любая тавтология; в) (X-> Y)v Z, (У-» X) v Z, (*<-> У) v Z; г) любая формула; д) (X-> У) л (Х-+ Z) л (Уу Z), (JT-н- У) л (yv Z), (X^- Z) л л (yv Z), yv Z, (Z-> (У<^ Z)) л (Xv yv Z), (X-> (Y^> Z)) л (Jv v yv Z), (X-^. (Z-^- У)) л (Xv yv Z), Xv yv Z; е) Xv Z, Xv Уv Z, Xv -1Уv Z, любая тавтология; ж) (Z -> X) л (Z-> -1 У), Z-» X, (Xv Уv -iZ) л (iIv-iFv iZ), Z-» (Xv У), Z^ -1У, Z-^ (У-> X), -iXv -iKv -iZ, любая тавтология; з) Z-» (У-> X), любая тавтология; и) (Xv yv Z) -> (Хл У), (пХл п Ул -iZ) v (Хл У) v (Хл Z), (yv vZ)->(Ia У), (yvZ)->X; к) (Xv yv Z) л (-iXv и yv nZ), Xv yv Z, iXv nb iZ, любая тавтология. 39. a) iX, -iY, iXa У, Хл -.У, пХл -iY, (-iXv пУ) л (Xv У); б) -iX, У, пХл У, -1Хл -1У, Хл У, Х<-> У; в) X, iY, Хл -iY, ~\Хл -iY, Хл Y, X<-> У; г) таких нет; 266
д) Хл У, е) таких нет; ж)-|Хл У, -i з) X, Y, Хл Y, -.(Х-> У),-!(У->. X), -.(Хо У); и) таких нет; к) Хл Y, Хл -iY. 40. а) Таких нет; б) пХл -пГл Z, пХл -пУл iZ; в) Хл Гл Z, 1л Ул-iZ; г) Хл У л nZ, тЯГл У л -iZ; д) пХл -пУл Z, -.Хл нУл -iZ; е) отсутствующие в СКН-форме совершенные дизъюнктивные одночлены: -iXv Уv Z, Xv Yv -\Z, -iXv -i Уv Z, Xv -i Уv -iZ; ж) отсутствующие в СКН-форме совершенные дизъюнктивные одночлены: Xv Yv Z, Xv -i Yv -\Z, -iXv -i Уv -iZ; з) -1Хл У л -iZ, п!л -i У л -iZ; и) отсутствующие в СКН-форме совершенные дизъюнктивные одночлены: Xv Уv Z, Xv Уv -iZ, nXv -i Уv Z, iXv -i yv -iZ; к) Хл УлД пХл yAZ. 41. a) -iZ, hZa Г, -iZ*-iV; б) -iX, -)У, -пХл -iY, -iXv 1У, -.Хл У, Хл nY, n(X<* У); в) Хл У; г) -.(Х-^ У), -i(X-> У), -i(X^- У), -i(Xv У), -.У, -iX, -1(Хл У); д) Хл Ул Z, Хл Ул -iZ, Хл У, Хл пУл Z, Хл Z, (Хл пУл Z) v у(Хл Ул-IZ),Xл(УvZ); е) n(Z-^X), -i(JTvZ), iX; ж)Хл -.Ул Z, Хл Ул -iZ, Xv (Y+> Z), Хл пГл nZ, Хл iZ, ХлчУ, (ХлпУ) v(ATa-iZ); з) Хл У, -.(У-^ X), У, -i(Xv У), 1в У, -iX, X-» У; и) Ул Z, -пУл Z, пУл -iZ, Z, чУ, У<и> Z, У-» Z; к) Хл Ул Z, Хл 1Ул Z, Хл Z, пХл Ул Z, Ул Z, (пХл Ул Z) v v(XA-iyAZ), (Xv Y)aZ. 42. а) Хл Ул -iZ, Хл Ул Z, Хл Z, любая тождественно ложная формула; б) Хл Ул Z, пХл Ул Z, пХл -пУл Z, (iXa пУл Z) v (Хл Ул л Z), -iXa Z, УлД Za (-iXv У), любая тождественно ложная формула; в) (XvZ)A-iy, ((IvZ)Any)v(ArAZ); г) таких формул нет; д) -iXv -1 У, -iXv -i Уv Z, -iXv -i Уv -iZ, любая тавтология; е) -.Хл Ул Z, Хл пУл Z, Хл Ул -iZ, Хл (У^ Z), Ул (1о <^ Z), Za (Х<-> У), (пХл FaZ)v (Хл пУл Z) v (Хл Ул iZ), любая тождественно ложная формула; ж) Хл -I Ул -iZ, чХл Ул Z, (пХл YaZ)v (Хл -i Ул -iZ), любая тождественно ложная формула; 267
з) Хл YaZ,-iXa YaZ, УлДп/лпГлД^лпУлп^у v (1л 7л Z), (iXa пГл Z) v (~iXл Ya Z), 7л (*-> Z), любая тождественно ложная формула; и) ~\XaZ, ~iXa(Y-±Z); к) Xa Ya -iZ, ~лХ а 7л ~iZ, 7л nZ, н^л "п7л -iZ, (нЛГл п7л л Z) v (Хл 7л -iZ), п7л -iZ, (Х-* 7) л -iZ, любая тождественно ложная формула. §3 3. б) «Если последовательность не ограничена, то она не сходится»; в) «Если углы при основании треугольника не равны, то треугольник не равнобедренный»; з) «Если последовательность не имеет предела, то она или не монотонна, или не ограничена». 5. б) Теорема, противоположная обратной: «Если а не делится на с, то либо а не делится на Ь, либо Ъ не делится на с»; г) обратная теорема: «Если одно из слагаемых делится на некоторое число и сумма делится на это число, то и второе слагаемое делится на это число». Противоположная теорема: «Если одно из слагаемых не делится на некоторое число, то либо другое слагаемое, либо их сумма на это число не делится». Теорема, противоположная обратной: «Если сумма не делится на некоторое число, то одно из слагаемых не делится на это число»; д) обратная теорема: «Если два угла опираются на одну и ту же дугу и равны между собой, то они вписаны в окружность». Противоположная теорема: «Если два угла не вписаны в окружность, то они либо не опираются на одну и ту же дугу, либо не равны между собой». Теорема, противоположная обратной: «Если два угла не равны между собой, то они либо не вписаны в окружность, либо не опираются на одну и ту же дугу»; ж) две обратные теоремы: «Если хорды, принадлежащие равным кругам, одинаково удалены от центров этих кругов, то такие хорды равны», «Если равные хорды одинаково удалены от центров соответствующих кругов, то они принадлежат равным кругам»; з) две обратные теоремы: «Если две прямые перпендикулярны одной и той же плоскости, то они параллельны между собой». Вторая обратная теорема формулируется так же, как исходная теорема; и) обратных и противоположных теорем нет. 6. 7-» (Хх а Х2) »= (Хх а 7) -> Х2; 7-> (ЛГ, л Х2) *=(X2aY)-+ Xx\ (Хх-+ Y)->X2*=(X1aY)-> Х2\ (Х2 -> 7) -> Х{ 1= (Х2 а 7) -> Хх. 7. а) Две теоремы, обратные данной, вида {Ах л А2 л В) -» Аъ и (Ах а А$а В) -* А2 формулируются как одна: «Если одна из двух параллельных прямых перпендикулярна третьей, лежащей в той же плоскости, то и другая ей перпендикулярна». Две теоремы, противоположные данной, также формулируются как одна: «Если две прямые не перпендикулярны, то они не могут лежать в одной плоскости с третьей прямой, которая была бы параллельна одной 268
из них и перпендикулярна другой». Теорема, противоположная обратной: «Если две прямые не параллельны, то они не могут лежать в одной плоскости с третьей прямой, перпендикулярной им обеим»; б) одна обратная теорема вида (В л А2 л Аъ) -» Аъ где В: «а || а», Ах: «н(я с а)», не выражает ничего нового, так как сводится к утверждению В -» Аи которое непосредственно вытекает из определения параллельности прямой и плоскости; в) одна обратная теорема: «Если прямая, лежащая в одной из двух пересекающихся плоскостей, параллельна линии их пересечения, то она параллельна другой из этих плоскостей». 8. б) Обратная теорема: «Если диагонали прямоугольника взаимно-перпендикулярны или делят углы пополам, то этот прямоугольник — квадрат». Противоположная теорема: «Если прямоугольник не является квадратом, то его диагонали не перпендикулярны или не делят углы пополам». Теорема, противоположная обратной: «Если диагонали прямоугольника не перпендикулярны или не делят углы пополам, то четырехугольник не квадрат»; г) одна обратная теорема: «Если сечение пирамиды плоскостью делит боковые ребра и высоту на пропорциональнные части, то сечение параллельно основанию». 9. б) Обратная теорема «Если параллелограмм есть ромб или квадрат, то его диагонали взаимно-перпендикулярны». Противоположная теорема: «Если диагонали параллелограмма не взаимно- перпендикулярны, то он не ромб и не квадрат». Теорема, противоположная обратной: «Если параллелограмм не ромб и не квадрат, то его диагонали не взаимно-перпендикулярны»; в) одна обратная теорема формы {Вх v B2) -> А. 10. а) Теорема имеет форму (Ах л А2) -> (Вх л В2), где Ах: «а || Ь», А2: «с || d», Вх: «а = Ь», В2: «с = d». Одна обратная теорема: (Вх л В2) -» -> (Ах л А2). Теорема, противоположная обратной: (-iBx v -iB2) -> -» (—i^! v -\A2); б) теорема имеет ту же форму, что и теорема из предыдущего пункта, где Ах: «а п р = Ь», А2: «а \\ Ь», Вх: «а || а», В2: «а || р». Одна обратная теорема: (Ах л Вх л В2) -> А2, в) теорема имеет форму (Ах л А2) -> Д где Ах: «i(a с а)», А2: «(3b)((b Q а) л л (Ь || а))», В: «а \\ а». 16. а) «Если А, то В»; б) «Если В, то А»; в) «Если В, то А»; г) «Если А, то В». 17. а) «Если функция дифференцируема в точке, то она непрерывна в этой точке»; б) «Если четырехугольник является прямоугольником, то его диагонали равны»; в) «Если многочлен/(х) делится на двучлен х- а, то а — корень многочлена/(х)»; г) «Если целое число оканчивается цифрой 0 или цифрой 5, то оно делится на 5»; д) «Если две прямые на плоскости перпендикулярны одной и той же прямой, то они параллельны»; е) «Если комплексные числа равны, то равны соответственно их действительные и мнимые части»; ж) «Если коэффициенты квадратного уравнения — 269
действительные числа, то оно имеет не более двух действительных корней»; и) «Если каждое слагаемое четно, то и сумма четна»; к) «Если треугольники равны, то они равновелики». 18. Истинны высказывания б), г), е), з), к); остальные — ложны. 19. а) Необходимо и достаточно; б) достаточно, но не необходимо; в) достаточно, но не необходимо; г) достаточно, но не необходимо; д) достаточно, но не необходимо; е) необходимо и достаточно; ж) достаточно, но не необходимо; з) необходимо, но не достаточно; и) необходимо и достаточно; к) необходимо и достаточно; л) необходимо и достаточно. 20. а)Л<->Д C*±A,A<r>D,E<r>A,K-+A, C->B9B+>D9B<r>E, К-± Д С-> Д С-» Е, C++ К, D<r>£, К^> Д K-+E(A**D обозначает А-*В и В-+А); б) для А достаточны В, С, А Е, К, необходимы В, А Д необходимы и достаточны одновременно В, Д Е. 21. а) А -> Д А -> С, А -> Д А -> Е, С <-» Д С <+ Е, D <-> Е; б) для £ достаточны Л, С, Д необходимы С, Д необходимы и достаточны одновременно С, Z). 22. а) 1) «Всякие вертикальные углы равны»; 2) «Если углы вертикальные, то они равны»; 3) «Углы вертикальные, только если они равны»; 4) «Для того чтобы углы были вертикальными, необходимо, чтобы они были равны»; 5) «То, что углы вертикальные, достаточно для их равенства»; 6) «Те углы, которые вертикальны, равны»; 7) «Вертикальными могут быть только те утлы, которые равны»; 8) «Углы равны тогда, когда они вертикальные»; 9) «Углы могут быть вертикальными только тогда, когда они равны»; 10) «Если углы не равны, то они не вертикальные»; 11) «Вертикальные углы содержатся среди равных углов». 23. б) «Окружности одного и того же радиуса г касаются данной прямой в данной плоскости тогда и только тогда, когда их центры лежат на прямых той же плоскости, параллельных данной и находящихся по обе стороны от нее на расстоянии г»; в) «Число будет корнем уравнения/(х) = g(x) тогда и только тогда, когда оно будет корнем уравнения, получающегося из данного прибавлением к обеим его частям одного и того же числа т». 24. а) «Для того чтобы импликация была истинной, достаточно, чтобы ее посылка была ложной»; б) «Для того чтобы импликация была ложной, необходимо, чтобы ее следствие было ложным»; в) «Для того чтобы импликация была ложной, необходимо и достаточно, чтобы ее посылка была истинна, а следствие ложно»; г) «Для того чтобы импликация была истинна, необходимо и достаточно, чтобы ее посылка была ложна или следствие истинно». 25. Следуют высказывания а), в). 26. Истинны высказывания а), б), г), е). 27. б) Воспользуйтесь тавтологией ((Р л Q) -> К) -» ((Р л л -\R) -» ~\Q)\ в) воспользуйтесь законом противоположности 270
(задача 1.28, ж); г) воспользуйтесь тавтологией задачи 1.28, р и законом де Моргана (задача 1.28, ф); д) воспользуйтесь тавтологией задачи 1.28, р. 29. Если капитан получает специальное указание, то должен покинуть порт; если капитан либо получает специальное указание, либо покидает порт, то он лишается впредь возможности захода в этот порт. 30. Нам удастся получить продовольствие в том и только в том случае, если нам будет угрожать смерть от голода; Если нам удастся получить продовольствие или нам будет угрожать смерть от голода, то мы попытаемся прорвать кольцо окружения. 31. Восьмой класс пойдет в поход в том и только в том случае, если будут приобретены новые палатки. 33. Да. 34. Да. 37. Нет. 38. Нет; нет. 39. Да. 40. Да. 41. Нет. 42. Нет. 43. Да. 46. «Число не делится на 2 или не делится на 5, или делится на 10»; «Число делится на 2 или не делится на 5, или делится на 10»; «Число делится на 2 или не делится на 5, или не делится на 10»; «Если число делится на 5, то оно делится на 10»; «Число не делится на 5 или делится на 2 тогда и только тогда, когда оно делится на 10»; «Если число делится на 5, то оно делится на 2»; «Если число делится на 5, то оно делится на 2 и на 10». 49. «Данный четырехугольник не ромб, но его можно вписать в окружность». 50. «Если целое число больше 2 и четное, то оно является составным». 51. а) «Данный четырехугольник не ромб»; б) «Четырехугольник не ромб, но его диагонали равны». 53. «Если целое число делится на 5, то оно оканчивается цифрой 0 или цифрой 5». 55. Кляксу на скатерть поставил Витя. 56. Нет, условиям задачи удовлетворяет как Витя, так и Коля. 58. Ершов, Дронов, Глебов, Ветров, Белов, Адамов. 59. А, Е, С, Р. 60. Есть две возможности составления расписания: 1) математика, литература, история; 2) история, математика, литература. 61. В экспедицию следует взять: Е — биологом, В — гидрологом, С — радистом, D — врачом, F— синоптиком, Н'— механиком. 271
§4 1. 4. 2. 16. 3. 2". 6. 2. 7. з) Это есть частный случай предыдущей задачи при к = 3. Ответ: 2""3 + 6; к) (1/3)(2п - 1), если п — четное; (2/3)(2я -' + 1), если п — нечетное; м) 2* + 2я"* - 1. 8. а) 11111011; б) 00100001; в) 11001111; г) 00000010; д) 01111110; е) 11100001; ж) 00111001; з) 00010011; и) 11100111; к) 11111111. 9. Не равны функции из в), ж), и), к); в остальных парах — равны. 11. Нет. 12. Нет. 13. Да. 14. Нет. 20. a)xvy=(x' -у')'; б)х^у=(ху'У; ъ)х<+у = (х- у')' ■ (х' • у)'; г) х + у = ((х ■ у')'■ (х'■ у)')'; д) х | у = (х • у)'; е) х 4- у = х' ■ у'; ж) х-Д у = х ■ у'. 23. а) х' = х I х; 6)x-y=(xlx)l(yly); в) х v у = (х 4- у) I (х 1 у); г) х -> у = ((х I х) I у) I ((х 4 х) 1 у); д) х-Д у = [((х I х) 1 у) 4- ((х 1 х) 4- у)] I [((х 4- х) 4- у) I ((х 4- e)x\y=((xlx)l(yl у)) I ((x' i у) i (x 4 ^)); ж) [((x I x) l у) I (x l (у I y))] i [((x ix)iy)i(xi(yi y))]. 24. a) x v j/ = x" v у = x' -^ y; б) x • у = (x -> у')1; в) х <-> j; = ((x-> 7) -> (^ -> x)')'; r) x + у = (x -> ,y) ~> (>; -> x)f; д)х|з; = х->у'; e) x I j; = (x' -> j;)'. §5 6. a) xy + xz + у + ^ б) yz + x + y+ 1; в) xyz + xy + x^ + x + ^ + г+ 1; г) jz + x + z+ 1; 272
д) xyz + yz + x + z е) xyz + yz + x + z+ 1; ж) yz+x + y; з) xyz + xz+ 1; и) xyz + xy + .уг + x + z + 1; к) ху + yz + x+ 1. 7. а) Верно; б) верно; в) неверно; г) верно; д) верно; е) неверно; ж) верно; з) неверно; и) неверно; к) верно. 8. а) 1; б) 1; в) 1; г) 1; д) 0; е) 1; ж) 1; з) 0; и) 1; к) 0. 10. Восемь: 0, 1, х, у, х', у', х + у, х <-» у. 13. а) Нелинейна: yz + х + у + 1; б) линейна: х + у + 1; в) нелинейна: ху + z + 1; г) нелинейна: xyz + ху + xz + yz; д) линейна: х + 1; е) нелинейна: xyz + xz + уг + £ + 1; ж) нелинейна: xyz + ху + xz з) нелинейна: xyz + xy + xz + yz + x + y + z+ 1; и) линейна: х +у + £ к) линейна: 1. 14. Например, еслиДх, у, z) = ху + ^ + у + 1, g(x, у) = ху, то А(х, у) = Дх, у, g (х, у)) = ху + j>(xy) + у + 1 = у + 1. 18. ху + ^ + гх. 21. a) x'y'zv x'j>z' v б) х'у'z' v x'y'z v xyzf в) x>'z' vxy'zvxyz' vxyz; г) х'д>'z' v x'yz v xyrz' v xy'z v xyz; Д) x'y'z' v x'yz' v xy'z' v x'j>z v xyz, е) x'y'z' v x'y'z v x'yz' v x'yz v xyz; ж) х'у 'z'v x'yz' v x'yz; з) x'y'z1 v x'yz'; и) x'y'z v лу'z' v ;xyz; к) x'y'z v x'yz' v xy'z- 27. Самодвойственны функции а), в), е), к); двойственные функции для остальных таковы: б) xyz v x'yz v xy'z v xyz' v x'y'z; r) x'y'z' v x'yz\ Д) x'y'z' v x'y'z v Ay'z' v xy'z v xyz' v xyz; ж) x'yz' v v Ayz' v xyz з) x'y'z v x'yz' v xy'z v xyz'; и) x'y'z v x'yz' v xz'y' v xyz'- 31. Таких функций шестнадцать: х; x'yz v xy'z'; z'(x'y v xy') v xz; y; x'y'z v Ayz v xy'; z; x'y'z v x'yz' v xy'z' v xyz; x'y'z v xyz v x'y; y'z' v v x'y'z v xyz'; y'(x'z' v xz) v y(x'z v xz'); z'; x'z' v x'yz v Ayz'; y'; x'y' v vx'yzy xy'z x'y' v x'yz' v Ay'z'; x'. Существенно зависят от всех своих аргументов десять. 32. Например,/(х, у, z, t) = x'z'f v x'y'z^ v yzt' v xy7' v xyz'f. 44. Ими будут такие линейные функции а0 + а^! + ... + апхп, у которых нечетное число коэффициентов я,(/ ^ 0) равно единице. 47. Не сравнимы: а), б), д), и); первый меньше второго: в), е), ж), з); в остальных — первый больше второго. 52. Монотонны функции а), в), е), к). 60. Такими функциями являются лишь функции 0, 1, х. 61. Нет, примером может служить функция ху v yzv xz. 62. Например, функции x,xyvyz^ xz. 10 Игошин 273
63. jc. 68. a) 0, x; 6) x, 1; в) 0, xy, (x -> y)', x, (у -> x)', у, х + у, xv y; r) xy, x, y, x v y, x <-> у, у -»x, x -> y, 1; д) x; e) xy, x, у, х v у; ж) О, (x ->y)', (y ->x)', x + у; з) x <-> y, у -> x, xy -> y, 1. §6 17. а), в), г), д), е), з), и), к). 24. а) {(х v у)(х' v у'), (х v у) <-> z}\ б) {ху, х'}; в) {ху\ 1}; г) {(x+y)z, 1}; д) {x'y' v x'z' v y'z', х + у}, {х + у, xy, 1}, {х>' v y'z' v x'z', 1}, {x'yf v x'^' v д;'^', ху}; е) {(x -^ y) -> z, ^')}5 {^r, ^V^}; ж) {x ~> (y -^ *), x + у}, {х -> (д; -^ г), 0}; з) {x v^;x + у, 1}, {x v уг, 0, 1}; и) {xy v z, x <-> j, 0}, {xy v z, 0, 1}; к) {xy v y% 0, 1}, {(y -> x)(y' -> x), 0, 1}; л) {z v xz\ x + y, 1}, {z v хг', x <-> j;, 1}. §7 1. a) xy v z v /; 6) xyz; в) x; r) x'\ д) 1; e) 0; ж) xy v гх'; з) х?у' v v ^/; и) (x v y)(z v 0; к) х(у v z)/. 2. a) ((x' v/v z)« v t)z'l 6) x'3;' v yzt\ в) (х v у)г v x(z v 3;); r) (х'у v z) w (x v у); д) (х^ v y') st (x'y v j/г); e) xz'vyv xzy vx'v y'z; ж) (хv.y')(£v t)(x'tvz');3)(xv/v^)/(x'vz)\и)(х' v«)(yvz) vx.y'; к)xzy' v/mv.yxz'. 4. a) (x' vy') (x v zy)\ 6) xy' v x'(y v z)\ в) xyz' v/v x'; r) xy' v v x'y' v x'z; д) Z'(^f v y^x'zHy' v zf); e) x' v у v z'; ж) xy v x'y'; з) (xyz' v v (x' v y')z v x'z; и) 0; к) x' v у' v x'(x' v y')(x' v z')- 6. a) x' vy v 5 6) 0; в) (xv z)y'\ r) xyz vx'y'z'l Д) xvy'; e) x v z(y v v и); ж) x'y'z' v yz; з) yf(z v 0; и) (х v z)y; к) 1. 7. а) у v xz'; 6) z v xy'; в) x v у v z'; r) x; д) /; e) x' v у v z; ж) x'z' v v y; 3) f(x v у v z); и) у (x v z); к) x (у v zt v z7') v yzr. 8. a) (x'z' v xz)y'; 6) (x v y')zf; в) x'y v y'z'; r) (x'y7 v yt')z\ д) (х' v v z')y't\ e) y/(xz v x'z'); ж) х'(у v z); з) (х v y)z'\ и) y't\ к) (х v y/)z'. 10. Ayvyzvzx. 11. x{yzy yuvyvv zuv zvv uv). 12. (xvyvzv/)(^'vy'vz'v/'). 13. xyztvx'y'z't'. 14. (xvyvz)(x'vy'vzf). 15. x'yzuv v xy'zuv v xyz'uv v xyzu'v v xyzw'. 16. JtyzV v x'y'ttz; v x'yw'v v x'yuv' v Ay'z'v v yzw'v' v xz'uv' v v xy'zt^' v y'zu'v v x'y'zw v x'yz'u. 274
17. xyvzt. 18. xvyvz'. 19. vv (x'v y' v z')(x' vy' v u'). 21. (xy v x'y')z v {xy' vx'y)z' и (xy v x'yr)z' v (xy' v x» z. 22. (xy v xy )(# v z'f) v (xy' v x» (zf v z'f). 23. (x')>'£' v x'yz v xy'z v xyz')(uv v wV) v (хуг v xyfz' v x'j>z' v 24. Такая функция на любых двух соседних наборах значений аргументов принимает противоположные значения. 25. x(y'zvyz1)vx'(yzvy'z'). 26. a) x'; б) х; в) у'; г) х; д) не подойдет никакой; е) х или у'\ ж) х или у; з) х, у или z\ и) j или z\ к) любой. §8 1. в) Аксиома (А1); г) не аксиома; е) аксиома (А1); ж) эта формула похожа на аксиому (A3), но все же не порождается этой схемой. Если в схеме (A3) взять в качестве F формулу -\F9 а в качестве G — н<7, то мы получим формулу (tiG -> -v-iF) -> -» ((т-iG -» -\F) -> ~iG), которая никак не сводится к данной формуле: мы не можем здесь заменить mf и -п(7 на f и G соответственно; з) (A3); и) не аксиома, хотя и похожа на (А1); к) (А2); л) не аксиома (по сравнению с (А1) скобки стоят не там); м) (A3); н) (А2). 2. t)(F-> Д) F-+ G; е) -if ж) (G -^ F) з) (?- и) (?. 3. б) Формула (3) получена из (2) и {I) по свойству (правилу) транзитивности: из формул F -> Gyl G -> Я выводится формула F-> H. Это правило имеет место, но оно еще не получило своего обоснования, о чем речь будет идти далее; в) это — вывод. Формулы (1) и (2) являются аксиомами (А1) и (А2) соответственно, формула (3) получена из них по МР; г) формула (1) есть аксиома (А2). Формула (3) получена из (2), (1) по МР. Но формула (2) не является аксиомой. Следовательно, данная последовательность — не вывод. Формула (2) является теоремой (см. Учебник, пример 15.2 или задачу 8.4, а), а значит, если в данную последовательность перед формулой (2) вписать ее вывод из аксиом, то в итоге будет получен вывод из аксиом формулы G -> -> (F-» F); д) это — вывод: (1) аксиома (А1); (2) аксиома (А1); (3) получена по МР из (1), (2); (4) аксиома (А2); (5) получена по МР из (3), (4); (6) аксиома (А1); (7) получена по МР из (6), (5); е) это не вывод, и комментарии здесь те же, что и в задаче 8.3, г, 275
так как формула (1) здесь представляет собой ту же теорему, что и формула (2) там; ж) последовательность формул, состоящая из единственной формулы — аксиомы, является выводом. Это означает, что всякая аксиома теории является ее теоремой. 4. Формулы б), в), г), д), е) имеют вид G -> Г, где Т — аксиома или теорема ФИВ. Их вывод выглядит так: Г, Г-» (G-> T) (аксиома (Al)), G -+ Т. При этом, если Т — теорема, то перед первой формулой этой последовательности следует выписать ее вывод. Формула в) допускает и другое доказательство: (1) F-> (<?-> ->/0, (2) (/•-> (G-*F))-+ ((F-* G)->(F-> F)), (3) (F-> G) -> -> (F -» F); ж), з) вывод первой формулы помещен в условии задачи 8.3, д. Вторая формула получается из первой заменой Сна G-> G. Такой же заменой получится и вывод второй формулы из вывода первой; и) нужно вспомнить, что Fv G обозначает формулу -li7-» G Тогда данная формула имеет вид G -> (-ijF-> G) — аксиома (Al); к) вот ее вывод: (1) -iG -> -\G (теорема), (2) (~iG-> ->-iG) -> ((-iС? -> G) -> G)(A3), (3) (п(7 -» G) -> G (MP: (1), (2)); л) вот ее вывод: (1) (-lF->-iG) -» ((-i-F-> С?) -> F), ->-iG) -> ((-!/•«► G) -» iO) -> ("iG -> ((nf-> nG) (3) -iG -> ((-iF-^-iG) -> ((iF-> G)-►/)), (4) G) -> ((~\F-> G) -> /)))-> ((-iG-> (-iF-> -iG)) - G) -> /))), (5) (-iG-> (-ijF -> nG)) -> (-iG -> ((-if1 «> -> G) -> F)), (6) -i(5 -> (-i/1 -> -iG), (7) -iG -> ((-if -> G) ^ F). 5. Формулы 2?! и 52 любого вывода из гипотез могут быть как аксиомами, так и гипотезами. Если же Г = 0, т.е. имеется вывод из аксиом, то эти формулы могут быть лишь аксиомами. (Для получения формулы по правилу МР нужно среди предыдущих иметь по меньшей мере две формулы. Так что ни 52, ни тем более В{ не могут быть получены по правилу МР из двух предыдущих формул.) 6. Свойства а) и б) выражают тот очевидный факт, что каждая формула выводима из самой себя: выводом служит последовательность, состоящая лишь из самой этой формулы. Для доказательства свойства в) нужно выписать друг за другом сначала последовательности, являющиеся выводами формулы Gx из гипотез Fb ..., Fm, затем — G2 из тех же гипотез и т. д., наконец — Gk из тех же гипотез, а после них — последовательность, являющуюся выводом формулы Я из гипотез Gi9 G2, ..., Gk. Поскольку для каждой из формул G/ в последовательности имеется ее вывод из гипотез Fu ..., Fm то вся полученная последовательность формул удовлетворяет определению вывода формулы Н из гипотез Fb ..., Fm. 7. Эта задача служит в некотором роде подготовкой к теореме о дедукции. В ней сформулированы достаточно очевидные свойства понятия выводимости: каждое последующее утверждение является некоторым обобщением предьщущего. Теорема о дедукции 276
будет утверждать, что верны утверждения, обратные к каждому утверждению настоящей задачи. И эти утверждения будут уже весьма не очевидными. а) Если имеется вывод формулы F-> Сиз аксиом: Вь ..., Bs_u F -> G, то выводом G из F будет служить последовательность: В\, ..., 2?5_ь F -> (/, f, <J, где Т7 — гипотеза, a G получена из двух предыдущих формул последовательности по правилу МР. Аналогично доказывается второе утверждение, а третье вытекает из Aw-кратного применения второго утверждения. 8. б) См. ответ к задаче 8.1, ж; в) вывод: G н jF-> G\ г) вывод формулы (5) из (2), (4); д) аксиомой здесь является лишь формула (7), которая есть не что иное как (A3). Формулы (4), (6), (8), (9) получены по правилу МР из предыдущих. Следовательно, данная последовательность есть вывод формулы (9) из гипотез (1), (2), (3), (5). Формулы (3) и (5) из числа гипотез исключить нельзя; е) вывод (7) из (1), (5); ж) вывод (5) из (4); з) аксиомами здесь являются формулы (2) и (4). Формула (3) получена по правилу МР из (1), (2). Формулы (1), (5) придется считать гипотезами, и данная последовательность формул, по существу, оказывается выводом формулы (5) из самой себя. 9. a) F, F-* G9 G; г) G, G -> (F-> G), F-> G, OF -> G) -> (#-> (F -> G)), H -> -> (F-> G); д) см. задачу 8.8, a; е) F, F -> G, G -> #, G, H; ж) F -> G, F -+ (G -> Я), F, (?, G-* Я, Я; з) F^> G, F-> (G-> Я), (F-+ ((?-> H)) -> ((F-+ G) -» (F-± -+ H)), OF-* G) -> (F-> H), F-± Я; к) полезно отметить, что в ФИВ (как и в содержательных математических теориях) одно и то же утверждение может иметь различные доказательства. Примером может служить настоящая задача. Вот одно из доказательств этого утверждения: (1) F, (2) G, (3)F-> ((?-> Я), (4) (F-+ ((?-> Я)) -> (0F-> (?) -> (f-> Я)), (5) (/г^ G) _> {F^ я), (6) (?-►</•-> (?), (7) F-> (?, (8) F-> Я, (9) Я. В этом доказательстве использованы аксиомы (А1) (формула (6)) и (А2) (формула (4)). Вот значительно более короткий вывод (к тому же вовсе не использующий аксиом, а использующий лишь правило вывода МР): F, G, F-> (G-> Я), С?-^ Я, Я; м) это важное свойство о перестановке посылок (Fn G) можно доказать следующим образом: (1) F-> (G-+ Я), (2) (F-> (G-> -> Я)) -> ((/*-> G) -> (f-> Я)), (3) (F-+ G) -> (F-> Я), (4) ((F-> -> G) -> (^ -> Я)) -* (((? -* (F -* (7) -> (F -> Я))), (5) G -> > G) -+ (F -+ Я)), (6) (G -> ((F -► G) -> (F -> Я))) -> (F-^ G)) -+(G->(F-+ Я)), (7) (G-+(F-> G)) -> (G-> Я)), (8) G -> (F -> (?), (9) G-+ (F-+ H). 277
После этого нетрудно построить вывод, подтверждающий, что f-> (G -> Я), G\- F-+ Н (см. задачу 8.9, л); н) см. задачу 8.8, г; о) -iG, -iG -> (hF -> -iG), ~ijF -» -»G, (-if1 -> -iG) -> ((nf -> -^ G) -> F), (-ijF-> G) -> F. Последняя формула в силу определения связки v может быть записана так: (f v G) -» f; п) -iG->-if, is (~iG-> -if) -> ((-iG-> F) -» G), (-iG-> f)-> -» G, f-> (~iG -» f), -iG -> is G; p) f, -\F9 f-» (-i(?~> F), -iG-> F, -ijF-> (-iG-> -if), -iG-» -> -uF, (iG -» -л/) ~> ((-iG ~> F) -> (?), (-iG-^ F) -> G, G; c) hG -» F, ~iG -» -if, (nG -> -i/) -» ((iG-> iO ~» G), G; т) эта выводимость также допускает два доказательства. Первое опирается на аксиомы (А1) и (А2): (1) F, (2) Т7-» (nF -> F), (3)-iF-> F, (4) (-lF-> /0 -> (G-> (-iF-> F)), (5) G-> (-i/'-> F), (6) (G -> (-if -> Z1)) -> ((G -> -iF) -> (G -> /0), (7) (G -> -> -if) ~> (G-> F). Второе опирается только на аксиому (А1): (1) F, (2) F-+ (G-+F), (3) G->F9 (4)(G->F)^ ((G->-i/)->«?-> Л), (5) (C->nf)-^(G-> /); у) второе доказательство предыдущего утверждения и доказательство настоящего по сути являются калькой с доказательства утверждения г) настоящей задачи; ф) о, G-> (-if1-* G), -!/•-> G(Fv G); x) приводим вывод, напоминая, что -i(jF ~> -iG) есть F л G: (1) -,(/*_> -,G)5 (2) -,(/•_> -iG) -> ("iG~> n(F-> nG)), (3)iG^ ->-i(F-> -iG), (4) (-iG-> -1(/^-> -iG)) ^ ((-iG-^ CF-> nG)) ~> G), (5) (nG -» (F-> nG» -> G, (6) -iG -^ (F^ -iG), (7) G; ц) эта выводимость представляет собой предыдущую, если вспомнить, что F <-> G означает CF-> G) л (G -> F); ч) если вам все же не удалось построить вывод, то обратитесь к помощи теоремы о дедукции (см. задачу 8.11, ж); ш) приводим вывод: -iJF, -uF-»(-iG-> -i/), "iG -> ni7, (~iG ~> -> -if) -> ((-iG -> f) -> G), (~iG -> F) -> G; щ) необходимый здесь вывод получается из вывода предыдущей задачи добавлением двух формул: п G -> F (гипотеза) и G (получена из двух последних формул по правилу МР). 10. В предыдущей задаче мы установили ряд важных выво- димостей (свойств выводимости), которые можем использовать для установления новых выводимостей. До настоящего момента все доказательства (как из аксиом, так и из гипотез) мы выписывали в полном виде. Используя полученные выводимости, начнем постепенно отходить от этого правила. Теперь мы будем выписывать не доказательства (выводы) как таковые, а определенные обоснования возможности написания таких доказательств. Настоящая серия задач — первый шаг на этом пути. 278
а) Студентам полезно будет выписать полное доказательство этой теоремы, с тем чтобы до конца уяснить построенные ранее выводы; б) ясно, что, дополнив приведенный в предыдущей задаче вывод формулами -i-i/7(гипотеза) и /'(получена из -i~\Fu -\-\F-+ -» Fno правилу МР), мы получим вывод /из nif; в) приведем обоснование возможности построения доказательства этой формулы: (1) (-i-i-i/r-> -i/*) -> ((—i-t-i/7 —> F) -> тпТ7) (аксиома (A3)), (2) htt-iF-» iF (задача 8.10, а), (3) (i-\iF-> /)-» -» mf(MP: (2),(1)), (4) F-+ (-i-i-i/*-* F) (аксиома (Al)), (5) F^> -+-1-1F (задача 8.9, и); г) предыдущий вывод нужно дополнить формулами F, -in/; д) -»/'-> (-i(?-> -i/), (-i<7-> -1/) -> ((~i(?-> /) -> G), -iF-» -» ((n(?-> /)-»(?). Последняя формула может быть выведена из двух предьщущих (аксиомы (А1) и (A3) соответственно) в силу свойства транзитивности (задача 8.9, и); е) -iF-> п/г(это — теорема на основании задачи 8.4, a), (-i/*-» -> -1/) -» ((-lF-> /) -> /), (-!/*-> F) -> F, -iF -> F, F; ж) на основании выводимости 9.9, в, приняв за /'формулу F-+ -» (G -> Я), за G формулу F -» G, за Я формулу jF -> Я, можем записать: (F-> (G-» Я)) ~> ((/--> (?) -> (/--» Я)) к (F~> (?) -► -> ((Z7-^ ((? -> Я)) ->(/'-> Я)). Формула, стоящая в левой части выводимости, есть аксиома (А2). Поэтому формула, стоящая в правой части, выводима из аксиом, т. е. является теоремой. 11. Теорема о дедукции утверждает, что если Fb ..., Fm_u Fm н н~ (?, то Fu ..., Fm_x \- Fm -> G, т.е. если имеется вывод формулы G из гипотез Fb ..., Fm_u Fm, то может быть построен и вывод формулы Fm -» (7 из меньшего числа гипотез Fu ..., /^,-1. Доказательство этой теоремы, приведенное в Учебнике (теорема 15.4), как раз и состоит в изложении четкого алгоритма по построению вывода формулы Fm -> G из гипотез /\, ..., Fm_x на основании имеющегося вывода формулы G из гипотез Fu ..., ivi, /v Для уяснения механизма действия этого алгоритма и предназначена настоящая серия задач. В них предлагается провести не абстрактное по индукции рассуждение для произвольных формул, как в теореме Учебника, а рассуждение для конкретных формул с конкретным количеством шагов. а) Сравнение полученного по теореме о дедукции вывода Q — С17 с выводом (1) —(7), предлагаемым в задаче 8.9, л, показывает, прежде всего, что первый вывод получился значительно более длинным, нежели второй. Это говорит о том, что алгоритм теоремы о дедукции не направлен на поиск оптимального (наикратчайшего) вывода, а обеспечивает лишь неотвратимость нахождения хотя бы одного требуемого вывода. Ведь кратчайший вывод (1) —(7) в задаче 8.9, л вы могли бы и не найти, действуя методом творческого поиска. Вывод же Q— С17 вы построите не- 279
пременно, если уясните механизм действия алгоритма. Далее, анализируя полученный вывод С\— С17, вы видите, что он содержит формулы, которые без ущерба могут быть опущены. Так, формулы С9 и С14 абсолютно одинаковы и последовательность формул С9— С14 направлена фактически на вывод формулы С14 из самой себя. При этом, только для этой цели привлекается формула С8: F-> F, вывод которой составляет последовательность С4— С8. Таким образом, опустив формулы С4— С8, С10— С14, мы получим последовательность формул Сь С2, С3, С9, Cj5, C16, С17, также представляющую собой вывод формулы F -» Я из гипотез F->(G-> Я), (7. Сравнив этот вывод с выводом (1) —(7), предложенным в задаче 8.9, л, мы видим, что он совпадает с ним с точностью до порядка входящих в него формул. Эти «недостатки» алгоритма, приведенного в теореме о дедукции, нисколько не умаляют его значения, которое состоит в его универсальной применимости и в неизбежности прихода к результату. И еще один момент, связанный с алгоритмом в теореме о дедукции, необходимо уяснить. Этот алгоритм применяется исключительно и только к выводам, доказательствам, а не к псевдовыводам, т. е. к последовательностям формул, поясняющим возможность построения вывода. Каждая формула этой последовательности может быть либо аксиомой, либо гипотезой (либо остающейся в списке гипотез, либо перебрасываемой направо), она может быть либо получена из двух предыдущих формул последовательности по правилу МР (и не может быть получена по какому-либо другому правилу, например по правилу транзитивности и т.п.); б) в задаче 8.9, е построен вывод формулы Я из гипотез: (Вх): F-+ G, (B2): G-+H, (Я3): F, (В4): (7, (В5): Я. Строим последовательность F -» Вь F -> Въ jF-> 53, JF-> B4, F-* В5. По алгоритму теоремы о дедукции дополняем ее до вывода формулы F -> Н из гипотез F -> (7, G -> Н: (С,): F-+ G; (С2): (С3): (С4): G -* Я; (С5): (G-> Я)-*(F->«7-> Я)); (Q): F-+(G^>H); (С7): F-+((F-+F)~>F); (С8): (F-> ((F-> F)->F))-> ((F-+ (F-> F)) (C9): (CU):F-+F; F-> (*"-> G)) G; 280
(C15): (F-> (G -> Я)) -> ((/•-> G) -> (F-> Я)); (CI6):CF-> <?)->(/--► Я); (CI7):F-> Я. Для получения требуемого вывода из этой последовательности достаточно ограничиться формулами С\, С4, С5, Се, Ci5, С^, С)7. Этот вывод не отличается от вывода, приведенного в задаче 8.9, и; в) нетрудно построить вывод формулы G из гипотез F-» (/"-> -> G), F: (5,): F-+(F-> G), (В2): F, (В,): F^G, (2?4): (7. Строим последовательность F-* Ви F-> B2, F-* В3, F-+ В4и по алгоритму теоремы о дедукции дополняем ее до вывода формулы F-> G из гипотезы F -^> (F -* (7): (С,): /■-> (/•-> G); (С2): (^-> (F-> G)) ^ (F-> (f-> (f-> (?))); (Сз): F->(f->(F->G»; (Q): (F-> ((f->/) ->/))-»- ((f-> (/•-»• F)) (Cj): (Q): (C7): (Q): (C9): (F-> (F-> (F-> (?))) -> ((/•-». F) (Cu): > F) (Cm): F-> G. При сокращении этого вывода не удается опустить формулы Q — Q, дающие вывод F -* F из аксиом, поскольку последняя формула используется ниже. «Отфильтрованный» вывод: Сь С4, С5, С6, Q, С8, С|2, С13, С14, который мы имели в задаче 8.9, и. г) В задаче 8.9, г имеется вывод Я -* (F -* G) из G: (5j): G, (В2): G-> (F^. G), (53): F-> G, (54): (F^ G) -► (Я^ (F^. G)), (55): H^(F^ G). Строим последовательность G-> Bu G -» B2, G -> Bb G -> 54, G -> 55 и дополняем ее до вывода из аксиом: (C{):(G -» ((G -+ G) -> G» ^ ((G -> (G -ч- G)) -> (G -> G)); (C3):(G -> (G ->- G)) ^ (G -> G); ->(G-> G); ^ G; ^(F^ G)) -^ (G-^> (G-> (F-> G))); -^(F-^ G); -»(G->(F^ G)); (C9):(G -> (G -» (F-> G))) -» ((G -> G) -> (G ^> (F-* G))); G-> G)->(G->(F-^ G)); G^(F-^ G); 281
(CI3): ((F-> G)^(H->(F-> G))) -+ (G -> ((F-> G) -> (Я -> G) -+ (Я-+ (/■- > G) -> (Я-> (F-> G)))) -» ((G-> (F-* G» -> _>(<;_>(#_>(/•_» (?)))); (Се): (G -> (F -> G)) -> (G -+ (Я -> (F -> G))); (C17):G->^-»(F-> G)). При «фильтровании» вывода лишними оказываются формулы Q—C6, Q—С„ (см. задачу 8.4, ж); д) в задаче 8.9, о имеется вывод (Fv G) -» Fva -\G: (5i): -iG, (B2): -lG-^- (-iF^- -iG)), (53): -iF-> -iG, (54): (iF-> -iG) -* ((-iF^> -+ G) -\F), (B5): (-iF -+ G) ^ F. Строим последовательность -iG -^ 5,, -iG -> 2?2, nG -» 2?3, -iG -> 54, -iG -> 55 и дополняем ее до вывода из аксиом: (С,): (nG -> ((-iG -^ -iG) ^- -iG)) -> ((-iG -» (~iG ^ -iG)) ^ ^ (iG -> -iG)); (C2): -iG -* (С3): (-.G -> (С,): nG -> (С5): -iG-> (С6): -.Сч (С7): (-1(7-> (С8): -iG-> (С9): (nG-> (С,о): (-.G- (С„): -iG-» —i/T\ _л. /Y—i 7Г HOJ —> ЦПГ (CI4): "<G-> (С,5): (-iG - HF-» -iG)) ((iG-> (-iG -» (-i(7-* -i(7; (~iF-> - (~iF-> (-iG-> i (-iG-> s^ -iG) н (-iF-> .-iG) ^. -*■ nG) (((-ijF — > ((~iF - -►(-1(7 -iG) -5 -iG)) - i(?); iG); (iF^ ► (nG - nG); ((nF s -> ((nF > -iG)'- -» -iG) -» ((-iF oG); ^ (iG ► (-i(7- iG)); -i(?))) ^ (iF - ► (7)-> -> G) »((-iF '-*(?) ^iG); -» (~iG-> -M(-iG- ■♦ -i<?)); -> G)->, F-> (7) - -> F))); (~iF-> + nG) • (iG ■ 0); > F))) -■(?))); -> ((I/1 -> ((-iG -» ( )) ( (( ) ))); > G) При «фильтровании» вывода лишними оказываются формулы Сх— С5, С7— С,, (см. задачу 8.4, л); е) построения этой задачи получаются из построений задачи 8.11, г), если вспомнить, что Fv Gecib -iF-> G, и заменить в этих построениях FHa -iF; ж) в задаче 8.9, п имеется вывод G из -iG -> -iF, F: (5j): -iG-> -> iF, (B2): F, (B3): (-.G ^ ->F) -> ((-.G -> F) -> G), (54): (пСч -» F) ^ G, (B5): F-*(-,G-+ F), (B6): ->G-> F, (B7): G. Строим последовательность: F-* B\,..., F-* В-j и дополняем ее до вывода формулы F-» G из гипотезы -\G -> iF: (С,): -.G -> -.F; 282
(C2): (-iG -> -\F) -¥ (F -> (-i(7 -> -iF)); (C3): /■-►(-, (7->-!/); (Q): (/"-> ((/■-► F) (C5): (Q): (C7): (Q): (C9): (i<7 ->-./)-> ((iG -> F) -> (7); >-bF) ->((-i(7-> F)-+ (7)-> (F-> ((-iG -> (7))); (С„): F -» ((-iG -> if) -> ((-i(7 -^ F) -> (7)); (C12): (f-> ((-i(?->-i/) -> ((iG-> /0 -> G))) -\F)) -± (/=■-» ((-i(7 ->/)-)■ (7))); ); F)) (C19): (F^> F) ^ (F-* bG-> F)); (Cm): f-)> (-i(7-> F); (C21): (F-> ((-i G->/)-> O) -> ((/=■-► (-!<?-► *))->(/•-> (7)); (Си): (/•-► (-!(?-> F))->(^-><?); (Си): F-> (7. После «фильтрации» остаются формулы Си С2, С3, С9— С{5, Сгх — Сгг (см- задачу 8.9, ч); з) мы имеем два вывода формулы (G -» -if) -> (G -> F) из F: в 7 шагов и в 5 шагов (см. задачу 8.9, т). Примените алгоритм теоремы о дедукции к каждому из них и из построенных выводов «отфильтруйте» наикратчайший; и—р) первоначальные выводы для применения алгоритма теоремы о дедукции вы найдете в задаче 8.9. 12. Предположим, что теорема о дедукции выполняется в том или ином исчислении высказываний. Тогда, применив ее дважды к очевидной выводимости F, G н- F, получим сначала F н- G -> -> F, а затем н F -> (G -» F). Далее нетрудно проверить, что выводимость F -> (G -» Я), Т7 -» (7, /" н- Н (см. задачу 8.9, ж) выполняется вне зависимости от состава аксиом исчисления высказываний, а лишь при наличии в нем правила вывода МР. Применим к этой выводимости трижды теорему о дедукции. Получим сначала F-> ((7 -» Н), F -» G, \- F-* Н, затем F-» (G -> Я) ь- н CF -» (7) ->(/"-> Я) и наконец н (f -> ((7 ^ Я)) -» ((F -»• ->(7) ->(F-> Я)). Обратно, если в составе аксиом исчисления высказываний есть данные формулы, или они на каком-то этапе развития исчисления появились как его теоремы, то, проанализировав доказатель- 283
ство теоремы о дедукции (Учебник, теорема 15.4), мы увидим, что в его ходе (кроме правила МР) использованы лишь эти формулы. 13. Данная задача является продолжением необходимости предыдущей задачи. Укажем те выводимости, применение к которым (может быть, неоднократное) теоремы о дедукции приводит к обоснованию выводимости данных формул из аксиом: б) F, G к G; в) (?, F\-F; г) F^> G, <?-» Я, F\- H; д) F-> G, #-> F9 H\- G\ е) (jF-> G) -> F, F-> G\- G; k)F->(F^> G), F\- G\ 3) F-+ ((?-» #), G, F\- H; и) G -> #, (?, F i- tf. 14. Мы наконец подошли к тому месту, когда начнем пожинать плоды тех усилий, которые затратили на освоение теоремы о дедукции. Уяснив, как работает ее алгоритм по созданию выводов (доказательств), мы больше не будем пускать его в ход, а будем лишь держать в уме эту возможность, осознавая, что ее реализацию можем осуществить в любой момент. а) Здесь необходимо обратить внимание на два момента. Во- первых, при применении второй раз теоремы о дедукции, т. е. при применении ее к выводимости -\F ь- F -» G, не забудьте заключить в скобки формулу jF-> G, чтобы у вас в итоге не получилась не формула -\F -» F -> G или не теорема (~iF -> F) -> G. Во- вторых, выводимость -л/; Ft- Gможно толковать и как F, iF\- \- G. Двукратное применение теоремы о дедукции к этой выводимости приводит сначала к выводимости F н iF -> G, а. затем к теореме н- i7-» (-iF-» G)\ б) в задаче 8.9, п доказана выводимость пС-> -i/7, F н- (7, применив к которой дважды теорему о дедукции, получим требуемую теорему. Данную теорему можно получить и однократным применением теоремы о дедукции к выводимости nG-> -\Fь- ^-> -> G, установленной в задаче 8.9, ч\ в) взгляд на выводимость в задаче 8.9, п как на F, -iG -> -\F ь- G и двукратное применение к ней теоремы о дедукции приводит к данной теореме; г) двукратное применение теоремы о дедукции к выводимости JF, -if1 н- (7, полученной в задаче 8.9, /?, приводит к теореме t-F-> ~> (~iF-> G), в которой -iF-> G и есть Fv G. Отметим здесь, что теорема t-G-> (Fv G) есть просто аксиома (А1): (?-> (-if-» G); д) обратная импликация для предыдущей верна только при G= Fn вытекает по теореме о дедукции из выводимости Fv Ft- F, установленной в задаче 8.10, е\ е) см. задачу 8.9, х. 284
15. б) См. Учебник, теорема 15.8, е; в) см. Учебник, теорема 15.8, ж; г) покажем, что F-> G, F-> -iG н- -iF: (1) F-> G, (2) F-> -iG, (3) (F -> (?) -> (-iG -> -i/0, (4) -iG -> -if, (5) (F -> -i<?)-> ->(m(?4 -i/0, (6)-i-iG-»-iF, (7) (-iG->nF) ->((-i-i(?->-i/0-> -> -.F), (8) (-in G -> -iF) -> -iF, (9) -iF. Остается к полученной выводимости дважды применить теорему о дедукции; д) выводимость из задачи 8.9, ш позволяет получить эту теорему в результате однократного применения теоремы о дедукции к этой выводимости, а выводимость из задачи 8.9, щ — в результате двукратного. 16. Укажем выводимости, из которых по теореме о дедукции следует данная выводимость: б) 8.10, е\ в) 8.9, р\ г) G, iF н- G (задача 8.6); д) 8.9, л; е) 8.9, п. 17. Приведем обоснования данных выводимостей. б) (1) F -> G, (2) -mF -> F, (3) -i-if -» G, (4) G -> (5)-i-iF-> -i-iG, (6) -iG-^ -i/1; в) (1) F-» G, (2) -if-> G, (3) CF-> G) -> (nG-> -i/0, (4) ; (5) (-if -> G) -> (-iG -> -in/0, (6) -iG -> -i-iF; (7) (iG -» -i-i70 -> ((-iG ~> n/0 -> G), (8) (-iG -^ -i/0 -> G, (9) G; r) (1) F -+ G, (2) F -> -iG, (3) -iG --> n/% (4) -i-if -> 11G, -i-iG) -> ((-i-iF-* -iG) ^ -iF), (6) (-i-if1-* -iG) -> (7) -i-i/1-^ F, (8) -i-iF-> -iG, (9) -iF; e), ж) вытекают из предыдущих задач а) и д) соответственно ввиду определения логической связки «->: F <-» G есть (Z7-» G) л з) (1) F -+ G(Fv G), (2) F-+ Я, (3) G -^ Я, (4) (F -> Я) -> -> (пЯ-> -./0, (5) нЯ-> -iF, (6) (G->H)~> ЬН-+ -iG), (7) -^ -iG, (8) -лН-+ G, (9) (-.Я-^ -.G) -> ((-1Я--> G) -> Я), -+ G) ^> Н, (11) Я. 18. а) Пусть F, G*- Н. По задаче 8.17, л имеем Fa G h F, а по задаче 8.9, д: — Fa G h- G. Тогда по задаче 8.6, в Fa G\- H. Наконец, отсюда по теореме о дедукции следует, что н (Fa G) -> ~> Я. Обратно, пусть выполняется последняя теорема. Тогда по задаче 8.7, a Fa СьЯ Кроме того, по задаче 8.17, д F, G н Fa G Наконец, из двух последних выводимостей по задаче 8.6, в заключаем, что F, G ь- Н. 19. а) Это есть теорема о дедукции; б) в задаче 8.17, д доказано, что F, G I- Fa G. Поскольку, кроме того (по условию), Г н- *- Fh Г н G, то по задаче 8.6, в имеем Г \- Fa G; г) из условия по теореме о дедукции заключаем, что Г н- F-» GhTi— F-»-iG. Остается доказать, что F->G, F->-iG«—iF(3to сделано в задаче 8.17, г), и применить утверждение задачи 8.6, в. 20. а) Следует на основании утверждения задачи 8.6, в ввиду того, что в силу правила МР справедлива выводимость F, F -> 285
-» G ь- G; б) по условию, Гн^лб.В силу задачи 8.17, a F л л (7 н- F. Тогда (задача 8.6, в) Г н f. Аналогично, но с использованием задачи 8.9, х, где доказано, что F л (7 н (?, проверяется второе правило удаления конъюнкции; в) имеем: F л G ь- F (задача 8.17, a), F a G I- G (задача 8.9, л). Тогда Г, F л (7 н- F и Г, F л (7 ь- (?. В силу условия Г, F, (7 н- Я оба последних вывода вместе можно продолжить до вывода формулы Я, т. е. мы будем иметь: Г, Fa G н- Я; д) из условия по теореме о дедукции следует, что rHf-^ЯиГн (7 -* Я. Получив формулы F-> Яи (7-» -> Я и добавив к ним формулу Fv (7, мы можем получить выводимость: F v (7, F-» Я, G -» Я I— Я (это доказано в задаче 8.17, з). В итоге получаем, что Г, F v G н- Я; е) следует из задач 8.9, /» и 8.6, в; ж) следует из задач 8.10, б и 8.6, в. 21. б) (1) -i<7, Я, (7 л Я н -,(?, (2) -i(7, Я, (7 л Я н- (7, (3)-i(7, Як -1(<7л Я); в) (1) G, пЯ, (7 л Я н- -.Я, (2) С7, -пЯ, (7 л Я t- Я, (3) (7, чЯн -1((7л Я); д), е) очевидно следуют из правила введения дизъюнкции (задача 9.19, в); ж) (1) -!<7, -|Я, G у- Я, (2) -i(7, -1ЯьС->Я; з) (1) -iC7, H, Gt- H, (2) -i(7, Я I- (7 -► Я; к) (1) (7, Я, (7 н- Я, (2) (7, Я н (7 -> Я; л) (1) -i(7, -.Я I- (7 -► Я, (2) -.Я, -i(7 I- Я -> (7, (3) -)(?, -пЯ н н ((7-> Я) л (Я-ч- (7). Последняя формула и есть G ++ Я; н) (1) (7, -.Я, (7 <-> Я I- (7 -► Я, (2) (7, (7 -> Я н Я, (3) (7, -.Я, (7 <-> Я н Я, (4) (7, -1Я, (7 <-> Я н -|Я, (5) (7, нЯ н -i((7o «■ Я); о) (1) G, Я, (7 н Я, (2) (7, Я к (7 -> Я, (3) Я, (7, Я н (7, (4) Я, (7 н- Я -> (7, (5) (7, Я н ((7 -» Я) л (Я -► (7). Последняя формула и есть G <-> Н. 22. Приведем обоснования этих выводимостей. a) (I) Fa Gh- F,(2) Fa Gh- G, (3) (7, Fi- (7л F, (4) Fa (7h \- G a F; в) (1) F л G H- (7 л F, (2) h(F л (7) -» (G л F), (3) G a Fi-Fa a G, (4) н((7 л F) -^ (F л (7), (5) h(F л (7) <^ (G л F); r) (1) Ft- G v F, (2) G \- (7v F, (3) Fv (7 ь- (7v F, (4) h(Fv v (7) -> ((7v F), (5) (7h Fv (7, (6) Fh Fv (7, (7) (7v Fh Fv (7, (8)b(Gv F) -» (Fv (7), (9) h-(Fv (7)o((7v F); e) (1) F i- F v F, (2) \-F ^ (F v F), (3) -iF -^ F, -iF н -iF, (4) -,/-_> /; -,^ н F, (5) nF -> F \- -i-iF, (6) -iiF к F, (7) iF -> ^•Fi-F(FvFi- F), (8) i-(Fv F) ^ F, (9) \-(Fv F)<* F; з) технология обоснования этой теоремы абсолютно аналогична технологии обоснования теоремы 8.22, ж. При этом используются выводимости из задач 8.9, ф и 8.16, в и правило Клини удаления дизъюнкции (задача 8.20, д); 286
и) (1) F\-F, (2) FaG\- F, (3) Fv (Fa G) к F, (4) h-(Fv (Fa a G)) -> F, (5) F\- Fv (Fa G), (6) \-F-> (Fv (Fa G)), (7)\-(Fv v (F a G)) <+ F\ к) аналогично предыдущей теореме; л) (1) i(Fv G), Fv- Fv G, (2) -i(jFv G)9 F\- i(Fv G), (3) -i(/V v (?) i—\F, (4) -i(Fv G), Gt-FvG, (5) -i(Fv G), G\—\(Fv G), (6) -i(Fv v G) h- -iG, (7) -i(7^ v G) у- -\F a -iG, (8) к -i(F v G) -> (-iF л л -iG), (9) п^лпСн -i(jPv G), (10) K-iFa ~iG) -> -i(jFv G), (11) hi(fv G) +> bFA iG); м) (1) -iF9 Fa ChnF, (2) nf, ^л G\-F, (3) nFhn(fA G), (4) -\G, F a G h-iG, (5) -iG, Fa G h- G, (6) -iG h--i(Fa G), (7)nfvnGi- -i(jFa G), (8) н (iFv nG) -> i(Fa G), (9) продолжите вывод самостоятельно; н) (1) F-> G, nG, ^к.Р-> G, (2) F-+ G, nG, Fi- G, (3) F-> G, nG, Fh -,G, (4) G, n(?hn(F^ G), (5) F-> G, -iG, Ft--i(F-+ -> G), (6) F-> G, ndhnF, (7) F-> Gt--iG-> -iF, (8) ь-(^^ -> G) -> (iG -> -iF), (9) продолжите вывод самостоятельно; о) (1) -л/1 н F9 (2) F9 nF н f, (3) F5 n/1 к nf, (4) (5) h- -in/7 -> F, (6) н F ~> -in/s (7) i §9 1. Предикатами являются выражения а), б), г), д), е), з), и). 3. Истинны высказывания а), в), д), е), ж), и), к). 5. Высказывание (Vx)(P(x)) эквивалентно конъюнкции Р(ах) л л Р(а2) а ... л Р(ап), а. высказывание (Зх)(Р(х)) — дизъюнкции Р(ах) v P(a2) v ... v Р(ап). 6. а) {3, 6, 9}; б) М; в) 0; г) М; д) 0; е) {-3, 2}; ж) (О, 0); з) {(1, 3), (1, 5), (1, 7), (2, 3), (2, 5), (2, 7), (3, 5), (3, 7), (4, 5), (4, 7), (5, 7)}; и) {(2, 4), (2, 6), (3, 6), (2, 2), (3, 3), (4, 4), (6, 6)}; к) {(-2, 11), (4, 9), (4, 11), (8, 7), (8, 9), (8, 11)}. 7. а) Луч х < 3 с началом в точке 3 (без самой точки 3), уходящий в -оо; б) две точки -4 и 4; в) открытый отрезок ]-2, 2[; г) два луча: х < -2 и х > 2, оба без начальных точек; д) два луча (оба с начальными точками): х < 3 и х > 5; е) открытый отрезок ]-5, -1[; ж) замкнутый отрезок [-8, 2]; з) вся числовая прямая; и) два луча х<-5и*>-1;к) вся числовая прямая. 8. а) Биссектриса первого и третьего координатных углов; б) две взаимно-перпендикулярных биссектрисы координатных углов; в) окружность радиуса 3 с центром в начале координат; г) 0; д) часть плоскости, заключенная внутри параболы (включая и саму параболу) с вершиной в начале координат, ветви которой направлены вверх; е) две ветви гиперболы в первой и третьей координатных четвертях; ж) полуплоскость, ограниченная прямой, проходящей через точки Л(0, 2) и 5(6, 0), включая саму эту прямую; з) вся плоскость, за исключением биссектрисы вто- 287
рого и четвертого координатных углов; и) две оси координат; к) логарифмическая кривая, проходящая через начало координат. 9. Тождественно истинными являются предикаты 9.4, д, г, д, и, л, 9.6, б, г, 9.7, з; тождественно ложными являются предикаты 9.4, в, 9.6, в, д, 9.8, г. 10. а) Окружность (без точек А и В) с центром в середине отрезка [v42?] радиуса, равного половине длины этого отрезка; б) полуплоскость, ограниченная прямой /, содержащая точку А и не содержащая прямую /; в) единственная точка, являющаяся точкой пересечения прямой / с серединным перпендикуляром к отрезку [АВ]; г) отрезок [Л^], симметричный с отрезком [АВ] относительно точки С; д) серединный перпендикуляр к отрезку [АВ]; е) окружность с центром в точке В данного радиуса; з) отрезок [АВ]; и) луч, лежащий на прямой (АВ), с началом в точке Д не содержащий точки А; к) парабола с фокусом А и директрисой /. 11. а) 0; б) i?\{2}; в) {2}; г) четвертая координатная четверть (замкнутая); д) все точки плоскости, кроме точек второй четверти, включая полуоси Оу+ и 0х~; е) все точки плоскости, кроме точек первой четверти, включая полуось Ох+, исключая полуось Оу+; ж) полуинтервал ]-3, 2] числовой прямой; з) 0; и) нижняя полуплоскость, объединенная с верхней полуокружностью радиусом 1 с центром в начале координат; к) внутренность полосы, ограниченной прямыми х = -3их=3. 12. д) {1, 3, 4, 5, 7, 9, 11, 13, 15, 16, 17, 19}; е) {2, 3, 4, 5, 6, 7, 8, 10, И, 12, 13, 14, 15, 16, 17, 18, 19, 20}; ж) {1, 2, 4, 8, 16, 17, 18, 19, 20}; з) (1, 2, 3, 4, 5, 6, 7, 8, 9, 16}; и) {16, 20}; к) М. _ _ _ 13^ а) Р+;б)Р+п0+;в)Р+и Q+; г) Р+ u Q+;n)(P+ и 0+)п n(Q+ иП _ _ 14. a) и) Р+; к) 15. а)_ д) P+nQ _ п Л+; к) P+u Q+. 16. Равны множества истинности предикатов б), г), д), ж), и). 17. а) Р+ = Q+ = М; б) P+nQ+= 0; в) Р+ £ 0+; г) Р+ и 0+ = М; Д) р+ = 0+ = 0; е) Р+ = 0, 0+ = М; ж) Р+ с <2+; з) Р+ = М, Q+ = 0; и) Р+ n Q+ = 0 и Р+ и Q+ = Л/, т.е. подмножества Р+ и £?+ множества Af образуют разбиение множества М; к) Р+ = Q\ 20. а) Р+ = 0, Q+ = М; б) 0+ = 0; в) Р+ = М, Q+ = 0; г) Р+ * М, Q+ ^ Л/, Р+ n Q+ * 0; д) Р+ п Q+* 0, Р+£ Q+; e) Р+ с (2+ либо Р+ ^ М, либо е+ ф 0; ж) Р+ it 0 или 0 * е+ * М; з) Р+ ^ 0, (?+ ^ ^ 0, Р+ n Q+ ^ 0; и) Р+ п Q+ = 0, причем Р+ * 0 или (2+ ^ М; к) Р+ 96 0, Q+ ф Мили Р+ ф М, Q+± 0. 288 U; и. P+ б) e) P* (Q+ P+; ; в) Г\ R ж) P U; +); r) 6) Q+ P+; P* n Д) n ( P+; 3)P+ e) u ■+); Q+ ж) в) KJ 1 p Q* +; 3) ; r)_ и) Q U; Q+;
21. а) Р+ = 0, Q+ = М; б) Q+ с Р+ или Р+ п Q+* 0, р+ £ Q+; в) Р+ п 0+ * 0, P+uQ+^ Л/; г) Р+ = 0; д) Р+ = 0, 0+ = Мили ?+=О+=0;е)?+ие+^М, Р7 u Q+ * 0 или Р+ = М, Q+ = 0; ж) P+kj Q+= М, Р+пб+ = 0; з) Р+ = Q+ = 0 или Р+ ф 0, Q+ * 0; и) P+uQ+= M; к) Р+ = 0+. 22. а) Равносильны на Z и TV; б) на множестве R не равносильны; на множествах Q, Z, N равносильны; в) равносильны на всех множествах; г) равносильны лишь на N; д) равносильны лишь на N; е) равносильны на всех множествах; ж) равносильны лишь на N; з) равносильны на всех множествах; и) равносильны лишь на N; к) равносильны на всех множествах. 23. а) Любое множество чисел, кратных одновременно 3 и 7, или не кратных ни 3, ни 7; б) всякое множество чисел, не содержащее следующих трех чисел: 2, (1 + >/3/)/2, (1->/3/)/2; в) множество всех городов, располагающихся как на берегу Волги, так и на берегу Свияги (например, Ульяновск), или множество городов, не располагающихся ни на берегу Волги, ни на берегу Свияги; г) любое множество нечетных составных чисел или любое такое множество с добавленным числом 2 (если считать число 2 и простым, и четным); д) например, множество всех прямоугольников; е) например, множество всех ромбов или множество всех четырехугольников с неперпендикулярными диагоналями; ж) множество всех равнобедренных треугольников или любое его подмножество; з) множество всех чисел, делящихся на 9, или множество всех чисел, не делящихся на 3; и) множество всех кубов или множество геометрических тел, не являющихся параллелепипедами; к) множество геометрических тел, не являющихся ни цилиндрами, ни конусами. 25. а) Из первого следует второй; б) из второго следует первый; в) ни один из предикатов не является следствием другого; г) из первого предиката следует второй, а из второго — первый, т.е. предикаты равносильны; д) из первого предиката следует второй; е) из первого предиката следует второй, а из второго — первый, т.е. предикаты равносильны; ж) ни один из предикатов не является следствием другого; з) из второго следует первый; и) из первого следует второй; к) из первого следует второй. 26. а) Любое подмножество множества N, не содержащее нечетных чисел, делящихся на 3; б) любое множество чисел, не содержащее числа -1; в) любое подмножество множества N, все нечетные числа которого являются квадратами натуральных чисел; г) множество всех четырехугольников; д) объединение множества всех четырехугольников, не являющихся параллелограммами, с множеством всех ромбов; е) объединение множества всех русских ученых-математиков с множеством всех иностранных ученых, не являющихся математиками; ж) открытый беско- 289
нечный полуинтервал (-«>, 5); з) множество всех натуральных чисел, делящихся на 9; и) множество всех параллелепипедов; к) любое множество геометрических тел, в котором нет ни одного цилиндра. 27. Не являются формулами в), ж). 28. а) х связана; б) х связана, у свободна; в) в первом вхождении х свободна, во втором — связана; г) х связана; д) в первом вхождении х связана, во втором — свободна, у связана; е) х и у связаны, z свободна; ж) v в первом вхождении связана, во втором — свободна, и и / связаны; з) х в первом вхождении связана, во втором — свободна, у в первом вхождении свободна, во втором — связана, z свободна; и) х связана, у в первом вхождении свободна, во втором — связана, z свободна; к) х связана, у в первом вхождении связана, во втором — свободна, z свободна. 29. Истинны высказывания б), г), е), з), к). 31. а) Р = Л3, х = я, у = Ъ\ б) Р = Аъ х = а, у = Ъ\ в) Р = Аъ у = а; г) Р = А2\ д) Р = А3, х = Ь, у = а; е) Р = А2 или Р = Аъ\ ж) Р = Аъ х = Ь, у = а; з) Р = А2, х = а, у = Ь. 32. а) Предикат «х < у» на множестве отрицательных целых чисел Z"; б) предикат «х2 л- у2 < 0» на множестве действительных чисел R; г) предикат «х < у» на множестве действительных чисел R. 33. б) Предикат «х2 + у1 < 0» на множестве действительных чисел R; г) предикат «х < j»> на множестве целых чисел Z. 35. Выполнимы все, кроме в), з). 38. б) Рассмотрите М= {5, 6} и предикаты Р(х): «5 | х», Q(x): «3 | х»; в) рассмотрите М = N и предикаты ^(х): «х — простое число», Q(x): «х > 10», R(x): «x — составное число»; д) сравните первую формулу с известной тавтологией алгебры высказываний (Р -> Q) v (Q -> Р). Докажите, что первая из данных формул логики предикатов также всегда будет превращаться в истинное высказывание, т.е. является тавтологией логики предикатов. Вторая же формула этим свойством не обладает. 40. Нет, примером может служить формула (Vx)(3j>)(V£)(P(x, у, г)). Поменяйте местами кванторы общности и в обе формулы вместо переменной Р(х, у, z) подставьте конкретный предикат «(х - y)z = 0». 45. Тавтологиями являются лишь формулы в), д), е), з). 51. a) (3x)(-iP(x) v в) (Зх)(пР(х)) v (Q(y) л (3z)bR(z))); г) ((Зх)(Р(х)) л (3y)bQ(y))) v R(Z); д) (Зх)(Р(х) л iQ(x)) v (\/y)(R(y) v -iS(z))\ е) (3x)(Vj;)((P(x) л -*Р(у)) v (Р(у) л пР(х))); ж) (Зх)(/>(х, у) л ШЬОШ; з) (ЭхЖЭЖ-^ОО) v Q(x)) л (3j;)(Vx)(Q(x) л 290
и) (Уу)((Р(у) а (3x)(hQ(x))) v ((Vx)«2(x) л к) (3x)(Vy)(3Z)(P(x, у, z) л (V/)(-iQ(x, 0 v iQ(y, t) v iQfe t))). 52. a) (3x)(Vu)(3y)((P(x) -> Q(x)) -► (/>(«) -► Q(j>))); б) (3x)(Vy)(/>(x) -► G(^)); в) (Vx)(V«)(Vz)(VtO«2(x, j;) v (Q(«, w) -> (Л(/, г) -> <2(t>, v)))); г) (Vy)(3^)(Q(y, г) -> R(x, t, z)); д) (3y)(0(x, у) -> Л(х, x)); е) <Vx)(PO>) -^ -i(Q(x, 3;) ^Ду))); ж) (Ух)(Зм)(Л(х, у, z) -^ Q(u, у)); з) (3x)(V«)(Vt;)((P(x) v Q(u)) л (5(^) ^ Л(г;))); и) (Vx)(V«)(Vz)(Vt;)(P(x, ^) v (Р(и, v) -> -.(QCj', ^) -^ P(v, z)))); к) (Эи)((Р(з;) л Q{x)) -> -.Л(и, г)); л) (3x)(Vj/)(3*)(V«)(P(x, У) -> (2(«, О). 53. См. задачу 9.59. 55. (Эх, у, z, u)(R(x, у) л Я(х, z) л Я(х, и) л R(y, z)AR(y, и) л л R(z, и) л (УО(пЛ(/, /))). 67. а) Нет; б) да; в) нет; ж) да; з) да; и) нет; к) да. 68. а) Да; б) да; в) нет; г) да; д) да. §10 1. б) (Зх)(Р(х)) л (Vx)(Vj;)((P(x) л Р(у)) -> (х = у)); в) (Зх)(Зу)(Р(х) л Р(у) л (х * у)); г) (Vx)(Vj;)(V*)(P(x) л Р(у) л P(z)) -> ((х = у) v (х = z) v (у = г)); д) конъюнкция в) и г). 4. в) (уА, В)(((А *В)-> (31)((А б/)л(Лб /))) л ((V/')((/l el') л л (в е/'))-> (/' = /))); и)х^1лх^2л (Vm)(Vn)((x = /ил) -> (((/и = 1) л (и = х)) v ((/и = = х) л (я = 1)). 6. и) Ни одно нечетное число не делит никакое простое число. 9. Верны а), г). 10. а) Верно; б) верно; в) верно; г) не верно; д) не верно; з) верно; и) верно; к) не верно. 13. a) ((f(x) > 0) л (g(x) > 0)) v ((Дх) < 0) л (g(x) < О)); б) ((/(х) > 0) л (g(x) < 0» v ((/(х) < 0) л (g(x) > 0»; в) (f(x) > 0) л (g(x) > 0) л (f (х) < (g(x))2k); г) ((g(x) > 0) л </(х) > GKx))2*)) v ((g(x) < 0) л </(х) > О)); е) (-g(x) < f(x)) л (/(х) < g(x)); ж) (Дх) > g(x)) v (f(x) < -g(x)); з) ((х > 0) л (Дх) = £(х))) v ((х < 0) л (f(-x) = ,?(х))); и) ((Дх) > 0) л (Дх) = g(x))) v ((Дх) < 0) л (-Дх) = g(x))) v v ((g(x) > 0) л (Дх) = g(x))) v ((g(x) > 0) л (-Дх) = g(x))); к) ((/(х) > 0) л (Л(/(х)) = g(x))) v ((/(х) < 0) л (й(-/(х)) = g(x))). 14. в) -6 < х < -5; г) (х > 3) v (х < -6); д) (х < -5) v (х > 4); е) (0 < х < 1/2) v (1 < х < 2) v (3 < х < 6); ж) х > -4; з) х = 0. 291
§11 1. Рассмотрим в качестве формулы F(x) формулу (Зу)(Р(х, у)) и подставьте ее в аксиому (РА1). Проверьте, что полученная формула не будет общезначимой. 2. Рассмотрите предикаты А(х): 6 | х и В(х): 3 | х над N. 4. б) Доказательство аналогично предыдущему, но использует аксиому (РА2) и 3-правило: (1) (3x)(F(x)), (2) Дх) -> (3y)(F(y)), (3) (Эх)(Дх)) -> (ЭЖДу)), (4) (3y)(F(y)). 5. а) (1) (Vx)№)) -> ад), (2) ад -> (3x)(F(x)), (3) (Vx) №)) -> (3x)(f (x)); 6) (1) (Vj;)(f(x, j>)) -> f(«, »), (2) (Vx)(VjO№ у)) -♦ Дм, г;), (3) (Vx)(Vy)(F(x, у)) -> (V«)(F(«, t>)), (4) (Vx)(VjO№, у)) -> -» (Vi/)(V«)(F(«, i»)), (5) (Vx)(Vj;)(P(x, y)) (6) (Vj;)(Vx)(^x, y)) ^ (Vx)(V^)(f(x, y)), (7) <^ (Vy)(Vx)(f(x, y)); r) (1) (V^)(/'(x, ^)) -► f(x, i;), (2) F(x, v) (3) (Vy)№, y))-^(3K)(f(«, »)), (4) (Vy)(F(x, y v)), (5) (3x)(Vy)(f(x, у)) -> (Уг;)(Зы)(Д«, »)), (6) ( 6. б) Начните с теоремы а): (1) (3x)(F(x)) <-> -i(Vx)(-i/'(x)), (2) (3x)(F(x)) ^ -i(Vx)(-if(x)), (3) -.(Vx)(-.F(x)) -> (3x)(f(x)), (4) -n(Vx)(-iF(x)) -^ -i(3x)(f(x)), (5) -i(3x)№)) -> -i -i(3x)(-./-(x)), (6) (Vx)(-iF(x)) -> -i-i(Vx)(-if(x)), (7) (Vx)(iF(x)) -> -iOxX^x)), (8) -.-i(Vx)(-i/"(x)) -► (Vx)(-.f(x)), (9) -.(3x)(F(x)) -> (Vx)(-i^x)), (10) -i(3x)(f(x)) о (Vx)(-if(x)). 7. б), в) Эти правила непосредственно вытекают из аксиом (РА1) и (РА2) соответственно по правилу вывода МР. 8. а) (1) (Vx)(F(x) -> ОД), (2) (Vx)№) -» ОД) -> (f(y) -> ), (3) F(y) -» (?(у), (4) ((V ), (5) GOO), (7) (Vx)(f(x)) -> (8)(Ух)(Дх)) -»• (Vy)(GC)), (9) (Vx)(f(x)) -> (Vx)(G(x)); б) (1) ад) -+ G(y), (2) G(y) -> (3x)(G(x)), (3) ад) -> (3x)(G(x)), (4) (ЗЖад)) -> (3x)(G(x)), (5) (Эх)№)) ^ (3x)(G(x)); в) (1) (Vx)(F(x) -► G{x)), (2) (Vx)(F(x) -» G(x)) -> (ад) ^ GOO), (3) ад)-». GO'), (4) (3x)(f(x)) -> (3x)(G(x)); r) (1) (Vx)(G-> F(x)), (2) (Vx)(G^f(x))->(G->fO)), (3) G-> -> F(y), (4) G -> (Уу)(ад)), (5) G -> (Vx)(F(x)); д) (1) (Vx)(F(x) -> G), (2) (Vx)(f(x) -► G) -> (F(y) -> G), (3)Ду) -> G, (4) (Зу)(ад)) -»- G, (5) (3x)№)) -. G; е) (1) (3x)(F(x)) -> (Vx)(G(x)), (2) (Vx)«7(x)) (3) (3x)(f-ij<jc)) -> <?(y), (4) ад) -»• (эх)(Л(х)), (5) ад ж) (1) (3x)f(x)) -> (vx)(G(x)), (2) ад) -> G(y), (3) (ад -> G(y)) -♦ (3x)(/"(x) -> G(x)), (4) (3x)№) -> G(x)); з) (1) (Эх)(Дх)) -». (Vx)(G(x)), (2) Ду) -> GO), (3) (Vx 292
и) (1) (Vx)№) <-> G(x)), (2) F(y) <-> GW, (3) F(y) -> ОД, (4) G(y) -> ад, (5) (ЭхХВД) -> <3x)(G(x)), (6) <3x)(G(x)) -» -> (Зх)(ВД), (7) ((Зх)(ВД) -> (ЭхХ <?(*))) -» (((ЭхХОД) -> -> (3x)(F(x))) -> ((3x)(F(x)) о (ЭхХОД))), (8) ((Эх)(ОД) -> -> (ЭхХ^х))) -> ((3x)(F(x)) <-> (Зх)(ОД)), (9) (3x)(F(x)) <-> <-> (Зх)(ОД). 9. б) Начните с только что доказанной теоремы: (1) -i(Vx) (2) )); (4) (5) n-i(Vx)(^(x)) -+ -i(3x)(-iF(x)), (6) (7) nOxX-i^x)) -^ (Vx)(f(x)), (8) (9) (VxXTO) -> nCSxX-i^x)), (10) (VxX^x)) 11. в) Покажем сначала, что (?-> ^(j^), G1 н (Зх)(/Г(х)): (1) -> /l(y), (2) (?, (3) Ду), (4) F{x), (5) (ЭхХад). Из этой выводимости по теореме о дедукции заключаем, что G -> F(y) н- G1 -> -» (3x)(jF(x)). Из этой выводимости по правилу УКС (задача 11.10) заключаем, что (3y)(G -» F(y)) ь- G -> (ЗхХ^х)) или (Зх)((? -> -> Дх)) к G -> (ЗхХ^х)); г) докажите сначала, что F(y) -» G, (Vx)(7r(x)) ь- б?. Затем примените теорему о дедукции и правило УКС (задача 11.10). 12. а) Из задачи 11.8, г по теореме о дедукции получаем теорему (Vx)(G -» F(x)) -> (G -» (VxX^x))), а из задачи 11.11, a — теорему (G -» (Vx)(/r(x))) -> (Vx)(G -> F(x)). Из них по правилу л-вв приходим к требуемой теореме; б) из задачи 9.8, д по теореме о дедукции получаем теорему (Vx)(/r(x) -> G) -> ((3x)(jF(x)) -> -> <?), а из задачи 9.11, б — теорему ((3x)(F(x)) -» G) «> -> (Vx)(.F(x) -> G). Из них по правилу л-вв приходим к требуемой теореме; д) исходя из определения связки v нужно доказать теорему (Vx)(-i(? -> F(x)) <-> (-iG -> (Vx)(f(x))). Она доказана в задаче 11.12, а; е) исходя из определения связки л нужно доказать теорему (3x)(-\(F(x) -> -iG)) <-> i((3x)(/r(x)) -^ -iG). Она будет доказана из теоремы задачи 9.9, а и приводимой ниже теоремы на основании следующего правила вывода ФИВ: Р <-» Q, Q <-> R »= t=P <+ R, n(Vx)(F(x) -> -iG) <-> -i((3x)(jF(x)) -> -iG). Последняя же теорема, в свою очередь, будет доказана (на основании правила контрапозиции в ФИВ), если будет доказана теорема (Vx)(jF(x) -> ->-»G) <-> ((3x)(.F(a:)) -> -iG). Она доказана в задаче 9.12, б; ж) докажем сначала, что (Vx)(/r(x) л G(x)) i- (Vx)(JF(x)) л (Vx)(G(x)): (1) (VxX^x) л G(x)), (2) (VxX^(x) л G(x)) -> (f(y) л G(y)), (3)F(y) a G{y\ (4) F{y), (5) G(j;), (6) (VxX^x)), (7) (Vx)(G(x)), (8) (Vx)(,F(x)) л (Vx)(G(x)). Следовательно, по теореме о дедукции имеем -i(Vx)№) л G(x)) ~> ((Vx)(^(x))a (Vx)(G(x))). (*) Теперь докажем, что (Vx)(F(x)) л (Vx)(G(x)) н- (УхХДх) л л G(x)): (I) (VxX^x)) л (Vx)(G(x)), (2) (Vx)F(x)), (3) (Vx)(G(x)), 293
(4) <V*)OF(x)) -> F(y), (5) F(y), (6) (Vx)«?(x)) -> ОД, (7) ОД, (8) ВД л ОД, (9) Л, (10) (Ду) л ОД) -> (Л -► (/"(у) л ОД)), (ИМ -» (ТО л ОД), (12) А -> (Vx)№) л ОД), (13) (Vx)№) л л (/(*)). Следовательно, по теореме о дедукции h((v*)№) л <Vx)(G(x))) -> (Vx)№) л ОД). (**) Из теорем (*) и (**) по правилу л-вв получаем требуемую теорему. §12 1.6) 111111до1;в) 1яо1Ш;г) 1111111; д) 1111111; е) 11111111; ж) 111111; з) 111... 11 (*+ 1 единица). 2. а) я0; б) 1; в) а0; г) ао\ е) 1ао1П; ж) Паоаоаоаоаоаоаоао1\ з) ll^o^o^o^ol; 3. в) qxaQ -> ?4П, qx\ - qs\ - 4. а) 111111; б) 111111; в) 1111; г) 111; д) 11111; е) 11111; ж) 1111. 5. а) 1; б) я0; в) 111; г) 11; д) 1. 6. а) 1; б) 1; в) 11; г) 11; д) 111. 8. Прокомментируем идею работы алгоритма применительно к слову 11111. Алгоритм имеет прямой ход и обратный ход. На прямом ходе происходит разбиение данной совокупности единиц на тройки и выяснение того, сколько единиц останется на ленте (0, 1 или 2) после выделения максимально возможного целого числа троек. Прямой ход осуществляется с помощью трех состояний qb q2, qy Головка движется справа налево вдоль ряда единиц, последовательно переходя в состояния qb q2, q$, затем снова в qu q2, ft и т.д., но до тех пор, пока не появится первая пустая ячейка а0. Ясно, что если она появится в состоянии q{ (так было в только что рассмотренной последовательности конфигураций по переработке слова 111), то на ленте было число единиц, кратное трем, и искомый остаток равен нулю. Если пустая ячейка появится в состоянии q2, то искомый остаток будет равен 1. Наконец при состоянии q3 остаток равен 2. Последняя ситуация имеет место в нашем случае. От слова flollll#il0o 0-й шаг) мы приходим к слову (6-й шаг) q3aol 1111% Теперь начинается обратный ход. Мы должны вернуться на правый конец данного слова, стерев все записанные единицы. Достигнув первой пустой ячейки справа, нужно записать соответствующее количество единиц: 0, 1 или 2. Для этого через весь обратный ход должна быть пронесена информация о том, сколько же единиц должно быть записано в результате, т.е. должна быть пронесена информация о том, в каком состоянии машина вышла на первую пустую ячейку слева. Для сохранения информации о состо- 294
янии qt (/ =J, 2, 3) в процессе обратного хода предназначены два состояния qi и qi+3. В рассматриваемом случае должна быть сохранена информация о состоянии q3. Головка делает один шаг вправо, и машина переходит в состояние <& (7-й шаг): aoq^lllllaQ. Цикл по стиранию одной единицы выглядит так: 8) ам6а01111; 9) ДоЯо<7з1111. Далее, таким же образом стираются оставшиеся четыре единицы и на 17-м шаге в состоянии Щ головка обнаруживает первую правую пустую ячейку: а^а^а^аф^а^. Наконец, с помощью состояния q7 на ленту заносятся две единицы (20-й шаг): ЯоЯоЯоЯоЯоЯо11<7оЯо- Подумайте, можно ли обеспечить запоминание на обратном ходе состояния qt только с помощью одного состояния qj, без использования состояния qi+3. 9. Из программы видно, что головка всегда движется только вправо и при этом содержимое ячеек не меняется. Если перерабатываемое слово содержит один массив единиц, записанных без пробела, то, пройдя его в состоянии qu машина на первой же пустей ячейке перейдет в состояние q2 и, находясь в нем, будет вечно двигаться вправо (см. задачу 10.9, в). Если при этом она встретит на своем пути еще один массив единиц, то она на первой же единице этого массива перейдет в состояние q3, пройдет этот массив и, достигнув в состоянии #з первой пустой ячейки, остановится (см. задачу 10.9, а). Дальнейший характер перерабатываемого слова не важен (см. например, задачу 10.9, б) — машина остановилась; г) laoaoaoaolqoao; д) llaoaollqoao; e) не остановится; ж) laolqoaoaolaol; з) не остановится; и) aQlqoaoaol; к) 11до11#оЯо- 10. а) Машина останавливается, выдав слово laolaoaol, обозревая в состоянии q3 четвертую ячейку слева; б) машина останавливается, выдав слово laolaol и обозревая в состоянии q3 вторую левую пустую ячейку от полученного слова; в) машина не меняет данного слова и останавливается в состоянии q3, обозревая вторую левую пустую ячейку от этого слова. 11. а) Машина выдает слово 1аоаоао1ао1 и останавливается в состоянии q4, обозревая третью ячейку справа; б) машина выдает слово 1аоао\ и останавливается; в) машина не меняет данного слова; перед остановкой обозревает в состоянии q3 самую левую ячейку с буквой данного слова. 12. #,1 -> ftlJI, q2l -> ?21Л, q2a0 -> ДОоП, q3\ -> qQ\. 13. qx\ -» q2aoJl, q2\ -» q2a$V, q2aQ -> qoao. Другой вариант: qx\ -> -► #i0oJI, q{a0 -> q0a0. 15. Программа, реализующая идею из указания qxl -> q2aJl, q2\ -> Л, q2* -> Л, q2aQ -> q3a0U, q2a -» q3all, q3l -> q4aU, q4l -> П, q4* -> П, q4a0 -> q{aon, q4a -> q{aJI, q{ * -^ ?5*Л, q5a -> ^51Л, q5\ -> -> Л, q5a0 -* q6Tl, q6l -> П, q6* -> П, q6a -> qeaoll, q6a0 -> q0, q3* ~> -> q7ll, qn\ -+ П, q7a -> q7lU, q-ja0 -> qsa^, #81 -> Л, q%* -± Л, qsa -> qsaoll, qsa0 -> q0. 295
17. Внешний алфавит: {1, 2, 3, 4, 5, 6, 7, 8, 9}, два состояния: <7о (остановка), qx (рабочее состояние), функциональная схема: qxi -> qo(i - 1) (для I = 1, 2, ..., 9), qx0 -> $,9Л. 19. Выпишите самостоятельно всю последовательность конфигураций, возникающих в процессе работы. Заключительная конфигурация имеет вид ^0Ю000*000. Если в двоичной системе счисления произвести сложение двоичных чисел 1011 и 101, то получится 10000. Таким образом, машина произвела сложение данных двоичных чисел. Данный алгоритм выполняет следующие действия. Каждую букву из двух данных слов, разделенных звездочкой, кроме самой звездочки, он заменяет на букву 0 (обнуляет слова), а затем в первой пустой ячейке слева от левого слова вписывает букву 1. В частности, 1*1 => 10, 1*11 => 10*00, 11*11 => 100*00, 11*1 => 100*0, 10*1 =* 100*0, 1001*111 => 10000*000, 1101*11 => 10000*000. Это означает, что данный алгоритм не является алгоритмом сложения двух произвольных чисел, записанных в двоичной системе счисления. И только для некоторых таких чисел его результат представляет собой сумму исходных двоичных чисел, как это произошло и с данными числами. (Найдите в только что указанных соответствиях ситуацию, когда результат действия данного алгоритма совпадает с суммой исходных двоичных чисел, и придумайте другие пары двоичных чисел, обладающие таким свойством.) 20. Машина Тьюринга выполняет вычитание для двух данных двоичных чисел: 1101*1001 => 0100*0000, но не представляет алгоритма для вычитания любых двух двоичных чисел в двоичной системе счисления. 25. qfi -» #2(Ш, q2\ -» #21Л, q20 -> q00. 27. qx0 -> q2OTI, q2\ -> ?21П, q20 -> ftO, ^0 -> ?40Л, q4l -> ?50, q50 -> #60Л, q6l -> ?61Л, q60 -» #71, q40 -» q70, qn\ -> ?81Л, q%\ -> , ql0l -> ?1ОШ, qlQ0 -> qnl, qul -> ^121Л, qx2\ -» , qXA\ •-> ^141Л, ?140 -» ?151, ?70 -^ ql6l9 ql6l -> , q[7l -> 9,50, ?151 -> q7l, ql50 -> g70, ?80 - 28. qx0 q50 -^ ^61, ?61 -> ?6П, g60 -> ^7П, qn\ 980 -> q^ q9\ 32. a) ^0 ~ 6) ?i0 - 33. а) Б+ВОБ". 34. 6) qfi -> q2OU, q20 ~> 9з0Л, q2l -+ ?21П, ftl ~> q40, q40 -> ~> ^50Л, q30 -> %0 (Для л: = 0), qs\ -> ?51Л, q50 -> ^00; г) из стандартного начального положения вычисляется машиной: qx0 -» qol, qx\ -» ^0Л, ^21 -> ^20Л, #20 -> ?00- Составьте программу, правильно вычисляющую данную функцию; 296
д) программа машины Тьюринга, вычисляющей функцию из стандартного начального положения: qx\ -> ft%JI, ftl -» 9г1Л, q2* -» ft* Л, Доо -> 9з«оП, ftl -> ?4ЯоП, #41 -> &1П, #4* -> ft* П, , ftl -> 011, 05* -» 06* Л, (fttf0 -> 07*<>П, 07* -> 0()Яо), , ftl -> 081Л, fttf0 -> ?9^оП, 091 "> ?9^оП, ft* -> 00*), (0з* -> 0ю4)П, qxol -> ?ю^оП, 9ю^о -> ЯоЯо)- Алгоритм работы данной программы состоит в следующем. На ленте записаны подряд два массива единиц (по хи у штук соответственно), разделенные звездочкой *. Начиная из стандартного начального положения (крайняя правая единица массива у), машина стирает крайнюю правую единицу и движется влево, минуя звездочку, к крайней левой единице. Стирает ее и возвращается на правый край. Стирает единицу, движется на левый край. Стирает там одну единицу и возвращается на правый край и т.д. Если на некотором цикле единицы справа иссякнут, а слева они еще будут иметься (т.е. х > у), то на первую правую единицу левого массива х машина выйдет в состоянии #6. Начнет работать группа команд, заключенных во вторые круглые скобки в записанной выше программе, и машина выдаст результат 1. Если же на некотором цикле иссякнут единицы левого массива, а в правом массиве они еще будут иметься (т.е. х < у), то сигналом к этому для машины послужит ее выход на обратном ходе на ячейку со звездочкой * в состоянии ft- В этом случае начнет работать группа команд, заключенных в третьи круглые скобки, и машина отработает результат 0. Наконец, если на каком-то цикле при обратном ходе окажется, что иссякли как единицы правого массива, так и левого (т.е. jc = у), то сигналом к этому для машины послужит ее выход при следующем прямом ходе на первую слева пустую ячейку в состоянии q6. Начнет работать группа команд, заключенная в первые круглые скобки, и машина выдаст результат 0, заменив на него звездочку; з) машина Тьюринга с внешним алфавитом А = {oq, 1, а, р}, алфавитом внутренних состояний Q = {ft, qu ft, ..., q7} и программой (начинающей работать из стандартного начального положения): q{a0 -> q2a0, qx\ -> ftpJI, q2ao -> ftaoll, ftl -> ^1J1, ftflo-> JI, ftl -► ftpn, fta -> ftctfl, ftP -> fttf0n, q4a0 -> ftall, q4l -> , q4a -» q4aU, q$ -> ?4рП, q5a0 -> ft%JI, q6a0 - q6a -> ftcJI, ftp -» 46рЛ, q7a0 -» ft^n, q7a - к) машина Тьюринга с внешним алфавитом А = {до, 1> ос, р}, алфавитом внутренних состояний Q ?= {ft, qb q2, ft, q4} и программой (начинающей работать из стандартного начального положения): q{a0 -> q4a0U, qx\ -> ftpH, qxa ~> ^aJI, q2a0 -> ftall, ftl -> -> «21Л, fta -^ ftodl, ftl -> ftin, fta -> ftan, ftp -> ^рЛ, fta0 -> «ob , ftp -> ^Ш. 36. /(x) = x + 2. 37. /(jc, у) = x. 297
§13 1. 6) ф(х) = S(S(...S(x))...) (функция S применена п раз); в) ф(х, у) получается примитивной рекурсией из Дх) = /{(х) и g(x, у, z) = S(Il(x, у, z))', г) ф(х, у) получается примитивной рекурсией из Дх) = О(х) и g(x, у, z) = I](x, у, z) + I\(x, у, г). 3. б) Ф(х, 0) = 1, Ф(х, у + 1) = х - Ф(х, у); в) sg(O) = 0, sg(x + 1) = = 1 = S(O(x)); г) sg(O) = 1, sg(x + 1) = 0 = O(x); д) 0 - 1 = 0, (x + + 1) ^ 1 = x; e) x -^ 0 = x, x ^ (y + 1) = (x *• y) ■*- 1. 5. 6) min(x, y) = x ^- (x ^ j^); в) max(x, y) = 3; + (x ^. j;). 6. б) Схема примитивной рекурсии: r(0, j;) = 0, r(x + 1, y) = = £(/*(x, >>)) • sg(|y - 5(r(x, ^))|), выражение через суперпозицию известных примитивно рекурсивных функций: г(х, у) = х ~ (у • в) T(x) = Xse r(*, 0; г) a(x) = £/sg ф:,/); д) х — простое число <=> т(х) = 2 (см. 13.6, в), поэтому V 1=1 е) п(х) = £sg(|x(/) -2|); (см. задачу 13.6, в). ы 7. б) х • ^ = min(x, j'); в) л v у = тах(х, у). 9. б) /(и) = цг<йЕ^+1« /•(«, Р(О) = 0]; в) ехр(х, у) = цг < 4( si/•(>>, (^(х))г+1) • sg у = г) НОК(х, y) = \iz<x- y[z- sg(x • у) + sg(x + Kz, у)) = 0]; , у) = yj^yx.7gy +у- е) ж) з) 11. 12. 298 [VxJ = N= [хЩ б) ха Х(х) = 1)2 - х) • sg у = о] + sgj> • х; 1)2 - 2х2) = о]. \ в) xz. =sg(x-^); г) х/U.
14. Характеристические функции этих предикатов: .», *п, 0); П/оь -, хн, 0)- 15. б) q>(*i, ..., хя) =/, - х/>, + - +Л • X/i- Заметим, что это соотношение определяет ф и в том случае, когда ни один из Ри ..., Рк не истинен: в этом случае ф равно нулю. 19.Л*) = НУ[*+1+У = 0]. 21. Все примитивно рекурсивные функции всюду определены, а среди частично рекурсивных функций встречаются и функции не всюду определенные, например функции, рассмотренные в задаче 17, я—-г. §14 2. a) ddacbdcc; б) ddacbaa; в) bbacbabc; г) dddcbabc; д) ddadabc; е) ddacb; ж) ddabc; з) dcbabc; и) dacdbabc; к) ddacaabc; л) ddbdcbabc. 3. a) cbdccdac; б) cbaadac; в) не применима; г) cbabcddc; д) dabcdac; e) cbdac; ж) bcdac; з) cbabcc; и) cbabcacd; к) caabcdac; л) cbbdbcdac. 5. а) асаасаасааса; б) bbabbabbabba; в) bcbccbccbcca; г) саасаа- саасаа; д) babbabbabbab; е) Аса; ж) Л; з) бея; и) Аса; к) сяся; л) bcbbcbbcbbcb. 6. а) саасаасаасаа; б) babbabbabbab; в) cbccbccbccbc; г) cacaacaacaab; д) abbabbabbabb; e) саб; ж) сяб; з) Л; и) сяб; к) сдея; л) cbbcbbcbbcbb. 7. a) dedaeba, ddacbdc, cbdeae; 6) aaddacba, ddacbaa, cbaadac; в) abebbaeba, bbacbabc, не применима; г) abedddeba, dddcbabc, cbabcddc; д) abeddada, ddadabc, dabcdac; e) ddacba, ddacb, cbdac; ж) abedda, ddabc, bedae; з) abedeba, dcbabc, cbabcc; и) abeaeddba, aeddbabe, cbabcacd; к) aacddacaa, ddacaaac, caaacdac; л) bdbcddbdcbbd, ddbdcbbdbc, ebbdbedbde. 9. а) Л; б) А; в) 1; г) Л; д) 1; е) 1; ж) 1; з) 1; и) Л; к) 1;л) 1. 10. а) яя; б) я; в) Л; г) не применим; д) не применим; е) я; ж) яяя; з) Л; и) Л; к) 6. Данный алгоритм каждое слово в алфавите Л = {я, 6} перерабатывает либо в слово, состоящее лишь из одних букв я (их число равно разности чисел букв я и букв b в данном слове, если эта разность положительна), либо в слово, состоящее лишь из одних букв b (их число равно разности чисел букв b и букв я в данном слове, если эта разность положительна), либо в пустое слово (если число букв я в данном слове равно числу букв Ъ в нем). 13. a) baa; б) яяя; в) яяя; г) яяя; д) bbbb; e) яяя; ж) я; з) яя; и) bbaaa; к) яя. 299
14. а) 666; б) 666; в) ЪЪЪЪ\ г) Л; д) 66666; е) 666; ж) 66666; з) 66; и) 666; к) 6666; л) 6666. Алгоритм «извлекает» из слова все буквы 6, если они там есть, и выдает Л, если в слове этих букв нет. 15. а) 66; б) 6666; в) 666; г) не применим; д) 6666; е) 66; ж) 66666; з) 6; и) 66666; к) 6666; л) 666. 16. а) а; б) Ъаааа\ в) baa; г) Ьаааа; д) 66; е) Ьааа\ ж) baa; з) baa; и) Ъааа; к) Ъааа; л) Ьааа. 18. а) 66; б) 6; в) 66; г) 6; д) 66; е) 6; ж) 6; з) 66; и) 6; к) 6; л) 66. 19. a) dccb; б) Лгб; в) 66cfc; г) bbdcb; д) */с66; е) deb; ж) з) 66а/; и) debb; к) 66dc. 21. a) f(x) = х; б) нигде не определенную функцию.
СПИСОК ЛИТЕРАТУРЫ 1. БайифЖ.-К. Логические задачи: Пер. с фр. — М., 1983. 2. Визам Д., Герцег Я. Игра и логика (85 логических задач): Пер. с венг. — М., 1975. 3. Визам Д., Герцег Я. Многоцветная логика (175 задач): Пер. с венг. — М., 1978. 4. Гаврилов Г. П., Сапоженко А. А. Сборник задач по дискретной математике. — М., 1977. 5. Гиндикин С. Г. Алгебра логики в задачах. — М., 1972. 6. Гохман А. В., Спивак М.А., Розен В. В. Сборник задач по математической логике и алгебре множеств. — Саратов, 1969. 7. Драбкина М. Е. Логические упражнения по элементарной математике. — Минск, 1965. 8. Игошин В. И. Математическая логика и теория алгоритмов. — Саратов, 1991. 9. Игошин В. И. Задачник-практикум по математической логике. — М., 1986. 10. Игошин В, И. Тетрадь по математической логике с печатной основой. — Саратов, 1996; 1999. 11. Касаткин В. Н., Верлань А. Ф., Переход И. А. Элементы кибернетики — школьнику: Сборник упражнений и задач. — Киев, 1974. 12. Кэрролл JI. История с узелками: Пер. с англ. — М., 1973. 13. Кэрролл JI. Логическая игра: Пер. с англ. — М., 1991. 14. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. — М., 1975. 15. Лихтарников Л.М., Сукачева Т. Г. Математическая логика: Курс лекций. Задачник-практикум и решения. — СПб., 1999. 16. Математическая логика / Под ред. А. А. Столяра. — Минск, 1991. 17. Мельников В. И. Логические задачи. — Киев; Одесса, 1989. 18. Михайлов А. В., Рыжова Н.И., Швецкий М.В. Упражнения по основам математической логики. — СПб., 1998. 19. Рыжова Н.И., Швецкий М.В. Упражнения по основам формальной символической логики. — СПб., 1998. 20. Смаллиан P.M. Принцесса или тигр?: Пер. с англ. — М., 1985. 21. Шапиро С. И. Решение логических и игровых задач. — М., 1984. 22. Шевченко В. Е. Некоторые способы решения логических задач. — Киев, 1979.
ОГЛАВЛЕНИЕ Предисловие 3 Глава I. АЛГЕБРА ВЫСКАЗЫВАНИЙ 6 § 1. Основные понятия алгебры высказываний 6 Высказывания и операции над ними (6). Формулы алгебры высказываний (15). Тавтологии алгебры высказываний (20). Логическое следование (24). Равносильность формул (33). Упрощение систем высказываний (39). § 2. Нормальные формы для формул алгебры высказываний и их применение 40 Отыскание нормальных форм (41). Применение нормальных форм (47). Нахождение следствий из посылок (57). Нахождение посылок для данных следствий (62). § 3. Приложение алгебры высказываний к логико-математической практике 68 Обратная и противоположная теоремы (68). Принцип полной дизъюнкции (75). Необходимые и достаточные условия (76). Упрощение систем высказываний (81). Правильные и неправильные рассуждения (82). Нахождение всех следствий из посылок (85). Нахождение посылок для следствий (87). «Логические» задачи (88). Глава II. БУЛЕВЫ ФУНКЦИИ 92 § 4. Понятие булевой функции и свойства булевых функций 92 Число булевых функций (93). Равенство булевых функций (96). Свойства булевых функций (98). § 5. Специальные классы булевых функций 101 Полиномы Жегалкина и линейные булевы функции (101). Двойственность и самодвойственные булевы функции (107). Монотонные булевы функции (113). Булевы функции, сохраняющие нуль и сохраняющие единицу (120). § 6. Полные системы и функционально замкнутые классы булевых функций 123 Полные и неполные системы булевых функций (123). Применение теоремы Поста (125). Функционально замкнутые классы булевых функций (127). Базисы булевых функций (128). § 7. Применение булевых функций к релейно-контактным схемам 130 Анализ релейно-контактных схем (130). Синтез релейно-контактных схем (138). 302
Глава III. ФОРМАЛИЗОВАННОЕ ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ 143 § 8. Построение формализованного исчисления высказываний и исследование системы аксиом на независимость 143 Построение выводов из аксиом (144). Построение выводов из гипотез (146). Теорема о дедукции и ее применение (150). Производные правила вывода и их применение (154). Независимость системы аксиом (157). Глава IV. ЛОГИКА ПРЕДИКАТОВ 162 § 9. Основные понятия логики предикатов 162 Понятие предиката и операции над предикатами (162). Множество истинности предиката (167). Равносильность и следование предикатов (179). Формулы логики предикатов, их интерпретация и классификация (182). Равносильность формул логики предикатов (188). Тавтологии логики предикатов (191). Равносильные преобразования формул (195). Проблемы разрешимости для общезначимости и выполнимости формул (197). Логическое следование формул логики предикатов (200). § 10. Применение логики предикатов к логико-математической практике 204 Записи на языке логики предикатов (204). Правильные и неправильные рассуждения (208). Логика предикатов и алгебра множеств (210). Равносильные преобразования неравенств и уравнений при их решении (212). § 11. Формализованное исчисление предикатов 213 Построение выводов из аксиом (214). Построение выводов из гипотез (217). Теорема о дедукции и ее применение (218). Глава V. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ 221 § 12. Машины Тьюринга 221 Применение машин Тьюринга к словам (222). Конструирование машин Тьюринга (229). Вычислимые по Тьюрингу функции (237). § 13, Рекурсивные функции 240 Примитивно рекурсивные функции (240). Примитивно рекурсивные предикаты (246). Оператор минимизации. Общерекурсивные и частично рекурсивные функции (247). § 14. Нормальные алгоритмы Маркова 248 Марковские подстановки (249). Нормальные алгоритмы и их применение к словам (250). Нормально вычислимые функции (253). Ответы 257 Список литературы 301
Учебное издание Игошин Владимир Иванович Задачи и упражнения по математической логике и теории алгоритмов Учебное пособие 3-е издание, стереотипное Редактор В.Н.Шакиров Технический редактор А. В. Шакиров Компьютерная верстка: Т.А.Клименко Корректоры Л. С. Рожкова, Е. В. Соловьева Изд. № 103106571. Подписано в печать 01.11.2006. Формат 60x90/16. Гарнитура «Тайме». Печать офсетная. Бумага тип. № 2. Усл. печ. л. 19,0. Тираж 2 000 экз. Заказ № 17897. Издательский центр «Академия», www.academia-moscow.ru Санитарно-эпидемиологическое заключение № 77.99.02.953 Д.004796.07.04 от 20.07.04 117342, Москва, ул. Бутлерова, 17-Б, к. 360. Тел./факс: (495) 330-1092, 334-8337 Отпечатано в ОАО «Саратовский полиграфический комбинат». 410004, г. Саратов, ул. Чернышевского, 59.