Boolen logiikkaa GeoGebralla MAA11 kurssille

[9.4.22 korjasin totuustaulukon, lisäsin loppuun kommentin ekvivalenttisuudesta.]

Jokunen aika sitten selvittelin, millaisia komentoja GeoGebra tarjoaa MAA 11-kurssin avuksi (MAA11 kurssin GeoGebra-komentoja). Tutkitaan, miten Boolen logiikka toimii GeoGebrassa. Tapani mukaan teen esimerkit GeoGebra 5:llä. Tätä kirjoittaessa käytössäni on 697-versio. En voi vannoa, että kaikki esimerkit toimivat samoin GeoGebra 6:ssa.

Konnektiivit CASissa

Oheisessa taulukossa on Boolen logiikan konnektiivit ja niiden näppäinoikotiet.

Tutkitaan CASissa niiden toimintaa. Klikkaan lausekkeen kirjoittamisen jälkeen Tarkista lauseke-painikkeeseen, jotta nähdään, miten GeoGebra tulkitsee kirjoittamani lauseen.

Yleisesti lauseiden tutkiminen ei toimi CASissa (joskus toimii joskus ei). Jotta totuuden tutkiminen onnistuu, on muuttujilla oltava totuusarvo.

true =1 ja false=0

GeoGebra tulkitsee totuusarvon true luvuksi 1 ja false nollaksi CASissa ja syöttökentässä (Algebraikkunassa), mutta ei taulukkolaskennassa.

Soluissa 23 ja 24 lasketaan, kuinka monta alkulukua on 100 ensimmäisen luonnollisen luvun joukossa.

Totuustaulut

Usein loogisten lausekkeiden ekvivalenttisuutta tutkitaan totuustauluissa. Mikäli lauseissa on vain 2 tai 3 eri muuttujaa, niin totuustaulukon eri vaihtoehtojen tuottaminen onnistunee helposti käsin. Eri vaihtoehtojahan on 2ˆ(muuttujien lukumäärä).

Teen aluksi yksinkertaisen esimerkin, jossa tutkitaan pitääkö de Morganin sääntö

\neg\left(p\wedge q\right)\Leftrightarrow\left(\neg p\right)\vee\left(\neg q\right)

paikkansa. Kyllähän minä tiedän, että se pitää, mutta todistetaan se näin leikisti.

Kirjoitetaan aluksi otsikot ja totuusarvot taulukkolaskentaan. Kokemuksesta tiedän, että totuusarvoina ei voi käyttää ykkösiä ja nollia. Kun kirjoitan 1. rivin otsikot, niin laitan ne lainausmerkkien sisään, näin varmistan, että GeoGebra varmasti tulkitsee lausekkeen tekstinä. Kirjoitettaessa lauseita, kannattaa avata taulukkolaskennan syöttökenttä vasemman reunan fx-painikkeesta. Erikoismerkit, mukaan lukien loogiset konnektiivit, löytyvät oikean reunan alfa-painikkeen takaa. Taulukkolaskennassa ei kannata käyttää näppäinoikoteitä, ainakin minulla GeoGebra 5:n Mac-versiossa ne eivät toimi loogisesti.

Kirjoitetaan soluihin C2 ja D2 kaavat ja monistetaan alue C2:D2 alaspäin.

Alla lopullinen taulukko, josta nähdään, että kyseinen de Morganin sääntö pätee.

Otavan Juurisarjan Maa11 kirjassa on hankalahko esimerkki 

Ratkaisussa pitää tutkia, millä T:n, E:n ja O:n arvoilla lauseet ¬E→¬T ja (T∨E)→O ja (E∧O) ⇔ ¬T saavat samat totuusarvot. Koska kolmannessa on ekvivalenssinuoli, se pitää kääntää kahdeksi implikaatioksi ((E∧O)→¬T)∧((¬T)->(E∧O)).

Tässä vaiheessa tarvitaan 2^3 = 8 riviä eri totuusvaihtoehtoja. Toki ne pystyy vielä kirjoittamaan käsin, mutta esitän tässä, miten tuon voisi tuottaa semiohjelmallisesti, käyttäisin tätä menetelmää, jos muuttujia olisi neljä tai enemmän. Tuskin sellaista tulee vastaan koulumatematiikassa.

Luodaan lista totuusarvoista

totuus = {}

Kaikki kahdeksan eri totuusarvokolmikkolistaa tuotetaan komennolla (tämän tekemiseen kului muutama minuutti). 

l1 = Jono(Jono(Jono({{Alkio(totuus, c), Alkio(totuus, b), Alkio(totuus, a)}}, a, 1, 2), b, 1, 2), c, 1, 2)

Kolme sisäkkäistä jonokomentoa tuottaa periaattessa 2x2x2 taulukon/matriisin.

l1 = {{{{{true, true, true}}, {{true, true, false}}}, {{{true, false, true}}, {{true, false, false}}}}, {{{{false, true, true}}, {{false, true, false}}}, {{{false, false, true}}, {{false, false, false}}}}} 

Muodostetaan l1:stä lista l2, jossa ei ole ollenkaan listoja jäseninä vaan pelkkiä totuusarvoja Tiivistä-komennolla.

l2 = Tiivistä(l1) 
l2 = {true, true, true, true, true, false, true, false, true, true, false, false, false, true, true, false, true, false, false, false, true, false, false, false} 

Listasta l2 on helppo poimia totuusarvoja taulukkolaskentaan. Luodaan taulukkolaskentaan otsikkorivi ja A-sarakkeelle totuustaulukon järjestysnumero.

Soluun B2 kaava 

=Alkio(l2, (A2 - 1) * 3 + 1)

soluun C2 kaava

=Alkio(l2, (A2 - 1) * 3 + 2)

ja soluun D2 kaava

=Alkio(l2, (A2 - 1) * 3 + 3)

Kun Alue B2:D2 monistetaan alaspäin kahdeksannelle riville saadaan eri totuusarvot muuttujille T E ja O.

Vastaavasti soluihin E2, F2 ja G2 kirjoitetaat kaavat (näiden kirjoittamisessa pitää olla huolellinen).

=(¬C2) → (¬B2) 
=B2 ∨ C2 → D2 
=(C2 ∧ D2 → (¬B2)) ∧ ((¬B2) → C2 ∧ D2)

Monistamalla alaspäin saadaan totuusarvotaulukko valmiiksi.

Lisäsin vielä tarkistuksen vuoksi H-riville kaavan, jossa solussa H2:n kaava on 

=E2 ∧ F2 ∧ G2

Taulukosta nähdään, että alkuperäisen ehdon tuottaa tilanne, jossa T = false, E = true ja O = true.

Lisäys/korjaus edelliseen ratkaisuun.

Vasta julkaisun jälkeen tajusin, että tuo == eksvivalenttisuus tarkoittaa ekvivalenttisuutta. Niinpä G2 soluun olisi voinut kirjoittaa

=(C2 ∧ D2) ≟ (¬B2)

Logiikka on vaikeaa :o)


Tämän kirjoittaminen tapahtui koronatautini aikaan, opinpa tautini aikanakin jotain uutta.

Advertisement

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggaajaa tykkää tästä: