A vector field that is C¹ at a point of a finite-dimensional space has a local flow there that is jointly C¹ and unique inside a ball
ProvedAnosovPlugs.exists_localFlow_contDiffOn_of_contDiffAtLet be a finite-dimensional real normed space, let be a map that is of class C¹ at a point (that is, C¹ on a neighbourhood of ), and let be an open set that contains . Then there are , and a map (a local flow) such that:
- for every in the open ball : , and for every the curve has derivative at and ;
- is of class C¹ on ;
- (uniqueness inside the ball) for every , every with and every curve with that solves on the closed interval between and (derivative within the interval) and stays in there, one has
In words: near a point where it is C¹, a vector field on a finite-dimensional space has a local flow for a uniform short time that is jointly C¹ in the initial point and the time and is unique among solutions that stay in the ball. A general fact of analysis, not stated in the paper. In this mission it is a step in the proof of the companion theorem exists_localFlow_contMDiff_of_isInteriorPoint. That theorem says that the local flow of a C¹ vector field at an interior point is jointly C¹ in the initial point and the time. The proof of Proposition 1.1 (Section 3.1 of arXiv v1) uses it tacitly. There , is the vector field read in a chart, and is the interior of the chart target; the statement has the shape of the chart-level local flow in the solution of the proved theorem exists_localFlow_of_isInteriorPoint. Joint C¹ regularity replaces continuity in the initial point.
Formalization Note ContDiffAt ℝ 1 v z₀ is Mathlib's pointwise C¹ notion, which gives C¹ on a neighbourhood. Clause 2 is ContDiffOn ℝ 1 αE (Metric.ball z₀ ρ ×ˢ Ioo (-ε) ε). In clause 1 the derivative is two-sided (HasDerivAt) also at , which holds because the flow exists on a larger interval. Finite dimension is used for a compactly supported cut-off of , which makes the field globally Lipschitz so that the companion theorem exists_flow_contDiffOn_of_lipschitz applies. The closed interval between and is Mathlib's uIcc 0 h.
import Mathlib import Definitions.Def_AnosovPlugs_Gluing open scoped Manifold ContDiff Topology open Set
namespace AnosovPlugs
theorem exists_localFlow_contDiffOn_of_contDiffAt
{E : Type} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E]
{v : E → E} {z₀ : E} (hv : ContDiffAt ℝ 1 v z₀) {G : Set E} (hG : IsOpen G) (hz₀ : z₀ ∈ G) :
∃ ε > (0 : ℝ), ∃ ρ > (0 : ℝ), ∃ αE : E × ℝ → E,
(∀ z ∈ Metric.ball z₀ ρ, αE (z, 0) = z ∧ ∀ t ∈ Icc (-ε) ε,
HasDerivAt (fun s => αE (z, s)) (v (αE (z, t))) t ∧ αE (z, t) ∈ G) ∧
ContDiffOn ℝ 1 αE (Metric.ball z₀ ρ ×ˢ Ioo (-ε) ε) ∧
(∀ z ∈ Metric.ball z₀ ρ, ∀ h : ℝ, |h| ≤ ε → ∀ f : ℝ → E, f 0 = z →
(∀ τ ∈ uIcc 0 h, HasDerivWithinAt f (v (f τ)) (uIcc 0 h) τ) →
(∀ τ ∈ uIcc 0 h, f τ ∈ Metric.ball z₀ ρ) → ∀ τ ∈ uIcc 0 h, f τ = αE (z, τ)) := by sorry
end AnosovPlugs