Exercise logic.propositional.dnf
Description
Proposition to DNF
Derivation
![](http://ideas.cs.uu.nl/images/external.png)
(((F /\ r) || q || ~(F || ~p)) /\ F /\ r) || (((F /\ r) || q || ~(F || ~p)) /\ q) || (((F /\ r) || q || ~(F || ~p)) /\ ~(F || ~p))
⇒ logic.propositional.absorpand(F /\ r) || (((F /\ r) || q || ~(F || ~p)) /\ q) || (((F /\ r) || q || ~(F || ~p)) /\ ~(F || ~p))
⇒ logic.propositional.absorpand(F /\ r) || (((F /\ r) || q || ~(F || ~p)) /\ q) || ~(F || ~p)
⇒ logic.propositional.falsezeroandF || (((F /\ r) || q || ~(F || ~p)) /\ q) || ~(F || ~p)
⇒ logic.propositional.falsezeroandF || ((F || q || ~(F || ~p)) /\ q) || ~(F || ~p)
⇒ logic.propositional.falsezeroor((F || q || ~(F || ~p)) /\ q) || ~(F || ~p)
⇒ logic.propositional.falsezeroor((q || ~(F || ~p)) /\ q) || ~(F || ~p)
⇒ logic.propositional.absorpandq || ~(F || ~p)
⇒ logic.propositional.falsezeroorq || ~~p
⇒ logic.propositional.notnotq || p