Диз'юнкція (логіка)
OR | |
---|---|
Визначення | |
Таблиця істинності | |
Логічний вентиль | |
Нормальні форми | |
Диз'юнктивна | |
Кон'юнктивна | |
Алгебрична | |
Ґратка Поста | |
(зберігає 0) | |
(зберігає 1) | |
(монотонна) | |
(лінійна) | ✗ |
(само-двоїста) | ✗ |
Диз'юнкція (лат. disjunctio — розділення) (операція OR) — двомісна логічна операція, що має значення «істина», якщо хоча б один з операндів має значення «істина». Операція відображає вживання сполучника «або» в логічних висловлюваннях. Диз'юнкція є бінарною операцією, тобто має два операнди. Запис може бути префіксним (знак операції стоїть перед операндами), інфіксним (знак операції стоїть між операндами) або постфіксним (знак операції стоїть після операндів). За кількості операндів понад 2 префіксний і постфіксний записи економніші.[1][2]
Позначається: в математиці та логіці як , у програмуванні як | чи or.
Найчастіше трапляються такі варіанти запису: a||b, a|b, ab, a+b, a or b.[3]
У техніці операцію диз'юнкції втілює логічний вентиль АБО.
У булевій алгебрі диз'юнкція — це функція двох, трьох або більшої кількості змінних (вони ж — операнди операції, вони ж — аргументи функції).
Правило: результат дорівнює 0, якщо всі операнди дорівнюють 0; у всіх інших випадках результат дорівнює 1.
Таблиця істинності виглядає таким чином:
F | F | F |
F | T | T |
T | F | T |
T | T | T |
Відповідною операцією в теорії множин є об'єднання множин.
Множина операцій є функціонально повною:
Диз'юнкція часто використовується для двійкових операцій. Наприклад:
Логічний елемент 2АБО AB f (A B)
- 0 0 = 0
- 0 1 = 1
- 1 0 = 1
- 1 1 = 1
- 1010 1110 = 1110
Мнемонічне правило для диз'юнкції з будь-якою кількістю входів звучить так: На виході буде: «1» тоді й тільки тоді, коли хоча б на одному вході є «1», «0» тоді й тільки тоді, коли на всіх входах «0».
У багатозначній логіці операція диз'юнкції може визначатися іншими способами. Найчастіше застосовують схему: ab= 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
- Диз'юнкція // Філософський енциклопедичний словник / В. І. Шинкарук (гол. редкол.) та ін. — Київ : Інститут філософії імені Григорія Сковороди НАН України : Абрис, 2002. — С. 155. — 742 с. — 1000 екз. — ББК 87я2. — ISBN 966-531-128-X.
- ↑ Aloni, Maria (23 березня 2016). Disjunction. Архів оригіналу за 24 січня 2022. Процитовано 28 січня 2022.
- ↑ disjunction | logic | Britannica. www.britannica.com (англ.). Архів оригіналу за 28 січня 2022. Процитовано 28 січня 2022.
- ↑ Józef Maria Bocheński. Wikipedia (англ.). 5 січня 2022. Процитовано 28 січня 2022.
- ↑ Double turnstile. Wikipedia (англ.). 5 січня 2022. Процитовано 28 січня 2022.