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