Documentation

LeanPool.Sendov.Analytic.OriginExact

The origin inequality #

This file closes the origin channel, deriving (origin-exact) — the hypothesis horigin of Sendov.polar_origin_incompatible — from the triangle inequality (tri) of Sendov.Analytic.Origin, the two origin identities, and the defect estimate of Sendov.Analytic.Jsum.

The chain is:

Main statements #

Scalar lemmas #

theorem Sendov.sum_norm_le_card (q : Multiset ℂ) :
(∀ v ∈ q, ‖v‖ ≤ 1) → (Multiset.map (fun (v : ℂ) => ‖v‖) q).sum ≤ ↑q.card
theorem Sendov.norm_mul_two_re_le {w : ℂ} (_hs : 0 < w.re) :
‖w‖ * (2 * w.re) ≤ 2 * w.re ^ 2 + w.im ^ 2

|s + it| ≤ s + t²/(2s) for s > 0, in cleared form. Squaring both sides leaves t⁴ ≥ 0.

The quantity W, the growth bound (grow), and the two real-arithmetic steps #

noncomputable def Sendov.Worigin (n : ℕ) (a x y : ℝ) :

W = a²(n-1) + 1 - a(x+iy); n times the bracket in the blog post's (tri-2).

Equations
Instances For
    theorem Sendov.Worigin_eq (n : ℕ) (a x y : ℝ) :
    Worigin n a x y = ↑(a ^ 2 * (↑n - 1) + 1 - a * x) + ↑(-(a * y)) * Complex.I
    theorem Sendov.Worigin_re (n : ℕ) (a x y : ℝ) :
    (Worigin n a x y).re = a ^ 2 * (↑n - 1) + 1 - a * x
    theorem Sendov.Worigin_im (n : ℕ) (a x y : ℝ) :
    (Worigin n a x y).im = -(a * y)
    theorem Sendov.grow {n : ℕ} (hn : 5 ≤ n) {a x y : ℝ} (ha0 : 0 < a) (hx : x ≤ 1) :
    2 * a * ↑n / (↑n - 1) ≤ ‖Worigin n a x y‖

    (grow). ‖W‖ ≥ 2an/(n-1). Bounding ‖W‖ below by its real part reduces this to (n-1)²a² - (3n-1)a + (n-1) > 0; completing the square turns that into 4(n-1)³ - (3n-1)² > 0, which is exactly where n ≥ 5 is needed.

    theorem Sendov.collapse_J {K c P : ℝ} (hP1 : P ≤ 1) (hc0 : 0 ≤ c) (hcK : 2 * c ≤ K) :
    P * K + c * (1 - P ^ 2) ≤ K

    Replacing |J| by 1: P K + c(1 - P²) ≤ K on 0 ≤ P ≤ 1 once K ≥ 2c ≥ 0, since K - P K - c(1-P²) = (1-P)(K - c(1+P)).

    theorem Sendov.norm_Worigin_le {n : ℕ} {a x y : ℝ} (ha0 : 0 < a) (ha1 : a < 1) (hn1 : 0 < ↑n - 1) (hxle : x ≤ 1) (hy2 : y ^ 2 ≤ 1 - x ^ 2) :
    ‖Worigin n a x y‖ ≤ a ^ 2 * (↑n - 1) + 1 - a * x + (1 - x ^ 2) / (2 * (↑n - 1))

    Eliminating y: ‖W‖ ≤ Re W + (Im W)²/(2 Re W), then Re W ≥ a²(n-1) and y² ≤ 1 - x².

    theorem Sendov.xy_bounds {n : ℕ} (hn : 2 ≤ n) {x y : ℝ} {q : Multiset ℂ} (hqcard : q.card = n - 1) (hq1 : ∀ v ∈ q, ‖v‖ ≤ 1) (hxy : q.sum = (↑n - 1) * (↑x + ↑y * Complex.I)) :
    (Multiset.map (fun (v : ℂ) => v.re) q).sum = (↑n - 1) * x ∧ x ^ 2 + y ^ 2 ≤ 1

    x and y are determined by q.sum, and inherit two bounds from ‖qⱼ‖ ≤ 1: the real part is what the polar and origin estimates need, and x² + y² ≤ 1 is what eliminates y.

    The origin inequality #

    theorem Sendov.origin_exact {n : ℕ} (hn : 5 ≤ n) {a x y α : ℝ} {z q : Multiset ℂ} (ha0 : 0 < a) (ha1 : a < 1) (hqcard : q.card = n - 1) (hq0 : q ≠ 0) (hz1 : ∀ w ∈ z, ‖w‖ ≤ 1) (hq1 : ∀ v ∈ q, ‖v‖ ≤ 1) (hxy : q.sum = (↑n - 1) * (↑x + ↑y * Complex.I)) (hcent : (↑n - 1) * (↑a + z.sum) = ↑n * (Multiset.map (fun (v : ℂ) => ↑a - v⁻¹) q).sum) (hfirst : ↑n * ∫ (t : ℝ) in 0..1, Fprod a q t = (-1) ^ (n - 1) * q.prod * z.prod) (hsecond : ↑n * (Multiset.map (fun (v : ℂ) => 1 - ↑a * v) q).prod = (-1) ^ (n - 1) * q.prod * (z.prod + ↑a * sumEraseProd z)) (hα : α = M n * (1 - a ^ 2) / 2) :
    2 * α + a * x ≤ (1 - x ^ 2) / (2 * M n) + a ^ 2 * ↑n * M n * ∫ (t : ℝ) in 0..1, t * QQ (a * x) (a ^ 2) t ^ ((↑n - 2) / 2)

    (origin-exact). The origin channel, in the form the reduction consumes.