AlexKontorovich/PrimeNumberTheoremAnd
Source indexedtheorem · leanprover/lean4:v4.32.0
FKS2.floor_row2
PrimeNumberTheoremAnd.IEANTN.FKS2Cor24Row2 · PrimeNumberTheoremAnd/IEANTN/FKS2Cor24Row2.lean:44 to 72
Source documentation
Row-2 Buthe floor [e^8, e^43] via floor_xhalf_of_check.
Exact Lean statement
theorem floor_row2 : ∀ x ∈ Set.Icc (Real.exp (8:ℝ)) (Real.exp (43:ℝ)),
Eπ x ≤ (Real.log x) ^ (3/2 : ℝ) * x ^ (-(1:ℝ) / 2)Complete declaration
Lean source
Full Lean sourceLean 4
theorem floor_row2 : ∀ x ∈ Set.Icc (Real.exp (8:ℝ)) (Real.exp (43:ℝ)), Eπ x ≤ (Real.log x) ^ (3/2 : ℝ) * x ^ (-(1:ℝ) / 2) := by have hcurve : ∀ y, Real.exp (8:ℝ) ≤ y → Expr.eval (fun _ => Real.sqrt (Real.log y)) (xhalfCurveE 1 3) ≤ (Real.log y) ^ (3/2 : ℝ) * y ^ (-(1:ℝ) / 2) := by intro y hy have hypos : (0:ℝ) < y := lt_of_lt_of_le (Real.exp_pos _) hy have hyL : (0:ℝ) ≤ Real.log y := by have h8 : (8:ℝ) ≤ Real.log y := by rw [← Real.log_exp (8:ℝ)]; exact Real.log_le_log (Real.exp_pos _) hy linarith refine le_of_eq ?_ have hsq : (Real.sqrt (Real.log y)) ^ 3 = (Real.log y) ^ (3/2 : ℝ) := by rw [Real.sqrt_eq_rpow, ← Real.rpow_natCast ((Real.log y) ^ (1/2 : ℝ)) 3, ← Real.rpow_mul hyL] congr 1 norm_num rw [eval_xhalfCurveE 1 3 y hypos hyL, hsq] push_cast; ring exact floor_xhalf_of_check (xhalfCurveE 1 3) (fun x => (Real.log x) ^ (3/2 : ℝ) * x ^ (-(1:ℝ) / 2)) 8 (282/100) 76 (by norm_num) (by rw [show ((282/100:ℚ):ℝ) = 2.82 by norm_num, show (2.82:ℝ) = Real.sqrt (2.82 ^ 2) from (Real.sqrt_sq (by norm_num)).symm] exact Real.sqrt_le_sqrt (by norm_num)) (by have h656 : Real.sqrt 43 ≤ 6.56 := by rw [show (6.56:ℝ) = Real.sqrt (6.56 ^ 2) from (Real.sqrt_sq (by norm_num)).symm] exact Real.sqrt_le_sqrt (by norm_num) push_cast; linarith [h656]) (xhalfCurve_sub_supported 1 3) floor_slab_check_row2 hcurve