Законы де Моргана представлены диаграммами Венна . В каждом случае результирующий набор представляет собой набор всех точек любого оттенка синего цвета.
Отрицание «А и Б» то же самое, что «не А или не Б».
Отрицание «А или Б» то же самое, что «не А и не Б».
или
Дополнение объединения двух множеств совпадает с пересечением их дополнений .
Дополнение пересечения двух множеств совпадает с объединением их дополнений.
или
не (А или Б) = (не А) и (не Б)
не (А и В) = (не А) или (не Б)
где «A или B» означает « включающее или », означающее по крайней мере одно из A или B, а не « исключительное или », которое означает ровно одно из A или B.
— это металогический символ, означающий «может быть заменен в логическом доказательстве на», который часто читается как «тогда и только если». Для любой комбинации значений «истина/ложь» для P и Q левая и правая стороны стрелки после оценки будут иметь одно и то же значение истинности.
Закон де Моргана с операцией вычитания множеств.
Другая форма закона Де Моргана выглядит следующим образом, как показано на рисунке справа.
и выражаются в виде функционально-истинных тавтологий или теорем логики высказываний:
где и – предложения, выраженные в некоторой формальной системе.
Обобщенные законы Де Моргана обеспечивают эквивалентность для отрицания соединения или дизъюнкции, включающей несколько терминов. Для набора положений обобщенные законы Де Моргана таковы:
Эти законы обобщают оригинальные законы Де Моргана об отрицании конъюнкций и дизъюнкций.
Форма замены
Законы де Моргана обычно изображаются в компактной форме выше: отрицание выходных данных слева и отрицание входных данных справа. Более четкую форму замены можно сформулировать так:
Это подчеркивает необходимость инвертировать как входные, так и выходные данные, а также менять оператор при выполнении подстановки.
Теория множеств и булева алгебра
В теории множеств и булевой алгебре это часто формулируется как «обмен объединением и пересечением при дополнении», [6] что формально можно выразить как:
где:
является отрицанием , при этом над терминами, подлежащими отрицанию, пишется подчеркивание ,
верхняя черта является логическим НЕ того, что находится под верхней чертой.
Текстовый поиск
Законы Де Моргана обычно применяются к текстовому поиску с использованием логических операторов И, ИЛИ и НЕ. Рассмотрим набор документов, содержащих слова «кошки» и «собаки». Законы де Моргана гласят, что эти два поиска вернут один и тот же набор документов:
Поиск A: НЕ (кошки ИЛИ собаки)
Поиск Б: (НЕ кошки) И (НЕ собаки)
Корпус документов, содержащих «кошки» или «собаки», может быть представлен четырьмя документами:
Документ 1: Содержит только слово «кошки».
Документ 2: Содержит только «собак».
Документ 3: содержит как «кошек», так и «собак».
Документ 4: Не содержит ни «кошек», ни «собак».
Чтобы оценить Поиск А, очевидно, что поиск «(кошки ИЛИ собаки)» попадет в Документы 1, 2 и 3. Таким образом, отрицание этого поиска (который является Поиском А) поразит все остальное, то есть Документ 4.
При оценке поиска B поиск «(НЕ кошки)» приведет к документам, которые не содержат слова «кошки», то есть к документам 2 и 4. Аналогичным образом поиск «(НЕ собаки)» приведет к документам 1 и 4. Применение Оператор AND для этих двух поисков (поиск B) найдет документы, общие для этих двух поисков, то есть документ 4.
Аналогичную оценку можно применить, чтобы показать, что следующие два поиска вернут документы 1, 2 и 4:
Поиск C: НЕ (кошки И собаки),
Поиск D: (НЕ кошки) ИЛИ (НЕ собаки).
История
Законы названы в честь Огастеса Де Моргана (1806–1871), [8] который представил формальную версию законов классической логики высказываний . На формулировку Де Моргана повлияла алгебраизация логики, предпринятая Джорджем Булем , которая позже закрепила претензии Де Моргана на находку. Тем не менее, подобное наблюдение было сделано Аристотелем и было известно греческим и средневековым логикам. [9] Например, в 14 веке Уильям Оккам записывал слова, которые получались в результате чтения законов. [10] Жан Буридан в своей книге «Суммы диалектики» также описывает правила конверсии, которые следуют законам Де Моргана. [11] Тем не менее, Де Моргану приписывают изложение законов в терминах современной формальной логики и включение их в язык логики. Законы де Моргана легко доказать и даже могут показаться тривиальными. [12] Тем не менее, эти законы помогают делать обоснованные выводы в доказательствах и дедуктивных аргументах.
Неофициальное доказательство
Теорема де Моргана может быть применена к отрицанию дизъюнкции или отрицанию союза во всей или части формулы.
Отрицание дизъюнкции
В случае его применения к дизъюнкции рассмотрим следующее утверждение: «ложно, что либо из A, либо B истинно», которое записывается как:
Поскольку установлено, что ни А, ни В не истинно, из этого должно следовать, что и А неверно, и В неверно, что можно записать непосредственно как:
Если бы либо А, либо В были истинны, то дизъюнкция А и В была бы истинной, а ее отрицание было бы ложным. Представленное на английском языке, это следует логике, согласно которой «поскольку обе вещи ложны, ложно также и то, что любая из них истинна».
Действуя в противоположном направлении, второе выражение утверждает, что A ложно, а B ложно (или, что то же самое, что «не A» и «не B» истинны). Зная это, дизъюнкция А и В также должна быть ложной. Таким образом, отрицание указанной дизъюнкции должно быть истинным, а результат идентичен первому утверждению.
Отрицание союза
Применение теоремы Де Моргана к конъюнкции очень похоже на ее применение к дизъюнкции как по форме, так и по смыслу. Рассмотрим следующее утверждение: «Неверно, что A и B истинны», которое записывается как:
Для того чтобы это утверждение было истинным, любое из A или B или оба должны быть ложными, поскольку, если бы они оба были истинными, тогда соединение A и B было бы истинным, что делало бы его отрицание ложным. Таким образом, одно (по крайней мере) или несколько из A и B должны быть ложными (или, что то же самое, одно или несколько из «не A» и «не B» должны быть истинными). Это можно записать прямо так:
Представленное на английском языке, это следует логике, согласно которой «поскольку две вещи являются истинными, ложно, по крайней мере одна из них должна быть ложной».
Снова работая в противоположном направлении, второе выражение утверждает, что по крайней мере одно из «не A» и «не B» должно быть истинным, или, что то же самое, что по крайней мере одно из «A» и «B» должно быть ложным. Поскольку хотя бы один из них должен быть ложным, то и их соединение также будет ложным. Таким образом, отрицание указанного союза приводит к истинному выражению, и это выражение идентично первому утверждению.
Формальное доказательство
Здесь мы используем для обозначения дополнения к A, как указано выше в § Теория множеств и булева алгебра. Доказательство, которое завершается в два этапа доказательством обоих и .
Часть 1
Позволять . Затем, .
Потому что это должно быть так или .
Если , то так .
Аналогично, если , то , поэтому .
Таким образом, ;
то есть, .
Часть 2
Для доказательства обратного направления положим , а от противного предположим .
Согласно этому предположению, должно быть так, что ,
поэтому следует, что и , и таким образом и .
Однако это означает , что в противоречие с гипотезой о том , что
следовательно, предположение не должно быть верным, а это означает, что .
Следовательно, ,
то есть, .
Заключение
Если и , то ; на этом завершается доказательство закона Де Моргана.
Аналогично доказывается и другой закон Де Моргана .
В расширениях классической логики высказываний двойственность по-прежнему сохраняется (т. е. к любому логическому оператору всегда можно найти его двойственный оператор), поскольку при наличии тождеств, управляющих отрицанием, всегда можно ввести оператор, который является двойственным по Де Моргану оператору. другой. Это приводит к важному свойству логики, основанной на классической логике , а именно к существованию нормальных форм отрицания : любая формула эквивалентна другой формуле, где отрицания происходят только в применении к нелогическим атомам формулы. Существование нормальных форм отрицания стимулирует множество приложений, например, в проектировании цифровых схем , где оно используется для управления типами логических элементов , и в формальной логике, где необходимо найти конъюнктивную нормальную форму и дизъюнктивную нормальную форму . формула. Программисты используют их для упрощения или правильного отрицания сложных логических условий . Они также часто полезны в вычислениях по элементарной теории вероятностей .
Пусть двойственный к любому пропозициональному оператору P( p , q , ...) в зависимости от элементарных предложений p , q , ... определим как оператор, определяемый формулой
Три из четырех следствий законов де Моргана справедливы для интуиционистской логики . В частности, у нас есть
и
Обратное к последнему импликации не справедливо в чистой интуиционистской логике. То есть неудача совместного предложения не обязательно может быть решена неудачей любого из двух союзов . Например, зная, что Алиса и Боб не явились на свидание, не следует, кто не пришел. Последний принцип эквивалентен принципу слабого исключенного третьего .
Эту слабую форму можно использовать как основу для промежуточной логики . Усовершенствованную версию ошибочного закона, касающегося экзистенциальных утверждений, см. в менее ограниченном принципе всеведения , который, однако, отличается от .
Справедливость остальных трех законов Де Моргана остается верной, если отрицание заменяется импликацией для некоторого произвольного постоянного предиката C, а это означает, что вышеуказанные законы по-прежнему верны в минимальной логике .
Аналогично предыдущему, законы кванторов:
и
являются тавтологиями даже в минимальной логике, где отрицание заменяется подразумеванием фиксированного , тогда как обратное к последнему закону не обязательно должно быть верным в целом.
Законы де Моргана широко используются в вычислительной технике и цифровой логике с целью упрощения схемотехники. [13]
В современных языках программирования благодаря оптимизации компиляторов и интерпретаторов различия в производительности между этими вариантами незначительны или вовсе отсутствуют.
^ Уильям Оккам, Summa Logicae , часть II, разделы 32 и 33.
^ Жан Буридан, Сумма диалектики . Пер. Дьюла Клима. Нью-Хейвен: Издательство Йельского университета, 2001. См. особенно Трактат 1, Глава 7, Раздел 5. ISBN 0-300-08425-0.