Sparsification -- explicit thresholds and the leaf count #
For a width k ≥ 1 and a parameter α ≥ 1, let X = 2 k α and take the thresholds
θ 0 = 1, θ j = α X ^ (2 j - 1) (threshold). Then along every branch ending in a sparse node,
at most N X ^ (2 c - 1) clauses of size c are introduced (Path.card_introducedOfCard_le_pow),
by induction on c from the recursive bound of the path analysis: the products
θ (c - h) · X ^ (2 h - 1) all equal α X ^ (2 c - 2), and 2 α c ≤ X. Hence every branch has
length at most Λ = N k X ^ (2 k) and at most (k - 1) N / α petal steps.
A leaf is determined by the positions of its petal steps among the first Λ steps, so there are
at most ∑_{j ≤ (k - 1) N / α} (Λ choose j) leaves (exists_leaves). The leaves are sparse, so
every variable occurs in at most 2 ∑_{c < k} θ c of their clauses
(occurrences_le_of_sparse).
The base X = 2 k α of the thresholds.
Equations
- Complexity.ClauseSet.Sparsify.base k α = 2 * k * α
Instances For
The thresholds: θ 0 = 1 and θ j = α X ^ (2 j - 1) for j ≥ 1.
Equations
Instances For
Introduced clauses of each size. Along a branch from a clause set of width k ending in
a sparse node, at most N X ^ (2 c - 1) clauses of size c are introduced, for 1 ≤ c ≤ k.
Branches are short. A branch from a clause set of width k ending in a sparse node has
at most N k X ^ (2 k) steps.
Few petal steps. A branch from a clause set of width k ending in a sparse node has at
most (k - 1) N / α petal steps.
The leaves. For width k ≥ 1 and α ≥ 1, every clause set φ of width k has a family
of at most ∑_{j ≤ (k - 1) N / α} (Λ choose j) sparse clause sets, Λ = N k X ^ (2 k), each
refining φ and having only solutions of φ, whose solutions cover those of φ.
Bounded occurrences. In a sparse clause set of width k, every variable occurs in at most
2 ∑_{c < k} θ c clauses.