Логика — наука о законах мышления. Её четыре закона лежат в основе наук, права и программирования. Мышление — «машина производства решений», а эти законы делают её надёжной.
Чтобы не путаться самому и не запутать собеседника: у каждой мысли — своё место и свой смысл.
Аргументы, которые не разваливаются от крика, эмоций и ссылок на «все так говорят».
Решение вместо догадки. Без логики остаётся только гадать на кофейной гуще.
Определённость — тождество · Непротиворечивость — противоречие · Последовательность — исключённое третье · Обоснованность — достаточное основание.
Программисты пользуются этими законами каждый день, просто не думают о них поимённо: любое условие if — это они сами. Кодинг неплохо тренирует мышление.
Всякая мысль в процессе рассуждения должна оставаться тождественной самой себе. Иначе: «Если предмет мышления не определён или многозначен, то правильное мышление невозможно».
Зачем нужен: даёт определённость, без расплывчатости и двусмысленности. Если нарушить: одно слово начинает значить разное — и рассуждение рассыпается, как «Фома с Ерёмой».
Правят так, чтобы текст понимался однозначно: убирают фразы, которые можно прочитать по-разному, и следят, чтобы слово везде означало одно и то же.
Введённый пользователем пароль должен точно совпадать с первоначально заданным. Пример на Java:
String введённыйХеш = хешировать(вводПароля); String сохранённыйХеш = базаДанных.getХеш(логин); if (введённыйХеш.equals(сохранённыйХеш)) { доступРазрешён(); } else { доступЗапрещён(); }Если в условии по ошибке перепутать переменные (сравнить логин с паролем) — код делает не то, что задумал программист. Сравнивать нужно конкретные вещи, а не первое попавшееся.
В юриспруденции работают все четыре закона. Термин в договоре или статье обязан означать ровно одно и то же. Расплывчатая формулировка — почва для споров и оспоримых документов. А если непонятно, о чём вообще спор, суд до решения не доходит.
Если одно суждение противоречит другому, то одно из них ложное, либо ложными являются оба. Два противоположных суждения не могут быть одновременно истинными.
Зачем нужен: помогает отличать правду от лжи. Если одно суждение доказали как истинное, второе автоматически ложное. Но работает он только когда не нарушен закон тождества — иначе спорить уже не о чем.
Сверяют показания подсудимого с фактами: где ответы расходятся с уликами, там дыра в версии. Разбили алиби — «я там не быть» тоже автоматически ложь.
Живёшь не по средствам — смотри, доход где-то спрятан. «Трат больше» и «легальных денег не больше» одновременно не бывает: одно из двух не так.
Проверка при сохранении: дата начала не должна быть позже окончания. Нет — выкидываем ошибку:
if (датаНачала.isAfter(датаОкончания)) { throw new IllegalArgumentException( "Дата начала позже даты окончания"); }Бывают и скрытые противоречия. Если по правилам теста третий уровень даётся только за ноль ошибок, то «ошибки == 1» и «уровень == 3» несовместимы — хотя по отдельности обе строчки безобидны.
Показания, экспертиза и улики должны говорить об одном и том же. Если показания спорят с вещественными уликами — истинно только одно из двух.
Если одно суждение прямо отрицает другое (частица «не»), то одно из противоречащих суждений истинное. Третьего не дано.
Зачем нужен: заставляет довести выбор до «да» или «нет». Второй закон ловит ложь, этот — находит истину: условие либо выполняется, либо нет. Когда нельзя: в опросах добавляют «иное» и «затрудняюсь ответить» — если ситуация действительно неопределённая.
Телефон не работает — проверяем детали по очереди. Каждая либо рабочая, либо нет, третьего не дано. Так шаг за шагом и находится виновник.
// Ответ теста equals() эталону — // истинно или ложно, иного не дано boolean верно = ответ.equals(эталон); if (верно) { засчитатьБалл(); } else { засчитатьОшибку(); }По анализу болезнь либо есть (в той или иной степени), либо нет. «И болен, и здоров» не бывает — поэтому лаборант и может поставить вердикт.
Виновен или невиновен, законно или незаконно, срок вышел или не вышел. Без такого выбора приговор и процессуальные сроки были бы невозможны.
Только такое суждение может быть признано истинным, которое имеет достаточные основания — такие, из которых истинность следует с логической необходимостью, как следствие из причины.
Зачем нужен: приучает не выдавать голословное за факт. Доказательство строится из трёх частей: тезис (что доказываем) → аргументы (факты) → демонстрация (как факты связаны с тезисом).
Пока вину не доказали, человек невиновен. Прокурору нужны основания и доказательства, а приговор без мотивировки — пустая бумага. Доказывать должен тот, кто утверждает.
Решение = цифры и факты. Команда не станет выполнять «делай, как я сказал» — доверия от этого не прибавится. А босс, который ставит одни цели и хвалит за другие, ломает и этот закон, и закон непротиворечия.
Ловит баг — и спрашивает себя: а на каком основании я думаю, что причина именно в этом? Достаточно оснований или это догадка? У любой неожиданности есть причина: опечатка, кривое условие или незамечённый фактор окружения.
Учёный показывает данные эксперимента, врач — анализы. Причину сначала находят логикой, потом проверяют на практике. Назначение без анализов и вывод без данных — просто слова.
Мнение без опыта — не аргумент: «все против» без спроса всех, совет от человека, который с предметом вообще не сталкивался, «чувства подсказывают» вместо фактов.
Кнопка «Открыть файл» должна открывать файл — иначе это баг. А в споре «как должна работать программа» побеждает не громкая позиция, а та, у которой есть основания: опыт пользователя, цели заказчика, технические ограничения.
Задают один вопрос — отвечают на другой · подменяют значение слова в ходе беседы · аргумент не связан с тезисом · вам приписывают слова, которых вы не говорили · слабый аргумент противопоставляют сильному «как равноценный» · манипулятор выдаёт свои мотивы за ваши · подмена части и целого · переход на личности и провокация эмоций.
Говорит одно — делает другое · на совещании отвергал подход и сам же его предлагает · руководитель ставит одни цели, а поощряет за другие · свидетель описывает событие несовместимыми суждениями · повторяет ошибочные действия, «наступая на те же грабли» · отсутствие знаний о фактах при наличии эффективных технологий.
Принял решение — не реализует · дал обещание — не исполняет · ложная альтернатива мошенника («как будто иного варианта нет») · ложный вывод из истинных посылок · не делает необходимый вывод из имеющейся информации (психическая защита от неприятного знания) · не различает виды умозаключений и делает однозначный вывод там, где возможен лишь вероятностный.
«Мы все против твоей идеи» — без опроса остальных · мнение в комментариях без опыта предмета · ложная аналогия · чувства вместо аргументов · вывод из ложных предпосылок · предшествующее выдаётся за причину · «нет немедленных последствий» = «нет вреда» (сидение сгорбившись: вред не ощущается сразу — и подросток безосновательно решает, что вреда нет).
Закон тождества — главный. Описывает саму возможность мыслить о чём-либо: без ясного предмета выводы делаются «о Фоме, а вывод — о Ерёме».
Работает только при не нарушенном тождестве: нужно удерживать предмет и различать нетождественные смыслы, чтобы увидеть противоречие.
Не работает без второго закона, как второй без первого: сначала находят противоречие, затем уточняют его до взаимного исключения.
Чтобы заключить о достаточности оснований, пользуются 3-м законом: оснований достаточно — или недостаточно, третьего не дано.
Дерево — это дерево, а не груша. Стрела летит в одну сторону, а не в обе. Лисица бежит за зайцем или не бежит. Всё это было правдой задолго до Аристотеля. Парадоксы бывают только в голове — и всегда из-за нарушенного закона тождества.
Чтобы доказать, что законы логики не работают, придётся… привести логические аргументы. Получается только «опровержение» с подменой понятий, то есть нарушение первого закона. А законы физики, экономики или права формулируются нормально только по правилам логики.
| Закон | Свойство мышления | Профессии и применение |
|---|---|---|
| Тождества (=) | Определённость | Редакторы — однозначный текст; программисты — точное совпадение пароля, согласование терминов; юристы — одно значение термина |
| Непротиворечия (≠) | Непротиворечивость · выявляет ложь | Следователи — разоблачение алиби; налоговики — поиск скрытых доходов; БД — проверка дат и скрытых противоречий; суд — недопустимость противоречивых показаний |
| Исключённого третьего (1/0) | Последовательность · выявляет истину | Инженеры — диагностика деталей; лаборанты — вердикт по анализу; суд — «виновен / невиновен»; программисты — логические условия if / else в Java |
| Достаточного основания (Σ) | Обоснованность | Юристы — презумпция невиновности; руководители — аргументированные решения; наука и медицина — доказательная база; отладка кода — поиск причины |
Коротко: эти законы нельзя опровергнуть — любая попытка опять же опирается на логику. Понять это и начать применять их осознанно — уже половина дела. Мыслить логически никто не заставит, это личный выбор. А в юриспруденции работают все четыре закона сразу, поэтому юрист думает так же строго, как программист пишет код.