Documentation

TauCeti.Geometry.Manifold.VectorBundle.Hom

Testing smooth bundle homomorphisms on sections #

A section of a hom bundle with finite-dimensional source fibres is smooth if and only if it sends every globally smooth section to a smooth section. This turns smoothness of tensorial operations on sections into smoothness of the associated tensor field, by applying the criterion once for each argument.

The criterion applies over arbitrary smooth finite-dimensional manifolds, including noncompact manifolds and manifolds with boundary, and places no finite-dimensionality assumption on the target fibres.

Composition of differentiable Hom-bundle sections is differentiable, including within parameter sets (MDifferentiableWithinAt.clm_bundle_comp).

The file also records that pulling back a fixed continuous bilinear form on the model fibre along a trivialization gives a C^n field of bilinear forms over its base set (TauCeti.Manifold.contMDiffOn_trivializationAt_pullbackForm), conversely that a field of bilinear forms which is C^n at a point reads in the trivialization at that point as a family of bilinear forms on the model fibre which is C^n there (TauCeti.Manifold.exists_contMDiffAt_apply_eq_apply_symm). Over the whole base set of an atlas trivialization of a C^n vector bundle, a C^n field of bilinear forms reads as a C^n family of bilinear forms on the model fibre (Bundle.Trivialization.contMDiffOn_compl₁₂_symmₗ). Fibrewise inversion preserves smoothness of a hom-bundle section at every point where the section is invertible (ContMDiffWithinAt.clm_bundle_inverse and its variants). The latter is the bundle form of the smoothness of inversion of continuous linear maps between Banach spaces. A constant bilinear pairing between trivial bundles is a smooth hom-bundle section (TauCeti.contMDiff_const_bundlePairing). A hom-bundle section whose coordinate expressions are constant on the common frame domains is smooth (TauCeti.contMDiff_hom_bundle_of_inCoordinates_eq_const).

Fibrewise composition preserves joint Cⁿ regularity along any common base map (ContMDiff.clm_bundle_comp). The corresponding native section operation is ContMDiffSection.clmComp; it requires no finite rank or completeness assumption.

Negation of a hom-bundle section along any base map preserves its regularity (ContMDiff.clm_bundle_neg). Interchanging the inputs of a smooth bilinear bundle map preserves smoothness (ContMDiffWithinAt.clm_bundle_flip), without a choice of fibre norms. This permits contraction of a smooth tensor in any input slot.

Finally, a family of fibrewise linear maps with finite-dimensional model source is a C^n section of the hom bundle exactly when the map of total spaces it induces is C^n (TauCeti.contMDiff_hom_bundle_iff, with a pointwise version TauCeti.contMDiffAt_hom_bundle_iff); this needs neither bundle to be a C^n vector bundle. The same holds for families depending on a parameter in a manifold P, as sections along the projection P × B → B and maps P × TotalSpace F₁ E₁ → TotalSpace F₂ E₂ (TauCeti.contMDiff_hom_bundle_prod_iff, TauCeti.contMDiffAt_hom_bundle_prod_iff). Combined with fibrewise inversion, a C^n family of fibrewise linear equivalences therefore induces a C^n diffeomorphism of total spaces, TauCeti.bundleDiffeomorph, whose inverse is automatically C^n. Over the model 𝓘(ℂ, EB) with n = ∞, these are the holomorphic bundle morphisms and equivalences of holomorphic vector bundles. They are the C^n counterparts of TauCeti.continuous_hom_bundle_iff and TauCeti.bundleHomeomorph. A family of fibrewise linear maps is realized by a C^n diffeomorphism of total spaces exactly when its total-space map is C^n and its fibre maps are bijective (TauCeti.exists_bundleDiffeomorph_iff).

theorem TauCeti.contMDiff_const_bundlePairing {E : Type u_1} {H : Type u_2} {M : Type u_3} {F₁ : Type u_4} {F₂ : Type u_5} {F₃ : Type u_6} [NormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace H] [TopologicalSpace M] [ChartedSpace H M] {I : ModelWithCorners ℝ E H} [NormedAddCommGroup F₁] [NormedSpace ℝ F₁] [NormedAddCommGroup F₂] [NormedSpace ℝ F₂] [NormedAddCommGroup F₃] [NormedSpace ℝ F₃] {n : WithTop ℕ∞} (μ : F₁ →L[ℝ] F₂ →L[ℝ] F₃) :
ContMDiff I (I.prod (modelWithCornersSelf ℝ (F₁ →L[ℝ] F₂ →L[ℝ] F₃))) n fun (y : M) => ⟨y, μ⟩

A constant bilinear pairing is a smooth section of the hom bundle between trivial coefficient bundles.

theorem TauCeti.Manifold.contMDiff_hom_iff {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} {M : Type u_3} [TopologicalSpace M] [ChartedSpace H M] [T2Space M] [IsManifold I (↑⊤) M] {F : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [FiniteDimensional ℝ F] {V : M → Type u_5} [TopologicalSpace (Bundle.TotalSpace F V)] [(x : M) → AddCommGroup (V x)] [(x : M) → Module ℝ (V x)] [(x : M) → TopologicalSpace (V x)] [FiberBundle F V] [VectorBundle ℝ F V] [ContMDiffVectorBundle (↑⊤) F V I] {G : Type u_6} [NormedAddCommGroup G] [NormedSpace ℝ G] {W : M → Type u_7} [TopologicalSpace (Bundle.TotalSpace G W)] [(x : M) → AddCommGroup (W x)] [(x : M) → Module ℝ (W x)] [(x : M) → TopologicalSpace (W x)] [∀ (x : M), IsTopologicalAddGroup (W x)] [∀ (x : M), ContinuousSMul ℝ (W x)] [FiberBundle G W] [VectorBundle ℝ G W] [ContMDiffVectorBundle (↑⊤) G W I] (A : (x : M) → V x →L[ℝ] W x) :
(ContMDiff I (I.prod (modelWithCornersSelf ℝ (F →L[ℝ] G))) ↑⊤ fun (x : M) => ⟨x, A x⟩) ↔ ∀ (s : (x : M) → V x), (ContMDiff I (I.prod (modelWithCornersSelf ℝ F)) ↑⊤ fun (x : M) => ⟨x, s x⟩) → ContMDiff I (I.prod (modelWithCornersSelf ℝ G)) ↑⊤ fun (x : M) => ⟨x, (A x) (s x)⟩

A hom-bundle section with finite-dimensional source fibres is smooth exactly when its evaluation on every globally smooth section is smooth. The target fibres need not be finite-dimensional, and the base need not be compact or boundaryless.

The field of bilinear forms b ↦ φ (e b ·) (e b ·) obtained by pulling back a fixed bilinear form φ on the model fibre along the preferred trivialization e at x is C^n on the base set of e.

theorem TauCeti.Manifold.exists_contMDiffAt_apply_eq_apply_symm {EB : Type u_8} [NormedAddCommGroup EB] [NormedSpace ℝ EB] {HB : Type u_9} [TopologicalSpace HB] {IB : ModelWithCorners ℝ EB HB} {n : ℕ∞} {B : Type u_10} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_11} [NormedAddCommGroup F] [NormedSpace ℝ F] {E : B → Type u_12} [TopologicalSpace (Bundle.TotalSpace F E)] [(b : B) → TopologicalSpace (E b)] [(b : B) → AddCommGroup (E b)] [(b : B) → Module ℝ (E b)] [FiberBundle F E] [VectorBundle ℝ F E] {β : (b : B) → E b →L[ℝ] E b →L[ℝ] ℝ} {x : B} (hβ : ContMDiffAt IB (IB.prod (modelWithCornersSelf ℝ (F →L[ℝ] F →L[ℝ] ℝ))) (↑n) (fun (b : B) => ⟨b, β b⟩) x) :
∃ (φ : B → F →L[ℝ] F →L[ℝ] ℝ), ContMDiffAt IB (modelWithCornersSelf ℝ (F →L[ℝ] F →L[ℝ] ℝ)) (↑n) φ x ∧ ∀ b ∈ (trivializationAt F E x).baseSet, ∀ (u v : F), ((φ b) u) v = ((β b) ((trivializationAt F E x).symm b u)) ((trivializationAt F E x).symm b v)

Conversely, a field β of bilinear forms which is C^n at x, read in the preferred trivialization e at x as b ↦ β b (e.symm b ·) (e.symm b ·), is a family of bilinear forms on the model fibre which is C^n at x.

theorem Bundle.Trivialization.contMDiffOn_compl₁₂_symmₗ {𝕜 : Type u_8} [NontriviallyNormedField 𝕜] [CompleteSpace 𝕜] {EB : Type u_9} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_10} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} {B : Type u_11} [TopologicalSpace B] [ChartedSpace HB B] {F : Type u_12} [NormedAddCommGroup F] [NormedSpace 𝕜 F] [FiniteDimensional 𝕜 F] {V : B → Type u_13} [TopologicalSpace (TotalSpace F V)] [(x : B) → TopologicalSpace (V x)] [(x : B) → AddCommGroup (V x)] [(x : B) → Module 𝕜 (V x)] [FiberBundle F V] [VectorBundle 𝕜 F V] {G : Type u_14} [NormedAddCommGroup G] [NormedSpace 𝕜 G] {n : WithTop ℕ∞} [ContMDiffVectorBundle n F V IB] {β : (x : B) → V x →L[𝕜] V x →L[𝕜] G} (e : Trivialization F TotalSpace.proj) [MemTrivializationAtlas e] (hβ : ContMDiffOn IB (IB.prod (modelWithCornersSelf 𝕜 (F →L[𝕜] F →L[𝕜] G))) n (fun (x : B) => ⟨x, β x⟩) e.baseSet) :

A C^n field of bilinear forms read in a trivialization. Over the base set of a trivialization e in the atlas of V, a field β of bilinear forms on the fibres which is C^n there reads as the C^n family y ↦ β y (e.symm y ·) (e.symm y ·) of bilinear forms on the model fibre. Unlike TauCeti.Manifold.exists_contMDiffAt_apply_eq_apply_symm, which reads β only at the centre of the preferred trivialization and needs no smoothness of V, this holds on the whole base set, which requires V to be a C^n vector bundle.

theorem TauCeti.contMDiff_hom_bundle_of_inCoordinates_eq_const {𝕜 : Type u_1} {M : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] [TopologicalSpace M] {E : Type u_5} {H : Type u_6} [NormedAddCommGroup E] [NormedSpace 𝕜 E] [TopologicalSpace H] [ChartedSpace H M] {I : ModelWithCorners 𝕜 E H} [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {V : M → Type u_7} {W : M → Type u_8} [(x : M) → AddCommGroup (V x)] [(x : M) → Module 𝕜 (V x)] [(x : M) → TopologicalSpace (V x)] [(x : M) → AddCommGroup (W x)] [(x : M) → Module 𝕜 (W x)] [(x : M) → TopologicalSpace (W x)] [∀ (x : M), IsTopologicalAddGroup (W x)] [∀ (x : M), ContinuousSMul 𝕜 (W x)] [TopologicalSpace (Bundle.TotalSpace F₁ V)] [FiberBundle F₁ V] [VectorBundle 𝕜 F₁ V] [TopologicalSpace (Bundle.TotalSpace F₂ W)] [FiberBundle F₂ W] [VectorBundle 𝕜 F₂ W] {n : WithTop ℕ∞} {ϕ : (x : M) → V x →L[𝕜] W x} {c : M → F₁ →L[𝕜] F₂} (hϕ : ∀ (a x : M), x ∈ (trivializationAt F₁ V a).baseSet → x ∈ (trivializationAt F₂ W a).baseSet → ContinuousLinearMap.inCoordinates F₁ V F₂ W a x a x (ϕ x) = c a) :
ContMDiff I (I.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n fun (x : M) => ⟨x, ϕ x⟩

A hom-bundle section is smooth if its expression in the preferred frames at each point is constant on their common base set. The constant may depend on the centre of the frames; no smoothness assumption on either vector bundle is needed.

theorem ContMDiffAt.clm_bundle_comp {𝕜 : Type u_1} {B : Type u_2} {M : Type u_3} {F₁ : Type u_4} {F₂ : Type u_5} {F₃ : Type u_6} {EB : Type u_7} {HB : Type u_8} {EM : Type u_9} {HM : Type u_10} [NontriviallyNormedField 𝕜] [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] [TopologicalSpace HM] {IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [NormedAddCommGroup F₃] [NormedSpace 𝕜 F₃] {V₁ : B → Type u_11} {V₂ : B → Type u_12} {V₃ : B → Type u_13} [(b : B) → AddCommGroup (V₁ b)] [(b : B) → Module 𝕜 (V₁ b)] [(b : B) → TopologicalSpace (V₁ b)] [(b : B) → AddCommGroup (V₂ b)] [(b : B) → Module 𝕜 (V₂ b)] [(b : B) → TopologicalSpace (V₂ b)] [(b : B) → AddCommGroup (V₃ b)] [(b : B) → Module 𝕜 (V₃ b)] [(b : B) → TopologicalSpace (V₃ b)] [∀ (b : B), IsTopologicalAddGroup (V₂ b)] [∀ (b : B), ContinuousSMul 𝕜 (V₂ b)] [∀ (b : B), IsTopologicalAddGroup (V₃ b)] [∀ (b : B), ContinuousSMul 𝕜 (V₃ b)] [TopologicalSpace (Bundle.TotalSpace F₁ V₁)] [FiberBundle F₁ V₁] [VectorBundle 𝕜 F₁ V₁] [TopologicalSpace (Bundle.TotalSpace F₂ V₂)] [FiberBundle F₂ V₂] [VectorBundle 𝕜 F₂ V₂] [TopologicalSpace (Bundle.TotalSpace F₃ V₃)] [FiberBundle F₃ V₃] [VectorBundle 𝕜 F₃ V₃] {n : WithTop ℕ∞} {b : M → B} {A : (y : M) → V₂ (b y) →L[𝕜] V₃ (b y)} {C : (y : M) → V₁ (b y) →L[𝕜] V₂ (b y)} {x : M} (hA : ContMDiffAt IM (IB.prod (modelWithCornersSelf 𝕜 (F₂ →L[𝕜] F₃))) n (fun (y : M) => ⟨b y, A y⟩) x) (hC : ContMDiffAt IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n (fun (y : M) => ⟨b y, C y⟩) x) :
ContMDiffAt IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₃))) n (fun (y : M) => ⟨b y, A y ∘SL C y⟩) x

Composing two hom-bundle fields along the same base map preserves their regularity at a point.

theorem ContMDiff.clm_bundle_comp {𝕜 : Type u_1} {B : Type u_2} {M : Type u_3} {F₁ : Type u_4} {F₂ : Type u_5} {F₃ : Type u_6} {EB : Type u_7} {HB : Type u_8} {EM : Type u_9} {HM : Type u_10} [NontriviallyNormedField 𝕜] [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] [TopologicalSpace HM] {IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [NormedAddCommGroup F₃] [NormedSpace 𝕜 F₃] {V₁ : B → Type u_11} {V₂ : B → Type u_12} {V₃ : B → Type u_13} [(b : B) → AddCommGroup (V₁ b)] [(b : B) → Module 𝕜 (V₁ b)] [(b : B) → TopologicalSpace (V₁ b)] [(b : B) → AddCommGroup (V₂ b)] [(b : B) → Module 𝕜 (V₂ b)] [(b : B) → TopologicalSpace (V₂ b)] [(b : B) → AddCommGroup (V₃ b)] [(b : B) → Module 𝕜 (V₃ b)] [(b : B) → TopologicalSpace (V₃ b)] [∀ (b : B), IsTopologicalAddGroup (V₂ b)] [∀ (b : B), ContinuousSMul 𝕜 (V₂ b)] [∀ (b : B), IsTopologicalAddGroup (V₃ b)] [∀ (b : B), ContinuousSMul 𝕜 (V₃ b)] [TopologicalSpace (Bundle.TotalSpace F₁ V₁)] [FiberBundle F₁ V₁] [VectorBundle 𝕜 F₁ V₁] [TopologicalSpace (Bundle.TotalSpace F₂ V₂)] [FiberBundle F₂ V₂] [VectorBundle 𝕜 F₂ V₂] [TopologicalSpace (Bundle.TotalSpace F₃ V₃)] [FiberBundle F₃ V₃] [VectorBundle 𝕜 F₃ V₃] {n : WithTop ℕ∞} {b : M → B} {A : (y : M) → V₂ (b y) →L[𝕜] V₃ (b y)} {C : (y : M) → V₁ (b y) →L[𝕜] V₂ (b y)} (hA : ContMDiff IM (IB.prod (modelWithCornersSelf 𝕜 (F₂ →L[𝕜] F₃))) n fun (y : M) => ⟨b y, A y⟩) (hC : ContMDiff IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n fun (y : M) => ⟨b y, C y⟩) :
ContMDiff IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₃))) n fun (y : M) => ⟨b y, A y ∘SL C y⟩

Composing two hom-bundle fields along the same base map preserves their regularity.

def ContMDiffSection.clmComp {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_4} {F₂ : Type u_5} {F₃ : Type u_6} {EB : Type u_7} {HB : Type u_8} [NontriviallyNormedField 𝕜] [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [NormedAddCommGroup F₃] [NormedSpace 𝕜 F₃] {V₁ : B → Type u_11} {V₂ : B → Type u_12} {V₃ : B → Type u_13} [(b : B) → AddCommGroup (V₁ b)] [(b : B) → Module 𝕜 (V₁ b)] [(b : B) → TopologicalSpace (V₁ b)] [(b : B) → AddCommGroup (V₂ b)] [(b : B) → Module 𝕜 (V₂ b)] [(b : B) → TopologicalSpace (V₂ b)] [(b : B) → AddCommGroup (V₃ b)] [(b : B) → Module 𝕜 (V₃ b)] [(b : B) → TopologicalSpace (V₃ b)] [∀ (b : B), IsTopologicalAddGroup (V₂ b)] [∀ (b : B), ContinuousSMul 𝕜 (V₂ b)] [∀ (b : B), IsTopologicalAddGroup (V₃ b)] [∀ (b : B), ContinuousSMul 𝕜 (V₃ b)] [TopologicalSpace (Bundle.TotalSpace F₁ V₁)] [FiberBundle F₁ V₁] [VectorBundle 𝕜 F₁ V₁] [TopologicalSpace (Bundle.TotalSpace F₂ V₂)] [FiberBundle F₂ V₂] [VectorBundle 𝕜 F₂ V₂] [TopologicalSpace (Bundle.TotalSpace F₃ V₃)] [FiberBundle F₃ V₃] [VectorBundle 𝕜 F₃ V₃] {n : WithTop ℕ∞} (A : ContMDiffSection IB (F₂ →L[𝕜] F₃) n fun (x : B) => V₂ x →L[𝕜] V₃ x) (C : ContMDiffSection IB (F₁ →L[𝕜] F₂) n fun (x : B) => V₁ x →L[𝕜] V₂ x) :
ContMDiffSection IB (F₁ →L[𝕜] F₃) n fun (x : B) => V₁ x →L[𝕜] V₃ x

Composition of native Cⁿ hom-bundle sections.

Instances For
    @[simp]
    theorem ContMDiffSection.clmComp_apply {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_4} {F₂ : Type u_5} {F₃ : Type u_6} {EB : Type u_7} {HB : Type u_8} [NontriviallyNormedField 𝕜] [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [NormedAddCommGroup F₃] [NormedSpace 𝕜 F₃] {V₁ : B → Type u_11} {V₂ : B → Type u_12} {V₃ : B → Type u_13} [(b : B) → AddCommGroup (V₁ b)] [(b : B) → Module 𝕜 (V₁ b)] [(b : B) → TopologicalSpace (V₁ b)] [(b : B) → AddCommGroup (V₂ b)] [(b : B) → Module 𝕜 (V₂ b)] [(b : B) → TopologicalSpace (V₂ b)] [(b : B) → AddCommGroup (V₃ b)] [(b : B) → Module 𝕜 (V₃ b)] [(b : B) → TopologicalSpace (V₃ b)] [∀ (b : B), IsTopologicalAddGroup (V₂ b)] [∀ (b : B), ContinuousSMul 𝕜 (V₂ b)] [∀ (b : B), IsTopologicalAddGroup (V₃ b)] [∀ (b : B), ContinuousSMul 𝕜 (V₃ b)] [TopologicalSpace (Bundle.TotalSpace F₁ V₁)] [FiberBundle F₁ V₁] [VectorBundle 𝕜 F₁ V₁] [TopologicalSpace (Bundle.TotalSpace F₂ V₂)] [FiberBundle F₂ V₂] [VectorBundle 𝕜 F₂ V₂] [TopologicalSpace (Bundle.TotalSpace F₃ V₃)] [FiberBundle F₃ V₃] [VectorBundle 𝕜 F₃ V₃] {n : WithTop ℕ∞} (A : ContMDiffSection IB (F₂ →L[𝕜] F₃) n fun (x : B) => V₂ x →L[𝕜] V₃ x) (C : ContMDiffSection IB (F₁ →L[𝕜] F₂) n fun (x : B) => V₁ x →L[𝕜] V₂ x) (x : B) :
    (A.clmComp C) x = A x ∘SL C x
    theorem ContMDiff.clm_bundle_neg {𝕜 : Type u_1} {B : Type u_2} {M : Type u_3} {F₁ : Type u_4} {F₂ : Type u_5} [NontriviallyNormedField 𝕜] {EB : Type u_6} {HB : Type u_7} {EM : Type u_8} {HM : Type u_9} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] [TopologicalSpace HM] {IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {V : B → Type u_10} {W : B → Type u_11} [(b : B) → AddCommGroup (V b)] [(b : B) → Module 𝕜 (V b)] [(b : B) → TopologicalSpace (V b)] [(b : B) → AddCommGroup (W b)] [(b : B) → Module 𝕜 (W b)] [(b : B) → TopologicalSpace (W b)] [∀ (b : B), IsTopologicalAddGroup (W b)] [∀ (b : B), ContinuousSMul 𝕜 (W b)] [TopologicalSpace (Bundle.TotalSpace F₁ V)] [FiberBundle F₁ V] [VectorBundle 𝕜 F₁ V] [TopologicalSpace (Bundle.TotalSpace F₂ W)] [FiberBundle F₂ W] [VectorBundle 𝕜 F₂ W] {n : WithTop ℕ∞} {b : M → B} {A : (y : M) → V (b y) →L[𝕜] W (b y)} (hA : ContMDiff IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n fun (y : M) => ⟨b y, A y⟩) :
    ContMDiff IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n fun (y : M) => ⟨b y, -A y⟩

    Negating a hom-bundle section along any base map preserves its regularity.

    theorem ContMDiffWithinAt.clm_bundle_inverse {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} {M : Type u_5} {n : WithTop ℕ∞} {E₁ : B → Type u_6} {E₂ : B → Type u_7} [NontriviallyNormedField 𝕜] [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [CompleteSpace F₁] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [(x : B) → TopologicalSpace (E₁ x)] [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [(x : B) → TopologicalSpace (E₂ x)] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] {EB : Type u_8} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_9} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] {EM : Type u_10} [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HM : Type u_11} [TopologicalSpace HM] {IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] {b : M → B} {ϕ : (m : M) → E₁ (b m) →L[𝕜] E₂ (b m)} {s : Set M} {x : M} (hϕ : ContMDiffWithinAt IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n (fun (m : M) => ⟨b m, ϕ m⟩) s x) (hx : (ϕ x).IsInvertible) :
    ContMDiffWithinAt IM (IB.prod (modelWithCornersSelf 𝕜 (F₂ →L[𝕜] F₁))) n (fun (m : M) => ⟨b m, (ϕ m).inverse⟩) s x

    Consider linear maps ϕ m : E₁ (b m) → E₂ (b m) depending C^n on m, over a base map b : M → B, with ϕ x invertible. Then the fibrewise inverses (ϕ m).inverse depend C^n on m at x.

    We give here a version of this statement within a set at a point.

    theorem ContMDiffAt.clm_bundle_inverse {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} {M : Type u_5} {n : WithTop ℕ∞} {E₁ : B → Type u_6} {E₂ : B → Type u_7} [NontriviallyNormedField 𝕜] [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [CompleteSpace F₁] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [(x : B) → TopologicalSpace (E₁ x)] [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [(x : B) → TopologicalSpace (E₂ x)] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] {EB : Type u_8} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_9} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] {EM : Type u_10} [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HM : Type u_11} [TopologicalSpace HM] {IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] {b : M → B} {ϕ : (m : M) → E₁ (b m) →L[𝕜] E₂ (b m)} {x : M} (hϕ : ContMDiffAt IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n (fun (m : M) => ⟨b m, ϕ m⟩) x) (hx : (ϕ x).IsInvertible) :
    ContMDiffAt IM (IB.prod (modelWithCornersSelf 𝕜 (F₂ →L[𝕜] F₁))) n (fun (m : M) => ⟨b m, (ϕ m).inverse⟩) x

    Consider linear maps ϕ m : E₁ (b m) → E₂ (b m) depending C^n on m, over a base map b : M → B, with ϕ x invertible. Then the fibrewise inverses (ϕ m).inverse depend C^n on m at x.

    We give here a version of this statement at a point.

    theorem ContMDiffOn.clm_bundle_inverse {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} {M : Type u_5} {n : WithTop ℕ∞} {E₁ : B → Type u_6} {E₂ : B → Type u_7} [NontriviallyNormedField 𝕜] [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [CompleteSpace F₁] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [(x : B) → TopologicalSpace (E₁ x)] [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [(x : B) → TopologicalSpace (E₂ x)] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] {EB : Type u_8} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_9} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] {EM : Type u_10} [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HM : Type u_11} [TopologicalSpace HM] {IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] {b : M → B} {ϕ : (m : M) → E₁ (b m) →L[𝕜] E₂ (b m)} {s : Set M} (hϕ : ContMDiffOn IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n (fun (m : M) => ⟨b m, ϕ m⟩) s) (hs : ∀ x ∈ s, (ϕ x).IsInvertible) :
    ContMDiffOn IM (IB.prod (modelWithCornersSelf 𝕜 (F₂ →L[𝕜] F₁))) n (fun (m : M) => ⟨b m, (ϕ m).inverse⟩) s

    Consider linear maps ϕ m : E₁ (b m) → E₂ (b m) depending C^n on m, over a base map b : M → B, and invertible on s. Then the fibrewise inverses (ϕ m).inverse depend C^n on m on s.

    theorem ContMDiff.clm_bundle_inverse {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} {M : Type u_5} {n : WithTop ℕ∞} {E₁ : B → Type u_6} {E₂ : B → Type u_7} [NontriviallyNormedField 𝕜] [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [CompleteSpace F₁] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [(x : B) → TopologicalSpace (E₁ x)] [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [(x : B) → TopologicalSpace (E₂ x)] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] {EB : Type u_8} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_9} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] {EM : Type u_10} [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HM : Type u_11} [TopologicalSpace HM] {IM : ModelWithCorners 𝕜 EM HM} [TopologicalSpace M] [ChartedSpace HM M] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] {b : M → B} {ϕ : (m : M) → E₁ (b m) →L[𝕜] E₂ (b m)} (hϕ : ContMDiff IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n fun (m : M) => ⟨b m, ϕ m⟩) (hinv : ∀ (x : M), (ϕ x).IsInvertible) :
    ContMDiff IM (IB.prod (modelWithCornersSelf 𝕜 (F₂ →L[𝕜] F₁))) n fun (m : M) => ⟨b m, (ϕ m).inverse⟩

    Consider linear maps ϕ m : E₁ (b m) → E₂ (b m) depending C^n on m, over a base map b : M → B, and all invertible. Then the fibrewise inverses (ϕ m).inverse depend C^n on m.

    theorem TauCeti.contMDiffAt_hom_bundle_prod_iff {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] {EP : Type u_9} [NormedAddCommGroup EP] [NormedSpace 𝕜 EP] {HP : Type u_10} [TopologicalSpace HP] {IP : ModelWithCorners 𝕜 EP HP} {P : Type u_11} [TopologicalSpace P] [ChartedSpace HP P] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] (ϕ : (q : P × B) → E₁ q.2 →L[𝕜] E₂ q.2) (q : P × B) :
    ContMDiffAt (IP.prod IB) (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n (fun (y : P × B) => ⟨y.2, ϕ y⟩) q ↔ ∀ (v : E₁ q.2), ContMDiffAt (IP.prod (IB.prod (modelWithCornersSelf 𝕜 F₁))) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n (fun (p : P × Bundle.TotalSpace F₁ E₁) => ⟨p.2.proj, (ϕ (p.1, p.2.proj)) p.2.snd⟩) (q.1, ⟨q.2, v⟩)

    For a finite-dimensional model source, a family of fibrewise linear maps depending on a parameter in a manifold P, that is a Hom-bundle section along the projection P × B → B, is C^n at (p, x) exactly when the induced map P × TotalSpace F₁ E₁ → TotalSpace F₂ E₂ is C^n at every point (p, v) with v in the fibre over x. The target need not have finite rank.

    theorem TauCeti.contMDiff_hom_bundle_prod_iff {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] {EP : Type u_9} [NormedAddCommGroup EP] [NormedSpace 𝕜 EP] {HP : Type u_10} [TopologicalSpace HP] {IP : ModelWithCorners 𝕜 EP HP} {P : Type u_11} [TopologicalSpace P] [ChartedSpace HP P] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] (ϕ : (q : P × B) → E₁ q.2 →L[𝕜] E₂ q.2) :
    (ContMDiff (IP.prod IB) (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n fun (y : P × B) => ⟨y.2, ϕ y⟩) ↔ ContMDiff (IP.prod (IB.prod (modelWithCornersSelf 𝕜 F₁))) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n fun (p : P × Bundle.TotalSpace F₁ E₁) => ⟨p.2.proj, (ϕ (p.1, p.2.proj)) p.2.snd⟩

    For a finite-dimensional model source, a family of fibrewise linear maps depending on a parameter in a manifold P is a C^n Hom-bundle section along the projection P × B → B exactly when the induced map P × TotalSpace F₁ E₁ → TotalSpace F₂ E₂ is C^n.

    theorem TauCeti.contMDiffAt_hom_bundle_iff {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] (ϕ : (x : B) → E₁ x →L[𝕜] E₂ x) (x : B) :
    ContMDiffAt IB (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n (fun (y : B) => ⟨y, ϕ y⟩) x ↔ ∀ (v : E₁ x), ContMDiffAt (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n (fun (p : Bundle.TotalSpace F₁ E₁) => ⟨p.proj, (ϕ p.proj) p.snd⟩) ⟨x, v⟩

    For a finite-dimensional model source, a family of fibrewise linear maps is a Hom-bundle section which is C^n at x exactly when the induced map of total spaces is C^n at every point of the fibre over x. The target need not have finite rank.

    theorem TauCeti.contMDiff_hom_bundle_iff {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] (ϕ : (x : B) → E₁ x →L[𝕜] E₂ x) :
    (ContMDiff IB (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂))) n fun (x : B) => ⟨x, ϕ x⟩) ↔ ContMDiff (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n fun (p : Bundle.TotalSpace F₁ E₁) => ⟨p.proj, (ϕ p.proj) p.snd⟩

    For a finite-dimensional model source, a family of fibrewise linear maps is a C^n section of the Hom bundle exactly when the induced map of total spaces is C^n. This is the C^n counterpart of TauCeti.continuous_hom_bundle_iff; the target need not have finite rank.

    theorem TauCeti.contMDiff_bundle_symm {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] (e : (x : B) → E₁ x ≃L[𝕜] E₂ x) (he : ContMDiff (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n fun (p : Bundle.TotalSpace F₁ E₁) => ⟨p.proj, (e p.proj) p.snd⟩) :
    ContMDiff (IB.prod (modelWithCornersSelf 𝕜 F₂)) (IB.prod (modelWithCornersSelf 𝕜 F₁)) n fun (p : Bundle.TotalSpace F₂ E₂) => ⟨p.proj, (e p.proj).symm p.snd⟩

    A C^n fibrewise linear equivalence with finite-dimensional model source has a C^n inverse on total spaces.

    def TauCeti.bundleDiffeomorph {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] (e : (x : B) → E₁ x ≃L[𝕜] E₂ x) (he : ContMDiff (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n fun (p : Bundle.TotalSpace F₁ E₁) => ⟨p.proj, (e p.proj) p.snd⟩) :
    Diffeomorph (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) (Bundle.TotalSpace F₁ E₁) (Bundle.TotalSpace F₂ E₂) n

    The C^n diffeomorphism of total spaces induced by a C^n family of fibrewise linear equivalences, with finite-dimensional model source. Smoothness of the inverse is automatic.

    Instances For
      @[simp]
      theorem TauCeti.bundleDiffeomorph_apply {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] (e : (x : B) → E₁ x ≃L[𝕜] E₂ x) (he : ContMDiff (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n fun (p : Bundle.TotalSpace F₁ E₁) => ⟨p.proj, (e p.proj) p.snd⟩) (p : Bundle.TotalSpace F₁ E₁) :
      (bundleDiffeomorph e he) p = ⟨p.proj, (e p.proj) p.snd⟩
      @[simp]
      theorem TauCeti.bundleDiffeomorph_symm_apply {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] (e : (x : B) → E₁ x ≃L[𝕜] E₂ x) (he : ContMDiff (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n fun (p : Bundle.TotalSpace F₁ E₁) => ⟨p.proj, (e p.proj) p.snd⟩) (p : Bundle.TotalSpace F₂ E₂) :
      (bundleDiffeomorph e he).symm p = ⟨p.proj, (e p.proj).symm p.snd⟩
      @[simp]
      theorem TauCeti.toHomeomorph_bundleDiffeomorph {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] (e : (x : B) → E₁ x ≃L[𝕜] E₂ x) (he : ContMDiff (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n fun (p : Bundle.TotalSpace F₁ E₁) => ⟨p.proj, (e p.proj) p.snd⟩) :

      The underlying homeomorphism of bundleDiffeomorph is bundleHomeomorph.

      theorem TauCeti.exists_bundleDiffeomorph_iff {𝕜 : Type u_1} {B : Type u_2} {F₁ : Type u_3} {F₂ : Type u_4} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {EB : Type u_5} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] {HB : Type u_6} [TopologicalSpace HB] {IB : ModelWithCorners 𝕜 EB HB} [TopologicalSpace B] [ChartedSpace HB B] [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] {E₁ : B → Type u_7} [(x : B) → AddCommGroup (E₁ x)] [(x : B) → Module 𝕜 (E₁ x)] [(x : B) → TopologicalSpace (E₁ x)] [TopologicalSpace (Bundle.TotalSpace F₁ E₁)] [FiberBundle F₁ E₁] [VectorBundle 𝕜 F₁ E₁] {E₂ : B → Type u_8} [(x : B) → AddCommGroup (E₂ x)] [(x : B) → Module 𝕜 (E₂ x)] [(x : B) → TopologicalSpace (E₂ x)] [TopologicalSpace (Bundle.TotalSpace F₂ E₂)] [FiberBundle F₂ E₂] [VectorBundle 𝕜 F₂ E₂] [∀ (x : B), IsTopologicalAddGroup (E₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₂ x)] [CompleteSpace 𝕜] [FiniteDimensional 𝕜 F₁] [∀ (x : B), IsTopologicalAddGroup (E₁ x)] [∀ (x : B), ContinuousSMul 𝕜 (E₁ x)] (ϕ : (x : B) → E₁ x →L[𝕜] E₂ x) :
      (∃ (Φ : Diffeomorph (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) (Bundle.TotalSpace F₁ E₁) (Bundle.TotalSpace F₂ E₂) n), ⇑Φ = fun (p : Bundle.TotalSpace F₁ E₁) => ⟨p.proj, (ϕ p.proj) p.snd⟩) ↔ (ContMDiff (IB.prod (modelWithCornersSelf 𝕜 F₁)) (IB.prod (modelWithCornersSelf 𝕜 F₂)) n fun (p : Bundle.TotalSpace F₁ E₁) => ⟨p.proj, (ϕ p.proj) p.snd⟩) ∧ ∀ (x : B), Function.Bijective ⇑(ϕ x)

      For a finite-dimensional model source, a family of fibrewise linear maps is realized by a C^n diffeomorphism of total spaces exactly when the induced map of total spaces is C^n and every fibre map is bijective.

      theorem ContMDiffWithinAt.clm_bundle_flip {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {EB : Type u_2} {EM : Type u_3} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HB : Type u_4} {HM : Type u_5} [TopologicalSpace HB] [TopologicalSpace HM] {IB : ModelWithCorners 𝕜 EB HB} {IM : ModelWithCorners 𝕜 EM HM} {B : Type u_6} {M : Type u_7} [TopologicalSpace B] [ChartedSpace HB B] [TopologicalSpace M] [ChartedSpace HM M] {F₁ : Type u_8} {F₂ : Type u_9} {F₃ : Type u_10} [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [NormedAddCommGroup F₃] [NormedSpace 𝕜 F₃] {V₁ : B → Type u_11} {V₂ : B → Type u_12} {V₃ : B → Type u_13} [(x : B) → AddCommGroup (V₁ x)] [(x : B) → Module 𝕜 (V₁ x)] [(x : B) → TopologicalSpace (V₁ x)] [(x : B) → AddCommGroup (V₂ x)] [(x : B) → Module 𝕜 (V₂ x)] [(x : B) → TopologicalSpace (V₂ x)] [(x : B) → AddCommGroup (V₃ x)] [(x : B) → Module 𝕜 (V₃ x)] [(x : B) → TopologicalSpace (V₃ x)] [∀ (x : B), IsNormableSpace 𝕜 (V₁ x)] [∀ (x : B), IsNormableSpace 𝕜 (V₂ x)] [∀ (x : B), IsNormableSpace 𝕜 (V₃ x)] [∀ (x : B), IsTopologicalAddGroup (V₃ x)] [∀ (x : B), ContinuousSMul 𝕜 (V₃ x)] [TopologicalSpace (Bundle.TotalSpace F₁ V₁)] [TopologicalSpace (Bundle.TotalSpace F₂ V₂)] [TopologicalSpace (Bundle.TotalSpace F₃ V₃)] [FiberBundle F₁ V₁] [VectorBundle 𝕜 F₁ V₁] [FiberBundle F₂ V₂] [VectorBundle 𝕜 F₂ V₂] [FiberBundle F₃ V₃] [VectorBundle 𝕜 F₃ V₃] {b : M → B} {s : Set M} {x : M} {n : WithTop ℕ∞} {A : (x : M) → V₁ (b x) →L[𝕜] V₂ (b x) →L[𝕜] V₃ (b x)} (hA : ContMDiffWithinAt IM (IB.prod (modelWithCornersSelf 𝕜 (F₁ →L[𝕜] F₂ →L[𝕜] F₃))) n (fun (y : M) => ⟨b y, A y⟩) s x) :
      ContMDiffWithinAt IM (IB.prod (modelWithCornersSelf 𝕜 (F₂ →L[𝕜] F₁ →L[𝕜] F₃))) n (fun (y : M) => ⟨b y, (A y).flip⟩) s x

      Interchanging the two inputs of a smooth family of bilinear bundle maps preserves smoothness, also within a parameter set.

      theorem MDifferentiableWithinAt.clm_bundle_comp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {EB : Type u_2} {EM : Type u_3} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HB : Type u_4} {HM : Type u_5} [TopologicalSpace HB] [TopologicalSpace HM] {IB : ModelWithCorners 𝕜 EB HB} {IM : ModelWithCorners 𝕜 EM HM} {B : Type u_6} {M : Type u_7} [TopologicalSpace B] [ChartedSpace HB B] [TopologicalSpace M] [ChartedSpace HM M] {F₁ : Type u_8} {F₂ : Type u_9} {F₃ : Type u_10} [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [NormedAddCommGroup F₃] [NormedSpace 𝕜 F₃] {V₁ : B → Type u_11} {V₂ : B → Type u_12} {V₃ : B → Type u_13} [(x : B) → AddCommGroup (V₁ x)] [(x : B) → Module 𝕜 (V₁ x)] [(x : B) → TopologicalSpace (V₁ x)] [(x : B) → AddCommGroup (V₂ x)] [(x : B) → Module 𝕜 (V₂ x)] [(x : B) → TopologicalSpace (V₂ x)] [(x : B) → AddCommGroup (V₃ x)] [(x : B) → Module 𝕜 (V₃ x)] [(x : B) → TopologicalSpace (V₃ x)] [∀ (x : B), IsTopologicalAddGroup (V₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (V₂ x)] [∀ (x : B), IsTopologicalAddGroup (V₃ x)] [∀ (x : B), ContinuousSMul 𝕜 (V₃ x)] [TopologicalSpace (Bundle.TotalSpace F₁ V₁)] [TopologicalSpace (Bundle.TotalSpace F₂ V₂)] [TopologicalSpace (Bundle.TotalSpace F₃ V₃)] [FiberBundle F₁ V₁] [VectorBundle 𝕜 F₁ V₁] [FiberBundle F₂ V₂] [VectorBundle 𝕜 F₂ V₂] [FiberBundle F₃ V₃] [VectorBundle 𝕜 F₃ V₃] {b : M → B} {s : Set M} {x : M} {A : (y : M) → V₁ (b y) →L[𝕜] V₂ (b y)} {C : (y : M) → V₂ (b y) →L[𝕜] V₃ (b y)} (hC : (MDiffAt[s] fun (y : M) => ⟨b y, C y⟩) x) (hA : (MDiffAt[s] fun (y : M) => ⟨b y, A y⟩) x) :
      (MDiffAt[s] fun (y : M) => ⟨b y, C y ∘SL A y⟩) x

      Composition of differentiable Hom-bundle sections is differentiable within a set. The families may lie over a varying base map, and no finite-rank assumption is needed.

      theorem MDifferentiableAt.clm_bundle_comp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {EB : Type u_2} {EM : Type u_3} [NormedAddCommGroup EB] [NormedSpace 𝕜 EB] [NormedAddCommGroup EM] [NormedSpace 𝕜 EM] {HB : Type u_4} {HM : Type u_5} [TopologicalSpace HB] [TopologicalSpace HM] {IB : ModelWithCorners 𝕜 EB HB} {IM : ModelWithCorners 𝕜 EM HM} {B : Type u_6} {M : Type u_7} [TopologicalSpace B] [ChartedSpace HB B] [TopologicalSpace M] [ChartedSpace HM M] {F₁ : Type u_8} {F₂ : Type u_9} {F₃ : Type u_10} [NormedAddCommGroup F₁] [NormedSpace 𝕜 F₁] [NormedAddCommGroup F₂] [NormedSpace 𝕜 F₂] [NormedAddCommGroup F₃] [NormedSpace 𝕜 F₃] {V₁ : B → Type u_11} {V₂ : B → Type u_12} {V₃ : B → Type u_13} [(x : B) → AddCommGroup (V₁ x)] [(x : B) → Module 𝕜 (V₁ x)] [(x : B) → TopologicalSpace (V₁ x)] [(x : B) → AddCommGroup (V₂ x)] [(x : B) → Module 𝕜 (V₂ x)] [(x : B) → TopologicalSpace (V₂ x)] [(x : B) → AddCommGroup (V₃ x)] [(x : B) → Module 𝕜 (V₃ x)] [(x : B) → TopologicalSpace (V₃ x)] [∀ (x : B), IsTopologicalAddGroup (V₂ x)] [∀ (x : B), ContinuousSMul 𝕜 (V₂ x)] [∀ (x : B), IsTopologicalAddGroup (V₃ x)] [∀ (x : B), ContinuousSMul 𝕜 (V₃ x)] [TopologicalSpace (Bundle.TotalSpace F₁ V₁)] [TopologicalSpace (Bundle.TotalSpace F₂ V₂)] [TopologicalSpace (Bundle.TotalSpace F₃ V₃)] [FiberBundle F₁ V₁] [VectorBundle 𝕜 F₁ V₁] [FiberBundle F₂ V₂] [VectorBundle 𝕜 F₂ V₂] [FiberBundle F₃ V₃] [VectorBundle 𝕜 F₃ V₃] {b : M → B} {x : M} {A : (y : M) → V₁ (b y) →L[𝕜] V₂ (b y)} {C : (y : M) → V₂ (b y) →L[𝕜] V₃ (b y)} (hC : (MDiffAt fun (y : M) => ⟨b y, C y⟩) x) (hA : (MDiffAt fun (y : M) => ⟨b y, A y⟩) x) :
      (MDiffAt fun (y : M) => ⟨b y, C y ∘SL A y⟩) x

      Composition of Hom-bundle sections differentiable at a point is differentiable there.