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