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

BKLNW.a2_crude_le

PrimeNumberTheoremAnd.IEANTN.BKLNW.BKLNW_table10_rows_core · PrimeNumberTheoremAnd/IEANTN/BKLNW/BKLNW_table10_rows_core.lean:278 to 298

Mathematical statement

Exact Lean statement

lemma a2_crude_le (b : ℝ) (hb : 0 ≤ b) :
    Inputs.default.a₂ b ≤ (1 + Inputs.default.α) * ((⌊b / log 2⌋₊ : ℝ) + 1)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma a2_crude_le (b : ) (hb : 0  b) :    Inputs.default.a₂ b  (1 + Inputs.default.α) * ((⌊b / log 2⌋₊ : ) + 1) := by  have hα : (0 : )  Inputs.default:= by    change (0 : )  1.93378e-8 * BKLNW_app.table_8_margin    norm_num [BKLNW_app.table_8_margin]  have hlog2 : (0 : ) < log 2 := Real.log_pos one_lt_two  have hfe : f (exp b)  (⌊b / log 2⌋₊ : ) + 1 := by    have := f_crude_le (exp b) (Real.one_le_exp hb)    rw [Real.log_exp] at this    linarith  have hf2 : f ((2 : ) ^ (⌊b / log 2⌋₊ + 1))  (⌊b / log 2⌋₊ : ) + 1 := by    have h1 : (1 : )  (2 : ) ^ (⌊b / log 2⌋₊ + 1) := one_le_pow₀ (by norm_num)    have := f_crude_le ((2 : ) ^ (⌊b / log 2⌋₊ + 1)) h1    rw [Real.log_pow] at this    rw [mul_div_assoc, div_self hlog2.ne', mul_one, Nat.floor_natCast] at this    push_cast at this     linarith  have hmax : max (f (exp b)) (f ((2 : ) ^ (⌊b / log 2⌋₊ + 1)))  (⌊b / log 2⌋₊ : ) + 1 :=    max_le hfe hf2  unfold Inputs.a  gcongr