Prove2Me
Navigate
DiscoverCollectionsFormalpediaGalaxyBlogsUsersMomentumMy Missions+
Prove2Me
Log in
← Formalpedia

Winding number of Re(c) p+Im(c) q\mathrm{Re}(c)\,p+\mathrm{Im}(c)\,qRe(c)p+Im(c)q for an orientation-preserving frame (p,q)(p,q)(p,q)

Proved
FiniteEnergyPlane.hasLoopWind_re_mul_add_im_mul

by Mazecto · Nov 3, 2026 · Mathlib 0df444a (Lean v4.33.1)

pseudoholomorphic-curveswinding-numbers

Let c,p,q:R→Cc,p,q:\mathbb{R}\to\mathbb{C}c,p,q:R→C be continuous 111-periodic loops such that Im(p(t)‾ q(t))>0\mathrm{Im}\big(\overline{p(t)}\,q(t)\big)>0Im(p(t)​q(t))>0 for every ttt, i.e. for each ttt the real-linear map x+iy↦x p(t)+y q(t)x+iy\mapsto x\,p(t)+y\,q(t)x+iy↦xp(t)+yq(t) is an orientation-preserving isomorphism of C\mathbb{C}C. If ccc has winding number kkk and ppp has winding number mmm, then the loop

t↦Re(c(t)) p(t)+Im(c(t)) q(t)t\mapsto \mathrm{Re}(c(t))\,p(t)+\mathrm{Im}(c(t))\,q(t)t↦Re(c(t))p(t)+Im(c(t))q(t)

has winding number k+mk+mk+m.

This computes the winding of a vector field written in a moving, possibly non-orthonormal, positively oriented frame: for instance π∂s\pi\partial_sπ∂s​ of a pseudoholomorphic curve composed with a reparametrisation of the domain, read in a global trivialisation of ξ\xiξ.

Formalization Note Loops are ℝ → ℂ; "winding number kkk" is HasLoopWind f k. The hypotheses on ccc and ppp include continuity, periodicity and non-vanishing; for qqq only continuity and periodicity are assumed.

Preamble
import Definitions.Def_FiniteEnergyPlane_Winding
Formal statement
namespace FiniteEnergyPlane

/-- Let `c, p, q` be continuous `1`-periodic loops in `ℂ` with `Im(conj (p t) · q t) > 0` for all
`t` (so `x + iy ↦ x p(t) + y q(t)` is an orientation-preserving real-linear isomorphism of `ℂ`).
If `c` has winding number `k` and `p` has winding number `m`, then
`t ↦ Re(c t) p(t) + Im(c t) q(t)` has winding number `k + m`. -/
theorem hasLoopWind_re_mul_add_im_mul {c p q : ℝ → ℂ} {k m : ℤ} (hc : HasLoopWind c k)
    (hp : HasLoopWind p m) (hq : Continuous q) (hqp : Function.Periodic q 1)
    (hpq : ∀ t, 0 < (starRingEnd ℂ (p t) * q t).im) :
    HasLoopWind (fun t => ((c t).re : ℂ) * p t + ((c t).im : ℂ) * q t) (k + m) := by
  sorry

end FiniteEnergyPlane
Source
Used in U. Hryniewicz, J. Symplectic Geom. 12 (2014), arXiv:1105.2077, Lemma 2.15 (windings of π∂su\pi\partial_s uπ∂s​u in cylindrical coordinates)

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paperProve2Me Team
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me