Skip to main content
AlexKontorovich/PrimeNumberTheoremAnd
Source indexedlemma Β· leanprover/lean4:v4.32.0

first_fourier_aux2

PrimeNumberTheoremAnd.Wiener Β· PrimeNumberTheoremAnd/Wiener.lean:81 to 107

Mathematical statement

Exact Lean statement

lemma first_fourier_aux2 (hx : 0 < x) (n : β„•) :
    term f Οƒ' n * 𝐞 (-(y * (1 / (2 * Ο€) * Real.log (n / x)))) β€’ ψ y =
    term f (Οƒ' + y * I) n β€’ (ψ y * x ^ (y * I))

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma first_fourier_aux2 (hx : 0 < x) (n : β„•) :    term f Οƒ' n * 𝐞 (-(y * (1 / (2 * Ο€) * Real.log (n / x)))) β€’ ψ y =    term f (Οƒ' + y * I) n β€’ (ψ y * x ^ (y * I)) := by  by_cases hn : n = 0  Β· simp [term, hn]  simp only [term, hn, ↓reduceIte]  calc    _ = (f n * (cexp ((2 * Ο€ * -(y * (1 / (2 * Ο€) * Real.log (n / x)))) * I) /        ↑((n : ℝ) ^ Οƒ'))) β€’ ψ y := by      rw [Circle.smul_def, fourierChar_apply, ofReal_cpow (by norm_num)]      simp only [one_div, mul_inv_rev, mul_neg, ofReal_neg, ofReal_mul, ofReal_ofNat, ofReal_inv,        neg_mul, smul_eq_mul, ofReal_natCast]      ring    _ = (f n * (x ^ (y * I) / n ^ (Οƒ' + y * I))) β€’ ψ y := by      congr 2      have l1 : 0 < (n : ℝ) := by simpa using Nat.pos_iff_ne_zero.mpr hn      have l2 : (x : β„‚) β‰  0 := by simp [hx.ne.symm]      have l3 : (n : β„‚) β‰  0 := by simp [hn]      rw [Real.rpow_def_of_pos l1, Complex.cpow_def_of_ne_zero l2, Complex.cpow_def_of_ne_zero l3]      push_cast      simp_rw [← Complex.exp_sub]      congr 1      rw [first_fourier_aux2a, Real.log_div l1.ne.symm hx.ne.symm]      push_cast      rw [Complex.ofReal_log hx.le]      ring    _ = _ := by simp ; group