Tehtävä:
Sieventäminen propositiologiikassa
Lyhyt
MathCheck-ohje (uuteen välilehteen)
Propositiologiikassa voi sieventää ja päätellä monella eri tavalla.
Yksi helppo tehokas tapa, josta voi jopa tehdä MathCheckillä tarkastettavia
tehtäväsarjoja, on valita jokin muuttuja, sijoittaa sen arvoksi F ja
sieventää, sijoittaa sen arvoksi T ja sieventää, ja yhdistää tulokset.
Todistamme tällä tavalla, että
¬(P ↔ Q ) ⇔ P ↔ ¬Q .
Tarvitsemme seuraavat aputulokset.
Sitten todistamme tavoitteemme vaiheittain.
Seuraavaksi todistamme, että ↔ on liitännäinen eli (P ↔ Q ) ↔
R ⇔ P ↔ (Q ↔ R ).
Tarvitsemme seuraavan aputuloksen.
VihjeTietokonepeleissäkin aikaisemmin
saman pelin aikana kohdatuilla asioilla saattaa olla käyttöä
myöhemmin.
Sitten todistamme tavoitteemme vaiheittain.
Propositiologiikassa voi päätellä myös kaavoja käyttämällä samaan tapaan kuin
aritmetiikassa.
Esimerkkinä todistamme, että P → Q ⇔ ¬Q → ¬P .
Ensin sovella implikaation eliminointia, sitten kaksoisnegaation eliminointia,
ja lopuksi implikaation määritelmää.
prop_logic ok_text Oikein!
f_top_opr \/ f_nodes 6
!Q --> !P
<=>
end_of_answer prop_logic
f_top_opr \/ f_nodes 4 hide_expr !Q --> !P
<=>
end_of_answer prop_logic
f_top_opr --> f_nodes 3 hide_expr !Q --> !P
<=>
tai
Sovella ensin implikaation eliminointia, sitten de Morganin lakia, ja keksi
loppu itse!
prop_logic ok_text Oikein!
f_top_opr \/ f_nodes 6
P /\ Q --> P
<=>
end_of_answer prop_logic
f_nodes 7 hide_expr P /\ Q --> P
<=>
end_of_answer prop_logic
f_nodes 1 hide_expr P /\ Q --> P
<=>
tai
Toisinaan sieventämisessä voi hyödyntää sitä, että jos disjunktion jokin osa
toteutuu, muiden osien totuusarvoilla ei ole väliä.
Jos P ⇔ T , niin P ∨ ¬P ∧ Q ⇔
prop_logic ok_text Oikein!
f_nodes 1 TT \/ ! TT /\ Q <=>
, ja
jos P ⇔ F , niin P ∨ ¬P ∧ Q ⇔
end_of_answer prop_logic
f_nodes 1 FF \/ ! FF /\ Q <=>
.
Siksi P ∨ ¬P ∧ Q ⇔
end_of_answer prop_logic
f_nodes 3 P \/ ! P /\ Q <=>
tai
Sievennä P ∧ (¬P ∨ Q ) ⇔
prop_logic ok_text Oikein!
f_nodes 3 P /\ (! P \/ Q) <=>
tai
Sievennä (P ∧ Q ∨ ¬Q ∧ R ) ∧ (P ∨ ¬R )
⇔
prop_logic ok_text Oikein!
f_nodes 5 (P /\ Q \/ !Q /\ R) /\ (P \/ !R) <=>
tai
Sievennä seuraavat lausekkeet mahdollisimman yksinkertaiseen muotoon, jossa
ei esiinny → eikä ↔.
Valitse itse keinot, joita käytät.
Yhdessä kohdassa on kaksi kompleksisuusrajaa.
Väljemmän rajan saavuttaminen riittää, mutta on hienoa, jos saavutat
tiukemmankin.
P → ¬P ⇔
prop_logic ok_text Oikein!
f_ban --> <->; f_nodes 2 P --> !P <=>
tai
P ↔ Q ↔ P ⇔
prop_logic ok_text Oikein!
f_ban --> <->; f_nodes 1 P <-> Q <-> P
<=>
tai
(P → Q ) ∧ ¬(Q → P ) ⇔
prop_logic ok_text Oikein!
f_ban --> <->; f_nodes 4 (P --> Q) /\ !(Q --> P)
<=>
tai
P ∧ ¬Q ∨ Q ∧ R ∧ ¬P ∨ Q ∧ P ⇔
prop_logic ok_text Oikein!
f_ban --> <->; f_nodes 5 P /\ !Q \/ Q /\ R /\ ! P \/ Q /\ P
<=>
tai
(P → Q ) ∧ (Q → R ) ∧ (R → P ) ⇔
prop_logic ok_text Oikein!
f_ban --> <->; f_nodes 14 b_nodes 12 (P --> Q) /\ (Q --> R) /\
(R --> P) <=>
tai
Loogisesti ajateltu!