Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[УЧЕБНИК] Гиндикин Алгебра логики и задачи.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.82 Mб
Скачать
  1. Булевы алгебры.

Определение 2.5. Множество Ш, на котором определены две двуместные операции х, у=$>ху и х, у=&х\/у и одна одноместная операция х=>х и выделены два элемента 0 и причем для этих операций и элементов выпол­

няются аксиомы (2.1) — (2.13) (здесь равенство понимается как совпадение элементов 9Л), называется булевой алгеброй.

Можно бы при определении булевой алгебры исходить нз одной двуместной операции (например, ху), доопределив другую при помощи (2.1) и законов де Моргана (2.8), (2.9). Мы не будем здесь касаться вопро­са о построении системы независимых аксиом для булевой алгебры.

При изучении логических операций с помощью таблиц мы по существу имели дело с булевой алгеброй, состоящей из двух элементов {0, 1}, где операции определены согласно таблице на стр. 32.

Булевы алгебры являются примером аксиоматически заданного ал­гебраического объекта (другие примеры: группы, кольца, поля и т. д.;

о них.можно прочитать в любом учебнике высшей алгебры). Эти объекты представляют собой множества, в которых выделены некоторые элемен­ты (в булевой алгебре — элементы 0 и 1; в группе — единичный элемент и т. д.) и определены некоторые операции. Эти элементы и операции должны удовлетворять некоторому конечному набору соотношений —• аксиом; в остальном они могут задаваться произвольно. Может пока­заться, что это употребление термина «аксиома» противоречит привыч­ному пониманию этого термина, известного из школьного курса геомет­рии. Несущественное различие заключается в том, что здесь речь идет об аксиоматизации операций, а в евклидовой геометрии — об аксиомати­

зации некоторых отношений между основными объектами ( принадле­жать», «лежать между» и др.). Главным же различием, вероятно, пред­ставляется то, что, грубо говоря, «имеется одна-единственная евклидова плоскость, но много различных групп нли булевых алгебр». Точная фор­мулировка этого факта дается на языке изоморфизма (для булевых алгебр см. ниже определение 2.6): все евклидовы плоскости изоморфны, но существуют неизоморфные булевы алгебры (последнее следует, на­пример, из задачи 2.19). Молчаливое соглашение об изоморфизме на­кладывает сильный отпечаток на изложение аксиоматики в школьном курсе геометрии и часто является серьезным психологическим барьером при переходе к аксиоматическим объектам, допускающим неизоморфные реализации. В случае последних наряду с доказательством теорем — утверждений, являющиеся следствиями из аксиом, важную роль играет исследование вопросов, связанных с наличием неизоморфных объектов, например, изучение специальных классов объектов, выделяемых допол­нительными аксиомами (примеры: коммутативные группы, регулярные булевы алгебры, рассматриваемые в п. 4 этого параграфа) Вопросов такого типа в евклидовой геометрии не возникает по указанной выше причине. Не следует думать, что аксиоматики, приводящие к неизочорф- ным объектам, являются привилегией алгебры; такого рода аксиоматики имеются и в неевклидовой геометрии.

Наконец, в школьном курсе геометрии объясняется, что аксиомы не доказываются (иногда даже говорят, что они «не требуют доказа­тельств»), С другой стороны, мы проверяем (доказываем!) аксиомы буле­вой алгебры для каждого из рассматриваемых примеров (см. ниже). Дело в том, что в элементарной геометрии, как мы уже говорили, зани­маются лишь получением следствий из аксиом (теорем). Таким образом, рассматриваются исключительно «внутренние» вопросы теории. Вопрос же о справедливости аксиом для единственного интересующего нас объекта — идеализированной модели нашего реального простран­ства — является «внешним» для теории и решается исходя из наших интуитивных представлений. В случае же, например, теории булевых ал­гебр эти «внешние» вопросы возникают для различных конкретных объек­тов, причем проверка аксиом каждый раз осуществляется строгими мате­матическими средствами, хотя и лежит за пределами теории. Другими словами, понятие системы аксиом приобретает новый оттенок. Это уже не набор истин, которые мы по каким-то соображениям принимаем без доказательства, а набор тестов, выполнимость которых для какого-ни­будь объекта автоматически влечет справедливость целого набора теорем, составляющих данную аксиоматическую теорию. Эта эволюция взгляда на аксиомы лежит в основе широкого применения аксиоматического ме­тода в современной математике.

Отметим, что и в случае евклидовой геометрии при рассмотрении ее моделей иам приходится проверять (опять-таки доказывать!) аксиомы. В моделях основные объекты (точки, прямые и т. д.) конструируются исходя из уже построенных математических теорий (например, теории действительных чисел). Так, при рассмотрении аналитической интер­претации евклидовой планиметрии точками объявляются пары дейст­вительных чисел (х, у) и все основные отношения описываются на языке действительных чисел. При этом проверяется справедливость всех аксиом: они доказываются исходя из свойств действительных чисел. Многим читателям, вероятно, известно, что для доказательства непроти­воречиво"™ планиметрии Лобачевского строится ее интерпретация на евклидовой плоскости; для этой интерпретации аксиомы геометрии Ло- б' - о превращаются в теоремы евклидовой геометрии.

Во избежание недоразумений отметим, что слово «алгебра» принято употреблять в двух разных смыслах: как обозначение некоторой мате­матической теории (например, алгебра логики) и как обозначение неко­торого класса аксиоматических объектов (например, булева алгебра). Никаких причин для этого, кроме сложившихся традиций, нет.

Рассмотрим примеры булевых алгебр.

  1. Пусть М ■— некоторое множество (можно считать для простоты, что М — множество точек на прямой или множест­во натуральных чисел), 'D£ Л/— совокупность его под­множеств. Через ху (я, у€.Шм) мы обозначим пересечение множеств х и у\ через х\/у — их объединение, через х — дополнение к множеству х до всего множества М, через

О •— пустое множество, через 1 — множество М.

    1. Проверить, что совокупность 'ЛЛм подмножеств множества М с так определенными операциями и элемен­тами 0,1 является булевой алгеброй. ▲

  1. Пусть Ш состоит из таких чисел х, что 0 ^ , Аф0. Положим х~Ах, х \/у=тах{х, у}, х& у=т\п{х,у). Роль «0» будет играть число 0, роль «1» — число А.

    1. Проверить, что множество 3)1 с так определенными операциями и элементами 0,1 является булевой алгеброй. ▲

  2. Если в булевой алгебре имеется некоторое подмно­жество, замкнутое относительно определенных в этой ал­гебре операций (т. е. применение операций к элементам подмножества вновь приводит к элементам этого подмно­жества) и содержащее 0,1, то оно является булевой алгеб­рой относительно тех же операций и выделенных элементов (булева подалгебра). Так, если в примере 2) А — натураль­ное число, то можно рассмотреть подмножество натураль­ных чисел. Вообще, в этом примере булеву подалгебру образует любое подмножество, симметричное относительно середины отрезка [0, А1 и содержащее концы (доказать!).

  3. Пусть N — натуральное число, a — множество его целых положительных делителей. Для x,y£%RN положим x=N/x; ху — наибольший общий делитель хну, x\Jy— наименьшее общее кратное х, у, под «0» будем понимать чис­ло 1, под «1» — число N.

  1. Показать, что мы превратили множество делителей числа А' в булеву алгебру. ▲

  1. Поскольку на совокупности высказываний определе­ны соответствующие операции, естественно предположить, что она является булевой алгеброй. Для этого, однако, в множестве высказываний нужно провести некоторое отож­дествление. Будем считать высказывания А и В тождест­венными (А^В), если эквивалентность А~В абсолютно истинна (т. е.истинна во всех ситуациях, см.стр. 15). Сово­купность высказываний, рассматриваемых с точностью до так введенной тождественности (точнее, классы тождест­венных высказываний), образует булеву алгебру. Роль О играет класс абсолютно ложных высказываний (все они тождественны между собой); роль 1 — класс абсолютно истинных высказываний. Ясно, что если над какими-то вы­сказываниями производится логическая операция, то за­мена каких-то высказываний тождественными приводит к замене получающегося высказывания на тождественное. Таким образом, равенства (2.1) — (2.13) для этого случая означают тождественность высказываний. Так, построенную булеву алгебру называют булевой алгеброй высказываний 1).

  2. Рассмотрим некоторые подалгебры в булевой алгебре высказываний' . Пусть М — произвольное множество. Каждому фиксированному подмножеству хаМ (;c69)tM) поставим в соответствие высказывание х: «Этот элемент множества М содержится в подмножестве х».

Очевидно, что для несовпадающих хну всегда х^у (достаточно рассмотреть элемент, принадлежащий одному из множеств х, у, но не принадлежащий другому).

  1. Доказать, что совокупность высказываний х (х 6 9ЛМ) является подалгеброй в булевой алгебре 331. ▲

Для высказываний х из примера 6) фиксация ситуации состоит в фиксации элемента множества М, причем две ситуации, отвечающие различным элементам М, сущест­венно различны: имеется высказывание х, которое в одной из ситуаций истинно, а в другой ложно. Поэтому естест­венно отождествить М с множеством ситуаций для Шм.

Для произвольного множества высказываний понятие ситуации является достаточно неопределенным (например, что такое ситуация для совокупности всех высказываний вообще). Пусть, однако, 331 — некоторая подалгебра в ал­гебре высказываний ЭД1, для которой удается описать мно­жество различных ситуаций М. Ситуации естественно счи­тать различными, если существует высказывание, которое в одной из них истинно, а в другой ложно. Тогда каждому высказыванию х Q 931 отвечает подмножество хаМ ситуа­ций, для которых х истинно. При этом подмножества х, у совпадают тогда и только тогда, когда х^у, т. е. когда абсолютно истинна эквивалентность х~у. Совокупность 931 полученных в результате подмножеств в М является подалгеброй в булевой алгебре подмножеств Если по

хбШ построить высказывание способом, указанным в при­мере 6), то получится высказывание, тождественное #£931.

Мы получили примеры так называемых изоморф­ных булевых алгебр (другой пример обсуждается в ука­заниях к задаче 2.15).

Определение 2.6. Пусть ЭЛ и 91 — две булевы алгебры. Отображение х => х, ставящее каждому х эле­мент х £ 91, называется гомоморфизмом булевой алгебры 931 в булеву алгебру 9(, если

От = Ой;

1 >)){ = 1»; х = х;

XV У = х\/у\ ху=ху

для всех х, у£ 931; нижние индексы у 0 и 1 указывают, в ка­кой алгебре они являются выделенными элементами.

Если гомоморфизм х=?>х устанавливает взаимно-одно­значное соответствие между 931 и 91, то он называется изо­морфизмом булевых алгебр 931 и 91, а булевы алгебры 931 и 9J в этом случае называются изоморфными.

Мы показали выше, что булева алгебра Ю1М подмно­жеств множества М изоморфна некоторой булевой подал­гебре 9){м высказываний и что булева алгебра высказыва­ний 931 изоморфна некоторой булевой алгебре подмножеств SDI множества ситуаций М. Тем самым мы установили ес­тественное соответствие между булевыми алгебрами выска­зываний и множеств.

  1. Пусть N — натуральное число, в разложении ко­торого на простые множители все множители различны; через N обозначим множество этих множителей. Показать, что булева алгебра делителей (пример 4) изоморфна булевой алгебре подмножеств N. А

Другой пример изоморфизма, который мы рассмотрим, чрезвычайно важен. Аксиомы булевой алгебры таковы, что если всюду поменять местами 0 и 1, дизъюнкцию и конъ­юнкцию, то получится та же аксиоматика. Это обстоятель­ство можно выразить следующим образом. Пусть Hi— булева алгебра. Построим новую булеву алгебру £0с+, которая будет состоять из тех же элементов, что и iU, но с другими операциями. Элементы х, у, .. . из 9Jc, рассматриваемые как элементы 5Шh, будем обозначать через х+, у ' , . . .; элементы 0, 1 для 'Ж+-— через 0+, 1+. Тогда полагаем:

0+=1+ (т. е. О в >Ш+ — это 1 в 9){);

1+=0+;

х+\/у+ = (ху)+ (т. е. дизъюнкция элементов в ЙН+ сов­падает с их конъюнкцией в ЯЛ); х+у+=(х\/у)+.

Булева алгебра 931+ называется двойственной к SDi. Заметим, что

  1. Показать, что отображение х=$>х осуществляет изо­морфизм ЭЛ на ИЩ+. А

4. Регулярные булевы алгебры и булевы операции. В случае двухэлементной булевой алгебры {0, 1} операции ху, хУ у, х являются частным случаем общих операций / (xlt. . ., хп)—фу нкций алгебры логи­ки. Возникает вопрос, нельзя ли ввести аналогичные операции в каких- нибудь других булевых алгебрах. Можно, конечно, рассмотреть функ­ции, у которых аргументы и значение функции принадлежат булевой ал­гебре Но тогда, например, в случае алгебры из задачи 2.14 мы будем рассматривать любые функции вещественных переменных без всякого учета структуры булевой алгебры. Мы будем пытаться связать с функ­циями алгебры логики такие операции на булевых алгебрах, чтобы меж­ду ними имели место все соотношения, имеющие место на алгебре {0, 1}. Самый, казалось бы, естественный путь состоит в следующем. Каждой функции алгебры логики поставим в соответствие операцию на булевой алгебре, исходя из представления функции алгебры логики в виде нор­мальных форм (см. следующий пункт, а также конец § 1), т. е. через опе­рации, уже имеющиеся в любой булевой алгебре. Однако этот путь не всегда приводит к цели, так как некоторые равносильности даже между основными операциями ху, хУ у, х, рассматриваемыми как функции алгебры логики, имеют место не во всякой булевой алгебре.

  1. Привести пример булевой алгебры, в которой не имеют место равносильности: л:\/x= 1; хх=0. А

Для некоторых конкретных булевых алгебр операции, отвечающие функциям алгебры логики, можно ввести весь­ма естественным образом.

Рассмотрим булеву алгебру Шм подмножеств множества М. Назовем теоретико-множественной операцией всякое отображение Fи . . хп), сопоставляющее всякому на­бору из п подмножеств хи . . ,,хг£Шм некоторое подмно­жество y=Fи . . ., хп) 6 и такое, что принадлежность или непринадлежность некоторого элемента т£М подмно­жеству у определяется только тем, в какие из множеств хь . хп элемент т входит.

Между теоретико-множественными операциями и функ­циями алгебры логики существует взаимно однозначное соответствие. Действительно, пусть Fи . . хп) — тео- ретико-множественная операция. Каждому двоичному на­бору «—(«!, . . ., ап) поставим в соответствие 1, если эле­мент т из М, принадлежащий подмножествам xt при

  1. и не принадлежащий остальным xL, принадлежит у~F (Xj, . . хп)\ если же такой элемент не принадлежит у, то данному набору а ставим в соответствие 0. Возникает функция алгебры логики //.(«i ап). Ясно, что это со­ответствие взаимно однозначно.

Рис. I.

сс\у

  1. а) Какие функции алгебры логики отвечают раз­ности и симметрической разности множеств?

б) Доказать ассоциативность симметрической раз­ности. А

Все операции над множествами, которые обычно рассмат­риваются в теории множеств, удовлетворяют нашему опре­делению теоретико-множественной операции. Рассмотрим примеры. Напомним, что разностью множеств х\у называет­ся дополнение их пересечения до х, симметрической раз­ностью хАу называется дополнение их пересечения до объ­единения (на рис. 1 результаты соответствующих операций заштрихованы).

  1. Какие теоретико-множественные операции отве­чают импликации, эквивалентности, функциям Шеффера (задача 1.16)? ▲

Интерпретация функций алгебры логики в булевой ал­гебре высказываний по существу была проведена в конце § 1 и в начале § 2. Напомним, что логической операцией в алгебре высказываний называется отображение Fи . . .

. ., хп), которое каждому набору из п высказываний ставит в соответствие высказывание y=F(xlt . . ., хп), причем истинность у зависит только от истинности или ложности высказываний xlt . . ., хп.

Мы поставили в соответствие каждой логической опера­ции функцию алгебры логики (п. 1 § 2). Заметим, что соот­ветствие логических и теоретико-множественных операций с функциями алгебры логики согласуется с установленным выше изоморфизмом между булевыми алгебрами множеств и высказываний.

Этим нашим рассмотрениям можно придать несколько более общий вид. Пусть Ш — булева алгебра. Будем рас­сматривать ее гомоморфизмы в двухэлементную булеву ал­гебру {0,1}. Через М (jjc) обозначим их совокупность.

Определение 2.7. Будем говорить, что булева алгебра Ж регулярна, если для всяких двух элементов х, у£Ш найдется разделяющий их гомоморфизм <р£ М (Ж), т. е. такой, что ф (х)¥=ф (у) (требование регулярности озна­чает, что множество М (Йд) в некотором смысле достаточно велико).

  1. Привести пример нерегулярной булевой алгеб­ры. ▲

  2. Показать, что алгебры высказываний и подмно­жеств являются регулярными. ▲

  3. Показать, что подалгебра регулярной булевой ал­гебры регулярна. ▲

  4. Показать, что всякая регулярная булева алгебра изоморфна некоторой подалгебре булевой алгебры подмно­жеств (а значит, и алгебры высказываний). ▲

Определение 2.8. В регулярной булевой алгебре 9Л операции Fи . . хп), xt С 9Л, называются булевыми операциями, если для всякого ф (Е М (9Л) значение ф (у), y=Fх, . . хп), определяется значениями ф (*i), . . .

. . ., Ф (хп).

  1. Показать, что булевы операции находятся во вза­имно однозначном соответствии с функциями алгебры ло­гики. ▲

При доказательстве регулярности алгебр подмножеств и высказываний мы строили некоторые совокупности разде­ляющих гомоморфизмов в алгебру {0,1}. Однако ни в одном из этих случаев мы не ставили вопрос о перечислении всех гомоморфизмов в алгебру {0,1} (т. е. о нахождении всего множества М (9)1)). Заметим, что в примерах мы не нашли всех таких гомоморфизмов. Например, в алгебре подмно­жеств можно фиксировать два элемента и ставить 1 в соот­ветствие подмножеству, содержащему оба эти элемента, 0 — подмножеству, не содержащему по крайней мере одного из них.

С каждым подмножеством M'czM (SDt), содержащим для каждой пары элементов разделяющий гомоморфизм, можно связать понятие булевой операции (достаточно в при­веденном выше определении М (SDt) заменить на М').

  1. Показать, что понятие булевой операции не за­висит от того, с каким множеством M'czM (93t) (содержа­щим для каждой пары элементов разделяющий гомомор­физм) мы его связываем. А

Отсюда следует, что булевы операции на алгебре под­множеств — это теоретико-множественные операции, а на алгебре высказываний — логические операции.

Теперь мы вновь возвратимся к изучению функций ал­гебры логики, т. е. будем иметь депо с булевой алгеброй {0,1}. Однако следует иметь в виду, что все полученные при этом результаты могут быть соответствующим образом интер­претированы для булевых операций на произвольных регу­лярных булевых алгебрах.

  1. Дизъюнктивные нормальные формы (ДНФ). В конце § 1, в связи с вопросом о представимости произвольных ло­гических операций через основные операции, мы уже гово­рили о совершенных дизъюнктивных и конъюнктивных нормальных формах. Сейчас мы вновь возвратимся к этому вопросу.

Введем обозначение:

/ х при 0=1,

\ х при о=0.

Заметим, что aJ=l.

Определение 2.9. Формула х?1. . ,д£п, где о^> ={0,, . . ., а,,} — какой-либо двоичный набор, а среди пе­ременных Xf могут быть совпадающие, называется элемен­тарной конъюнкцией.

Определение 2.10. Всякая дизъюнкция элемен­тарных конъюнкций называется дизъюнктивной нормаль­ной формой (сокращенно ДНФ).

  1. Показать, что необходимое и достаточное условие тождественного обращения в нуль ДНФ состоит в том, что в каждую элементарную конъюнкцию какая-нибудь пере­менная (для каждой элементарной конъюнкции, вообще говоря, своя) входит вместе со своим отрицанием. ▲

Определение 2.11. Элементарная конъюнкция называется правильной, если в нее каждая переменная входит не более одного раза (включая ее вхождения под знаком отрицания).

  1. Какие из указанных элементарных конъюнкций являются правильными: а) х^х&з, б) в) х2х2х.^х1; г) xix2x3x4? А

Определение 2.12. Правильная элементарная конъюнкция называется полной относительно переменных хи . . хп, если в нее каждая из этих переменных входит один и только один раз (быть может, под знаком отрицания).

Например, конъюнкция а) задачи 2.29 полна относи­тельно переменных хи х2, х3; конъюнкция г) полна относи­тельно переменных xlt х2, х3, х„.

Определение 2.13. Совершенной дизъюнктивной нормальной формой (СДНФ) относительно переменных хи.

. . ., хп называется дизъюнктивная нормальная форма, в ко­торой нет одинаковых элементарных конъюнкций и все элементарные конъюнкции правильны и полны относитель­но переменных хи . . ., хп.

Поскольку из вида СДНФ бывают ясны ее переменные, мы будем говорить просто СДНФ, опуская слова «относи­тельно переменных xlt . . ., хп».

Из задачи 1.19 следует, что всякую функцию алгебры логики f (xlt . . ., хп), не равную тождественно нулю, мож­но представить совершенной дизъюнктивной нормальной формой:

  • **...*5», (2.14)

/(а,, . ... с„)=1

где символ Vозначает, что берется дизъюнкция по тем набо­рам, которые указаны под ним (в данном случае по тем на­борам, на которых функция / равна 1). При /=0 множество конъюнкций в правой части пусто.

  1. Доказать, что представление функции в виде СДНФ единственно. ▲

Равенство (2.14) можно записать еще так:

f(xt, х„)= V f(ot, ... *£*, (2.15)

(о. о»)

где дизъюнкция берется по всем двоичным наборам (alt . . . . . . , с„). Однако ясно, что в дизъюнкции останутся только члены с коэффициентами 1, т. е. те конъюнкции, для кото­рых / (alt . . ., о„)=1.

Нам потребуется также разложение функции в СДНФ по части переменных, а именно формула

f (-^i» •••> хп, у 1, ..., ут) —

= V /(<* Hi Ут)^' Кп- (2Л6)

(о, оп)

Здесь функция / разложена в СДНФ по первым п пере­менным.

  1. Доказать равносильность (2.16). ▲

  2. Найти СДНФ для

а) функции от трех переменных, равной 1, если боль­шинство аргументов равно 1;

б) функции от четырех переменных, равной 1, если чет­ное число аргументов равно 1. ▲

  1. Алгоритм преобразования формулы в СДНФ. Ра­венство (2.14) дает возможность находить СДНФ для функ­ции по ее таблице. Однако если функция задана формулой, этот путь часто не удобен. Сейчас мы обсудим, как можно поступать в этом случае. Построение СДНФ мы разобьем на два этапа. Вначале по формулам мы построим ДНФ, а за­тем по ДНФ построим СДНФ. Описываемая ниже процеду­ра является алгоритмом преобразования формулы в СДНФ.

Вообще под алгоритмом понимается способ решения некоторого класса задач, представляющий собой последовательность операций (одну и ту же для всех задач данного класса), которые мы по тем или иным соображениям считаем элементарными (например, умеем выполнять).

Так, алгоритм Евклида нахождения наибольшего общего делителя на­туральных чисел или алгоритм извлечения квадратного корня из нату­ральных чисел позволяют решать эти задачи путем выполнения эле­ментарных арифметических операций в некоторой определенной после­довательности. Алгоритм решения квадратного уравнения использует в качестве элементарной еще и операцию извлечения квадратного корня.

Как известно, не существует алгоритма для решения алгебраических уравнений степени выше четвертой, использующего в качестве элемен­тарных операций арифметические действия и операции извлечения кор­ней (для 3-й и 4-й степени такие формулы известны). При программиро­вании на вычислительных машинах роль элементарных операций играют операции, которые может выполнять машина (а иногда и задачи, для которых уже известен алгоритм — так называемые «стандартные под­программы»), Исследованию различных вопросов, связанных с алгорит­мами (в первую очередь — получению строгого определения понятия ал­горитма), посвящен раздел математической логики, носящий название «теория алгоритмов». Важнейшее место в ней занимают доказательства отсутствия алгоритмов для решения различных задач. В нашем случае влементарными операциями являются преобразования формул, исполь­зующие аксиомы (2.1) — (2 13) и их простейшие следствия.

  1. Преобразуем формулу так, чтобы в ней были только операции дизъюнкции, конъюнкции и отрицания, причем отрицания могут стоять только над аргументами.

Такого рода преобразования мы уже делали. Они используют за­дачу 1.13 для удаления импликации и эквивалентности и равенства