Trivializations #
Main definitions #
Basic definitions #
Trivialization F p: structure extending open partial homeomorphisms, defining a local trivialization of a topological spaceZwith projectionpand fiberF.Pretrivialization F proj: trivialization as a partial equivalence, mainly used when the topology on the total space has not yet been defined.
Operations on bundles #
We provide the following operations on Trivializations.
Trivialization.compHomeomorph: given a local trivializationeof a fiber bundlep : Z → Band a homeomorphismh : Z' ≃ₜ Z, returns a local trivialization of the fiber bundlep ∘ h.
Implementation notes #
Previously, in mathlib, there was a structure topological_vector_bundle.trivialization which
extended another structure topological_fiber_bundle.trivialization by a linearity hypothesis. As
of PR https://github.com/leanprover-community/mathlib3/pull/17359, we have changed this to a single structure
Trivialization (no namespace), together with a mixin class Trivialization.IsLinear.
This permits all the data of a vector bundle to be held at the level of fiber bundles, so that the
same trivializations can underlie an object's structure as (say) a vector bundle over ℂ and as a
vector bundle over ℝ, as well as its structure simply as a fiber bundle.
This might be a little surprising, given the general trend of the library to ever-increased bundling. But in this case the typical motivation for more bundling does not apply: there is no algebraic or order structure on the whole type of linear (say) trivializations of a bundle. Indeed, since trivializations only have meaning on their base sets (taking junk values outside), the type of linear trivializations is not even particularly well-behaved.
This structure contains the information left for a local trivialization (which is implemented
below as Trivialization F proj) if the total space has not been given a topology, but we
have a topology on both the fiber and the base space. Through the construction
topological_fiber_prebundle F proj it will be possible to promote a
Pretrivialization F proj to a Trivialization F proj.
- baseSet : Set B
- proj_toFun (p : Z) : p ∈ self.source → (↑self.toPartialEquiv p).1 = proj p
Instances For
Coercion of a pretrivialization to a function. We don't use e.toFun in the CoeFun instance
because it is actually e.toPartialEquiv.toFun, so simp will apply lemmas about
toPartialEquiv. While we may want to switch to this behavior later, doing it mid-port will break a
lot of proofs.
Equations
- ↑e = ↑e.toPartialEquiv
Instances For
Equations
If the fiber is nonempty, then the projection also is.
Composition of inverse and coercion from the subtype of the target.
Instances For
A fiberwise inverse to e. This is the function F → E b that induces a local inverse
B × F → TotalSpace F E of e on e.baseSet. It is defined to be 0 outside e.baseSet.
Instances For
Alias of Pretrivialization.symm_apply_of_notMem.
Alias of Pretrivialization.coe_symm_of_notMem.
A structure extending open partial homeomorphisms, defining a local trivialization of a
projection proj : Z → B with fiber F, as an open partial homeomorphism between Z and B × F
defined between two sets of the form proj ⁻¹' baseSet and baseSet × F, acting trivially on the
first coordinate.
- open_source : IsOpen self.source
- open_target : IsOpen self.target
- continuousOn_toFun : ContinuousOn (↑self.toPartialEquiv) self.source
- continuousOn_invFun : ContinuousOn self.invFun self.target
- baseSet : Set B
- proj_toFun (p : Z) : p ∈ self.source → (↑self.toOpenPartialHomeomorph p).1 = proj p
Instances For
Coercion of a trivialization to a function. We don't use e.toFun in the CoeFun instance
because it is actually e.toPartialEquiv.toFun, so simp will apply lemmas about
toPartialEquiv. While we may want to switch to this behavior later, doing it mid-port will break a
lot of proofs.
Equations
- ↑e = ↑e.toPartialEquiv
Instances For
Natural identification as a Pretrivialization.
Equations
- e.toPretrivialization = { toPartialEquiv := e.toPartialEquiv, open_target := ⋯, baseSet := e.baseSet, open_baseSet := ⋯, source_eq := ⋯, target_eq := ⋯, proj_toFun := ⋯ }
Instances For
Equations
Equations
See Note [custom simps projection]
Equations
- Trivialization.Simps.apply proj e = ↑e
Instances For
See Note [custom simps projection]
Equations
- Trivialization.Simps.symm_apply proj e = ↑e.symm
Instances For
The preimage of a subset of the base set is homeomorphic to the product with the fiber.
Equations
- e.preimageHomeomorph hb = (e.homeomorphOfImageSubsetSource ⋯ ⋯).trans ((Homeomorph.Set.prod s Set.univ).trans ((Homeomorph.refl ↑s).prodCongr (Homeomorph.Set.univ F)))
Instances For
Auxiliary definition to avoid looping in dsimp
with Trivialization.preimageHomeomorph_symm_apply.
Equations
Instances For
The source is homeomorphic to the product of the base set with the fiber.
Equations
Instances For
Auxiliary definition to avoid looping in dsimp
with Trivialization.sourceHomeomorphBaseSetProd_symm_apply.
Equations
Instances For
Each fiber of a trivialization is homeomorphic to the specified fiber.
Equations
- e.preimageSingletonHomeomorph hb = (e.preimageHomeomorph ⋯).trans (((Homeomorph.homeomorphOfUnique (↑{b}) PUnit.{1}).prodCongr (Homeomorph.refl F)).trans (Homeomorph.punitProd F))
Instances For
In the domain of a bundle trivialization, the projection is continuous
Composition of a Trivialization and a Homeomorph.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Read off the continuity of a function f : Z → X at z : Z by transferring via a
trivialization of Z containing z.
Read off the continuity of a function f : X → Z at x : X by transferring via a
trivialization of Z containing f x.
A fiberwise inverse to e'. The function F → E x that induces a local inverse
B × F → TotalSpace F E of e' on e'.baseSet. It is defined to be 0 outside e'.baseSet.
Equations
- e.symm b y = e.toPretrivialization.symm b y
Instances For
Alias of Trivialization.symm_apply_of_notMem.
If e is a Trivialization of proj : Z → B with fiber F and h is a homeomorphism
F ≃ₜ F', then e.trans_fiber_homeomorph h is the trivialization of proj with the fiber F'
that sends p : Z to ((e p).1, h (e p).2).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coordinate transformation in the fiber induced by a pair of bundle trivializations. See also
Trivialization.coordChangeHomeomorph for a version bundled as F ≃ₜ F.
Instances For
Coordinate transformation in the fiber induced by a pair of bundle trivializations, as a homeomorphism.
Equations
- e₁.coordChangeHomeomorph e₂ h₁ h₂ = { toFun := e₁.coordChange e₂ b, invFun := e₂.coordChange e₁ b, left_inv := ⋯, right_inv := ⋯, continuous_toFun := ⋯, continuous_invFun := ⋯ }
Instances For
Restrict a Trivialization to an open set in the base.
Equations
Instances For
Given two bundle trivializations e, e' of proj : Z → B and a set s : Set B such that
the base sets of e and e' intersect frontier s on the same set and e p = e' p whenever
proj p ∈ e.baseSet ∩ frontier s, e.piecewise e' s Hs Heq is the bundle trivialization over
Set.ite s e.baseSet e'.baseSet that is equal to e on proj ⁻¹ s and is equal to e'
otherwise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given two bundle trivializations e, e' of a topological fiber bundle proj : Z → B
over a linearly ordered base B and a point a ∈ e.baseSet ∩ e'.baseSet such that
e equals e' on proj ⁻¹' {a}, e.piecewise_le_of_eq e' a He He' Heq is the bundle
trivialization over Set.ite (Iic a) e.baseSet e'.baseSet that is equal to e on points p
such that proj p ≤ a and is equal to e' otherwise.
Equations
- e.piecewiseLeOfEq e' a He He' Heq = e.piecewise e' (Set.Iic a) ⋯ ⋯
Instances For
Given two bundle trivializations e, e' of a topological fiber bundle proj : Z → B over a
linearly ordered base B and a point a ∈ e.baseSet ∩ e'.baseSet, e.piecewise_le e' a He He'
is the bundle trivialization over Set.ite (Iic a) e.baseSet e'.baseSet that is equal to e on
points p such that proj p ≤ a and is equal to ((e' p).1, h (e' p).2) otherwise, where
h = e'.coord_change_homeomorph e _ _ is the homeomorphism of the fiber such that
h (e' p).2 = (e p).2 whenever e p = a.
Equations
- e.piecewiseLe e' a He He' = e.piecewiseLeOfEq (e'.transFiberHomeomorph (e'.coordChangeHomeomorph e He' He)) a He He' ⋯
Instances For
Given two bundle trivializations e, e' over disjoint sets, e.disjoint_union e' H is the
bundle trivialization over the union of the base sets that agrees with e and e' over their
base sets.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The local lifting through a Trivialization T from the base to the leaf containing z.
Instances For
The restriction of lift to the source and base set of T, as a bundled continuous map.
Equations
Instances For
Extension of liftCM to continuous maps taking values in T.baseSet (local version of
homotopy lifting)