Continuous argument lift for a point-avoiding curve #
For a curve γ : ℝ → ℂ continuous on [a, b] and avoiding a point w, the function
t ↦ γ t - w is nowhere zero there, so on [a, b] it admits a real-valued argument lift θ,
continuous on [a, b], with γ t - w = ‖γ t - w‖ · exp (i θ t) for t ∈ [a, b]. This is the
geometric heart of the integer-valuedness of the generalized winding number: for a closed
curve the total argument change θ b - θ a is an integer multiple of 2π.
The lift is built on a partition a = s₀ ≤ ⋯ ≤ s_N = b fine enough that each segment ratio
(γ t - w) / (γ (s j) - w) stays within distance 1/2 of 1, hence in Complex.slitPlane, where
Complex.log extracts a single-valued argument; the segment contributions telescope to the global
lift.
Mathlib's Complex.exists_continuousOn_eqOn_exp_comp already gives a continuous logarithm (hence
argument) branch for a nowhere-zero continuous function on a simply connected open set. The explicit
partition-and-segRatio construction here is retained because the downstream winding-number
integral is evaluated segment by segment, which needs the partition data that the bare-existence
API does not expose.
Main results #
TauCeti.Contour.exists_continuousOn_arg_lift_with_partition— a real argument lift, continuous on[a, b], for a curve continuous there and avoidingw, plus a monotone partition witness.TauCeti.Contour.segRatioand its evaluation lemmas — the segment-ratio building block used to assemble the index integral downstream.TauCeti.Contour.div_norm_eq_exp_arg_mul_I— the unit direction of a nonzero complex number in polar form, shared with the sector-resonance bridges.TauCeti.Contour.exp_mul_I_congr_angle— equal real angles have equal unit complex exponentials.
Provenance #
Adapted from WindingInteger.lean in the AINTLIB LeanModularForms development. Prerequisite for
the integer-valuedness and local constancy of the generalized winding number, hence for the homology
Cauchy theorem (roadmap homologyCauchyTheorem) and the generalized residue theorem.
Partition lemma #
Segment-ratio helpers #
The continuous argument lift below is assembled from a partition of [a, b]: on each segment the
ratio (γ t - w) / (γ (s j) - w) lies within distance 1/2 of 1, hence in Complex.slitPlane
(via Mathlib's Complex.ball_one_subset_slitPlane), where Complex.log extracts a single-valued
argument; the Im (log ·) contributions telescope across the partition. The definitions and lemmas
supporting that construction follow.
The segment ratio (γ (segClamp s_j s_jp1 t) - w) / (γ s_j - w): on the partition segment
[s_j, s_{j+1}] it measures γ t - w against its value at the left endpoint s_j, held constant
in t outside the segment. Summing the Complex.logs of these ratios over a partition yields a
continuous argument lift of t ↦ γ t - w.
Equations
- TauCeti.Contour.segRatio γ w s_j s_jp1 t = (γ (TauCeti.Contour.segClamp✝ s_j s_jp1 t) - w) / (γ s_j - w)
Instances For
Telescoping product over a partition #
Continuous arg-lift summand (continued) #
The unit direction in polar form #
Two real representatives of the same Real.Angle have the same unit complex exponential.
This is the coercion bridge from the quotient-valued angle API to complex polar form.
Polar form of a product #
Covering segment #
Uniform partition with bounded mesh #
Main theorem: argument lift on [a, b] #
Argument lift on [a, b], with a partition. For γ continuous on [a, b] (a ≤ b) and
avoiding w, there is a monotone partition a = s 0 ≤ ⋯ ≤ s N = b and a real function
θ t = arg (γ a - w) + ∑_{j < N} (log (segRatio γ w (s j) (s (j+1)) t)).im, continuous on [a, b],
satisfying γ t - w = ‖γ t - w‖ · exp (I · θ t) there. Each node has γ (s j) ≠ w, and on each
segment j the ratio (γ t - w) / (γ (s j) - w) lies in Complex.slitPlane.