Finite block counts, seed cardinalities, and recursive error budgets #
Each level doubles the number of blocks and adds one independent seed. The exact product of seed cardinalities records their cost without charging once per block. Summing the local errors gives an explicit geometric budget.
theorem
Algebraic.Cutwidth.Extractor.Internal.recursiveSeeds_card
(Earlier : Type u)
(Fresh : ℕ → Type u)
[Fintype Earlier]
[(i : ℕ) → Fintype (Fresh i)]
(n : ℕ)
:
Fintype.card (RecursiveSeeds Earlier Fresh n) = Fintype.card Earlier * ∏ i ∈ Finset.range n, Fintype.card (Fresh i)
theorem
Algebraic.Cutwidth.Extractor.Internal.recursiveBlockError_succ
(t : ℕ)
(ε : ℕ → ℝ)
(e : ℕ → ℕ)
(n : ℕ)
:
recursiveBlockError t ε e (n + 1) = recursiveBlockError t ε e n + ↑(recursiveBlockCount t n) * (ε n + (2 ^ e n)⁻¹)