C^n vector bundles #
This file defines C^n vector bundles over a manifold.
Let E be a topological vector bundle, with model fiber F and base space B. We consider E as
carrying a charted space structure given by its trivializations -- these are charts to B × F.
Then, by "composition", if B is itself a charted space over H (e.g. a smooth manifold), then E
is also a charted space over H × F.
Now, we define ContMDiffVectorBundle as the Prop of having C^n transition functions.
Recall the structure groupoid contMDiffFiberwiseLinear on B × F consisting of C^n, fiberwise
linear partial homeomorphisms. We show that our definition of "C^n vector bundle" implies
HasGroupoid for this groupoid, and show (by a "composition" of HasGroupoid instances) that
this means that a C^n vector bundle is a C^n manifold.
Since ContMDiffVectorBundle is a mixin, it should be easy to make variants and for many such
variants to coexist -- vector bundles can be C^n vector bundles over several different base
fields, etc.
Main definitions and constructions #
FiberBundle.chartedSpace: A fiber bundleEover a baseBwith model fiberFis naturally a charted space modelled onB × F.FiberBundle.chartedSpace': LetBbe a charted space modelled onHB. Then a fiber bundleEover a baseBwith model fiberFis naturally a charted space modelled onHB.prod F.ContMDiffVectorBundle: Mixin class stating that a (topological)VectorBundleisC^n, in the sense of havingC^ntransition functions, where the smoothness indexnbelongs toWithTop ℕ∞.ContMDiffFiberwiseLinear.hasGroupoid: For aC^nvector bundleEoverBwith fiber modelled onF, the change-of-co-ordinates between two trivializationse,e'forE, considered as charts toB × F, isC^nand fiberwise linear, in the sense of belonging to the structure groupoidcontMDiffFiberwiseLinear.Bundle.TotalSpace.isManifold: AC^nvector bundle is naturally aC^nmanifold.VectorBundleCore.instContMDiffVectorBundle: If a (topological)VectorBundleCoreisC^n, in the sense of havingC^ntransition functions (cf.VectorBundleCore.IsContMDiff), then the vector bundle constructed from it is aC^nvector bundle.VectorPrebundle.contMDiffVectorBundle: If aVectorPrebundleisC^n, in the sense of havingC^ntransition functions (cf.VectorPrebundle.IsContMDiff), then the vector bundle constructed from it is aC^nvector bundle.Bundle.Prod.contMDiffVectorBundle: The direct sum of twoC^nvector bundles is aC^nvector bundle.
Charted space structure on a fiber bundle #
A fiber bundle E over a base B with model fiber F is naturally a charted space modelled on
B × F.
Equations
- One or more equations did not get rendered due to their size.
Let B be a charted space modelled on HB. Then a fiber bundle E over a base B with model
fiber F is naturally a charted space modelled on HB.prod F.
Equations
- FiberBundle.chartedSpace = ChartedSpace.comp (ModelProd HB F) (B × F) (Bundle.TotalSpace F E)
Regularity of maps in/out fiber bundles #
Note: For these results we don't need that the bundle is a C^n vector bundle, or even a vector
bundle at all, just that it is a fiber bundle over a charted base space.
Characterization of C^n functions into a vector bundle.
Characterization of C^n functions into a vector bundle.
Characterization of C^n sections within a set at a point of a vector bundle.
Characterization of C^n sections of a vector bundle.
Alias of Bundle.contMDiff_proj.
Alias of Bundle.contMDiffOn_proj.
Alias of Bundle.contMDiffAt_proj.
Alias of Bundle.contMDiffWithinAt_proj.
Alias of Bundle.contMDiff_zeroSection.
C^n vector bundles #
When B is a manifold with respect to a model IB and E is a
topological vector bundle over B with fibers isomorphic to F,
then ContMDiffVectorBundle n F E IB registers that the bundle is C^n, in the sense of having
C^n transition functions. This is a mixin, not carrying any new data.
- contMDiffOn_coordChangeL (e e' : Trivialization F Bundle.TotalSpace.proj) [MemTrivializationAtlas e] [MemTrivializationAtlas e'] : ContMDiffOn IB (modelWithCornersSelf 𝕜 (F →L[𝕜] F)) n (fun (b : B) => ↑(Trivialization.coordChangeL 𝕜 e e' b)) (e.baseSet ∩ e'.baseSet)
Instances
Alias of ContMDiffVectorBundle.
When B is a manifold with respect to a model IB and E is a
topological vector bundle over B with fibers isomorphic to F,
then ContMDiffVectorBundle n F E IB registers that the bundle is C^n, in the sense of having
C^n transition functions. This is a mixin, not carrying any new data.
Equations
Instances For
Alias of contMDiffOn_coordChangeL.
Alias of contMDiffOn_symm_coordChangeL.
Alias of contMDiffAt_coordChangeL.
Alias of ContMDiffWithinAt.coordChangeL.
Alias of ContMDiffAt.coordChangeL.
Alias of ContMDiffOn.coordChangeL.
Alias of ContMDiff.coordChangeL.
Alias of ContMDiffWithinAt.coordChange.
Alias of ContMDiffAt.coordChange.
Alias of ContMDiffOn.coordChange.
Alias of ContMDiff.coordChange.
For a C^n vector bundle E over B with fiber modelled on F, the change-of-co-ordinates
between two trivializations e, e' for E, considered as charts to B × F, is C^n and
fiberwise linear.
A C^n vector bundle E is naturally a C^n manifold.
Alias of Trivialization.contMDiffWithinAt_iff.
Alias of Trivialization.contMDiffAt_iff.
Alias of Trivialization.contMDiffOn_iff.
Alias of Trivialization.contMDiff_iff.
Alias of Trivialization.contMDiffOn.
Alias of Trivialization.contMDiffOn_symm.
Core construction for C^n vector bundles #
Mixin for a VectorBundleCore stating that transition functions are C^n.
- contMDiffOn_coordChange (i j : ι) : ContMDiffOn IB (modelWithCornersSelf 𝕜 (F →L[𝕜] F)) n (Z.coordChange i j) (Z.baseSet i ∩ Z.baseSet j)
Instances
Alias of VectorBundleCore.IsContMDiff.
Mixin for a VectorBundleCore stating that transition functions are C^n.
Instances For
Alias of VectorBundleCore.contMDiffOn_coordChange.
If a VectorBundleCore has the IsContMDiff mixin, then the vector bundle constructed from it
is a C^n vector bundle.
The trivial C^n vector bundle #
A trivial vector bundle over a manifold is a C^n vector bundle.
Direct sums of C^n vector bundles #
The direct sum of two C^n vector bundles over the same base is a C^n vector bundle.
Prebundle construction for C^n vector bundles #
Mixin for a VectorPrebundle stating that coordinate changes are C^n.
- exists_contMDiffCoordChange (e : Pretrivialization F Bundle.TotalSpace.proj) : e ∈ a.pretrivializationAtlas → ∀ e' ∈ a.pretrivializationAtlas, ∃ (f : B → F →L[𝕜] F), ContMDiffOn IB (modelWithCornersSelf 𝕜 (F →L[𝕜] F)) n f (e.baseSet ∩ e'.baseSet) ∧ ∀ b ∈ e.baseSet ∩ e'.baseSet, ∀ (v : F), (f b) v = (↑e' { proj := b, snd := e.symm b v }).2
Instances
Alias of VectorPrebundle.IsContMDiff.
Mixin for a VectorPrebundle stating that coordinate changes are C^n.
Equations
Instances For
A randomly chosen coordinate change on a VectorPrebundle satisfying IsContMDiff, given by
the field exists_coordChange. Note that a.contMDiffCoordChange need not be the same as
a.coordChange.
Equations
- VectorPrebundle.contMDiffCoordChange n IB a he he' b = Classical.choose ⋯ b
Instances For
Alias of VectorPrebundle.contMDiffCoordChange.
A randomly chosen coordinate change on a VectorPrebundle satisfying IsContMDiff, given by
the field exists_coordChange. Note that a.contMDiffCoordChange need not be the same as
a.coordChange.
Instances For
Alias of VectorPrebundle.mk_contMDiffCoordChange.
Make a ContMDiffVectorBundle from a ContMDiffVectorPrebundle.
Alias of VectorPrebundle.contMDiffVectorBundle.
Make a ContMDiffVectorBundle from a ContMDiffVectorPrebundle.