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