Plain-language statement
H₄(it) > 0 for all t > 0. Blueprint: Corollary 6.43 - H₄ is positive on the imaginary axis. Proof strategy: Use the modular S-transformation relating H₄ and H₂. From H₄_S_action: (H₄ ∣[2] S) = -H₂ From ResToImagAxis.SlashActionS: relates values at t and 1/t. This gives H₂(i/t) = t² * H₄(it), so H₄(it) > 0 follows from H₂(i/t) > 0.
Exact Lean statement
@[fun_prop] theorem H₄_imag_axis_pos : ResToImagAxis.Pos H₄
Formal artifact
Lean source
@[fun_prop]theorem H₄_imag_axis_pos : ResToImagAxis.Pos H₄ := by constructor · exact H₄_imag_axis_real · intro t ht -- Strategy: Use H₄_S_action and ResToImagAxis.SlashActionS to relate -- H₄ positivity to H₂ positivity via the modular S-transformation have h1t_pos : 0 < 1 / t := one_div_pos.mpr ht -- Apply SlashActionS at 1/t have hSlash := ResToImagAxis.SlashActionS H₄ 2 h1t_pos -- Use H₄_S_action: (H₄ ∣[2] S) = -H₂ rw [H₄_S_action] at hSlash -- Now hSlash : (-H₂).resToImagAxis (1/t) = I^(-2) * (1/t)^(-2) * H₄.resToImagAxis t -- Simplify: I^(-2) = -1 have hI_neg2 : (I : ℂ) ^ (-2 : ℤ) = -1 := by change (I ^ 2)⁻¹ = -1 rw [I_sq] norm_num -- Simplify: (1/t)^(-2) = t^2 have h1t_neg2 : ((1 / t : ℝ) : ℂ) ^ (-2 : ℤ) = (t : ℂ) ^ 2 := by have ht_ne : (t : ℂ) ≠ 0 := ofReal_ne_zero.mpr (ne_of_gt ht) simp only [one_div, ofReal_inv, _root_.zpow_neg] -- Goal: ((↑t)⁻¹ ^ 2)⁻¹ = ↑t ^ 2 field_simp -- Simplify 1/(1/t) = t have h1_div_1t : 1 / (1 / t) = t := by field_simp -- The negation of resToImagAxis have hNeg : (-H₂).resToImagAxis (1 / t) = -(H₂.resToImagAxis (1 / t)) := by simp only [Function.resToImagAxis_apply, ResToImagAxis, h1t_pos, ↓reduceDIte, Pi.neg_apply] -- Substitute into hSlash rw [hNeg, hI_neg2, h1t_neg2, h1_div_1t] at hSlash -- hSlash : -(H₂.resToImagAxis (1/t)) = -1 * t^2 * H₄.resToImagAxis t -- Simplify: H₂.resToImagAxis (1/t) = t^2 * H₄.resToImagAxis t have hEq : H₂.resToImagAxis (1 / t) = (t : ℂ) ^ 2 * H₄.resToImagAxis t := by have h : -H₂.resToImagAxis (1 / t) = -(↑t ^ 2 * H₄.resToImagAxis t) := by simp only [neg_mul, one_mul] at hSlash ⊢ exact hSlash exact neg_inj.mp h -- H₂.resToImagAxis (1/t).re > 0 from H₂_imag_axis_pos have hH₂_pos := H₂_imag_axis_pos.2 (1 / t) h1t_pos -- H₄.resToImagAxis t is real (im = 0) have hH₄_real := H₄_imag_axis_real t ht -- From hEq, extract real parts have hRe : (H₂.resToImagAxis (1 / t)).re = ((t : ℂ) ^ 2 * H₄.resToImagAxis t).re := by rw [hEq] -- Since t^2 is real positive and H₄.resToImagAxis t is real: -- (t^2 * H₄.resToImagAxis t).re = t^2 * (H₄.resToImagAxis t).re have hProd_re : ((t : ℂ) ^ 2 * H₄.resToImagAxis t).re = (t : ℝ) ^ 2 * (H₄.resToImagAxis t).re := by simp only [Function.resToImagAxis_apply, ResToImagAxis, ht, ↓reduceDIte] at hH₄_real ⊢ simp only [sq, Complex.mul_re, ofReal_re, ofReal_im, zero_mul, sub_zero] ring_nf simp only [hH₄_real, mul_zero, sub_zero] -- Combine: t^2 * (H₄.resToImagAxis t).re > 0 and t^2 > 0 imply (H₄.resToImagAxis t).re > 0 rw [hRe, hProd_re] at hH₂_pos have ht2_pos : 0 < (t : ℝ) ^ 2 := sq_pos_of_pos ht rw [mul_comm] at hH₂_pos exact pos_of_mul_pos_left hH₂_pos (le_of_lt ht2_pos)- Project
- Sphere Packing in Dimension 8
- License
- Apache-2.0
- Commit
- acfc6204e65a
- Source
- SpherePacking/ModularForms/JacobiTheta/Basic.lean:792-849
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.