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

CH2.intVSeg_eq_intCnMinus_add_rectangleIntegral

PrimeNumberTheoremAnd.IEANTN.CH2.CH2 · PrimeNumberTheoremAnd/IEANTN/CH2/CH2.lean:1333 to 1372

Mathematical statement

Exact Lean statement

lemma intVSeg_eq_intCnMinus_add_rectangleIntegral (l : LadderParams) (n : ℕ) (F : ℂ → ℂ)
    (h_integrable1 : IntervalIntegrable (fun t : ℝ ↦ F (1 + t * Complex.I) * Complex.I) volume (-l.T) (-l.δ))
    (h_integrable2 : IntervalIntegrable (fun t : ℝ ↦ F (1 + t * Complex.I) * Complex.I) volume (-l.δ) 0) :
    intVSeg 1 (-l.T) 0 F = l.intCnMinus n F + RectangleIntegral F ((l.σ n : ℂ) - (l.T : ℂ) * Complex.I) (1 - (l.δ : ℂ) * Complex.I)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma intVSeg_eq_intCnMinus_add_rectangleIntegral (l : LadderParams) (n : ) (F : ℂ  ℂ)    (h_integrable1 : IntervalIntegrable (fun t :   F (1 + t * Complex.I) * Complex.I) volume (-l.T) (-l.δ))    (h_integrable2 : IntervalIntegrable (fun t :   F (1 + t * Complex.I) * Complex.I) volume (-l.δ) 0) :    intVSeg 1 (-l.T) 0 F = l.intCnMinus n F + RectangleIntegral F ((l.σ n : ℂ) - (l.T : ℂ) * Complex.I) (1 - (l.δ : ℂ) * Complex.I) := by  have h1 : l.intCnMinus n F = (intHSeg (-l.T) 1 (l.σ n) F + intVSeg (l.σ n) (-l.T) (-l.δ) F + intHSeg (-l.δ) (l.σ n) 1 F + intVSeg 1 (-l.δ) 0 F) := rfl  have h2 : RectangleIntegral F ((l.σ n : ℂ) - (l.T : ℂ) * Complex.I) (1 - (l.δ : ℂ) * Complex.I) = (intHSeg (-l.T) (l.σ n) 1 F - intHSeg (-l.δ) (l.σ n) 1 F + intVSeg 1 (-l.T) (-l.δ) F - intVSeg (l.σ n) (-l.T) (-l.δ) F) := by    have hH1 : HIntegral F (l.σ n) 1 (-l.T) = intHSeg (-l.T) (l.σ n) 1 F := rfl    have hH2 : HIntegral F (l.σ n) 1 (-l.δ) = intHSeg (-l.δ) (l.σ n) 1 F := rfl    have hV1 : Complex.I * ∫ (y : ) in (-l.T)..(-l.δ), F (1 + ↑y * Complex.I) =      intVSeg 1 (-l.T) (-l.δ) F := by      rw [intVSeg,  smul_eq_mul,  intervalIntegral.integral_smul]      refine intervalIntegral.integral_congr (fun y _  ?_)      rw [smul_eq_mul, mul_comm]; rfl    have hV2 : Complex.I * ∫ (y : ) in (-l.T)..(-l.δ), F (↑(l.σ n) + ↑y * Complex.I) =      intVSeg (l.σ n) (-l.T) (-l.δ) F := by      rw [intVSeg,  smul_eq_mul,  intervalIntegral.integral_smul]      refine intervalIntegral.integral_congr (fun y _  ?_)      rw [smul_eq_mul, mul_comm]    rw [RectangleIntegral]    simp only [Complex.sub_re, Complex.sub_im, Complex.mul_re, Complex.mul_im, Complex.ofReal_re,      Complex.ofReal_im, Complex.I_re, Complex.I_im, Complex.one_re, Complex.one_im, mul_zero,      sub_zero, add_zero, mul_one, zero_sub]    dsimp [VIntegral]    rw [hH1, hH2, hV1, hV2]  have h_T_cancel : intHSeg (-l.T) 1 (l.σ n) F + intHSeg (-l.T) (l.σ n) 1 F = 0 := by    rw [intHSeg, intHSeg, intervalIntegral.integral_symm]    ring  have h_cancelled : l.intCnMinus n F +    RectangleIntegral F ((l.σ n : ℂ) - (l.T : ℂ) * Complex.I) (1 - (l.δ : ℂ) * Complex.I) =    intVSeg 1 (-l.T) (-l.δ) F + intVSeg 1 (-l.δ) 0 F := by      rw [h1, h2]      calc        _ = (intVSeg 1 (-l.T) (-l.δ) F + intVSeg 1 (-l.δ) 0 F) +            (intHSeg (-l.T) 1 (l.σ n) F + intHSeg (-l.T) (l.σ n) 1 F) := by ring        _ = intVSeg 1 (-l.T) (-l.δ) F + intVSeg 1 (-l.δ) 0 F := by rw [h_T_cancel, add_zero]  have h_adjacent : intVSeg 1 (-l.T) (-l.δ) F + intVSeg 1 (-l.δ) 0 F =    intVSeg 1 (-l.T) 0 F := by      rw [intVSeg, intVSeg, intVSeg]; push_cast      rw [intervalIntegral.integral_add_adjacent_intervals h_integrable1 h_integrable2]  rw [h_cancelled, h_adjacent]