88public import Mathlib.Geometry.Manifold.MFDeriv.Tangent
99public import Mathlib.Geometry.Manifold.ContMDiffMap
1010public import Mathlib.Geometry.Manifold.VectorBundle.Hom
11+ public import Mathlib.Geometry.Manifold.Notation
1112
1213/-!
1314### Interactions between differentiability, smoothness and manifold derivatives
@@ -283,21 +284,19 @@ variable [Is : IsManifold I 1 M] [I's : IsManifold I' 1 M']
283284/-- If a function is `C^n` on a domain with unique derivatives, then its bundled derivative
284285is `C^m` when `m+1 ≤ n`. -/
285286theorem ContMDiffOn.contMDiffOn_tangentMapWithin
286- (hf : ContMDiffOn I I' n f s) (hmn : m + 1 ≤ n)
287- (hs : UniqueMDiffOn I s) :
288- ContMDiffOn I.tangent I'.tangent m (tangentMapWithin I I' f s)
289- (π E (TangentSpace I) ⁻¹' s) := by
287+ (hf : CMDiff[s] n f) (hmn : m + 1 ≤ n) (hs : UniqueMDiffOn I s) :
288+ CMDiff[(π E (TangentSpace I) ⁻¹' s)] m (tangentMap[s] f) := by
290289 intro x₀ hx₀
291290 let s' : Set (TangentBundle I M) := (π E (TangentSpace I) ⁻¹' s)
292291 let b₁ : TangentBundle I M → M := fun p ↦ p.1
293- let v : Π (y : TangentBundle I M), TangentSpace I (b₁ y) := fun y ↦ y.2
292+ let v : Π (y : TangentBundle I M), TangentSpace% (b₁ y) := fun y ↦ y.2
294293 have hv : ContMDiffWithinAt I.tangent I.tangent m (fun y ↦ (v y : TangentBundle I M)) s' x₀ :=
295294 contMDiffWithinAt_id
296295 let b₂ : TangentBundle I M → M' := f ∘ b₁
297296 have hb₂ : ContMDiffWithinAt I.tangent I' m b₂ s' x₀ :=
298297 ((hf (b₁ x₀) hx₀).of_le (le_self_add.trans hmn)).comp _
299298 (contMDiffWithinAt_proj (TangentSpace I)) (fun x h ↦ h)
300- let ϕ : Π (y : TangentBundle I M), TangentSpace I (b₁ y) →L[𝕜] TangentSpace I' (b₂ y) :=
299+ let ϕ : Π (y : TangentBundle I M), TangentSpace% (b₁ y) →L[𝕜] TangentSpace% (b₂ y) :=
301300 fun y ↦ mfderivWithin I I' f s (b₁ y)
302301 have hϕ : ContMDiffWithinAt I.tangent 𝓘(𝕜, E →L[𝕜] E') m
303302 (fun y ↦ ContinuousLinearMap.inCoordinates E (TangentSpace I (M := M)) E'
@@ -315,22 +314,21 @@ theorem ContMDiffOn.contMDiffOn_tangentMapWithin
315314derivative is continuous there. -/
316315theorem ContMDiffOn.continuousOn_tangentMapWithin (hf : ContMDiffOn I I' n f s) (hmn : 1 ≤ n)
317316 (hs : UniqueMDiffOn I s) :
318- ContinuousOn (tangentMapWithin I I' f s) (π E (TangentSpace I) ⁻¹' s) := by
319- have :
320- ContMDiffOn I.tangent I'.tangent 0 (tangentMapWithin I I' f s) (π E (TangentSpace I) ⁻¹' s) :=
317+ ContinuousOn (tangentMap[s] f) (π E (TangentSpace I) ⁻¹' s) := by
318+ have : CMDiff[π E (TangentSpace I) ⁻¹' s] 0 (tangentMap[s] f) :=
321319 hf.contMDiffOn_tangentMapWithin hmn hs
322320 exact this.continuousOn
323321
324322/-- If a function is `C^n`, then its bundled derivative is `C^m` when `m+1 ≤ n`. -/
325- theorem ContMDiff.contMDiff_tangentMap (hf : ContMDiff I I' n f) (hmn : m + 1 ≤ n) :
326- ContMDiff I.tangent I'.tangent m (tangentMap I I' f) := by
323+ theorem ContMDiff.contMDiff_tangentMap (hf : CMDiff n f) (hmn : m + 1 ≤ n) :
324+ CMDiff m (tangentMap% f) := by
327325 rw [← contMDiffOn_univ] at hf ⊢
328326 convert hf.contMDiffOn_tangentMapWithin hmn uniqueMDiffOn_univ
329327 rw [tangentMapWithin_univ]
330328
331329/-- If a function is `C^n`, with `1 ≤ n`, then its bundled derivative is continuous. -/
332- theorem ContMDiff.continuous_tangentMap (hf : ContMDiff I I' n f) (hmn : 1 ≤ n) :
333- Continuous (tangentMap I I' f) := by
330+ theorem ContMDiff.continuous_tangentMap (hf : CMDiff n f) (hmn : 1 ≤ n) :
331+ Continuous (tangentMap% f) := by
334332 rw [← contMDiffOn_univ] at hf
335333 rw [← continuousOn_univ]
336334 convert hf.continuousOn_tangentMapWithin hmn uniqueMDiffOn_univ
@@ -359,7 +357,7 @@ may seem.
359357TODO define splittings of vector bundles; state this result invariantly. -/
360358theorem tangentMap_tangentBundle_pure [Is : IsManifold I 1 M]
361359 (p : TangentBundle I M) :
362- tangentMap I I.tangent (zeroSection E (TangentSpace I)) p = ⟨⟨p.proj, 0 ⟩, ⟨p.2 , 0 ⟩⟩ := by
360+ tangentMap% (zeroSection (B := M) E (TangentSpace I)) p = ⟨⟨p.proj, 0 ⟩, ⟨p.2 , 0 ⟩⟩ := by
363361 rcases p with ⟨x, v⟩
364362 have N : I.symm ⁻¹' (chartAt H x).target ∈ 𝓝 (I ((chartAt H x) x)) := by
365363 apply IsOpen.mem_nhds
@@ -421,7 +419,7 @@ bundles. -/
421419
422420lemma equivTangentBundleProd_eq_tangentMap_prod_tangentMap :
423421 equivTangentBundleProd I M I' M' = fun (p : TangentBundle (I.prod I') (M × M')) ↦
424- (tangentMap (I.prod I ') I Prod.fst p, tangentMap (I.prod I') I' Prod.snd p) := by
422+ (tangentMap% (@Prod.fst M M ') p, tangentMap% (@Prod.snd M M') p) := by
425423 simp only [tangentMap_prodFst, tangentMap_prodSnd]; rfl
426424
427425variable [IsManifold I 1 M] [IsManifold I' 1 M']
0 commit comments