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