Логика и ошибки мышления Как человечество научилось рассуждать: от Аристотеля до программ и категорий
0%

Как человечество научилось рассуждать: от Аристотеля до программ и категорий

Как человечество научилось рассуждать: от Аристотеля до программ и категорий

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

Аристотель, «Первая аналитика», в современном пересказе

Представьте, что в организации появляется простое правило:

Сотрудник может открыть отчёт, если ему это разрешено.

В первый день все кивают. На второй начинаются вопросы. Кто считается сотрудником? Разрешение выдаётся на один отчёт или на все? Что делать с временным доступом? Может ли руководитель разрешить доступ самому себе? Что произойдёт, если человека уволили, а разрешение осталось?

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

Мы будем всё время возвращаться к одному вопросу: что пришлось сделать явным, чтобы решение перестало зависеть от догадки?

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

1. Сначала люди учились не доказывать, а убеждать

На встрече руководитель предлагает: «Давайте дадим всем менеджерам доступ. Они отвечают за результат и должны видеть отчёты». Фраза звучит разумно. В ней есть мотив, уверенный голос и понятная польза. Но из ответственности за результат не следует доступ ко всем данным.

Между причиной и решением спрятаны предположения: каждому менеджеру нужны одинаковые сведения; отчёты не содержат лишнего; риск утечки ниже пользы; слово «менеджер» однозначно определяет круг людей. Пока предположения не названы, согласие аудитории легко принять за доказательство.

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

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

Люди научились различать убедительность и следование. Следующая задача сложнее: как увидеть одинаковую форму в историях с разными героями?

2. Аристотель отделяет форму от содержания

Возьмём рассуждение:

Все владельцы отчёта имеют право его открыть.
Мира — владелец отчёта.
Следовательно, Мира имеет право открыть отчёт.

Заменим содержание буквами:

Все M являются P.
S является M.
Следовательно, S является P.

Исчезли Мира и отчёт, но сохранился каркас. Аристотель сделал этот каркас предметом исследования. Валидность относится к форме: при истинных посылках правильный переход не может дать ложный вывод. Она не гарантирует, что сами посылки верны.

В обычной речи часть рассуждения часто пропускают: «У Миры есть служебная карта, значит отчёт можно открыть». Мы сами добавляем правило «владелец карты имеет доступ». Такое сокращённое рассуждение называют энтимемой. Без энтимем разговор был бы невыносимо подробным, но именно в пропущенной посылке обычно и прячется разногласие.

Поэтому при споре полезно не повторять вывод громче, а спросить: «Какое общее правило соединяет этот факт с решением?»

Силлогизм хорошо работает с классами и свойствами. Но правила доступа состоят ещё из «если», «и», «или» и «не». Для них нужен другой ракурс.

3. Стоики переходят от вещей к условиям

Рассмотрим вывод:

Если учётная запись заблокирована, отчёт открыть нельзя.
Учётная запись Миры заблокирована.
Следовательно, Мира не может открыть отчёт.

Здесь важен не класс, к которому относится Мира, а связь между целыми высказываниями: «если P, то Q; P; следовательно, Q». Стоические логики исследовали такие формы задолго до компьютеров.

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

В быту это выглядит так: «если идёт дождь, дорога мокрая». Увидев мокрую дорогу, нельзя уверенно заключить, что был дождь: могла проехать поливальная машина. Логическая форма помогает не придумывать причину по одному следствию.

Правила условий всё ещё записывались словами. Следующий шаг — сделать их объектом вычисления.

4. Лейбниц мечтает о вычислении, Буль строит алгебру

Лейбниц мечтал о языке, в котором спор можно было бы разрешить проверкой символов: «Давайте вычислим». Полностью такой язык он не построил, но идея оказалась плодотворной. В XIX веке Джордж Буль описал логические отношения как алгебру.

Наше правило превращается в выражение:

доступ = (владелец ИЛИ аудитор)
         И повторная_проверка
         И НЕ заблокирован

Формула не решает, справедливо ли правило. Она заставляет одинаково обработать одинаковые случаи. Стоит выписать четыре-пять строк таблицы, и становятся видны вопросы, которые прятались в слове «обычно».

Так можно проверять льготу, страховку или право на возврат товара. Формализация полезна не тем, что заменяет человека, а тем, что не позволяет незаметно менять условия во время рассуждения.

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

5. Фреге добавляет переменные, отношения и кванторы

Фраза «Мира может открыть отчёт» говорит о двух объектах и отношении между ними. Простого «истина или ложь» недостаточно: нужно оставить места для конкретного пользователя и конкретного отчёта.

Так появляются предикаты вроде может_открыть(человек, отчёт) и кванторы: «для каждого отчёта», «существует сотрудник». Квантор помогает увидеть опасную подмену масштаба. Из того, что каждый сотрудник читает какой-нибудь отчёт, не следует, что существует один отчёт, который читают все.

В исследовании это различие встречается постоянно. «Для каждого участника нашлась полезная практика» и «одна практика оказалась полезна всем» — разные утверждения. Перестановка двух слов меняет смысл результата.

Проверяйте обобщение тремя вопросами: о каких объектах идёт речь, какое между ними отношение и для всех ли случаев заявлен вывод.

Чем точнее становился язык, тем заметнее были его собственные границы.

6. Парадоксы и формальные системы проводят границы

Наивная идея множества звучит безобидно: можно собрать вместе все предметы с нужным свойством. Рассел спросил, что произойдёт с множеством всех множеств, которые не содержат сами себя. Если оно содержит себя, то не должно; если не содержит, то должно.

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

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

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

7. Тьюринг превращает правило в процедуру, Шеннон — в схему

В XX веке логика встретилась с вопросом: что вообще значит «можно вычислить»? Модель Тьюринга описала простую машину, выполняющую точные шаги над символами. Шеннон показал, что булевы отношения можно воплотить электрическими реле. Рассуждение стало не только записью, но и процессом.

Однако правило и процедура не совпадают. «Возврат возможен в течение 14 дней» — правило. Кто проверяет дату, что происходит без чека, как фиксируется спор и когда возвращаются деньги — процедура. Хорошее правило может дать плохой результат, если процедура неполна.

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

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

8. ООП и ФП дают разные формы одной политики

Одно правило можно объяснить двумя способами. Первый собирает вокруг сущности её состояние и допустимые действия: «отчёт сам знает, кто является владельцем». Второй рассматривает данные отдельно и применяет к ним преобразования: «получим факты и вычислим решение».

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

Полезный вопрос звучит не «что лучше вообще?», а «где должно жить правило, какие данные ему нужны и как мы убедимся, что оно не изменилось случайно?»

Теории множеств, групп и категорий помогают посмотреть на модель под разными углами. Они не образуют лестницу от простого к «самому умному».

9. Множества, инварианты и композиция — три инженерные линзы

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

Преобразования и инварианты спрашивают, что можно изменить, не разрушив важного свойства. Можно переименовать роли или переставить шаги процесса, но должно ли право доступа остаться прежним?

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

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

Теперь соберём идеи не в учебный пример, а в несколько реальных архитектур.

10. Как политика живёт в разных архитектурах

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

Централизация делает правила единообразнее, но создаёт зависимость: если общий центр недоступен, работа останавливается. Копии на местах быстрее, но могут устареть. Здесь нет решения без цены — есть выбор компромисса и честное описание последствий.

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

Исторический маршрут закончен. Осталось превратить его в рабочий протокол.

11. От требования до production: практический маршрут

Когда встречаете правило, вывод или рекомендацию, пройдите семь шагов:

  1. Назовите решение: что именно предлагается сделать?
  2. Уточните слова: какие понятия участники могут понимать по-разному?
  3. Выпишите основания: что известно, а что только предполагается?
  4. Восстановите скрытый мост между основаниями и выводом.
  5. Проверьте пограничные случаи и возможные альтернативные причины.
  6. Выберите минимальную формализацию: таблицу, схему или список условий.
  7. Вернитесь к реальности: кто исполнит решение и что покажет ошибку?

Логика не превращает жизнь в формулы. Она делает переходы видимыми: от слова к основанию, от основания к выводу, от вывода к правилу и от правила к последствиям.

Самопроверка

Попробуйте без подсказки объяснить:

  • почему убедительность и правильность вывода — разные качества;
  • где в обычной фразе прячется энтимема;
  • почему из следствия нельзя автоматически восстановить причину;
  • что формализация делает видимым, но не решает за нас;
  • чем правило отличается от процедуры;
  • почему множества, преобразования и композиция отвечают на разные вопросы.

Если ответы складываются в одну историю, глава выполнила задачу.

Источники и продолжение

Понятия, определения и классификации

Нашли неточность? Выделите фрагмент текста — рядом появится жучок.

Нужен разбор именно вашей ситуации?

Статья описывает общий случай. Если у вас частный — можно разобрать его отдельно, платно. А если не хватает целого материала, предложите тему: её оплачивают вскладчину, и она выходит открытой для всех.

Доска запросов