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