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