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