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