All proofs
Project-declaredLean 4.31.0 · mathlib@fabf563a7c95

Qexp deriv bound of coeff bound

qexp_deriv_bound_of_coeff_bound

Plain-language statement

Derivative bounds for q-expansion coefficients. Given ‖a n‖ ≤ n^k, produces bounds ‖a n * 2πin * exp(2πin z)‖ ≤ 2π * n^(k+1) * exp(-2πn * y_min) on compact K ⊆ {z : 0 < z.im}. This is a key hypothesis for D_qexp_tsum_pnat.

Exact Lean statement

lemma qexp_deriv_bound_of_coeff_bound {a : ℕ+ → ℂ} {k : ℕ}
    (ha : ∀ n : ℕ+, ‖a n‖ ≤ (n : ℝ)^k) :
    ∀ K : Set ℂ, K ⊆ {w : ℂ | 0 < w.im} → IsCompact K →
      ∃ u : ℕ+ → ℝ, Summable u ∧ ∀ (n : ℕ+) (z : K),
        ‖a n * (2 * π * I * ↑n) * cexp (2 * π * I * ↑n * z.1)‖ ≤ u n

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma qexp_deriv_bound_of_coeff_bound {a : +  ℂ} {k : }    (ha :  n : +, ‖a n‖  (n : )^k) :     K : Set ℂ, K  {w : ℂ | 0 < w.im}  IsCompact K        u : +  , Summable u   (n : +) (z : K),        ‖a n * (2 * π * I * ↑n) * cexp (2 * π * I * ↑n * z.1)‖  u n := by  intro K hK_sub hK_compact  by_cases hK_nonempty : K.Nonempty  · obtain k_min, hk_min_mem, hk_min_le := hK_compact.exists_isMinOn hK_nonempty      Complex.continuous_im.continuousOn    have hy_min_pos : 0 < k_min.im := hK_sub hk_min_mem    have hpos : 0 < 2 * π * k_min.im := by nlinarith [pi_pos]    have h := Real.summable_pow_mul_exp_neg_nat_mul (k + 1) hpos    have hconv : Summable (fun n : + =>        2 * π * ((n : ) : )^(k + 1) * rexp (-(2 * π * k_min.im) * (n : ))) := by      have : Summable (fun n : + =>          ((n : ) : )^(k + 1) * rexp (-(2 * π * k_min.im) * (n : ))) := h.subtype _      simpa [mul_assoc] using this.mul_left (2 * π)    use fun n => 2 * π * (n : )^(k + 1) * rexp (-2 * π * ↑n * k_min.im)    constructor    · apply hconv.of_nonneg_of_le      · intro n; positivity      · intro n        have h1 : -2 * π * ↑↑n * k_min.im = -(2 * π * k_min.im) * ↑↑n := by ring        simp only [h1]; exact le_refl _    · intro n z, hz_mem      have hz_im : k_min.im  z.im := hk_min_le hz_mem      have hn_pos : (0 : ) < n := by exact_mod_cast n.pos      have h_norm_2pin : ‖(2 : ℂ) * π * I * ↑↑n‖ = 2 * π * n := by        rw [norm_mul, norm_mul, norm_mul, Complex.norm_ofNat, Complex.norm_real,            Complex.norm_I, mul_one, Complex.norm_natCast, Real.norm_of_nonneg pi_pos.le]      calc ‖a n * (2 * π * I * ↑↑n) * cexp (2 * π * I * ↑↑n * z)‖          = ‖a n‖ * ‖(2 * π * I * ↑↑n)‖ * ‖cexp (2 * π * I * ↑↑n * z)‖ := by            rw [norm_mul, norm_mul]        _  (n : )^k * (2 * π * n) * rexp (-2 * π * n * z.im) := by            rw [h_norm_2pin]            have hexp : ‖cexp (2 * π * I * ↑↑n * z)‖  rexp (-2 * π * n * z.im) := by              rw [Complex.norm_exp]              have : (2 * π * I * ↑↑n * z).re = -2 * π * n * z.im := by                simp only [Complex.mul_re, Complex.mul_im, Complex.ofReal_re, Complex.ofReal_im,                  Complex.I_re, Complex.I_im, Complex.natCast_re, Complex.natCast_im,                  mul_zero, mul_one, zero_add, add_zero, sub_zero]; ring              rw [this]            gcongr; exact ha n        _  (n : )^k * (2 * π * n) * rexp (-2 * π * n * k_min.im) := by            apply mul_le_mul_of_nonneg_left _ (by positivity)            apply Real.exp_le_exp_of_le            apply mul_le_mul_of_nonpos_left hz_im            nlinarith [pi_pos, hn_pos]        _ = 2 * π * (n : )^(k + 1) * rexp (-2 * π * n * k_min.im) := by ring  · use fun _ => 0    constructor    · exact summable_zero    · intro n z, hz_mem      exfalso; exact hK_nonempty z, hz_mem
Project
Sphere Packing in Dimension 8
License
Apache-2.0
Commit
acfc6204e65a
Source
SpherePacking/ModularForms/EisensteinAsymptotics.lean:249-302

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.31.0

Anti Der Pos

antiDerPos

Plain-language statement

If FF is a modular form where F(it)F(it) is positive for sufficiently large tt (i.e. constant term is positive) and the derivative is positive, then FF is also positive.

sphere packingFourier analysismodular forms

Source project: Sphere Packing in Dimension 8

Person-level attribution pending.

View proof record
Project-declaredLean 4.31.0

Anti Serre Der Pos

antiSerreDerPos

Plain-language statement

Let F:HCF : \mathbb{H} \to \mathbb{C} be a holomorphic function where F(it)F(it) is real for all t>0t > 0. Assume that Serre derivative kF\partial_k F is positive on the imaginary axis. If F(it)F(it) is positive for sufficiently large tt, then F(it)F(it) is positive for all t>0t > 0.

sphere packingFourier analysismodular forms

Source project: Sphere Packing in Dimension 8

Person-level attribution pending.

View proof record