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