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