The C^{1,1} crossing-regularity hypothesis #
This file defines HasLipschitzDerivOnEachSideAt, the one-sided-Lipschitz-derivative regularity
condition a crossing needs for the real winding integrand to stay bounded there
(Winding.RealIntegral.OnCurve), and its introduction/elimination API. The predicate itself
is integrand-independent -- purely a statement about derivWithin γ on each side of t -- so it
is kept separate from the integrand-specific boundedness result it feeds.
Main results #
Contour.HasLipschitzDerivOnEachSideAt--derivWithin γis Lipschitz on a one-sided closed window ending or starting att, on each side (aKR/εR-window to the right, aKL/εL- window to the left) -- the two sides need not agree, sotmay coincide with a breakpoint of the immersion.Contour.hasLipschitzDerivOnEachSideAt_iff-- its characteristic elimination/introduction iff.Contour.hasLipschitzDerivOnEachSideAt_of_lipschitzOnWith-- introduces it from one-sidedC^{1,1}data on arbitrary pieces.Contour.hasLipschitzDerivOnEachSideAt_of_contDiffOn-- introduces it from one-sidedC²data.
References #
- N. Hungerbühler, M. Wasem, Non-integer valued winding numbers and a generalized Residue Theorem, arXiv:1808.00997 — Proposition 2.3 and its proof's one-sided treatment of a corner crossing, p. 9.
The C^{1,1} crossing-regularity hypothesis: derivWithin γ is Lipschitz on a one-sided
closed window ending or starting at t, on each side (a KR/εR-window to the right, a
KL/εL-window to the left) — the two sides need not agree, so t may coincide with a
breakpoint of the immersion. Packages the hypotheses of Winding.LipschitzBoundedIntegrand's
exists_isBounded_image_realWindingIntegrand_of_lipschitzOnWith_derivWithin_corner other than
differentiability and each side's non-vanishing velocity, which a caller who already
has a piecewise-C¹ immersion in hand gets for free from
IsPwC1ImmersionOn.exists_lipschitzOnWith_derivWithin_shrink_right/_left (differentiability)
and IsPwC1ImmersionOn.derivWithin_ne_zero_right/_left (non-vanishing velocity), so should not
need to separately supply either. An opaque def, not an abbrev: consumers destructure it via
hasLipschitzDerivOnEachSideAt_iff below rather than unfolding it directly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The characteristic iff for HasLipschitzDerivOnEachSideAt. Equates the opaque def above
with its displayed one-sided witness proposition, exposing the εR/KR-window to the right and
the εL/KL-window to the left as a plain nested existential -- the introduction/elimination
interface a caller (e.g. via choose!) uses to name the witnesses, or to build the predicate from
them directly, rather than unfolding the def.
Introducing HasLipschitzDerivOnEachSideAt from one-sided C^{1,1} data on arbitrary
pieces. If derivWithin γ is Lipschitz on [c, t] and on [t, d], t itself has a Lipschitz
derivative on each side -- the defining εR/εL-windows are just these same pieces, εR := d - t
and εL := t - c. A caller whose one-sided pieces are wider than it ultimately needs must
transfer derivWithin to the narrower piece first (e.g. via
IsPwC1ImmersionOn.exists_lipschitzOnWith_derivWithin_shrink_right/_left):
LipschitzOnWith.mono
alone does not suffice, since derivWithin itself depends on the underlying set.
Introducing HasLipschitzDerivOnEachSideAt from one-sided C² data. A γ twice
differentiable on [c, t] and on [t, d] -- independently, so t may be a corner where the two
sides disagree -- has, on each half, a C¹ (hence locally Lipschitz, and Lipschitz on the
compact half itself) derivWithin: the natural route to HasLipschitzDerivOnEachSideAt for a
curve with an honest second derivative on each side of a crossing, as opposed to the merely
C^{1,1} case this predicate was built to also cover. The two-sided C² case is hγ.mono on
each half at the call site.