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