Алгебра логики (НФЭ, 2010)
АЛГЕБРА ЛОГИКИ – одна из основных частей математической логики, основанная на применении алгебраических методов к логике. Возникнув в середине 19 века в трудах Буля и развиваясь затем в работах Джевонса, Шредера, Пирса, Порецкого и других, алгебра логики имела своим предметом классы (как объемы понятий), соотношения между классиками по объему и связанные с этим операции над ними. Позднее, в связи с появлением в 70-х годах 19 века множеств теории, поглотившей часть этих задач, предмет алгебры логики значительно изменился. Основным ее предметом стали высказывания (суждения, предложения), рассматриваемые со стороны их логических значений (истина, ложь, бессмыслица и т. п.), и логические операции над ними.
В основе обычной, так называемой классической алгебры логики лежит абстракция высказывания как величины, имеющей одно (и только одно!) из двух значений: «истина» или «ложь» (короче: И, Л), или могущей принимать оба эти значения (но не одновременно). В первом из этих случаев имеем индивидуальное высказывание (высказывание в узком, наиболее принятом смысле этого слова), во втором – высказывание-функцию. Примеры высказываний: «2·2= 4», «0≤0», «Сократ – человек», «0=1», «2·2=5», «х2=у», «z – человек», «Если х=у, то у=0», «Если х=2, то x2=4», «x равняется у или x не равняется у». Первые три высказывания имеют значение И (т. е. истинны), 4-е и 5-е – значение Л (т.е. ложны), 6-е, 7-е, 8-е – высказывания-функции (если, напр., значениями буквенных переменных x и у могут быть целые числа, а переменной z – живые существа), 9-е и 10-е имеют значение И (при всех возможных значениях переменных x и у). Последние три из этих высказываний являются сложными, в отличие от предшествующих им простых. Абстракция в алгебре логики идет дальше. Все истинные высказывания отождествляются между собой, так как истинное высказывание не отличается от другого истинного высказывания по значению (от других сторон высказываний в алгебре логики отвлекаются). Ложные высказывания тоже отождествляются. При рассмотрении же высказываний-функций в алгебре логики обычно отвлекаются от рассмотрения зависимости их от иных переменных, кроме таких, значениями которых тоже являются высказывания, вводя для их рассмотрения буквенные переменные, которые называют переменными высказываниями. Таковыми являются буквы А, В, С, ..., Α1, А2, А3, ... и т. п. (при этом выбор букв — вопрос не существа, а соглашения) при условии, что они играют роль переменных, значениями которых могут быть всевозможные индивидуальные высказывания, т.е., в силу упомянутых абстракций, «константы» И и Л.
Кроме простых высказываний, обозначаемых отдельными буквами A, В... или И, Л, рассматриваются также сложные высказывания – результат соединения высказываний связками или отрицания их (соответствующего частице «не»). Сложные высказывания рассматривают как функции от входящих в них буквенных переменных А, B, С и т. д. Так появляется понятие функции алгебры логики – функции от аргументов, являющихся переменными высказываниями, т.е. принимающих значения И, Л, которая (функция) может принимать тоже лишь эти значения.
Вводятся алгебраические операции над высказываниями: конъюнкция A·B (читается «А и В», другие обозначения: AB, A&B, А⋀В; другие названия: логическое умножение, булево умножение), дизъюнкция А⋁В («читается А или В»; другое обозначение: А+В; другие названия: логическое сложение, булево сложение), импликация А→В (читается: «Если А, то В» или «А влечет В», или «A имплицирует В», или «Из А следует В»; другое обозначение: A⊃B; другое название: логическое следование), эквиваленция А~В (читается: «А эквивалентно B» или «А равнозначно В», или «А, если и только если В»: другие обозначения: А≡В, А↔В; другие названия: эквивалентность, равнозначность, равносильность), отрицание А (читается: «не А», или «А ложно», или «неверно, что А», или «отрицание А»; другие обозначения: ¬А, ~А, A´; другое название: инверсия), а также иногда и другие операции.
Одной из важных сторон формализации, принимаемой в алгебре логики, является то, что знаками этих операций (т.е. по смыслу, соответствующими им связками) можно соединять любые высказывания, без ограничения, в том числе и те, которые сами являются сложными.
При этом удается точно и строго описать класс всех рассматриваемых выражений алгебры логики. В данном случае он состоит из констант И и Л, переменных A, В... и всех тех выражений, которые получаются из них путем конечного числа соединений знаками «·», «⋁», «→» и «~» и отрицаний.
Это связано с требованием, чтобы операции задавались таблично как функции и значение сложного высказывания зависело только от значений составляющих его простых высказываний. Основная суть алгебры логики как системы методов состоит в использовании преобразований высказываний на основе алгебраических законов, которые имеют место для операций над высказываниями. Эти законы чаще всего имеют вид тождеств, т.е. равенств, верных при всех значениях переменных. Важную роль играют тождества:
I. АВ=ВА, A⋁B=B⋁A (законы коммутативности),
II. (АВ)С=А(ВС), (A⋁B⋁C=A⋁(B⋁C) (законы ассоциативности);
III. Α(Α⋁Β)=A, A⋁AB = А (законы поглощения);
- A(B⋁C) = AB⋁AC (закон дистрибутивности);
- А¬А=Л (закон противоречия);
VI. A⋁¬A=И (закон исключенного третьего).
Эти тождества, устанавливаемые, напр., с помощью таблиц, позволяют получать другие тождества. Тождеств I–VI достаточно для того, чтобы из них по методу тождественных преобразований можно было вывести всякое (верное, конечно) тождество, левая и правая части которого – выражения алгебры логики, состоящие из переменных А, В, .., констант И, Л и знаков «·», «ν» «–» (не обязательно включая все из них). Добавление же тождеств VII A→B=¬A⋁B, A~B=AB⋁¬A¬B дает возможность выводить и любые тождества, содержащие также знаки «→», «~».
Тождества V, VI, VII показывают, что константы И и Л, импликацию и эквиваленцию, рассматривая их как функции, можно выразить через конъюнкцию, дизъюнкцию и отрицание. Имеет место теорема, гласящая, что всякая функция алгебры логики может быть представлена через эти три операции, т.е. записана в виде выражения, содержащего лишь знаки этих операций и буквенные переменные. Именно, любую функцию Φ(A1, А2, ..., Аn) можно записать как дизъюнкцию всех выражений вида
Φ(a1, a2, ..., аn)·(A1~a1)· (A2~a2)...(An~an),
где а1, а2 ,... an, – набор из значений И, Л.Заменяя в этой дизъюнкции выражения Ai ~И на Аi, а Аi,~Л – на ¬ Аi,, а также стирая «коэффициенты» Φ(a1, а2, .... an») равные И (по закону И·А=А) и отбрасывая члены с «коэффициентами», равными Л (по законам (Л·A=Л, Л⋁A = А), мы и получим (если функция не есть константа) то выражение, о котором говорится в теореме.
Дизъюнктивной нормальной формой (днф) называется выражение, которое есть буква И или Л или имеет вид A1⋁A2⋁... ⋁As, где каждый член Ai, является либо буквенной переменной, либо ее отрицанием, либо конъюнкцией таковых, причем s не обязательно отлично от 1, т.е. знаков «⋁» может и не быть. Днф называется совершенной, если она есть И или Л или в каждом члене содержит ровно по одному разу все имеющиеся в ней буквы (переменные) и не имеет одинаковых членов. Всякое выражение алгебры логики можно привести к днф. А всякую днф можно привести к совершенной днф, «домножая» члены на недостающие буквы (по закону A=AB⋁A¬B) и ликвидируя повторения букв в членах (по законам АА=А, А¬А=Л, Л·A=Л, Л⋁A=A) и повторения членов (по закону A⋁A=A).
Приведение к совершенной днф позволяет по любым двум данным выражениям А и В решить вопрос о том, одну ли и ту же функцию они выражают, т.е. верно ли тождество А=В.
Важную роль играет т.н. сокращенная днф. Последнюю можно определить как такую днф, в к-рой I) нет повторений букв ни в одном члене, 2) нет таких пар членов Аi, и Aj, что всякий множитель из Аi, имеется и в Аj, и 3) для всяких двух таких членов, из к-рых один содержит множителем некоторую букву, а другой – отрицание той же буквы (при условии, что другой буквы, для которой это имеет место, в данной паре членов нет), имеется (в этой же днф) член, равный конъюнкции остальных множителей этих двух членов.
Кроме днф, употребляются также конъюнктивные нормальные формы (кнф). Это такие выражения, к-рые можно получить из днф путем замены в них знаков «⋁» на «·», а «·» на «⋁».
Преобразованием двойственности называется такое преобразование выражения алгебры логики, при котором в этом выражении знаки всех операций заменяются на знаки двойственных им операций, а константы: И на Л, Л на И; причем операция (или функция) Φ называется двойственной для операции Ψ, если таблица, задающая Ф, получается из таблицы, задающей Ψ, путем замены в ней всюду И на Л, а Л на И (имеется в виду одновременная замена и значений функции, и значений ее аргументов). Если Φ двойственная Ψ, a Ψ двойственная X, то Ф=Х. Напр., конъюнкция и дизъюнкция двойственны между собой, отрицание двойственно самому себе, константа И (как функция) двойственна константе
Л. Функция Φ(A1, А2, ..., Аn) двойственна функции Ψ (A1, А2, .., Аn),
если, и только если, верно тождество
¬Ф(A1, А2, ..., Аn)=Ψ (¬A1, ¬A2, ..., ¬Аn).
Совершенную кнф и сокращенную кнф можно определить как такие кнф, что двойственные им выражения есть соответственно совершенная днф и сокращенная днф. Совершенные и сокращенные днф и кнф можно использовать для решения задачи обзора всех гипотез и всех следствий данного выражения алгебры логики. Причем под гипотезой выражения А алгебры логики естественно понимать такое выражение В, что В→А тождественно истинно, а под следствием выражения А – такое выражение В, что А→В тождественно истинно.
Еще один, часто употребляемый в алгебре логики шаг абстракции, состоит в отождествлении И с числом 1, а Л – с числом 0. Вводится операция A+B, задаваемая таблицей: 0+0=0, 0+1=1, 1+0=1, 1+1=0. Она называется сложением (точнее сложением по модулю 2; другое название: разделительная дизъюнкция; читается: «А плюс В», или А не эквивалентно В», или «Либо А, либо В»).
Всякую функцию алгебры логики можно представить через умножение (т.е. конъюнкцию), сложение и константу 1 (теорема Жегалкина). В частности, верны следующие тождества:
- Α⋁Β=ΑΒ+Α+Β, ¬А=А+1
- А→В=АВ+А+1, А~В=А+В+1.
Обратные представления имеют вид
X. A+B=A¬B⋁¬АВ, 1=А⋁¬А.
Тождества VIII позволяют «переводить» выражения «языка» конъюнкции, дизъюнкции и отрицания (КДО) на «язык» умножения, сложения и единицы (УСЕ), а тождества X – осуществлять обратный «перевод».
Тождественные преобразования можно производить и на «языке» УСЕ. В основе их лежат следующие законы:
- АВ=ВА, А+В=В+А (законы коммутативности);
- (АВ)С=А(ВС), (A+B)+C=A+(В+С) (ассоциативности);
- A(B+С)=AB+AC (закон дистрибутивности);
- АА=А, А+(В+В)=А
- Α·1=А.
Этих тождеств достаточно для того, чтобы из них можно было вывести любое (верное) тождество, обе части которого суть выражения «языка» УСЕ. А добавив к ним тождества VIII, мы сможем выводить и все тождества «языка» КДО.
Выражение «языка» УСЕ называется приведенным полиномом (п. п.), если оно есть 1+1 (т.е. нуль) или имеет вид А1+А2+ ... +Аs где каждый член А, есть либо 1, либо буквенная переменная, либо произведение последних, причем ни в одном члене нет никаких повторений букв, никакие два члена не одинаковы (в том же смысле, что и выше), a s не обязательно больше 1 (т.е. знаков «+» может не быть). Всякое выражение алгебры логики можно привести к п. п. (теорема Жегалкина).
Кроме «языков» КДО и УСЕ существуют и другие «языки», обладающие тем свойством, что через операции (и константы) этих «языков» можно представить всякую функцию алгебры логики. Такие системы называются (функционально) полными. Примеры полных систем: а) конъюнкция и отрицание, б) дизъюнкция и отрицание, в) импликация и отрицание, г) импликация и 0, д) умножение, эквиваленция и 0, е) штрих Шеффера A|B ж) медиана (А, В, C), [определение: (А, В, C)=AB⋁AC⋁BC), отрицание и 1, и) медиана, эквиваленция и сложение.
Иногда совершают еще один важный дальнейший шаг абстракции. Отвлекаются от табличного задания операций и от того, что значениями буквенных переменных являются высказывания. Вместо этого допускаются различные интерпретации рассматриваемого «языка», состоящие из той или иной совокупности объектов (служащих значениями буквенных переменных) и системы операций над объектами этого множества, удовлетворяющих тождествам из полной системы тождеств этого «языка».
«Язык» КДО в результате такого шага абстракции превращается в «язык» т.н. булевой алгебры, «язык» УСЕ – в «язык» т.н. булева кольца (с единицей), «язык» конъюнкции и дизыонкции – в «язык» т.н. дистрибутивной структуры.
Важным примером булевой алгебры является алгебра классов, в которой роль элементов играют подмножества (классы) некоторого фиксированного множества (т.н. универсума) U, роль 0 играет пустое множество 0, роль 1 – само U, роль AB, A⋁B и ¬Α – теоретико-множеств. операции пересечения, объединения и дополнения соответственно. Связь между алгеброй классов, алгеброй предикатов и алгеброй высказываний, этими тремя важнейшими интерпретациями абстрактной алгебры логики как «языка» булевой алгебры, состоит в следующем: первая переходит во вторую путем замены множеств (классов) их т.н. характеристическими предикатами (т.е. множества А – предикатом х∈А, гласящим: «х принадлежит множеству А»), если при этом соответствующим образом преобразуются также операции и константы 0 и 1, а вторая переходит в третью при подстановке во все предикаты на место их аргументов некоторого фиксированного их значения. Вернее, при таком переходе от алгебры классов к алгебре предикатов получается алгебра одноместных предикатов. Другим важным случаем является алгебра двуместных предикатов, называемых чаще отношениями. С ней тесно связана алгебра отношений, отличающаяся от нее только тем, что в последней, кроме трех операций булевой алгебры, имеются еще две.
Всякую булеву алгебру можно «переделать» в булево кольцо, определив операцию А+В согласно закону X (и отбросив операцию A⋁B). Напр., в случае алгебры множеств роль А+В играет так называемая симметрическая разность множеств А и В (состоящая из всех тех элементов универсума, которые принадлежат одному и только одному из множеств А или В). Обратно, всякое булево кольцо (с единицей) можно «переделать» в булеву алгебру. Понятия булевой алгебры и булева кольца связываются с именем Дж. Буля. Однако оформились эти понятия (не говоря уже о терминах) значительно позже. Первые работы по алгебре логики были посвящены задачам: а) выражения логических соотношений между объемами понятий (соответственно высказываниями) в виде уравнений (равенств), б) построения алгоритмов решения логических уравнений и систем уравнений с целью автоматизировать способы извлечения из данных посылок содержащейся в них (неявно) информации (того или иного рода).
В настоящее время алгебра логики развивается главным образом под влиянием задач, встающих в области ее приложений. Она находит широкое применение в технике (особенно при решении задач, связанных с построением автоматов) и, наоборот, развивается сама под влиянием запросов техники (задач автоматизации программирования, уменьшения числа элементов в устройствах релейного действия и др.). Важную роль играют приложения в теории электрических схем, включая первоначально, начиная с работ В.И. Шестакова и К. Шеннона (30–40-е гг. 20 в.), теорию релейно-контактных схем. Вопросы, касающиеся понятий самой алгебры логики, приводят к проникновению в алгебру логики неалгебраических методов (таких, как табличные, топологические, дескриптивные) и вследствие этого к постепенному выделению из алгебры логики самостоятельной области – теории функций алгебры логики (или иначе, теории булевых функций).
В случае более сложных схем, чем контактные, приходится часто отказываться от использования лишь обычной алгебры логики и рассматривать те или иные ее многозначные обобщения, отличные от булевых алгебр и булевых колец (см. Многозначные логики). Другим направлением современного развития алгебры логики является алгебраическая логика. Она интересна тем, что выдвигает и частично решает задачу построения алгебр неклассических логик, т.е. таких вариантов алгебры логики, которые соответствуют неклассическим исчислениям высказываний. Некоторые тенденции возможного дальнейшего развития алгебры логики как совокупности алгебраических методов логики намечаются в связи с бурным развитием ряда областей как современной алгебры, так и математической логики. Одна из них связана с мощным ростом теоретико-множественной алгебры, позволяя всякую операцию рассматривать как алгебраическую операцию. Такое рассмотрение дает возможность охватить алгебраическими методами значительную часть современной математической логики (см. Логика символическая).
Другая – связана с успехами теории алгоритмов, позволившей уточнить ряд алгоритмических проблем алгебры, и последовавшим решением некоторых из них. Тенденция эта состоит в объединении алгоритмической алгебры с самой теорией алгоритмов и попытках алгебраизации последней, т. е. построения алгебраической теории алгоритмов.
Эта постепенная алгебраизация все большего числа сторон математической логики будет, по-видимому, содействовать наилучшему выделению и ее чисто логических сторон, для того чтобы изучать последние уже иными методами.
А.В. Кузнецов
Сокращенный вариант статьи: Алгебра логики, – В кн.: Философская энциклопедия. Т. 1. М., 1960.
Как и предвидел А. Кузнецов, все большее прикладное значение приобретает теория булевых функций как самостоятельная область, выделившаяся из алгебры логики. В результате пришли к понятию функциональной системы (Рn, C), где Рn есть множество всех функций n-значной логики (или множество всех функций счетнозначной логики Рω) с заданной на нем операцией суперпозиции С. Рn обычно рассматривается как обобщение множества всех булевых функций Р2. Известна содержательная трактовка понятия функциональной системы ((Рn, С) выступает ее частным случаем), в основе которой лежит рассмотрение таких пар (Ρ, Ω), в которых Ρ есть множество отображений, реализуемых управляющими системами из некоторого класса, a Ω состоит из операции, используемой при построении новых управляющих систем из заданных. В свою очередь (Р2, Q есть эквивалент алгебры логики. Таким образом, от алгебры формул, изучаемой в алгебре логики, перешли к алгебре функций. И хотя именно алгебра логики, т.е. классическая логика высказываний, лежит в основе проектирования микросхем для современной цифровой электронной техники, в том числе и для компьютеров, подобные работы ведутся и на основе многозначных логик. В частности, для функционально полных (и некоторых других) многозначных систем был построен аналог совершенной днф.
Еще более важное предвидение А. Кузнецова связано с выделением алгебраической логики в одно из направлений современной алгебры логики. В первую очередь имеется в виду построение алгебр, соответствующих неклассическим логикам в том смысле, в каком булева алгебра соответствует классической логике высказываний (Rasiowa, 1974). Здесь существенным является также вопрос о построении алгебраической семантики, под которой понимается класс всех моделей некоторой алгебры, соответствующей логике L, поскольку посредством алгебраической семантики решаются такие металогические проблемы, как полнота L (относительно общезначимости в классе всех моделей), разрешимость L и др. В итоге пришли к общему вопросу о том, какая логика алгебраически представима, т.е. имеет алгебраическую семантику, а какая нет. Ответ на этот вопрос дан в работе В. Блока и Д. Пигоцци (Blok, Pigozzi, 1989). Существенно, что современное развитие алгебраической логики представляет собой систематическое применение методов и, главное, аппарата универсальной алгебры к символической логике. Именно на это как на тенденцию возможного дальнейшего развития алгебры логики указывал А.Кузнецов, говоря о возможности «охватить алгебраическими методами значительную часть современной математической логики». Сегодня речь уже идет об алгебраическом охвате всей символической логики, и результаты здесь весьма значительны. К примеру, если Alg(L) обозначает класс алгебр, который соотносится с некоторой логикой L (если L есть классич. логика высказываний, то Alg(L) есть класс булевых алгебр), можно формулировать теоремы, утверждающие, что L имеет определенное логическое свойство тогда и только тогда (т. т. т.), когда Alg(L) имеет определенное алгебраическое свойство. Это позволяет дать алгебраическую характеризацию таких логических свойств, как полнота, наличие теоремы дедукции, компактность, разрешимость, интерполяционность Крейга, истинность формул в модели и т.д. Так, первые два свойства принимают следующий вид: L допускает строго полную гильбертовскую аксиоматизацию (Γ⊦ А т. т. т., когда Г ⊨ А) т.т.т., когда Alg(L) есть финитно аксиоматизируемое квази-многообразие; L допускает теорему дедукции (см. Дедукции теорема) т.т.т., когда Alg(L) имеет эквационально определимые главные конгруэнции.
Вообще, алгебраическая логика является хорошим инструментом не только для выяснения взаимоотношения между различными логическими системами, но и для уточнения статуса логики.
А. С. Карпенко
Новая философская энциклопедия. В четырех томах. / Ин-т философии РАН. Научно-ред. совет: В.С. Степин, А.А. Гусейнов, Г.Ю. Семигин. М., Мысль, 2010, т. I, А - Д, с. 73-76.
Литература:
Жегалкин И. И. Арифметизация символической логики. — «Матем. сб.», т. 35. Вып. 3-4. М., 1928; Яновская С. А. основания математики и математическая логика. — В кн.: Математика в СССР за тридцать лет (1917-1947). М.-Л., 1948; Она же. Математическая логика и основания математики. — В кн.: Математика в СССР за сорок лет (1917-1957), т. 1. М., 1959; Сб. статей по математической логике и ее приложениям к некоторым вопросам кибернетики. М., 1958; Войшвилло Е. К. Метод упрощения форм выражения функций истинности. - «Философские науки», 1958, № 2; Кузнецов А. В. Алгоритмы как операции в алгебраических системах. — «Успехи математических наук», 1958, т. 13, в. 3; Новиков П. С. Элементы математической логики. М., 1973; Биркгоф Г. Теория решеток. М., 1952; Владимиров Д. А. Булевы алгебры. 1969; Гиндикин С. Г. Алгебра логики в задачах. М., 1972; Кудрявцев В. Б. О функциональных системах. М., 1981; Яблонский С. В., Гаврилов Г. П., Кудрявцев В. Б. Функции алгебры логики и классы Поста. М., 1966; Фридлендер Б. И., Ревякин А. М. Булева алгебра и ее применение в задачах электроники: учебное пособие. М., 1993; Algebraic logic and the methodology of applying it.—CSLI Publications, 1995; Anderka H., Nemeti I., Sain I. Algebraic Logic— Handbook of philosophical logic (2 ed.), forthcoming; Blok W. J., Pigozzi D. Algebraizable logics (monograph).—Memoirs of the American Mathematical Society, 1989, № 396; Font J. M., Jansana R. A general algebraic semantics for sentential logics. В., 1996; Handbook of Boolean algebras, Ed. J. D. Monk with the coop. R. Bennet, v. I—Ш. Amst., 1989; Nemeti I, Anderka H. General algebraic logic: a perspective on «What is logic».— What is logical system? Oxf., 1994; N. Y., 1995; Rasiowa H. An algebraic approach to non-classical logics. Warsz., 1974.