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