CNF substitution preserves evaluation and cannot increase width #
Every surviving variable comes from the scope of the original clause. The union of these singleton or empty images has at most the original width.
theorem
Complexity.DepthThreeLowerBound.CNF.WidthAtMost.subst_proof
{V : Type u_1}
{W : Type u_2}
{H : CNF V}
{k : ℕ}
(h : H.WidthAtMost k)
(α : V → W ⊕ Bool)
:
(H.subst α).WidthAtMost k