Exercise logic.propositional.dnf
Description
Proposition to DNF
Derivation
![](http://ideas.cs.uu.nl/images/external.png)
((p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ q) || (p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ ~(T /\ r) /\ ~(r /\ r))) /\ ~~(T /\ p /\ ~q) /\ T /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.truezeroand((p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ q) || (p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ ~(T /\ r) /\ ~(r /\ r))) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.idempand((p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ q) || (p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ ~(T /\ r) /\ ~r)) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.notnot((p /\ p /\ ~q /\ ~~(~q /\ p) /\ q) || (p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ ~(T /\ r) /\ ~r)) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.idempand((p /\ ~q /\ ~~(~q /\ p) /\ q) || (p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ ~(T /\ r) /\ ~r)) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.notnot((p /\ ~q /\ ~q /\ p /\ q) || (p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ ~(T /\ r) /\ ~r)) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.idempand((p /\ ~q /\ p /\ q) || (p /\ ~~(p /\ ~q) /\ ~~(~q /\ p) /\ ~(T /\ r) /\ ~r)) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.notnot((p /\ ~q /\ p /\ q) || (p /\ p /\ ~q /\ ~~(~q /\ p) /\ ~(T /\ r) /\ ~r)) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.idempand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ ~~(~q /\ p) /\ ~(T /\ r) /\ ~r)) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.notnot((p /\ ~q /\ p /\ q) || (p /\ ~q /\ ~q /\ p /\ ~(T /\ r) /\ ~r)) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.idempand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~(T /\ r) /\ ~r)) /\ ~~(T /\ p /\ ~q) /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.notnot((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~(T /\ r) /\ ~r)) /\ T /\ p /\ ~q /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.truezeroand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~(T /\ r) /\ ~r)) /\ p /\ ~q /\ ~~(~q /\ p) /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.notnot((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~(T /\ r) /\ ~r)) /\ p /\ ~q /\ ~q /\ p /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.idempand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~(T /\ r) /\ ~r)) /\ p /\ ~q /\ p /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.idempand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~(T /\ r) /\ ~r)) /\ p /\ ~q /\ p /\ ~(T /\ q) /\ ~~(p /\ ~q)
⇒ logic.propositional.notnot((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~(T /\ r) /\ ~r)) /\ p /\ ~q /\ p /\ ~(T /\ q) /\ p /\ ~q
⇒ logic.propositional.truezeroand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~r /\ ~r)) /\ p /\ ~q /\ p /\ ~(T /\ q) /\ p /\ ~q
⇒ logic.propositional.idempand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~r)) /\ p /\ ~q /\ p /\ ~(T /\ q) /\ p /\ ~q
⇒ logic.propositional.truezeroand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~r)) /\ p /\ ~q /\ p /\ ~q /\ p /\ ~q
⇒ logic.propositional.idempand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~r)) /\ p /\ ~q /\ p /\ ~q
⇒ logic.propositional.idempand((p /\ ~q /\ p /\ q) || (p /\ ~q /\ p /\ ~r)) /\ p /\ ~q
⇒ logic.propositional.andoveror(p /\ ~q /\ p /\ q /\ p /\ ~q) || (p /\ ~q /\ p /\ ~r /\ p /\ ~q)