Как стать автором
Обновить

Алгебра совокупностей Брусенцова и не только

Уровень сложностиСредний
Время на прочтение39 мин
Количество просмотров5.9K

Приветствую!

Все, кто когда-либо интересовались трёхзначной логикой, троичной системой счисления или архитектурой троичных компьютеров, рано или поздно натыкались на труды Брусенцова Николая Петровича, в особенности три его самые известные книги:

  • Брусенцов Н.П. Начала информатики, 1994.

  • Брусенцов Н.П. Искусство достоверного рассуждения. Неформальная реконструкция аристотелевой силогистики и булевой математики мысли, 1998.

  • Брусенцов Н.П. Блуждание в трёх соснах (Приключения диалектики в информатике), 2000.

Для тех, кто не в курсе, Брусенцов Николай Петрович - главный конструктор первой в мире и Советском Союзе троичной ЭВМ "Сетунь". Об этом хорошем человеке можно найти достаточно много информации в открытых источниках. Но сейчас речь не о нём, а о разработанной им алгебре совокупностей (алгебре дизъюнктов), которая фигурирует в качестве фундамента во всех 3-х упомянутых выше книгах. К слову сказать, сами книги не являются учебниками по чистой математике или информатике. Они освещают проблемы злоупотребления формализмом в современной математической логике, а также содержат пути к возрождению и развитию аристотелевой силогистики. Мотивацией к написанию данной статьи послужило то, что каждую книгу пришлось прочитать раза по три, прежде чем в голове сложилась более или менее цельная картина. Этому также поспособствовало обилие терминологии, более присущей философским трактатам, нежели учебникам по математике. Поэтому цель данной статьи - получить представление об этой алгебре и облегчить чтение вышеуказанных книг. Статья носит обзорный характер, знакомит читателя с некоторыми понятиями (акценты расставлены жирным шрифтом) и пытается ответить на вопросы, неосвещённые в книгах явно. Начну издалека...

Аннотация

Любой студент, который начинал изучать дискретную математику, замечал некоторое сходство теории множеств (алгебры множеств) с булевой алгеброй (алгеброй логики). Самый яркий пример сходства - законы де Моргана.

  • \overline{(A \cap B)} = (\overline{A} \cup \overline{B}) - в теории множеств;

  • \neg (A \land B) = (\neg A \lor \neg B) - в булевой алгебре;

    ( \overline{} и \neg - дополнение подмножества до множества и булево отрицание)

Строгое включение подмножества в большее множество\subset по смыслу схоже с булевой импликацией, которую повсеместно используют в матлогике в качестве вывода следствий. Действиетельно, приA \subset B можно сказать, что если элемент принадлежит множеству A, то он однозначно принадлежит и множеству B (здесь намеренно указано строгое включение, а не обычное \subseteq ).

Сюда также можно отнести и законы поглощения для 0 в булевой алгебреA \land 0 = 0 и A \lor 0 = A, которые в алгебре множеств выглядят идентично для пустого множества A \cap \emptyset = \emptyset и A \cup \emptyset = A.

Само же булево отрицание используется как отрицание-дополнение, наподобие дополнения подмножества до множества, которое его включает.

Глядя на всё это студент думает, что хорошо бы эти 2 алгебры как-нибудь объединить. Дальнейшее изучение предмета приводит его к теореме Стоуна об изоморфизме булевых алгебр. Мы не будем останавливаться на этой теореме, ведь для её понимания нужно на множестве вводить отношение порядка, точные верхнюю и нижнюю границу, понятие решётки, и др.. Смысл в том, что при некоторой иерархии вложенных друг в друга множеств, операции \cap, \cup, \overline{} для этих множеств мы можем трактовать как \land, \lor и \neg для 0 и 1, потому что свойства (или аксиомы алгебры) сохраняются. Мы получаем из алгебры множеств любую изоморфную алгебру логики. Любознательный студент в очередной раз убедится, что всё уже открыто до него, и на этом успокоится.

Но можно ли назвать такое объединение удовлетворительным? Ведь мы не получили ни каких новых выразительных средств в алгебре от замены одних операций другими. Давайте рассмотрим обе фундаментальные теории подробнее.

Булева алгебра

Любая законченная математическая теория имеет 2 составляющие: синтаксис и семантику. Читая учебники по булевой алгебере, авторы в первую очередь ставят акцент на основные тождества:

  • \neg 1 = 0,\ \ \ \ \neg 0 = 1

  • x \land y \equiv y \land x - коммутативность коньюнкции;

  • x \lor y \equiv y \lor x - коммутативность дизъюнкции;

  • x \land x \equiv x - идемпотентность коньюнкции;

  • x \lor x \equiv x - идемпотентность дизъюнкции;

  • x \land 0 \equiv 0,\ \ x \land 1 \equiv x,\ \ x \lor 0 \equiv x,\ \ x \lor 1 \equiv 1 - законы поглощения для 0 и 1;

На основе них можно доказать:

  • x \land \neg x \equiv 0 - закон противоречия;

  • x \lor \neg x \equiv 1 - закон исключённого третьего;

  • \neg \neg x \equiv x - закон двойного отрицания;

  • законы поглощения;

  • законы ассоциативности;

  • законы дистрибутивности;

  • законы де Моргана;

  • и т.д.

Всё это относится лишь к синтаксису, т.е. к правильному построению формул внутри данной теории. Семантике же, смыслу (зачастую физическому), трактовке выражений булевой алгебры уделяется крайне мало текста почти во всей современной литературе. Часто можно встретить указания на то, что связки \land, \lor и \neg трактуются как разговорные "и", "или" и "не", либо их воспринимают как функции минимума и максимума для значений 0 и 1. И в том и в другом случае акцент делается на таблицах истинности.

Но успешное использование логики предполагает отчётливое и верное понимание смысла связок, которое не равносильно механическому запоминанию таблиц истинности или формальному знанию тождеств-законов алгебры.

Брусенцов Н.П.

Т.е. ни таблицы истинности, ни свойства коммутативности или идемпотентности не являются смыслом теории.

На самом деле семантика основных булевых связок достаточно проста и элегантна.

Коньюнкция (от латинского conjunctio - соединение) наиболее точно раскрывается словами "совмещение", "сочетание", причём это такое совмещение или сочетание критериев и атрибутов, что они совместно характеризуют нечто, образуя составной критерий или атрибут. Т.е. совместность x и y - это образование совмещённого атрибута x \land y. Если мы провозгласим данность атрибутаx \land y через равенство x \land y = 1, это значит, что первоначальные атрибуты x и y даны с необходимостью совместно. Т.е. не может быть такого, что один дан, а второй исключён, или исключены оба. Пример: если дан квадрат, то с необходимостью даны его атрибуты - равноугольность и равносторонность.

Дизъюнкция (от латинского disjunctio - разобщение, разделение, разъединение) - такая же связка, как и коньюнкция, но менее строгая. Она означает, что при её данности первоначальные атрибуты не могут быть исключены совместно. Т.е. если дана дизъюнкция x \lor y, то по меньшей мере один из атрибутов дан, но не может быть такого, что исключены оба. Пример: если дана хорошая погода, которая солнечная или безветренная, то это значит, что для данности такой погоды нет необходимости в совместной данности обоих атрибутов (она может быть, а может и не быть), но не может быть так, чтобы погода была несолнечная и ветреная одновременно.

Отрицание же, как было сказано выше, рассматривается как отрицание-дополнение до той части универсума, которая не совместна с отрицаемым выражением. Поясню на примере. Не друг - это любой человек, который не является другом. По правилам булевой алгебры мы не можем однозначно сказать, что этот человек именно недруг (враг) или просто хороший знакомый, который не входит в круг друзей. Такое отрицание передаёт суть законов де Моргана (синтаксис позволяет опускать значок\landнаподобие умножения в арифметике):

\neg (x \land y) = \neg x \lor \neg y = x \neg y \lor \neg xy \lor \neg x \neg y

Как мы видим, атрибут x \land y не совместим c составным атрибутом в правой части равенства. Такое отрицание называют контрадикцией или противоположностью по противоречию. В общепринятом понимании противоречие - это как раз та самая несовместимость атрибутов. Противоречивый атрибут x \land \neg x не присущ ни какой вещи. Но Аристотель подразумевал частный случай такого противоречия, а именно противоположность без промежуточного третьего. Действительно, либо xy, либо x \neg y \lor \neg xy \lor \neg x \neg y, третьего не дано. Такие противоположности не могут быть в отношении соисключённости.

Что интересно, отрицание-дополнение каждого одиночного атрибута в составе правой части равенства имеет смысл простой инверсии (побуквенного отрицания, inv() или ' ) этого атрибута, как если бы предмет рассуждений имел строго один критерий.

\neg (x \land y) = xy' \lor x'y \lor x'y'

Т.е. при одиночных атрибутах мы можем сделать такую замену \neg x \lor \neg y = x' \lor y',\ \ \ \ \neg x \land \neg y = x' \land y', а вот при составном уже нет \neg (x \land y) \neq inv(x \land y),\ \ \ \ \neg (x \lor y) \neq inv(x \lor y).

Если, например, друг - это человек, которого мы знаем и с которым хорошо общаемся, то инверсия такой коньюнкции даст нам человека, которого мы не знаем и с которым точно не общаемся:

inv(x \land y) = (x y)' = x'y'

При таком отрицании-инвертировании у нас есть некое третье xy' \lor x'y. Это отрицание называют контрарностью или противоположностью с промежуточным третьим. Как и в случае с контрадикторностью, у нас выполняется закон противоречия, т.е. xy и x'y' не совместны. Но для составных атрибутов при инвертировании не работает закон исключённого третьего. Действительно, если мы составим его как xy \lor inv(xy), то мы не можем написать, что это тождественно равно единице, ведь в универсуме также может быть  xy' \lor x'y. Такие противоположности способны находиться в отношении соисключённости. С другой стороны, если универсум однокритериальный, т.е. погода может быть либо хорошей, либо плохой, третьего не дано, то отрицание-инверсия и отрицание-дополнение суть одно и то же (\neg можно заменить на ' ), и закон исключённого третьего снова работает. И так у нас есть:

  • Данность: x = 1,\ \ \ \ \neg x = 0

  • Исключённость: x =0,\ \ \ \ \neg x = 1

  • Совместность:  x \land y = 1,\ \ \ \ \neg x \lor \neg y = 0

  • Несовместность:  \neg (x \land y) = \neg x \lor \neg y = 1,\ \ \ \ x \land y = 0

  • Соисключённость:  \neg x \land \neg y = \neg (x \lor y) = 1,\ \ \ \ x \lor y = 0

  • Несоисключённость: x \lor y = 1,\ \ \ \ \neg x \land \neg y = \neg (x \lor y) = 0

Можно заметить, что инверсия переводит совместность в соисключённость, а несоисключенность в несовместность:

inv(x \land y) = \neg x \land \neg y,\ \ \ \ \ inv(x \lor y) = \neg x \lor \neg y
Отрицание, дуал и инверсия

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

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

Брусенцов Н.П.

Т.е. xy = 1объявляет совместность данности x и y, а x \lor y = 0 - совместность их исключённости. То же самое x \lor y = 1 провозглашает несоисключённость единиц, а xy = 0 несоисключённость нулей. Двойственное булево выражение Николай Петрович также называет дополнением, наподобие дополнения в теории множеств, или дуалом. Его получение выделим в отдельную операцию dual() или \delta, как мы это сделали с инверсией. Например

dual(x' \lor y') \equiv \delta (x' \lor y') \equiv x'y'

Дуал булева выражения двойственен его инверсии. Действительно, если xy = 1- это совместность данности x и y, то inv(xy) = x'y'- это такая же совместность исключённости x и y, как и совместность исключённости в двойственном x \lor y = 0, ведь в инверсии мы не истолковываем 1 как 0 и наоборот.

Не нужно путать смену истолкования и смену значения на противоположное. Если dual(0) = 0 и dual(1) = 1, то inv(0) = 1 и inv(1) = 0.

Легко заметить, что отрицание-дополнение получается поочерёдным применением dual() и inv() к булеву выражению.

\neg e \equiv dual(inv(e)) \equiv inv(dual(e)) \equiv \delta (e') \equiv (\delta e)'

Как итог можно сказать: коньюнкция и дизъюнкция двойственны относительно отрицания-дополнеия.

Ещё одна разговорная взаимосвязь - это подчинённость термину X термина Y , состоящая в том, что термин Y не может быть не дан в случае данности X . Говорят, что термин X влечёт или имплицирует Y . Также говорят "если, то", "из чего-то следует что-то", наличие свойства Y является необходимым условием для свойства X, наличие свойства X является достаточным условием для свойства Y. Например, быть млекопитающим - это необходимое условие, чтобы быть человеком, а быть человеком - это достаточное условие для того, чтобы быть млекопитающим. Здесь X называют антецедентом (от латинского antecedens - предшествующее) или логическим подлежащим, а Y консеквкентом (от латинского consequens — следствие, вывод) логическим сказуемым. Когда говорят, что сущность подчинённого полностью содержится в сущности подчиняющего ("всё X есть суть Y"), такую трактовку называют содержательной или интенсиональной. Например, в понятие «Сократ» входят все свойства, которыми обладает Сократ: человек, мужчина, грек, философ и т.д. (входят как члены коньюнкции). Также наряду с ней широко распространена объёмная или экстенсиональная трактовка, где объём понятия "человек" больше, чем понятия "Сократ", ведь в объём "человек" входит не только Сократ, но и все люди на планете.

На роль этой взаимосвязи была выбрана материальная импликация. И это по сути первый камень в огород не столько булевой алгебры, сколько матлогиков, которые продолжают её использовать в качестве связи между предпосылкой и выводом, между причиной и следствием. Давно известно, что она полна парадоксов. Давайте взглянем на таблицу истинности:

X

Y

\to

0

0

1

0

1

1

1

0

0

1

1

1

Если Y истинно, то истинность импликации не зависит от истинности посылки X.

Если X ложно, то истинность импликации не зависит от вывода Y.

Другими словами, истинное следует из чего-угодно, из ложного следует что-угодно (следование выполняется тогда, когда в третьей колонке стоит 1).

Также, посылка X может быть противоречива (подставим в качестве посылки закон противоречия, противоречивый атрибут). В экстенсиональном смысле это значит, что понятие X не имеет объёма. Т.е. не существует таких вещей, которые попадали бы под данное понятие. Здесь истинность импликации не зависит от Y. Из противоречия следует что угодно.

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

Ещё одна распространённая взаимосвязь - эквивалентность, совместность прямой и обратной подчинённости терминов (X \to Y)(Y \to X)или же (x = y) \equiv xy \lor x'y'. Звучит как "что-то есть то-то", "что-то является чем-то", X необходимое и достаточное условие для Y, Y необходимое и достаточное условие для X. Когда в учебниках по математике в ходе доказательств мы встречаем фразу "тогда и только тогда", это тоже имеет смысл эквивалентности. Утверждения, построенные на эквивалентности, считаются более сильными, чем те, что базируются на подчинённости. Например, есть теоремы, которые доказываются лишь в одну сторону. Они считаются более слабыми. Благодаря связке эквивалентности можно строить такие формальные конструкции, как булевы уравнения.


Мы ещё вернёмся к разгрому импликации и булевым уравнениям. А пока обратим внимание на другой аспект булевой алгебры - замкнутость. Булева алгебра считается замкнутой относительно своих базисных операций коньюнкции, дизъюнкции и отрицания. Это значит, что при исполнении данных операций над 0 и 1 мы получим всё те же 0 и 1. Все 16 бинарных булевых функций можно выразить через 2 базисные операции (коньнктивный и дизъюнктивный базисы Буля: {\neg x,\ xy } и {\neg x,\ x \lor y }). Это якобы подтверждает то, что алгебра действительно замкнута. Но на деле же стоит взять обратную функцию от коньюнкции или дизъюнкции, как мы получаем выход за пределы множества состояний 0 и 1. По такому же принципу происходит выход в область отрицательных чисел при взятии операции вычитания на множестве натуральных чисел, либо в область комплексных чисел при взятии корня на отрицательных числах.

Рассмотрим функцию коньюнкции z(x, y) = x \land y:

x

y

z(x,y)

0

0

0

0

1

0

1

0

0

1

1

1

Теперь y сделаем функцией от z и x : y = R(z, x). Относительно x обратная функция будет той же с точностью до обозначения, т.к. коньюнкция коммутативна.

z

x

R(z,x)=y

0

0

\sigma

0

1

0

1

0

\varkappa

1

1

1

По поводу R=0 или 1 вопросов нет. Если x=1 , а z=0 , то R с необходимостью равен 0. Если x=1 , и z=1 , то R с необходимостью равен 1. Вопрос в том, каким должен быть R при x и z равными 0? В данном случае нет ни какой необходимости в том, чтобы R был строго 0 или 1. Такой статус термина называют неопределённым или привходящим. Обозначим его греческой буквой \sigma. Тот же вопрос про статус R при x=0 и z=1 . Оказывается, при таких значениях термин y=R невозможен, его не существует как понятия, которым можно оперировать. Он как противоречивый атрибут, который не описывает ни какую вещь. Обозначим его греческой буквой \varkappa. Как видите, булева алгебра в расширенном своём варианте уже четырёхзначна.

Более того, даже не используя обратные функции, можно поймать третье привходящее значение в выражениях вида xy \lor xy' Такие выражения можно подвергнуть минимизации, склейки дизъюнкции по термину y. Получаем равенство xy \lor xy' \equiv x. Термин y здесь подвергся элиминации. Данность или исключённость такого выражения не зависит от данности или исключённости термина y в двухтерминном универсуме. Если вещь в двухтерминном универсуме описывается такой дизъюнкций, то термин yназывают общезначимым.

Мысли вслух

Предполагаю, что Ян Лукасевич, увидев такой достаточно простой слом замкнутости булевой алгебры, решил развить свою знаменитую трёхзначную, а затем и четырёхзначную логику. Проблема четырёхзначных логик в том, каким образом в таблицах истинности должны выражаться коньюнкция и дизъюкция привходимости и невозможности. Должны ли такие операции производить некое пятое значение, порождая тем самым дурную бесконечность? Должна ли логика быть действительно замкнутой, где обратные операции с двумя новыми состояниями не будут давать новых значений? Логик с соответствующими таблицами истинности можно построить очень много, и какая из них будет адекватна реальности, это вопрос. Ясно одно, такие неопределённости никогда не переходят обратно в чёткие состояния 0 и 1 посредством булевых операций. Если, например, совместность каких-то свойств и критериев легко измыслить, то из совместности привходимости и невозможности нельзя вывести что-то определённое.

Теория множеств

Можно заметить, что булева алгебра моделирует одну единственную вещь посредством составного атрибута, содержащего булевы связи. Теория множеств напротив рассматривает несколько вещей, объединённых в такую структуру, как множество. Любое множество мы измышляем просто как мешок с вещами. Набор этих вещей не является графом, между ними нет ни какой взаимосвязи, кроме той, что все они лежат в одном мешке. Такую теорию множеств называют наивной, и она также оказалась полна парадоксов. Конечно, проблемы пытались решать, вводя различные аксиоматики. В какой-то момент даже пришлось изобрести понятие класса для совокупности множеств, а после вести рассуждения о том, какие классы являются множествами, а какие нет. Всё это не особо помогает тому самому достоверному рассуждению, в котором хочется задействовать математический аппарат, оперирующий множеством вещей.

Простой пример. Объединим в множество предметы, лежащие на столе. Это будет множество:

{ ключи, кошелёк, банан }

Оно порождено простым перечислением предметов и помещении их в в фигурные скобки. Точно также оно порождено высказыванием "все предметы, лежащие в данную минуту на столе". Вроде всё понятно и красиво. Но что если мы зададим вопрос: "А что в данное множество не входит?" И здесь мы не находим чёткого ответа. Во-первых, мы не знаем, каким образом должно быть порождено множество, дополнение до которого мы хотим получить. Сама операция дополнения в теории множеств рассматривается в системе множество-подмножество, а не на абстрактном единственном множестве. Если включающее множество будет тем же самым "предметы, лежащие на столе", то дополнение пусто. Не существует таких вещей, которые не входят в данное множество. Другая крайность - мы пытаемся применить аксиоматику, где существует некое универсальное множество, которое вмещает в себя все существующие отдельные друг от друга объекты во Вселенной, в том числе и другие множества. Такое множество является подмножеством самого себя и плодит тем самым парадоксы. Эту проблему пытались решить в аксиоматике фон Неймана — Бернайса — Гёделя. В ней постулировали существование универсального класса, который содержит в себе все существующие множества, но сам множеством при этом не является. Т.е. объявить некую структуру, которая не может быть подмножеством чего-либо - шаг хороший, но скорее искусственный, чем содержательный, ведь, у того же Аристотеля не было понятие класса. Он оперировал такими понятиями, как роды и виды вещей (но об этом чуть позже).

В теории множеств существует закон двойного дополнения:

  • \overline{\overline{A}} = A

Он похож на закон двойного отрицания в булевой алгебре. Но если в булевой алгебре работают, как отрицание-дополнеие, так и инверсия, то справедливость двойного дополнения очевидна, только когда мы берём дополнение до универсума . Действительно, такое поведение очень похоже на закон исключённого третьего: существуют либо элементы множества A, либо всё, что не является элементомA, третьего не дано. Если мы попытаемся взять вот такую систему из трёх вложенных множеств A \subset B \subset C, то мы не сможем сказать, что \overline{A} \cup A = B и \overline{A} = B \backslash A, ведь тогда уже\overline{B \backslash A} = (C \backslash B) \cup A, и \overline{\overline{A}} \neq A.

Т.е каждое следующее дополнение будет выводит нас во всё более широкое множество. Если дополнение происходит не до универсума, то при двойном дополнении мы имеем некое промежуточное третье в виде более широкого множества  C. Поэтому мы приходим к вопросу выше. Дополнение до чего мы должны рассматривать, если отказываемся от универсума?\overline{A} \cup A = B или \overline{A} \cup A = C? Ответа мы не получим.

Из плюсов теории множеств можно отметить, что она хорошо передаёт экстенсиональную трактовку разговорных связок.

X строго включено в Y
X строго включено в Y

При строгом включении множеств чётко видна подчинённость областей на диаграмме Эйлера-Венна, как если бы эти области были тeрминами или понятиями в разговоре. Нахождение в областиX является достаточным условием для нахождения в областиY. Нахождение в области Y является необходимым условием для нахождения в областиX. При таком объёмном представлении хорошо видно такое свойство следования, как контрапозитивность.

Если из X следует Y, то из Y' следует X'. То же самое справедливо и в обратном направлении. Эти суждения эквивалентны: (X \to Y) \iff (Y' \to X'). Действительно, если мы находимся в области X, то мы с необходимостью находимся и в области Y. Если мы находимся в области Y', то мы с необходимостью находимся и в области X'. Положение справедливо и для материальной импликации. У нас есть 3 области, которые могут существовать. Это X'Y', X'Y и XY, если идти от самой внешней, к самой внутренней, а сами X и Y считать булевыми терминами, эти 3 составных термина соответствуют единицам в таблице истинности ипликации. Нулю соответствует XY', потому что область X полностью содержится в области Y (в экстенсиональном смысле). Такой неизменяемый рисунок, где области нельзя варьировать, устраняет парадоксы противоречивого антецедента и общезначимого консеквента, т.к. X не пусто, а Y не универсум. Но, что занимательно, это всего лишь картинка. В наивной теории множеств нет инструментов, чтобы как-то контролировать границы этих множеств. А классическая математическая логика, где это возможно, нам неинтересна.

Алгебра совокупностей

Вот мы и добрались до самого вкусного. Сразу определимся, какие требования к новому матаппарату мы хотим предъявить, чтобы он был полноценным гибридом булевой алгебры и теории множеств?

  • к выражениям алгебры можно применять операции коньюнкции, дизъюнкции, отрицания и извлекать из них естественно-языковой смысл, как из полноценных булевых выражений (трактовать интенсионально);

  • к выражениям алгебры можно применять операции пересечения, объединения, дополнения и трактовать при этом как объёмы или множества (экстенсионально);

  • устранить парадоксы (импликации в первую очередь);

Как выше было показано, булева алгебра имеет естественно-языковой смысл. В ней есть одна из самых полезных форм записи выражения - СДНФ (Соверншенная дизъюнктивная нормальная форма). С помощью неё представима любая n-арная булева функция. Она представляет из себя дизъюнкцию полных элементарных коньюнкций.

Пусть, например, универсум рассмотрения двухкритериальный с терминами x и y. Полной элементарной коньюнкцией будет коньюнкция обоих терминов со штрихами или без, т.е. одна из 4-х: xy,\ xy',\ x'y,\ x'y'. Как можно видеть, числом всех сочетаний таких коньюнкций будет 2^4 = 16. Т.е. каждое из 16-ти СДНФ соответствует одной из 16-ти бинарных булевых функций.

Занимательная комбинаторика

a^n- количество размещений с повторениями. Размещения с повторениями - упорядоченные множества по n элементов, взятых из a неповторяющихся элементов. А ещё это объём n-мерного гиперкуба со стороной a. Но к делу это не относится.

2^n = \displaystyle\sum_{k=0}^{n} C_n^k = \displaystyle\sum_{k=0}^{n} \frac{n!}{k!(n-k)!} - мощность множества всех подмножеств.

C_n^k- биномиальные коэффициенты - количества сочетаний без повторений. Сочетания без повторений - неупорядоченные множества по k элементов, взятых из n неповторяющихся элементов.

2^3

{1, 0}

{a, b, c}

(1, 1, 1)

(a, b, c)

C_3^3

(1, 1, 0)

(a, b)

C_3^2

(1, 0, 1)

(a, c)

\downarrow

(1, 0, 0)

(b, c)

	\uparrow

(0, 1, 1)

(a)

C_3^1

(0, 1, 0)

(b)

(0, 0, 1)

(c)

(0, 0, 0)

( )

C_3^0

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

Давайте вспомним факт про дизъюнкцию. В качестве примера возьмём материальную импликацию. Данность несоисключённости x' \lor y говорит нам, что дан, либо x', либо y, либо оба сразу. В СДНФ это не так. Раскроем выражение:

x' \lor y = (x'y \lor x'y') \lor (xy \lor x'y) = xy \lor x'y \lor x'y'
А можно ли наоборот?

Да. Обратным образом происходит процесс минимизации булева выражения. Необходимо произвести максимальное число склеек (элиминаций) на минимальном количестве элементарных коньюнкций. Выбирается член, отличающийся от других штрихом только над одним из терминов. При чём выбирается так, чтобы тех "других" было максимальное число из возможных. Размножим выбранный член на все связанные с ним члены, используя закон идемпотентности x'y = x'y \lor x'y, объединим в скобки (x'y \lor x'y') \lor (xy \lor x'y)и произведём элиминацию общезначимых атрибутов.

Каждый из членов в правой части по прежнему находятся в несоисключённости. Но они теперь попарно не совместны! Коньюнкция любых двух составных атрибутов даст противоречие. Это значит, что если дан, какой-то из членов, например x'y, то остальные будут с необходимостью исключены. Всё это доказывает факт, из предыдущей главы. Булева алгебра описывает одну единственную вещь в пространстве терминов.

Описываемая вещь может оказаться xy, а может одной из двух оставшихся, может x'y, а может одной из двух оставшихся, x'y' или одной из двух оставшихся. Но она точно не окажется вещью xy'. Это важно запомнить! Члены СДНФ несоискючимы, попарно не совместны, каждый из членов равновероятен, а умалчиваемый член с необходимостью исключён. По правилам булевой алгебры правую часть мы можем расписать так:

1xy \lor 1x'y \lor 1x'y' \lor 0xy'

Теперь становится понятен смысл материальной импликации, так же как и её таблицы истинности, в рамках СДНФ. Каждая из элементарных коньюнкций может быть, а может и не быть. Но необходимости нет ни в одном из членов. Импликация - это чисто потенциальное следование, лишь то, каким оно может быть. К содержательному Аристотелеву следованию она не имеет ни какого отношения и непригодна для выводов и рассуждений. Здесь сразу можно судить об ущербности логики высказываний, где по частоте использования импликация стоит на первом месте. Но вернёмся к теме.

Понятие класса в теории множеств имеет довольно размытое определение и может вызывать споры на тему, а является ли класс множеством. Но класс на самом деле это просто формализация в естественном языке того, какой может быть вещь. Например: формально можно утверждать: "Погода относится к классу холодных". Смысл выражения чёток, понятен и не вызывает вопросов. Но на деле ни кто так не говорит. Скажут просто: "Погода холодная". В двухтерминном ниверсуме погода уже может быть "тёплая и солнечная" и т.д. С учётом всего этого булеву алгебру можно назвать булевой алгеброй классов, потому что она она описывает то, к какому классу принадлежит одна единственная вещь.

Лучше всего алгебру совокупностей можно понять на такой структуре, как урна Лукасевича. Представьте себе мешок со стальными шарами. Также есть только 3 краски, в которые можно выкрасить каждый шар. Абсолютно неважно, как производится покраска. Если на шаре есть хоть одна цветная точка, шар считается выкрашенным. Вопрос. Сколькими способами можно выкрасить шары, чтобы варианты покраски не повторялись? Очевидно, 2^3 способами. Урна Лукасевича отличается от обычного мешка тем, что одинаково покрашенные шары в ней неразличимы. Это значит, что вместимость урны всегда строго фиксирована и равна 2^nэлементов. n здесь, это число красок или же свойств-критериев. Соответственно, урна содержит 1 шар покрашенный во все 3 цвета, 3 шара покрашенных в 2 цвета, 3 шара, покрашенных в 1 цвет, и шар, не покрашенный ни в один цвет. Всего 8.

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

На следующем первом уровне у нас есть полные элементарные коньюнкции критериев нулевого уровня - строительные кирпичики для СДНФ в булевой алгебре. Они же вне СДНФ являются теми самыми крашенными шарами в урне Лукасевича. Например, в однокритериальном универсуме \{x\} элементы первого уровня, это множество \{x,x'\}. Оно говорит о том, каким вообще может быть потенциальный шар (красный или не красный). Об этом же говорит и СДНФ x \lor x' = 1 который в однокритериальном универсуме является законом исключённого третьего. При 2-х критериях мы уже имеем 4 коньюнкции \{xy,\ xy',\ x'y,\ x'y'\} - 4 составных свойства потенциального шара, или же 4 варианта различных шаров. Эти коньюнкции называют индивидными. Число индивидных коньюнкций на 1-м уровне растёт как 2^n. Таким образом, термины-критерии являют собой рода объектов-вещей, а полные коньюнкции родов - это их виды. Например, шар из рода x может оказаться вида xy или xy'. Либо же в однокритериальном случае рода x, а вида x или x'.

Чтобы составить совокупность 2-го уровня нам потребуется такой инструмент, как дизъюнкт, префиксная дизъюнкция или интегральная дизъюнкция. Обозначается как \bigvee. Если мы имеем \bigvee x, то это дизъюнкция всех вхождений критерия x (без штриха) в вещах совокупности. Т.е. мы итерируемся по всем элементам совокупности и составляем дизъюнкций каждого вхождения элемента в подынтегральном выражении x \lor x \lor x \lor ... Если в урне присутствует хотя бы один шар покрашенный в цвет x, то \bigvee x = 1. Выражение окажется равным 0, только если в дизъюнкции не окажется ни одного x. Как и в значках интегральной суммы и произведения можно писать диапазон ячеек в урне, но нужды в этом особой нет. Дизъюнкт без диапазона говорит о том, что он распространяется на всю совокупность. \bigvee ' x со штрихом обозначает, что в совокупности нет ни одной вещи x. Это значит, что совокупность либо содержит только вещи x', либо она пуста. Также мы можем производить коньюнкцию дизъюнктов \bigvee x \bigvee x'- такое выражение говорит нам о том, что в совокупности содержится вещь x и вещь x'.

Совокупности 2-го уровня - это и есть те самые совокупности, с алгеброй которых мы знакомимся. Они же урны Лукасевича.

Возьмём однокритериальный универсум. Размер совокупности будет 2^1 = 2. Составим возможные совокупности в данном пространстве критериев:

\bigvee x \bigvee x',\ \ \ \bigvee x \bigvee ' x',\ \ \ \bigvee ' x \bigvee x',\ \ \ \bigvee ' x \bigvee ' x'

Такие совокупности называют строгими, потому что включённость или исключённость вещи строго определена. Именно их можно считать обычными множествами из теории множеств. Число таких сосвокупностей {2^2}^1 = 4. Может показаться, что все возможные ситуации исчерпываются данным набором. Но это не так. Из строгих совокупностей можно составлять комбинации посредством дизъюнкций. Например, \bigvee x \bigvee x' \lor \bigvee x \bigvee ' x' представляет из себя атрибут нестрогой или нечёткой совокупности. Как и в обычной булевой алгебре, атрибут \bigvee x' мы можем подвергнуть элиминации и получить \bigvee x. И самое интересное. Нечёткость такой совокупности выражается в том, что при неполной коньюнкции умалчиваемый атрибут не дан и не исключён. Вещь x'по отношении к совокупности \bigvee x носит привходящий характер. Нет необходимости, чтобы вещь была в совокупности, и чтобы её там не было. Именно поэтому пара \bigvee \bigvee ' является контрарной. Также есть нечёткие совокупности, которые нельзя сократить \bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x'. Всего нечётких совокупностей можно составить {{2^2}^2}^1 - {2^2}^1 - 1 = 11.

Нечёткие множества Заде

Да, мы называем совокупности нестрогими или нечёткими, как в теории нечётких множеств Заде. Но концепция нечётких совокупностей в корне отличается от множеств Заде тем, что нечёткость в совокупностях проявляется только в контексте связанности вещей и терминов друг с другом. В теории Заде ключевым инструментом является функция принадлежности, которая каждому элементу множества ставит в соответствие некую степень принадлежности этому множеству. Эта степень может принимать значения из некоторого непрерывного диапазона и быть вероятностной. Но описывать ситуации вида \bigvee x \bigvee x' \lor \bigvee x \bigvee ' x' и \bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x' теория Заде неспособна. Для этого потребовался бы целый зоопарк функций принадлежности, зависящих друг от друга.

UPD. Чуть позже нашёл заметку об отображении обычных булевых выражений на множества Заде. Но там для самих индивидов рассчитываются степени принадлежности к некоему отдельному множеству, которое с нашими совокупностями ни как не связано.

Если подойти более детально к трактовке таких совокупностей, то, они очень похожи на Кота Шрёдингера. Например, совокупность \bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x' может оказаться либо первой коньюнкцией, либо второй, но необходимости нет ни в той, ни в другой. Но стоит из совокупности извлечь вещь x, как она с необходимостью окажется совокупностью \bigvee x \bigvee ' x'. Тоже самое будет, если мы из нечёткой совокупности извлечём вещь x'. Мгновенно возникает определённость.

И так, самый общий атрибут совокупности:

\bigvee x \bigvee x' \lor \bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x' \lor \bigvee ' x \bigvee ' x'

- потенциальная совершенно неопределённая совокупность;

Атрибуты, составленные из 3-х чётких совокупностей:

\bigvee ' x \lor \bigvee ' x',\ \ \ \bigvee x \lor \bigvee ' x',\ \ \ \bigvee ' x \lor \bigvee x',\ \ \ \bigvee x \lor \bigvee x'

Атрибуты, составленные из 2-х чётких совокупностей (и того в сумме 11 вместе с двумя верхними):

\bigvee ' x,\ \ \ \bigvee ' x',\ \ \ \bigvee ' x \bigvee ' x' \lor \bigvee x \bigvee x',\ \ \ \bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x',\ \ \ \bigvee x',\ \ \ \bigvee x

Чёткие совокупности:

\bigvee x \bigvee x',\ \ \ \bigvee x \bigvee ' x',\ \ \ \bigvee ' x \bigvee x',\ \ \ \bigvee ' x \bigvee ' x'

Противоречивая невозможная совокупность (не путать с пустой из множества чётких):

\bigvee x \bigvee ' x \lor \bigvee x' \bigvee ' x'

- по сути заменяет сочетания по нулевому числу элементов.

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

Также наряду с дизъюнктом можно пользоваться интегральной префиксной коньюнкцией, или же коньюнктом. Запись \bigwedge x говорит нам о том, что все принадлежащие совокупности вещи наделены свойством x, и других не имеется. Это по сути логическое произведение всех вхождений x \land x \land x \land ... с той лишь разницей, что оно выполняется, даже если в произведении нет ни одного x, когда совокупность пуста. Например, \bigwedge x удовлетворяет совокупностям

\bigvee xy \bigvee xy' \bigvee ' x'y \bigvee ' x'y'\ \ \ \ и\ \ \ \bigvee ' xy \bigvee ' xy' \bigvee ' x'y \bigvee ' x'y'

но не удовлетворяет \bigvee xy \bigvee xy' \bigvee x'y \bigvee ' x'y'. Запись \bigwedge ' x говорит о том, что в совокупности присутствует хотя бы одна вещь x', и пустота совокупности недопустима.

\bigwedge x = \bigvee ' x',\ \ \ \ \ \bigwedge ' x = \bigvee x'

Дизъюнкт и коньюнкт - это интегральные сумма и произведение. Только логические, а не числовые. Как уже многие поняли, они являются аналогами квантора существования \exists и квантора всеобщности \forall в логике предикатов. Только это существование и всеобщность не чего-то сферического в вакууме, а вещи определённого класса в конкретной совокупности. К ним полностью применимы все связки и аксиомы булевой алгебры.

Единственным исключением являются тождества вида

\bigvee (e \lor g) \equiv \bigvee e \lor \bigvee g \\ \bigvee 'e \bigvee ' g \equiv (\bigvee e \lor \bigvee g)' \equiv (\bigvee (e \lor g))' \equiv \bigvee ' (e \lor g)

где e и g - произвольные выражения булевой алгебры классов. Например

\bigvee (xy \lor xy') \equiv \bigvee xy \lor \bigvee xy' \equiv \\ \equiv \bigvee xy \bigvee xy' \lor \bigvee xy \bigvee ' xy' \lor \bigvee ' xy \bigvee xy'

Это выражение можно расширить до полной совокупностной СДНФ, но даже в текущем варианте есть наглядность. Булево выражение - это класс одной единственной вещи. Но когда мы объявляем существование класса посредством дизъюнкта, мы получаем класс совокупностей, в котором из каждой потенциальной совокупности мы можем извлечь одну вещь, удовлетворяющую изначальному классу. Ещё мы можем сказать, какие вещи помимо содержатся или не содержатся в данной совокупности. В примере выше это чётко видно. Дизъюнкция совокупностей описывает класс совокупностей, где совокупность может оказаться одной из трёх попарно несовместимых. Т.е. класс - это просто ярлык, этикетка на урне Лукасевича.

Класс и совокупность относятся также, как подинтегральная функция и интеграл. Поэтому класс вещей ни в коем случае не может быть совокупностью этих вещей и вообще какой-либо совокупностью. Так, например, класс x неотождествим со своей одноэлементной совокупностью \bigvee x \bigvee ' x'. Отсюда следует, что ни какое множество не может быть подмножеством самого себя, ведь это множества разной природы, или, как сказали бы программисты, разных типов. Такое положение вещей устраняет многие парадоксы наивной теории множеств.


Давайте теперь возьмём пример наивного множества из предыдущей главы: { ключи, кошелёк, банан }. Переведём его на язык алгебры совокупностей. Создадим на основе этого множества индивиды нулевого уровня: x- быть ключами, y- быть кошельком, z- быть бананом. Тогда совокупность, описывающая ситуацию { ключи, кошелёк, банан }, будет выглядеть так (в дальнейшем для удобства восприятия в строгих совокупностях с 2 критериями и более будем использовать цветовое разделение присущих и антиприсущих компонент, чтобы читателю не выискивать штрихи над дизъюнктами):

\color{gray}{\bigvee ' xyz \bigvee ' xyz' \bigvee ' xy'z} \bigvee xy'z' \color{gray}{\bigvee ' x'yz} \bigvee x'yz' \bigvee x'y'z \color{gray}{\bigvee ' x'y'z'}

Что не входит в множество предметов на столе? Туда не входят вещи, которые являются ключами, кошельком и бананом одновременно. Также все комбинации из 2-х таких свойств. Также не входят вещи, которые не являются ни ключами, ни кошельком, ни бананом. Дополнение такого множества создаётся инверсией дизъюнктов. Все вышеперечисленные вещи становятся включёнными в множество, и наоборот.

\bigvee xyz \bigvee xyz' \bigvee xy'z \color{gray}{\bigvee xy'z'} \bigvee x'yz \color{gray}{\bigvee ' x'yz' \bigvee ' x'y'z} \bigvee x'y'z'

Закон двойного дополнения идеально выполняется, и не потребуются ни какие всеобъемлющие и противоречивые универсальные множества.

Кстати, о противоречивости. Противоречивые конструкции стоят особняком. Атрибут xx' противоречив. Он не описывает ни одну вещь. Совокупность\bigvee xx' , содержащая противоречивый атрибут, противоречива, но формально не пуста. А вот совокупность \bigwedge xx'формально пуста, потому что в ней могут быть только противоречивые вещи, а это невозможно.

\bigwedge xx' = \bigvee ' (x \lor x') = \bigvee ' x \bigvee ' x'

Также противоречива совокупность, утверждающая и одновременно отрицающая принадлежность какого-либо атрибута (последняя среди чётких и нечётких). Про такую можно сказать, что она невозможна.

\bigvee x \bigvee ' x \lor \bigvee x' \bigvee ' x'

Ну и последний вопрос. Могут ли нам понадобиться трихотомические термины вместо дихотомических?

Представим ситауцию: нам нужно описать угол, который может быть только прямой, тупой и острый. Казалось бы логичным иметь один термин для угла, и его три состояния, которые инверсией мы можем переключать друг в друга по кругу. Но, что же нам теперь, любой набор состояний пихать в один термин? С архитекрурной точки зрения это каждый раз начинать строить дом с основания, когда, в одной из комнат нам всего лишь требуется добавить дополнительный выключатель. Любые новые состояния прекрасно моделируются добавлением нового дихотомического термина. Быть прямым - не быть прямым углом, быть тупым - не быть тупым углом, быть острым - не быть острым углом.

Теоретико-множественные операции

Такие операции называют покомпонентными.

Дополнение множества мы только что рассмотрели. Оно является ни чем иным, как покомпонентной инверсией дизъюнктов в составе коньюнкции. Интерес представляет то, как дополнение поступает с умалчиваемыми членами совокупности. Как мы помним, если коньюнкция дизъюнктов неполная, то умалчиваемые дизъюнкты привходящи, нет необходимости как в их принадлежности, так и в антипринадлежности. Найдём дополнение привходящей вещи x в однокритериальном универсуме.

\overline{\bigvee x \lor \bigvee ' x} = inv(\bigvee x \lor \bigvee ' x) = \bigvee ' x \lor \bigvee x

Здесь, как видим, инверсия неопределённости даёт нам ту же самую неопределённость.

Для полноты картины рассмотрим дополнение в применении к первому уровню совокупностей. Там дополнение множества, это всё та же инверсия булева выражения \overline{xy \lor xy'} = inv(xy \lor xy') = x'y' \lor x'y. В сокращённой форме мы видим ту же картину \overline{x} = inv(x) = x'. Да, подход здесь немного необычный. Мы рассматриваем булево выражение (а именно коньюнкцию) не как класс вещи, а как множество присущих ей атрибутов. Коньюнкция xy - это множество \{x, y\}, а коньюнкция xy' - это множество \{x\}. Соответственно инверсия переводит \{x, y\} в пустое множество, а \{x\} в \{y\}. Если брать выражение в целом, то класс x стал классом x', а y так и остался привходящим.

Пересечение и объединение также обладают наглядным смыслом. Если рассматривать только строгие совокупности, то смысл полностью идентичен смыслу в теории множеств. Пересечение - это множество, которому причастны все элементы, принадлежащие обоим множествам, и только они. Объединение - это множество всех элементов, которые причастны хотя бы одному из множеств.

Отличия снова начинаются на нестрогих случаях. Посмотрим на пересечение нестрогих однокритериальных совокупностей:

\bigvee x \cap \bigvee x = \bigvee x,\ \ \ \ \bigvee x \cap \bigvee ' x = \bigvee ' x,\ \ \ \ \bigvee ' x \cap \bigvee ' x = \bigvee ' x

Для сравнения возьмём коньюнкции тех же совокупностей:

\bigvee x \land \bigvee x = \bigvee x,\ \ \ \ \bigvee x \land \bigvee ' x = 0,\ \ \ \ \bigvee ' x \land \bigvee ' x = \bigvee ' x

Как можно заметить, в основе пересечения лежит покомпоненнтная коньюнкция, но не самих компонент, а их принадлежности/антипринадлежности множеству. Операции объединения множеств находятся в таком же отношении к дизъюнкции. Здесь идёт покомпонентная дизъюнкция принадлежности/искючённости вещи:

\bigvee x \cup \bigvee x = \bigvee x,\ \ \ \ \bigvee x \cup \bigvee ' x = \bigvee x,\ \ \ \ \bigvee ' x \cup \bigvee ' x = \bigvee ' x

и

\bigvee x \lor \bigvee x = \bigvee x,\ \ \ \ \bigvee x \lor \bigvee ' x = 1,\ \ \ \ \bigvee ' x \lor \bigvee ' x = \bigvee ' x

Теперь опираясь на эти выражения, возьмём пересечение и объединение с привходящими компонентами.

(\bigvee x \lor \bigvee ' x) \cap \bigvee x = (\bigvee x \cap \bigvee x) \lor (\bigvee x \cap \bigvee ' x) = \bigvee x \lor \bigvee ' x \\ (\bigvee x \lor \bigvee ' x) \cup \bigvee x = (\bigvee x \cup \bigvee x) \lor (\bigvee x \cup \bigvee ' x) = \bigvee x\ \ \ \ \ \ \ \ \ \ \ \ \ \\ (\bigvee x \lor \bigvee ' x) \cap \bigvee ' x = (\bigvee x \cap \bigvee ' x) \lor (\bigvee ' x \cap \bigvee ' x) = \bigvee ' x\ \ \ \ \ \ \ \ \ \ \ \ \\ (\bigvee x \lor \bigvee ' x) \cup \bigvee ' x = (\bigvee x \cup \bigvee ' x) \lor (\bigvee ' x \cup \bigvee ' x) = \bigvee x \lor \bigvee ' x

Что мы здесь видим? Во-первых, имеет место быть дистрибутивность коньюнкции и дизъюнкции относительно пересечения и объединения. И наоборот, дистрибутивность пересечения и объединения относительно коньюнкции и дизъюнкции. Это вполне логично, т.к. любая совокупность - это булево выражение, а любое булево выражение - это в некотором смысле совокупность.

В данных выражениях пересечение предпочитает неопределённость x его существованию, и несуществование x его неопределённости. Наоборот же, объединение из существования и неопределённости выбирает существование, а из неопределённости и несуществования выбирает неопределённость. Это как функции минимума и максимума для значений {0,\ \sigma,\ 1}. Подобным образом работают коньюнкция и дизъюнкция в трёхзначной логике Лукасевича, выбирают минимальное и максимальное из двух.

Если взглянуть на первый уровень совокупностей, выражение x \cap y означает пересечение нестрогих совокупностей первичных терминов

x \cap y = \\ (xy \lor xy') \cap (xy \lor x'y) = \\ xy \cap xy \lor xy \cap xy' \lor xy \cap x'y \lor xy' \cap x'y = \\ xy \lor xy' \lor x'y \lor x'y' = 1

И то же самое для объединения

x \cup y = \\ (xy \lor xy') \cup (xy \lor x'y) = \\ xy \cup xy \lor xy \cup xy' \lor xy \cup x'y \lor xy' \cup x'y = \\ xy \lor xy \lor xy \lor xy = xy

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

На примерах первого уровня видно, что выражения могут быть с неиндивидными компонентами, например совокупности \bigvee x \bigvee ' x' и \bigvee y \bigvee ' y' в двухтерминном случае. Давайте взглянем, как работает здесь операция пересечения для совокупностей второго уровня. В книге "Начала информатики" есть замечательный пример на это счёт, который хочется привести.

Среди четырёхугольников ромб обладает попарной параллельностью сторон (x- параллелограмность) и перпендикулярностью диагоналей (y - дельтоидность). Множеством, которое содержит только ромбы и ничего, кроме них, будет \bigvee xy \bigvee ' xy' \bigvee ' x'y  \bigvee ' x'y' = \bigvee xy \bigvee ' (x' \lor y').

Теперь возьмём пересечение множества параллелограммов с множеством дельтоидов (заметим, что оба множества неиндивидные):

\bigvee x \bigvee ' x' \cap \bigvee y \bigvee ' y' = \\ (\bigvee xy \bigvee ' x'y \bigvee ' x'y' \lor \bigvee xy' \bigvee x'y \bigvee ' x'y') \cap \\ (\bigvee xy \bigvee ' xy' \bigvee ' x'y' \lor \bigvee x'y \bigvee ' xy' \bigvee ' x'y') = \\ \bigvee ' x'y \bigvee ' xy' \bigvee ' x'y' = \\ \bigvee ' (x' \lor y')

Здесь для работы с неиндивидными атрибутами совокупность потребовалось привести в индивидную форму, пускай и нечёткую. Это вопросов не вызывает. Сам же результат оказался контринтуитивным. Действительно, по логике это пересечение должно дать множество ромбов. Но такая логика упускает возможность случая, в котором пересечение может оказаться пустым. Например, совокупность \bigvee x \bigvee ' x' может оказаться совокупностью \bigvee x \bigvee ' x' \bigvee ' y \bigvee ' y' . Т.е. всегда есть возможность, что в множестве параллелограммов нет ни одного с перпендикулярными диагоналями, и в множестве дельтоидов ни одного с параллельными сторонами. Если же наложить условие непустоты (об этом в следующей главе), то получим изначально предполагаемый результат \bigvee xy \bigvee ' (x' \lor y').


В теории множеств, как и в булевой алгебере справедлив принцип двойственности. Но если коньюнкция и дизъюнкция двойственны относительно отрицания-дополнения, то пересечение и объединение двойственны относительно инверсии. Т.е. отношение пересечения множеств мы можем трактовать как объединение при условии, что сами множества будут инвертированными. Имеют места тождества, аналогичные законам де-Моргана:

inv(e \cap g) = inv(e) \cup inv(g) \\ inv(e \cup g) = inv(e) \cap inv(g)

где e и g - произвольные совокупности любого уровня.

Чем же оказываются полезны теоретико-множественные операции помимо примера с содержательным рассуждением выше? Если булев контекст совокупностей позволяет использовать естественно-языковой смысл, то множественный контекст позволят компьютеризировать получившуюся алгебру. Действительно, дочитав статью до данного момента многие уже поняли, что буквы в булевых выражениях - это не переменные, которые мы можем проинициализировать нулём и единицей или искать сочетания нулей и единиц, которые этим переменным удовлетворяют. Буквы - это термины, классы или вещи, обладающие критериями. Закодировать булево выражение в самом общем смысле, значит обозначить единицами и нулями принадлежность/антипринадлежность атрибутов (1 - атрибут без штриха, 0 - атрибут со штрихом). Для минимальных форм очень полезна окажется троичность набора состояний, где отдельным состоянием мы можем закодировать привходимость.

Универсумы

Рассмотрим строгие совокупности в 2-х критериальном универсуме. Разделим их на ключевые группы, которые можно считать логическими универсумами, и по тем же группам распределим однокритериальные множества.

Универсум Аристотеля:

\bigvee xy \bigvee xy' \bigvee x'y \bigvee x'y',\ \ \ \ \ \ \bigvee xy \bigvee xy' \bigvee x'y \color{gray}{\bigvee ' x'y'}, \\ \bigvee xy \bigvee xy' \color{gray}{\bigvee ' x'y} \bigvee x'y',\ \ \ \ \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \bigvee x'y', \\ \color{gray}{\bigvee ' xy} \bigvee xy' \bigvee x'y \bigvee x'y',\ \ \ \ \ \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y} \bigvee x'y', \\ \color{gray}{\bigvee ' xy} \bigvee xy' \bigvee x'y \color{gray}{\bigvee ' x'y'}

Однокритериальный случай: \bigvee x \bigvee x'

Универсум Хризиппа-Буля:

\bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y \bigvee ' x'y'},\ \ \ \ \ \ \color{gray}{\bigvee ' xy} \bigvee xy' \color{gray}{\bigvee ' x'y \bigvee ' x'y'}, \\ \color{gray}{\bigvee ' xy \bigvee ' xy'} \bigvee x'y \color{gray}{\bigvee ' x'y'},\ \ \ \ \color{gray}{\bigvee ' xy \bigvee ' xy' \bigvee ' x'y} \bigvee x'y'

Однокритериальный случай: \bigvee x \bigvee ' x',\ \ \ \bigvee ' x \bigvee x'

Смешанный универсум:

\bigvee xy \bigvee xy' \color{gray}{\bigvee ' x'y \bigvee ' x'y'},\ \ \ \ \ \ \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \color{gray}{\bigvee ' x'y'}, \\ \color{gray}{\bigvee ' xy} \bigvee xy' \color{gray}{\bigvee ' x'y} \bigvee x'y',\ \ \ \ \color{gray}{\bigvee ' xy \bigvee ' xy'} \bigvee x'y \bigvee x'y'

Однокритериальный аналог отсутствует.

Пустой универсум:

\color{gray}{\bigvee ' xy \bigvee ' xy' \bigvee ' x'y \bigvee ' x'y'}

Однокритериальный случай: \bigvee ' x \bigvee ' x'

И того {2^2}^2 = 16 строгих совокупностей в 2-х критериальном универсуме. Всего же чётких и нечётких совокупностей вместе с противоречивой будет {{2^2}^2}^2 = 65535. Нужно помнить, что они являются всеми возможными дизъюнктивными сочетаниями из 16-ти строгих. Представляете, какое число ситуаций можно описать, имея всего 2 термина? Двухаргументными булевыми функциями описывается лишь 16 ситуаций, и они не идут ни в какое сравнение с тем разнообразием, что дарит алгебра совокупностей.

Дизъюнкцией в различных комбинациях этих 4-х универсумов можно составить нечёткие универсумы, в которых работают те или иные логики. Приведём примеры с их минимальными формами.

Общий универсум (УО):

\bigvee x \bigvee x' \lor \bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x' \lor \bigvee ' x \bigvee ' x' \equiv (\bigvee x \lor \bigvee ' x)(\bigvee x' \lor \bigvee ' x')

Для 2-х критериев: (\bigvee x \lor \bigvee ' x)(\bigvee x' \lor \bigvee ' x')(\bigvee y \lor \bigvee ' y)(\bigvee y' \lor \bigvee ' y')

Интуиционистский (непустой) универсум (УИ):

\bigvee x \bigvee x' \lor \bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x' \equiv \bigvee x \lor \bigvee x'

Для 2-х критериев: (\bigvee x \lor \bigvee x')(\bigvee y \lor \bigvee y')

Трёхзначный универсум Поста (УП):

\bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x' \lor \bigvee ' x \bigvee ' x' \equiv \bigvee ' x \lor \bigvee ' x'

Для 2-х критериев: (\bigvee ' x \lor \bigvee ' x')(\bigvee ' y \lor \bigvee ' y')

А также покажем минимальные формы для одного и дву-критериальных чётких универсумов.

Универсум Хризиппа-Буля (УБ): \bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x' \\(\bigvee x \bigvee ' x' \lor \bigvee ' x \bigvee x')(\bigvee y \bigvee ' y' \lor \bigvee ' y \bigvee y')

Универсум Аристотеля (УА): \bigvee x \bigvee x' \\\bigvee x \bigvee x' \bigvee y \bigvee y'

Пустой универсум: \bigvee ' x \bigvee ' x' \\\bigvee ' x \bigvee ' x' \lor \bigvee ' y \bigvee ' y'

И отдельно от всех противоречивые атрибуты: \bigvee x \bigvee ' x \lor \bigvee x' \bigvee ' x'

и \bigvee x \bigvee ' x \lor \bigvee x' \bigvee ' x' \lor \bigvee y \bigvee ' y \lor \bigvee y' \bigvee ' y'

Здесь можно заметить, что интуиционистский универсум - это общий с невозможностью пустого множества. Он также включает в себя смешанный универсум, возникающий при 2-х терминах и более. Трёхзначный универсум Поста - это универсум Хризиппа-Буля с возможностью пустого множества.

Для каждого из универсумов существуют атрибуты других универсумов, которые не значат ничего. Для УО ничего не обозначающим является противоречивый атрибут. Они связаны друг с другом отрицанием-дополнением:

\neg (\bigvee x \bigvee ' x \lor \bigvee x' \bigvee ' x') = (\bigvee x \lor \bigvee ' x)(\bigvee x' \lor \bigvee ' x')

Таким же отрицанием-дополнением связаны пустой и интуиционистский универсумы

\neg (\bigvee ' x \bigvee ' x') = \bigvee x \lor \bigvee x'

Атрибуты всех универсумов (а именно их минимальные формы) можно назвать тавтологиями. Эти утверждения безусловно истинны для своих универсумов. В пределах своего универсума тавтология общезначима. Ещё Бертран Рассел подчёркивал важность тавтологий для логических исчислений. Но если те же аксиомы булевой алгебры, которые тоже являются тавтологиями, определяют по большей части синтаксис формул, то тавтологии универсумов алгебры совокупностей отвечают за семантику.

Наиболее интересными универсумами, на мой взгляд, оказались универсумы Буля и Аристотеля. Взглянем на первый из них. Каждая из строгих совокупностей УБ содержит ровно одну вещь, а остальные с необходимостью исключены. Если мы возьмём дизъюнкцию любых двух множеств в УБ, например

\bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y \bigvee ' x'y'}\ \ \lor\ \color{gray}{\bigvee ' xy} \bigvee xy' \color{gray}{\bigvee ' x'y \bigvee ' x'y'}

то она нам говорит о том, что из получившейся нечёткой совокупности мы можем извлечь либо вещь xy, либо вещь xy'. Если извлечём одну, то второй в совокупности точно не окажется. Что нам это напоминает? Булево выражение класса одной единственной вещи xy \lor xy'. УБ полностью повторяет функциональность булевой алгебры классов с той лишь разницей, что каждая индивидная коньюнкция находится в своей собственной упаковке - одноэлементном множестве. Николай Петрович называет УБ островом Рыцарей и Лжецов по аналогии с детской логической задачей, где на острове могут жить лишь те, кто говорят только правду (Рыцари), и те, кто всегда врут (Лжецы). Такая постановка даёт ситуацию, когда не данность атрибута x влечёт данность атрибута x'. Каждый, кто на острове, либо Рыцарь, либо Лжец, третьего не дано. Это чётко соответствует семантики булевой алгебры.

Домножив выражение в УО на атрибут тавтологии УБ, мы по сути отфильтруем все возможные совокупности по универсуму Хризиппа-Буля или, по-другому, подчиним результат атрибуту УБ.

Универсум Аристотеля полностью противоположен УБ. В отличии от одноэлементных множеств УБ, чёткие совокупности УА содержат минимум 2 вещи таким образом, что, например, для 2-х критериального случая выполняется тавтология \bigvee x \bigvee x' \bigvee y \bigvee y'. Это значит, что если в универсуме присутствует критерий x, то в совокупности с необходимостью существуют как вещи x, так и вещи x'. Это единственный универсум, логика в котором по праву называется диалектической. То, что Гегель называл единством и борьбой противоположностей, в книгах Николая Петровича называется просто сосуществованием противоположностей и выражает принцип Гераклита. Действительно, гениальность данного принципа сложно переоценить. Представьте, вы физик-экспериментатор и предполагаете, что обнаружили некое новое свойство вещества. Но объявить, что свойство действительно существует, вы можете лишь тогда, когда у вас есть вещи или материалы, которые этим свойством обладают, и материалы, которые этим свойством точно не обладают. Если вы предсказываете существование нового свойства, но, помимо лабораторных образцов, им обладают все остальные вещи во Вселенной, то такое свойство было бы общезначимым, и о его существовании объявлять бессмысленно. То же самое, когда вы говорите о свойстве, но ни одна вещь во Вселенной им не обладает. В универсуме Аристотеля не может быть общезначимых свойств. А вот в интуиционизме такое допустимо, особенно когда действие происходит в УБ или в смешанном универсуме. Смешанный универсум, как можно заметить, по одним терминам аристотелев, а по другим булев.

Теперь в УА на нашем острове живут люди, которые иногда врут, а иногда говорят правду (нет абсолютно правых и абсолютно виноватых). Домножение на атрибут УА также подчиняет и фильтрует общий результат по универсуму Аристотеля. Подобным же образом работает каждая из тавтологий выделенных универсумов. Например, наложение условия непустоты - это домножение на атрибут УИ.

Булевы уравнения. Часть 1

Одним из прикладных аспектов алгебры совокупностей становятся булевы уравнения.

В условиях заданной взаимосвязи двух терминов данность или исключённость одного из них зависит от данности/исключённости другого. Но только в двух случаях эта зависимость окажется взаимно однозначной: 1) когда термины эквивалентны x = y, 2) когда они антиэквивалентны x = \neg y.

Брусенцов Н.П.

Наиболее общая проблема логики может быть сформулирована так: задано логическое уравнение, содержащее символы x, y, z, w. Требуется найти логически интерпретируемое выражение для выяснения отношения класса, обозначенного через w, к классам, обозначенным через x, y, z.

Дж. Буль

Давайте составим простое уравнение: быть квадратом(z), это быть равносторонним (x)и иметь прямые углы (y).

z = xy

Решить это уравнение относительно термина y, значит найти обратную функцию y = R(x,z). Полное решение этого уравнения даёт метод Буля-Порецкого. Отношение эквивалентности в булевой алгебре имеет вид

a = b \iff ab \lor a'b' = 1

Применим это отношение к уравнению, чтобы привести его к СДНФ:

xyz \lor xy'z' \lor x'yz' \lor x'y'z' = 1

Для большей наглядности распишем изначальную СДНФ следующим образом:

1xyz \lor 1xy'z' \lor 1z'yz' \lor 1x'y'z' \lor 0xyz' \lor 0xy'z \lor 0x'yz \lor 0x'y'z = 1

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

(xz \land y) \lor (xz' \land y') \lor x'z'(y \lor y')= 1 \\ (xz \land y') \lor (xz' \land y) \lor x'z(y \lor y')= 0

В таком разложении по y рассматриваемая взаимосвязь выражена как зависимость термина y от остальных x и z. Очевидно, что при данности xz нам необходимо дан y и необходимо исключён y'. При x'z необходимо дан y' и необходимо исключён y. При x'z' нет необходимости ни в y, ни в y', y является привходящим. При x'z y является невозможным как понятие.

Полное решение можно записать как y = xz \lor \sigma x'z' \lor \varkappa x'z \lor 0xz'.

В общем решить булево уравнение - это сделать все возможные выводы про какому-то из терминов относительно остальных терминов. Наши выводы следующие:

  • иметь прямые углы, значит быть квадратом и быть равносторонним;

  • не иметь прямые углы, значит быть равносторонним, но не быть квадратом;

  • не известно, имеем ли мы прямые углы, если это не квадрат и не равносторонняя фигура;

  • прямоугольность невозможна как понятие, если мы имеем неравносторонний квадрат;

Мысли вслух

Ранее упоминал, что из привходимости и невозможности невозможно вывести что-то определённое в виде данности и исключённости. Но я уверен, что результат y = xz \lor \sigma x'z' \lor \varkappa x'z \lor 0xz' можно привести обратно к виду z = xy \lor 0xy' \lor 0x'y \lor 0x'y', который идентичен изначальному уравнению, хотя у Николая Петровича и не высказывалось подобных мыслей.

Здесь всё красиво и замечательно. Но нас интересует вопрос: как этот результат будет выглядеть в совокупностной форме? Чтобы на него ответить, давайте применим метод Буля-Порецкого к различным СДНФ. Начнём с однокритериального. Объявим данность

x = 1

Эта данность строго булева, т.к. исключённость x влечёт данность x'. Но если мы объявим существование класса x, то то мы лишь получим потенциальную совокупность, из которой можем извлечь вещь x

\bigvee x = \bigvee x \bigvee x' \lor \bigvee x \bigvee ' x'

Здесь x' может как присутствовать, так и не присутствовать. Представим нашу однокритериальную СДНФ следующим образом

1x \lor 0x' = 1

Да, мы помним, что в алгебре совокупностей справедливы преобразования \bigvee (e \lor g) \equiv \bigvee e \lor \bigvee g, но делать следующим образом некорркектно\bigvee (1x \lor 0x') \equiv \bigvee x \lor \bigvee ' x', потому что смысл такого класса совокупностей в том, что совокупность может быть и пустой, но обязательно такой, которая не содержит x'. Но разве нам такое необходимо? При объявлении существования булева класса смысл именно в вещи, которую мы можем извлечь из совокупности, а не в том, что в совокупности чего-то может не оказаться. Содержание таких совокупностей не будет иметь смысла, связанного с изначальным СДНФ.

Получившийся выше класс совокупностей подчиним условию \bigvee ' x' для придания совокупности булева смысла

(\bigvee x \bigvee x' \lor \bigvee x \bigvee ' x') \bigvee ' x' = \bigvee x \bigvee ' x'

А теперь возьмём отрицание-дополнение у изначальной СДНФ и у его совокупностной формы

\neg (x = 1) = (x = 0)

и

\neg (\bigvee x \bigvee ' x') = \bigvee x \bigvee x' \lor \bigvee ' x \bigvee x' \lor \bigvee ' x \bigvee ' x'

Во втором случае вместо одной ситуации мы видим целых три:

  • данность первого члена дизъюнкции утверждает принадлежность совокупности вещей обоих классов x и x', соответствует принципу сосуществования противоположностей и невыразима в булевой алгебре. Термин оказывается привходящим;

  • данность второго члена утверждает принадлежность совокупности только вещи x';

  • данность третьего члена утверждает пустоту совокупности и невозможность x как понятия;

В форме равенств это выглядит как

\neg (x = 1) = (x = \sigma) \lor (x = 0) \lor (x = \varkappa)

Результат справедлив в УО, но у него можно отсечь пустое значение, домножив на атрибут интуиционистского универсума и получить \neg (x = 1) = (x = \sigma) \lor (x = 0).

Важно подчеркнуть, что каждая из чётких совокупностей однокритериального универсума отображается на одно из 4-х состояний: 1,\ 0,\ \sigma,\ \varkappa. Здесь тоже вопросов не возникает. Интересное начинается с 2-х критериального универсума.

Рассмотрим отношение эквивалентности x = y. Как бы это нелепо ни звучало, выразим термин y через термин x методом Буля-Порецкого

xy \lor x'y' = 1 \\ xy' \lor x'y = 0 \\ y = 1x \lor 0x'

Объявим существование данного класса, а также несуществование членов, не входящих в СДНФ, и преобразуем в строгие совокупности

\bigvee (xy \lor x'y') \bigvee ' xy' \bigvee ' x'y = \\ \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y} \bigvee x'y'\ \ \ \lor \\ \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y \bigvee ' x'y'}\ \ \ \lor \\ \color{gray}{\bigvee ' xy \bigvee ' xy' \bigvee ' x'y} \bigvee x'y'\ \ \ \ \ \

Теперь попробуем отобразить решение y = 1x \lor 0x' на разные универсумы. Здесь их два:

  • Универсум Хризиппа-Буля: \ \ \ \ \ \ \ \ \ \ \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y \bigvee ' x'y'}\ \ \ \lor \\ \ \ \ \color{gray}{\bigvee ' xy \bigvee ' xy' \bigvee ' x'y} \bigvee x'y'

Тут начинаются различия с однокритериальным случаем. Находя в совокупностях пары \bigvee xy \color{gray}{\bigvee ' xy'} и \color{gray}{\bigvee ' x'y} \bigvee x'y', мы получаем случаи y = 1x и y = 0x'. Здесь важно отметить то, что находя пару \bigvee xy \color{gray}{\bigvee ' xy'}, мы в той же совокупности с необходимостью находим пару \color{gray}{\bigvee ' x'y \bigvee ' x'y'}. Но мы не трактуем её как y = \varkappa x', ведь в этом случае решение превратилось бы по закону поглощения в

y = 1x \lor (0 \lor \varkappa)x' = 1x \lor \varkappa x'

а это не соответствует изначальной взаимосвязи.

А есть ли варианты СДНФ, которые утилизируют все пары дизъюнктов в совокупности УБ?

Да, в 2-х терминном универсуме их всего 4. Это xy=1,\ xy'=1,\ x'y=1,\ x'y'=1. Например

xy = 1 \\ xy' \lor x'y \lor x'y' = 0 \\ y = 1x \lor \varkappa x'

что соответствует

\bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y \bigvee ' x'y'}

Но это решение целиком и полностью содержится в УБ. В универсуме Аристотеля не сформировалось ни одной совокупности.

  • Универсум Аристоеля: \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y} \bigvee x'y'

Здесь мы имеем замечательный результат. Одна единственная совокупность, подчинённая принципу Гераклита. В этом универсуме y = 1x и y = 0x' также отображаются в пары \bigvee xy \color{gray}{\bigvee ' xy'} и \color{gray}{\bigvee ' x'y} \bigvee x'y', только теперь обе содержатся в одной единственной совокупности. Отсюда можно предположить, что всё, что находится в совокупности, находящейся в УА, отображается в решении Буля-Порецкого.

Попробуем продолжить такое рассуждение. Починим наконец-то нашу многострадальную импликацию и сделаем из неё содержательное аристотелево следование. Попробуем применить метод Буля-Порецкого к СДНФ импликации и выразить термин y через x.

x \to y \\ xy \lor x'(y \lor y') = 1 \\ xy' = 0 \\ y = 1x \lor \sigma x'

В совокупностной форме:

\bigvee (xy \lor x'y \lor x'y') \bigvee ' xy' = \\ \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \bigvee x'y'\ \ \ \lor \\ \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y} \bigvee x'y'\ \ \ \lor \\ \color{gray}{\bigvee ' xy \bigvee ' xy'} \bigvee x'y \bigvee x'y'\ \ \ \lor \\ \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \color{gray}{\bigvee ' x'y'}\ \ \ \lor \\ \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y \bigvee ' x'y'}\ \ \ \lor \\ \color{gray}{\bigvee ' xy \bigvee ' xy'} \bigvee x'y \color{gray}{\bigvee ' x'y'}\ \ \ \lor \\ \color{gray}{\bigvee ' xy \bigvee ' xy' \bigvee ' x'y} \bigvee x'y'\ \ \ \ \ \

В УБ мы имеем три совокупности:

\bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y \bigvee ' x'y'}\ \ \ \lor \\ \color{gray}{\bigvee ' xy \bigvee ' xy'} \bigvee x'y \color{gray}{\bigvee ' x'y'}\ \ \ \lor \\ \color{gray}{\bigvee ' xy \bigvee ' xy' \bigvee ' x'y} \bigvee x'y'\ \ \ \ \ \

и три разные пары \bigvee xy \color{gray}{\bigvee ' xy'}, \bigvee x'y \color{gray}{\bigvee ' x'y'} и \color{gray}{\bigvee ' x'y} \bigvee x'y', которые соответствуют решениям y = 1x, y = 1 x' и y = 0 x'. Последние два равенства намекают что y = \sigma x'. Но в УБ мы такой результат получить не можем.

Содержательное аристотелево следование

Теперь немного отвлечёмся и подумаем, какие требования нужно предъявить к импликации, чтобы она стала содержательным следованием. Смотря на общее решение в совокупностной форме, мы видим, что должно быть необходимое несуществование вещи xy'. Но для следования этого явно мало. Требования можно сформулировать достаточно просто: пусть это будет материальная импликация, но без парадоксов.

В интенсиональном смысле:

  • определение понятия x содержит атрибут понятия y как член коньюнкции;

  • понятие x непротиворечиво;

  • понятие y нетавтологично;

В экстенсиональном смысле:

  • класс x содержится в классе y;

  • класс x не пуст;

  • класс y не универсум;

Первое есть ни что иное, как сама материальная импликация, которую мы расписали в совокупностной форме. А второе и третье - это простое подчинение атрибуту УА \bigvee x \bigvee x' \bigvee y \bigvee y'. Отфильтруем полученный выше класс совокупностей по этому атрибуту. Исчезнут потенциальные совокупности из УБ и смешанного универсумов. То, что остаётся, это

\bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \bigvee x'y'\ \ \ \lor \\ \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y} \bigvee x'y' =\ \\ = \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y' \ \ \ \ \ \

Что мы здесь видим? Член \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \bigvee x'y' является отображением решения y = 1x \lor \sigma x'. В первой и второй паре дизъюнктов видны 1x и \sigma x'. Это выражение материальной импликации в УА. Член \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y} \bigvee x'y', как было показано ранее, является эквивалентностью в УА. Т.е. следование - это класс совокупности, которая может оказаться либо импликацией, либо эквивалентностью.

Несоисключённость импликации и эквивалентности
Несоисключённость импликации и эквивалентности

Представьте ситуацию, что компьютер хочет вычислить выражение Сократ — Человек. У него в базе данных содержалось множество объектов, обладающих свойством Человек, среди них был один единственный объект, обладающий свойством Сократ. Если для вычисления он использует строгую импликацию \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \bigvee x'y', то получит правильный вывод: Сократ — Человек. Но случилась беда. После вычислений на Земле произошла катастрофа, все люди исчезли, выжил один Сократ. Компьютер обновляет данные, вносит уточнение, и член \bigvee x'y оказывается ложным и делает ложным всё выражение импликации. После обновления данных компьютер не может сделать вывод, что Сократ — Человек. Но это неверно. Даже то, что случилась катастрофа, и Сократ остался последним представителем своего вида, не должно влиять на результат следования. Член \bigvee x'y говорит о том, что существуют другие люди, помимо Сократа, и это соответствует левому объёму на рисунке. \bigvee ' x'y соответствует правому объёму. Необходимость \bigvee x'y обязывает существовать другим представителям человеческого рода. Необходимость \bigvee ' x'y вырождает выражение в эквивалентность. Но и в том и в другом случае следование обязано выполняться. И возможно такое лишь в совокупностной форме в УА.

Ну и минимальная форма данного атрибута:

\bigvee x \bigvee ' xy' \bigvee y'
Минимизация совокупностной формы

Помимо минимизации классов вещей и классов совокупностей как булевых выражений, можно производить минимизацию совокупностного атрибута. Например, в совокупности \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y' составляем пары, используя идемпотентность коньюнкции. Это будут \bigvee xy \color{gray}{\bigvee ' xy'} и \color{gray}{\bigvee ' xy'} \bigvee x'y'. В первой паре не существует вещь xy', но существует xy. Можно сделать предположение, что существует класс x, т.к. оба члена коньюнктивно содержат атрибут x. Но если при этом не существует вещь xy', то с необходимостью обязана существовать вещь xy, ведь класс x не пуст. Это мы и видим. Минимизируем:

\bigvee xy \color{gray}{\bigvee ' xy'} = \bigvee x \color{gray}{\bigvee ' xy'}

То же самое проделываем для второй пары. Предполагаем, что существует класс y'. Но т.к. вещи xy' не существует, с необходимостью должна существовать вещь x'y'. Это подтверждается. Следовательно, мы можем записать

\color{gray}{\bigvee ' xy'} \bigvee x'y' = \color{gray}{\bigvee ' xy'} \bigvee y'

Ну и конечная форма

\bigvee x \color{gray}{\bigvee ' xy'} \bigvee y'

Более наглядно такие операции показаны на диаграммах Кэрролла у Николая Петровича.

Именно поэтому в теории множеств нестрогое включение \subseteq более похоже на содержательное следование, а строгое \subset на импликацию. В строгом включении лишь обозначаются 3 потенциальные области, а в нестрогом видна их варьируемость, когда области X и Y могут быть эквивалентны.

Такое логическое следование теперь полностью избавлено от парадоксов или, как бы сказал Аристотель, избавлено от химер. Оно продолжает быть полностью контрапозитивным. Если для y' \to x' \iff y \lor x' составить СДНФ и совокупностную форму в УА, они будут выглядеть абсолютно идентично формам изначального следования x \to y.

Теперь мы можем понять, почему в булевой алгебре классов невыразимо естественно-языковое следование! В ней можно выразить привходимость атрибута, но не целой вещи. Для этого нужна множественность, а смысл булевой алгебры в единичности.

Булевы уравнения. Часть 2

Мы немного отвлеклись, поэтому вернёмся к уравнениям. У нас есть решение y = 1x \lor \sigma x'. Как мы можем его отобразить на нечёткую совокупность \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y'? В примере с эквивалентностью y = 1x \lor 0x' однозначно ложилась на совокупность \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y} \bigvee x'y' в универсуме Аристотеля. По этой логике y = 1x \lor \sigma x' чётко ложится на совокупность \bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \bigvee x'y', которая является выражением материальной импликации в универсуме Аристотеля (она же строгая импликация у Кэрролла и Лукасевича), но ни как не следованием. С другой стороны если для выражения y = 1x \lor 0x' мы получили одну единственнуйю чёткую совокупность и работали с этим, то для выражения y = 1x \lor \sigma x' мы имеем уже класс совокупностей

\bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \bigvee x'y'\ \ \ \lor \ \ \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y} \bigvee x'y'

В книгах нет объяснений, почему так происходит. Могу лишь предположить, что в универсуме Аристотеля привходящий y при x' это не вещь с неопознанным вторым параметром, а привходимость вещи x'y внутри самой совокупности. Почему именно x'y? Это будет казаться более логичным, если мы наоборот выразим термин x через термин y. Действительно

x \to y \\ (x \lor x')y \lor x'y' = 1 \\ xy' = 0 \\ x = \sigma y \lor 0y'

Член \sigma y уже выражается парой \bigvee xy \bigvee x'y. Но вещь x'y так и остаётся привходящей в УА. Она как бы агрегирует в себе все возможные сигмы в решениях булевых уравнениий для x \to y относительно всех терминов через остальные, коих здесь всего два.


Теперь разберёмся с нашим изначальным уравнением z = xy. Запишем его в совокупностной форме

\bigvee (xyz \lor xy'z' \lor x'yz' \lor x'y'z') \color{gray}{\bigvee ' xyz' \bigvee ' xy'z \bigvee ' x'yz \bigvee ' x'y'z}

Там образуется дизъюнкция 15-ти строгих совокупностей. А после усечения по универсуму Аристотеля выходит

\bigvee x \bigvee x' \bigvee y \bigvee y' \bigvee z \bigvee z'\ \ \ \ \land \\ (\bigvee xyz \bigvee xy'z' \bigvee x'yz' \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \bigvee xy'z' \bigvee x'yz' \color{gray}{\bigvee ' x'y'z'}\ \ \ \ \lor \\ \bigvee xyz \bigvee xy'z' \color{gray}{\bigvee ' x'yz'} \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \color{gray}{\bigvee ' xy'z'} \bigvee x'yz' \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \color{gray}{\bigvee ' xy'z' \bigvee ' x'yz'} \bigvee x'y'z')\ \ \ \land \\ \color{gray}{\bigvee ' xyz' \bigvee ' xy'z \bigvee ' x'yz \bigvee ' x'y'z}

Результат преинтереснейший. Пять строгих совокупностей. Пять различных ситуаций (сверху вниз):

  • Первая: y = 1xz \lor \sigma x'z' \lor \varkappa x'z \lor 0xz'

  • Вторая: y = 1xz \lor \color{gray}{1x'z'} \lor \varkappa x'z \lor 0xz'

  • Третья: y = 1xz \lor \color{gray}{0x'z'} \lor \varkappa x'z \lor 0xz'

  • Четвёртая: y = 1xz \lor \sigma x'z' \lor \varkappa x'z \lor \color{gray}{\varkappa xz'}

  • Пятая: y = 1xz \lor \color{gray}{0x'z'} \lor \varkappa x'z \lor \color{gray}{\varkappa xz'}

    (серым выделил отличия от первой ситуации)

Важно подчеркнуть! Эти ситуации создаются только для решения уравнения относительно термина y. Если мы захотим найти решение относительно термина x, то те же ситуации пойдут в порядке: первая, вторая, четвёртая, третья, пятая.

Первая совокупность чётко ложится на основное решение Буля-Порецкого. Вторая и третья ситуации в сочетании с первой дают привходимость вещи x'z'. Больше вопросов возникает про четвёртую и пятую совокупности. Какие взаимосвязи они могут представлять? В голову пришла идея рассмотреть изначальную данность других условий y = xz и x = yz и получить для каждого из них свои 5 совокупностей в УА, ведь совокупности, как таковые - это не решения булевых уравнений, а объявление взаимосвязей вещей и терминов. Идём по тем же шагам: расписываем СДНФ, объявляем его существование и несуществование членов, в него не входящих, фильтруем результат по УА.

Для данности y = xz это

(\bigvee xyz \bigvee xy'z' \bigvee x'y'z \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \bigvee xy'z' \bigvee x'y'z \color{gray}{\bigvee ' x'y'z'}\ \ \ \ \lor \\ \bigvee xyz \bigvee xy'z' \color{gray}{\bigvee ' x'y'z} \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \color{gray}{\bigvee ' xy'z'} \bigvee x'y'z \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \color{gray}{\bigvee ' xy'z' \bigvee ' x'y'z} \bigvee x'y'z')\ \ \ \land \\ \color{gray}{\bigvee ' xyz' \bigvee ' xy'z \bigvee ' x'yz \bigvee ' x'yz'}

Для данности x = yz это

(\bigvee xyz \bigvee x'yz' \bigvee x'y'z \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \bigvee x'yz' \bigvee x'y'z \color{gray}{\bigvee ' x'y'z'}\ \ \ \ \lor \\ \bigvee xyz \bigvee x'yz' \color{gray}{\bigvee ' x'y'z} \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \color{gray}{\bigvee ' x'yz'} \bigvee x'y'z \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \color{gray}{\bigvee ' x'yz' \bigvee ' x'y'z} \bigvee x'y'z')\ \ \ \land \\ \color{gray}{\bigvee ' xyz' \bigvee ' xy'z \bigvee ' x'yz \bigvee ' xy'z'}

Вырисовывается интересная картина. Если образовать коньюнкцию всех трёх случаев

(z = xy)(y = xz)(x = yz)

то результатом станет одна единственная совокупность

\bigvee xyz \bigvee x'y'z' \color{gray}{\bigvee ' x'yz' \bigvee ' x'y'z \bigvee ' xyz' \bigvee ' xy'z \bigvee ' x'yz \bigvee ' xy'z'}

Это пятая ситуация в каждом из 3-х уравнений.

Если мы мы образуем коньюнкцию только 2-х уравнений

(z = xy)(x = yz)

то результатом будет дизъюнкция 4-й и 5-й ситуаций

(\bigvee xyz \color{gray}{\bigvee ' xy'z'} \bigvee x'yz' \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \color{gray}{\bigvee ' xy'z' \bigvee ' x'yz'} \bigvee x'y'z')\ \ \ \land \\ \color{gray}{\bigvee ' xyz' \bigvee ' xy'z \bigvee ' x'yz \bigvee ' x'y'z}

Либо при

(z = xy)(y = xz)

это будет дизъюнкция 3-й и 5-й ситуации

(\bigvee xyz \bigvee xy'z' \color{gray}{\bigvee ' x'y'z} \bigvee x'y'z'\ \ \ \ \lor \\ \bigvee xyz \color{gray}{\bigvee ' xy'z' \bigvee ' x'yz'} \bigvee x'y'z')\ \ \ \land \\ \color{gray}{\bigvee ' xyz' \bigvee ' xy'z \bigvee ' x'yz \bigvee ' x'y'z}

Каким-то образом совокупностная характеристическая функция уравнения z = xy в универсуме Аристотеля, помимо привходимости некоторых вещей, автоматом учитывает и совместность с другими подобными уравнеиями x = yz и y = xz.

Минимальная форма совокупности будет выглядеть так

\bigvee xyz \bigvee (x'z' \lor y'z') \bigvee ' (x'z \lor y'z \lor xyz')

Опять же важно заметить. Если для выражения термина y через остальные достаточно сосуществования всех вещей, атрибуты которых участвуют в СДНФ

\bigvee xyz \bigvee xy'z' \bigvee x'yz' \bigvee x'y'z'

(идёт чёткое отображение на решение Буля-Порецкого), то полное же совокупностное решение содержит гораздо больше смысловых взаимосвязей наподобие того, как мы это увидели в примере с теоретико-множественными операциями. Если переводить минимальную форму на естественный язык, то звучит она так:

"Существует квадрат, который равносторонний и с прямыми углами. Существует не квадрат, который непрямоугольный или неравносторонний. Не существует квадрат непрямоугольный или неравносторонний, или не квадрат, который прямоугольный и равносторонний".

Итоги

Знаю, все любят короткие и лаконичные статьи. Но из песни слов не выкинешь. Поэтому надеюсь, что связанность повествования искупила её длину. Да, в отличии от разжёвывания импликации и её парадоксов, тема парадоксов теории множеств была затронута мной лишь вскользь. Но в книгах осталось ещё много нераскрытых здесь тем. Это и диаграммы Кэрролла, и логический квадрат, который на самом деле куб, и про успешную выразимость модальностей в алгебре совокупностей. Получился своего рода тот самый конспект по страницам всех трёх книг, который может написать каждый, и добавить что-то от себя.

Любой любознательный школьник, изучивший на уроках по математике сложение, умножение и возведение в степень, может задать вопрос: а существуют ли операции после возведения в степень? Тот же вопрос можно задать алгебере совокупностей. Не смотря на отсутствие в ней бесконечных множеств, она по сути бесконечно расширяема. Алгебра не ограничивается вторым уровнем совокупностей. Подобно тому, как после возведения в степень существует тетрация и другие гипероперации, уровни совокупностей могут быть выше второй. Аргументами дизъюнктов могут быть строгие и нестрогие совокупности второго уровня. Например:

\bigvee (\bigvee xy \color{gray}{\bigvee ' xy'} \bigvee x'y \bigvee x'y'\ \ \lor\ \ \bigvee xy \color{gray}{\bigvee ' xy' \bigvee ' x'y} \bigvee x'y')

Это нечёткая неиндивидная совокупность третьего уровня, где индивыдами выступают 16 чётких совокупностей 2-го уровня. Да, объём памяти под совокупность каждого следующего уровня растёт как степенная башня двойки. Но, во-первых, трудно представить, что описывает логика более высоких уровней совокупностей, во-вторых, логика второго уровня на столько разнообразна по сравнению со скудной булевой алгеброй, что её потенциал ещё до конца не раскрыт.

Булевы уравнения являются прикладным аспектом алгебры совокупностей. Но наиболее важная и нужная прикладная область - это компьютеризация аристотелевой силогистики, которую за пару последних веков (вот же удивительно, но на самом деле нет) так и не смогли нормально формализовать.

Почему это важно? Сейчас на острие мэйнстрима активно развиваются системы автоматического доказательства. Но вряд хотя бы одна из них может похвастаться тем, что целиком и полностью работает в универсуме Аристотеля и соблюдает принцип сосуществования противоположностей. Я специально не касался силогистики, потому что это широкая тема для отдельной большой статьи, которую планирую написать по трудам Николая Петровича.

Небольшой спойлер

Содержательное аристотелево следование \bigvee x \bigvee ' xy' \bigvee y' является ни чем иным, как общеутвердительным суждением силогистики Axy.

Очень жалко, что с 2014 года невозможно задать многие интересующие вопросы Николаю Петровичу лично. Но его наследие живо.

Поэтому выражаю огромную благодарность Владимировой Юлии Сергеевне, кандидату физ.-мат. наук и старшему научному сотруднику "Лаборатории дискретных управляющих систем и приложений" в МГУ за помощь и ответы на вопросы касательно алгебры совокупностей. Также благодарю за неоспоримый вклад в поддержку и развитие идей Николая Петровича Брусенцова.

Также много интересных материалов можно найти на сайте в разделе "Троичная логика".

Всем приятного чтения книг!

Теги:
Хабы:
Всего голосов 19: ↑18 и ↓1+22
Комментарии31

Публикации

Истории

Ближайшие события