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

Ramanujan.Calculations.a_exp_upper_of

PrimeNumberTheoremAnd.IEANTN.Ramanujan.RamanujanCalculations · PrimeNumberTheoremAnd/IEANTN/Ramanujan/RamanujanCalculations.lean:689 to 715

Mathematical statement

Exact Lean statement

theorem a_exp_upper_of
    {a : ℝ → ℝ}
    (ha_eq_admissible_ge_3000 :
      ∀ {z : ℝ}, z ≥ exp 3000 →
        a z = admissible_bound (379.7 * 5.573412 ^ 5) 6.52 1.89 5.573412 z)
    {L C : ℝ}
    (hL : 3000 ≤ L)
    (hpow5 : (5.573412 : ℝ) ^ (5 : ℕ) * ((L / 5.573412) ^ (5 : ℕ)) = L ^ (5 : ℕ))
    (haux : ∀ y ∈ Set.Icc L L, styleVal y ≤ C) :
    a (exp L) ≤ C

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem a_exp_upper_of    {a :   }    (ha_eq_admissible_ge_3000 :       {z : }, z  exp 3000         a z = admissible_bound (379.7 * 5.573412 ^ 5) 6.52 1.89 5.573412 z)    {L C : }    (hL : 3000  L)    (hpow5 : (5.573412 : ) ^ (5 : ) * ((L / 5.573412) ^ (5 : )) = L ^ (5 : ))    (haux :  y  Set.Icc L L, styleVal y  C) :    a (exp L)  C := by  have hLpos : 0 < L := by linarith  rw [ha_eq_admissible_ge_3000 (z := exp L) (exp_le_exp.mpr hL)]  unfold admissible_bound  rw [log_exp, rpow_652_split (by positivity : 0 < L / 5.573412),    sqrt_ratio_5573412 (y := L) hLpos.le]  let A :  := (L / 5.573412) ^ (1.52 : )  let E :  := exp (-(1.89 : ) * (sqrt L / sqrt (5.573412 : )))  have hrewrite :      (379.7 * 5.573412 ^ 5) * ((L / 5.573412) ^ 5 * A) * E      = L ^ 5 * ((379.7 : ) * A * E) := by    calc      (379.7 * 5.573412 ^ 5) * ((L / 5.573412) ^ 5 * A) * E          = (5.573412 ^ 5 * (L / 5.573412) ^ 5) * ((379.7 : ) * A * E) := by              ring      _ = L ^ 5 * ((379.7 : ) * A * E) := by rw [hpow5]  rw [hrewrite, style_eq L hLpos]  exact haux L le_rfl, le_rfl