Chord bounds and the Beta integrals #
Both halves of the argument replace a power of the quadratic by a power of its chord and integrate. The blog post does this twice, with different weights:
- with weight
t, to bound∫₀¹ t β(t)^{(n-2)/2}in the proof ofα ≤ 17; - with weight
t³, to bound∫₀¹ t³ Q^{(n-4)/2}in the large-degree argument.
Both reduce to a Beta integral, and the split is the same in both cases, so it is proved once:
Sendov.integral_le_tail_gen bounds ∫₀¹ t^k QQ^r by the chord integral over [0,1/c] plus
QQ 1 ^ r / (k+1), for any natural k, leaving the Beta value to be substituted afterwards.
The informal write-up instead uses QQ ≤ exp(-ct) and the Gamma integral
∫₀^∞ t³ e^{-rct} dt = 6/(rc)⁴. The Beta route is preferable in Lean — no improper integral
and no Real.exp — and is strictly sharper, since
6/((s+1)(s+2)(s+3)(s+4)) ≤ 6/s⁴ (Sendov.beta_le_six_div_pow), so every numerical constant
downstream of the Gamma bound stays valid.
Main statements #
Sendov.integral_lin_mul_rpow,Sendov.integral_cube_mul_rpow: the Beta values;Sendov.integral_chord_lin,Sendov.integral_chord_pow: the same, scaled to[0,1/c];Sendov.integral_le_tail_gen: the split, for an arbitrary weightt^k;Sendov.integral_le_tail_lin,Sendov.integral_le_tail_cube: the two instances used.
The Beta integrals #
The split #
The tail bound, for an arbitrary weight t^k. QQ is a convex parabola with vertex
at c/A; below the vertex it lies under the chord 1 - ct, above it it is increasing and so
at most QQ 1. Splitting ∫₀¹ there gives the bound.
Two points shape the proof. The chord bound needs 1 - ct ≥ 0, which comes from
ct ≤ c²/A ≤ 1 — feasibility again. And the vertex may lie outside [0,1]: the split is
made at s = min (c/A) 1, after which the first piece is enlarged to [0, 1/c] (legitimate
because s ≤ 1/c, using c ≤ 1 when the vertex is to the right) and the second piece is
empty when the vertex is beyond 1.
The integral is antitone in c: raising c lowers QQ pointwise on [0,1]. Note that
nonnegativity is only needed for the larger c; for the smaller one it comes free from the
pointwise comparison. (Sendov.integral_anti in FiniteRange.Batch is the same trick applied
to the degree instead.)