Disjunktiivinen normaalimuoto

Disjunktiivinen normaalimuoto tarkoittaa sellaista lauseketta, joka on koottu propositiologiikan propositiomuuttujista sekä TAI-, JA- ja EI-konnektiiveista (merkitään {\displaystyle \lor } , {\displaystyle \land } ja ¬ {\displaystyle \neg } ) tietyllä tavalla, joka kuvataan alla tarkemmin. Tämän menetelmän mukainen esitys on olemassa jokaiselle totuusfunktiolle, mikä osoittaa kyseisen konnektiivijoukon täydelliseksi ja näin tekee propositiologiikan "peruskonnektiiveista" ja itse disjunktiivisen normaalimuodon menetelmästä perustavan välineen niin kaksiarvologiikan tutkimiselle kuin sen sovelluksillekin esimerkiksi loogisissa piireissä.

Normaalimuodon rakenne

Puuesityskuva yllä mainitusta disjunktiivisesta normaalimuodosta. Kuvassa käytetty merkintää, jossa {\displaystyle \land } (vastaavasti {\displaystyle \lor } ) kattaa senkin tilanteen, jossa kyseistä konnektiivia ei todella tarvittaisi silloin, kun sillä yhdistettäviä on vain yksi kappale. (Kuvassa tämä tilanne toteutuu x 10 {\displaystyle \mathbf {} x_{10}} -alkeiskonjunktion kohdalla.)

Totuusfunktiota esittävän lausekkeen sanotaan olevan disjunktiivisessa normaalimuodossa, kun se on seuraavaa muotoa:

  • Lauseke on yhden tai useamman alkeiskonjunktion disjunktio.
  • Kukin alkeiskonjunktio on yhden tai useamman literaalin konjunktio.
  • Kukin literaali on joko yksittäinen propositiomuuttuja tai sellaisen negaatio.

Esimerkiksi lauseke

( ¬ x 10 x 7 x 9 ¬ x 2 ¬ x 6 ) ( x 10 ) ( ¬ x 4 x 12 x 4 ¬ x 4 ) {\displaystyle \mathbf {} (\neg x_{10}\land x_{7}\land x_{9}\land \neg x_{2}\land \neg x_{6})\lor (x_{10})\lor (\neg x_{4}\land x_{12}\land x_{4}\land \neg x_{4})}

on disjunktiivisessa normaalimuodossa. Se koostuu kolmesta alkeiskonjunktiosta, joissa on viisi, yksi ja neljä literaalia.

On huomattava, ettei mikä tahansa TAI-, JA- ja EI-konnektiiveja yhdistelemällä muodostettu lauseke ole disjunktiivisessa normaalimuodossa. Normaalimuoto edellyttää "3-tasoisuutta", jossa TAI-konnektiivit ovat uloimpana, JA-konnektiivit seuraavalla tasolla, ja EI-konnektiivit sisimpänä suoraan propositiomuuttujien edessä.

Normaalimuodon käyttö halutun totuusfunktion esittämisessä

Mielivaltainen totuusfunktio f {\displaystyle \mathbf {} f} voidaan esittää disjunktiivisessa normaalimuodossa olevalla lausekkeella, jonka muodostamisen tapa kuvataan tässä.

Monipaikkainen yhdistely TAI- tai JA-konnektiivilla

Alipropositioiden monipaikkainen TAI-yhdistelmä P 1 P n {\displaystyle \mathbf {} P_{1}\lor \dots \lor P_{n}} antaa TAI-konnektiivien sulutuksesta huolimatta arvon 1 {\displaystyle \mathbf {} 1} tarkalleen silloin jos edes yksi P {\displaystyle \mathbf {} P} -alipropositio saa arvon 1 {\displaystyle \mathbf {} 1} , sillä TAI:n määritelmän perusteella se nousee "sulkuja avattaessa" aina ylemmäs päätyen lopulta koko lausekkeen arvoksi. Esimerkiksi

( 0 1 ) ( 0 0 ) = 1 ( 0 0 ) = 1 0 = 1 = 1 0 = ( 0 1 ) 0 = ( 0 ( 1 0 ) ) 0 {\displaystyle \mathbf {} (0\lor 1)\lor (0\lor 0)=1\lor (0\lor 0)=1\lor 0=1=1\lor 0=(0\lor 1)\lor 0=(0\lor (1\lor 0))\lor 0} .

Erityisesti TAI-konnektiivi on siis liitännäinen. Sama päättely pätee JA-konnektiivilla arvon 0 {\displaystyle \mathbf {} 0} suhteen, joten on nähty miten TAI- tai JA-konnektiivin yhdistelmä on tulkittavissa monipaikkaiseksi totuusfunktioiksi yksinkertaisella tavalla. Esimerkiksi monipaikkainen JA-konnektiivi antaa arvon 1 {\displaystyle \mathbf {} 1} vain silloin, kun kaikki siinä yhdistettävät arvot ovat 1 {\displaystyle \mathbf {} 1} .

Käytettävien alkeiskonjunktioiden muodostaminen

Muodostetaan sellaisia alkeiskonjunktioita, jotka saavat arvon 1 {\displaystyle \mathbf {} 1} tarkalleen yhdellä totuusjakaumalla, ja nämä totuusjakaumat ovat tarkalleen samat kuin ne, joilla haluttu totuusfunktio f {\displaystyle \mathbf {} f} saa arvon 1 {\displaystyle \mathbf {} 1} . Tämä onnistuu niin, että kussakin muodostettavassa alkeiskonjunktiossa on kaikki f {\displaystyle \mathbf {} f} :n käyttämät propositiomuuttujat, joista EI-konnektiivilla varustetaan ne, joiden arvo on 0 {\displaystyle \mathbf {} 0} alkeiskonjunktioon liittyvässä totuusjakaumassa, jotta kaikista literaaleista saataisiin sillä arvo 1 {\displaystyle \mathbf {} 1} alkeiskonjunktion JA-yhdistelyyn ja täten 1 {\displaystyle \mathbf {} 1} alkeiskonjunktiosta saatavaksi arvoksi. Jos esimerkiksi f {\displaystyle \mathbf {} f} saa arvon 1 {\displaystyle \mathbf {} 1} totuusjakaumalla x 1 x 2 x 3 x 4 = 0110 {\displaystyle \mathbf {} x_{1}x_{2}x_{3}x_{4}=0110} , tähän totuusjakaumaan liitetään alkeiskonjunktio ( ¬ x 1 x 2 x 3 ¬ x 4 ) {\displaystyle \mathbf {} (\neg x_{1}\land x_{2}\land x_{3}\land \neg x_{4})} .

Lopullisen normaalimuoto-esityksen kokoaminen ja sen vastaavuus totuusfunktion kanssa

Yhdistetään yllä kuvatulla tavalla muodostetut alkeiskonjunktiot TAI-konnektiiveilla, jolloin halutun totuusfunktion f {\displaystyle \mathbf {} f} normaalimuotoesitys on valmis. Näin koottu lauseke esittää todella haluttua totuusfunktiota, sillä siitä saadaan arvo 1 {\displaystyle \mathbf {} 1} tarkalleen silloin, kun joku TAI-yhdistelyssä olevista alkeiskonjunktioista antaa arvon 1 {\displaystyle \mathbf {} 1} , mikä taas käytettyjen alkeiskonjunktioiden muodostamistavan perusteella tarkoittaa sitä, että totuusjakaumana on nyt jokin niistä totuusjakaumista, joilla haluttu totuusfunktio f {\displaystyle \mathbf {} f} saa arvon 1 {\displaystyle \mathbf {} 1} . Toisaalta jokaista f {\displaystyle \mathbf {} f} :ssä arvon 1 {\displaystyle \mathbf {} 1} antavaa totuusjakaumaa kohti koottu esitys sisältää alkeiskonjunktion, joka antaa arvon 1 {\displaystyle \mathbf {} 1} tällä totuusjakaumalla, jolloin 1 {\displaystyle \mathbf {} 1} päätyy TAI-yhdistelyn kautta myös kootusta esityksestä saatavaksi totuusarvoksi. On siis nähty, että f {\displaystyle \mathbf {} f} ja koottu normaalimuoto antavat arvon 1 {\displaystyle \mathbf {} 1} tarkalleen samoilla totuusjakaumilla.

Erikoistapauksena esityksen kokoamisessa on se tilanne, jossa haluttu totuusfunktio on 0 {\displaystyle 0_{\mathbf {} }} -funktio, joka saa arvon 0 {\displaystyle 0_{\mathbf {} }} kaikilla totuusjakaumilla. Yllä kuvatulla tavalla normaalimuodoksi tulisi nyt tyhjä lauseke. Tämän välttämiseksi voidaan esitykseksi valita nyt aina 0 {\displaystyle \mathbf {} 0} -arvoinen lauseke x 1 ¬ x 1 {\displaystyle x_{1}\land \neg x_{1}} , joka on disjunktiivisessa normaalimuodossa sallittua muotoa.

Esimerkki totuusfunktion esityksen kokoamisesta

Totuusfunktion esittäminen disjunktiivisessa normaalimuodossa hahmottunee parhaiten esimerkin kautta. Olkoon haluttu totuusfunktio f {\displaystyle f_{\mathbf {} }} se 3 {\displaystyle 3_{\mathbf {} }} -kokoinen totuusfunktio, joka on kuvattu alla olevassa totuustaulussa.

x 1 x 2 x 3 {\displaystyle x_{1}x_{2}x_{3}\mathbf {} } f ( x 1 x 2 x 3 ) {\displaystyle f(x_{1}x_{2}x_{3})_{\mathbf {} }}
000 {\displaystyle 000_{\mathbf {} }} 1 {\displaystyle 1_{\mathbf {} }}
001 {\displaystyle 001_{\mathbf {} }} 1 {\displaystyle 1_{\mathbf {} }}
010 {\displaystyle 010_{\mathbf {} }} 0 {\displaystyle 0_{\mathbf {} }}
011 {\displaystyle 011_{\mathbf {} }} 0 {\displaystyle 0_{\mathbf {} }}
100 {\displaystyle 100_{\mathbf {} }} 0 {\displaystyle 0_{\mathbf {} }}
101 {\displaystyle 101_{\mathbf {} }} 1 {\displaystyle 1_{\mathbf {} }}
110 {\displaystyle 110_{\mathbf {} }} 0 {\displaystyle 0_{\mathbf {} }}
111 {\displaystyle 111_{\mathbf {} }} 1 {\displaystyle 1_{\mathbf {} }}

Kyseinen totuusfunktio saa arvon 1 {\displaystyle 1_{\mathbf {} }} , kun totuusjakaumana on x 1 x 2 x 3 = 000 , 001 , 101 {\displaystyle x_{1}x_{2}x_{3}=000,001,101_{\mathbf {} }} tai 111 {\displaystyle 111_{\mathbf {} }} , mistä seuraa, että menetelmän mukaiset käytettävät alkeiskonjunktiot ovat nyt ¬ x 1 ¬ x 2 ¬ x 3 , ¬ x 1 ¬ x 2 x 3 , x 1 ¬ x 2 x 3 {\displaystyle \neg x_{1}\neg x_{2}\neg x_{3},\neg x_{1}\neg x_{2}x_{3},x_{1}\neg x_{2}x_{3}\mathbf {} } ja x 1 x 2 x 3 {\displaystyle x_{1}x_{2}x_{3}\mathbf {} } . (Huomaa, että tässä esimerkissä JA-konnektiivit on jätetty kirjoittamatta, mikä on yleinen tapa kirjallisuudessa.)

Kun ne "disjunktoidaan" TAI-konnektiiveilla, normaalimuodon lausekkeeksi saadaan nyt

¬ x 1 ¬ x 2 ¬ x 3 ¬ x 1 ¬ x 2 x 3 x 1 ¬ x 2 x 3 x 1 x 2 x 3 . {\displaystyle \neg x_{1}\neg x_{2}\neg x_{3}\lor \neg x_{1}\neg x_{2}x_{3}\lor x_{1}\neg x_{2}x_{3}\lor x_{1}x_{2}x_{3}.}

Tämä lauseke esittää totuusfunktiota f {\displaystyle f_{\mathbf {} }} , mitä voidaan "testata" vaikka totuusjakaumalla x 1 x 2 x 3 = 100 {\displaystyle x_{1}x_{2}x_{3}=100\mathbf {} } , jolloin lauseke antaa arvon

¬ 1 ¬ 0 ¬ 0 ¬ 1 ¬ 00 1 ¬ 00 100 = 011 010 110 100 = 0 0 0 0 = 0 = f ( 100 ) {\displaystyle \neg 1\neg 0\neg 0\lor \neg 1\neg 00\lor 1\neg 00\lor 100=011\lor 010\lor 110\lor 100=0\lor 0\lor 0\lor 0=0=f(100)}

, tai totuusjakaumalla x 1 x 2 x 3 = 001 {\displaystyle x_{1}x_{2}x_{3}=001\mathbf {} } , jolloin lauseke saa arvon

¬ 0 ¬ 0 ¬ 1 ¬ 0 ¬ 01 0 ¬ 01 001 = 110 111 011 001 = 0 1 0 0 = 1 = f ( 001 ) . {\displaystyle \neg 0\neg 0\neg 1\lor \neg 0\neg 01\lor 0\neg 01\lor 001=110\lor 111\lor 011\lor 001=0\lor 1\lor 0\lor 0=1=f(001).}