Padding a constraint graph with isolated vertices #
The expander family built by the zig-zag tower supplies graphs only at certain sizes, far apart from one another. Rather than fold a large expander onto an arbitrary vertex count — which costs a delicate spectral argument — one can enlarge the constraint graph instead, up to the next size the family offers.
Nothing is lost by doing so. The added vertices carry no edges, and every quantity the amplification tracks is counted over edges: the number of edges is unchanged, an assignment matters only through its values on the original vertices, and so both the unsatisfiability value and satisfiability are untouched.
Main definitions #
Complexity.ConstraintGraph.pad— the same graph on more vertices
Main results #
Complexity.ConstraintGraph.numEdges_pad,unsatVal_pad,satisfiable_pad_iff— padding changes nothing that matters
The same constraint graph, on N ≥ numVerts vertices; the extra ones carry
no edges.
Equations
Instances For
Restricting an assignment of the padded graph to the original vertices.
Equations
- G.restrict h a v = a (Fin.castLE h v)
Instances For
Extending an assignment to the padded graph, arbitrarily on the new vertices.
Instances For
Padding does not change the value.
Padding does not change satisfiability.