В логике дизъюнкция , также известная как логическая дизъюнкция , логическое сложение или инклюзивная дизъюнкция , представляет собой логическую связку, обычно обозначаемую как «или» и читаемую вслух. Например, английское предложение «солнечно или тепло» можно представить в логике с помощью разделительной формулы , предполагая, что оно сокращает «солнечно» и сокращает «тепло».
В классической логике дизъюнкции придается функциональная семантика истинности, согласно которой формула истинна, если оба и не являются ложными. Поскольку эта семантика позволяет дизъюнктивной формуле быть истинной, когда оба ее дизъюнкта истинны, это инклюзивная интерпретация дизъюнкции, в отличие от исключающей дизъюнкции . Классические теоретические подходы к доказательствам часто даются в терминах таких правил, как введение дизъюнкции и устранение дизъюнкции . Дизъюнкция также получила множество неклассических трактовок, мотивированных такими проблемами, как аргумент Аристотеля о морском сражении , принцип неопределенности Гейзенберга , а также многочисленные несоответствия между классической дизъюнкцией и ее ближайшими эквивалентами в естественных языках . [1] [2]
Поскольку логическое «или» означает, что формула дизъюнкции истинна, когда истинна одна или обе ее части, ее называют инклюзивной дизъюнкцией . Это контрастирует с исключающей дизъюнкцией , которая верна, когда истинен один или другой аргумент, но не оба (так называемое « исключающее или » или «исключающее ИЛИ»).
Когда необходимо уточнить, имеется ли в виду включающее или исключительное «или», англоговорящие иногда используют словосочетание « и/или ». С точки зрения логики эта фраза идентична «или», но делает включение обоих истинным явным.
В логике и смежных областях дизъюнкция обычно обозначается инфиксным оператором (Unicode U+2228 ∨ LOGICAL OR ). [1] К альтернативным обозначениям относятся , используемые в основном в электронике , а также и во многих языках программирования . Иногда также используется английское слово «или», часто написанное заглавными буквами. В префиксной записи логики Яна Лукасевича оператор — сокращение от польского alternatywa (английский: альтернатива). [3]
В семантике логики классическая дизъюнкция — это функциональная операция истинности , которая возвращает значение истинности «истина», если оба ее аргумента не являются «ложными». Его семантическая запись стандартно задается следующим образом: [4]
Эта семантика соответствует следующей таблице истинности : [1]
В классических логических системах, где логическая дизъюнкция не является примитивом, ее можно определить в терминах примитива « и » ( ) и « не » ( ) как:
В качестве альтернативы его можно определить с точки зрения « подразумевается » ( ) и «не» следующим образом: [5]
Последнее можно проверить по следующей таблице истинности:
К дизъюнкции применимы следующие свойства:
Операторы , соответствующие логической дизъюнкции, существуют в большинстве языков программирования .
Дизъюнкция часто используется для побитовых операций . Примеры:
Оператор or
можно использовать для установки битов в битовом поле на 1, соединив or
поле с константным полем с соответствующими битами, установленными на 1. Например, x = x | 0b00000001
он принудительно установит последний бит в 1, оставив при этом другие биты неизменными. [ нужна цитата ]
Многие языки различают побитовую и логическую дизъюнкцию, предоставляя два разных оператора; в языках, следующих за C , поразрядное дизъюнкционирование выполняется с помощью оператора одиночного канала ( |
), а логическое дизъюнкция — с помощью оператора двойного канала ( ||
).
Логическая дизъюнкция обычно является короткозамкнутой ; то есть, если первый (левый) операнд имеет значение true
, то второй (правый) операнд не оценивается. Таким образом, логический оператор дизъюнкции обычно образует точку последовательности .
В параллельном (конкурентном) языке можно замкнуть обе стороны: они оцениваются параллельно, и если одна завершается значением true, другая прерывается. Таким образом, этот оператор называется параллельным или .
Хотя тип выражения логической дизъюнкции в большинстве языков является логическим (и, следовательно, может иметь только значение true
или false
), в некоторых языках (например, Python и JavaScript ) оператор логической дизъюнкции возвращает один из своих операндов: первый операнд, если он оценивается как истинное значение, а второй операнд — в противном случае. [6] [7]
Соответствие Карри -Ховарда связывает конструктивистскую форму дизъюнкции с типами тегированных объединений . [ нужна ссылка ] [8]
Принадлежность элемента объединенному множеству в теории множеств определяется в терминах логической дизъюнкции: . Из-за этого логическая дизъюнкция удовлетворяет многим из тех же тождеств, что и теоретико-множественное объединение, таким как ассоциативность , коммутативность , дистрибутивность и законы де Моргана , отождествляющие логическое соединение с пересечением множеств , логическое отрицание с дополнением множеств . [ нужна цитата ]
Дизъюнкция в естественных языках не совсем соответствует интерпретации классической логики. Примечательно, что классическая дизъюнкция является инклюзивной, в то время как дизъюнкция естественного языка часто понимается исключительно , как это обычно понимается в следующем английском языке. [1]
Этот вывод иногда понимался как следствие , например, Альфредом Тарским , который предположил, что дизъюнкция естественного языка неоднозначна между классической и неклассической интерпретацией. Более поздние работы в области прагматики показали, что этот вывод может быть получен как разговорная импликатура на основе семантического значения, которое ведет себя классически. Однако разделительные конструкции, в том числе венгерские vagy... vagy и французские soit... soit, считаются исключительными по своей сути, что делает неграмматичными контексты , где в противном случае было бы вынуждено инклюзивное прочтение. [1]
Подобные отклонения от классической логики были отмечены в таких случаях, как дизъюнкция свободного выбора и упрощение дизъюнктивных антецедентов , когда определенные модальные операторы вызывают интерпретацию дизъюнкции , подобную конъюнкции. Как и в случае с исключительностью, эти выводы анализировались и как импликатуры, и как следствия, вытекающие из неклассической интерпретации дизъюнкции. [1]
Во многих языках разделительные выражения играют роль в образовании вопросов. Например, хотя следующий английский пример можно интерпретировать как полярный вопрос о том, правда ли, что Мэри является философом или лингвистом, его также можно интерпретировать как альтернативный вопрос о том, какая из двух профессий принадлежит ей. Роль дизъюнкции в этих случаях анализировалась с использованием неклассической логики, такой как альтернативная семантика и любознательная семантика , которые также были приняты для объяснения выводов о свободном выборе и упрощении. [1]
В английском языке, как и во многих других языках, дизъюнкция выражается сочинительным союзом . Другие языки выражают дизъюнктивные значения различными способами, хотя неизвестно, является ли дизъюнкция сама по себе лингвистической универсалией . Во многих языках, таких как дьирбал и марикопа , дизъюнкция обозначается суффиксом глагола . Например, в приведенном ниже примере Марикопы дизъюнкция отмечена суффиксом šaa . [1]
Джонш
Джон- НОМ
Биллш
Билл- НОМ
ваавуумшаа
3 -приходите- ПЛ - ФУТ - ИНФЕР
— Джон или Билл придут.