Formulas without large subcubes of solutions have few solutions #
A move of a solution x of a clause set ψ is a nonempty set T of variables such that x
with the bits in T flipped (BitString.flipOn) is again a solution; two moves are separated
when no clause meets both. Separated moves combine freely
(ClauseSet.flipOn_biUnion_mem_solutions_of_separated), so in a clause set whose variables have at
most Δ neighbours in the co-occurrence graph and whose solutions contain no subcube of dimension
D (ContainsSubcube), every solution has at most (D - 1)(Δ + 1) directions in which it is not
isolated (ClauseSet.card_compl_isolatedDirections_le). The satisfiability coding lemma then
bounds the solutions (ClauseSet.card_solutions_le_of_neighbors), and after sparsification every
formula of width k is a union of at most 2 ^ (ε N) such pieces: a formula of width k over N
variables whose solutions contain no subcube of dimension D has at most
2 ^ ((1 - 1 / k + ε) N + C D) solutions (ClauseSet.card_solutions_le_of_not_containsSubcube).
The exponent 1 - 1 / k cannot be improved, already for D = 1: requiring even parity on each of
N / k disjoint blocks of k variables gives 2 ^ ((1 - 1 / k) N) solutions, no two of which
are neighbours (see Complexity/Logics/Propositional/Parity/DepthThree.lean).
Main definitions #
Cslib.BitString.flipOn: flip the bits in a set of positions.Cslib.Logic.PL.ContainsSubcube: a set of words contains a subcube of a given dimension.Cslib.Logic.PL.isolatedDirections,Cslib.Logic.PL.ClauseSet.neighbors.
Main results #
Cslib.Logic.PL.ClauseSet.card_compl_isolatedDirections_le: few non-isolated directions.Cslib.Logic.PL.ClauseSet.card_solutions_le_of_neighbors: the bound in bounded degree.Cslib.Logic.PL.ClauseSet.card_solutions_le_of_not_containsSubcube: the bound.
References #
Separated moves combine: if the moves T j, j ∈ s, of a solution x are pairwise
separated (no clause meets two of them), flipping the union of any of them keeps x a
solution.
Few non-isolated directions: if every variable has at most Δ neighbours and the
solutions contain no subcube of dimension D, every solution has at most (D - 1)(Δ + 1)
directions in which it is not isolated. A largest set of pairwise non-adjacent non-isolated
directions spans a subcube of solutions, and its closed neighbourhood holds every non-isolated
direction.
Few solutions in bounded degree: if every clause of ψ has at most k ≥ 1 literals, every
variable has at most Δ neighbours, and the solutions contain no subcube of dimension D, then
ψ has at most 2 ^ ((1 - 1 / k) N + (D - 1)(Δ + 1) / k) solutions.
Formulas without large subcubes of solutions have few solutions: for every width k ≥ 1
and every ε > 0 there is a constant C such that every clause set of width k over N
variables whose solutions contain no subcube of dimension D has at most
2 ^ ((1 - 1 / k + ε) N + C D) solutions.
Formulas without large subcubes of solutions have few solutions: for every width k ≥ 1
and every ε > 0 there is a constant C such that every formula in conjunctive normal form of
width k over N variables whose solutions contain no subcube of dimension D has at most
2 ^ ((1 - 1 / k + ε) N + C D) solutions.