Internal: Normal Form Proof Machinery #
This internal module contains the proof infrastructure for CNF/DNF:
Circuit embedding:
CNF.toCircuitandDNF.toCircuitembed normal form formulas as 2-level circuits overBasis.unboundedAON, together with correctness (eval_toCircuit) and size (size_toCircuit) proofs.Lower bound machinery:
DNF.flip_complexity_lbshows that any DNF computing a flip-sensitive function onNvariables needs at least2^{N-1}terms. Key lemmas includeterm_mentions_all,full_term_unique, andcard_true_of_flip_sensitive.
The public interface re-exports the main theorems from Circ.NF.
Helper lemmas for toCircuit correctness #
CNF circuit embedding #
Embed a CNF formula as a 2-level AND-of-ORs circuit over Basis.unboundedAON.
The circuit has φ.complexity internal OR gates (one per clause) and a single
output AND gate. Each OR gate reads only primary input wires, with the negated
flag encoding literal polarity. The circuit size is φ.complexity + 1.
Equations
- One or more equations did not get rendered due to their size.
Instances For
DNF circuit embedding #
Embed a DNF formula as a 2-level OR-of-ANDs circuit over Basis.unboundedAON.
The circuit has φ.complexity internal AND gates (one per term) and a single
output OR gate. Each AND gate reads only primary input wires, with the negated
flag encoding literal polarity. The circuit size is φ.complexity + 1.
Equations
- One or more equations did not get rendered due to their size.
Instances For
CNF/DNF Lower Bound for Flip-Sensitive Functions #
If φ : DNF N computes a flip-sensitive function, every satisfiable term
mentions all N variables.
If a term mentions all N variables, it is satisfied by at most one assignment.
If φ : DNF N computes a flip-sensitive function with N ≥ 1,
then 2^{N-1} ≤ φ.complexity.