Lausetta {\displaystyle \scriptstyle A\lor B} vastaava Venn-diagrammi
Lausetta {\displaystyle \scriptstyle A\lor B\lor C} vastaava Venn-diagrammi
**Disjunktio** on propositiologiikassa kaksipaikkainen looginen konnektiivi, joka vastaa yleiskielen sanaa *tai*. Sillä muodostettu yhdistetty lause on tosi, jos ainakin yksi sen yhdistämistä lauseista on tosi, muussa tapauksessa epätosi. Lauseiden *A* ja *B* disjunktiolle käytetään merkintää {\displaystyle A\lor B}.

Näin määritellystä disjunktiosta käytetään myös nimitystä *inklusiivinen tai* eli *inklusiivinen disjunktio* erotukseksi eksklusiivisesta disjunktiosta ("joko A tai B, mutta ei molemmat"), joka on tosi vain silloin, jos vain toinen sen yhdistämistä lauseista on tosi. Koska sanaa *tai* käytetään tavallisessa kielessä eri yhteyksissä kummassakin merkityksessä, inklusiivista disjunktiota tarkoitettaessa käytetään mahdollisen väärin­käsityksen välttämiseksi nykyisin joskus ilmaisua *ja/tai*.

Disjunktioon läheisesti liittyviä käsitteitä muissa yhteyksissä ovat:

* joukko-opissa unioni eli yhdiste
* predikaattilogiikassa eksistenssikvanttori eli olemassaolokvanttori
* elektroniikassa disjunktiota vastaa OR-portti.

Merkinnät
---------

Loogiselle disjunktiolle käytetään kirjallisuudessa useita eri symboleja. Sanan "tai" (engl. *or*) ohella sille käytetään yleisesti symbolia "{\displaystyle \lor }", joka on muodostettu latinan sanan *vel* ("tai") alkukirjaimesta. Esi­merkiksi "*A* {\displaystyle \lor } *B* " luetaan "*A* tai *B*". Tällainen disjunktio on epä­tosi vain jos sekä *A* että *B* ovat epä­tosia lauseita, muussa tapauksessa se on tosi.

Kaikki seuraavat ovat disjunktiota:

{\displaystyle A\lor B}
{\displaystyle \neg A\lor B}
{\displaystyle A\lor \neg B\lor \neg C\lor D\lor \neg E.}
Boolen algebrassa disjunktiolle käytetään merkintää {\displaystyle A+B}. Jan Lukasiewiczin prefiksinotaatiossa disjunktion merkkinä käytetään A-kirjainta, joka on lyhenne puolan kielen sanasta *alternatywa*. Tällöin lauseiden *p* ja *q* disjunktio merkitään A*pq*.

Eri ohjelmointikielissä disjunktiota vastaava operaattori merkitään tavallisimmin joko sanalla `or` tai kahdella pystyviivalla (`||`).

Totuustaulu
-----------

Vasemmalla olevien argumenttien disjunktiot: arvon epätosi saavat bitit muodostavat Sierpinskin kolmion.
Operaation {\displaystyle ~A\lor B} totuustaulu on seuraava:

|  |  |
| --- | --- |
| **LAUSEET** | **DISJUNKTIO** |
| {\displaystyle A} | {\displaystyle B} | {\displaystyle A\lor B} |
| tosi | tosi | tosi |
| tosi | epätosi | tosi |
| epätosi | tosi | tosi |
| epätosi | epätosi | epätosi |

Ominaisuudet
------------

Looginen disjunktio noudattaa lasku­lakeja, jotka pitkälti ovat analogisia esi­merkiksi reaalilukujen lasku­säännöille. Se on vaihdannainen ja liitännäinen, ja sille pätee myös osittelulaki, kun toisena lasku­toimituksena on looginen konjunktio. Disjunktio on lisäksi idem­potentti eli minkä tahansa lauseen disjunktiolla itsensä kanssa on sama totuus­arvo kuin alku­peräisellä lauseella. Tätä havainnollistavat seuraavat kaaviot:

* **Vaihdannaisuus**

|  |  |  |
| --- | --- | --- |
| {\displaystyle A\lor B} |     {\displaystyle \Leftrightarrow }     | {\displaystyle B\lor A} |
|  |     {\displaystyle \Leftrightarrow }     |  |

* **Liitännäisyys**

|  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle ~A} | {\displaystyle ~~~\lor ~~~} | {\displaystyle (B\lor C)} |     {\displaystyle \Leftrightarrow }     |  |  | {\displaystyle (A\lor B)} | {\displaystyle ~~~\lor ~~~} | {\displaystyle ~C} |
|  | {\displaystyle ~~~\lor ~~~} |  |     {\displaystyle \Leftrightarrow }     |  |     {\displaystyle \Leftrightarrow }     |  | {\displaystyle ~~~\lor ~~~} |  |

* **Osittelulaki loogisen konjunktion suhteen**

|  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle ~A} | {\displaystyle \lor } | {\displaystyle (B\land C)} |     {\displaystyle \Leftrightarrow }     |  |  | {\displaystyle (A\lor B)} | {\displaystyle \land } | {\displaystyle (A\lor C)} |
|
|  | {\displaystyle \lor } |  |     {\displaystyle \Leftrightarrow }     |  |     {\displaystyle \Leftrightarrow }     |  | {\displaystyle \land } |  |

| muita |
| --- |
| liitännäisyys loogisen ekvivalenssin suhteen:

|  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle ~A} | {\displaystyle \lor } | {\displaystyle (B\leftrightarrow C)} |     {\displaystyle \Leftrightarrow }     |  |  | {\displaystyle (A\lor B)} | {\displaystyle \leftrightarrow } | {\displaystyle (A\lor C)} |
|
|  | {\displaystyle \lor } |  |     {\displaystyle \Leftrightarrow }     |  |     {\displaystyle \Leftrightarrow }     |  | {\displaystyle \leftrightarrow } |  |

liitännäisyys loogisen implikaation suhteen:

|  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle ~A} | {\displaystyle \lor } | {\displaystyle (B\rightarrow C)} |     {\displaystyle \Leftrightarrow }     |  |  | {\displaystyle (A\lor B)} | {\displaystyle \rightarrow } | {\displaystyle (A\lor C)} |
|
|  | {\displaystyle \lor } |  |     {\displaystyle \Leftrightarrow }     |  |     {\displaystyle \Leftrightarrow }     |  | {\displaystyle \rightarrow } |  |

liitännäisyys itsensä kanssa:

|  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle ~A} | {\displaystyle \lor } | {\displaystyle (B\lor C)} |     {\displaystyle \Leftrightarrow }     |  |  | {\displaystyle (A\lor B)} | {\displaystyle \lor } | {\displaystyle (A\lor C)} |
|
|  | {\displaystyle \lor } |  |     {\displaystyle \Leftrightarrow }     |  |     {\displaystyle \Leftrightarrow }     |  | {\displaystyle \lor } |  |

 |

* **Idempotenssi**

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
| {\displaystyle ~A~} | {\displaystyle ~\lor ~} | {\displaystyle ~A~} |     {\displaystyle \Leftrightarrow }     | {\displaystyle A~} |
|  | {\displaystyle ~\lor ~} |  |     {\displaystyle \Leftrightarrow }     |  |

* **Monotonisuus**

|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| {\displaystyle A\rightarrow B} |     {\displaystyle \Rightarrow }     |  |  | {\displaystyle (A\lor C)} | {\displaystyle \rightarrow } | {\displaystyle (B\lor C)} |
|  |     {\displaystyle \Rightarrow }     |  |     {\displaystyle \Leftrightarrow }     |  | {\displaystyle \rightarrow } |  |

* **Totuuden säilyttävä validiteetti**

Kun kaikki disjunktiolla yhdistettävät lauseet ovat tosia, disjunktio on tosi.

|  |  |  |
| --- | --- | --- |
| {\displaystyle A\land B} |     {\displaystyle \Rightarrow }     | {\displaystyle A\lor B} |
|  |     {\displaystyle \Rightarrow }     |  |
|  |  | (kokeiltava) |

* **Epätotuuden säilyttävä validiteetti**

Kun kaikki disjunktiolla yhdistettävät lauseet ovat epätosia, disjunktio on epätosi.

|  |  |  |
| --- | --- | --- |
| {\displaystyle A\lor B} |     {\displaystyle \Rightarrow }     | {\displaystyle A\lor B} |
|  |     {\displaystyle \Rightarrow }     |  |
|  |  |

* **Walshin spektri: (3,-1,-1,-1)**

* **Epälineaarisuus: 1** (funktio on taivutettu)

Jos totuusarvoille käytetään binäärilukumerkintöjä tosi (1) ja epätosi (0), looginen disjunktio toimii lähes samoin kuin binäärinen yhteen­lasku. Erona on vain se, että {\displaystyle 1\lor 1=1}, kun taas binääri­järjestelmässä {\displaystyle 1+1=10}.

Sovellukset tietotekniikassa
----------------------------

OR-portti
Useimmissa ohjelmointikielissä on disjunktiota vastaava operaattori. Se merkitään monissa ohjelmointikielissä varatulla sanalla `or`, mutta esimerkiksi C:ssä ja siihen pohjautuvissa ohjelmointikielissä kahdella pystyviivalla (`||`).

Looginen disjunktio suoritetaan yleensä minimaalisella evaluaatiolla. Tämä merkitsee, että jos sen ensimmäinen (vasemmanpuoleinen) operandi on arvoltaan *tosi*, ohjelma ei edes tarkista, mikä sen jälkimmäisen operandin arvo on.

Useimmissa ohjelmointi­kielissä looginen disjunktio antaa tulokseksi aina boolean-tyyppisen muuttujan, jolla on vain kaksi mahdollista arvoa: tosi (1) tai epätosi (0). Monissa vahvasti tyypitetyissä kielissä disjunktio voidaan sitä paitsi suorittaa vain, jos molemmat sillä yhdistettävät operanditkin ovat boolean-tyyppisiä. Joissakin heikosti tyypitetyissä kielissä, esimerkiksi C:ssä, disjunktio voidaan kuitenkin suorittaa silloinkin, kun operandit ovat esimerkiksi kokonais- tai reaaliluku­tyyppisiä; tällöin tuloksena on 0 (epätosi) vain, jos molemmat operandit ovat nollia, mulloin tuloksena on 1 (tosi). Tällöin siis operandien kaikkien muiden arvon kuin nollan katsotaan vastaavan totuus­arvoa tosi.

Muutamissa ohjelmointikielissä kuten Pythonissa ja JavaScriptissä disjunktio-operaattori voi kuitenkin palauttaa muitakin arvoja kuin 1 tai 0. Tällöin se saa arvokseen operaattorin ensimmäisen operandin arvon, jos se on "tosi" eli ei ole nolla, muussa tapauksessa jälkimmäisen operandin arvon.

Disjunktiota vastaava looginen portti on OR-portti.

### Biteittäinen operaatio

Joissakin ohjelmointikielissä on määritelty myös *biteittäinen disjunktio'*. Tällöin operandit, jotka voivat olla esimerkiksi binäärisiä kokonaislukuja, käydään läpi bitti bitiltä ja suoritetaan disjunktio-operaatiot kummankin operandin vastaavien bittien välillä. Tuloksena saadaan muuttuja, jossa kunkin bitin arvo riippuu operandien bittien arvoista seuraavasti:

* 0 `or` 0 = 0
* 0 `or` 1 = 1
* 1 `or` 0 = 1
* 1 `or` 1 = 1

Käymällä bitit läpi esimerkiksi binääriluvuista 11001010 ja 10100011 saadaan tulokseksi 11101011.

Biteittäinen disjunktio on käytettävissä muun muassa C-kielessä, jossa se merkitään yhdellä pystyviivalla (`|`).

Biteittäisellä disjunktiolla voidaan muun muassa asettaa halutulle bitille arvo 1 muiden bittien pysyessä ennallaan. Esimerkiksi lauseella `x = x | 0b00000001` saadaan muuttujan x viimeinen bitti ykköseksi.

Unioni
------

Disjunktiota vastaava operaatio joukko-opissa on unioni. Kahden joukon unioni määritelläänkin disjunktion avulla: {\displaystyle a\in A\cup B}, jos ja vain jos {\displaystyle a\in A\lor a\in B}. Toisin sanoen alkio *a* kuuluu joukkojen *A* ja *B* unioniin, jos ja vain jos se kuuluu näistä joukoista ainakin toiseen. Tämän vuoksi joukko-opillinen unioni noudattaa pitkälti samoja sääntöjä kuin disjunktiokin: sillekin pätevät vaihdanta-, liitäntä-, osittelu- ja de Morganin lait.

Luonnolliset kielet
-------------------

Matemaattisessa logiikassa määritellyt käsitteet ovat merkitykseltään erilaisia kuin luonnollisen kielen sanat yleensä ovat. Suomen kielessä disjunktiota vastaa lähinnä sana *tai*, jota käytetään kuitenkin ainakin kahdessa toisistaan poikkeavassa merkityksessä, kuten sen vastineita useissa muissakin kielissä. Jos joku esimerkiksi pyytää: "Soita minulle tai lähetä sähköpostia", tällöin tarkoitetaan toden­näköisesti: "tee toinen, mutta älä molempia." Jos taas josta­kusta sanotaan: "Kun hän sai niin korkea arvo­sanat, hän selvästikin on hyvin lahjakas tai opiskelee ahkerasti"; tällöin ei suljeta pois sitä mahdollista, että molemmat vaihto­ehdot ovat tosia. Toisin sanoen sana "tai" voi tarkoittaa sekä inklu­siivista että eksklu­siivista disjunktiota. Silloin kun kyseessä on inklu­siivinen disjunktio, käytetään nykyisin toisinaan asian selventämiseksi ilmaisua "ja/tai".

Katso myös
----------

* Konjunktio (logiikka)
* OR-portti
* Propositiologiikka
* Boolen algebra

Lähteet
-------

1. 1 2  Disjunction Stanford Enclycopedia of Philosophy. Viitattu 9.4.2015.
2. 1 2  "Logiikka (Lauselogiikka, Konnektiivit)", *Otavan suuri ensyklopedia, 5. osa (Kriminologia–Makuaisti)*, s. 3800. Otava, 1978. ISBN 951-1-04827-9.
3. 1 2  "Disjunction", *Encyclopedia of Mathematics*. Springer, The European Mathematical Society, 2001. ISBN 978-1-55608-010-4. Teoksen verkkoversio.
4. ↑  Jósef Maria Bocheński: *A Précis of Mathematical Logic*. Otto Bird kääntänyt englanniksi ranskalaisista ja saksalaisista laitoksista. Dordrecht: D. Reidel, 1959.

Aiheesta muualla
----------------

* Disjunction MathWorld. Viitattu 9.4.2015.

Käännös suomeksiKäännös suomeksi Tämä artikkeli tai sen osa on käännetty tai siihen on haettu tietoja muunkielisen Wikipedian artikkelista.   
Alkuperäinen artikkeli: en:Logical disjunction