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