Depth and B-choice budgets for actual counting paths #
Appendix A.3 [OAI26c], printed p.46, obtains depth C * n and at most Γ * n / M
B-choices from actual insertion events, where C = 4 * ∑ r < k - 1, (3 * M) ^ r and
Γ = 4 * ∑ r < k - 1, 3 ^ r. Here the B-budget is stated as M * #B ≤ Γ * n, without division.
Every step inserts a genuinely new heart or petal of width between one and k - 1; every B-step
of petal width j inserts at least M ^ j such clauses. Summing these lower bounds against the
cumulative insertion bounds proves both budgets. There is no replacement by distinct-clause counts
and no assumed path-length bound. The empty sums at k ≤ 1 force zero steps. No ambient finite
variable type or positivity of the declared-variable count is needed.
The input is the existing Nat-indexed actual counting path. Tree/search clients can obtain it from successive word prefixes and their branching rule's choice witnesses. Node/leaf-word counting, effective parameter selection and native resource bounds remain separate consumer obligations.
Main results #
Cslib.Logic.PL.ClauseSet.Sparsification.card_le_counting_node: root width is preserved.Cslib.Logic.PL.ClauseSet.Sparsification.counting_new_nonempty: every step inserts a new clause.Cslib.Logic.PL.ClauseSet.Sparsification.counting_length_le_sum_insertions: depth lower charge.Cslib.Logic.PL.ClauseSet.Sparsification.mul_card_counting_petalSteps_le: B-step lower charge.Cslib.Logic.PL.ClauseSet.Sparsification.counting_length_le: theC * ndepth bound.Cslib.Logic.PL.ClauseSet.Sparsification.mul_card_counting_B_le: theΓ * nweighted B-budget.Cslib.Logic.PL.ClauseSet.Sparsification.counting_path_budgets_of_card_le: declared-budget form.
References #
All clauses along an actual heavy-heart counting path retain the root width bound. The payload-width theorem includes the additional negated-heart units.
Every selected width is at most the root width bound.
Every heart/petal is genuinely new, including width-one petals. This excludes the current node and root using reducedness and root-subclause witnesses, without nontautology.
Every legal counting step has at least one insertion absent from current and root. The witness is a heart or petal, so already-present B-negated units do not affect this fact.
Every actual payload width lies in [1,k), where k bounds the root widths.
Charging each step to its nonempty insertion batch bounds path length by the sum of width-indexed event counts. No deduplication across steps or terminal-sparsity premise is used.
A B-step of petal width j inserts at least θ j new width-j clauses. Summing these
per-step contributions gives a lower bound on actual cumulative insertion events, including j=1.
Actual counting paths have depth at most C * declared.card, with the source's
C = 4 * ∑ r < k - 1, (3 * M) ^ r. At k ≤ 1 the empty sum forces zero steps.
At each fixed petal width, the B-step budget keeps one factor of M after canceling a
positive power of M. There is no division by the number of declared variables.
The source's weighted B-choice budget: M * #B ≤ Γ * declared.card, where
Γ = 4 * ∑ r < k - 1, 3 ^ r. This includes k ≤ 1 and zero declared variables.
Both actual path budgets hold for any declared-variable budget above the finite support's
cardinality, including zero. The B-budget retains the source's exact coefficient Γ.