Exercise logic.propositional.dnf
Description
Proposition to DNF
Derivation
((p /\ ~(p /\ T) /\ T) || (p /\ ~(~~p /\ ~~q))) /\ (q || (p /\ ~(~~p /\ ~~q))) /\ ((T /\ T /\ p) || (p /\ ~(~~p /\ ~~q)))
⇒ logic.propositional.idempand((p /\ ~(p /\ T) /\ T) || (p /\ ~(~~p /\ ~~q))) /\ (q || (p /\ ~(~~p /\ ~~q))) /\ ((T /\ p) || (p /\ ~(~~p /\ ~~q)))
⇒ logic.propositional.notnot((p /\ ~(p /\ T) /\ T) || (p /\ ~(p /\ ~~q))) /\ (q || (p /\ ~(~~p /\ ~~q))) /\ ((T /\ p) || (p /\ ~(~~p /\ ~~q)))
⇒ logic.propositional.notnot((p /\ ~(p /\ T) /\ T) || (p /\ ~(p /\ q))) /\ (q || (p /\ ~(~~p /\ ~~q))) /\ ((T /\ p) || (p /\ ~(~~p /\ ~~q)))
⇒ logic.propositional.notnot((p /\ ~(p /\ T) /\ T) || (p /\ ~(p /\ q))) /\ (q || (p /\ ~(p /\ ~~q))) /\ ((T /\ p) || (p /\ ~(~~p /\ ~~q)))
⇒ logic.propositional.notnot((p /\ ~(p /\ T) /\ T) || (p /\ ~(p /\ q))) /\ (q || (p /\ ~(p /\ q))) /\ ((T /\ p) || (p /\ ~(~~p /\ ~~q)))
⇒ logic.propositional.notnot((p /\ ~(p /\ T) /\ T) || (p /\ ~(p /\ q))) /\ (q || (p /\ ~(p /\ q))) /\ ((T /\ p) || (p /\ ~(p /\ ~~q)))
⇒ logic.propositional.notnot((p /\ ~(p /\ T) /\ T) || (p /\ ~(p /\ q))) /\ (q || (p /\ ~(p /\ q))) /\ ((T /\ p) || (p /\ ~(p /\ q)))
⇒ logic.propositional.truezeroand((p /\ ~(p /\ T)) || (p /\ ~(p /\ q))) /\ (q || (p /\ ~(p /\ q))) /\ ((T /\ p) || (p /\ ~(p /\ q)))
⇒ logic.propositional.truezeroand((p /\ ~p) || (p /\ ~(p /\ q))) /\ (q || (p /\ ~(p /\ q))) /\ ((T /\ p) || (p /\ ~(p /\ q)))
⇒ logic.propositional.compland(F || (p /\ ~(p /\ q))) /\ (q || (p /\ ~(p /\ q))) /\ ((T /\ p) || (p /\ ~(p /\ q)))
⇒ logic.propositional.falsezeroorp /\ ~(p /\ q) /\ (q || (p /\ ~(p /\ q))) /\ ((T /\ p) || (p /\ ~(p /\ q)))
⇒ logic.propositional.absorpandp /\ ~(p /\ q) /\ ((T /\ p) || (p /\ ~(p /\ q)))
⇒ logic.propositional.absorpandp /\ ~(p /\ q)
⇒ logic.propositional.demorganandp /\ (~p || ~q)
⇒ logic.propositional.andoveror(p /\ ~p) || (p /\ ~q)
⇒ logic.propositional.complandF || (p /\ ~q)
⇒ logic.propositional.falsezeroorp /\ ~q