Conjunctive Normal Form
Conjunctive normal form (CNF) is an important normal form for propositional logic. A logic formula is in conjunctive normal form if it is a single conjunction of disjunctions of (possibly negated) literals. No more nesting and no other negations are allowed. Examples are:
a ∧ b
(a ∨ ¬b) ∧ (c ∨ d)
¬a ∧ (b ∨ ¬c ∨ d) ∧ (a ∨ ¬d)
Any arbitrary formula in propositional logic can be transformed into conjunctive normal form by application of the laws of distribution, De Morgan’s laws, and by removing double negations. It is important to note that this process can lead to exponentially larger formulas which implies that the process in the worst case runs in exponential time. An example for this behavior is the following formula given in disjunctive normal form (DNF), which is linear in the number of propositional variables in this form. When transformed into conjunctive normal form (CNF), its size is exponentially larger.
DNF: (a0 ∧ a1) ∨ (a2 ∧ a3) ∨ … ∨ (a2n ∧ a2n + 1)
CNF: (a0 ∨ a2 ∨ …...
- Russell, S., & Norvig, P. (2002). Artificial intelligence: A modern approach (p. 215). Prentice HallGoogle Scholar