Exercise logic.propositional.dnf
Description
Proposition to DNF
Derivation
(T || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ ((~(T /\ ~~(~(q /\ ~q) /\ ~(p /\ ~q)) /\ T) /\ T) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.absorporT /\ ((~(T /\ ~~(~(q /\ ~q) /\ ~(p /\ ~q)) /\ T) /\ T) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.truezeroand((~(T /\ ~~(~(q /\ ~q) /\ ~(p /\ ~q)) /\ T) /\ T) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.truezeroand(~(T /\ ~~(~(q /\ ~q) /\ ~(p /\ ~q)) /\ T) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.truezeroand(~(~~(~(q /\ ~q) /\ ~(p /\ ~q)) /\ T) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.truezeroand(~~~(~(q /\ ~q) /\ ~(p /\ ~q)) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.notnot(~(~(q /\ ~q) /\ ~(p /\ ~q)) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.compland(~(~F /\ ~(p /\ ~q)) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.notfalse(~(T /\ ~(p /\ ~q)) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.truezeroand(~~(p /\ ~q) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.notnot((p /\ ~q) || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.truezeroand((p /\ ~q) || (~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.idempand((p /\ ~q) || (~r /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.idempand((p /\ ~q) || (~r /\ ~(~(q /\ ~q) /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.compland((p /\ ~q) || (~r /\ ~(~F /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.notfalse((p /\ ~q) || (~r /\ ~(T /\ ~(p /\ ~q)))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.truezeroand((p /\ ~q) || (~r /\ ~~(p /\ ~q))) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.notnot((p /\ ~q) || (~r /\ p /\ ~q)) /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.absorporp /\ ~q /\ (q || (T /\ ~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.truezeroandp /\ ~q /\ (q || (~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.idempandp /\ ~q /\ (q || (~r /\ ~(~(q /\ ~q) /\ ~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.idempandp /\ ~q /\ (q || (~r /\ ~(~(q /\ ~q) /\ ~(p /\ ~q))))
⇒ logic.propositional.complandp /\ ~q /\ (q || (~r /\ ~(~F /\ ~(p /\ ~q))))
⇒ logic.propositional.notfalsep /\ ~q /\ (q || (~r /\ ~(T /\ ~(p /\ ~q))))
⇒ logic.propositional.truezeroandp /\ ~q /\ (q || (~r /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnotp /\ ~q /\ (q || (~r /\ p /\ ~q))
⇒ logic.propositional.andoveror(p /\ ~q /\ q) || (p /\ ~q /\ ~r /\ p /\ ~q)
⇒ logic.propositional.compland(p /\ F) || (p /\ ~q /\ ~r /\ p /\ ~q)
⇒ logic.propositional.falsezeroandF || (p /\ ~q /\ ~r /\ p /\ ~q)
⇒ logic.propositional.falsezeroorp /\ ~q /\ ~r /\ p /\ ~q