Lemma 8.4.2 — sphere-packing bound
ProvedMatousekLP.Codes.sphere_packing_boundcoding-theoryp2o-batch-b23bp2o-gran-per-chapterp2o-plan-bookp2o-v1
For all integers ,
where is the maximum size of a code with distance .
This is the classical volume bound on codes correcting errors; for example it gives and , the benchmark the Delsarte bound improves.
Formalization Note The floor of the quotient is natural-number division 2 ^ n / ∑ i ∈ range (r+1), n.choose i; the denominator is at least , so no division by zero occurs.
Preamble
import Mathlib import Definitions.Def_MatousekLP_Codes_Basic open Finset
Formal statement
namespace MatousekLP.Codes
/-- Lemma 8.4.2 (Sphere-packing bound), p. 159: for all `n` and `r`,
`A(n, 2r+1) ≤ ⌊2^n / ∑_{i=0}^r (n choose i)⌋`. Natural-number division is floor division,
and the denominator is at least `(n choose 0) = 1`. -/
theorem sphere_packing_bound (n r : ℕ) :
A n (2 * r + 1) ≤ 2 ^ n / ∑ i ∈ Finset.range (r + 1), n.choose i := by sorry
end MatousekLP.Codes
Source
Matoušek & Gärtner, Understanding and Using Linear Programming, Springer 2007, p. 159, Lemma 8.4.2 (Sphere-packing bound)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.