A formula is CNF if it has the form , where each is a literal (i.e., either or for a propositional variable )
Definition (Computation by a CNF)
Given a Boolean function , we say that is computed by a CNF if, for any we have:
Example: exclusive-or
The exclusive-or function is defined by:
is computed by the following CNF:
Adequacy of CNFs
Theorem
For every boolean function there is a CNF computing it.
Proof
Let . For write:
Now define