Логика без имени

Логика без имени

Почти две с половиной тысячи лет назад Аристотель положил начало науке логике, сформулировав три закона: тождества, противоречия и исключенного третьего. Закон тождества (кратко А=А) гласит, что всякая мысль (назовем ее А) в процессе рассуждения должна быть тождественна самой себе и не должна меняться в процессе рассуждения. Закон противоречия (А и не А — ложь) запрещает двум противоречивым суждениям быть одновременно истинными. Закон исключенного третьего (А или не А — истина) говорит, что всегда верно суждение или его отрицание.

Продемонстрируем суть трех законов логики на примере кода на языке программирования С. Символ А — это имя, присвоенное переменной типа bool (логическая единица), которая принимает значения 0 (ложь) или 1 (истина). Закон тождества (А=А) гласит, что, если логической переменной А присвоено определенное значение (0 или 1), то это значение должно сохраняться постоянным на протяжении всего использования его в математическом выражении. Например, в коде

bool A = 1;

bool B = 0;

bool C = (A && B) || A;

в последней строке переменная A в начале и в конце выражения должна сохранять постоянное значение равное 1, которое было присвоено в первой строке. Закон противоречия (А и не А — ложь) говорит о том, что переменная A не может одновременно принимать значения 0 и 1. Закон исключенного третьего (А или не А — истина) утверждает, что A может принимать значение либо 0 либо 1 и третьего не дано. Сегодня эти три закона нам кажутся очевидными, потому что мы усвоили их с детства. Однако во времена Аристотеля их необходимо было сформулировать для борьбы с софистами, у которых слово “язык” в начале рассуждения могло обозначать “язык общения”, а в конце — “говяжий язык”.

Аристотель в своем сборнике “Метафизика” следующим образом формулирует первый закон логики “… в самом деле, не означать что‑то одно – значит ничего не означать; если же слова ничего [определенного] не обозначают, то конец всякому рассуждению за и против, а в действительности – и в свою защиту, ибо невозможно что‑либо мыслить, если не мыслят что‑то одно; а если мыслить что‑то одно возможно, то для него можно будет подобрать одно имя.” [Метафизика / Аристотель: Эксмо; Москва; 2015 книга 4 глава 4 ISBN 978 5 699 75180 8]. В этой цитате “мыслить что то одно” — это логическая единица в нашей терминологии (переменная типа bool в примере выше). Логическая единица — это понятие, суждение или мысль, которое рассматривается как единое целое. В результате присвоения имени внутренняя структура логической единицы игнорируются. Очевидно, что в реальной жизни логическая единица может иметь много частей, соединенные сложной структурой. В этой статье мы описываем логику, в которой фокус делается на внутреннюю структуру и части логической единицы. Мы назвали ее “Безымянная логика”, потому что отказ от имени позволяет глубже понять свойства логической единицы.

Свойство изменчивости логической единицы

Для начала опишем свойство логической единицы меняться в процессе рассуждения. Свойство изменчивости означает, что в рассуждении логическая единица может меняться: у нее могут меняться части и ее структура. Аристотель в первом законе логики ввел запрет на изменения для того, чтобы избежать подмены понятий. Однако, в общем случае логическая единица может меняться. 

Свойство делимость логической единицы

Схематично обозначим логическую единицу окружностью как показано на рисунке 1а и назовем его “единое”. Логическую единицу, содержащую части и внутреннюю структуру будем также изображать окружностью с четырьмя сегментами как показано на рисунке 1б. Назовем ее “многое”. Это одна и та же логическая единица только в первом случае мы фокусируемся на ее целостности, а во втором случае — на ее внутренней структуре и частях. Следует различать форму “многое” от “множества”. Первое — это количество частей целого, второе — это набор логических единиц, объединенных по некоторому признаку.  Логика Аристотеля оперирует логической единицей формы “единое”, безымянная логика оперирует формой “многое”.

Рисунок 1. Форма “единое” (а) и форма “многое” (б) логической единицы.

Свойство бинарности логической единицы

Логическая единица формы “единое” может принимать два значение. Здесь важно не то какие значения принимает логическая единица, а то, что этих значений два. Эти значения могут быть ноль и единица, черное и белое, истина и ложь, присутствие и отсутствие (информации), любые другие бинарные значения. Свойство логической единицы принимать одно из двух значений будем называть бинарностью. Схематически будем изображать одно значение плюсом (“+”), а второе — минусом (“-”) как показано на рисунке 2а. Соответственно для формы “многое” каждая часть может принимать одно из двух значений: плюс или минус как показано на рисунке 2б. На рисунке 2б показано, что информация о трех из четырех частей известна, а для четвертой части объекта информация отсутствует. В этом случае мы будем говорить, что логическая единица имеет две бинарности (плюс и минус) одновременно. Знаки плюс и минус за пределом границы логической единицы относятся к  универсуму (всему, что не относится к логической единице).

Рисунок 2. Бинарности логической единицы для формы “единое” (а) и формы “многое” (б) логической единицы
Рисунок 2. Бинарности логической единицы для формы “единое” (а) и формы “многое” (б) логической единицы

Понимание и непонимание логической единицы

Человек на интуитивном уровне может оценить понимает или не понимает он что-либо (логическую единицу). Здесь мы введем строгое определение “понимания” и “не понимания”. В случае, если логическая единица известна (рисунок 2а) или известны все ее части, то она доступна для понимания. Словосочетание “доступна для понимания” означает, что существует граница, которая позволяет отделить логическую единицу или все ее части от всего остального универсума. Такую логическую единицу будем называть целостной потому, что все ее части и способ их объединения целиком известен. В случае, если часть логической единицы неизвестна, то она не может быть доступна для понимания (Рисунок 2б). В этом случае четкая граница между логической единицей и универсумом отсутствует. Такую логическую единицу будем называть нецелостной потому, что не все ее части целиком известны.

Применение операции отрицания к бинарности меняет ее знак на противоположный. На рисунке 3а показана логическая единица с двумя бинарностями. Применение операции отрицания меняет знак каждой части на противоположный как показано на рисунке 3б. Операция отрицания применяется как к логической единице так и к универсуму, поэтому знаки за границей логической единицы также меняется.

Рисунок 3. Применение операции отрицания к логической единице. Логическая единица до применения операции отрицания показана на рисунке а и после - на рисунке б. 
Рисунок 3. Применение операции отрицания к логической единице. Логическая единица до применения операции отрицания показана на рисунке а и после — на рисунке б. 

Пример логической единицы

Продемонстрируем вышеописанную теорию на примере представления десятичного числа 1 в виде двоичного кода записанного в 8 битах. Как показано на рисунке 4 число 1 это форма “единое”, а представление его в двоичном виде — это форма “многое”, состоящее из восьми частей (восьми бит). Для формы “единое” логическая единица известна (потому, что мы ее задали). Ее можно отделить от всего остального универсума. Универсум в данном случае это все множество чисел от минус бесконечности до плюс бесконечности. Отделить от всего остально универсума здесь означает, что мысленно мы можем отделить число 1 от всех остальных чисел. Для формы “многое” логическая единица здесь также доступна для понимания потому, что мы можем как и в случае с формой “единое” отделить этот байт от множества остальных байтов. Коротоко говоря, в этом примере мы понимаем что стоит за формой “единое” и формой “многое” этой логической единицы.

Рисунок 4. Форма  “единое” и форма “многое” для цифры один.
Рисунок 4. Форма  “единое” и форма “многое” для цифры один.

Теперь рассмотрим пример, когда информация о, например, предпоследнем бите отсутствует как показано на Рисунке 5 (знак вопроса в предпоследнем бите). В этом случае логическая единица содержит одновременно две бинарности (плюс и минус) и не доступна для понимания так как мы не можем однозначно отделить ее от других чисел. Здесь вместо знака вопроса может стоять одно из двух значений: 0 или 1. Таким образом эта логическая единица может быть записью числа 1 или числа 3. Это означает, что у нас нет однозначного понимания что это за число и мы не можем отделить одно число (логическую единицу) от остальных чисел.

Рисунок 5. Наличие двух бинарности в логической единице приводит к отсутствию ее целостности, однозначности и, соответсвенно, понимания
Рисунок 5. Наличие двух бинарности в логической единице приводит к отсутствию ее целостности, однозначности и, соответсвенно, понимания

Формула для формы “многое”

Логическая единица в форме “многое” может иметь восемь возможных состояний. Каждое из восьми состояний будем записывать тремя линиями (триграмма), где первая и третья линии соответствуют бинарности (плюс – сплошная, минус – прерывистая). Стоит отметить, что каждую логическую единицу можно условно разделить минимум на две части. Первой части соответствует первая линия а второй части соответствует третья линия. Средняя линия – это логический союз “И” (сплошная) либо “ИЛИ” (прерывистая). Логический союз “И” означает, что нам доступна информация о том как все части логической единицы объединены между собой. То есть известна структура логической единицы. Союз “ИЛИ” означает, что такая информация отсутствует.

Например, в случае, когда все части логической единицы известны (крайние линии сплошные) и известно как эти части объединены (средняя линия сплошная), то триграмма записывается в виде трех сплошных линий как показано на рисунке 6.

Рисунок 6. Пример одной из восьми триграмм для целостной логической единицы доступной для понимания.
Рисунок 6. Пример одной из восьми триграмм для целостной логической единицы доступной для понимания.

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

Рисунок 7. Пример одной из восьми триграмм для нецелостной логической единицы недоступной для понимания.
Рисунок 7. Пример одной из восьми триграмм для нецелостной логической единицы недоступной для понимания.

И-Цзин – это формула универсального формально-логического закона, которая описывает восемь состояний целостности и нецелостности логической единицы для формы «многое» (рисунок 8). Далее используем следующие соответствия для каждой триграммы (начиная с верхней триграммы рисунка 8 и двигаясь по часовой стрелке): |||, :|:,|::, ::|, :||, |:|, :::,||:. Здесь символ “|” соответствует сплошной линии, а символ “:” соответствует прерывистой линии. 

Рисунок 8. Формула И-Цзин описывающая восемь состояний логической единицы. Символ “Инь/Янь” означает единство делимости, бинарности и изменчивости - свойств логической единицы.
Рисунок 8. Формула И-Цзин описывающая восемь состояний логической единицы. Символ “Инь/Янь” означает единство делимости, бинарности и изменчивости — свойств логической единицы.

елостная логическая единица имеет четыре возможные состояния: |||, :::, |:|, :|: . Эти состояния имеют одну бинарность (крайние линии одинаковые). Состояние ::: получается из состояния ||| путем применения к логической единице операции отрицания. Также состояние |:| получается из состояния :|: путем применения к логической единице операции отрицания. Целостная логическая единица имеет четкую границу, отделяющую все ее части от универсума, и доступна для понимания. 

Нецелостная логическая единица имеет оставшиеся четыре возможные состояния: ||:, ::|, :|| ,|:: . Эти формы имеют две бинарности (крайние линии отличаются). Состояние ||: переходит в  ::| а состояние :|| переходит в |:: путем применения операции отрицания. У нецелостной логической единицы отсутствует четкая граница, отделяющая все ее части от универсума и она недоступна для понимания. 

Вышеописанные переходы между состояниями логической единицы посредством применения операции отрицания формально полностью соответствуют законам де Моргана:

¬(a ∧ b) = ¬a ∨ ¬b               ¬(a ∨ b) = ¬a ∧ ¬b

В первом уравнении выражение в скобках (a и b) соответствует логической единице формы “многое”, где “a” — одна часть логической единицы, а “b” — вторая часть логической единицы (логическую единицу минимально можно разделить на две части). Допустим, часть “a” известна (знак плюс) и часть “b” — известна (знак плюс) а также известна структруа, которая объединяет эти части (союз и). Такая логическая единица обозначается триграммой |||. Применение операции отрицания в первом уравнении приводит к тому, что “a” и “b” меняют знак, а союз “и” меняется на союз “или”. Таким образом триграмма ||| переходит в триграмму :::. Такое же правило работает и для оставшихся семи триграмм.  

Исполнение компьютерных программ — это процесс оперирования логическими единицами. Компьютерный процессор может оперировать только с целостными логическими единицами, в которых присутствует одна бинарность. Для таких логических единиц информация о всех ее частях и способ их объединения доступны. Возникновение нецелостной единицы (рисунок 5) в процессе исполнения машинного кода — это внештатная ситуация приводящая к аварийной остановке выполнения программы. В самом деле, если в переданном процессору байте неизвестен один бит, например, из-за неисправности шины, то у процессора отсутствует возможность установить точное содержимое байта.

Процесс отладки компьютерной программы — это процесс приведения каждой нецелостной логической единицы в коде к целостной логической единице. В качестве логической единицы может выступать объект какого-либо класса, функция либо блок кода. Представим, что мы создаем объект класса “автомобиль”. В этом объекте должен быть двигатель внутреннего сгорания, стартер для завода двигателя, колеса, кузов и тд. Допустим при написании кода мы забыли прописать функцию “старт двигателя” (или по ошибке определили функцию в другой области видимости). Мы тем самым создали нецелостную логическую единицу, у которой отсутствует одна часть. Так как компьютер может работать только с целостными логическими единицами, то эта ошибка будет обнаружена либо компилятором, либо на этапе исполнения программы. 

Человеческий мозг оперирует как целостными так и нецелостными логическими единицами. Язык человека — это набор имен каждое из которых соответствует своей логической единице. Отличее от компьютера в том, что человек может присваивать имя логической единице (суждению, понятию или мысли), которая до конца ему не понятна. Такая единица нецелостна (единица с двумя бинарности) так как для некотрой ее части информация отсутствует. Это приводит к тому, что два человека могут по разному понимать суть (многое) стоящую за одним именем. Например, можно присвоить имя А байту с одним неизвестным битом, который изображен на рисунке 5. Для одного человека А будет соответствовать цифре 1, а для другого — цифре 3. Они будут оперировать одним именем вкладывая в них разное содержание.

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

Пример из экономики

Недавно сильно повысились цены на куриное яйцо. Одни говорили, что причина в ухудшении качества жизни россиян (стали меньше потреблять мяса и переключились на потребление яйца), вторые говорили, что причина в улучшения качества жизни россиян (стали больше потреблять яйца), третьи говорили, что причина в удорожании средств производства (из-за курсовой разницы рубль-доллар себестоимость производства яйца увеличилась), четвертые — в монополизации рынка, пятые — в присоединении к России новых регионов и увеличении потребления яйца. Здесь мы видим яркий пример логической единицы с двумя бинарностями. В ней отсутствует часть (информации), что приводит к множеству мнений касательно одного и того же вопроса. Это означает, что суть повышения цен на куриное яйцо для всех нас так и осталась неясной.

Пример из криминалистики 

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

Пример и геометрии

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

Пример из астрономии и физики

Научное познание — это процесс приведение нецелостной логической единицы с двумя бинарностями к целостной с одной бинарностью. Продемонстрируем это на примере открытия закона всемирного тяготения. Коперник в 16-ом веке установил, что все планеты вместе с землей ходят вокруг солнца. Возник вопрос как именно планеты ходят вокруг солнца: по кругу или по какой-либо другой кривой, как быстро они движутся и тд. Астроном Тихо Браге в том же веке построил первую в Европе обсерваторию и начал следить за тем где на небе движутся планеты. После того как все эти данные были собраны они попали в руки Кеплера, который, проанализировав их установил, что 1) планеты движутся вокруг солнца по эллипсу и солнце находится в одном из фокусов эллипса, 2) планета движется быстрее, когда она ближе к солнцу и медленнее, когда она далеко от него и 3) время полного оборота вокруг солнца зависит от величины орбиты и пропорционально квадратному корню из куба этой величины. Тогда же Галилей открыл принцип инерции, который гласит, что если на предмет ничто не действует и он движется с определенной скоростью по прямой линией, то он будет двигаться с этой скоростью и по этой же прямой линии вечно. Позже Ньютон понял, что скорость движения предмета или его направление движения изменится, если на него будет действовать сила, которая пропорциональна приросту скорости (ускорению). Так как планета движется не по прямой, а по эллипсу, стало ясно, что на нее действует определенная сила и источник этой силы — это солнце. Зная период обращения и расстояние до солнца для разных планет Ньютон выяснил, что сила с которой солнце притягивает планеты обратно пропорционально расстоянию между ними (~1/R2). Также из простого эксперимента с веревкой, к одному концу которого привязан предмет, а за другой конец наблюдатель его раскручивает Ньютон сделал вывод, что сила с которой нужно удерживать предмет пропорциональна его массе. Также, наблюдая в телескоп движения спутников вокруг Юпитера и Луны вокруг Земли, ученые сделали вывод, что спутники притягиваются к Юпитеру а Луна к Земле также как и Земля к Солнцу. Таким образом притяжение действует повсюду, а следовательно все тела притягивают друг друга.

Таким образом  были установлены следующие части логической единицы под названием “закон всемирного тяготения”: 

  1. Между всеми телами действует сила (гравитация).

  2. Сила эта обратно пропорциональна расстоянию между телами (~1/R2).

  3. Также эта сила пропорциональна массе тела.

Все эти наблюдения выражаются простой математической формулой:

   F = \frac{G mM}{R^2},

где G — коэффициент пропорциональности, m — масса одного тела, M — масса другого тела и R — расстояние между ними. Позже физик Генри Кавендиш измерил постоянную G. Так по частям была собрана логическая единица под названием “закон всемирного тяготения”.

Пример из генетики

Один из способов научного познания — это формирование гипотезы и экспериментальная ее проверка либо опровержение. Формирование научной гипотезы — это суть введение в логическую единицу недостающей части, таким образом, чтобы из нецелостной логической единицы сделать целостной. Мы уже упоминали простой пример логической единицы из восьми бит с одним предпоследним неизвестным битом (Рисунок 5). Нецелостность здесь означает, что мы точно не знаем какому числу соответствует эта запись: 1 или 3. Формирование гипотезы здесь — это допущение, что недостающий бит здесь это 1, что соответствует числу 3. Далее мы придумываем эксперимент, который либо подтверждает, либо опровергает это. Например, если наш байт — это часть большой компьютерной программы, то подстановка правильного бита приведет к успешному выполнению программы, а подстановка неправильного бита приведет к аварийному завершению. Подставив бит и выполнив программу, мы подтвердим или опровергнем гипотезу и тем самым сформируем целостную логическую единицу (целостную теорию).

К концу 90х до того как был расшифрован геном человека существовало две гипотезы о том как устроена архитектура полигенных болезней: какие мутации отвечают за них. Одна из них (common disease / common variant) утверждала, что за болезни отвечают мутации, распространенные с большой частотой в популяции. Вторая гипотеза (common disease/multiple rare variants) утверждала, что за болезни отвечают множество редких мутаций с большим эффектом. К концу нулевых было найдено много новых мутаций однако их было меньше чем ожидалось. Они все еще слабо описывали генетическую архитектуру болезней. Многим стала приходить мысль, что в нашем понимании генетической архитектуры отсутствует определенная часть. Было предложено, что возможно нужно искать не просто мутации, которые напрямую влияют на болезнь, а набор мутаций, которые во взаимодействии с друг другом влияют на болезнь. Например, две мутации x и y увеличивают риск заболевания только когда они вместе находятся в геноме. Более обще гипотеза выглядит так: множество мутаций и факторов среды влияют на риск развития заболевания в сложном взаимодействии друг с другом. В кандидатской диссертации одного из авторов этой статьи был разработан метод для тестирования этой гипотезы, который был использован для поиска взаимодействий в 170 000 геномах. В результате с помощью этого метода было найдено мало новых мутаций. Это означает, что гипотеза не подтвердилась: взаимодействия хоть и имеют место быть, но не являются ключевыми в генетической архитектуре. Это пример того как к нецелостной логической единице добавляется часть и  проверяется гипотеза о (не)правильности этой части.

Заключение

Заканчивая, надо сказать, что эта статья лишь краткое введение в теорию безымянной логики. Здесь мы дали лишь базовые определения и рассмотрели два примера: логическая единица с одной и двумя бинарностями. В следующей статье будет подробно рассмотрен обнаруженный посредством безымянной логики закон логики “Единое во многом” его свойства и характеристики. Основное отличие безымянной логики от логики Аристотеля в том, что последняя оперирует логической единицей как целым, а первая оперирует логической единицей как совокупностью частей объединенные структурой. Безымянная логика дает формальное описания процесса понимания и непонимания логической единицы, что до сих пор было доступно только на интуитивном уровне. 

Больше информации можно найти по ссылке в телеграмм канале https://t.me/NamelessLogic и в презентации https://disk.yandex.ru/i/XicsNs-B0YwrYg

Об авторах

Гунько Андрей

Директор компании “Эверест Софт” (www.everest-soft.pro), магистр философии, телеграмм канал https://t.me/andreygunko, andrey@gunko.ru

Вышеописанные принципы безымянной логики были обнаружены в результате разработки линейки программ “Эверест” для АО “Аэропорт Толмачёво”.

Стручалин Максим

Директор компании “КомпьютБио” (www.computebio.pro), PhD (к.б.н), телеграмм канал https://t.me/computebio, maksim.struchalin@gmail.com.

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

 

Источник

Читайте также