All proofs
Project-declaredLean 4.31.0 · mathlib@fabf563a7c95

H₄ imag axis pos

H₄_imag_axis_pos

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

Canonical source
Full Lean sourceLean 4
@[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

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