Winding number of a -holomorphic curve in coordinates adapted to an immersed curve
ProvedFiniteEnergyPlane.exists_normal_chart_hasLoopWindLet be a real vector space of dimension , open, and a smooth almost complex structure on . Let be open and let , be smooth -holomorphic maps, , , , with injective, and suppose this intersection is isolated: for some , the only pair with is .
Then there are a map with for all , which is at the origin with invertible derivative there, and a map , continuous at with and near , and an integer and , such that for all the loop lies in with winding number .
Role: measures the local intersection multiplicity of with the immersed curve by the winding number of a single complex-valued function in a coordinate system in which is the first axis.
Formalization Note "Smooth almost complex structure" is JHolomorphic.IsAlmostComplexOn, and "-holomorphic" is JHolomorphic.IsJHolomorphicOn. The maps are functions on all of and , constrained only on the indicated sets; the isolation condition concerns the values of and on the two discs, which need not lie in and .
import Definitions.Def_FiniteEnergyPlane_Winding
namespace FiniteEnergyPlane
open Metric Filter Topology
open scoped ContDiff
/-- Let `J` be a smooth almost complex structure on an open subset `O` of a real `4`-dimensional space
`E`, and let `u`, `v` be smooth `J`-holomorphic maps from open subsets of `ℂ` to `O` with
`u(z₀) = v(w₀)` an isolated intersection and `Dv(w₀)` injective. Then there are a map
`Ψ : ℂ × ℂ → E` with `Ψ(ζ, 0) = v(w₀ + ζ)`, `C¹` at `0` with invertible derivative there, and a local
right inverse `Ξ` of `Ψ` near `u(z₀)`, continuous at `u(z₀)` with `Ξ(u(z₀)) = 0`, such that the second
component of `Ξ ∘ u` has a winding number `m ≥ 1` along all small counterclockwise circles about
`z₀`. -/
theorem exists_normal_chart_hasLoopWind {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
[FiniteDimensional ℝ E] (hE : Module.finrank ℝ E = 4) (J : E → E →L[ℝ] E) (O : Set E)
(hJ : JHolomorphic.IsAlmostComplexOn J O) (U W : Set ℂ) (hU : IsOpen U) (hW : IsOpen W)
(u v : ℂ → E) (hu : ContDiffOn ℝ ∞ u U) (hv : ContDiffOn ℝ ∞ v W)
(huO : Set.MapsTo u U O) (hvO : Set.MapsTo v W O)
(huh : JHolomorphic.IsJHolomorphicOn J U u) (hvh : JHolomorphic.IsJHolomorphicOn J W v)
(z₀ w₀ : ℂ) (hz₀ : z₀ ∈ U) (hw₀ : w₀ ∈ W) (h₀ : u z₀ = v w₀)
(hvi : Function.Injective (fderiv ℝ v w₀))
(hiso : ∃ ε > 0, ∀ z ∈ ball z₀ ε, ∀ w ∈ ball w₀ ε, u z = v w → z = z₀ ∧ w = w₀) :
∃ (Ψ : ℂ × ℂ → E) (Ξ : E → ℂ × ℂ) (e : (ℂ × ℂ) ≃L[ℝ] E),
ContDiffAt ℝ 1 Ψ (0, 0) ∧ fderiv ℝ Ψ (0, 0) = (e : ℂ × ℂ →L[ℝ] E) ∧
(∀ ζ, Ψ (ζ, 0) = v (w₀ + ζ)) ∧ ContinuousAt Ξ (u z₀) ∧ Ξ (u z₀) = (0, 0) ∧
(∀ᶠ x in 𝓝 (u z₀), Ψ (Ξ x) = x) ∧
∃ m : ℕ, 1 ≤ m ∧ ∃ r > (0 : ℝ), ∀ ρ ∈ Set.Ioo 0 r,
HasLoopWind (fun t => (Ξ (u (z₀ + ccwLoop ρ t))).2) m := by
sorry
end FiniteEnergyPlane