А́ЛГЕБРА ЛО́ГИКИ
-
Рубрика: Математика
-
Скопировать библиографическую ссылку:
А́ЛГЕБРА ЛО́ГИКИ, раздел математич. логики, изучающий высказывания с точки зрения их логич. значений (истинности или ложности) и логич. операции над высказываниями.
А. л. возникла в сер. 19 в. в трудах Дж. Буля. Создание А. л. преследовало цель решать традиционные логич. задачи алгебраич. методами. В А. л. под высказываниями понимаются предложения, относительно которых имеет смысл утверждать, истинны они или ложны. Употребляемые в обычной речи логич. связки, такие, как «и», «или», «если..., то...», «эквивалентно», частица «не», позволяют из уже заданных высказываний строить новые, более сложные высказывания. Истинность или ложность получаемых таким образом высказываний зависит от истинности или ложности исходных высказываний и соответствующей трактовки связок как операций над высказываниями. Для обозначения истинности использовался символ «И», а для ложности – символ «Л». Затем вместо этих символов стали употреблять числа 1 и 0. Связки «и», «или», «если..., то...», «эквивалентно» обозначаются соответственно знаками $\&$ (конъюнкция), $∨$ (дизъюнкция), $\rightarrow$ (импликация), $∼$ (эквивалентность); отрицание (частица «не») обозначается знаком $¬$ или чертой сверху. Наряду с индивидуальными высказываниями стали использоваться также переменные высказывания, значениями которых могут быть любые наперёд заданные индивидуальные высказывания. Понятие формулы, являющееся формализацией понятия сложного высказывания, вводится индуктивно. Пусть $A, B, C, \ldots$ – индивидуальные, а $x, y, z, \ldots$ – переменные высказывания. Каждая из этих букв называется формулой. Если знак $*$ обозначает любую из перечисленных выше связок, а $U$ и $V$ суть формулы, то $(U*V)$ и $\overline U$ суть формулы, напр. ($(x\&y)\rightarrow z)$. Связки (в т. ч. и отрицание) рассматриваются как операции над величинами, принимающими значения 0 и 1, результатом применения этих операций также являются числа 0 и 1. Конъюнкция $x \& y$ равна 1 точно тогда, когда и $x$, и $y$ равны 1; дизъюнкция $x∨y$ равна 0 точно тогда, когда и $x$, и $y$ равны 0; импликация $x \rightarrow y$ равна 0 точно тогда, когда $x$ равен 1, а $y$ равен 0; эквивалентность $x∼y$ равна 1 точно тогда, когда значения $x$ и $y$ совпадают; отрицание $x$ равно 1 точно тогда, когда $x$ равен 0. Введённые операции позволяют каждой формуле при заданных значениях входящих в неё высказываний приписать одно из двух значений 0 или 1. Тем самым каждая формула может одновременно рассматриваться как некоторый способ задания (реализации) функций А. л., т. е. таких функций, которые определены на наборах из нулей и единиц и значениями которых являются также 0 или 1. При этом формулы $U$ и $V$ называются равными, если они реализуют равные функции, в этом случае пишут $U=V$. Вначале объектом изучения А. л. были функции А. л. и разл. операции над ними. В последующем класс функций А. л. был расширен до класса функций, аргументы которых и сами функции принимают в качестве значений элементы некоторого фиксированного конечного множества $E$; расширился также запас операций над функциями. Иногда под А. л. понимается именно последняя концепция. Для приложений наибольшее значение имеет случай, когда множество $E$ состоит из двух элементов.
Множество всех формул, в построении которых участвуют переменные высказывания и некоторые из символов $\&, ∨, →, ∼, ¬$ и констант 0 и 1, называется языком над данными символами и константами. Для всякой формулы в языке над $\{ \&, ∨, →, ∼, ¬ \}$ найдётся равная ей формула в языке над $\{ \&, ∨, ¬, 0, 1 \}$. Особую роль в последнем языке играет класс формул, которые могут быть записаны в виде $U_1∨U_2∨\ldots∨U_s$, 0 или 1, где $s⩾1$ и каждое $U_i$ – либо переменное высказывание, либо его отрицание, либо конъюнкция переменных высказываний и отрицаний переменных высказываний; при этом каждое $U_i$ не содержит одинаковых сомножителей и не содержит сомножителей вида $x$ и одновременно и все $U_i$ попарно не равны. В этой записи скобки опускаются, т. к. предполагается, что операция конъюнкции сильнее дизъюнкции, т. е. при вычислении по заданным значениям переменных следует сначала вычислять значения $U_1, \ldots , U_s$. Эти выражения называются дизъюнктивными нормальными формами. Каждую формулу $U$ в языке над $\{ \&, ∨, →, ∼, ¬, 0, 1 \}$, реализующую функцию А. л., отличную от 0, можно привести к равной ей дизъюнктивной нормальной форме, содержащей все переменные формулы и любое число других переменных, причём каждое $U_i$ в этой дизъюнктивной нормальной форме содержит одни и те же переменные. Такая дизъюнктивная нормальная форма называется совершенной дизъюнктивной нормальной формой формулы $U$; для 0 совершенной дизъюнктивной нормальной формой является сама формула 0. Возможность приведения к совершенной дизъюнктивной нормальной форме лежит в основе алгоритма, устанавливающего равенство или неравенство двух заданных формул.
Важную роль в А. л. и её приложениях играет сокращённая дизъюнктивная нормальная форма, т. е. такая, для которой выполнены следующие условия: в ней нет пар слагаемых $U_i$ и $U_j$ таких, что всякий сомножитель из $U_i$ имеется и в $U_j$; для всяких двух слагаемых $U_i$ и $U_j$, из которых одно содержит сомножителем некоторое переменное, а другое – отрицание этого переменного (при условии, что другого переменного, для которого это же имеет место, в данной паре слагаемых нет), имеется (в этой же дизъюнктивной нормальной форме) слагаемое $U_k$, равное конъюнкции остальных сомножителей этих двух слагаемых. Всякая дизъюнктивная нормальная форма может быть приведена к равной ей сокращённой дизъюнктивной нормальной форме. Кроме дизъюнктивных нормальных форм употребляются также конъюнктивные нормальные формы, т. е. выражения, которые можно получить из дизъюнктивных нормальных форм путём замены в них знаков $∨$ на $\&$, а $\&$ на $∨$ и 0 на 1. Операция (или функция) $f^*$ называется двойственной для операции $f$, если таблица, задающая функцию $f^*$, получается из таблицы для $f$ заменой в ней 0 на 1, а 1 на 0 (включая замену значений функций). Напр., конъюнкция и дизъюнкция двойственны между собой, отрицание двойственно самому себе, константы 1 и 0 двойственны друг другу. Преобразование формул, при котором знаки всех операций в выражении заменяются на знаки двойственных им операций, константа 0 заменяется на 1, а 1 на 0, называется преобразованием двойственности. Т. н. принцип двойственности формулируется следующим образом: если $U=V$ и $U^*$ двойственно $U$, а $V^*$ двойственно $V$, то $U^*=V^*$.
Совершенные и сокращённые дизъюнктивные нормальные формы и конъюнктивные нормальные формы используются для решения задачи обзора всех гипотез и всех следствий заданной формулы. Под гипотезой формулы $U$ понимается такая формула $V$, что $(V \rightarrow U)= 1$, а под следствием формулы $U$ – такая формула $V$, что $(U \rightarrow V)=1$. Гипотеза формулы $U$ называется простой, если она есть конъюнкция переменных или их отрицаний и после отбрасывания любого из её сомножителей перестаёт быть гипотезой формулы $U$. Аналогично, следствие формулы $U$ называется простым, если оно есть дизъюнкция переменных или их отрицаний и после отбрасывания любого из её слагаемых перестаёт быть следствием формулы $U$. Решение задачи обзора гипотез и следствий можно получить, указав алгоритм, строящий все простые гипотезы и следствия для заданной формулы, из которых затем получаются все остальные гипотезы и следствия.
В языке над $\{ \&, +, 0, 1 \}$, где $+$ обозначает сложение по модулю 2, выражение называется приведённым полиномом, если оно либо имеет вид $U_1+U_2+ \ldots +U_s$, где $U_i$ есть или 0, или 1, или переменное, или конъюнкция разл. переменных без отрицаний, $U_i \neq U_j$ при $i \neq j,\,i,\,j=1, \ldots ,\,s,\,s⩾1$. Всякую формулу А. л. можно представить и единственным образом в виде приведённого полинома, называемого также полиномом Жегалкина (изучался И. И. Жегалкиным в 1927).
Кроме рассмотренных языков, существуют и др. языки, равносильные им (два языка называются равносильными, если при помощи некоторых правил преобразования каждая формула одного из этих языков переводится в равную ей формулу в другом языке и обратно). В основу такого языка достаточно положить любую систему операций и констант, обладающую тем свойством, что через операции и константы этой системы можно представить всякую функцию А. л. Такие системы называются функционально полными. Примерами полных систем являются $\{ \overline{x∨y} \} \{{x∨y} , \overline x \} $, $\{ x+y, 1, x\,\&\,y \}$ и т. п. Существует алгоритм, который по произвольной конечной системе функций А. л. устанавливает её полноту или неполноту. Система функций А. л. является полной точно тогда, когда она содержит функции $f_1, ..., f_5$ такие, что $f_1(0, 0, \ldots, 0)=1,\,f_2(1, 1, \ldots, 1)=0,\,f_3 \neq f^*_3,\,f_4$ – не монотонна, а для $f_5$ приведённый полином содержит слагаемое $U$, в котором больше одного сомножителя. При этом набор $(a_1, ..., a_n)$ не превосходит набора $(b_1, ..., b_n)$, если всегда $a_i⩽b_i$, а функция $f(x_1, ..., x_n)$ монотонна, если её значения $a$ и $b$ на таких наборах всегда связаны так, что $a⩽b$. Рассматриваются и такие языки, в основе которых лежат системы операций, не являющиеся функционально полными. Среди них имеется бесконечно много попарно несравнимых языков, т. е. нет переводимости с одного языка на другой при помощи тождественных преобразований. Для всякого языка, построенного на основе тех или иных операций А. л., существует такая конечная система равенств этого языка, что всякое равенство выводимо при помощи тождественных преобразований из равенств этой системы. Такая система называется дедуктивно полной системой равенств данного языка.
Рассматривая тот или иной из упомянутых выше языков вместе с некоторой полной системой равенств этого языка, иногда отвлекаются от табличного задания операций, лежащих в основе языка, и от того, что значениями его переменных являются высказывания. Вместо этого допускаются разл. интерпретации языка, состоящие из той или иной совокупности объектов (служащих значениями переменных) и системы операций над объектами этого множества, удовлетворяющих равенствам из полной системы равенств языка. Так, язык над $\{ \&, ∨, ¬, 0, 1 \}$ в результате такого шага превращается в язык булевой алгебры; язык над $\{ \&, +, 1 \}$ превращается в язык булева кольца (с единицей), язык над $\{ \&, ∨, ¬ \}$ превращается в язык дистрибутивной решётки.
А. л. развивается гл. обр. под влиянием прикладных задач, среди которых важную роль играют задачи теории электрич. схем. Для описания таких задач иногда приходится отказываться от использования обычной двузначной А. л. и рассматривать те или иные её многозначные обобщения.