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