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