Moment recurrence bound for histogram recursions
ProvedR6.MomentRec.moment_recurrence_boundcomplexity-theoryinteger-multiplicationkappa-improvement
Let be a finite list of pairs (child width with multiplicity ) with , , , , and suppose the moment condition (histMoment h m τ < W). If is monotone and satisfies, for all ,
then there is with for all .
This is the cost recurrence of a recursive interchange network whose children are described by the histogram .
In Lean:
theorem R6.MomentRec.moment_recurrence_bound (h : List (ℕ × ℕ)) (m W : ℕ) (τ K : ℝ) (c : ℕ → ℝ)
(hm : 2 ≤ m) (hτ0 : 0 < τ) (hτ1 : τ ≤ 1)
(hw : ∀ p ∈ h, 0 < p.1 ∧ p.1 < m) (hW : 0 < W)
(hmom : histMoment h m τ < W) (hmono : Monotone c)
(hrec : ∀ f : ℕ, 1 ≤ f →
c (m * f) ≤ (h.map fun p => (p.2 : ℝ) * c (p.1 * f)).sum / W + K) :
∃ A : ℝ, ∀ x : ℕ, 1 ≤ x → c x ≤ A * (x : ℝ) ^ τ
Formalization Note. Part of the Lean formalization of the round-six κ-improvement (integer-multiplication-kappa campaign, target IntMul.Kappa.jain_round6_framework). The statement is copied verbatim from the Lean development; the platform node carries the same declaration name. Definitions it mentions live in the IntMul_Kappa_R6_Defs* bundles (on top of the published κ bundles IntMul_Kappa_K_Defs*).
Preamble
-- Round-six κ development (integer-multiplication-kappa), generated by skeleton subtraction. import Definitions.Def_IntMul_KappaFramework set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open IntMul.Kappa open IntMul.Kappa
Formal statement
theorem R6.MomentRec.moment_recurrence_bound (h : List (ℕ × ℕ)) (m W : ℕ) (τ K : ℝ) (c : ℕ → ℝ)
(hm : 2 ≤ m) (hτ0 : 0 < τ) (hτ1 : τ ≤ 1)
(hw : ∀ p ∈ h, 0 < p.1 ∧ p.1 < m) (hW : 0 < W)
(hmom : histMoment h m τ < W) (hmono : Monotone c)
(hrec : ∀ f : ℕ, 1 ≤ f →
c (m * f) ≤ (h.map fun p => (p.2 : ℝ) * c (p.1 * f)).sum / W + K) :
∃ A : ℝ, ∀ x : ℕ, 1 ≤ x → c x ≤ A * (x : ℝ) ^ τ := by sorrySource
S. Jain, round-six networks for the integer-multiplication κ-improvement campaign (https://github.com/Swapnil-jain/integer-mult-kappa, commit 5868dc7) and D. Colkitt, integer-mult-bounds (https://github.com/CrocSwap/integer-mult-bounds); target `IntMul.Kappa.jain_round6_framework`. Lean declaration `R6.MomentRec.moment_recurrence_bound`, Solutions/R6MomentRec.lean (lines 33–139) of the round-six development.