English
If y0 equals f(x0), then the pullback mpullback_vectorField_preimage_of_eq holds, giving C^m differentiability of the pulled back field at x0.
Русский
Если y0 равно f(x0), тогда mpullback_vectorField_preimage_of_eq обеспечивает C^m-дифференцируемость пуллбэк-поля в точке x0.
LaTeX
$$$\text{If } y_0=f(x_0), \text{ then } mpullback_vectorField_preimage_of_eq \text{ yields } C^m \text{ pullback at } x_0.$$$
Lean4
/-- The pullback of a `C^m` vector field by a `C^n` function with invertible derivative and
with `m + 1 ≤ n` is `C^m`.
Version within a set at a point, with a set used for the pullback possibly larger. -/
protected theorem _root_.ContMDiffWithinAt.mpullbackWithin_vectorField' {u : Set M}
(hV : ContMDiffWithinAt I' I'.tangent m (fun (y : M') ↦ (V y : TangentBundle I' M')) t (f x₀))
(hf : ContMDiffWithinAt I I' n f u x₀) (hf' : (mfderivWithin I I' f u x₀).IsInvertible) (hx₀ : x₀ ∈ s)
(hs : UniqueMDiffOn I s) (hmn : m + 1 ≤ n) (hst : f ⁻¹' t ∈ 𝓝[s] x₀) (hu : s ⊆ u) :
ContMDiffWithinAt I I.tangent m (fun (y : M) ↦ (mpullbackWithin I I' f V u y : TangentBundle I M)) s x₀ :=
by
have hn : (1 : ℕ) ≤ n := le_trans le_add_self hmn
have hh : (mfderivWithin I I' f s x₀).IsInvertible :=
by
convert hf' using 1
exact (hf.mdifferentiableWithinAt hn).mfderivWithin_mono (hs _ hx₀) hu
apply (hV.mpullbackWithin_vectorField_of_mem (hf.mono hu) hh hx₀ hs hmn hst).congr_of_eventuallyEq_of_mem _ hx₀
have Y := (contMDiffWithinAt_iff_contMDiffWithinAt_nhdsWithin (by simp)).1 (hf.of_le hn)
simp_rw [insert_eq_of_mem (hu hx₀)] at Y
filter_upwards [self_mem_nhdsWithin, nhdsWithin_mono _ hu Y] with y hy h'y
simp only [mpullbackWithin, Bundle.TotalSpace.mk_inj]
rw [MDifferentiableWithinAt.mfderivWithin_mono (h'y.mdifferentiableWithinAt le_rfl) (hs _ hy) hu]