Concrete size decrease of whole-instance blossom contraction #
For b distinct blossom variables and r distinct touched original constraints,
the constructor has old.numVars - b + r occurring variables and one additional positive-scope
constraint. Every touched constraint has at least two internal positions, so r ≤ b.
The natural resource 2 * numVars - positiveCount strictly decreases even when r = b.
Nullary constraints are preserved but do not contribute to the positive count.
This is the finite accounting behind Observation 26 and Corollary 27 of [KKR18], arXiv:1602.03124v6, printed p. 13. No native time bound is claimed.
An edge instance spends precisely two old ports per selected occurring variable.
Two internal ports at every touched original constraint imply r ≤ b, even when copied
nodes of a repeated original constraint occur several times in the blossom.
The exact constructor cannot increase the number of occurring variables.
The actual finite contraction strictly decreases the recursion resource, including the case where the variable count is unchanged. Every hypothesis comes from the actual blossom.
The actual number of stored table rows grows by at most r. The central table has r
rows of width r; thus its new Boolean row data is quadratic in r, not linear in r.
Every old table retains at most its original number of rows, with original outside order.