A literal is an atom or its negation . The two standard normal forms package any propositional formula into a fixed, layered shape built only from literals.
Definitions
-
Disjunctive Normal Form (DNF): a disjunction of conjunctions of literals, Each inner conjunction (a term / minterm-style clause) is an AND of literals; the whole formula ORs them together. Think "OR of ANDs."
-
Conjunctive Normal Form (CNF): a conjunction of disjunctions of literals, Each inner disjunction (a clause) is an OR of literals; the whole formula ANDs them together. Think "AND of ORs."
The defining rule for both forms: negations sit directly on atoms only, and the connectives are layered — in DNF no may stand above a , in CNF no may stand above a .
Existence theorem
Every propositional formula is logically equivalent to a formula in DNF and to one in CNF. Read a formula's truth table to build them directly:
- DNF: OR together one term per row where the formula is true (each term ANDs the literals making that row, using where is false).
- CNF: AND together one clause per row where the formula is false (each clause ORs the complemented literals of that row).
Degenerate cases count
This is the exam's favorite trap. A single literal, a single term, or a single clause still qualifies:
| Formula | In DNF? | In CNF? | Why |
|---|---|---|---|
| yes | yes | one literal = one term = one clause | |
| yes | yes | one AND-term (DNF); each literal is a 1-literal clause (CNF) | |
| yes | yes | each literal is a 1-literal term (DNF); one OR-clause (CNF) | |
| yes | no | OR over ANDs; a sits under the | |
| no | no | negation is not on an atom — push it in first |
Mini-example
Convert to both forms. Its truth table is false only when .
- DNF (OR of true rows ): , which simplifies to .
- CNF (one clause for the single false row): — already an AND of one clause.
Here is simultaneously a valid DNF (two 1-literal terms) and a valid CNF (one clause), illustrating that the same formula can satisfy both templates.
Exam trick: A formula can be in DNF and CNF at once. Never reject a formula just because it lacks a top-level (for DNF) or top-level (for CNF) — flatten with associativity, treat single literals/clauses as degenerate, and only disqualify it if some connective is layered the wrong way or a negation does not sit directly on an atom.