@@ -570,43 +570,6 @@ theorem exists_isSubordinate_chartAt_source :
570570 apply exists_isSubordinate _ isClosed_univ _ (fun i ↦ (chartAt H _).open_source) (fun x _ ↦ ?_)
571571 exact mem_iUnion_of_mem x (mem_chart_source H x)
572572
573- /--
574- Let `ρ` be a smooth partition of unity subordinate to an open cover `U`.
575- Let `s_loc` be a family of local sections, where each `s_loc i` is $C^n$ smooth on `U i`
576- (when viewed as a map to the total space of the bundle).
577- Then the global section `x ↦ ∑ᶠ i, ρ i x • s_loc i x`, when viewed as a map to the total space,
578- is $C^n$ smooth.
579- -/
580- theorem contMDiff_totalSpace_weighted_sum_of_local_sections
581- {E : Type uE} [NormedAddCommGroup E] [NormedSpace ℝ E]
582- {H : Type uH} [TopologicalSpace H] (I : ModelWithCorners ℝ E H) {M : Type uM}
583- [TopologicalSpace M] [ChartedSpace H M]
584- {F_fiber : Type *} [NormedAddCommGroup F_fiber] [NormedSpace ℝ F_fiber]
585- (V : M → Type *) [∀ x, NormedAddCommGroup (V x)] [∀ x, Module ℝ (V x)]
586- [TopologicalSpace (TotalSpace F_fiber V)] [FiberBundle F_fiber V] [VectorBundle ℝ F_fiber V]
587- {n : ℕ∞} {ι : Type *} (ρ : SmoothPartitionOfUnity ι I M univ) (s_loc : ι → ((x : M) → V x))
588- (U : ι → Set M) (hU_isOpen : ∀ i, IsOpen (U i)) (hρ_subord : ρ.IsSubordinate U)
589- (h_smooth_s_loc : ∀ i, ContMDiffOn I (I.prod 𝓘(ℝ, F_fiber)) n
590- (fun x ↦ TotalSpace.mk' F_fiber x (s_loc i x)) (U i)) :
591- ContMDiff I (I.prod 𝓘(ℝ, F_fiber)) n
592- (fun x ↦ TotalSpace.mk' F_fiber x (∑ᶠ (j : ι), (ρ j x) • (s_loc j x))) := by
593- intro x₀
594- apply (Bundle.contMDiffAt_section x₀).mpr
595- let e₀ := trivializationAt F_fiber V x₀
596- apply ContMDiffAt.congr_of_eventuallyEq
597- · apply ρ.contMDiffAt_finsum
598- · intro j hx₀
599- have := h_smooth_s_loc j |>.contMDiffAt <| (hU_isOpen j).mem_nhds <| hρ_subord j hx₀
600- rwa [Bundle.contMDiffAt_section] at this
601- · have h_base : {x : M | x ∈ e₀.baseSet} ∈ 𝓝 x₀ :=
602- e₀.open_baseSet.mem_nhds (FiberBundle.mem_baseSet_trivializationAt' x₀)
603- filter_upwards [ρ.eventually_fintsupport_subset x₀, h_base] with x _ hx_base
604- have hfin : {i : ι | (ρ i x • s_loc i x) ≠ 0 }.Finite := by
605- refine (ρ.locallyFinite.point_finite x).subset fun i hi_smul_ne_zero => ?_
606- have : ρ i x ≠ 0 ∧ s_loc i x ≠ 0 := by simpa using hi_smul_ne_zero
607- exact this.1
608- simpa using e₀.linearEquivAt ℝ x hx_base |>.toAddMonoidHom.map_finsum hfin
609-
610573end SmoothPartitionOfUnity
611574
612575variable [SigmaCompactSpace M] [T2Space M] {t : M → Set F} {n : ℕ∞}
@@ -621,7 +584,7 @@ Then there exists a global $C^n$ smooth section `s : Cₛ^n⟮I_M; F_fiber, V⟯
621584-/
622585theorem exists_contMDiffOn_section_forall_mem_convex_of_local
623586 {F_fiber : Type *} [NormedAddCommGroup F_fiber] [NormedSpace ℝ F_fiber]
624- (V : M → Type *) [∀ x, NormedAddCommGroup (V x)] [∀ x, Module ℝ (V x)]
587+ (V : M → Type *) [∀ x, AddCommGroup (V x)] [∀ x, TopologicalSpace (V x)] [∀ x, Module ℝ (V x)]
625588 [TopologicalSpace (TotalSpace F_fiber V)] [FiberBundle F_fiber V] [VectorBundle ℝ F_fiber V]
626589 (t : ∀ x, Set (V x)) (ht_conv : ∀ x, Convex ℝ (t x))
627590 (Hloc :
@@ -644,11 +607,20 @@ theorem exists_contMDiffOn_section_forall_mem_convex_of_local
644607 -- Define the global section `s` by taking a weighted sum of the local sections.
645608 let s x : V x := ∑ᶠ j, (ρ j x) • s_loc j x
646609 -- Prove that `s`, when viewed as a map to the total space, is smooth.
647- have s_smooth : ContMDiff I (I.prod 𝓘(ℝ, F_fiber)) n (fun x ↦ TotalSpace.mk' F_fiber x (s x)) :=
648- ρ.contMDiff_totalSpace_weighted_sum_of_local_sections
649- I V s_loc U (fun x ↦ isOpen_interior) hρU fun j ↦ (s_smooth j).mono interior_subset
610+ have (j : M) : ContMDiff I (I.prod 𝓘(ℝ, F_fiber)) n
611+ (fun x ↦ TotalSpace.mk' F_fiber x ((ρ j x) • (s_loc j x))) := by
612+ refine ContMDiffOn.smul_section_of_tsupport ?_ isOpen_interior (hρU j)
613+ ((s_smooth j).mono interior_subset)
614+ exact ((ρ j).contMDiff).of_le (sup_eq_left.mp rfl) |>.contMDiffOn
615+ have hs : ContMDiff I (I.prod 𝓘(ℝ, F_fiber)) n (fun x ↦ TotalSpace.mk' F_fiber x (s x)) := by
616+ apply ContMDiff.finsum_section_of_locallyFinite ?_ this
617+ -- Future: can grind do this?
618+ apply ρ.locallyFinite.subset fun i x hx ↦ ?_
619+ rw [support]
620+ rw [mem_setOf_eq] at hx ⊢
621+ exact left_ne_zero_of_smul hx
650622 -- Construct the smooth section and prove it lies in the convex sets `t x`.
651- refine ⟨⟨s, s_smooth ⟩, fun x ↦ ?_⟩
623+ refine ⟨⟨s, hs ⟩, fun x ↦ ?_⟩
652624 apply (ht_conv x).finsum_mem (ρ.nonneg · x) (ρ.sum_eq_one (mem_univ x))
653625 intro j h_ρjx_ne_zero
654626 have h_x_in_tsupport_ρj : x ∈ tsupport (ρ j) := subset_closure (mem_support.mpr h_ρjx_ne_zero)
0 commit comments