Propositional Logic · Normal Forms

Lesson 6

Nikolai Chukhin · Alexander S. Kulikov

Theorem. Any Boolean function \(f \in B_{n}\) can be represented as CNF and DNF.

Proof. Let’s prove this using the toy example from the beginning of this section.

To define \(f\) in CNF, we need to “forbid” all five assignments where the function equals zero: \[(x_{1} \lor x_{2} \lor x_{3}) \land (x_{1} \lor \overline{x_2}\lor x_{3}) \land (\overline{x_1}\lor x_{2} \lor x_{3}) \land (\overline{x_1}\lor x_{2} \lor \overline{x_3}) \land (\overline{x_1}\lor \overline{x_2}\lor \overline{x_3}) \ .\] In DNF, we need to “allow” only those assignments where the function equals one: \[\overline{x_1}\overline{x_2}x_{3} \lor \overline{x_1}x_{2}x_{3} \lor x_{1}x_{2}\overline{x_3}\ .\]