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

tendsto_integral_Ioi_exp_neg_mul_sinc_of_tendsto_interval

PrimeNumberTheoremAnd.LaplaceInversion · PrimeNumberTheoremAnd/LaplaceInversion.lean:1806 to 1882

Source documentation

Abel comparison: any finite-window sinc limit agrees with the damped half-line limit.

Exact Lean statement

theorem tendsto_integral_Ioi_exp_neg_mul_sinc_of_tendsto_interval
    {L : ℝ}
    (hL : Filter.Tendsto
      (fun R : ℝ => ∫ x in (0 : ℝ)..R, Real.sinc x)
      Filter.atTop (nhds L)) :
    Filter.Tendsto
      (fun a : ℝ => ∫ x : ℝ in Set.Ioi 0, Real.exp (-a * x) * Real.sinc x)
      (𝓝[>] (0 : ℝ)) (nhds L)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem tendsto_integral_Ioi_exp_neg_mul_sinc_of_tendsto_interval    {L : }    (hL : Filter.Tendsto      (fun R :  => ∫ x in (0 : )..R, Real.sinc x)      Filter.atTop (nhds L)) :    Filter.Tendsto      (fun a :  => ∫ x :  in Set.Ioi 0, Real.exp (-a * x) * Real.sinc x)      (𝓝[>] (0 : )) (nhds L) := by  rw [Metric.tendsto_nhds] at hL   intro ε hε  let η :  := ε / 4  have hη : 0 < η := by dsimp [η]; positivity  have hL_event : ᶠ R :  in Filter.atTop,      dist (∫ x in (0 : )..R, Real.sinc x) L < η :=    hL η hη  have htail_lim : Filter.Tendsto (fun R :  => 4 * R⁻¹) Filter.atTop (nhds 0) := by    simpa using (tendsto_const_nhds.mul tendsto_inv_atTop_zero : Filter.Tendsto      (fun R :  => 4 * R⁻¹) Filter.atTop (nhds (4 * 0)))  have htail_event : ᶠ R :  in Filter.atTop, 4 * R⁻¹ < η :=    htail_lim.eventually (gt_mem_nhds hη)  have hlarge : ᶠ R :  in Filter.atTop, 1  R := Filter.eventually_ge_atTop 1  rcases Filter.eventually_atTop.1 (hL_event.and (htail_event.and hlarge)) with R, hR  have hFR_dist : dist (∫ x in (0 : )..R, Real.sinc x) L < η := (hR R le_rfl).1  have htail_small : 4 * R⁻¹ < η := (hR R le_rfl).2.1  have hR_one : 1  R := (hR R le_rfl).2.2  have hR_pos : 0 < R := zero_lt_one.trans_le hR_one  have hfinite_event :      ᶠ a :  in 𝓝[>] (0 : ),        dist (∫ x in (0 : )..R, Real.exp (-a * x) * Real.sinc x)          (∫ x in (0 : )..R, Real.sinc x) < η :=    Metric.tendsto_nhds.mp (tendsto_intervalIntegral_exp_neg_mul_sinc_nhdsGT_zero R) η hη  filter_upwards [hfinite_event, self_mem_nhdsWithin] with a hfinite ha_mem  have ha : 0 < a := ha_mem  let g :    := fun x => Real.exp (-a * x) * Real.sinc x  let D :  := ∫ x in (0 : )..R, g x  let F :  := ∫ x in (0 : )..R, Real.sinc x  let T :  := ∫ x :  in Set.Ioi R, g x  let G :  := ∫ x :  in Set.Ioi 0, g x  have hg0 : IntegrableOn g (Set.Ioi 0) := by    dsimp [g]    exact integrableOn_exp_neg_mul_sinc a ha  have hgR : IntegrableOn g (Set.Ioi R) := by    exact hg0.mono_set (Set.Ioi_subset_Ioi hR_pos.le)  have hsplit : D + T = G := by    dsimp [D, T, G, g]    exact intervalIntegral.integral_interval_add_Ioi hg0 hgR  have hfinite_norm : ‖D - F‖ < η := by    simpa [D, F, g, Real.dist_eq, Real.norm_eq_abs] using hfinite  have hFR_norm : ‖F - L‖ < η := by    simpa [F, Real.dist_eq, Real.norm_eq_abs] using hFR_dist  have htail_norm : ‖T‖ < η := by    have htail_le : ‖T‖  4 * R⁻¹ := by      dsimp [T, g]      exact norm_integral_Ioi_exp_neg_mul_sinc_tail_le ha hR_one    exact lt_of_le_of_lt htail_le htail_small  have htriangle :      ‖G - L‖  ‖D - F‖ + ‖T‖ + ‖F - L‖ := by    calc      ‖G - L‖ = ‖(D - F) + T + (F - L)‖ := by        rw [ hsplit]        congr 1        ring      _  ‖(D - F) + T‖ + ‖F - L‖ := norm_add_le _ _      _  (‖D - F‖ + ‖T‖) + ‖F - L‖ := by        simpa [add_comm, add_left_comm, add_assoc] using          add_le_add_right (norm_add_le (D - F) T) ‖F - L‖      _ = ‖D - F‖ + ‖T‖ + ‖F - L‖ := by ring  have hsum : ‖D - F‖ + ‖T‖ + ‖F - L‖ < ε := by    have hsum_eta : ‖D - F‖ + ‖T‖ + ‖F - L‖ < η + η + η := by      nlinarith [hfinite_norm, htail_norm, hFR_norm]    have heta : η + η + η < ε := by      dsimp [η]      nlinarith [hε]    exact lt_trans hsum_eta heta  have hG : dist G L < ε := by    simpa [Real.dist_eq, Real.norm_eq_abs] using lt_of_le_of_lt htriangle hsum  simpa [G, g] using hG