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