Exercise logic.propositional.dnf
Description
Proposition to DNF
Derivation
((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q))) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ T))
⇒ logic.propositional.idempand((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q))) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || T)
⇒ logic.propositional.absorpor((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q))) /\ T
⇒ logic.propositional.truezeroand((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnot((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~~~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnot((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.truezeroand((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q)) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnot((p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q)) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnot((p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ q /\ ~~(p /\ ~q)) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnot((p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ q /\ p /\ ~q) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.truezeroand((p /\ ~q /\ ~~(p /\ ~q) /\ q /\ p /\ ~q) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnot((p /\ ~q /\ p /\ ~q /\ q /\ p /\ ~q) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.compland((p /\ ~q /\ p /\ F /\ p /\ ~q) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.falsezeroand((p /\ ~q /\ p /\ F) || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.falsezeroand(F || (p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r)) /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.falsezeroorp /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~r /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.truezeroandp /\ ~q /\ ~~(p /\ ~q) /\ ~r /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnotp /\ ~q /\ p /\ ~q /\ ~r /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.idempandp /\ ~q /\ ~r /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q) /\ T) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.truezeroandp /\ ~q /\ ~r /\ ((~~(p /\ ~q) /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q)) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnotp /\ ~q /\ ~r /\ ((p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ ~~q /\ ~~(p /\ ~q)) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnotp /\ ~q /\ ~r /\ ((p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ q /\ ~~(p /\ ~q)) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnotp /\ ~q /\ ~r /\ ((p /\ ~q /\ ~(~(p /\ ~q) /\ T) /\ q /\ p /\ ~q) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.truezeroandp /\ ~q /\ ~r /\ ((p /\ ~q /\ ~~(p /\ ~q) /\ q /\ p /\ ~q) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.notnotp /\ ~q /\ ~r /\ ((p /\ ~q /\ p /\ ~q /\ q /\ p /\ ~q) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.complandp /\ ~q /\ ~r /\ ((p /\ ~q /\ p /\ F /\ p /\ ~q) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.falsezeroandp /\ ~q /\ ~r /\ ((p /\ ~q /\ p /\ F) || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.falsezeroandp /\ ~q /\ ~r /\ (F || (T /\ ~~(p /\ ~q)))
⇒ logic.propositional.falsezeroorp /\ ~q /\ ~r /\ T /\ ~~(p /\ ~q)
⇒ logic.propositional.truezeroandp /\ ~q /\ ~r /\ ~~(p /\ ~q)
⇒ logic.propositional.notnotp /\ ~q /\ ~r /\ p /\ ~q