Алгебра логики
А́лгебра ло́гики, раздел математической логики, изучающий высказывания, рассматриваемые со стороны их логических значений (истинности или ложности) и логических операций над ними.
Алгебра логики возникла в середине 19 в. в трудах Дж. Буля (Boole. 1847, 1854) и развилась затем в работах Ч. C. Пирса, П. С. Порецкого, Б. Рассела, Д. Гильберта и др. Создание алгебры логики представляло собой попытку решать традиционные логические задачи алгебраическими методами. С появлением теории множеств (1870-е гг.) основным предметом алгебры логики стали высказывания и логические операции над ними. Под высказываниями понимаются предложения, относительно которых имеет смысл утверждать, истинны они или ложны; например, высказывание «кит – животное» истинно, в то время как высказывание «все углы – прямые» ложно. Употребляемые в обычной речи логические связки «и», «или», «если..., то», «эквивалентно», частица «не» и т. д. позволяют из уже заданных высказываний строить новые, более «сложные» высказывания. Так, из высказываний «», «» при помощи связки «и» можно получить высказывание « и », при помощи связки «или» – высказывание « или » и т. д.
Истинность или ложность получаемых таким образом высказываний зависит от истинности или ложности исходных высказываний и соответствующей трактовки связок как операций над высказываниями. Для обозначения истинности вводится символ «И» и для обозначения ложности – символ «Л». Затем вместо этих символов стали употреблять числа и . Связки «и», «или», «если..., то», «эквивалентно» обозначаются соответственно знаками (конъюнкция), (дизъюнкция), (импликация), (эквивалентность); для отрицания вводится знак (чёрточка сверху). Наряду с индивидуальными высказываниями, примеры которых приводились выше, стали использоваться также переменные высказывания, т. е. такие переменные, значениями которых могут быть любые наперёд заданные индивидуальные высказывания. Далее индуктивно вводится понятие формулы, являющееся формализацией понятия сложного высказывания. Пусть обозначают индивидуальные, а – переменные высказывания. Каждая из этих букв называется формулой. Если знак обозначает любую из перечисленных выше связок, а и формулы, то и суть формулы, например . Связки и частица «не» стали рассматриваться как операции над величинами, принимающими значения и , и результатом применения этих операций также являются числа и . Конъюнкция равна тогда и только тогда, когда и , и равны ; дизъюнкция равна тогда и только тогда, когда и , и равны ; импликация равна тогда и только тогда, когда равен , а равен ; эквивалентность равна тогда и только тогда, когда значения и совпадают; отрицание равно тогда и только тогда, когда равен . Введённые операции позволяют каждой формуле при заданных значениях входящих в неё высказываний приписать одно из двух значений – или . Тем самым каждая формула может одновременно рассматриваться как некоторый способ задания, или реализации, функций алгебры логики, т. е. таких функций, которые определены на наборах из нулей и единиц и которые в качестве значений принимают также или . При этом формулы и называются равными (обозначение ), если они реализуют равные функции. Объектом изучения алгебры логики стали функции алгебры логики и различные операции над ними. В последующем класс функций алгебры логики был расширен до класса функций, аргументы которых и сами функции принимают в качестве значений элементы фиксированного конечного множества ; расширился также запас операций над функциями. Иногда под алгеброй логики понимается как раз последняя концепция. Для приложений, однако, наибольшее значение имеет всё-таки тот случай, когда мощность указанного множества равна двум, поэтому он будет рассмотрен особенно подробно. Излагаемые здесь результаты также тесно связаны с другим подходом в изучении высказываний – т. н. исчислением высказываний.
Для задания функций алгебры логики иногда используют таблицы, содержащие все наборы значений переменных и значения функций на этих наборах. Так, например, сводная таблица, задающая функции , , , , , имеет вид:
Аналогично устроены таблицы для произвольных функций алгебры логики. Это т. н. табличный способ задания функций алгебры логики. Сами таблицы иногда называются истинностными таблицами. Для преобразования формул в равные формулы важную роль играют следующие равенства:
(закон коммутативности),
(закон ассоциативности),
(закон поглощения),
(закон дистрибутивности),
(закон противоречия),
(закон исключённого третьего),
Эти равенства позволяют уже без помощи таблиц получать другие равенства. Методом получения последних являются т. н. тождественные преобразования, которые меняют, вообще говоря, выражение, но не функцию, реализуемую этим выражением. Например, при помощи законов поглощения получается закон идемпотентности . Упомянутые равенства в ряде случаев позволяют существенно упростить запись формул освобождением от «лишних скобок». Так, соотношения (1) и (2) дают возможность вместо формул и использовать более компактную запись и . Первое из этих соотношений называется конъюнкцией сомножителей , а второе – дизъюнкцией слагаемых . Равенства (5), (6), (7) показывают также, что константы и , импликацию и эквивалентность, рассматривая их как функции, можно выразить через конъюнкцию, дизъюнкцию и отрицание. Более того, всякая функция алгебры логики может быть реализована формулой, записываемой с помощью символов , , .
Множество всех формул, в построении которых участвуют переменные высказывания и некоторые из символов , , , , и констант и , называется языком над данными символами и константами. Равенства (1)–(7) показывают, что для всякой формулы в языке над , , , , , , найдётся равная ей формула в языке над , , , , , например:
Особую роль в последнем языке играет класс формул, которые могут быть записаны в виде , или , где и каждое – либо переменное высказывание, либо его отрицание, либо конъюнкция таковых, при этом каждое не содержит одинаковых сомножителей и не содержит сомножителей вида и одновременно и все попарно не равны. Здесь скобки опускаются, т. к. предполагается, что операция конъюнкции связывает «сильнее», чем дизъюнкция, т. е. при вычислении по заданным значениям переменных следует сначала вычислять значения . Эти выражения называются дизъюнктивными нормальными формами (д. н. ф.). Каждую формулу в языке над , , , , , , , реализующую функцию алгебры логики, отличную от , при помощи равенств (1)–(7), можно привести к равной ей дизъюнктивной нормальной форме, содержащей все переменные формулы и любое число других переменных, причём каждое в этой дизъюнктивной нормальной форме содержит одни и те же переменные. Такая дизъюнктивная нормальная форма называется совершенной дизъюнктивной нормальной формой формулы ; для совершенной дизъюнктивной нормальной формой является сама формула . Возможность приведения к совершенной дизъюнктивной нормальной форме лежит в основе алгоритма, устанавливающего равенство или неравенство двух наперёд заданных формул. Алгоритм этот состоит в следующем: приводят исследуемые формулы и к совершенным дизъюнктивным нормальным формам, содержащим все те переменные, которые есть как в , так и в , и смотрят, совпадают полученные выражения или нет; если совпадают, то , если нет, то . Важную роль в алгебре логики и её приложениях играет сокращённая дизъюнктивная нормальная форма, т. е. такая, для которой выполнены следующие условия: 1) в ней нет таких пар слагаемых и , что всякий сомножитель из имеется и в ; 2) для всяких двух слагаемых и , из которых одно содержит сомножителем некоторое переменное, а другое – отрицание этого переменного (при условии, что другого переменного, для которого это же имеет место, в данной паре слагаемых нет), имеется (в этой же дизъюнктивной нормальной форме) слагаемое , равное конъюнкции остальных сомножителей этих двух слагаемых. Всякая дизъюнктивная нормальная форма при помощи равенств (1)–(7) может быть приведена к равной ей сокращённой дизъюнктивной нормальной форме. Например, сокращённой дизъюнктивной нормальной формой для формулы является . Формулы и равны тогда и только тогда, когда их сокращённые дизъюнктивные нормальные формы совпадают. Кроме дизъюнктивных нормальных форм, употребляются также конъюнктивные нормальные формы (к. н. ф.), т. е. выражения, которые можно получить из дизъюнктивных нормальных форм путём замены в них знаков на , a на и на . Например, из дизъюнктивной нормальной формы получается конъюнктивная нормальная форма . Операция (или функция) называется двойственной для операции , если таблица, задающая , получается из таблицы, задающей , путём замены в ней всюду на и на (включая замену значений функций). Например, конъюнкция и дизъюнкция двойственны между собой, отрицание двойственно самому себе, константы и двойственны друг другу и т. д. Преобразование формул, при котором знаки всех операций в выражении заменяются на знаки двойственных им операций, константа заменяется на , а на , называется преобразованием двойственности. Если верно равенство и двойственно , а двойственно , то верно равенство , называющееся двойственным предыдущему; это т. н. принцип двойственности. Примерами двойственных равенств являются пары законов (1), (2), (3); равенство (5) двойственно равенству (6), каждая конъюнктивная нормальная форма двойственна некоторой дизъюнктивной нормальной форме. Совершенная конъюнктивная нормальная форма и сокращённая конъюнктивная нормальная форма определяются как такие конъюнктивные нормальные формы, что двойственные им выражения являются соответственно совершенной дизъюнктивной нормальной формой и сокращённой дизъюнктивной нормальной формой. Совершенные и сокращённые дизъюнктивные нормальные формы и конъюнктивные нормальные формы используются для решения задачи обзора всех гипотез и всех следствий заданной формулы. Под гипотезой формулы понимается такая формула , что ; а под следствием формулы – такая формула , что . Гипотеза формулы называется простой, если она есть конъюнкция переменных или их отрицаний и после отбрасывания любого из её сомножителей перестаёт быть гипотезой формулы . Аналогично следствие формулы называется простым, если оно есть дизъюнкция переменных или их отрицаний и после отбрасывания любого из её слагаемых перестаёт быть следствием формулы . Решение задачи обзора гипотез и следствий основано на указании алгоритма, строящего все простые гипотезы и следствия для заданной формулы, и на получении из них при помощи законов (2)–(7) всех остальных гипотез и следствий. Алгоритм опирается на следующие факты. Если , то и имеют одни и те же гипотезы и следствия соответственно. Слагаемое дизъюнктивной нормальной формы является гипотезой этой дизъюнктивной нормальной формы, сомножитель конъюнктивной нормальной формы – следствием этой конъюнктивной нормальной формы. Если – гипотеза выражения , то есть тоже гипотеза для ; если – следствие выражения , то есть тоже следствие из . Если и – гипотезы выражения , то – тоже гипотеза для ; если и – следствия из , то – тоже следствие из . У совершенной дизъюнктивной нормальной формы нет других гипотез (не содержащих букв, не входящих в эту дизъюнктивную нормальную форму), кроме дизъюнкций некоторых её слагаемых или дизъюнктивных нормальных форм, равных им. У совершенной конъюнктивной нормальной формы нет других следствий, кроме конъюнкций некоторых её сомножителей или равных им выражений. Сокращённая дизъюнктивная нормальная форма есть дизъюнкция всех своих простых гипотез; сокращённая конъюнктивная нормальная форма есть конъюнкция всех своих простых следствий. Сокращённая дизъюнктивная нормальная форма имеет важные приложения. Прежде всего следует отметить задачу минимизации функций алгебры логики, являющуюся частью задачи синтеза управляющих систем. Минимизация функций алгебры логики состоит в построении такой дизъюнктивной нормальной формы для заданной функции алгебры логики, которая реализует эту функцию и имеет наименьшее суммарное число сомножителей в своих слагаемых, т. е. имеет минимальную сложность. Такие дизъюнктивные нормальные формы называются минимальными. Каждая минимальная дизъюнктивная нормальная форма для заданной отличной от константы функции алгебры логики получается из сокращённой дизъюнктивной нормальной формы этой функции путём выбрасывания некоторых слагаемых. Для отдельных функций сокращённая дизъюнктивная нормальная форма может совпадать с минимальной дизъюнктивной нормальной формой. Это имеет место, например, для монотонных функций, т. е. таких функций, которые реализуются формулами над , , , .
В языке над , , , , , , , где знак интерпретируется как сложение по модулю , устанавливаются следующие соотношения:
Эти формулы позволяют переводить формулы в языке над , , , , , в равные им формулы в языке над , , и обратно. Тождественные преобразования в последнем языке осуществляются при помощи равенств, установленных для конъюнкции, и дополнительных:
здесь по-прежнему считается, что конъюнкция связывает сильнее, чем знак . Этих равенств достаточно для того, чтобы из них при помощи тождественных преобразований так же, как и при рассмотрении языка над , , , , , , , можно было вывести любое верное равенство в языке над , , . Выражение в этом языке называется приведённым полиномом, если оно либо имеет вид , где есть или , или переменное, или конъюнкция различных переменных без отрицаний, при , , либо равно . Например, выражение является приведённым полиномом. Всякую формулу алгебры логики при помощи тождественных преобразований можно привести к приведённому полиному. Равенство имеет место тогда и только тогда, когда приведённый полином для совпадает с приведённым полиномом для . Кроме рассмотренных языков, существуют и другие языки, равносильные им (два языка называются равносильными, если при помощи некоторых правил преобразований каждая формула одного из этих языков переводится в некоторую равную ей формулу в другом языке, и обратно). В основу такого языка достаточно положить любую систему операций (и констант), обладающую тем свойством, что через операции (и константы) этой системы можно представить всякую функцию алгебры логики. Такие системы называются функционально полными. Примерами полных систем являются , , и т. п. Существует алгоритм, который по произвольной конечной системе функций алгебры логики устанавливает её полноту или неполноту. Он основан на следующем факте. Система функций алгебры логики является полной тогда и только тогда, когда она содержит такие функции и , что и , а также функции , и , где , не монотонная, а для приведённый полином содержит слагаемое , в котором больше одного сомножителя. Рассматриваются и такие языки, в основе которых лежат системы операций, не являющиеся функционально полными, и таких языков бесконечно много. Среди них имеется бесконечно много попарно несравнимых языков (в смысле отсутствия переводимости при помощи тождественных преобразований с одного языка на другой). Однако для всякого языка, построенного на основе тех или иных операций алгебры логики, существует такая конечная система равенств этого языка, что всякое равенство выводимо при помощи тождественных преобразований из равенств этой системы. Такая система называется дедуктивно полной системой равенств данного языка. Например, равенства (1)–(6) составляют полную систему равенств языка над , , , , .
Рассматривая тот или иной из упомянутых выше языков вместе с некоторой полной системой равенств этого языка, иногда отвлекаются от табличного задания операций, лежащих в основе языка, и от того, что значениями его переменных являются высказывания. Вместо этого допускаются различные интерпретации языка, состоящие из той или иной совокупности объектов (служащих значениями переменных) и системы операций над объектами этого множества, удовлетворяющих равенствам из полной системы равенств языка. Так, язык над , , , , в результате такого шага превращается в язык булевой алгебры; язык над , , превращается в язык булева кольца (с единицей), язык над , , превращается в язык дистрибутивной решётки и т. д.
Алгебра логики развивается главным образом под влиянием задач, встающих в области её приложений. Из них самую важную роль играют приложения в теории электрических схем. Для описания последних в некоторых случаях приходится отказываться от использования лишь обычной двузначной алгебры логики и рассматривать те или иные её многозначные обобщения (см. Многозначная логика).