Открыть сервис

Логическое отрицание

Логическое отрицание (также инверсия, операция НЕ) — это унарная логическая операция, которая преобразует исходное высказывание (суждение) в новое, истинное в том случае, когда исходное высказывание ложно, и ложное, когда исходное высказывание истинно. В формальной логике отрицание обозначается знаком ¬ (перед высказыванием), ~ (в некоторых системах), чертой над высказыванием (в частности, в булевой алгебре) или словом «не» (в естественном языке). Логическое отрицание является одной из фундаментальных логических связок, наряду с конъюнкцией (И), дизъюнкцией (ИЛИ) и импликацией (если… то). Оно лежит в основе законов непротиворечия и исключённого третьего, составляющих базис классической логики.

Определение и обозначения

В классической двузначной логике (логике высказываний) отрицание определяется таблицей истинности, где каждому значению истинности исходного высказывания (A) ставится в соответствие противоположное значение для ¬A:

A¬A
ИстинаЛожь
ЛожьИстина

В математической логике и программировании используются различные символы:

  • ¬ (логическое НЕ, Unicode U+00AC) — наиболее распространённый в математике.
  • ~ (тильда) — часто применяется в логике и электронике (например, ~A).
  • ! (восклицательный знак) — в языках программирования C, C++, Java, JavaScript, Python и многих других (например, !a).
  • NOT — в ассемблере, SQL, некоторых языках высокого уровня (Pascal, BASIC).
  • ' (апостроф) — в булевой алгебре и цифровой схемотехнике (A').
  • ¯ (черта сверху) — в классической булевой алгебре (A̅).

В русском языке отрицание в естественно-языковых высказываниях выражается частицей «не» (например, «Снег бел» → «Снег не бел»), а также приставками «без-», «не-», «анти-», «контр-» и др.

История

Понятие отрицания восходит к античной философии. Аристотель в «Метафизике» сформулировал закон непротиречия: «Невозможно, чтобы одно и то же в одно и то же время было и не было присуще одному и тому же в одном и том же отношении». В средневековой схоластике отрицание рассматривалось как логическая операция, противопоставляющая утверждение и отрицание. В Новое время Готфрид Вильгельм Лейбниц ввёл символическое обозначение отрицания, а Джордж Буль в 1854 году в работе «Исследование законов мышления» заложил основы булевой алгебры, где отрицание стало одной из трёх базовых операций (наряду с конъюнкцией и дизъюнкцией). В XX веке, с развитием математической логики (Готлоб Фреге, Бертран Рассел, Дэвид Гильберт), отрицание получило строгое формальное определение в рамках исчисления высказываний и исчисления предикатов.

Свойства и законы

Логическое отрицание обладает рядом фундаментальных свойств, которые образуют законы логики:

Закон двойного отрицания

¬(¬A) ≡ A — дважды применённое отрицание возвращает исходное значение. В классической логике это правило является аксиомой; в интуиционистской логике оно не выполняется в полной мере (из ¬¬A не следует A).

Законы де Моргана

Для отрицания конъюнкции и дизъюнкции:

  • ¬(A ∧ B) ≡ ¬A ∨ ¬B — отрицание конъюнкции равносильно дизъюнкции отрицаний.
  • ¬(A ∨ B) ≡ ¬A ∧ ¬B — отрицание дизъюнкции равносильно конъюнкции отрицаний.

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

Закон непротиворечия

¬(A ∧ ¬A) — не может быть, чтобы высказывание и его отрицание были одновременно истинны. Этот закон является одним из трёх основных законов классической логики (наряду с законом тождества и законом исключённого третьего).

Закон исключённого третьего

A ∨ ¬A — для любого высказывания либо оно само истинно, либо истинно его отрицание. Третьего не дано. В классической логике этот закон принимается как аксиома; в многозначных логиках (например, трёхзначной логике Лукасевича) он не выполняется.

Идемпотентность

¬(¬A) ≠ A (в общем случае) — отрицание не является идемпотентной операцией (в отличие от конъюнкции и дизъюнкции). Однако для двойного отрицания выполняется идемпотентность в смысле ¬¬¬A ≡ ¬A.

Виды отрицания

В логике и философии различают несколько типов отрицания:

Внутреннее и внешнее отрицание

  • Внутреннее отрицание (предикатное) — отрицание, входящее в состав предиката: «Сократ не смертен» (отрицание предиката «смертен»).
  • Внешнее отрицание (пропозициональное) — отрицание всего высказывания: «Неверно, что Сократ смертен» (отрицание пропозиции).

В классической логике эти формы эквивалентны, но в некоторых неклассических системах (например, в интуиционистской) различие может быть существенным.

Категорическое и контрадикторное отрицание

  • Категорическое отрицание — отрицание, которое утверждает отсутствие признака у предмета (например, «Этот стул не красный»).
  • Контрадикторное отрицание — отрицание, которое образует противоречащую пару с утверждением (например, «белый» — «не белый»). В отличие от контрарного отрицания («белый» — «чёрный»), контрадикторное не допускает промежуточных значений.

Отрицание в многозначных логиках

В трёхзначной логике (Ян Лукасевич, 1920) отрицание определяется для трёх значений: истина (1), ложь (0) и неопределённость (½). Таблица истинности:

A¬A
10
01
½½

В нечёткой логике (Лотфи Заде, 1965) отрицание определяется как ¬A = 1 − A, где A — степень истинности от 0 до 1.

Применение

В математике

Отрицание используется в доказательствах от противного (reductio ad absurdum), в формулировке аксиом и теорем, в теории множеств (дополнение множества), в математической логике (исчисление высказываний, исчисление предикатов). Например, в анализе отрицание используется для определения предела: «∀ε>0 ∃δ>0: |x−a|<δ ⇒ |f(x)−L|<ε» — отрицание этого утверждения: «∃ε>0 ∀δ>0 ∃x: |x−a|<δ и |f(x)−L|≥ε».

В программировании

Логическое отрицание реализовано во всех языках программирования как оператор NOT или унарный оператор !. Пример на Python: ``python a = True b = not a # b = False ` В условных операторах отрицание используется для проверки обратного условия: if not condition:`.

В цифровой электронике

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

ВходВыход
01
10

Микросхемы, реализующие инверторы, входят в стандартные серии логических элементов (ТТЛ, КМОП). Например, микросхема 7404 содержит шесть независимых инверторов.

В лингвистике

В русском языке отрицание выражается частицей «не» (перед глаголом, прилагательным, существительным), а также приставками «без-» (безопасный), «не-» (неправда), «анти-» (антигерой), «контр-» (контрпример). В некоторых языках (например, в английском) отрицание требует вспомогательного глагола: «I do not know». В логике естественного языка различают синтаксическое отрицание (отрицание части высказывания) и семантическое (отрицание смысла).

Критика и альтернативы

В неклассических логиках классическое отрицание подвергается критике за его бивалентность (двузначность). Интуиционистская логика (Лёйтзен Брауэр, Аренд Гейтинг) отвергает закон исключённого третьего и закон двойного отрицания, считая, что из ¬¬A не следует A (например, из «неверно, что не существует бесконечного множества простых чисел» не следует «существует бесконечное множество простых чисел» без конструктивного доказательства). Паранепротиворечивые логики (Ньютон да Коста, Грэм Прист) допускают, что A и ¬A могут быть одновременно истинны, отказываясь от закона непротиворечия. В релевантной логике отрицание рассматривается как операция, сохраняющая связь по содержанию между посылками и заключением.

Интересные факты

  • В русском языке двойное отрицание («не мог не заметить») эквивалентно утверждению, что соответствует закону двойного отрицания. В некоторых языках (например, в английском) двойное отрицание может усиливать отрицание («I don't know nothing» — в просторечии означает «Я ничего не знаю»).
  • В булевой алгебре отрицание является единственной унарной операцией, которая вместе с конъюнкцией и дизъюнкцией образует функционально полную систему (любая булева функция может быть выражена через эти три операции).
  • Логический элемент «НЕ» может быть реализован на транзисторах, реле, пневматических клапанах, гидравлических системах и даже на биологических нейронах.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →