English
Radius of addition is at least the minimum of radii; this is a standard property.
Русский
Радиус сложения не меньше минимума радиусов; это стандартное свойство.
LaTeX
$$$\\min(p.radius,q.radius) \\le (p+q).radius$$$
Lean4
/-- If a a formal multilinear series has a positive radius of convergence, then its right inverse
also has a positive radius of convergence. -/
theorem radius_rightInv_pos_of_radius_pos {p : FormalMultilinearSeries 𝕜 E F} {i : E ≃L[𝕜] F} {x : E}
(hp : 0 < p.radius) : 0 < (p.rightInv i x).radius :=
by
obtain ⟨C, r, Cpos, rpos, ple⟩ : ∃ (C r : _) (_ : 0 < C) (_ : 0 < r), ∀ n : ℕ, ‖p n‖ ≤ C * r ^ n :=
le_mul_pow_of_radius_pos p hp
let I :=
‖(i.symm : F →L[𝕜] E)‖
-- choose `a` small enough to make sure that `∑_{k ≤ n} aᵏ Qₖ` will be controllable by
-- induction
obtain ⟨a, apos, ha1, ha2⟩ :
∃ (a : _) (apos : 0 < a), 2 * I * C * r ^ 2 * (I + 1) ^ 2 * a ≤ 1 ∧ r * (I + 1) * a ≤ 1 / 2 :=
by
have : Tendsto (fun a => 2 * I * C * r ^ 2 * (I + 1) ^ 2 * a) (𝓝 0) (𝓝 (2 * I * C * r ^ 2 * (I + 1) ^ 2 * 0)) :=
tendsto_const_nhds.mul tendsto_id
have A : ∀ᶠ a in 𝓝 0, 2 * I * C * r ^ 2 * (I + 1) ^ 2 * a < 1 := by apply (tendsto_order.1 this).2;
simp [zero_lt_one]
have : Tendsto (fun a => r * (I + 1) * a) (𝓝 0) (𝓝 (r * (I + 1) * 0)) := tendsto_const_nhds.mul tendsto_id
have B : ∀ᶠ a in 𝓝 0, r * (I + 1) * a < 1 / 2 := by apply (tendsto_order.1 this).2; simp
have C : ∀ᶠ a in 𝓝[>] (0 : ℝ), (0 : ℝ) < a := by filter_upwards [self_mem_nhdsWithin] with _ ha using ha
rcases (C.and ((A.and B).filter_mono inf_le_left)).exists with ⟨a, ha⟩
exact
⟨a, ha.1, ha.2.1.le, ha.2.2.le⟩
-- check by induction that the partial sums are suitably bounded, using the choice of `a` and the
-- inductive control from Lemma `radius_rightInv_pos_of_radius_pos_aux2`.
let S n := ∑ k ∈ Ico 1 n, a ^ k * ‖p.rightInv i x k‖
have IRec : ∀ n, 1 ≤ n → S n ≤ (I + 1) * a := by
apply Nat.le_induction
· simp only [S]
rw [Ico_eq_empty_of_le (le_refl 1), sum_empty]
exact mul_nonneg (add_nonneg (norm_nonneg _) zero_le_one) apos.le
· intro n one_le_n hn
have In : 2 ≤ n + 1 := by omega
have rSn : r * S n ≤ 1 / 2 :=
calc
r * S n ≤ r * ((I + 1) * a) := by gcongr
_ ≤ 1 / 2 := by rwa [← mul_assoc]
calc
S (n + 1) ≤ I * a + I * C * ∑ k ∈ Ico 2 (n + 1), (r * S n) ^ k :=
radius_rightInv_pos_of_radius_pos_aux2 In p i rpos.le apos.le Cpos.le ple
_ = I * a + I * C * (((r * S n) ^ 2 - (r * S n) ^ (n + 1)) / (1 - r * S n)) := by rw [geom_sum_Ico' _ In];
exact ne_of_lt (rSn.trans_lt (by norm_num))
_ ≤ I * a + I * C * ((r * S n) ^ 2 / (1 / 2)) := by
gcongr
· simp only [sub_le_self_iff]
positivity
· linarith only [rSn]
_ = I * a + 2 * I * C * (r * S n) ^ 2 := by ring
_ ≤ I * a + 2 * I * C * (r * ((I + 1) * a)) ^ 2 := by gcongr
_ = (I + 2 * I * C * r ^ 2 * (I + 1) ^ 2 * a) * a := by ring
_ ≤ (I + 1) * a := by
gcongr
-- conclude that all coefficients satisfy `aⁿ Qₙ ≤ (I + 1) a`.
let a' : NNReal := ⟨a, apos.le⟩
suffices H : (a' : ENNReal) ≤ (p.rightInv i x).radius
by
apply lt_of_lt_of_le _ H
simpa only [ENNReal.coe_pos]
apply le_radius_of_eventually_le _ ((I + 1) * a)
filter_upwards [Ici_mem_atTop 1] with n (hn : 1 ≤ n)
calc
‖p.rightInv i x n‖ * (a' : ℝ) ^ n = a ^ n * ‖p.rightInv i x n‖ := mul_comm _ _
_ ≤ ∑ k ∈ Ico 1 (n + 1), a ^ k * ‖p.rightInv i x k‖ :=
(haveI : ∀ k ∈ Ico 1 (n + 1), 0 ≤ a ^ k * ‖p.rightInv i x k‖ := fun k _ => by positivity
single_le_sum this (by simp [hn]))
_ ≤ (I + 1) * a := IRec (n + 1) (by simp)