Plain-language statement
Simplified version of D_qexp_tsum for ℕ+-indexed series (starting from n=1). This is the form most commonly used for Eisenstein series q-expansions. Thin layer implementation: Extends a : ℕ+ → ℂ to ℕ → ℂ with a' 0 = 0, uses tsum_pNat and summable_pnat_iff_summable_nat to convert between sums, then applies D_qexp_tsum.
Exact Lean statement
theorem D_qexp_tsum_pnat (a : ℕ+ → ℂ) (z : ℍ)
(hsum : Summable (fun n : ℕ+ => a n * cexp (2 * π * I * n * z)))
(hsum_deriv : ∀ K : Set ℂ, K ⊆ {w : ℂ | 0 < w.im} → IsCompact K →
∃ u : ℕ+ → ℝ, Summable u ∧ ∀ n (k : K), ‖a n * (2 * π * I * n) *
cexp (2 * π * I * n * k.1)‖ ≤ u n) :
D (fun w => ∑' n : ℕ+, a n * cexp (2 * π * I * n * w)) z =
∑' n : ℕ+, (n : ℂ) * a n * cexp (2 * π * I * n * z)Formal artifact
Lean source
theorem D_qexp_tsum_pnat (a : ℕ+ → ℂ) (z : ℍ) (hsum : Summable (fun n : ℕ+ => a n * cexp (2 * π * I * n * z))) (hsum_deriv : ∀ K : Set ℂ, K ⊆ {w : ℂ | 0 < w.im} → IsCompact K → ∃ u : ℕ+ → ℝ, Summable u ∧ ∀ n (k : K), ‖a n * (2 * π * I * n) * cexp (2 * π * I * n * k.1)‖ ≤ u n) : D (fun w => ∑' n : ℕ+, a n * cexp (2 * π * I * n * w)) z = ∑' n : ℕ+, (n : ℂ) * a n * cexp (2 * π * I * n * z) := by -- Extend a to ℕ with a' 0 = 0 let a' : ℕ → ℂ := fun n => if h : 0 < n then a ⟨n, h⟩ else 0 have ha' : ∀ n : ℕ+, a' n = a n := fun n => dif_pos n.pos -- Derivative bounds: extend u using summable_pnat_iff_summable_nat have hsum_deriv' : ∀ K : Set ℂ, K ⊆ {w : ℂ | 0 < w.im} → IsCompact K → ∃ u : ℕ → ℝ, Summable u ∧ ∀ n (k : K), ‖a' n * (2 * π * I * n) * cexp (2 * π * I * n * k.1)‖ ≤ u n := fun K hK hKc => by obtain ⟨u, hu_sum, hu_bound⟩ := hsum_deriv K hK hKc let u' : ℕ → ℝ := fun n => if h : 0 < n then u ⟨n, h⟩ else 0 have hu' : ∀ n : ℕ+, u' n = u n := fun n => dif_pos n.pos refine ⟨u', summable_pnat_iff_summable_nat.mp (hu_sum.congr fun n => by rw [hu']), fun n k => ?_⟩ by_cases hn : 0 < n · simp only [a', u', dif_pos hn]; exact hu_bound _ k · simp only [Nat.not_lt, Nat.le_zero] at hn; simp [a', u', hn] -- Apply D_qexp_tsum and convert sums via tsum_pNat have hD := D_qexp_tsum a' z (summable_pnat_iff_summable_nat.mp (hsum.congr fun n => by rw [ha'])) hsum_deriv' calc D (fun w => ∑' n : ℕ+, a n * cexp (2 * π * I * n * w)) z = D (fun w : ℍ => ∑' n : ℕ, a' n * cexp (2 * π * I * n * (w : ℂ))) z := by congr 1; ext w; rw [← tsum_pNat _ (by simp [a'])]; exact tsum_congr fun n => by rw [ha'] _ = ∑' n : ℕ, (n : ℂ) * a' n * cexp (2 * π * I * n * (z : ℂ)) := hD _ = ∑' n : ℕ+, (n : ℂ) * a n * cexp (2 * π * I * n * z) := by rw [← tsum_pNat _ (by simp [a'])]; exact tsum_congr fun n => by rw [ha']- Project
- Sphere Packing in Dimension 8
- License
- Apache-2.0
- Commit
- acfc6204e65a
- Source
- SpherePacking/ModularForms/Derivative.lean:362-392
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
Anti Der Pos
antiDerPos
Plain-language statement
If is a modular form where is positive for sufficiently large (i.e. constant term is positive) and the derivative is positive, then is also positive.
Source project: Sphere Packing in Dimension 8
Person-level attribution pending.
Anti Serre Der Pos
antiSerreDerPos
Plain-language statement
Let be a holomorphic function where is real for all . Assume that Serre derivative is positive on the imaginary axis. If is positive for sufficiently large , then is positive for all .
Source project: Sphere Packing in Dimension 8
Person-level attribution pending.
Closed Ball center subset upper Half Plane
closedBall_center_subset_upperHalfPlane
Plain-language statement
Closed ball centered at z with radius z.im/2 is contained in the upper half plane.
Source project: Sphere Packing in Dimension 8
Person-level attribution pending.