Skip to content

Commit 73e400d

Browse files
committed
Clean-up
1 parent 363bdd5 commit 73e400d

1 file changed

Lines changed: 21 additions & 12 deletions

File tree

Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative.lean

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,23 @@ lemma differenceAux_tensorial (cov cov' : CovariantDerivative I F V) [T2Space M]
594594
rw [cov.addσ, cov'.addσ] <;> try assumption
595595
abel
596596

597+
omit [∀ (x : M), IsTopologicalAddGroup (V x)] [∀ (x : M), ContinuousSMul ℝ (V x)] in
598+
/-- A scalar product `f • s` of a smooth bump function `f` with a section `s` is smooth
599+
when `s` is smooth on some open set `a` such that `tsupport f ⊆ a`.
600+
This is a more global version of `contMDiff_of_tsupport` (which does not apply, as it assumes the
601+
co-domain has a zero: the total space of a vector bundle has none). -/
602+
lemma ContMDiff.of_contMDiffOn_smul_bump_function [T2Space M] [IsManifold I ∞ M]
603+
{s : (x : M) → V x} {a : Set M} (ha : IsOpen a) (hn : n ≤ ∞)
604+
(hs : ContMDiffOn I (I.prod 𝓘(ℝ, F)) n (fun x' ↦ TotalSpace.mk' F x' (s x')) a)
605+
{ψ : SmoothBumpFunction I x} (hψ : tsupport ψ ⊆ a) :
606+
ContMDiff I (I.prod 𝓘(ℝ, F)) n (fun x' ↦ TotalSpace.mk' F x' (ψ x' • s x')) := by
607+
refine contMDiff_of_contMDiffOn_union_of_isOpen ?_ ?_ ?_ ha (t := (tsupport ψ)ᶜ) ?_
608+
· exact contMDiffOn_smul_section hs (ψ.contMDiff.of_le hn).contMDiffOn
609+
· apply (contMDiff_zeroSection _ _).contMDiffOn.congr fun y hy ↦ ?_
610+
simpa [extend, zeroSection] using Or.inl <| image_eq_zero_of_notMem_tsupport hy
611+
· exact Set.compl_subset_iff_union.mp <| Set.compl_subset_compl.mpr hψ
612+
· exact isOpen_compl_iff.mpr <| isClosed_tsupport ψ
613+
597614
-- TODO: either change `localFrame` to make sure it is everywhere smooth
598615
-- or introduce a cut-off here. First option is probaly better.
599616
-- TODO: comment why we chose the second option in the end, and adapt the definition accordingly
@@ -646,16 +663,8 @@ lemma contMDiff_extend [IsManifold I ∞ M] [FiniteDimensional ℝ F] [T2Space M
646663
-- XXX: extract ψ and hψ as helper declarations, perhaps private to prevent API leakage?
647664
let hψ :=
648665
Classical.choose_spec <| (SmoothBumpFunction.nhds_basis_support (I := I) ht).mem_iff.1 ht
649-
-- XXX: can a version for a bump function make this result easier to use?
650-
refine contMDiff_of_contMDiffOn_union_of_isOpen ?_ ?_ ?_ t.open_baseSet (t := (tsupport ψ)ᶜ) ?_
651-
· apply contMDiffOn_smul_section ?_ ψ.contMDiff.contMDiffOn
652-
exact contMDiffOn_localExtensionOn F (FiberBundle.mem_baseSet_trivializationAt' x) σ₀
653-
· apply (contMDiff_zeroSection _ _).contMDiffOn.congr fun y hy ↦ ?_
654-
simpa [extend, zeroSection] using Or.inl <| image_eq_zero_of_notMem_tsupport hy
655-
· exact Set.compl_subset_iff_union.mp <| Set.compl_subset_compl.mpr hψ.1
656-
· exact isOpen_compl_iff.mpr <| isClosed_tsupport ψ
657-
658-
#exit
666+
apply ContMDiff.of_contMDiffOn_smul_bump_function _ t.open_baseSet le_rfl ?_ hψ.1
667+
exact contMDiffOn_localExtensionOn F (FiberBundle.mem_baseSet_trivializationAt' x) σ₀
659668

660669
/-- The difference of two covariant derivatives, as a tensorial map -/
661670
noncomputable def difference [FiniteDimensional ℝ F] [T2Space M] [FiniteDimensional ℝ E] [IsManifold I 1 M]
@@ -705,8 +714,8 @@ noncomputable def endomorph_of_trivial_aux [FiniteDimensional ℝ E] [FiniteDime
705714
cov (extend 𝓘(ℝ, E) E X (x := x)) (extend 𝓘(ℝ, E) E' y (x := x)) x +
706715
cov (extend 𝓘(ℝ, E) E X (x := x)) (extend 𝓘(ℝ, E) E' y' (x := x)) x := by
707716
apply cov.addσ
708-
· exact (contMDiff_extend _ _).mdifferentiableAt (n := 1) (hn := by norm_num)
709-
· apply (contMDiff_extend _ _).mdifferentiableAt (n := 1) (hn := by norm_num)
717+
· exact (contMDiff_extend _ _).mdifferentiableAt (n := ) (hn := by norm_num)
718+
· apply (contMDiff_extend _ _).mdifferentiableAt (n := ) (hn := by norm_num)
710719
simp [A, B]
711720
module
712721
map_smul' a v := by

0 commit comments

Comments
 (0)