Documentation

TauCeti.Analysis.Contour.Crossing.FiniteExcision

Simultaneous excision of finitely many crossing windows #

Hungerbühler–Wasem Proposition 2.2 replaces every crossing of a closed piecewise-C¹ immersion by a circular cap. Crossing.Excision constructs this replacement for one window; this file iterates that construction over a finite list of pairwise disjoint windows.

CircularCapWindow records the five parameters of one replacement. Applying exciseCrossings to a pairwise disjoint list has the expected simultaneous description: it is the prescribed cap on each window and the original curve off their union. It remains piecewise C¹ when the windows lie strictly inside the parameter interval and their cap endpoints match the original curve, and remains closed when the interval endpoints lie outside every window. Without a disjointness assumption, it avoids the crossing centre on Icc a b when every window meeting that interval has nonzero radius and the windows cover every parameter there at which the original curve meets that centre.

This is the finite geometric surgery producing the modified curve in Proposition 2.2. The winding number accounting is deliberately separate: Winding.Number.Partition supplies finite additivity, while the local crossing contribution is computed by the crossing-angle theory.

Main definitions #

Main results #

References #

The parameters of a circular cap replacing one crossing window. Every field contributes to the replacement: lower and upper delimit the window, radius is the signed radial scale, and startAngle and endAngle specify the cap's angular sweep.

  • radius : ℝ

    Signed radial scale of the cap.

  • lower : ℝ

    Lower endpoint of the parameter window.

  • upper : ℝ

    Upper endpoint of the parameter window.

  • startAngle : ℝ

    Angle of the cap at the lower endpoint.

  • endAngle : ℝ

    Angle of the cap at the upper endpoint.

Instances For

    The closed parameter interval replaced by a circular cap.

    Equations
    Instances For
      @[simp]

      Membership in a window is membership in its closed endpoint interval.

      Two windows listed strictly from left to right have disjoint closed intervals.

      The circular cap prescribed by a crossing window.

      Equations
      Instances For

        At t, the bundled cap is the point at the corresponding affine interpolation of its endpoint angles.

        @[simp]

        The bundled cap starts at its prescribed angle at the lower endpoint.

        @[simp]

        The bundled cap ends at its prescribed angle at a distinct upper endpoint.

        A bundled cap with nonzero signed radius misses its centre.

        The index principal value exists along a bundled circular cap.

        The winding number of a nondegenerate bundled cap is its angular extent over 2π.

        The contribution of one circular-cap window: the winding number of the original curve across the window minus the cap's angular term. Under the nondegeneracy hypotheses of localContribution_eq_sub_windingNumber_cap, this is the window winding number minus the cap winding number.

        Equations
        Instances For

          The defining window-minus-angular-term formula for a local contribution.

          The local contribution is the difference between the window winding number and the winding number of the prescribed cap.

          noncomputable def TauCeti.Contour.CircularCapWindow.excise (W : CircularCapWindow) (γ : ℝ → ℂ) (s : ℂ) :
          ℝ → ℂ

          Replace one crossing window of γ by its prescribed circular cap about s.

          Equations
          Instances For

            A bundled one-window excision is the corresponding unbundled circular-cap excision.

            @[simp]
            theorem TauCeti.Contour.CircularCapWindow.excise_of_mem (W : CircularCapWindow) {γ : ℝ → ℂ} {s : ℂ} {t : ℝ} (ht : t ∈ W.interval) :
            W.excise γ s t = W.cap s t

            On its window, a one-window excision is the prescribed cap.

            @[simp]
            theorem TauCeti.Contour.CircularCapWindow.excise_of_notMem (W : CircularCapWindow) {γ : ℝ → ℂ} {s : ℂ} {t : ℝ} (ht : t ∉ W.interval) :
            W.excise γ s t = γ t

            Off its window, a one-window excision is the original curve.

            Windows listed strictly from left to right have pairwise disjoint closed intervals.

            noncomputable def TauCeti.Contour.exciseCrossings (γ : ℝ → ℂ) (s : ℂ) :

            Replace each window in windows by its circular cap about s. Later replacements act on the curve produced by earlier ones. For pairwise disjoint windows the order is immaterial pointwise, and exciseCrossings_eqOn_window gives the simultaneous description.

            Equations
            Instances For
              @[simp]

              Excising an empty list of windows leaves the curve unchanged.

              @[simp]
              theorem TauCeti.Contour.exciseCrossings_cons (γ : ℝ → ℂ) (s : ℂ) (W : CircularCapWindow) (windows : List CircularCapWindow) :
              exciseCrossings γ s (W :: windows) = exciseCrossings (W.excise γ s) s windows

              Excising a nonempty list first replaces its head window.

              theorem TauCeti.Contour.exciseCrossings_eqOn_compl {γ : ℝ → ℂ} {s : ℂ} {windows : List CircularCapWindow} {S : Set ℝ} (hdisj : ∀ W ∈ windows, Disjoint S W.interval) :
              Set.EqOn (exciseCrossings γ s windows) γ S

              Away from every window, finite excision agrees with the original curve.

              theorem TauCeti.Contour.exciseCrossings_apply_of_forall_notMem {γ : ℝ → ℂ} {s : ℂ} {windows : List CircularCapWindow} {t : ℝ} (ht : ∀ W ∈ windows, t ∉ W.interval) :
              exciseCrossings γ s windows t = γ t

              Pointwise form of exciseCrossings_eqOn_compl.

              theorem TauCeti.Contour.exciseCrossings_eqOn_window {γ : ℝ → ℂ} {s : ℂ} {windows : List CircularCapWindow} (hpw : List.Pairwise (fun (W V : CircularCapWindow) => Disjoint W.interval V.interval) windows) {W : CircularCapWindow} (hW : W ∈ windows) :
              Set.EqOn (exciseCrossings γ s windows) (W.cap s) W.interval

              For pairwise disjoint windows, finite excision is the prescribed cap on each window.

              theorem TauCeti.Contour.exciseCrossings_perm {γ : ℝ → ℂ} {s : ℂ} {windows windows' : List CircularCapWindow} (hpw : List.Pairwise (fun (W V : CircularCapWindow) => Disjoint W.interval V.interval) windows) (hperm : windows.Perm windows') :
              exciseCrossings γ s windows = exciseCrossings γ s windows'

              Pairwise-disjoint finite excision is independent of the ordering of the windows.

              theorem TauCeti.Contour.IsPiecewiseC1On.exciseCrossings {γ : ℝ → ℂ} {s : ℂ} {a b : ℝ} {windows : List CircularCapWindow} (hγ : IsPiecewiseC1On γ a b) (hpw : List.Pairwise (fun (W V : CircularCapWindow) => Disjoint W.interval V.interval) windows) (hinside : ∀ W ∈ windows, a < W.lower ∧ W.lower < W.upper ∧ W.upper < b) (hstart : ∀ W ∈ windows, γ W.lower = circleMap s W.radius W.startAngle) (hend : ∀ W ∈ windows, γ W.upper = circleMap s W.radius W.endAngle) :

              Finite excision preserves piecewise-C¹ regularity when the windows are pairwise disjoint, strictly inside the parameter interval, and their cap endpoints agree with the original curve.

              theorem TauCeti.Contour.exciseCrossings_closed {γ : ℝ → ℂ} {s : ℂ} {a b : ℝ} {windows : List CircularCapWindow} (hclosed : γ a = γ b) (hendpoints : ∀ W ∈ windows, a ∉ W.interval ∧ b ∉ W.interval) :
              exciseCrossings γ s windows a = exciseCrossings γ s windows b

              Finite excision preserves closedness when both parameter endpoints lie outside every replacement window.

              theorem TauCeti.Contour.exciseCrossings_ne_center {γ : ℝ → ℂ} {s : ℂ} {a b : ℝ} {windows : List CircularCapWindow} (hr : ∀ W ∈ windows, (W.interval ∩ Set.Icc a b).Nonempty → W.radius ≠ 0) (hcover : ∀ t ∈ Set.Icc a b, γ t = s → ∃ W ∈ windows, t ∈ W.interval) (t : ℝ) :
              t ∈ Set.Icc a b → exciseCrossings γ s windows t ≠ s

              If closed windows cover every parameter in Icc a b where γ meets s, and every window meeting Icc a b has nonzero radius, finite excision produces a curve avoiding s there, even when the windows overlap.