Exercise logic.propositional.dnf
Description
Proposition to DNF
Derivation
T /\ ((q /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q))) || (~(r /\ r) /\ T /\ T /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q))))
⇒ logic.propositional.truezeroand(q /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q))) || (~(r /\ r) /\ T /\ T /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.idempand(q /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q))) || (~(r /\ r) /\ T /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.idempand(q /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q))) || (~(r /\ r) /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.truezeroand(q /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q))) || (~(r /\ r) /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.idempand(q /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q))) || (~(r /\ r) /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.compland(q /\ ~(~F /\ ~(T /\ p /\ ~q))) || (~(r /\ r) /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.notfalse(q /\ ~(T /\ ~(T /\ p /\ ~q))) || (~(r /\ r) /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.truezeroand(q /\ ~~(T /\ p /\ ~q)) || (~(r /\ r) /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.notnot(q /\ T /\ p /\ ~q) || (~(r /\ r) /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.truezeroand(q /\ p /\ ~q) || (~(r /\ r) /\ T /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.truezeroand(q /\ p /\ ~q) || (~(r /\ r) /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.idempand(q /\ p /\ ~q) || (~r /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q) /\ ~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.idempand(q /\ p /\ ~q) || (~r /\ ~(~(q /\ ~q) /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.compland(q /\ p /\ ~q) || (~r /\ ~(~F /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.notfalse(q /\ p /\ ~q) || (~r /\ ~(T /\ ~(T /\ p /\ ~q)))
⇒ logic.propositional.truezeroand(q /\ p /\ ~q) || (~r /\ ~~(T /\ p /\ ~q))
⇒ logic.propositional.notnot(q /\ p /\ ~q) || (~r /\ T /\ p /\ ~q)
⇒ logic.propositional.truezeroand(q /\ p /\ ~q) || (~r /\ p /\ ~q)