Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2022-11-15 22:05 b8c810e2

View on Github →

refactor(topology/{fiber,vector}_bundle): make vector_bundle a mixin (#17505) Previously, is_fiber_bundle* was a propositional typeclass on a function p : Z → B, stating the existence of local trivializations covering Z. Then vector_bundle* was a class with data on a type E : X → Type* (with the projection from Σ x : B, E x to B playing the role of p), giving a fixed atlas of fibrewise-linear local trivializations. We change this definition so that (i) the data is all held in fiber_bundle, with vector_bundle a mixin stating fibrewise-linearity (ii) only sigma-types can be fiber bundles, not general topological spaces This allows bundles to carry instances of typeclasses in which the scalar field, R, does not appear as a parameter. Notably, we would like a vector bundle over R with fibre F over base B to be a charted_space (B × F), with the trivializations providing the charts. This would be a dangerous instance for typeclass inference, because R does not appear as a parameter in charted_space (B × F). But if the data of the trivializations is held in fiber_bundle, then a fibre bundle with fibre F over base B can be a charted_space (B × F), and this is safe for typeclass inference. We expect that this refector will also streamline constructions of fibre bundles with similar underlying structure (e.g., the same bundle being both a real and complex vector bundle). Here is the relevant Zulip discussion. *We take the opportunity to rename topological_{fiber,vector}_bundle to {fiber,vector}_bundle, since in the upcoming definition of smooth bundles, smoothness will be another mixin for fiber_bundle.

Estimated changes

added structure fiber_bundle_core
added structure fiber_prebundle
deleted structure topological_fiber_prebundle
modified theorem continuous_on_coord_change
deleted structure topological_vector_prebundle
added structure vector_bundle_core
added structure vector_prebundle