The lines of the Lean statement that state the theorem, then the definitions in the file that it uses.
Local definitions the statement names, followed through the definitions they name in turn. The match is by name in the source text, so a name reached only through notation can be missed; the full file is below.
definition OAI.SevenEighths.ThetaProduct.product line 32
def product (P Q : WeakFEPair ℂ) (hPf : ContinuousOn P.f (Ioi 0)) (hPg : ContinuousOn P.g (Ioi 0)) (hQf : ContinuousOn Q.f (Ioi 0)) (hQg : ContinuousOn Q.g (Ioi 0)) : WeakFEPair ℂ where
Show the remaining 16 lines
f := fun x => P.f x * Q.f x g := fun x => P.g x * Q.g x k := P.k + Q.k ε := P.ε * Q.ε f₀ := P.f₀ * Q.f₀ g₀ := P.g₀ * Q.g₀ hf_int := (hPf.mul hQf).locallyIntegrableOn measurableSet_Ioi hg_int := (hPg.mul hQg).locallyIntegrableOn measurableSet_Ioi hk := add_pos P.hk Q.hk hε := mul_ne_zero P.hε Q.hε h_feq x hx := by rw [P.h_feq x hx, Q.h_feq x hx, Real.rpow_add hx] simp only [smul_eq_mul, Complex.ofReal_mul] ring hf_top := rapid_product_sub P.f Q.f P.f₀ Q.f₀ P.hf_top Q.hf_top hg_top := rapid_product_sub P.g Q.g P.g₀ Q.g₀ P.hg_top Q.hg_top
definition OAI.SevenEighths.ThetaProduct.rescale line 66
def rescale (P : WeakFEPair ℂ) (hPf : ContinuousOn P.f (Ioi 0)) (hPg : ContinuousOn P.g (Ioi 0)) (u : ℝ) (hu : 0 < u) : WeakFEPair ℂ where
Show the remaining 21 lines
f := fun x => P.f (u * x) g := fun x => P.g (u⁻¹ * x) k := P.k ε := P.ε * (u ^ (-P.k) : ℝ) f₀ := P.f₀ g₀ := P.g₀ hf_int := (hPf.comp (by fun_prop) (fun x hx => mul_pos hu hx)).locallyIntegrableOn measurableSet_Ioi hg_int := (hPg.comp (by fun_prop) (fun x hx => mul_pos (inv_pos.mpr hu) hx)).locallyIntegrableOn measurableSet_Ioi hk := P.hk hε := mul_ne_zero P.hε (Complex.ofReal_ne_zero.mpr (Real.rpow_pos_of_pos hu _).ne') h_feq x hx := by have heq : u * (1 / x) = 1 / (u⁻¹ * x) := by field_simp rw [heq, P.h_feq _ (mul_pos (inv_pos.mpr hu) hx), Real.mul_rpow (inv_pos.mpr hu).le hx.le, Real.inv_rpow hu.le, ← Real.rpow_neg hu.le] simp only [smul_eq_mul, Complex.ofReal_mul] ring hf_top := rapid_rescale P.f P.f₀ P.hf_top hu hg_top := rapid_rescale P.g P.g₀ P.hg_top (inv_pos.mpr hu)
definition OAI.SevenEighths.ThetaProduct.scaledEvenPair line 111
def scaledEvenPair (a : UnitAddCircle) (u : ℝ) (hu : 0 < u) : WeakFEPair ℂ := rescale (HurwitzZeta.hurwitzEvenFEPair a) (Complex.continuous_ofReal.comp_continuousOn (HurwitzZeta.continuousOn_evenKernel a)) (Complex.continuous_ofReal.comp_continuousOn (HurwitzZeta.continuousOn_cosKernel a)) u hu
definition OAI.SevenEighths.ThetaProduct.rectangularPair line 128
def rectangularPair (a b : UnitAddCircle) (u v : ℝ) (hu : 0 < u) (hv : 0 < v) : WeakFEPair ℂ := product (scaledEvenPair a u hu) (scaledEvenPair b v hv) (scaledEvenPair_f_continuous a u hu) (scaledEvenPair_g_continuous a u hu) (scaledEvenPair_f_continuous b v hv) (scaledEvenPair_g_continuous b v hv)
definition OAI.SevenEighths.EisensteinTheta.xShift line 143
def xShift (a b L : ℝ) (e : Fin 2) : ℝ := (2 * a - b - L * e) / (2 * L)
definition OAI.SevenEighths.EisensteinTheta.yShift line 144
def yShift (b L : ℝ) (e : Fin 2) : ℝ := (b + L * e) / (2 * L)
definition OAI.SevenEighths.EisensteinTheta.parityPair line 146
def parityPair (a b L : ℝ) (hL : 0 < L) (e : Fin 2) : WeakFEPair ℂ := rectangularPair (xShift a b L e) (yShift b L e) (L ^ 2) (3 * L ^ 2) (sq_pos_of_pos hL) (mul_pos (by norm_num) (sq_pos_of_pos hL))
definition OAI.SevenEighths.HeckeTheta.finitePair line 161
def finitePair {ι : Type*} [Fintype ι] (P : ι → WeakFEPair ℂ) (hk : ∀ i, (P i).k = 1) (w : ι → ℂ) : WeakFEPair ℂ where
Show the remaining 30 lines
f := ∑ i, w i • (P i).f g := ∑ i, (w i * (P i).ε) • (P i).g k := 1 ε := 1 f₀ := ∑ i, w i * (P i).f₀ g₀ := ∑ i, w i * (P i).ε * (P i).g₀ hf_int := locallyIntegrableOn_sum Finset.univ _ (fun i _ => (P i).hf_int.smul (w i)) hg_int := locallyIntegrableOn_sum Finset.univ _ (fun i _ => (P i).hg_int.smul (w i * (P i).ε)) hk := by norm_num hε := one_ne_zero h_feq x hx := by simp only [Finset.sum_apply, Pi.smul_apply, smul_eq_mul, one_mul] rw [Finset.mul_sum] apply Finset.sum_congr rfl intro i _ rw [(P i).h_feq x hx, hk i] simp only [smul_eq_mul] ring hf_top r := by have h := Asymptotics.IsBigO.fun_sum (s := Finset.univ) (fun i _ => ((P i).hf_top r).const_mul_left (w i)) simpa only [Finset.sum_apply, Pi.smul_apply, smul_eq_mul, ← Finset.sum_sub_distrib, mul_sub] using h hg_top r := by have h := Asymptotics.IsBigO.fun_sum (s := Finset.univ) (fun i _ => ((P i).hg_top r).const_mul_left (w i * (P i).ε)) simpa only [Finset.sum_apply, Pi.smul_apply, smul_eq_mul, ← Finset.sum_sub_distrib, mul_sub] using h
definition OAI.SevenEighths.HeckeTheta.pair line 194
def pair {N : ℕ} [NeZero N] (w : Fin N × Fin N → ℂ) : WeakFEPair ℂ := finitePair (fun p : (Fin N × Fin N) × Fin 2 => parityPair p.1.1 p.1.2 N (Nat.cast_pos.mpr (NeZero.pos N)) p.2) (fun _ => ThetaProduct.rectangularPair_k ..) (fun p => w p.1)
definition OAI.SevenEighths.HeckeTheta.completed line 199
def completed {N : ℕ} [NeZero N] (w : Fin N × Fin N → ℂ) : ℂ → ℂ := (pair w).Λ
definition OAI.SevenEighths.HeckeTheta.latticeL line 201
def latticeL {N : ℕ} [NeZero N] (w : Fin N × Fin N → ℂ) (s : ℂ) : ℂ := (Real.pi : ℂ) ^ s * (Complex.Gamma s)⁻¹ * completed w s
abbreviation OAI.SevenEighths.HeckeFamily.K line 208
abbrev K := CyclotomicField 3 ℚ
abbreviation OAI.SevenEighths.HeckeFamily.O line 209
abbrev O := NumberField.RingOfIntegers K
definition OAI.SevenEighths.HeckeFamily.omega line 213
def omega : O := (IsCyclotomicExtension.zeta_spec 3 ℚ K).toInteger
definition OAI.SevenEighths.HeckeFamily.coordinateElement line 215
def coordinateElement (x y : ℤ) : O := (x : O) + (y : O) * omega
structure OAI.SevenEighths.HeckeFamily.Character line 217
structure Character where modulus : Ideal O modulus_ne_bot : modulus ≠ ⊥ residue : MulChar (O ⧸ modulus) ℂ unit_trivial : ∀ u : Oˣ, residue (Ideal.Quotient.mk modulus (u : O)) = 1 period : ℕ period_pos : 0 < period period_mem : (period : O) ∈ modulus
definition OAI.SevenEighths.HeckeFamily.elementCoeff line 228
def elementCoeff (χ : Character) (z : O) : ℂ := χ.residue (Ideal.Quotient.mk χ.modulus z)
definition OAI.SevenEighths.HeckeFamily.coefficients line 230
def coefficients (χ : Character) (a : Fin χ.period × Fin χ.period) : ℂ := elementCoeff χ (coordinateElement a.1 a.2)
definition OAI.SevenEighths.HeckeFamily.continuedLattice line 233
def continuedLattice (χ : Character) : ℂ → ℂ := HeckeTheta.latticeL (coefficients χ)
definition OAI.SevenEighths.HeckeFamily.LFunction line 235
def LFunction (χ : Character) (s : ℂ) : ℂ := continuedLattice χ s / 6