Диз'юнкція (лат. disjunctio — розділення) (операція OR) — двомісна логічна операція, що має значення «істина», якщо хоча б один з операндів має значення «істина». Операція відображає вживання сполучника «або» в логічних висловлюваннях. Диз'юнкція є бінарною операцією, тобто має два операнди. Запис може бути префіксним (знак операції стоїть перед операндами), інфіксним (знак операції стоїть між операндами) або постфіксним (знак операції стоїть після операндів). За кількості операндів понад 2 префіксний і постфіксний записи економніші.[1][2]

OR
Venn diagram of
Визначення
Таблиця істинності
Логічний вентиль
Нормальні форми
Диз'юнктивна
Кон'юнктивна
Алгебрична
Ґратка Поста
(зберігає 0)Green tickТак
(зберігає 1)Green tickТак
(монотонна)Green tickТак
(лінійна)
(само-двоїста)

Позначається: в математиці та логіці як , у програмуванні як | чи or.

Найчастіше трапляються такі варіанти запису: a||b, a|b, ab, a+b, a or b.[3]

У техніці операцію диз'юнкції втілює логічний вентиль АБО.

Визначення

ред.

У булевій алгебрі диз'юнкція — це функція двох, трьох або більшої кількості змінних (вони ж — операнди операції, вони ж — аргументи функції).

Правило: результат дорівнює 0, якщо всі операнди дорівнюють 0; у всіх інших випадках результат дорівнює 1.

Таблиця істинності виглядає таким чином:

   
FFF
FTT
TFT
TTT

Відповідною операцією в теорії множин є об'єднання множин.

Властивості

ред.
 
 
 
 
 
 
 

Функціональна повнота

ред.

Множина операцій   є функціонально повною:

 
 
 
 

Двійкові операції

ред.

Диз'юнкція часто використовується для двійкових операцій. Наприклад:

Логічний елемент 2АБО AB f (A B)

  • 0   0 = 0
  • 0   1 = 1
  • 1   0 = 1
  • 1   1 = 1
  • 1010   1110 = 1110

Мнемонічне правило для диз'юнкції з будь-якою кількістю входів звучить так: На виході буде: «1» тоді й тільки тоді, коли хоча б на одному вході є «1», «0» тоді й тільки тоді, коли на всіх входах «0».

Багатозначна логіка

ред.

У багатозначній логіці операція диз'юнкції може визначатися іншими способами. Найчастіше застосовують схему: a b= max(a, b), де a, b[0,1]. Можливі й інші варіанти. Як правило, намагаються зберегти сумісність із булевою алгеброю для значень операндів 0, 1.

Програмування

ред.

У комп'ютерних мовах використовують два основні варіанти диз'юнкції: логічне «АБО» і побітове «АБО». Наприклад, у мовах C / C++ логічне «АБО» позначається символом "||", а побітове — символом "|". У мовах Pascal / Delphi обидва види диз'юнкції позначають із використанням ключового слова «or», а результат дії визначається типом операндів. Якщо операнди мають логічний тип (наприклад, Boolean), то виконується логічна операція; якщо цілочисельний (наприклад, Byte) — порозрядне.

Логічне «АБО» застосовується в операторах умовного переходу або в аналогічних випадках, коли потрібне отримання результату false або true. Наприклад:

if  (a || b) {/* певні дії */}; 

Результат буде дорівнювати false, якщо обидва операнди рівні false або 0. За будь-яких інших умов результат буде дорівнювати true.

При цьому справедлива стандартна умова: якщо значення лівого операнда є true, то значення правого операнда не обчислюється (замість b може стояти будь-яка складна формула). Це прискорює виконання програми й стає у пригоді за деяких обставин.

Побітове «АБО» виконує звичайну операцію булевої алгебри для всіх бітів лівого і правого операнда попарно. Наприклад, якщо a = 01100101 b = 00101001, то a АБО b = 01101101

Див. також

ред.

Література

ред.
  1. Aloni, Maria (23 березня 2016). Disjunction. Архів оригіналу за 24 січня 2022. Процитовано 28 січня 2022.
  2. disjunction | logic | Britannica. www.britannica.com (англ.). Архів оригіналу за 28 січня 2022. Процитовано 28 січня 2022.
  3. Józef Maria Bocheński. Wikipedia (англ.). 5 січня 2022. Процитовано 28 січня 2022.
  4. Double turnstile. Wikipedia (англ.). 5 січня 2022. Процитовано 28 січня 2022.