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

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

  • Брусенцов Н.П. Начала информатики, 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' теория Заде неспособна. Для этого потребовался бы целый зоопарк функций принадлежности, зависящих друг от друга.

Если подойти более детально к трактовке таких совокупностей, то, они очень похожи на Кота Шрёдингера. Например, совокупность \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'zy является невозможным как понятие.

Полное решение можно записать как 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 = 0x' и y = 1x'. Последние два равенства намекают что 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 через x достаточно сосуществования всех вещей, атрибуты которых участвуют в СДНФ

\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 года невозможно задать многие интересующие вопросы Николаю Петровичу лично. Но его наследие живо.

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

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

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

Комментарии (24)


  1. Dr_Faksov
    16.11.2023 03:22
    +1

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

    А в мемуарах прямо написано что машину такой делали от нищеты, на свой страх и риск. В СССР не хватало транзисторов. Всё более-менее высокочастотное\скоростное забирала армия. То, что оставалось в прямом смысле поштучно распределялось по предприятиям. И хорошо если рабочий диапазон этих остатков выходил за пределы ультразвука

    Стояла задача - сделать недорогую производительную машину для народного хозяйства. С минимальным количеством транзисторов.

    И её создатели ухитрились создать связку АЛУ-память на диодах и ферритовых кольцах. Именно от колец и пошла троичная система. Поскольку кольцо может быть намагничено в двух полярностях или размагничено. Три состояния.

    К стати, последний раз я ферритовую память в СССР видел на плате изготовленной году в 85-м. Работала она со 155-й TTL логикой. Диодную матрицу размером примерно 20х20 я долгие годы использовал как "бесконечный" источник маломощных диодов. Сколько времени заняло изготовление этой платы мне даже страшно представить.


  1. itHauntsMe
    16.11.2023 03:22
    +2

    Спасибо, труд фундаментальный. Что думаете про теорию категорий?


  1. memeko
    16.11.2023 03:22
    +2

    Спасибо большое за статью и за то, что собрали основные положения в одном месте! Всегда в своих лекциях студентам и школьникам упоминаю Николая Петровича и его творение "Сетунь". Обязательно вашу статью сохраню для ознакомления наиболее активным студентам.


  1. vesper-bot
    16.11.2023 03:22
    +1

    В сущности, вся теория сводится к внедрению в стандартную двоичную логику термина "ХЗ" в виде сигмы, который появляется в случаях 0=>ХЗ и ХЗ=>1. Для этого зачем-то взгромоздили классы с атрибутами и неизвестной пустотой, из-за которой этот самый ХЗ и всплыл. Сама идея, кажется, позволяет писать на ней алгоритмы SAT в виде "начнем со всех ХЗ и начнем строить дизъюнкты по имеющимся условиям, определяя значения переменных", но де-факто разве не так ли они работают на булевой алгебре без всякого третьего состояния?


    1. Exilon Автор
      16.11.2023 03:22
      +1

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


  1. murkin-kot
    16.11.2023 03:22
    -2

    Труд при написании статьи затрачен большой, но, к сожалению, неоправданный.

    Всё начинается с нестрогого заявления:

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

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

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

    Математически строгая теория не предполагает внешних по отношении к ней сущностей, но автору текста потребовались примеры и фразы вроде "Если мы провозгласим данность атрибута", что бы ввести эти самые сущности, которые в теории никак не объявлены. Поэтому результат получился математически не строгим, что означает возможность введения произвольных дополнительных определений, условий, ограничений и т.д. Но если мы вводим дополнения, то нет причин для того, что бы мы не могли получить новую теорию, с выводами, отличающимися от старой. А это называется "противоречивая теория". Математики давно столкнулись с такими явлениями и абсолютно логично решили их исключить из-за возможности вывести всё, что угодно, например одновременно 2=2 и 2!=2.

    Далее в тексте выдвигаются претензии к операции импликации:

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

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

    И делается вывод:

    Другими словами, истинное следует из чего-угодно, из ложного следует что-угодно

    Да, если мы постфактум вводим в теорию рассуждения про "что угодно", то вполне возможно, из этого "угодно" следует ещё какое-то "что угодно", но общепринятая математика так не работает.

    Нормальная математика вводит набор аксиом и набор операций. После этого момента ничего более не добавляется. Именно поэтому таблицы истинности верны в рамках введённого набора аксиом. В частности, аксиомы не требуют от нас обязательного следования Y только из X. Поэтому в таблице истинности мы видим значение 1 для Y при значении 0 для X. То есть теория не знает, только ли при X Y становится истинным. Теория допускает, что при X=0 Y тоже может быть истинным, но по каким-то другим причинам.

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

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

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

    объявить некую структуру, которая не может быть подмножеством чего-либо - шаг хороший, но скорее искусственный, чем содержательный, ведь, у того же Аристотеля не было понятие класса

    То есть автор ссылается на авторитет Аристотеля (понятия не имевшего о современном уровне математики), что бы доказать неверность некоего объявления. Является ли такое "доказательство" строгим? Нет, это просто произвольные заявления, подкрепляемые "авторитетом", пусть неглупого, но ничего не знающего про обсуждаемую тему человека.

    Ну и финальный аккорд:

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

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

    Это требования к новой теории. Обратим внимание - "естественно-языковой смысл" - что это? Очередное обращение к авторитету Аристотеля?

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


    1. Exilon Автор
      16.11.2023 03:22

      Математически строгая теория не предполагает внешних по отношении к ней сущностей

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

      Да, если мы постфактум вводим в теорию рассуждения про "что угодно", то вполне возможно, из этого "угодно" следует ещё какое-то "что угодно", но общепринятая математика так не работает

      Конечно, не работает. Ни кто в здравом уме не будет в своих рассуждения использовать парадоксы только потому, что они верны в некой системе аксиом. Вы мне пытаетесь доказать, что "если снег белый, то дважды два равно 4 и дважды два не равно 4". Импликация - это просто одна из 16-ти булевых функций, не более. Не нужно использовать для рассуждения инструмент, для этого не предназначенный.

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

      Описанная вами строгость - это формализм возведённый в культ. Алгебра совокупностей непротиворечива внутри общего универсума.


      1. murkin-kot
        16.11.2023 03:22

        Описанная вами строгость - это формализм возведённый в культ

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

        Булевы связки целиком и полностью естественно-языковые

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


      1. Zenitchik
        16.11.2023 03:22

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

        Например, если мы имеем идеальные грабли, то:

        Я наступил на грабли IMP Я получил по лбу = верно, в следствие идеальности граблей.

        Я наступил на грабли IMP Я не получил по лбу = неверно, противоречит идеальности граблей.

        Я не наступал на грабли IMP Я получил по лбу = верно, я получил по лбу не граблями и по другой причине.

        Я не наступал на грабли IMP Я не получил по лбу = верно, в этом нет ничего удивительного.

        Описанная вами строгость - это формализм возведённый в культ

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


        1. Exilon Автор
          16.11.2023 03:22

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

          Импликация означает, что её левый операнд является достаточным условием правого операнда, но не является необходимым.

          Да, всё верно. Левый операнд - достаточное условие для правого, правый - необходимое условие для левого.

          Я не наступал на грабли IMP Я получил по лбу = верно, я получил по лбу не граблями и по другой причине.

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


          1. Zenitchik
            16.11.2023 03:22

            А вот в 3-ем случае ни какой необходимости нет. 

            Вот именно! И на отсутствие такой необходимости указывает 4 случай. Всё чётко, никакой ошибки.

            Результат импликации - это признак правдоподобности, что после A наступило B.


            1. Exilon Автор
              16.11.2023 03:22

              импликации - это признак правдоподобности

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

              1. Если вы наступили на грабли, вы неизбежно получили по лбу.

              2. Если вы не наступили на грабли, вы точно не получили по лбу.

              3. Не может быть так, что вы наступили на грабли, но не получили по лбу.

              4. Неизвестно, почему вы получили по лбу, если не насупили на грабли.

              4 ситуации. Ситуация неизбежна в первых трёх случаях. Только в 4-й она потенциальна, необходимости в ней нет.


              1. Zenitchik
                16.11.2023 03:22

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


                Таблица истинности импликации показывает, бывает или не бывает такое сочетание A и B.


                1. Exilon Автор
                  16.11.2023 03:22

                  Чтобы получить по лбу, не обязательно наступать на грабли. Существует бесконечно много других возможных источников удара в лоб.

                  Да, всё верно. Мы действительно говорим об одном и том же.

                  Импликация - не потенциальное следование. А достаточное, но не необходимое следование.

                  А вот это не совсем так. Здесь только посылка A - достаточное условие для следствия B. А вот значение самого следования в таблице истинности, равное 1 - это необходимое выполнение этого следования с достаточностью A для B. Но в импликации это не так. Там равенство импликации единице - это именно что "бывает или не бывает такое сочетание A и B".

                  Просто не знаю, какие ещё аналогии привести.


    1. Exilon Автор
      16.11.2023 03:22

      Поэтому в таблице истинности мы видим значение 1 для Y при значении 0 для X. То есть теория не знает, только ли при X Y становится истинным. Теория допускает, что при X=0 Y тоже может быть истинным, но по каким-то другим причинам.

      Вот здесь абсолютно верно. Ключевое слово "может быть истинным". А может и не быть. Мы этого не знаем. Нет необходимости ни в истинности, ни в ложности.

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

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


      1. murkin-kot
        16.11.2023 03:22

        Нет необходимости ни в истинности, ни в ложности

        Да, если вы ввели троичную логику, то понятно, что ответ "может быть" вроде бы ложится в ваше построение. Но вы же в статье утверждаете, что импликация вносит противоречия, но как раз противоречий никаких нет - это одна из таблиц истинности, где нет возможности для "может быть", поэтому и результат при X=0 будет 1, но не 0, ведь если нет причины X, то нет гарантий, что не существует причины Z.

        Итог - вы, ссылаясь на якобы противоречие, обосновываете необходимость новой системы. Но противоречия нет. Вывод - необходимость новой системы не обоснована.

        Мало того, использованные вами отсылки к авторитету вообще никто из математиков никогда не признает доказательством.

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

        Потому что все явления мира вполне прилично описываются в рамках бинарной логики. При этом в частных случаях возникает некоторая избыточность, которую вы и пытаетесь неявно привести в качестве одной из причин (а явно её пришлось озвучить мне). Но проблема в том, что в любой логике для полноценного описания мира всегда потребуется что-то избыточное. Например: при X=0 Y может быть, а может и не быть равен 1. В бинарной логике мы вводим дополнительную переменную и обозначаем ею признак "точно известно или неизвестно". Да, получаем два бита с 4-мя значениями на 3 возможных варианта, но для других ситуаций точно так же получите, например, три троичных бита для описания значения от 0 до 9 (перевод в десятичную систему), и в этом случае избыточность будет гораздо больше, нежели в двоичной логике.

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

        Но главное - строгость доказательств. Её у вас нет. Ссылки на авторитет и некий "смысл" - это от лукавого, это не математика.


        1. Exilon Автор
          16.11.2023 03:22

          поэтому и результат при X=0 будет 1, но не 0, ведь если нет причины X, то нет гарантий, что не существует причины Z

          Верно. Нет гарантий, что не существует причины Z, и нету гарантий, что причина для Z есть. Но таблица истинности категорично утверждает, что причина точно найдётся, и не важно, какая. И если категоричность для (X=1, Z=1) и (X=0, Z=0) абсолютно оправданны (как и 0 для X=1 и Z=0), то необходимость (X=0, Z=1) для вывода следствия просто бессмысленна. И про импликацию я не утверждал, что она противоречива. Она парадоксальна.

          Да, получаем два бита с 4-мя значениями на 3 возможных варианта, но для других ситуаций точно так же получите, например, три троичных бита для описания значения от 0 до 9

          Тоже верно. Моделирование троичности 2-мя битами имеет свои издержки. Но если троичность нам именно понадобилось, а железная реализация только двоичная, то зачем нам в тоичной реализации двумя тритами моделировать 9 состояний? Откуда вообще возникнет нужда в 9-ти состояниях? Если нужно промоделировать 4 состояния, то, да потребуется 2 трита, но каждое третье переключение можно сделать двойным, и это будет отличной эмуляцией двоичного железа.

          Зачем же понадобилась сама троичная логика? Для сокращённых форм. Для явного выражения привходимости вещи в множестве. Для того, чтобы компьютерная логика не была островом Рыцарей и Лжецов, который не адекватен реальности.


          1. murkin-kot
            16.11.2023 03:22

            Но таблица истинности категорично утверждает, что причина точно найдётся, и не важно, какая

            Таблица истинности утверждает лишь то, что в ней написано. Всё остальное - ваше домысливание.

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

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

            Зачем же понадобилась сама троичная логика? Для сокращённых форм. Для
            явного выражения привходимости вещи в множестве. Для того, чтобы
            компьютерная логика не была островом Рыцарей и Лжецов, который не
            адекватен реальности.

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


            1. Exilon Автор
              16.11.2023 03:22

              Хорошо. Быть может я не до конца понимаю ту самую математическую строгость, о которой вы говорите, и которой не хватает в статье. Правильно ли я понимаю, что строгость на нужна для верифицируемости математических выражений в рамках некой теории? Т.е. проверка корректности синтаксиса формулы внутри данной теории. Или не так?

              К тому же, есть же в математике, такой подход к верифицируемости, как конструктивизм. Что-то существует только тогда, когда у нас есть способ это сгенерировать неограниченное число раз. Алгебра совокупностей имеет физическое воплощение в виде Урны Лукасевича. Это мешок вместимостью 2^n вещей. Отличимость вещей друг от друга строго определена. Описание одной вещи всегда однозначно. Нет ни каких различных толкований и объектов внешних по отношению к этому мешку. Неужели такой строгости недостаточно?

               Если вы подумаете и поставите другой набор значений, то от реальности ваши значения буду ещё дальше.

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


  1. FadeToBlack
    16.11.2023 03:22

    Начав читать, я загорелся идеей начать разбираться и понимать. Но после вот этого я это понимать... не понимаю...

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

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

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

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

    Разве логика не должна быть логичной? Объясните, пожалуйста, как понимать эти высказывания, мне они не кажутся логичными, по крайней мере, в такой формулировке. Как простому человеку их понять?


    1. vesper-bot
      16.11.2023 03:22

      Хм. Возможно тут не совсем корректная формулировка. В этом месте делается вывод о наличии признака "имеет прямые углы" по двум заданным признакам "это квадрат" и "это равносторонняя фигура". Если оба заданных признака имеются, то прямые углы у фигуры есть (или "у всех фигур", так как речь здесь о множестве, сгруппированном по признакам), если признака "квадрат" нет, а "равносторонняя фигура" есть, то прямых углов у неё нет. Если обоих признаков нет, то мы не можем сказать ничего о том, имеет ли фигура прямые углы, а если это квадрат, но стороны у него неравные, имеем невозможность (пустое множество), для которого понятие "иметь прямые углы" неприменимо или не определено.


    1. Exilon Автор
      16.11.2023 03:22

      Да, на этот вопрос уже хорошо ответил @vesper-bot. Тут дело в том, что каждый из признаков в уравнения не самостоятелен, и проявляется только в связке с остальными. Это мы сейчас подкованные в геометрии наперёд знаем, какая прямоугольность может быть в каких многогранниках. А конкретно в этом уравнении не существует многогранников и вообще фигур как таковых. Даже квадрат здесь - это просто признак, не несущий информации о геометрии, евклидовости и других вещах, которые есть у нас в голове. Существует только связанность трёх терминов в универсуме. Эти 4 вывода можно сделать об одном термине через остальные.


  1. KvanTTT
    16.11.2023 03:22

    На протяжении статьи галочек становится все больше и больше.


    1. vesper-bot
      16.11.2023 03:22

      Это третий этап развития математики - операторы и буквы. Дальше останутся только галки, и вот там начинается самое весёлое.