@@ -171,26 +171,6 @@ lemma contMDiff_of_contMDiffOn_iUnion_of_isOpen {ι : Type*} {s : ι → Set M}
171171 rw [← contMDiffOn_univ, ← hs']
172172 exact ContMDiffOn.iUnion_of_isOpen hf hs
173173
174- /-- A section is `C^n` whenever it is `C^n` on its support.
175- This is a more global version of `contMDiff_of_tsupport` (which does not apply, as it assumes the
176- co-domain has a zero: the total space of a vector bundle has none): in return for the additional
177- generality, we need to add a hypothesis about the zero section being smooth. -/
178- lemma ContMDiff.of_contMDiffOn_smul_bump_function [SMul 𝕜 M'] (hf : ContMDiffOn I I' n f s)
179- (hs : IsOpen s) {ψ : M → 𝕜} (hψ : ContMDiff I 𝓘(𝕜) n ψ) (hψ' : tsupport ψ ⊆ s)
180- -- XXX: is there a better abstraction of "the zero section"?
181- (hzero : ContMDiff I I' n (fun x ↦ (0 : 𝕜) • f x)) : ContMDiff I I' n (ψ • f) := by
182- apply contMDiff_of_contMDiffOn_union_of_isOpen ?_ ?_ ?_ hs
183- (isOpen_compl_iff.mpr <| isClosed_tsupport ψ)
184- · -- TODO: impose further typeclasses to make this true...
185- sorry -- scalar multiplication is C^n, for sections: will be done for local frames as well
186- · apply (hzero.contMDiffOn (s := (tsupport ψ)ᶜ)).congr
187- intro y hy
188- simp [image_eq_zero_of_notMem_tsupport hy]
189- · exact Set.compl_subset_iff_union.mp <| Set.compl_subset_compl.mpr hψ'
190-
191- -- See also `ContMDiff.of_contMDiffOn_smul_bump_function` for the analogous result applying
192- -- to sections of vector bundles (whose co-domain has no zero).
193-
194174end contMDiff_union
195175
196176section contMDiff_addsmulfinsum_section
0 commit comments