Дисјункција

Из Википедије, слободне енциклопедије
Венов дијаграм за
~A \or B \or C

У логици и математици, ИЛИ је логички оператор такође познат као дисјункција, може се препознати по знацима V или +. Дисјункција враћа вредност тачно, увек када је један или више његових операнда тачно. Из овог разлога се ова операција зове ИЛИ операција (на енглеском OR). На пример, израз А или Б вратиће да је израз тачан ако А има вредност тачно, ако Б има вредност тачно или ако и А и Б имају вредноси тачно. У граматици ИЛИ је незавицни раставни везник.

Поред дисјункције постоји и Ексклузивна дисјункција. Разликујемо их по томе што, код ексклузивне дисјункције ако су обе вредности тачне решење ће бити нетачно , док ће код дисјункције решење бити тачно.

Обележавање[уреди]

ИЛИ се обично изражава са уметнутним оператором. У математици и логици, обично је ; у електроници, +; и у програмирању, | или or.

Дефиниција[уреди]

Дисјункција је логичка операција над две логичке вредности, обично са вредностима исказа који могу имати вредност тачно или нетачно, и дају нетачну вредност ако и само ако су оба исказа нетачна.

Табела истинитости[уреди]

Табела истинитости за ~A \or B:

УЛАЗ ИЗЛАЗ
A B A ИЛИ B
T T
T T
T T T

Особине[уреди]

  • Еквивалентност:
A \or B     \Leftrightarrow     B V A
Venn0111.svg     \Leftrightarrow     Venn0111.svg


~A ~~~\or~~~ (B \or C)     \Leftrightarrow     (A \or B) ~~~\or~~~ ~C
Venn 0101 0101.svg ~~~\or~~~ Venn 0011 1111.svg     \Leftrightarrow     Venn 0111 1111.svg     \Leftrightarrow     Venn 0111 0111.svg ~~~\or~~~ Venn 0000 1111.svg
~A \or (B \and C)     \Leftrightarrow     (A \or B) \and (A \or C)
Venn 0101 0101.svg \or Venn 0000 0011.svg     \Leftrightarrow     Venn 0101 0111.svg     \Leftrightarrow     Venn 0111 0111.svg \and Venn 0101 1111.svg
~A~ ~\or~ ~A~     \Leftrightarrow     A~
Venn01.svg ~\or~ Venn01.svg     \Leftrightarrow     Venn01.svg
A \rightarrow B     \Rightarrow     (A \or C) \rightarrow (B \or C)
Venn 1011 1011.svg     \Rightarrow     Venn 1011 1111.svg     \Leftrightarrow     Venn 0101 1111.svg \rightarrow Venn 0011 1111.svg

Када су сви искази тачни, цео исказ је тачан.

A \and B     \Rightarrow     A \or B
Venn0001.svg     \Rightarrow     Venn0111.svg
(to be tested)

Када су сви изрази нетачни, цео исказ је нетачан.

A \or B     \Rightarrow     A \or B
Venn0111.svg     \Rightarrow     Venn0111.svg
(to be tested)

Симбол[уреди]

Математички сибол за локичку дисјункцију зависи од литературе. Поред речи или, симбол \or, који долази од латинске речи vel за или, се обично користи за дисјункцију. На пример, A \or B се чита као A или B. Таква дисјункција је нетачна ако су оба исказа, A и B, нетачни. У свим другим случајевима је тачна.

Примери дисјункције:

A \or B
\neg A \or B
A \or \neg B \or \neg C \or D \or \neg E.


Дисјункција у програмирању[уреди]

Оператори који одговарају логичкој дисјункцији постоје у већини програмских језика.

Операције над битовима[уреди]

Дисјункција се често користи за операције над битовима. Примери:

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 1
  • 1010 + 1100 = 1110

ИЛИ оператер може да се користи за подешавање битова у битном пољу на 1, дисјункцијом области са константним областима, са релевантним битовима подешеним на 1. На пример, к = к | 0б00000001 ће приморати коначну бит на 1, а остали битови остављајући непромењен.

Логичне операције[уреди]

Многи језици праве разлику између битовне и логичке дисјункције пружањем два различита оператера, у језицима који користе C, битовна дисјункција врши се са једноцевним (|) а логичка дисјункција са двоцевним (||) операторима.

Логичка дисјункција је обично кратког споја, то јест, ако је први (леви) операнд тачан тада се други (десни) операнд не оцењује. Логичка дисјункција оператора дакле обично представља тачку секвенце.

У паралелном језику, могућ је кратки споја обе стране: процењују се паралелно, и ако се једна заврши са вредношћу тачно, друга се прекида. Овај оператер је зато назван паралелно ИЛИ.

Иако је у већини језика логичка дисјункција боолеан израз и на тај начин може само да има вредност тачно или нетачно, у неким (као што је ЈаваСкипт) оператер логицке дисјункције враћа један од својих операнада: први операнд ако се испостави да је вредност тачна, или други операнд у супротном случају.