Documentation

LeanPool.LeanModularForms.ValenceFormula.RectHomotopy.WindingBase

Winding number base lemmas #

Establishes that the straight line from any interior point to the reference point refP₀ avoids the fdPolygon boundary, derives slitPlane membership for the translated curve, and proves continuity and limit behavior of the argument function near the branch cut crossing point tL. These results underpin the winding number computation for the fundamental domain boundary.

theorem RectHomotopyProof.fdPolygon_avoids_line_to_ref (p : ) (hp_norm : p > 1) (hp_re : |p.re| < 1 / 2) (hp_im_pos : 0 < p.im) (hp_im : p.im < HHeight) (s : ) :
s Set.Icc 0 1tSet.Icc 0 5, fdPolygon t (1 - s) * p + s * refP₀

The straight line from any valid interior point p to refP₀ = I*Y₀ avoids all points on the fdPolygon boundary.

rc(t) - refP₀ lies in slitPlane for t ∈ [0, 5] with t ≠ tL refP₀. Note: CurveAvoidance.curve_sub_in_slitPlane does not apply here because its hpos hypothesis requires 0 < im ∨ 0 < re uniformly on all of Icc 0 5, whereas at tL the vector has re < 0 and im = 0 (a branch-cut crossing). slitPlane membership at non-tL points relies on im ≠ 0 (not im > 0), which is outside the API's scope.

fdPolygon t - refP₀ is in slitPlane for t ∈ [0, 5] with t ≠ tL refP₀. Derived from rc_sub_ref_p₀_mem_slitPlane via positive-scaling; the same curve_sub_in_slitPlane incompatibility applies (see above).

w = fdPolygon · - refP₀ is continuous.

arg ∘ w is continuous on Icc 0 5 \ {tL refP₀}.

At tL: w has re < 0 and im = 0.

For t near tL from below, w(t).im < 0.

For t near tL from above, w(t).im > 0.

Tendsto arg(w(t)) from the left of tL to -π.

Tendsto arg(w(t)) from the right of tL to π.