Exercise logic.propositional.dnf
Description
Proposition to DNF
Derivation
((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~~p /\ T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ ~~(T /\ q) /\ T) || (T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~~p /\ T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ T) || (T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~~p /\ T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ T) || T) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~~p /\ T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.absorporT /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~~p /\ T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.truezeroand((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~~p /\ T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~~p /\ T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ T) || (~~p /\ T /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ T) || (~~p /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T /\ ~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ T) || (~~p /\ T)) /\ ((~~(T /\ q) /\ ~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ T) || (~~p /\ T)) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.notnot((~~(T /\ q) /\ T) || (~~p /\ T)) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ T) || (~~p /\ T)) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.idempand((~~(T /\ q) /\ T) || (~~p /\ T)) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~~~(T /\ ~p)))
⇒ logic.propositional.notnot((~~(T /\ q) /\ T) || (~~p /\ T)) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.truezeroand(~~(T /\ q) || (~~p /\ T)) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.notnot((T /\ q) || (~~p /\ T)) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.truezeroand(q || (~~p /\ T)) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.truezeroand(q || ~~p) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.notnot(q || p) /\ ((~~(T /\ q) /\ T) || (~(T /\ ~p) /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.truezeroand(q || p) /\ (~~(T /\ q) || (~(T /\ ~p) /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.notnot(q || p) /\ ((T /\ q) || (~(T /\ ~p) /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.truezeroand(q || p) /\ (q || (~(T /\ ~p) /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.truezeroand(q || p) /\ (q || (~~p /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.notnot(q || p) /\ (q || (p /\ p /\ ~(T /\ ~p)))
⇒ logic.propositional.idempand(q || p) /\ (q || (p /\ ~(T /\ ~p)))
⇒ logic.propositional.truezeroand(q || p) /\ (q || (p /\ ~~p))
⇒ logic.propositional.notnot(q || p) /\ (q || (p /\ p))
⇒ logic.propositional.idempand(q || p) /\ (q || p)
⇒ logic.propositional.idempandq || p