Disjunctive Normal Form — Definition, Formula & Examples
Disjunctive Normal Form (DNF) is a way of writing a logical formula as a disjunction (OR) of one or more conjunctions (ANDs), where each conjunction contains only variables or their negations.
A propositional formula is in disjunctive normal form if it is expressed as , where each clause is a conjunction of literals, and a literal is either a propositional variable or its negation .
Key Formula
Where:
- = Number of disjunctive clauses
- = Number of literals in each clause (may vary by clause)
- = A literal — either a variable or its negation
How It Works
To convert any propositional formula into DNF, first build its truth table and identify every row where the formula evaluates to true. For each such row, form a conjunction of all variables: use the variable itself if its value is true in that row, or its negation if false. Finally, take the disjunction (OR) of all these conjunctions. The result is logically equivalent to the original formula and is guaranteed to be in DNF.
Worked Example
Problem: Convert the formula into disjunctive normal form.
Step 1: Rewrite the conditional using its logical equivalence.
Step 2: Check whether the result is already in DNF. Each disjunct must be a conjunction of literals. Here is a single literal (a trivial conjunction), and is also a single literal.
Step 3: Verify via truth table: the formula is true when is false (regardless of ) or when is true. The rows , , and all give true, matching .
Answer: The DNF of is .
Why It Matters
DNF is a canonical form used in digital circuit design, where each AND clause maps to a logic gate feeding into a single OR gate. It also appears in database query optimization and automated theorem proving, making it a practical tool well beyond the classroom.
Common Mistakes
Mistake: Confusing DNF with CNF (Conjunctive Normal Form). Students sometimes write an AND of ORs and call it DNF.
Correction: DNF is an OR of ANDs. CNF is the dual: an AND of ORs. Remember "Disjunctive" means the top-level connective is disjunction (OR).
