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