Propositional Logic - Key Proof
Theorem: Every propositional formula is logically equivalent to a formula in conjunctive normal form (CNF).
We prove this constructively by providing an algorithm to convert any formula to CNF.
Step 1: Eliminate implication and biconditional
Replace every occurrence of with , and every occurrence of with . These replacements are justified by logical equivalence. After this step, the formula contains only , , and .
Step 2: Push negations inward (De Morgan's Laws)
Repeatedly apply the following equivalences until all negations apply directly to propositional variables:
- (double negation)
- (De Morgan)
- (De Morgan)
After this step, the formula is in negation normal form (NNF): only variables are negated, and the formula uses only and (besides negations of variables).
Step 3: Distribute disjunction over conjunction
Repeatedly apply the distributive law:
and its symmetric version:
This moves all conjunctions to the outermost level and all disjunctions inside.
Step 4: Simplification (optional)
Remove redundant clauses and literals using:
- (idempotency)
- (idempotency)
- (excluded middle)
- If a clause contains both and , it can be removed (tautological clause)
Example: Convert to CNF.
- Eliminate implication:
- Apply De Morgan:
- Apply De Morgan and double negation:
- Distribute:
The result is in CNF.
Correctness: Each transformation preserves logical equivalence, so the final CNF formula is equivalent to the original. The algorithm terminates because each step either reduces the formula size (eliminating connectives) or moves the structure closer to CNF without increasing formula depth beyond a bounded limit.
Complexity: The CNF conversion can exponentially increase formula size in the worst case. For example, a formula with structure is already in CNF, but its "dual" formed by swapping and requires clauses when converted to CNF.
Despite the exponential worst case, CNF conversion is fundamental to automated reasoning. The SAT problem (satisfiability of CNF formulas) is central to computational complexity, and many practical SAT solvers work directly with CNF input. Alternative approaches like Tseitin transformation can convert to CNF in linear time by introducing auxiliary variables, trading formula size for additional variables.