✖

Propositiologiikan esimerkkejä

Tässä artikkelissa katsomme muutamaa kaavaa ja niiden mahdollisia totuusarvojen asetuksia totuustaulun avulla.

Ensimmäinen esimerkki

Yritetään selvittää, milloin tämä kaava on tosi: ϕ = (p ∧ q) ∨ ¬q. Kirjoitetaan taulukkoon propositiosymbolit p ja q:

pq11100100

Lisätään taulukkoon seuraavaksi kaavan ensimmäinen osa (p ∧ q), negaatio ¬q ja sitten koko kaava:

pqp∧q¬qϕ11100100

Lasketaan nyt arvot kolmanteen sarakkeeseen, joka on yksinkertainen konjunktio, ja samalla negaation sarakkeeseen. Siihen kirjoitetaan toisen sarakkeen arvojen vastakohdat:

pqp∧q¬qϕ1110100101000001

Lopuksi lasketaan arvot viimeiseen sarakkeeseen. Se on koko kaava. Taulukkomme kannalta lasketaan siis disjunktio ”kolmannen ja neljännen sarakkeen välillä”. Tulos:

pqp∧q¬qϕ11101100110100000011

Toinen esimerkki

Sama tehtävä, eri kaava: ϕ = (p ∧ ¬q) ⇔ (¬p ⇒ q). Näemme, että kaavassa on propositiosymbolit p ja q sekä niiden negaatiot. Tehdään siis ensin taulukko, jossa on kaksi symbolia ja niiden negaatiot:

pq¬p¬q1100100101100011

Lisätään sitten kaavat p ∧ ¬q ja ¬p ⇒ q, jotka osaamme jo helposti arvioida, koska taulukossa on sekä väitteiden että niiden negaatioiden totuusarvot. Taulukko näyttää tältä:

pq¬p¬q(p∧¬q)(¬p⇒q)110001100111011001001100

Viimeiseksi jää arvioitavaksi koko kaava, joka on ekvivalenssi kahden viimeisen sarakkeen välillä:

pq¬p¬q(p∧¬q)(¬p⇒q)ϕ1100010100111101100100011001

Kolmas esimerkki

Kolmas esimerkki on jo hieman monimutkaisempi. Kokeillaan kolmea propositiosymbolia, jolloin taulukon laskeminen mutkistuu. Kaava on tämä: ϕ = (¬(p ⇒ q)) ∧ (r ⇔ (¬p ∨ q)).

Koska symboleja on kolme, totuusarvojen asetusten yhteismäärä on kahdeksan:

pqr111110101100011010001000

Tästä eteenpäin etenemme samoin kuin edellisessä tapauksessa ja arvioimme jokaisen sarakkeen kaikilla kahdeksalla rivillä. Koko taulukko näyttää tältä:

pqr¬p(p⇒q)(¬p∨q)¬(p⇒q)(r⇔(¬p∨q))ϕ111011010110011000101000100100000111011111010010111000001111010000111000

Neljäs esimerkki

Tämän esimerkin annamme tavallisen kaavan sijaan sanallisena tehtävänä. Kolme kaveria haluaa mennä villeihin bileisiin, joissa tarjoillaan ilmaista pizzaa. He eivät oikein pidä toisistaan ja asettavat ehtoja, joilla he tulevat bileisiin. Heidän nimensä ovat Matti, Jussi ja Pekka. Säännöt ovat seuraavat:

  1. Jos Matti tulee, niin myös Jussi tulee.
  2. Bileisiin tulee Pekka tai, jos Matti tulee, niin Jussi ei tule.
  3. Pekka tulee jos ja vain jos Matti ei tule tai Jussi ei tule.

Kysymys kuuluu: voivatko kaikki tulla bileisiin? Jos eivät, ketkä voivat tulla rikkomatta yhtään sääntöä?

Ensin meidän täytyy kirjoittaa edelliset sanalliset väitteet propositiosymboleiksi ja kaavoiksi. Merkitään propositiosymboleja M, J ja P (Matti, Jussi, Pekka), ja kukin tarkoittaa aina väitettä tyyppiä ”Matti tulee bileisiin”. Ensimmäisen säännön voisi kirjoittaa näin: M ⇒ J eli ”jos M, niin J”, toisin sanoen ”jos Matti tulee bileisiin, niin Jussi tulee bileisiin”.

Toisen säännön kirjoittaisimme näin. Sääntö alkaa lauseella ”Bileisiin tulee Pekka tai…”, joten tarvitsemme selvästi disjunktion. Kirjoitetaan toistaiseksi: P ∨ … Lauseen seuraava osa kuuluu: ”jos Matti tulee, niin Jussi ei tule”. Se on implikaatio, ja oikealla puolella tarvitaan vielä negaatio. ”Jussi ei tule” = ¬J. Koko implikaatio olisi siis M ⇒ ¬J. Liitetään se edelliseen disjunktioon: P ∨ (M ⇒ ¬J).

Kolmannen säännön kirjoitamme näin: aloitamme sanoilla ”Pekka tulee jos ja vain jos”. Se tarkoittaa ekvivalenssia: P ⇔ … Sitten meillä on ”Matti ei tule tai Jussi ei tule”, jonka kirjoitamme näin: ¬M ∨ ¬J. Kootaan yhteen: (P ⇔ (¬M ∨ ¬J)).

Nyt laitamme kaikki kaavat taulukkoon ja laskemme arvot:

MJP(M⇒J)(P∨(M⇒¬J))(P⇔(¬M∨¬J))111110110101101011100010011111010110001111000110

Kysymys oli, voivatko kaikki kolme poikaa tulla villeihin bileisiin. Vastauksen löydämme ensimmäiseltä riviltä. Se vastaa tapausta, jossa kaikki pojat tulevat, mistä kertovat kolme ykköstä kolmessa ensimmäisessä sarakkeessa. Täyttyvätkö kaikki ehdot? Ensimmäinen täyttyy (neljäs sarake), toinenkin (viides sarake), mutta viimeinen ei (viimeinen sarake), siellä on nolla. Se tarkoittaa, että jos kaikki kolme tulevat, kolmas ehto ei täyty.

Etsimme siis rivit, joilla ehtoja kuvaavissa sarakkeissa (eli kolmessa viimeisessä) on pelkkiä ykkösiä. Ykkönen tarkoittaa, että ehto täyttyy. Näemme, että niin käy kahdessa tapauksessa: kun Jussi ja Pekka tulevat mutta Matti ei, sekä kun vain Pekka tulee.

Voit laskea tämän myös lisäämällä taulukkoon kaavan ϕ, joka on kaikkien kolmen ehdon konjunktio. Se näyttää tältä: ϕ = ((M ⇒ J) ∧ (P ∨ (M ⇒ ¬J)) ∧ (P ⇔ (¬M ∨ ¬J))). Se ilmaisee sen, mitä haluamme: että kaikki kaavat (kaikki ehdot) täyttyvät. Taulukko olisi silloin tällainen:

MJP(M⇒J)(P∨(M⇒¬J))(P⇔(¬M∨¬J))ϕ11111001101010101011010001000111111010110000111110001100

Muutama esimerkki totuustaulusta

Koska olen kirjoittanut ohjelman, joka osaa koota koko taulukon annetusta kaavasta automaattisesti, minun täytyy käyttää sitä kunnolla. Siksi seuraavaksi on vielä muutama ratkaistu kaava:

Kaava: ((a ∧ ¬b) ∨ (b ∧ (b ⇒ a))). Taulukko:

ab(a∧¬b)(b∧(b⇒a))((a∧¬b)∨(b∧(b⇒a)))11011101010100000000

Kaava: (a ∨ ¬a) ⇔ (b ∧ ¬b). Taulukko:

ab(a∨¬a)(b∧¬b)((a∨¬a)⇔(b∧¬b))11100101000110000100

Kaava: ¬(a ∨ b) ⇔ (¬b ∧ ¬a). Taulukko:

ab¬(a∨b)(¬b∧¬a)(¬(a∨b)⇔(¬b∧¬a))11001100010100100111

Kaava: ϕ = (¬p ⇔ (q ∧ r)) ⇒ (p ∨ ¬(p ∧ q)). Taulukko:

pqr(q∧r)¬(p∧q)(¬p⇔(q∧r))(p∨¬(p∧q))ϕ1111001111000111101011111000111101111111010010110010101100001011

Kaava: ϕ = ¬(p ⇔ ¬q) ∧ (r ⇒ ¬p) ∧ (p ∨ r). Taulukko:

pqr¬(p⇔¬q)(r⇒¬p)(p∨r)ϕ11110101101111101001010001100110110010010000111110001100

Luvut: Propositiologiikka, Kaavojen totuusarvo, Propositiologiikan esimerkkejä