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