Konjunktio (logiikka)

**Konjunktio** on propositiologiikassa kaksipaikkainen looginen konnektiivi, joka vastaa yleiskielen sanaa *ja*. Sillä muodostettu yhdistetty lause on tosi, jos molemmat sen yhdistämät lauseet ovat tosia, muussa tapauksessa epätosi. Lauseiden *A* ja *B* konjunktiolle käytetään merkintää A \land B.

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

* joukko-opissa leikkaus 
* predikaattilogiikassa universaalikvanttori eli kaikki-kvanttori
* elektroniikassa konjunktiota vastaa AND-portti.

## Merkinnät

Loogiselle konjunktiolle käytetään kirjallisuudessa useita eri symboleja. Sanan "ja" () 
ohella sille käytetään yleisesti symbolia "\land", Esimerkiksi "*A* \land *B*&nbsp;" luetaan "*A* ja *B*".  Tällainen konjunktio on tosi vain jos sekä *A* että *B* ovat tosia lauseita, muussa tapauksessa se on epätosi.

Kaikki seuraavat ovat konjunktiota:
: A \land B
: \neg A \land B
: A \land \neg B \land \neg C \land D \land \neg E.

Boolen algebrassa konjunktiolle käytetään merkintää A + B.  Jan Lukasiewiczin prefiksinotaatiossa disjunktion merkkinä käytetään K-kirjainta, joka on lyhenne puolan kielen sanasta *koniunkcja*. Tällöin lauseiden *p* ja *q* konjunktio merkitään K*pq*.

Eri ohjelmointikielissä konjunktiota vastaava operaattori merkitään tavallisimmin joko sanalla `and` tai kahdella et-merkillä (`&&`).

## Totuustaulu

Operaation ~A \land B totuustaulu on seuraava:

## Ominaisuudet

Looginen konjunktio 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 disjunktio.  Konjunktio on lisäksi idem­potentti eli minkä tahansa lauseen konjunktiolla itsensä kanssa on sama totuus­arvo kuin alku­peräisellä lauseella. Tätä havainnollistavat seuraavat kaaviot: 

* **Vaihdannaisuus**

* **Liitännäisyys**

* **Osittelulaki loogisen disjunktion suhteen**

* **Idempotenssi**

* **[[Monotoninen funktio|Monotonisuus]]**

* **Totuuden säilyttävä validiteetti**
Kun kaikki konjunktiolla yhdistettävät lauseet ovat tosia, konjunktio on tosi.

* **Epätotuuden säilyttävä validiteetti**
Kun kaikki konjunktiolla yhdistettävät lauseet ovat epätosia, disjunktio on epätosi.

* **[[Hadamardin muunnos|Walshin spektri]]: (1, -1, 1, -1)**

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

Jos totuusarvoille käytetään binäärilukumerkintöjä 1 (tosi) ja 0 (epätosi), looginen konjunktio toimii samoin kuin näiden lukujen normaali kertolasku.

## Sovellukset tietotekniikassa

Useimmissa ohjelmointikielissä on konjunktiota vastaava operaattori.  Se merkitään monissa
ohjelmointikielissä varatulla sanalla `and`, mutta esimerkiksi C:ssä ja siihen pohjautuvissa ohjelmointikielissä kahdella et-merkillä (`&&`). 

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

Konjunktiota vastaava looginen portti on AND-portti.

### Biteittäinen operaatio

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

* 0 `and` 0 = 0
* 0 `and` 1 = 0
* 1 `and` 0 = 0
* 1 `and` 1 = 1

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

Biteittäinen konjunktio on käytettävissä muun muassa C-kielessä, jossa se merkitään yhdellä et-merkillä (`&`).

Biteittäisellä konjunktiolla voidaan muun muassa selvittää, minkä annetussa bittijonossa on jonkin tietyn bitin arvo. Esimerkiksi laskutoimitus
`10011101 AND 00001000`
antaa tulokseksi bittijonon 00001000, joka osoittaa, että vasemmanpuoleisen luvun viidennen bitin arvo on 1.

## Leikkaus

Konjunktiota vastaava operaatio joukko-opissa on leikkaus. Kahden joukon leikkaus määritelläänkin konjunktion avulla:  a \in A \cap B, jos ja vain jos  a \in A \land a \in B. Toisin sanoen alkio *a* kuuluu joukkojen *A* ja *B* leikkaukseen, jos ja vain jos se kuuluu molempiin näistä joukoista, Tämän vuoksi joukko-opillinen leikkaus noudattaa pitkälti samoja sääntöjä kuin konjunktiokin: 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ä loogista konjunktiota vastaa lähinnä sana kieliopillinen konjunktio *ja*. Tätä sanaa, samoin kuin sen vastineita useissa muissakin kielissä, käytetään kuitenkin myös tavoilla, jotka eivät vastaa loogisen konjunktion käsitettä. Toisinaan sillä ilmaistaan seurausta tai uhkausta, esimerkiksi: "vielä yksi sana, ja minä lähden", jonkin asian jatkamista huomattavan kauan, esimerkiksi "miettii ja miettii", tai sitä käytetään yhdistämään jonkin luvun tai määrän pienempää yksikköä suurempaan, esimerkiksi "kello 12 ja 50" (=12.50) tai Tuhannen ja yhden yön tarinat.

## Katso myös
* Disjunktio
* AND-portti
* Propositiologiikka
* Boolen algebra

## Lähteet

## Aiheesta muualla
*