Documentation

LeanPool.LeanModularForms.ValenceFormula.WindingWeights.Common

Shared Infrastructure for Winding Weight Computations #

Common helpers used across the ρ, ρ+1, and i winding weight proofs: trigonometric identities, old-style segment selectors, the unified arc formula, and FTC lemmas for log-derivative integrals.

theorem fdBoundary_H_seg0 (H : ) {t : } (ht : t 1) :
fdBoundaryH H t = 1 / 2 + (H - t * (H - 3 / 2)) * Complex.I
theorem fdBoundary_H_seg1 (H : ) {t : } (ht1 : ¬t 1) (ht2 : t 2) :
fdBoundaryH H t = Complex.exp ((Real.pi / 3 + (t - 1) * (Real.pi / 2 - Real.pi / 3)) * Complex.I)
theorem fdBoundary_H_seg2 (H : ) {t : } (ht1 : ¬t 1) (ht2 : ¬t 2) (ht3 : t 3) :
fdBoundaryH H t = Complex.exp ((Real.pi / 2 + (t - 2) * (2 * Real.pi / 3 - Real.pi / 2)) * Complex.I)
theorem fdBoundary_H_seg3 (H : ) {t : } (ht1 : ¬t 1) (ht2 : ¬t 2) (ht3 : ¬t 3) (ht4 : t 4) :
fdBoundaryH H t = -1 / 2 + (3 / 2 + (t - 3) * (H - 3 / 2)) * Complex.I
theorem fdBoundary_H_seg4 (H : ) {t : } (ht1 : ¬t 1) (ht2 : ¬t 2) (ht3 : ¬t 3) (ht4 : ¬t 4) :
fdBoundaryH H t = t - 9 / 2 + H * Complex.I
theorem fdBoundary_H_eq_arc {H t : } (ht1 : 1 < t) (ht3 : t < 3) :
theorem ftc_log_piece {g h : } {a b : } (hab : a b) (hh_cont : ContinuousOn h (Set.Icc a b)) (hh_diff : tSet.Ioo a b, DifferentiableAt h t) (hh_deriv_cont : ContinuousOn (deriv h) (Set.Icc a b)) (hh_slit : tSet.Icc a b, h t Complex.slitPlane) (heq : tSet.Ioo a b, g t = h t deriv g t = deriv h t) (heq_a : g a = h a) (heq_b : g b = h b) :
IntervalIntegrable (fun (t : ) => deriv g t / g t) MeasureTheory.volume a b (t : ) in a..b, deriv g t / g t = Complex.log (g b) - Complex.log (g a)
theorem ftc_log_piece_upper {g h : } {a b : } (hab : a b) (hh_cont : ContinuousOn h (Set.Icc a b)) (hh_diff : tSet.Ioo a b, DifferentiableAt h t) (hh_deriv_cont : ContinuousOn (deriv h) (Set.Icc a b)) (hh_im_nn : tSet.Icc a b, 0 (h t).im) (hh_ne : tSet.Icc a b, h t 0) (hh_slit_interior : tSet.Ioo a b, h t Complex.slitPlane) (heq : tSet.Ioo a b, g t = h t deriv g t = deriv h t) (heq_a : g a = h a) (heq_b : g b = h b) :
IntervalIntegrable (fun (t : ) => deriv g t / g t) MeasureTheory.volume a b (t : ) in a..b, deriv g t / g t = Complex.log (g b) - Complex.log (g a)
theorem ftc_log_piece_lower {g h : } {a b : } (hab : a b) (hh_cont : ContinuousOn h (Set.Icc a b)) (hh_diff : tSet.Ioo a b, DifferentiableAt h t) (hh_deriv_cont : ContinuousOn (deriv h) (Set.Icc a b)) (hh_im_np : tSet.Icc a b, (h t).im 0) (hh_ne : tSet.Icc a b, h t 0) (hh_im_neg_interior : tSet.Ioo a b, (h t).im < 0) (heq : tSet.Ioo a b, g t = h t deriv g t = deriv h t) (heq_a : g a = h a) (heq_b : g b = h b) :
IntervalIntegrable (fun (t : ) => deriv g t / g t) MeasureTheory.volume a b (t : ) in a..b, deriv g t / g t = Complex.log (-g b) - Complex.log (-g a)
theorem ftc_piece_of_hasDerivAt {g h : } {a b : } {d : } (hab : a b) (hd : ∀ (t : ), HasDerivAt h (d t) t) (hd_cont : Continuous d) (hg_eq : ∀ (t : ), a tt bg t = h t) (hg_eq_nhds : tSet.Ioo a b, g =ᶠ[nhds t] h) (hh_slit : tSet.Icc a b, h t Complex.slitPlane) :
IntervalIntegrable (fun (t : ) => deriv g t / g t) MeasureTheory.volume a b (t : ) in a..b, deriv g t / g t = Complex.log (g b) - Complex.log (g a)

FTC piece helper: given HasDerivAt h d t for all t, g = h on [a,b], and h t ∈ slitPlane, get integrability + ∫ g'/g = log(g(b)) - log(g(a)).

theorem ftc_piece_upper_of_hasDerivAt {g h : } {a b : } {d : } (hab : a b) (hd : ∀ (t : ), HasDerivAt h (d t) t) (hd_cont : Continuous d) (hg_eq : ∀ (t : ), a tt bg t = h t) (hg_eq_nhds : tSet.Ioo a b, g =ᶠ[nhds t] h) (hh_im_nn : tSet.Icc a b, 0 (h t).im) (hh_ne : tSet.Icc a b, h t 0) (hh_slit_int : tSet.Ioo a b, h t Complex.slitPlane) :
IntervalIntegrable (fun (t : ) => deriv g t / g t) MeasureTheory.volume a b (t : ) in a..b, deriv g t / g t = Complex.log (g b) - Complex.log (g a)

FTC piece variant for upper half-plane (im ≥ 0).

theorem hasDerivAt_arc (s : ) (t : ) :
HasDerivAt (fun (t : ) => Complex.exp (↑(Real.pi * (1 + t) / 6) * Complex.I) - s) (↑(Real.pi / 6) * Complex.I * Complex.exp (↑(Real.pi * (1 + t) / 6) * Complex.I)) t

HasDerivAt for arc parameterization exp(i*pi*(1+t)/6) - s.

theorem continuous_arc_deriv :
∀ (x : ), Continuous fun (t : ) => ↑(Real.pi / 6) * Complex.I * Complex.exp (↑(Real.pi * (1 + t) / 6) * Complex.I)

Continuity of the arc derivative.

theorem eventuallyEq_of_Ioo_subset {g h : } {a b : } (hg_eq : ∀ (t : ), a < tt < bg t = h t) (t : ) (ht : t Set.Ioo a b) :

nhds equality from Ioo agreement.

theorem eventuallyEq_of_Iio {g h : } {b : } (hg_eq : t < b, g t = h t) (t : ) (ht : t < b) :

nhds equality from Iio agreement.

theorem eventuallyEq_of_Ioi {g h : } {a : } (hg_eq : ∀ (t : ), a < tg t = h t) (t : ) (ht : a < t) :

nhds equality from Ioi agreement.

theorem sin_pi_12_lt_half :
Real.sin (Real.pi / 12) < 1 / 2

sin(π/12) < 1/2, used to bound ε from 2·sin(π/12) bounds.

theorem sin_pi_12_pos :

sin(π/12) > 0.

theorem arcsin_eps_div_two_lt_pi_12 {ε : } (hε_pos : 0 < ε) (hε_lt_2sin : ε < 2 * Real.sin (Real.pi / 12)) :
Real.arcsin (ε / 2) < Real.pi / 12

arcsin(ε/2) < π/12 whenever 0 < ε < 2·sin(π/12).