Disjunktiivinen normaalimuoto

Disjunktiivinen normaalimuoto tarkoittaa sellaista lauseketta, joka on koottu propositiologiikan propositiomuuttujista sekä TAI-, JA- ja EI-konnektiiveista (merkitään \lor, \land ja eg) 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 == 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 :\mathbf{}( eg x_{10}\land x_{7}\land x_{9}\land eg x_{2}\land eg x_{6})\lor (x_{10})\lor ( eg x_{4}\land x_{12}\land x_{4}\land eg 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 \mathbf{}f voidaan esittää disjunktiivisessa normaalimuodossa olevalla lausekkeella, jonka muodostamisen tapa kuvataan tässä. === Monipaikkainen yhdistely TAI- tai JA-konnektiivilla === Alipropositioiden monipaikkainen TAI-yhdistelmä \mathbf{} P_{1} \lor \dots \lor P_{n} antaa TAI- konnektiivien sulutuksesta huolimatta arvon \mathbf{} 1 tarkalleen silloin jos edes yksi \mathbf{} P-alipropositio saa arvon \mathbf{} 1, sillä TAI:n määritelmän perusteella se nousee "sulkuja avattaessa" aina ylemmäs päätyen lopulta koko lausekkeen arvoksi. Esimerkiksi \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 \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 \mathbf{} 1 vain silloin, kun kaikki siinä yhdistettävät arvot ovat \mathbf{} 1. === Käytettävien alkeiskonjunktioiden muodostaminen === Muodostetaan sellaisia alkeiskonjunktioita, jotka saavat arvon \mathbf{} 1 tarkalleen yhdellä totuusjakaumalla, ja nämä totuusjakaumat ovat tarkalleen samat kuin ne, joilla haluttu totuusfunktio \mathbf{} f saa arvon \mathbf{} 1. Tämä onnistuu niin, että kussakin muodostettavassa alkeiskonjunktiossa on kaikki \mathbf{} f:n käyttämät propositiomuuttujat, joista EI-konnektiivilla varustetaan ne, joiden arvo on \mathbf{} 0 alkeiskonjunktioon liittyvässä totuusjakaumassa, jotta kaikista literaaleista saataisiin sillä arvo \mathbf{} 1 alkeiskonjunktion JA-yhdistelyyn ja täten \mathbf{} 1 alkeiskonjunktiosta saatavaksi arvoksi. Jos esimerkiksi \mathbf{} f saa arvon \mathbf{} 1 totuusjakaumalla \mathbf{}x_{1}x_{2}x_{3}x_{4}=0110, tähän totuusjakaumaan liitetään alkeiskonjunktio \mathbf{} ( eg x_{1}\land x_{2}\land x_{3}\land eg x_{4}). === Lopullisen normaalimuoto-esityksen kokoaminen ja sen vastaavuus totuusfunktion kanssa=== Yhdistetään yllä kuvatulla tavalla muodostetut alkeiskonjunktiot TAI-konnektiiveilla, jolloin halutun totuusfunktion \mathbf{} f normaalimuotoesitys on valmis. Näin koottu lauseke esittää todella haluttua totuusfunktiota, sillä siitä saadaan arvo \mathbf{} 1 tarkalleen silloin, kun joku TAI-yhdistelyssä olevista alkeiskonjunktioista antaa arvon \mathbf{} 1, mikä taas käytettyjen alkeiskonjunktioiden muodostamistavan perusteella tarkoittaa sitä, että totuusjakaumana on nyt jokin niistä totuusjakaumista, joilla haluttu totuusfunktio \mathbf{} f saa arvon \mathbf{} 1. Toisaalta jokaista \mathbf{} f:ssä arvon \mathbf{} 1 antavaa totuusjakaumaa kohti koottu esitys sisältää alkeiskonjunktion, joka antaa arvon \mathbf{} 1 tällä totuusjakaumalla, jolloin \mathbf{} 1 päätyy TAI-yhdistelyn kautta myös kootusta esityksestä saatavaksi totuusarvoksi. On siis nähty, että \mathbf{} f ja koottu normaalimuoto antavat arvon \mathbf{} 1 tarkalleen samoilla totuusjakaumilla. Erikoistapauksena esityksen kokoamisessa on se tilanne, jossa haluttu totuusfunktio on 0_\mathbf{}-funktio, joka saa arvon 0_\mathbf{} kaikilla totuusjakaumilla. Yllä kuvatulla tavalla normaalimuodoksi tulisi nyt tyhjä lauseke. Tämän välttämiseksi voidaan esitykseksi valita nyt aina \mathbf{} 0-arvoinen lauseke x_{1}\land eg 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_\mathbf{} se 3_\mathbf{}-kokoinen totuusfunktio, joka on kuvattu alla olevassa totuustaulussa. x_{1}x_{2}x_{3}\mathbf{} f(x_{1}x_{2}x_{3})_\mathbf{} 000_\mathbf{} 1_\mathbf{} 001_\mathbf{} 1_\mathbf{} 010_\mathbf{} 0_\mathbf{} 011_\mathbf{} 0_\mathbf{} 100_\mathbf{} 0_\mathbf{} 101_\mathbf{} 1_\mathbf{} 110_\mathbf{} 0_\mathbf{} 111_\mathbf{} 1_\mathbf{} Kyseinen totuusfunktio saa arvon 1_\mathbf{}, kun totuusjakaumana on x_{1}x_{2}x_{3}=000, 001, 101_\mathbf{} tai 111_\mathbf{}, mistä seuraa, että menetelmän mukaiset käytettävät alkeiskonjunktiot ovat nyt eg x_{1} eg x_{2} eg x_{3}, eg x_{1} eg x_{2}x_{3},x_{1} eg x_{2}x_{3}\mathbf{} ja 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 eg x_{1} eg x_{2} eg x_{3}\lor eg x_{1} eg x_{2}x_{3}\lor x_{1} eg x_{2}x_{3}\lor x_{1}x_{2}x_{3}. Tämä lauseke esittää totuusfunktiota f_\mathbf{}, mitä voidaan "testata" vaikka totuusjakaumalla x_{1}x_{2}x_{3}=100\mathbf{}, jolloin lauseke antaa arvon eg 1 eg 0 eg 0\lor eg 1 eg 00\lor 1 eg 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\mathbf{}, jolloin lauseke saa arvon eg 0 eg 0 eg 1\lor eg 0 eg 01\lor 0 eg 01\lor 001=110\lor 111\lor 011\lor 001=0\lor 1\lor 0\lor 0=1=f(001). Luokka:Logiikka Luokka:Matemaattinen logiikka