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