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

MobiusLemma.mobius_lemma_2_sub_2

PrimeNumberTheoremAnd.IEANTN.MobiusLemma · PrimeNumberTheoremAnd/IEANTN/MobiusLemma.lean:428 to 489

Mathematical statement

Exact Lean statement

@[blueprint
  "mobius-lemma-2-sub-2"
  (title := "Mobius Lemma 2 - second step")
  (statement := /--
    For any $K \leq x$, for $f(u) = M(\sqrt{x/u})$,
    \[\sum_{K < k\leq x+1} \int_{k-\frac{1}{2}}^{k+\frac{1}{2}} f(u) du =
      \int_{K+\frac{1}{2}}^{\lfloor x\rfloor + \frac{3}{2}} f(u) du =
      \int_{K+\frac{1}{2}}^x f(u) du,\]
  -/)
  (proof := /--
    This is just splitting the integral at $K$, since $f(u) = M(\sqrt{x/u}) = 0$ for $x>u$.
  -/)
  (latexEnv := "sublemma")
  (discussion := 529)]
theorem mobius_lemma_2_sub_2 (x : ℝ) (K : ℕ) (hK : (K : ℝ) ≤ x) :
    let f : ℝ → ℝ

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
@[blueprint  "mobius-lemma-2-sub-2"  (title := "Mobius Lemma 2 - second step")  (statement := /--    For any $K \leq x$, for $f(u) = M(\sqrt{x/u})$,    \[\sum_{K < k\leq x+1} \int_{k-\frac{1}{2}}^{k+\frac{1}{2}} f(u) du =      \int_{K+\frac{1}{2}}^{\lfloor x\rfloor + \frac{3}{2}} f(u) du =      \int_{K+\frac{1}{2}}^x f(u) du,\]  -/)  (proof := /--    This is just splitting the integral at $K$, since $f(u) = M(\sqrt{x/u}) = 0$ for $x>u$.  -/)  (latexEnv := "sublemma")  (discussion := 529)]theorem mobius_lemma_2_sub_2 (x : ) (K : ) (hK : (K : )  x) :    let f :    := fun u  (M (Real.sqrt (x / u)) : )    ∑ k  Ico (K + 1) (⌊x⌋₊ + 2), ∫ u in (k - 0.5)..(k + 0.5), f u =      ∫ u in (K + 0.5)..(⌊x⌋₊ + 1.5), f u := by  intro f  have h_split : ∑ k  Ico (K + 1) (⌊x⌋₊ + 2), ∫ u in ((k : ) - 0.5)..((k : ) + 0.5), f u =      ∫ u in (↑(K + 1) - 0.5)..(↑(⌊x⌋₊ + 2) - 0.5), f u := by    rw [sum_Ico_eq_sum_range]    convert intervalIntegral.sum_integral_adjacent_intervals _ using 3    · push_cast; ring    · rw [Nat.add_sub_of_le (by linarith [Nat.le_floor hK])]    · intro k hk      apply_rules [IntegrableOn.intervalIntegrable]      refine Integrable.mono' (g := fun u  2 ^ (Nat.floor (Real.sqrt (x / u)))) ?_ ?_ ?_      · refine Integrable.mono'          (g := fun u  2 ^ (Nat.floor (Real.sqrt (x / ((K + 1 + k : ) - 0.5))) + 1)) ?_ ?_ ?_        · exact Continuous.integrableOn_Icc (by continuity)        · exact aestronglyMeasurable <| by measurability        · filter_upwards [ae_restrict_mem measurableSet_Icc] with u hu          norm_num at *          refine pow_le_pow_right₀ (by norm_num) ?_          refine Nat.le_of_lt_succ ?_          rw [Nat.floor_lt', Real.sqrt_lt'] <;> norm_num <;> try positivity          rw [div_lt_iff₀]          · have := Nat.lt_floor_add_one (Real.sqrt (x / (K + 1 + k - 1 / 2)))            rw [sqrt_lt' <| by positivity] at this            rw [div_lt_iff₀] at this <;>              nlinarith [show (⌊Real.sqrt (x / (K + 1 + k - 1 / 2))⌋₊ : )  0 by positivity]          · linarith      · refine aestronglyMeasurable ?_        have h_meas_floor : Measurable (fun u  Nat.floor (Real.sqrt (x / u))) :=          nat_floor (.sqrt (measurable_const.div measurable_id'))        have h_meas_sum : Measurable (fun n :   ∑ k  Ioc 0 n, (moebius k : )) :=          measurable_of_countable _        exact Measurable.comp (by fun_prop) (h_meas_sum.comp h_meas_floor)      · refine Filter.Eventually.of_forall fun u  ?_        norm_num [f, M, moebius]        refine le_trans (abs_sum_le_sum_abs ..) ?_        refine le_trans (sum_le_sum (g := fun _  1) fun i hi  ?_) ?_        · split_ifs <;> norm_num        · inductionReal.sqrt (x / u)⌋₊ with          | zero => simp          | succ n ih =>            norm_num [Nat.pow_succ', sum_Ioc_succ_top] at *            rw [pow_succ']            linarith [show (1 : )  2 ^ n by exact one_le_pow₀ (by norm_num)]  convert! h_split using 2 <;>  · push_cast; ring