topology.fiber_bundle.basicMathlib.Topology.FiberBundle.Basic

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

refactor: redefine bundle.total_space (#19221)
  • Use a custom structure for bundle.total_space.
    • Use bundle.total_space.mk instead of bundle.total_space_mk.
    • Use bundle.total_space.to_prod instead of equiv.sigma_equiv_prod.
    • Use bundle.total_space.mk' (scoped notation) to specify F.
    • Rename bundle.trivial.proj_snd to bundle.total_space.trivial_snd to allow dot notation. Should we just use bundle.total_space.snd since bundle.trivial is now reducible?
  • Add an unused argument to bundle.total_space.
  • Make bundle.trivial and bundle.continuous_linear_map reducible.
  • Drop instances that are no longer needed.
Diff
@@ -16,16 +16,14 @@ Mathematically, a (topological) fiber bundle with fiber `F` over a base `B` is a
 point is a direct product.
 
 In our formalism, a fiber bundle is by definition the type
-`bundle.total_space E` where `E : B → Type*` is a function associating to
-`x : B` the fiber over `x`. This type `bundle.total_space E` is just a type synonym for
-`Σ (x : B), E x`, with the interest that one can put another topology than on `Σ (x : B), E x`
-which has the disjoint union topology.
+`bundle.total_space F E` where `E : B → Type*` is a function associating to `x : B` the fiber over
+`x`. This type `bundle.total_space F E` is a type of pairs `(proj : B, snd : E proj)`.
 
-To have a fiber bundle structure on `bundle.total_space E`, one should
+To have a fiber bundle structure on `bundle.total_space F E`, one should
 additionally have the following data:
 
 * `F` should be a topological space;
-* There should be a topology on `bundle.total_space E`, for which the projection to `B` is
+* There should be a topology on `bundle.total_space F E`, for which the projection to `B` is
 a fiber bundle with fiber `F` (in particular, each fiber `E x` is homeomorphic to `F`);
 * For each `x`, the fiber `E x` should be a topological space, and the injection
 from `E x` to `bundle.total_space F E` should be an embedding;
@@ -52,17 +50,16 @@ fiber bundle from trivializations given as local equivalences with minimum addit
 
 ### Construction of a bundle from trivializations
 
-* `bundle.total_space E` is a type synonym for `Σ (x : B), E x`, that we can endow with a suitable
-  topology.
+* `bundle.total_space F E` is the type of pairs `(proj : B, snd : E proj)`. We can use the extra
+  argument `F` to construct topology on the total space.
 * `fiber_bundle_core ι B F` : structure registering how changes of coordinates act
   on the fiber `F` above open subsets of `B`, where local trivializations are indexed by `ι`.
 
 Let `Z : fiber_bundle_core ι B F`. Then we define
 
 * `Z.fiber x`     : the fiber above `x`, homeomorphic to `F` (and defeq to `F` as a type).
-* `Z.total_space` : the total space of `Z`, defined as a `Type` as `Σ (b : B), F`, but with a
-  twisted topology coming from the fiber bundle structure. It is (reducibly) the same as
-  `bundle.total_space Z.fiber`.
+* `Z.total_space` : the total space of `Z`, defined as a `Type*` as `bundle.total_space F Z.fiber`
+                    with a custom topology.
 * `Z.proj`        : projection from `Z.total_space` to `B`. It is continuous.
 * `Z.local_triv i`: for `i : ι`, bundle trivialization above the set `Z.base_set i`, which is an
                     open set in `B`.
@@ -153,8 +150,8 @@ choose for each `x` one specific trivialization around it. We include this choic
 of the `fiber_bundle_core`, as it makes some constructions more
 functorial and it is a nice way to say that the trivializations cover the whole space `B`.
 
-With this definition, the type of the fiber bundle space constructed from the core data is just
-`Σ (b : B), F `, but the topology is not the product one, in general.
+With this definition, the type of the fiber bundle space constructed from the core data is
+`bundle.total_space F (λ b : B, F)`, but the topology is not the product one, in general.
 
 We also take the indexing type (indexing all the trivializations) as a parameter to the fiber bundle
 core: it could always be taken as a subtype of all the maps from open subsets of `B` to continuous
@@ -172,7 +169,7 @@ variables {ι B F X : Type*} [topological_space X]
 open topological_space filter set bundle
 open_locale topology classical bundle
 
-attribute [mfld_simps] total_space_mk coe_fst coe_snd coe_snd_map_apply
+attribute [mfld_simps] total_space.coe_proj total_space.coe_snd coe_snd_map_apply
   coe_snd_map_smul total_space.mk_cast
 
 /-! ### General definition of fiber bundles -/
@@ -180,15 +177,15 @@ attribute [mfld_simps] total_space_mk coe_fst coe_snd coe_snd_map_apply
 section fiber_bundle
 
 variables (F) [topological_space B] [topological_space F] (E : B → Type*)
-  [topological_space (total_space E)] [∀ b, topological_space (E b)]
+  [topological_space (total_space F E)] [∀ b, topological_space (E b)]
 
 /-- A (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on `B`
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
 class fiber_bundle :=
-(total_space_mk_inducing [] : ∀ (b : B), inducing (@total_space_mk B E b))
-(trivialization_atlas [] : set (trivialization F (π E)))
-(trivialization_at [] : B → trivialization F (π E))
+(total_space_mk_inducing [] : ∀ (b : B), inducing (@total_space.mk B F E b))
+(trivialization_atlas [] : set (trivialization F (π F E)))
+(trivialization_at [] : B → trivialization F (π F E))
 (mem_base_set_trivialization_at [] : ∀ b : B, b ∈ (trivialization_at b).base_set)
 (trivialization_mem_atlas [] : ∀ b : B, trivialization_at b ∈ trivialization_atlas)
 
@@ -202,7 +199,7 @@ bundle.  This is needed because lemmas about the linearity of trivializations or
 functions to `F →L[R] F`, where `F` is the model fiber) of the transition functions are only
 expected to hold for trivializations in the designated atlas. -/
 @[mk_iff]
-class mem_trivialization_atlas [fiber_bundle F E] (e : trivialization F (π E)) : Prop :=
+class mem_trivialization_atlas [fiber_bundle F E] (e : trivialization F (π F E)) : Prop :=
 (out : e ∈ trivialization_atlas F E)
 
 instance [fiber_bundle F E] (b : B) : mem_trivialization_atlas (trivialization_at F E b) :=
@@ -211,44 +208,44 @@ instance [fiber_bundle F E] (b : B) : mem_trivialization_atlas (trivialization_a
 namespace fiber_bundle
 variables (F) {E} [fiber_bundle F E]
 
-lemma map_proj_nhds (x : total_space E) :
-  map (π E) (𝓝 x) = 𝓝 x.proj :=
+lemma map_proj_nhds (x : total_space F E) :
+  map (π F E) (𝓝 x) = 𝓝 x.proj :=
 (trivialization_at F E x.proj).map_proj_nhds $
   (trivialization_at F E x.proj).mem_source.2 $ mem_base_set_trivialization_at F E x.proj
 
 variables (E)
 
 /-- The projection from a fiber bundle to its base is continuous. -/
-@[continuity] lemma continuous_proj : continuous (π E) :=
+@[continuity] lemma continuous_proj : continuous (π F E) :=
 continuous_iff_continuous_at.2 $ λ x, (map_proj_nhds F x).le
 
 /-- The projection from a fiber bundle to its base is an open map. -/
-lemma is_open_map_proj : is_open_map (π E) :=
+lemma is_open_map_proj : is_open_map (π F E) :=
 is_open_map.of_nhds_le $ λ x, (map_proj_nhds F x).ge
 
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a surjective
 map. -/
-lemma surjective_proj [nonempty F] : function.surjective (π E) :=
+lemma surjective_proj [nonempty F] : function.surjective (π F E) :=
 λ b, let ⟨p, _, hpb⟩ :=
   (trivialization_at F E b).proj_surj_on_base_set (mem_base_set_trivialization_at F E b) in ⟨p, hpb⟩
 
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a quotient
 map. -/
-lemma quotient_map_proj [nonempty F] : quotient_map (π E) :=
+lemma quotient_map_proj [nonempty F] : quotient_map (π F E) :=
 (is_open_map_proj F E).to_quotient_map (continuous_proj F E) (surjective_proj F E)
 
-lemma continuous_total_space_mk (x : B) : continuous (@total_space_mk B E x) :=
+lemma continuous_total_space_mk (x : B) : continuous (@total_space.mk B F E x) :=
 (total_space_mk_inducing F E x).continuous
 
 variables {E F}
 
 @[simp, mfld_simps]
-lemma mem_trivialization_at_proj_source {x : total_space E} :
+lemma mem_trivialization_at_proj_source {x : total_space F E} :
   x ∈ (trivialization_at F E x.proj).source :=
 (trivialization.mem_source _).mpr $ mem_base_set_trivialization_at F E x.proj
 
 @[simp, mfld_simps]
-lemma trivialization_at_proj_fst {x : total_space E} :
+lemma trivialization_at_proj_fst {x : total_space F E} :
   ((trivialization_at F E x.proj) x).1 = x.proj :=
 trivialization.coe_fst' _ $ mem_base_set_trivialization_at F E x.proj
 
@@ -256,7 +253,7 @@ variable (F)
 open trivialization
 
 /-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
-lemma continuous_within_at_total_space (f : X → total_space E) {s : set X} {x₀ : X} :
+lemma continuous_within_at_total_space (f : X → total_space F E) {s : set X} {x₀ : X} :
   continuous_within_at f s x₀ ↔
   continuous_within_at (λ x, (f x).proj) s x₀ ∧
   continuous_within_at (λ x, ((trivialization_at F E (f x₀).proj) (f x)).2) s x₀ :=
@@ -276,7 +273,7 @@ begin
 end
 
 /-- Characterization of continuous functions (at a point) into a fiber bundle. -/
-lemma continuous_at_total_space (f : X → total_space E) {x₀ : X} :
+lemma continuous_at_total_space (f : X → total_space F E) {x₀ : X} :
   continuous_at f x₀ ↔ continuous_at (λ x, (f x).proj) x₀ ∧
   continuous_at (λ x, ((trivialization_at F E (f x₀).proj) (f x)).2) x₀ :=
 by { simp_rw [← continuous_within_at_univ], exact continuous_within_at_total_space F f }
@@ -289,16 +286,16 @@ variables (F E)
 then it is trivial over any closed interval. -/
 lemma fiber_bundle.exists_trivialization_Icc_subset
   [conditionally_complete_linear_order B] [order_topology B] [fiber_bundle F E] (a b : B) :
-  ∃ e : trivialization F (π E), Icc a b ⊆ e.base_set :=
+  ∃ e : trivialization F (π F E), Icc a b ⊆ e.base_set :=
 begin
   classical,
-  obtain ⟨ea, hea⟩ : ∃ ea : trivialization F (π E), a ∈ ea.base_set :=
+  obtain ⟨ea, hea⟩ : ∃ ea : trivialization F (π F E), a ∈ ea.base_set :=
     ⟨trivialization_at F E a, mem_base_set_trivialization_at F E a⟩,
   -- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
   cases le_or_lt a b with hab hab; [skip, exact ⟨ea, by simp *⟩],
   /- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
   We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
-  set s : set B := {x ∈ Icc a b | ∃ e : trivialization F (π E), Icc a x ⊆ e.base_set},
+  set s : set B := {x ∈ Icc a b | ∃ e : trivialization F (π F E), Icc a x ⊆ e.base_set},
   have ha : a ∈ s, from ⟨left_mem_Icc.2 hab, ea, by simp [hea]⟩,
   have sne : s.nonempty := ⟨a, ha⟩,
   have hsb : b ∈ upper_bounds s, from λ x hx, hx.1.2,
@@ -306,12 +303,12 @@ begin
   set c := Sup s,
   have hsc : is_lub s c, from is_lub_cSup sne sbd,
   have hc : c ∈ Icc a b, from ⟨hsc.1 ha, hsc.2 hsb⟩,
-  obtain ⟨-, ec : trivialization F (π E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s,
+  obtain ⟨-, ec : trivialization F (π F E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s,
   { cases hc.1.eq_or_lt with heq hlt, { rwa ← heq },
     refine ⟨hc, _⟩,
     /- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
     of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
-    obtain ⟨ec, hc⟩ : ∃ ec : trivialization F (π E), c ∈ ec.base_set :=
+    obtain ⟨ec, hc⟩ : ∃ ec : trivialization F (π F E), c ∈ ec.base_set :=
       ⟨trivialization_at F E c, mem_base_set_trivialization_at F E c⟩,
     obtain ⟨c', hc', hc'e⟩ : ∃ c' ∈ Ico a c, Ioc c' c ⊆ ec.base_set :=
       (mem_nhds_within_Iic_iff_exists_mem_Ico_Ioc_subset hlt).1
@@ -325,7 +322,7 @@ begin
   done. Otherwise we show that `proj` can be trivialized over a larger interval `[a, d]`,
   `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
   cases hc.2.eq_or_lt with heq hlt, { exact ⟨ec, heq ▸ hec⟩ },
-  rsuffices ⟨d, hdcb, hd⟩ : ∃ (d ∈ Ioc c b) (e : trivialization F (π E)), Icc a d ⊆ e.base_set,
+  rsuffices ⟨d, hdcb, hd⟩ : ∃ (d ∈ Ioc c b) (e : trivialization F (π F E)), Icc a d ⊆ e.base_set,
   { exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim },
   /- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
   `d ∈ (c, b]`. -/
@@ -338,7 +335,7 @@ begin
   { /- If `(c, d) = ∅`, then let `ed` be a trivialization of `proj` over a neighborhood of `d`.
     Then the disjoint union of `ec` restricted to `(-∞, d)` and `ed` restricted to `(c, ∞)` is
     a trivialization over `[a, d]`. -/
-    obtain ⟨ed, hed⟩ : ∃ ed : trivialization F (π E), d ∈ ed.base_set :=
+    obtain ⟨ed, hed⟩ : ∃ ed : trivialization F (π F E), d ∈ ed.base_set :=
       ⟨trivialization_at F E d, mem_base_set_trivialization_at F E d⟩,
     refine ⟨d, hdcb, (ec.restr_open (Iio d) is_open_Iio).disjoint_union
       (ed.restr_open (Ioi c) is_open_Ioi) (he.mono (inter_subset_right _ _)
@@ -396,18 +393,13 @@ typeclass inference -/
 @[nolint unused_arguments has_nonempty_instance]
 def fiber (x : B) := F
 
-section fiber_instances
-local attribute [reducible] fiber
-
-instance topological_space_fiber (x : B) : topological_space (Z.fiber x) := by apply_instance
-
-end fiber_instances
+instance topological_space_fiber (x : B) : topological_space (Z.fiber x) :=
+‹topological_space F›
 
 /-- The total space of the fiber bundle, as a convenience function for dot notation.
-It is by definition equal to `bundle.total_space Z.fiber`, a.k.a. `Σ x, Z.fiber x` but with a
-different name for typeclass inference. -/
+It is by definition equal to `bundle.total_space Z.fiber` -/
 @[nolint unused_arguments, reducible]
-def total_space := bundle.total_space Z.fiber
+def total_space := bundle.total_space F Z.fiber
 
 /-- The projection from the total space of a fiber bundle core, on its base. -/
 @[reducible, simp, mfld_simps] def proj : Z.total_space → B := bundle.total_space.proj
@@ -510,7 +502,7 @@ end
 
 /-- Topological structure on the total space of a fiber bundle created from core, designed so
 that all the local trivialization are continuous. -/
-instance to_topological_space : topological_space (bundle.total_space Z.fiber) :=
+instance to_topological_space : topological_space Z.total_space :=
 topological_space.generate_from $ ⋃ (i : ι) (s : set (B × F)) (s_open : is_open s),
   {(Z.local_triv_as_local_equiv i).source ∩ (Z.local_triv_as_local_equiv i) ⁻¹' s}
 
@@ -567,7 +559,7 @@ def local_triv (i : ι) : trivialization F Z.proj :=
 
 /-- Preferred local trivialization of a fiber bundle constructed from core, at a given point, as
 a bundle trivialization -/
-def local_triv_at (b : B) : trivialization F (π Z.fiber) :=
+def local_triv_at (b : B) : trivialization F (π F Z.fiber) :=
 Z.local_triv (Z.index_at b)
 
 @[simp, mfld_simps] lemma local_triv_at_def (b : B) :
@@ -647,11 +639,11 @@ by { rw [local_triv_at, ←base_set_at], exact Z.mem_base_set_at b, }
 /-- The inclusion of a fiber into the total space is a continuous map. -/
 @[continuity]
 lemma continuous_total_space_mk (b : B) :
-  continuous (total_space_mk b : Z.fiber b → bundle.total_space Z.fiber) :=
+  continuous (total_space.mk b : Z.fiber b → Z.total_space) :=
 begin
   rw [continuous_iff_le_induced, fiber_bundle_core.to_topological_space],
   apply le_induced_generate_from,
-  simp only [total_space_mk, mem_Union, mem_singleton_iff, local_triv_as_local_equiv_source,
+  simp only [mem_Union, mem_singleton_iff, local_triv_as_local_equiv_source,
     local_triv_as_local_equiv_coe],
   rintros s ⟨i, t, ht, rfl⟩,
   rw [←((Z.local_triv i).source_inter_preimage_target_inter t), preimage_inter, ←preimage_comp,
@@ -683,7 +675,6 @@ instance fiber_bundle : fiber_bundle F Z.fiber :=
         (Z.local_triv_at b).open_source).mp (Z.local_triv_at b).continuous_to_fun _
         ((Z.local_triv_at b).open_base_set.prod h), _⟩,
       rw [preimage_inter, ←preimage_comp, function.comp],
-      simp only [total_space_mk],
       refine ext_iff.mpr (λ a, ⟨λ ha, _, λ ha, ⟨Z.mem_base_set_at b, _⟩⟩),
       { simp only [mem_prod, mem_preimage, mem_inter_iff, local_triv_at_apply_mk] at ha,
         exact ha.2.2, },
@@ -713,21 +704,21 @@ topology in such a way that there is a fiber bundle structure for which the loca
 are also local homeomorphism and hence local trivializations. -/
 @[nolint has_nonempty_instance]
 structure fiber_prebundle :=
-(pretrivialization_atlas : set (pretrivialization F (π E)))
-(pretrivialization_at : B → pretrivialization F (π E))
+(pretrivialization_atlas : set (pretrivialization F (π F E)))
+(pretrivialization_at : B → pretrivialization F (π F E))
 (mem_base_pretrivialization_at : ∀ x : B, x ∈ (pretrivialization_at x).base_set)
 (pretrivialization_mem_atlas : ∀ x : B, pretrivialization_at x ∈ pretrivialization_atlas)
 (continuous_triv_change : ∀ e e' ∈ pretrivialization_atlas,
   continuous_on (e ∘ e'.to_local_equiv.symm) (e'.target ∩ (e'.to_local_equiv.symm ⁻¹' e.source)))
-(total_space_mk_inducing : ∀ (b : B), inducing ((pretrivialization_at b) ∘ (total_space_mk b)))
+(total_space_mk_inducing : ∀ (b : B), inducing ((pretrivialization_at b) ∘ (total_space.mk b)))
 
 namespace fiber_prebundle
 
-variables {F E} (a : fiber_prebundle F E) {e : pretrivialization F (π E)}
+variables {F E} (a : fiber_prebundle F E) {e : pretrivialization F (π F E)}
 
 /-- Topology on the total space that will make the prebundle into a bundle. -/
-def total_space_topology (a : fiber_prebundle F E) : topological_space (total_space E) :=
-⨆ (e : pretrivialization F (π E)) (he : e ∈ a.pretrivialization_atlas),
+def total_space_topology (a : fiber_prebundle F E) : topological_space (total_space F E) :=
+⨆ (e : pretrivialization F (π F E)) (he : e ∈ a.pretrivialization_atlas),
   coinduced e.set_symm (subtype.topological_space)
 
 lemma continuous_symm_of_mem_pretrivialization_atlas (he : e ∈ a.pretrivialization_atlas) :
@@ -739,7 +730,7 @@ begin
   exact le_supr₂ e he,
 end
 
-lemma is_open_source (e : pretrivialization F (π E)) : is_open[a.total_space_topology] e.source :=
+lemma is_open_source (e : pretrivialization F (π F E)) : is_open[a.total_space_topology] e.source :=
 begin
   letI := a.total_space_topology,
   refine is_open_supr_iff.mpr (λ e', _),
@@ -751,7 +742,7 @@ begin
     pretrivialization.preimage_symm_proj_inter],
 end
 
-lemma is_open_target_of_mem_pretrivialization_atlas_inter (e e' : pretrivialization F (π E))
+lemma is_open_target_of_mem_pretrivialization_atlas_inter (e e' : pretrivialization F (π F E))
   (he' : e' ∈ a.pretrivialization_atlas) :
   is_open (e'.to_local_equiv.target ∩ e'.to_local_equiv.symm ⁻¹' e.source) :=
 begin
@@ -764,7 +755,7 @@ end
 
 /-- Promotion from a `pretrivialization` to a `trivialization`. -/
 def trivialization_of_mem_pretrivialization_atlas (he : e ∈ a.pretrivialization_atlas) :
-  @trivialization B F _ _ _ a.total_space_topology (π E) :=
+  @trivialization B F _ _ _ a.total_space_topology (π F E) :=
 { open_source := a.is_open_source e,
   continuous_to_fun := begin
     letI := a.total_space_topology,
@@ -785,14 +776,14 @@ def trivialization_of_mem_pretrivialization_atlas (he : e ∈ a.pretrivializatio
   .. e }
 
 lemma mem_trivialization_at_source (b : B) (x : E b) :
-  total_space_mk b x ∈ (a.pretrivialization_at b).source :=
+  total_space.mk b x ∈ (a.pretrivialization_at b).source :=
 begin
   simp only [(a.pretrivialization_at b).source_eq, mem_preimage, total_space.proj],
   exact a.mem_base_pretrivialization_at b,
 end
 
 @[simp] lemma total_space_mk_preimage_source (b : B) :
-  (total_space_mk b) ⁻¹' (a.pretrivialization_at b).source = univ :=
+  total_space.mk b ⁻¹' (a.pretrivialization_at b).source = univ :=
 begin
   apply eq_univ_of_univ_subset,
   rw [(a.pretrivialization_at b).source_eq, ←preimage_comp, function.comp],
@@ -802,7 +793,7 @@ begin
 end
 
 @[continuity] lemma continuous_total_space_mk (b : B) :
-  @continuous _ _ _ a.total_space_topology (total_space_mk b) :=
+  @continuous _ _ _ a.total_space_topology (total_space.mk b) :=
 begin
   letI := a.total_space_topology,
   let e := a.trivialization_of_mem_pretrivialization_atlas (a.pretrivialization_mem_atlas b),
@@ -812,8 +803,8 @@ begin
 end
 
 lemma inducing_total_space_mk_of_inducing_comp (b : B)
-  (h : inducing ((a.pretrivialization_at b) ∘ (total_space_mk b))) :
-  @inducing _ _ _ a.total_space_topology (total_space_mk b) :=
+  (h : inducing ((a.pretrivialization_at b) ∘ (total_space.mk b))) :
+  @inducing _ _ _ a.total_space_topology (total_space.mk b) :=
 begin
   letI := a.total_space_topology,
   rw ←restrict_comp_cod_restrict (a.mem_trivialization_at_source b) at h,
@@ -841,7 +832,7 @@ def to_fiber_bundle :
   mem_base_set_trivialization_at := a.mem_base_pretrivialization_at,
   trivialization_mem_atlas := λ x, ⟨_, a.pretrivialization_mem_atlas x, rfl⟩ }
 
-lemma continuous_proj : @continuous _ _ a.total_space_topology _ (π E) :=
+lemma continuous_proj : @continuous _ _ a.total_space_topology _ (π F E) :=
 begin
   letI := a.total_space_topology,
   letI := a.to_fiber_bundle,
@@ -849,17 +840,17 @@ begin
 end
 
 /-- For a fiber bundle `E` over `B` constructed using the `fiber_prebundle` mechanism,
-continuity of a function `total_space E → X` on an open set `s` can be checked by precomposing at
+continuity of a function `total_space F E → X` on an open set `s` can be checked by precomposing at
 each point with the pretrivialization used for the construction at that point. -/
-lemma continuous_on_of_comp_right {X : Type*} [topological_space X] {f : total_space E → X}
+lemma continuous_on_of_comp_right {X : Type*} [topological_space X] {f : total_space F E → X}
   {s : set B} (hs : is_open s)
   (hf : ∀ b ∈ s, continuous_on (f ∘ (a.pretrivialization_at b).to_local_equiv.symm)
     ((s ∩ (a.pretrivialization_at b).base_set) ×ˢ (set.univ : set F))) :
-  @continuous_on _ _ a.total_space_topology _ f ((π E) ⁻¹' s) :=
+  @continuous_on _ _ a.total_space_topology _ f ((π F E) ⁻¹' s) :=
 begin
   letI := a.total_space_topology,
   intros z hz,
-  let e : trivialization F (π E) :=
+  let e : trivialization F (π F E) :=
   a.trivialization_of_mem_pretrivialization_atlas (a.pretrivialization_mem_atlas z.proj),
   refine (e.continuous_at_of_comp_right _
     ((hf z.proj hz).continuous_at (is_open.mem_nhds _ _))).continuous_within_at,

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

refactor(topology/vector_bundle/hom): fibres of hom-bundle carry strong topology (#19107)

Currently, the "hom-bundle" between two vector bundles E₁ and E₂ has fibre over x which is a type synonym of E₁ x →SL[σ] E₂ x, but which carries a topology produced by the hom-bundle construction (using the identification by trivializations withe the model fibre F₁ →SL[σ] F₂). This was needed when this bundle was made (#14541) because at that time, F₁ →SL[σ] F₂ (continuous linear maps between normed spaces) carried a topology in mathlib but E₁ x →SL[σ] E₂ x (continuous linear maps between topological vector spaces) did not.

As of #16053, continuous linear maps between topological vector spaces do carry a topology, the strong topology. So we can kill the old topology on the type synonym and just use the default one, which should avoid annoying issues later.

A few minor changes are needed to make this go through:

  • we revert #14377: the question is whether the "vector prebundle" construction, whose canonical use is for the hom-bundle, should or should not require a topology on the fibres. Now that in applications it could happen either way (fibres do or don't come with a topology), it will be more convenient to assume that they do carry a topology, and put the "artificial" topology on the fibres if they happen to not.
  • some assumptions need to change from [add_comm_monoid] to [add_comm_group], this is mathematically harmless since they are also modules over a field.
  • generalize the construction continuous_linear_equiv.arrow_congrSL from normed spaces to topological vector spaces

Co-authored-by: Moritz Doll <moritz.doll@googlemail.com> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>

Diff
@@ -705,6 +705,7 @@ end fiber_bundle_core
 /-! ### Prebundle construction for constructing fiber bundles -/
 
 variables (F) (E : B → Type*) [topological_space B] [topological_space F]
+  [Π x, topological_space (E x)]
 
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
@@ -718,6 +719,7 @@ structure fiber_prebundle :=
 (pretrivialization_mem_atlas : ∀ x : B, pretrivialization_at x ∈ pretrivialization_atlas)
 (continuous_triv_change : ∀ e e' ∈ pretrivialization_atlas,
   continuous_on (e ∘ e'.to_local_equiv.symm) (e'.target ∩ (e'.to_local_equiv.symm ⁻¹' e.source)))
+(total_space_mk_inducing : ∀ (b : B), inducing ((pretrivialization_at b) ∘ (total_space_mk b)))
 
 namespace fiber_prebundle
 
@@ -799,19 +801,27 @@ begin
   exact a.mem_base_pretrivialization_at b,
 end
 
-/-- Topology on the fibers `E b` induced by the map `E b → E.total_space`. -/
-def fiber_topology (b : B) : topological_space (E b) :=
-topological_space.induced (total_space_mk b) a.total_space_topology
-
-@[continuity] lemma inducing_total_space_mk (b : B) :
-  @inducing _ _ (a.fiber_topology b) a.total_space_topology (total_space_mk b) :=
-by { letI := a.total_space_topology, letI := a.fiber_topology b, exact ⟨rfl⟩ }
-
 @[continuity] lemma continuous_total_space_mk (b : B) :
-  @continuous _ _ (a.fiber_topology b) a.total_space_topology (total_space_mk b) :=
+  @continuous _ _ _ a.total_space_topology (total_space_mk b) :=
 begin
-  letI := a.total_space_topology, letI := a.fiber_topology b,
-  exact (a.inducing_total_space_mk b).continuous
+  letI := a.total_space_topology,
+  let e := a.trivialization_of_mem_pretrivialization_atlas (a.pretrivialization_mem_atlas b),
+  rw e.to_local_homeomorph.continuous_iff_continuous_comp_left
+    (a.total_space_mk_preimage_source b),
+  exact continuous_iff_le_induced.mpr (le_antisymm_iff.mp (a.total_space_mk_inducing b).induced).1,
+end
+
+lemma inducing_total_space_mk_of_inducing_comp (b : B)
+  (h : inducing ((a.pretrivialization_at b) ∘ (total_space_mk b))) :
+  @inducing _ _ _ a.total_space_topology (total_space_mk b) :=
+begin
+  letI := a.total_space_topology,
+  rw ←restrict_comp_cod_restrict (a.mem_trivialization_at_source b) at h,
+  apply inducing.of_cod_restrict (a.mem_trivialization_at_source b),
+  refine inducing_of_inducing_compose _ (continuous_on_iff_continuous_restrict.mp
+    (a.trivialization_of_mem_pretrivialization_atlas
+    (a.pretrivialization_mem_atlas b)).continuous_to_fun) h,
+  exact (a.continuous_total_space_mk b).cod_restrict (a.mem_trivialization_at_source b),
 end
 
 /-- Make a `fiber_bundle` from a `fiber_prebundle`.  Concretely this means
@@ -821,8 +831,9 @@ establishes that for the topology constructed on the sigma-type using
 `fiber_prebundle.total_space_topology`, these "pretrivializations" are actually
 "trivializations" (i.e., homeomorphisms with respect to the constructed topology). -/
 def to_fiber_bundle :
-  @fiber_bundle B F _ _ E a.total_space_topology a.fiber_topology :=
-{ total_space_mk_inducing := a.inducing_total_space_mk,
+  @fiber_bundle B F _ _ E a.total_space_topology _ :=
+{ total_space_mk_inducing := λ b, a.inducing_total_space_mk_of_inducing_comp b
+    (a.total_space_mk_inducing b),
   trivialization_atlas := {e | ∃ e₀ (he₀ : e₀ ∈ a.pretrivialization_atlas),
     e = a.trivialization_of_mem_pretrivialization_atlas he₀},
   trivialization_at := λ x, a.trivialization_of_mem_pretrivialization_atlas
@@ -833,7 +844,6 @@ def to_fiber_bundle :
 lemma continuous_proj : @continuous _ _ a.total_space_topology _ (π E) :=
 begin
   letI := a.total_space_topology,
-  letI := a.fiber_topology,
   letI := a.to_fiber_bundle,
   exact continuous_proj F E,
 end

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

feat(geometry/manifold/vector_bundle/tangent): use the new tangent bundle definition in the library (#18601)
  • Stop using the old tangent bundle definition, and use the new one instead
  • This affects geometry.manifold.mfderiv and later files.
  • We remove cont_mdiff_at_iff_target, which doesn't hold anymore in the new setting.
  • We prove cont_mdiff_at_total_space, which characterizes C^n maps into a vector bundle. We need a bunch of basic lemmas to prove this. This makes it easy to prove smooth_zero_section.
  • We move some results from cont_mdiff_mfderiv to manifold/vector_bundle/basic
Diff
@@ -167,12 +167,12 @@ for the initial bundle.
 Fiber bundle, topological bundle, structure group
 -/
 
-variables {ι : Type*} {B : Type*} {F : Type*}
+variables {ι B F X : Type*} [topological_space X]
 
 open topological_space filter set bundle
 open_locale topology classical bundle
 
-attribute [mfld_simps] total_space.proj total_space_mk coe_fst coe_snd coe_snd_map_apply
+attribute [mfld_simps] total_space_mk coe_fst coe_snd coe_snd_map_apply
   coe_snd_map_smul total_space.mk_cast
 
 /-! ### General definition of fiber bundles -/
@@ -240,6 +240,47 @@ lemma quotient_map_proj [nonempty F] : quotient_map (π E) :=
 lemma continuous_total_space_mk (x : B) : continuous (@total_space_mk B E x) :=
 (total_space_mk_inducing F E x).continuous
 
+variables {E F}
+
+@[simp, mfld_simps]
+lemma mem_trivialization_at_proj_source {x : total_space E} :
+  x ∈ (trivialization_at F E x.proj).source :=
+(trivialization.mem_source _).mpr $ mem_base_set_trivialization_at F E x.proj
+
+@[simp, mfld_simps]
+lemma trivialization_at_proj_fst {x : total_space E} :
+  ((trivialization_at F E x.proj) x).1 = x.proj :=
+trivialization.coe_fst' _ $ mem_base_set_trivialization_at F E x.proj
+
+variable (F)
+open trivialization
+
+/-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
+lemma continuous_within_at_total_space (f : X → total_space E) {s : set X} {x₀ : X} :
+  continuous_within_at f s x₀ ↔
+  continuous_within_at (λ x, (f x).proj) s x₀ ∧
+  continuous_within_at (λ x, ((trivialization_at F E (f x₀).proj) (f x)).2) s x₀ :=
+begin
+  refine (and_iff_right_iff_imp.2 $ λ hf, _).symm.trans (and_congr_right $ λ hf, _),
+  { refine (continuous_proj F E).continuous_within_at.comp hf (maps_to_image f s) },
+  have h1 : (λ x, (f x).proj) ⁻¹' (trivialization_at F E (f x₀).proj).base_set ∈ 𝓝[s] x₀ :=
+    hf.preimage_mem_nhds_within ((open_base_set _).mem_nhds (mem_base_set_trivialization_at F E _)),
+  have h2 : continuous_within_at (λ x, (trivialization_at F E (f x₀).proj (f x)).1) s x₀,
+  { refine hf.congr_of_eventually_eq (eventually_of_mem h1 $ λ x hx, _) trivialization_at_proj_fst,
+    rw [coe_fst'],
+    exact hx },
+  rw [(trivialization_at F E (f x₀).proj).continuous_within_at_iff_continuous_within_at_comp_left],
+  { simp_rw [continuous_within_at_prod_iff, function.comp, trivialization.coe_coe, h2, true_and] },
+  { apply mem_trivialization_at_proj_source },
+  { rwa [source_eq, preimage_preimage] }
+end
+
+/-- Characterization of continuous functions (at a point) into a fiber bundle. -/
+lemma continuous_at_total_space (f : X → total_space E) {x₀ : X} :
+  continuous_at f x₀ ↔ continuous_at (λ x, (f x).proj) x₀ ∧
+  continuous_at (λ x, ((trivialization_at F E (f x₀).proj) (f x)).2) x₀ :=
+by { simp_rw [← continuous_within_at_univ], exact continuous_within_at_total_space F f }
+
 end fiber_bundle
 
 variables (F E)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -913,7 +913,7 @@ variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
   [∀ x, TopologicalSpace (E x)]
 
 #print FiberPrebundle /-
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
 topology in such a way that there is a fiber bundle structure for which the local equivalences
Diff
@@ -399,7 +399,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
     exacts [Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
   · /- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
         `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
-    rw [disjoint_left] at he ; push_neg at he ; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
+    rw [disjoint_left] at he; push_neg at he; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
     exact ⟨d', ⟨hd'c, hdd'.le.trans hdcb.2⟩, ec, (Icc_subset_Ico_right hdd').trans had⟩
 #align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subset
 -/
@@ -504,13 +504,13 @@ def trivChange (i j : ι) : PartialHomeomorph (B × F) (B × F)
   map_target' p hp := by simpa using hp
   left_inv' := by
     rintro ⟨x, v⟩ hx
-    simp only [prod_mk_mem_set_prod_eq, mem_inter_iff, and_true_iff, mem_univ] at hx 
+    simp only [prod_mk_mem_set_prod_eq, mem_inter_iff, and_true_iff, mem_univ] at hx
     rw [Z.coord_change_comp, Z.coord_change_self]
     · exact hx.1
     · simp [hx]
   right_inv' := by
     rintro ⟨x, v⟩ hx
-    simp only [prod_mk_mem_set_prod_eq, mem_inter_iff, and_true_iff, mem_univ] at hx 
+    simp only [prod_mk_mem_set_prod_eq, mem_inter_iff, and_true_iff, mem_univ] at hx
     rw [Z.coord_change_comp, Z.coord_change_self]
     · exact hx.2
     · simp [hx]
@@ -552,14 +552,14 @@ def localTrivAsPartialEquiv (i : ι) : PartialEquiv Z.TotalSpace (B × F)
     simpa only [Set.mem_preimage, and_true_iff, Set.mem_univ, Set.mem_prod] using hp
   left_inv' := by
     rintro ⟨x, v⟩ hx
-    change x ∈ Z.base_set i at hx 
+    change x ∈ Z.base_set i at hx
     dsimp only
     rw [Z.coord_change_comp, Z.coord_change_self]
     · exact Z.mem_base_set_at _
     · simp only [hx, mem_inter_iff, and_self_iff, mem_base_set_at]
   right_inv' := by
     rintro ⟨x, v⟩ hx
-    simp only [prod_mk_mem_set_prod_eq, and_true_iff, mem_univ] at hx 
+    simp only [prod_mk_mem_set_prod_eq, and_true_iff, mem_univ] at hx
     rw [Z.coord_change_comp, Z.coord_change_self]
     · exact hx
     · simp only [hx, mem_inter_iff, and_self_iff, mem_base_set_at]
@@ -652,7 +652,7 @@ def localTriv (i : ι) : Trivialization F Z.proj
     by
     apply continuousOn_isOpen_of_generateFrom ((Z.is_open_base_set i).Prod isOpen_univ)
     intro t ht
-    simp only [exists_prop, mem_Union, mem_singleton_iff] at ht 
+    simp only [exists_prop, mem_Union, mem_singleton_iff] at ht
     obtain ⟨j, s, s_open, ts⟩ :
       ∃ j s,
         IsOpen s ∧
@@ -879,7 +879,7 @@ instance fiberBundle : FiberBundle F Z.Fiber
               _⟩
         rw [preimage_inter, ← preimage_comp, Function.comp]
         refine' ext_iff.mpr fun a => ⟨fun ha => _, fun ha => ⟨Z.mem_base_set_at b, _⟩⟩
-        · simp only [mem_prod, mem_preimage, mem_inter_iff, local_triv_at_apply_mk] at ha 
+        · simp only [mem_prod, mem_preimage, mem_inter_iff, local_triv_at_apply_mk] at ha
           exact ha.2.2
         · simp only [mem_prod, mem_preimage, mem_inter_iff, local_triv_at_apply_mk]
           exact ⟨Z.mem_base_set_at b, ha⟩⟩
@@ -997,7 +997,7 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
       rw [isOpen_coinduced, isOpen_induced_iff]
       obtain ⟨u, hu1, hu2⟩ := continuous_on_iff'.mp (a.continuous_triv_change _ he _ he') s hs
       have hu3 := congr_arg (fun s => (fun x : e'.target => (x : B × F)) ⁻¹' s) hu2
-      simp only [Subtype.coe_preimage_self, preimage_inter, univ_inter] at hu3 
+      simp only [Subtype.coe_preimage_self, preimage_inter, univ_inter] at hu3
       refine'
         ⟨u ∩ e'.to_local_equiv.target ∩ e'.to_local_equiv.symm ⁻¹' e.source, _, by
           simp only [preimage_inter, inter_univ, Subtype.coe_preimage_self, hu3.symm]; rfl⟩
@@ -1048,7 +1048,7 @@ theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
     @Inducing _ _ _ a.totalSpaceTopology (TotalSpace.mk b) :=
   by
   letI := a.total_space_topology
-  rw [← restrict_comp_cod_restrict (a.mem_trivialization_at_source b)] at h 
+  rw [← restrict_comp_cod_restrict (a.mem_trivialization_at_source b)] at h
   apply Inducing.of_codRestrict (a.mem_trivialization_at_source b)
   refine'
     inducing_of_inducing_compose _
Diff
@@ -185,11 +185,11 @@ variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
   [TopologicalSpace (TotalSpace F E)] [∀ b, TopologicalSpace (E b)]
 
 #print FiberBundle /-
-/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`totalSpace_mk_inducing] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:400:30: infer kinds are unsupported in Lean 4: #[`totalSpace_mk_inducing] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:400:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:400:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:400:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:400:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
 /-- A (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on `B`
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
Diff
@@ -338,27 +338,72 @@ variable (F E)
 then it is trivial over any closed interval. -/
 theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinearOrder B]
     [OrderTopology B] [FiberBundle F E] (a b : B) :
-    ∃ e : Trivialization F (π F E), Icc a b ⊆ e.baseSet := by classical
+    ∃ e : Trivialization F (π F E), Icc a b ⊆ e.baseSet := by
+  classical
+  obtain ⟨ea, hea⟩ : ∃ ea : Trivialization F (π F E), a ∈ ea.baseSet :=
+    ⟨trivialization_at F E a, mem_base_set_trivialization_at F E a⟩
+  -- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
+    cases' le_or_lt a b with hab hab <;>
+    [skip; exact ⟨ea, by simp [*]⟩]
+  /- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
+    We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
+  set s : Set B := {x ∈ Icc a b | ∃ e : Trivialization F (π F E), Icc a x ⊆ e.baseSet}
+  have ha : a ∈ s := ⟨left_mem_Icc.2 hab, ea, by simp [hea]⟩
+  have sne : s.nonempty := ⟨a, ha⟩
+  have hsb : b ∈ upperBounds s := fun x hx => hx.1.2
+  have sbd : BddAbove s := ⟨b, hsb⟩
+  set c := Sup s
+  have hsc : IsLUB s c := isLUB_csSup sne sbd
+  have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
+  obtain ⟨-, ec : Trivialization F (π F E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s :=
+    by
+    cases' hc.1.eq_or_lt with heq hlt; · rwa [← HEq]
+    refine' ⟨hc, _⟩
+    /- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
+        of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
+    obtain ⟨ec, hc⟩ : ∃ ec : Trivialization F (π F E), c ∈ ec.baseSet :=
+      ⟨trivialization_at F E c, mem_base_set_trivialization_at F E c⟩
+    obtain ⟨c', hc', hc'e⟩ : ∃ c' ∈ Ico a c, Ioc c' c ⊆ ec.base_set :=
+      (mem_nhdsWithin_Iic_iff_exists_mem_Ico_Ioc_subset hlt).1
+        (mem_nhdsWithin_of_mem_nhds <| IsOpen.mem_nhds ec.open_base_set hc)
+    /- Since `c' < c = Sup s`, there exists `d ∈ s ∩ (c', c]`. Let `ead` be a trivialization of
+        `proj` over `[a, d]`. Then we can glue `ead` and `ec` into a trivialization over `[a, c]`. -/
+    obtain ⟨d, ⟨hdab, ead, had⟩, hd⟩ : ∃ d ∈ s, d ∈ Ioc c' c := hsc.exists_between hc'.2
+    refine' ⟨ead.piecewise_le ec d (had ⟨hdab.1, le_rfl⟩) (hc'e hd), subset_ite.2 _⟩
+    refine' ⟨fun x hx => had ⟨hx.1.1, hx.2⟩, fun x hx => hc'e ⟨hd.1.trans (not_le.1 hx.2), hx.1.2⟩⟩
+  /- So, `c ∈ s`. Let `ec` be a trivialization of `proj` over `[a, c]`.  If `c = b`, then we are
+    done. Otherwise we show that `proj` can be trivialized over a larger interval `[a, d]`,
+    `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
+  cases' hc.2.eq_or_lt with heq hlt
+  · exact ⟨ec, HEq ▸ hec⟩
+  rsuffices ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π F E), Icc a d ⊆ e.baseSet
+  · exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
+  /- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
+    `d ∈ (c, b]`. -/
+  obtain ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, Ico c d ⊆ ec.base_set :=
+    (mem_nhdsWithin_Ici_iff_exists_mem_Ioc_Ico_subset hlt).1
+      (mem_nhdsWithin_of_mem_nhds <| IsOpen.mem_nhds ec.open_base_set (hec ⟨hc.1, le_rfl⟩))
+  have had : Ico a d ⊆ ec.base_set := Ico_subset_Icc_union_Ico.trans (union_subset hec hd)
+  by_cases he : Disjoint (Iio d) (Ioi c)
+  · /- If `(c, d) = ∅`, then let `ed` be a trivialization of `proj` over a neighborhood of `d`.
+        Then the disjoint union of `ec` restricted to `(-∞, d)` and `ed` restricted to `(c, ∞)` is
+        a trivialization over `[a, d]`. -/
+    obtain ⟨ed, hed⟩ : ∃ ed : Trivialization F (π F E), d ∈ ed.baseSet :=
+      ⟨trivialization_at F E d, mem_base_set_trivialization_at F E d⟩
+    refine'
+      ⟨d, hdcb,
+        (ec.restr_open (Iio d) isOpen_Iio).disjointUnion (ed.restr_open (Ioi c) isOpen_Ioi)
+          (he.mono (inter_subset_right _ _) (inter_subset_right _ _)),
+        fun x hx => _⟩
+    rcases hx.2.eq_or_lt with (rfl | hxd)
+    exacts [Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
+  · /- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
+        `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
+    rw [disjoint_left] at he ; push_neg at he ; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
+    exact ⟨d', ⟨hd'c, hdd'.le.trans hdcb.2⟩, ec, (Icc_subset_Ico_right hdd').trans had⟩
 #align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subset
 -/
 
--- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
-/- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
-  We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
-/- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
-    of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
-/- Since `c' < c = Sup s`, there exists `d ∈ s ∩ (c', c]`. Let `ead` be a trivialization of
-    `proj` over `[a, d]`. Then we can glue `ead` and `ec` into a trivialization over `[a, c]`. -/
-/- So, `c ∈ s`. Let `ec` be a trivialization of `proj` over `[a, c]`.  If `c = b`, then we are
-  done. Otherwise we show that `proj` can be trivialized over a larger interval `[a, d]`,
-  `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
-/- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
-  `d ∈ (c, b]`. -/
-/- If `(c, d) = ∅`, then let `ed` be a trivialization of `proj` over a neighborhood of `d`.
-    Then the disjoint union of `ec` restricted to `(-∞, d)` and `ed` restricted to `(c, ∞)` is
-    a trivialization over `[a, d]`. -/
-/- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
-    `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
 end FiberBundle
 
 /-! ### Core construction for constructing fiber bundles -/
Diff
@@ -338,72 +338,27 @@ variable (F E)
 then it is trivial over any closed interval. -/
 theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinearOrder B]
     [OrderTopology B] [FiberBundle F E] (a b : B) :
-    ∃ e : Trivialization F (π F E), Icc a b ⊆ e.baseSet := by
-  classical
-  obtain ⟨ea, hea⟩ : ∃ ea : Trivialization F (π F E), a ∈ ea.baseSet :=
-    ⟨trivialization_at F E a, mem_base_set_trivialization_at F E a⟩
-  -- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
-    cases' le_or_lt a b with hab hab <;>
-    [skip; exact ⟨ea, by simp [*]⟩]
-  /- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
-    We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
-  set s : Set B := {x ∈ Icc a b | ∃ e : Trivialization F (π F E), Icc a x ⊆ e.baseSet}
-  have ha : a ∈ s := ⟨left_mem_Icc.2 hab, ea, by simp [hea]⟩
-  have sne : s.nonempty := ⟨a, ha⟩
-  have hsb : b ∈ upperBounds s := fun x hx => hx.1.2
-  have sbd : BddAbove s := ⟨b, hsb⟩
-  set c := Sup s
-  have hsc : IsLUB s c := isLUB_csSup sne sbd
-  have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
-  obtain ⟨-, ec : Trivialization F (π F E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s :=
-    by
-    cases' hc.1.eq_or_lt with heq hlt; · rwa [← HEq]
-    refine' ⟨hc, _⟩
-    /- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
-        of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
-    obtain ⟨ec, hc⟩ : ∃ ec : Trivialization F (π F E), c ∈ ec.baseSet :=
-      ⟨trivialization_at F E c, mem_base_set_trivialization_at F E c⟩
-    obtain ⟨c', hc', hc'e⟩ : ∃ c' ∈ Ico a c, Ioc c' c ⊆ ec.base_set :=
-      (mem_nhdsWithin_Iic_iff_exists_mem_Ico_Ioc_subset hlt).1
-        (mem_nhdsWithin_of_mem_nhds <| IsOpen.mem_nhds ec.open_base_set hc)
-    /- Since `c' < c = Sup s`, there exists `d ∈ s ∩ (c', c]`. Let `ead` be a trivialization of
-        `proj` over `[a, d]`. Then we can glue `ead` and `ec` into a trivialization over `[a, c]`. -/
-    obtain ⟨d, ⟨hdab, ead, had⟩, hd⟩ : ∃ d ∈ s, d ∈ Ioc c' c := hsc.exists_between hc'.2
-    refine' ⟨ead.piecewise_le ec d (had ⟨hdab.1, le_rfl⟩) (hc'e hd), subset_ite.2 _⟩
-    refine' ⟨fun x hx => had ⟨hx.1.1, hx.2⟩, fun x hx => hc'e ⟨hd.1.trans (not_le.1 hx.2), hx.1.2⟩⟩
-  /- So, `c ∈ s`. Let `ec` be a trivialization of `proj` over `[a, c]`.  If `c = b`, then we are
-    done. Otherwise we show that `proj` can be trivialized over a larger interval `[a, d]`,
-    `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
-  cases' hc.2.eq_or_lt with heq hlt
-  · exact ⟨ec, HEq ▸ hec⟩
-  rsuffices ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π F E), Icc a d ⊆ e.baseSet
-  · exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
-  /- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
-    `d ∈ (c, b]`. -/
-  obtain ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, Ico c d ⊆ ec.base_set :=
-    (mem_nhdsWithin_Ici_iff_exists_mem_Ioc_Ico_subset hlt).1
-      (mem_nhdsWithin_of_mem_nhds <| IsOpen.mem_nhds ec.open_base_set (hec ⟨hc.1, le_rfl⟩))
-  have had : Ico a d ⊆ ec.base_set := Ico_subset_Icc_union_Ico.trans (union_subset hec hd)
-  by_cases he : Disjoint (Iio d) (Ioi c)
-  · /- If `(c, d) = ∅`, then let `ed` be a trivialization of `proj` over a neighborhood of `d`.
-        Then the disjoint union of `ec` restricted to `(-∞, d)` and `ed` restricted to `(c, ∞)` is
-        a trivialization over `[a, d]`. -/
-    obtain ⟨ed, hed⟩ : ∃ ed : Trivialization F (π F E), d ∈ ed.baseSet :=
-      ⟨trivialization_at F E d, mem_base_set_trivialization_at F E d⟩
-    refine'
-      ⟨d, hdcb,
-        (ec.restr_open (Iio d) isOpen_Iio).disjointUnion (ed.restr_open (Ioi c) isOpen_Ioi)
-          (he.mono (inter_subset_right _ _) (inter_subset_right _ _)),
-        fun x hx => _⟩
-    rcases hx.2.eq_or_lt with (rfl | hxd)
-    exacts [Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
-  · /- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
-        `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
-    rw [disjoint_left] at he ; push_neg at he ; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
-    exact ⟨d', ⟨hd'c, hdd'.le.trans hdcb.2⟩, ec, (Icc_subset_Ico_right hdd').trans had⟩
+    ∃ e : Trivialization F (π F E), Icc a b ⊆ e.baseSet := by classical
 #align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subset
 -/
 
+-- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
+/- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
+  We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
+/- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
+    of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
+/- Since `c' < c = Sup s`, there exists `d ∈ s ∩ (c', c]`. Let `ead` be a trivialization of
+    `proj` over `[a, d]`. Then we can glue `ead` and `ec` into a trivialization over `[a, c]`. -/
+/- So, `c ∈ s`. Let `ec` be a trivialization of `proj` over `[a, c]`.  If `c = b`, then we are
+  done. Otherwise we show that `proj` can be trivialized over a larger interval `[a, d]`,
+  `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
+/- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
+  `d ∈ (c, b]`. -/
+/- If `(c, d) = ∅`, then let `ed` be a trivialization of `proj` over a neighborhood of `d`.
+    Then the disjoint union of `ec` restricted to `(-∞, d)` and `ed` restricted to `(c, ∞)` is
+    a trivialization over `[a, d]`. -/
+/- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
+    `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
 end FiberBundle
 
 /-! ### Core construction for constructing fiber bundles -/
Diff
@@ -185,11 +185,11 @@ variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
   [TopologicalSpace (TotalSpace F E)] [∀ b, TopologicalSpace (E b)]
 
 #print FiberBundle /-
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`totalSpace_mk_inducing] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`totalSpace_mk_inducing] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
 /-- A (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on `B`
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
Diff
@@ -531,7 +531,7 @@ theorem mem_trivChange_source (i j : ι) (p : B × F) :
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print FiberBundleCore.localTrivAsLocalEquiv /-
+#print FiberBundleCore.localTrivAsPartialEquiv /-
 /-- Associate to a trivialization index `i : ι` the corresponding trivialization, i.e., a bijection
 between `proj ⁻¹ (base_set i)` and `base_set i × F`. As the fiber above `x` is `F` but read in the
 chart with index `index_at x`, the trivialization in the fiber above x is by definition the
@@ -540,7 +540,7 @@ The local trivialization will ultimately be a local homeomorphism. For now, we o
 local equiv version, denoted with a prime. In further developments, avoid this auxiliary version,
 and use `Z.local_triv` instead.
 -/
-def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F)
+def localTrivAsPartialEquiv (i : ι) : PartialEquiv Z.TotalSpace (B × F)
     where
   source := Z.proj ⁻¹' Z.baseSet i
   target := Z.baseSet i ×ˢ univ
@@ -563,47 +563,47 @@ def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F)
     rw [Z.coord_change_comp, Z.coord_change_self]
     · exact hx
     · simp only [hx, mem_inter_iff, and_self_iff, mem_base_set_at]
-#align fiber_bundle_core.local_triv_as_local_equiv FiberBundleCore.localTrivAsLocalEquiv
+#align fiber_bundle_core.local_triv_as_local_equiv FiberBundleCore.localTrivAsPartialEquiv
 -/
 
 variable (i : ι)
 
-#print FiberBundleCore.mem_localTrivAsLocalEquiv_source /-
-theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpace) :
-    p ∈ (Z.localTrivAsLocalEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
+#print FiberBundleCore.mem_localTrivAsPartialEquiv_source /-
+theorem mem_localTrivAsPartialEquiv_source (p : Z.TotalSpace) :
+    p ∈ (Z.localTrivAsPartialEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
   Iff.rfl
-#align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_source
+#align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsPartialEquiv_source
 -/
 
-#print FiberBundleCore.mem_localTrivAsLocalEquiv_target /-
-theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
-    p ∈ (Z.localTrivAsLocalEquiv i).target ↔ p.1 ∈ Z.baseSet i := by erw [mem_prod];
+#print FiberBundleCore.mem_localTrivAsPartialEquiv_target /-
+theorem mem_localTrivAsPartialEquiv_target (p : B × F) :
+    p ∈ (Z.localTrivAsPartialEquiv i).target ↔ p.1 ∈ Z.baseSet i := by erw [mem_prod];
   simp only [and_true_iff, mem_univ]
-#align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_target
+#align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsPartialEquiv_target
 -/
 
-#print FiberBundleCore.localTrivAsLocalEquiv_apply /-
-theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpace) :
-    (Z.localTrivAsLocalEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
+#print FiberBundleCore.localTrivAsPartialEquiv_apply /-
+theorem localTrivAsPartialEquiv_apply (p : Z.TotalSpace) :
+    (Z.localTrivAsPartialEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_apply
+#align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsPartialEquiv_apply
 -/
 
-#print FiberBundleCore.localTrivAsLocalEquiv_trans /-
+#print FiberBundleCore.localTrivAsPartialEquiv_trans /-
 /-- The composition of two local trivializations is the trivialization change Z.triv_change i j. -/
-theorem localTrivAsLocalEquiv_trans (i j : ι) :
-    (Z.localTrivAsLocalEquiv i).symm.trans (Z.localTrivAsLocalEquiv j) ≈
-      (Z.trivChange i j).toLocalEquiv :=
+theorem localTrivAsPartialEquiv_trans (i j : ι) :
+    (Z.localTrivAsPartialEquiv i).symm.trans (Z.localTrivAsPartialEquiv j) ≈
+      (Z.trivChange i j).toPartialEquiv :=
   by
   constructor
   · ext x; simp only [mem_local_triv_as_local_equiv_target, mfld_simps]; rfl
   · rintro ⟨x, v⟩ hx
-    simp only [triv_change, local_triv_as_local_equiv, LocalEquiv.symm, true_and_iff,
-      Prod.mk.inj_iff, prod_mk_mem_set_prod_eq, LocalEquiv.trans_source, mem_inter_iff,
-      and_true_iff, mem_preimage, proj, mem_univ, LocalEquiv.coe_mk, eq_self_iff_true,
-      LocalEquiv.coe_trans, total_space.proj] at hx ⊢
+    simp only [triv_change, local_triv_as_local_equiv, PartialEquiv.symm, true_and_iff,
+      Prod.mk.inj_iff, prod_mk_mem_set_prod_eq, PartialEquiv.trans_source, mem_inter_iff,
+      and_true_iff, mem_preimage, proj, mem_univ, PartialEquiv.coe_mk, eq_self_iff_true,
+      PartialEquiv.coe_trans, total_space.proj] at hx ⊢
     simp only [Z.coord_change_comp, hx, mem_inter_iff, and_self_iff, mem_base_set_at]
-#align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsLocalEquiv_trans
+#align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsPartialEquiv_trans
 -/
 
 #print FiberBundleCore.toTopologicalSpace /-
@@ -619,7 +619,7 @@ variable (b : B) (a : F)
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print FiberBundleCore.open_source' /-
-theorem open_source' (i : ι) : IsOpen (Z.localTrivAsLocalEquiv i).source :=
+theorem open_source' (i : ι) : IsOpen (Z.localTrivAsPartialEquiv i).source :=
   by
   apply TopologicalSpace.GenerateOpen.basic
   simp only [exists_prop, mem_Union, mem_singleton_iff]
@@ -659,7 +659,7 @@ def localTriv (i : ι) : Trivialization F Z.proj
           t = (local_triv_as_local_equiv Z j).source ∩ local_triv_as_local_equiv Z j ⁻¹' s :=
       ht
     rw [ts]
-    simp only [LocalEquiv.right_inv, preimage_inter, LocalEquiv.left_inv]
+    simp only [PartialEquiv.right_inv, preimage_inter, PartialEquiv.left_inv]
     let e := Z.local_triv_as_local_equiv i
     let e' := Z.local_triv_as_local_equiv j
     let f := e.symm.trans e'
@@ -670,10 +670,10 @@ def localTriv (i : ι) : Trivialization F Z.proj
         (continuousOn_open_iff (Z.triv_change i j).open_source).1 (Z.triv_change i j).ContinuousOn _
           s_open
     convert this using 1
-    dsimp [LocalEquiv.trans_source]
+    dsimp [PartialEquiv.trans_source]
     rw [← preimage_comp, inter_assoc]
     rfl
-  toLocalEquiv := Z.localTrivAsLocalEquiv i
+  toPartialEquiv := Z.localTrivAsPartialEquiv i
 #align fiber_bundle_core.local_triv FiberBundleCore.localTriv
 -/
 
@@ -715,35 +715,35 @@ theorem continuous_const_section (v : F)
 #align fiber_bundle_core.continuous_const_section FiberBundleCore.continuous_const_section
 -/
 
-#print FiberBundleCore.localTrivAsLocalEquiv_coe /-
+#print FiberBundleCore.localTrivAsPartialEquiv_coe /-
 @[simp, mfld_simps]
-theorem localTrivAsLocalEquiv_coe : ⇑(Z.localTrivAsLocalEquiv i) = Z.localTriv i :=
+theorem localTrivAsPartialEquiv_coe : ⇑(Z.localTrivAsPartialEquiv i) = Z.localTriv i :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsLocalEquiv_coe
+#align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsPartialEquiv_coe
 -/
 
-#print FiberBundleCore.localTrivAsLocalEquiv_source /-
+#print FiberBundleCore.localTrivAsPartialEquiv_source /-
 @[simp, mfld_simps]
-theorem localTrivAsLocalEquiv_source :
-    (Z.localTrivAsLocalEquiv i).source = (Z.localTriv i).source :=
+theorem localTrivAsPartialEquiv_source :
+    (Z.localTrivAsPartialEquiv i).source = (Z.localTriv i).source :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsLocalEquiv_source
+#align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsPartialEquiv_source
 -/
 
-#print FiberBundleCore.localTrivAsLocalEquiv_target /-
+#print FiberBundleCore.localTrivAsPartialEquiv_target /-
 @[simp, mfld_simps]
-theorem localTrivAsLocalEquiv_target :
-    (Z.localTrivAsLocalEquiv i).target = (Z.localTriv i).target :=
+theorem localTrivAsPartialEquiv_target :
+    (Z.localTrivAsPartialEquiv i).target = (Z.localTriv i).target :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsLocalEquiv_target
+#align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsPartialEquiv_target
 -/
 
-#print FiberBundleCore.localTrivAsLocalEquiv_symm /-
+#print FiberBundleCore.localTrivAsPartialEquiv_symm /-
 @[simp, mfld_simps]
-theorem localTrivAsLocalEquiv_symm :
-    (Z.localTrivAsLocalEquiv i).symm = (Z.localTriv i).toLocalEquiv.symm :=
+theorem localTrivAsPartialEquiv_symm :
+    (Z.localTrivAsPartialEquiv i).symm = (Z.localTriv i).toPartialEquiv.symm :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsLocalEquiv_symm
+#align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsPartialEquiv_symm
 -/
 
 #print FiberBundleCore.baseSet_at /-
@@ -926,7 +926,7 @@ structure FiberPrebundle where
   pretrivialization_mem_atlas : ∀ x : B, pretrivialization_at x ∈ pretrivialization_atlas
   continuous_triv_change :
     ∀ (e) (_ : e ∈ pretrivialization_atlas) (e') (_ : e' ∈ pretrivialization_atlas),
-      ContinuousOn (e ∘ e'.toLocalEquiv.symm) (e'.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source)
+      ContinuousOn (e ∘ e'.toPartialEquiv.symm) (e'.target ∩ e'.toPartialEquiv.symm ⁻¹' e.source)
   totalSpace_mk_inducing : ∀ b : B, Inducing (pretrivialization_at b ∘ TotalSpace.mk b)
 #align fiber_prebundle FiberPrebundle
 -/
@@ -945,7 +945,7 @@ def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace F
 
 #print FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas /-
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
-    @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target :=
+    @ContinuousOn _ _ _ a.totalSpaceTopology e.toPartialEquiv.symm e.target :=
   by
   refine'
     id fun z H =>
@@ -970,7 +970,7 @@ theorem isOpen_source (e : Pretrivialization F (π F E)) : is_open[a.totalSpaceT
 #print FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter /-
 theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π F E))
     (he' : e' ∈ a.pretrivializationAtlas) :
-    IsOpen (e'.toLocalEquiv.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source) :=
+    IsOpen (e'.toPartialEquiv.target ∩ e'.toPartialEquiv.symm ⁻¹' e.source) :=
   by
   letI := a.total_space_topology
   obtain ⟨u, hu1, hu2⟩ :=
@@ -1100,7 +1100,7 @@ theorem continuousOn_of_comp_right {X : Type _} [TopologicalSpace X] {f : TotalS
     {s : Set B} (hs : IsOpen s)
     (hf :
       ∀ b ∈ s,
-        ContinuousOn (f ∘ (a.pretrivializationAt b).toLocalEquiv.symm)
+        ContinuousOn (f ∘ (a.pretrivializationAt b).toPartialEquiv.symm)
           ((s ∩ (a.pretrivializationAt b).baseSet) ×ˢ (Set.univ : Set F))) :
     @ContinuousOn _ _ a.totalSpaceTopology _ f (π F E ⁻¹' s) :=
   by
Diff
@@ -494,7 +494,7 @@ def proj : Z.TotalSpace → B :=
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print FiberBundleCore.trivChange /-
 /-- Local homeomorphism version of the trivialization change. -/
-def trivChange (i j : ι) : LocalHomeomorph (B × F) (B × F)
+def trivChange (i j : ι) : PartialHomeomorph (B × F) (B × F)
     where
   source := (Z.baseSet i ∩ Z.baseSet j) ×ˢ univ
   target := (Z.baseSet i ∩ Z.baseSet j) ×ˢ univ
@@ -704,7 +704,7 @@ theorem continuous_const_section (v : F)
   apply continuous_iff_continuousAt.2 fun x => _
   have A : Z.base_set (Z.index_at x) ∈ 𝓝 x :=
     IsOpen.mem_nhds (Z.is_open_base_set (Z.index_at x)) (Z.mem_base_set_at x)
-  apply ((Z.local_triv_at x).toLocalHomeomorph.continuousAt_iff_continuousAt_comp_left _).2
+  apply ((Z.local_triv_at x).toPartialHomeomorph.continuousAt_iff_continuousAt_comp_left _).2
   · simp only [(· ∘ ·), mfld_simps]
     apply continuous_at_id.prod
     have : ContinuousOn (fun y : B => v) (Z.base_set (Z.index_at x)) := continuousOn_const
@@ -819,7 +819,7 @@ theorem mem_localTrivAt_target (p : B × F) (b : B) :
 #print FiberBundleCore.localTriv_symm_apply /-
 @[simp, mfld_simps]
 theorem localTriv_symm_apply (p : B × F) :
-    (Z.localTriv i).toLocalHomeomorph.symm p = ⟨p.1, Z.coordChange i (Z.indexAt p.1) p.1 p.2⟩ :=
+    (Z.localTriv i).toPartialHomeomorph.symm p = ⟨p.1, Z.coordChange i (Z.indexAt p.1) p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_symm_apply FiberBundleCore.localTriv_symm_apply
 -/
Diff
@@ -650,7 +650,7 @@ def localTriv (i : ι) : Trivialization F Z.proj
     exact ⟨i, s, s_open, rfl⟩
   continuous_invFun :=
     by
-    apply continuousOn_open_of_generateFrom ((Z.is_open_base_set i).Prod isOpen_univ)
+    apply continuousOn_isOpen_of_generateFrom ((Z.is_open_base_set i).Prod isOpen_univ)
     intro t ht
     simp only [exists_prop, mem_Union, mem_singleton_iff] at ht 
     obtain ⟨j, s, s_open, ts⟩ :
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 -/
-import Mathbin.Topology.FiberBundle.Trivialization
+import Topology.FiberBundle.Trivialization
 
 #align_import topology.fiber_bundle.basic from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
 
@@ -185,11 +185,11 @@ variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
   [TopologicalSpace (TotalSpace F E)] [∀ b, TopologicalSpace (E b)]
 
 #print FiberBundle /-
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`totalSpace_mk_inducing] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`totalSpace_mk_inducing] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
 /-- A (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on `B`
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
@@ -913,7 +913,7 @@ variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
   [∀ x, TopologicalSpace (E x)]
 
 #print FiberPrebundle /-
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
 topology in such a way that there is a fiber bundle structure for which the local equivalences
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2019 Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
-
-! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.FiberBundle.Trivialization
 
+#align_import topology.fiber_bundle.basic from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
+
 /-!
 # Fiber bundles
 
@@ -916,7 +913,7 @@ variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
   [∀ x, TopologicalSpace (E x)]
 
 #print FiberPrebundle /-
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
 topology in such a way that there is a fiber bundle structure for which the local equivalences
Diff
@@ -188,7 +188,7 @@ variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
   [TopologicalSpace (TotalSpace F E)] [∀ b, TopologicalSpace (E b)]
 
 #print FiberBundle /-
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`totalSpaceₓ_mk_inducing] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`totalSpace_mk_inducing] [] -/
 /- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
 /- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
 /- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
@@ -197,7 +197,7 @@ variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
 class FiberBundle where
-  totalSpaceₓ_mk_inducing : ∀ b : B, Inducing (@TotalSpace.mk B F E b)
+  totalSpace_mk_inducing : ∀ b : B, Inducing (@TotalSpace.mk B F E b)
   trivializationAtlas : Set (Trivialization F (π F E))
   trivializationAt : B → Trivialization F (π F E)
   mem_baseSet_trivializationAt : ∀ b : B, b ∈ (trivialization_at b).baseSet
@@ -488,7 +488,7 @@ def TotalSpace :=
 #print FiberBundleCore.proj /-
 /-- The projection from the total space of a fiber bundle core, on its base. -/
 @[reducible, simp, mfld_simps]
-def proj : Z.TotalSpaceₓ → B :=
+def proj : Z.TotalSpace → B :=
   Bundle.TotalSpace.proj
 #align fiber_bundle_core.proj FiberBundleCore.proj
 -/
@@ -543,7 +543,7 @@ The local trivialization will ultimately be a local homeomorphism. For now, we o
 local equiv version, denoted with a prime. In further developments, avoid this auxiliary version,
 and use `Z.local_triv` instead.
 -/
-def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpaceₓ (B × F)
+def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F)
     where
   source := Z.proj ⁻¹' Z.baseSet i
   target := Z.baseSet i ×ˢ univ
@@ -572,7 +572,7 @@ def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpaceₓ (B × F)
 variable (i : ι)
 
 #print FiberBundleCore.mem_localTrivAsLocalEquiv_source /-
-theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpaceₓ) :
+theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpace) :
     p ∈ (Z.localTrivAsLocalEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_source
@@ -586,7 +586,7 @@ theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
 -/
 
 #print FiberBundleCore.localTrivAsLocalEquiv_apply /-
-theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpaceₓ) :
+theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpace) :
     (Z.localTrivAsLocalEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_apply
@@ -612,7 +612,7 @@ theorem localTrivAsLocalEquiv_trans (i j : ι) :
 #print FiberBundleCore.toTopologicalSpace /-
 /-- Topological structure on the total space of a fiber bundle created from core, designed so
 that all the local trivialization are continuous. -/
-instance toTopologicalSpace : TopologicalSpace Z.TotalSpaceₓ :=
+instance toTopologicalSpace : TopologicalSpace Z.TotalSpace :=
   TopologicalSpace.generateFrom <|
     ⋃ (i : ι) (s : Set (B × F)) (s_open : IsOpen s), {(Z i).source ∩ Z i ⁻¹' s}
 #align fiber_bundle_core.to_topological_space FiberBundleCore.toTopologicalSpace
@@ -702,7 +702,7 @@ zero section of a vector bundle. Another example (not yet defined) would be the
 section of the endomorphism bundle of a vector bundle. -/
 theorem continuous_const_section (v : F)
     (h : ∀ i j, ∀ x ∈ Z.baseSet i ∩ Z.baseSet j, Z.coordChange i j x v = v) :
-    Continuous (show B → Z.TotalSpaceₓ from fun x => ⟨x, v⟩) :=
+    Continuous (show B → Z.TotalSpace from fun x => ⟨x, v⟩) :=
   by
   apply continuous_iff_continuousAt.2 fun x => _
   have A : Z.base_set (Z.index_at x) ∈ 𝓝 x :=
@@ -758,7 +758,7 @@ theorem baseSet_at : Z.baseSet i = (Z.localTriv i).baseSet :=
 
 #print FiberBundleCore.localTriv_apply /-
 @[simp, mfld_simps]
-theorem localTriv_apply (p : Z.TotalSpaceₓ) :
+theorem localTriv_apply (p : Z.TotalSpace) :
     (Z.localTriv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_apply FiberBundleCore.localTriv_apply
@@ -766,7 +766,7 @@ theorem localTriv_apply (p : Z.TotalSpaceₓ) :
 
 #print FiberBundleCore.localTrivAt_apply /-
 @[simp, mfld_simps]
-theorem localTrivAt_apply (p : Z.TotalSpaceₓ) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ := by
+theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ := by
   rw [local_triv_at, local_triv_apply, coord_change_self]; exact Z.mem_base_set_at p.1
 #align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_apply
 -/
@@ -780,7 +780,7 @@ theorem localTrivAt_apply_mk (b : B) (a : F) : (Z.localTrivAt b) ⟨b, a⟩ = 
 
 #print FiberBundleCore.mem_localTriv_source /-
 @[simp, mfld_simps]
-theorem mem_localTriv_source (p : Z.TotalSpaceₓ) :
+theorem mem_localTriv_source (p : Z.TotalSpace) :
     p ∈ (Z.localTriv i).source ↔ p.1 ∈ (Z.localTriv i).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_source FiberBundleCore.mem_localTriv_source
@@ -788,17 +788,19 @@ theorem mem_localTriv_source (p : Z.TotalSpaceₓ) :
 
 #print FiberBundleCore.mem_localTrivAt_source /-
 @[simp, mfld_simps]
-theorem mem_localTrivAt_source (p : Z.TotalSpaceₓ) (b : B) :
+theorem mem_localTrivAt_source (p : Z.TotalSpace) (b : B) :
     p ∈ (Z.localTrivAt b).source ↔ p.1 ∈ (Z.localTrivAt b).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_at_source FiberBundleCore.mem_localTrivAt_source
 -/
 
-#print FiberBundleCore.mem_source_at /-
+/- warning: fiber_bundle_core.mem_source_at clashes with fiber_bundle_core.mem_local_triv_at_source -> FiberBundleCore.mem_localTrivAt_source
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_source_at FiberBundleCore.mem_localTrivAt_sourceₓ'. -/
+#print FiberBundleCore.mem_localTrivAt_source /-
 @[simp, mfld_simps]
-theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpaceₓ) ∈ (Z.localTrivAt b).source := by
+theorem mem_localTrivAt_source : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source := by
   rw [local_triv_at, mem_local_triv_source]; exact Z.mem_base_set_at b
-#align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_at
+#align fiber_bundle_core.mem_source_at FiberBundleCore.mem_localTrivAt_source
 -/
 
 #print FiberBundleCore.mem_localTriv_target /-
@@ -835,8 +837,7 @@ theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet := by
 #print FiberBundleCore.continuous_totalSpaceMk /-
 /-- The inclusion of a fiber into the total space is a continuous map. -/
 @[continuity]
-theorem continuous_totalSpaceMk (b : B) :
-    Continuous (TotalSpace.mk b : Z.Fiber b → Z.TotalSpaceₓ) :=
+theorem continuous_totalSpaceMk (b : B) : Continuous (TotalSpace.mk b : Z.Fiber b → Z.TotalSpace) :=
   by
   rw [continuous_iff_le_induced, FiberBundleCore.toTopologicalSpace]
   apply le_induced_generateFrom
@@ -868,7 +869,7 @@ theorem continuous_totalSpaceMk (b : B) :
 /-- A fiber bundle constructed from core is indeed a fiber bundle. -/
 instance fiberBundle : FiberBundle F Z.Fiber
     where
-  totalSpaceₓ_mk_inducing b :=
+  totalSpace_mk_inducing b :=
     ⟨by
       refine' le_antisymm _ fun s h => _
       · rw [← continuous_iff_le_induced]
@@ -929,7 +930,7 @@ structure FiberPrebundle where
   continuous_triv_change :
     ∀ (e) (_ : e ∈ pretrivialization_atlas) (e') (_ : e' ∈ pretrivialization_atlas),
       ContinuousOn (e ∘ e'.toLocalEquiv.symm) (e'.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source)
-  totalSpaceₓ_mk_inducing : ∀ b : B, Inducing (pretrivialization_at b ∘ TotalSpace.mk b)
+  totalSpace_mk_inducing : ∀ b : B, Inducing (pretrivialization_at b ∘ TotalSpace.mk b)
 #align fiber_prebundle FiberPrebundle
 -/
 
@@ -1071,8 +1072,8 @@ establishes that for the topology constructed on the sigma-type using
 "trivializations" (i.e., homeomorphisms with respect to the constructed topology). -/
 def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _
     where
-  totalSpaceₓ_mk_inducing b :=
-    a.inducing_totalSpaceMk_of_inducing_comp b (a.totalSpaceₓ_mk_inducing b)
+  totalSpace_mk_inducing b :=
+    a.inducing_totalSpaceMk_of_inducing_comp b (a.totalSpace_mk_inducing b)
   trivializationAtlas :=
     {e |
       ∃ (e₀ : _) (he₀ : e₀ ∈ a.pretrivializationAtlas),
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
+! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -21,16 +21,14 @@ Mathematically, a (topological) fiber bundle with fiber `F` over a base `B` is a
 point is a direct product.
 
 In our formalism, a fiber bundle is by definition the type
-`bundle.total_space E` where `E : B → Type*` is a function associating to
-`x : B` the fiber over `x`. This type `bundle.total_space E` is just a type synonym for
-`Σ (x : B), E x`, with the interest that one can put another topology than on `Σ (x : B), E x`
-which has the disjoint union topology.
+`bundle.total_space F E` where `E : B → Type*` is a function associating to `x : B` the fiber over
+`x`. This type `bundle.total_space F E` is a type of pairs `(proj : B, snd : E proj)`.
 
-To have a fiber bundle structure on `bundle.total_space E`, one should
+To have a fiber bundle structure on `bundle.total_space F E`, one should
 additionally have the following data:
 
 * `F` should be a topological space;
-* There should be a topology on `bundle.total_space E`, for which the projection to `B` is
+* There should be a topology on `bundle.total_space F E`, for which the projection to `B` is
 a fiber bundle with fiber `F` (in particular, each fiber `E x` is homeomorphic to `F`);
 * For each `x`, the fiber `E x` should be a topological space, and the injection
 from `E x` to `bundle.total_space F E` should be an embedding;
@@ -57,17 +55,16 @@ fiber bundle from trivializations given as local equivalences with minimum addit
 
 ### Construction of a bundle from trivializations
 
-* `bundle.total_space E` is a type synonym for `Σ (x : B), E x`, that we can endow with a suitable
-  topology.
+* `bundle.total_space F E` is the type of pairs `(proj : B, snd : E proj)`. We can use the extra
+  argument `F` to construct topology on the total space.
 * `fiber_bundle_core ι B F` : structure registering how changes of coordinates act
   on the fiber `F` above open subsets of `B`, where local trivializations are indexed by `ι`.
 
 Let `Z : fiber_bundle_core ι B F`. Then we define
 
 * `Z.fiber x`     : the fiber above `x`, homeomorphic to `F` (and defeq to `F` as a type).
-* `Z.total_space` : the total space of `Z`, defined as a `Type` as `Σ (b : B), F`, but with a
-  twisted topology coming from the fiber bundle structure. It is (reducibly) the same as
-  `bundle.total_space Z.fiber`.
+* `Z.total_space` : the total space of `Z`, defined as a `Type*` as `bundle.total_space F Z.fiber`
+                    with a custom topology.
 * `Z.proj`        : projection from `Z.total_space` to `B`. It is continuous.
 * `Z.local_triv i`: for `i : ι`, bundle trivialization above the set `Z.base_set i`, which is an
                     open set in `B`.
@@ -158,8 +155,8 @@ choose for each `x` one specific trivialization around it. We include this choic
 of the `fiber_bundle_core`, as it makes some constructions more
 functorial and it is a nice way to say that the trivializations cover the whole space `B`.
 
-With this definition, the type of the fiber bundle space constructed from the core data is just
-`Σ (b : B), F `, but the topology is not the product one, in general.
+With this definition, the type of the fiber bundle space constructed from the core data is
+`bundle.total_space F (λ b : B, F)`, but the topology is not the product one, in general.
 
 We also take the indexing type (indexing all the trivializations) as a parameter to the fiber bundle
 core: it could always be taken as a subtype of all the maps from open subsets of `B` to continuous
@@ -179,7 +176,7 @@ open TopologicalSpace Filter Set Bundle
 
 open scoped Topology Classical Bundle
 
-attribute [mfld_simps] total_space_mk coe_fst coe_snd coe_snd_map_apply coe_snd_map_smul
+attribute [mfld_simps] total_space.coe_proj total_space.coe_snd coe_snd_map_apply coe_snd_map_smul
   total_space.mk_cast
 
 /-! ### General definition of fiber bundles -/
@@ -188,10 +185,10 @@ attribute [mfld_simps] total_space_mk coe_fst coe_snd coe_snd_map_apply coe_snd_
 section FiberBundle
 
 variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
-  [TopologicalSpace (TotalSpace E)] [∀ b, TopologicalSpace (E b)]
+  [TopologicalSpace (TotalSpace F E)] [∀ b, TopologicalSpace (E b)]
 
 #print FiberBundle /-
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`totalSpaceMk_inducing] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`totalSpaceₓ_mk_inducing] [] -/
 /- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
 /- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
 /- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
@@ -200,9 +197,9 @@ variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
 class FiberBundle where
-  totalSpaceMk_inducing : ∀ b : B, Inducing (@totalSpaceMk B E b)
-  trivializationAtlas : Set (Trivialization F (π E))
-  trivializationAt : B → Trivialization F (π E)
+  totalSpaceₓ_mk_inducing : ∀ b : B, Inducing (@TotalSpace.mk B F E b)
+  trivializationAtlas : Set (Trivialization F (π F E))
+  trivializationAt : B → Trivialization F (π F E)
   mem_baseSet_trivializationAt : ∀ b : B, b ∈ (trivialization_at b).baseSet
   trivialization_mem_atlas : ∀ b : B, trivialization_at b ∈ trivialization_atlas
 #align fiber_bundle FiberBundle
@@ -219,7 +216,7 @@ bundle.  This is needed because lemmas about the linearity of trivializations or
 functions to `F →L[R] F`, where `F` is the model fiber) of the transition functions are only
 expected to hold for trivializations in the designated atlas. -/
 @[mk_iff]
-class MemTrivializationAtlas [FiberBundle F E] (e : Trivialization F (π E)) : Prop where
+class MemTrivializationAtlas [FiberBundle F E] (e : Trivialization F (π F E)) : Prop where
   out : e ∈ trivializationAtlas F E
 #align mem_trivialization_atlas MemTrivializationAtlas
 -/
@@ -232,7 +229,7 @@ namespace FiberBundle
 variable (F) {E} [FiberBundle F E]
 
 #print FiberBundle.map_proj_nhds /-
-theorem map_proj_nhds (x : TotalSpace E) : map (π E) (𝓝 x) = 𝓝 x.proj :=
+theorem map_proj_nhds (x : TotalSpace F E) : map (π F E) (𝓝 x) = 𝓝 x.proj :=
   (trivializationAt F E x.proj).map_proj_nhds <|
     (trivializationAt F E x.proj).mem_source.2 <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.map_proj_nhds FiberBundle.map_proj_nhds
@@ -243,14 +240,14 @@ variable (E)
 #print FiberBundle.continuous_proj /-
 /-- The projection from a fiber bundle to its base is continuous. -/
 @[continuity]
-theorem continuous_proj : Continuous (π E) :=
+theorem continuous_proj : Continuous (π F E) :=
   continuous_iff_continuousAt.2 fun x => (map_proj_nhds F x).le
 #align fiber_bundle.continuous_proj FiberBundle.continuous_proj
 -/
 
 #print FiberBundle.isOpenMap_proj /-
 /-- The projection from a fiber bundle to its base is an open map. -/
-theorem isOpenMap_proj : IsOpenMap (π E) :=
+theorem isOpenMap_proj : IsOpenMap (π F E) :=
   IsOpenMap.of_nhds_le fun x => (map_proj_nhds F x).ge
 #align fiber_bundle.is_open_map_proj FiberBundle.isOpenMap_proj
 -/
@@ -258,7 +255,7 @@ theorem isOpenMap_proj : IsOpenMap (π E) :=
 #print FiberBundle.surjective_proj /-
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a surjective
 map. -/
-theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
+theorem surjective_proj [Nonempty F] : Function.Surjective (π F E) := fun b =>
   let ⟨p, _, hpb⟩ :=
     (trivializationAt F E b).proj_surjOn_baseSet (mem_baseSet_trivializationAt F E b)
   ⟨p, hpb⟩
@@ -268,14 +265,14 @@ theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
 #print FiberBundle.quotientMap_proj /-
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a quotient
 map. -/
-theorem quotientMap_proj [Nonempty F] : QuotientMap (π E) :=
+theorem quotientMap_proj [Nonempty F] : QuotientMap (π F E) :=
   (isOpenMap_proj F E).to_quotientMap (continuous_proj F E) (surjective_proj F E)
 #align fiber_bundle.quotient_map_proj FiberBundle.quotientMap_proj
 -/
 
 #print FiberBundle.continuous_totalSpaceMk /-
-theorem continuous_totalSpaceMk (x : B) : Continuous (@totalSpaceMk B E x) :=
-  (totalSpaceMk_inducing F E x).Continuous
+theorem continuous_totalSpaceMk (x : B) : Continuous (@TotalSpace.mk B F E x) :=
+  (totalSpace_mk_inducing F E x).Continuous
 #align fiber_bundle.continuous_total_space_mk FiberBundle.continuous_totalSpaceMk
 -/
 
@@ -283,7 +280,7 @@ variable {E F}
 
 #print FiberBundle.mem_trivializationAt_proj_source /-
 @[simp, mfld_simps]
-theorem mem_trivializationAt_proj_source {x : TotalSpace E} :
+theorem mem_trivializationAt_proj_source {x : TotalSpace F E} :
     x ∈ (trivializationAt F E x.proj).source :=
   (Trivialization.mem_source _).mpr <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_source
@@ -291,7 +288,7 @@ theorem mem_trivializationAt_proj_source {x : TotalSpace E} :
 
 #print FiberBundle.trivializationAt_proj_fst /-
 @[simp, mfld_simps]
-theorem trivializationAt_proj_fst {x : TotalSpace E} :
+theorem trivializationAt_proj_fst {x : TotalSpace F E} :
     ((trivializationAt F E x.proj) x).1 = x.proj :=
   Trivialization.coe_fst' _ <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.trivialization_at_proj_fst FiberBundle.trivializationAt_proj_fst
@@ -303,7 +300,7 @@ open Trivialization
 
 #print FiberBundle.continuousWithinAt_totalSpace /-
 /-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
-theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀ : X} :
+theorem continuousWithinAt_totalSpace (f : X → TotalSpace F E) {s : Set X} {x₀ : X} :
     ContinuousWithinAt f s x₀ ↔
       ContinuousWithinAt (fun x => (f x).proj) s x₀ ∧
         ContinuousWithinAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) s x₀ :=
@@ -327,7 +324,7 @@ theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀
 
 #print FiberBundle.continuousAt_totalSpace /-
 /-- Characterization of continuous functions (at a point) into a fiber bundle. -/
-theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
+theorem continuousAt_totalSpace (f : X → TotalSpace F E) {x₀ : X} :
     ContinuousAt f x₀ ↔
       ContinuousAt (fun x => (f x).proj) x₀ ∧
         ContinuousAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) x₀ :=
@@ -344,16 +341,16 @@ variable (F E)
 then it is trivial over any closed interval. -/
 theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinearOrder B]
     [OrderTopology B] [FiberBundle F E] (a b : B) :
-    ∃ e : Trivialization F (π E), Icc a b ⊆ e.baseSet := by
+    ∃ e : Trivialization F (π F E), Icc a b ⊆ e.baseSet := by
   classical
-  obtain ⟨ea, hea⟩ : ∃ ea : Trivialization F (π E), a ∈ ea.baseSet :=
+  obtain ⟨ea, hea⟩ : ∃ ea : Trivialization F (π F E), a ∈ ea.baseSet :=
     ⟨trivialization_at F E a, mem_base_set_trivialization_at F E a⟩
   -- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
     cases' le_or_lt a b with hab hab <;>
     [skip; exact ⟨ea, by simp [*]⟩]
   /- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
     We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
-  set s : Set B := {x ∈ Icc a b | ∃ e : Trivialization F (π E), Icc a x ⊆ e.baseSet}
+  set s : Set B := {x ∈ Icc a b | ∃ e : Trivialization F (π F E), Icc a x ⊆ e.baseSet}
   have ha : a ∈ s := ⟨left_mem_Icc.2 hab, ea, by simp [hea]⟩
   have sne : s.nonempty := ⟨a, ha⟩
   have hsb : b ∈ upperBounds s := fun x hx => hx.1.2
@@ -361,13 +358,13 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
   set c := Sup s
   have hsc : IsLUB s c := isLUB_csSup sne sbd
   have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
-  obtain ⟨-, ec : Trivialization F (π E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s :=
+  obtain ⟨-, ec : Trivialization F (π F E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s :=
     by
     cases' hc.1.eq_or_lt with heq hlt; · rwa [← HEq]
     refine' ⟨hc, _⟩
     /- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
         of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
-    obtain ⟨ec, hc⟩ : ∃ ec : Trivialization F (π E), c ∈ ec.baseSet :=
+    obtain ⟨ec, hc⟩ : ∃ ec : Trivialization F (π F E), c ∈ ec.baseSet :=
       ⟨trivialization_at F E c, mem_base_set_trivialization_at F E c⟩
     obtain ⟨c', hc', hc'e⟩ : ∃ c' ∈ Ico a c, Ioc c' c ⊆ ec.base_set :=
       (mem_nhdsWithin_Iic_iff_exists_mem_Ico_Ioc_subset hlt).1
@@ -382,7 +379,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
     `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
   cases' hc.2.eq_or_lt with heq hlt
   · exact ⟨ec, HEq ▸ hec⟩
-  rsuffices ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π E), Icc a d ⊆ e.baseSet
+  rsuffices ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π F E), Icc a d ⊆ e.baseSet
   · exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
   /- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
     `d ∈ (c, b]`. -/
@@ -394,7 +391,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
   · /- If `(c, d) = ∅`, then let `ed` be a trivialization of `proj` over a neighborhood of `d`.
         Then the disjoint union of `ec` restricted to `(-∞, d)` and `ed` restricted to `(c, ∞)` is
         a trivialization over `[a, d]`. -/
-    obtain ⟨ed, hed⟩ : ∃ ed : Trivialization F (π E), d ∈ ed.baseSet :=
+    obtain ⟨ed, hed⟩ : ∃ ed : Trivialization F (π F E), d ∈ ed.baseSet :=
       ⟨trivialization_at F E d, mem_base_set_trivialization_at F E d⟩
     refine'
       ⟨d, hdcb,
@@ -473,31 +470,25 @@ def Fiber (x : B) :=
 #align fiber_bundle_core.fiber FiberBundleCore.Fiber
 -/
 
-section FiberInstances
-
-attribute [local reducible] fiber
-
 #print FiberBundleCore.topologicalSpaceFiber /-
-instance topologicalSpaceFiber (x : B) : TopologicalSpace (Z.Fiber x) := by infer_instance
+instance topologicalSpaceFiber (x : B) : TopologicalSpace (Z.Fiber x) :=
+  ‹TopologicalSpace F›
 #align fiber_bundle_core.topological_space_fiber FiberBundleCore.topologicalSpaceFiber
 -/
 
-end FiberInstances
-
 #print FiberBundleCore.TotalSpace /-
 /-- The total space of the fiber bundle, as a convenience function for dot notation.
-It is by definition equal to `bundle.total_space Z.fiber`, a.k.a. `Σ x, Z.fiber x` but with a
-different name for typeclass inference. -/
+It is by definition equal to `bundle.total_space Z.fiber` -/
 @[nolint unused_arguments, reducible]
 def TotalSpace :=
-  Bundle.TotalSpace Z.Fiber
+  Bundle.TotalSpace F Z.Fiber
 #align fiber_bundle_core.total_space FiberBundleCore.TotalSpace
 -/
 
 #print FiberBundleCore.proj /-
 /-- The projection from the total space of a fiber bundle core, on its base. -/
 @[reducible, simp, mfld_simps]
-def proj : Z.TotalSpace → B :=
+def proj : Z.TotalSpaceₓ → B :=
   Bundle.TotalSpace.proj
 #align fiber_bundle_core.proj FiberBundleCore.proj
 -/
@@ -552,7 +543,7 @@ The local trivialization will ultimately be a local homeomorphism. For now, we o
 local equiv version, denoted with a prime. In further developments, avoid this auxiliary version,
 and use `Z.local_triv` instead.
 -/
-def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F)
+def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpaceₓ (B × F)
     where
   source := Z.proj ⁻¹' Z.baseSet i
   target := Z.baseSet i ×ˢ univ
@@ -581,7 +572,7 @@ def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F)
 variable (i : ι)
 
 #print FiberBundleCore.mem_localTrivAsLocalEquiv_source /-
-theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpace) :
+theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpaceₓ) :
     p ∈ (Z.localTrivAsLocalEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_source
@@ -595,7 +586,7 @@ theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
 -/
 
 #print FiberBundleCore.localTrivAsLocalEquiv_apply /-
-theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpace) :
+theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpaceₓ) :
     (Z.localTrivAsLocalEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_apply
@@ -621,7 +612,7 @@ theorem localTrivAsLocalEquiv_trans (i j : ι) :
 #print FiberBundleCore.toTopologicalSpace /-
 /-- Topological structure on the total space of a fiber bundle created from core, designed so
 that all the local trivialization are continuous. -/
-instance toTopologicalSpace : TopologicalSpace (Bundle.TotalSpace Z.Fiber) :=
+instance toTopologicalSpace : TopologicalSpace Z.TotalSpaceₓ :=
   TopologicalSpace.generateFrom <|
     ⋃ (i : ι) (s : Set (B × F)) (s_open : IsOpen s), {(Z i).source ∩ Z i ⁻¹' s}
 #align fiber_bundle_core.to_topological_space FiberBundleCore.toTopologicalSpace
@@ -692,7 +683,7 @@ def localTriv (i : ι) : Trivialization F Z.proj
 #print FiberBundleCore.localTrivAt /-
 /-- Preferred local trivialization of a fiber bundle constructed from core, at a given point, as
 a bundle trivialization -/
-def localTrivAt (b : B) : Trivialization F (π Z.Fiber) :=
+def localTrivAt (b : B) : Trivialization F (π F Z.Fiber) :=
   Z.localTriv (Z.indexAt b)
 #align fiber_bundle_core.local_triv_at FiberBundleCore.localTrivAt
 -/
@@ -711,7 +702,7 @@ zero section of a vector bundle. Another example (not yet defined) would be the
 section of the endomorphism bundle of a vector bundle. -/
 theorem continuous_const_section (v : F)
     (h : ∀ i j, ∀ x ∈ Z.baseSet i ∩ Z.baseSet j, Z.coordChange i j x v = v) :
-    Continuous (show B → Z.TotalSpace from fun x => ⟨x, v⟩) :=
+    Continuous (show B → Z.TotalSpaceₓ from fun x => ⟨x, v⟩) :=
   by
   apply continuous_iff_continuousAt.2 fun x => _
   have A : Z.base_set (Z.index_at x) ∈ 𝓝 x :=
@@ -767,7 +758,7 @@ theorem baseSet_at : Z.baseSet i = (Z.localTriv i).baseSet :=
 
 #print FiberBundleCore.localTriv_apply /-
 @[simp, mfld_simps]
-theorem localTriv_apply (p : Z.TotalSpace) :
+theorem localTriv_apply (p : Z.TotalSpaceₓ) :
     (Z.localTriv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_apply FiberBundleCore.localTriv_apply
@@ -775,7 +766,7 @@ theorem localTriv_apply (p : Z.TotalSpace) :
 
 #print FiberBundleCore.localTrivAt_apply /-
 @[simp, mfld_simps]
-theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ := by
+theorem localTrivAt_apply (p : Z.TotalSpaceₓ) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ := by
   rw [local_triv_at, local_triv_apply, coord_change_self]; exact Z.mem_base_set_at p.1
 #align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_apply
 -/
@@ -789,7 +780,7 @@ theorem localTrivAt_apply_mk (b : B) (a : F) : (Z.localTrivAt b) ⟨b, a⟩ = 
 
 #print FiberBundleCore.mem_localTriv_source /-
 @[simp, mfld_simps]
-theorem mem_localTriv_source (p : Z.TotalSpace) :
+theorem mem_localTriv_source (p : Z.TotalSpaceₓ) :
     p ∈ (Z.localTriv i).source ↔ p.1 ∈ (Z.localTriv i).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_source FiberBundleCore.mem_localTriv_source
@@ -797,7 +788,7 @@ theorem mem_localTriv_source (p : Z.TotalSpace) :
 
 #print FiberBundleCore.mem_localTrivAt_source /-
 @[simp, mfld_simps]
-theorem mem_localTrivAt_source (p : Z.TotalSpace) (b : B) :
+theorem mem_localTrivAt_source (p : Z.TotalSpaceₓ) (b : B) :
     p ∈ (Z.localTrivAt b).source ↔ p.1 ∈ (Z.localTrivAt b).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_at_source FiberBundleCore.mem_localTrivAt_source
@@ -805,7 +796,7 @@ theorem mem_localTrivAt_source (p : Z.TotalSpace) (b : B) :
 
 #print FiberBundleCore.mem_source_at /-
 @[simp, mfld_simps]
-theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source := by
+theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpaceₓ) ∈ (Z.localTrivAt b).source := by
   rw [local_triv_at, mem_local_triv_source]; exact Z.mem_base_set_at b
 #align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_at
 -/
@@ -845,11 +836,11 @@ theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet := by
 /-- The inclusion of a fiber into the total space is a continuous map. -/
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) :
-    Continuous (totalSpaceMk b : Z.Fiber b → Bundle.TotalSpace Z.Fiber) :=
+    Continuous (TotalSpace.mk b : Z.Fiber b → Z.TotalSpaceₓ) :=
   by
   rw [continuous_iff_le_induced, FiberBundleCore.toTopologicalSpace]
   apply le_induced_generateFrom
-  simp only [total_space_mk, mem_Union, mem_singleton_iff, local_triv_as_local_equiv_source,
+  simp only [mem_Union, mem_singleton_iff, local_triv_as_local_equiv_source,
     local_triv_as_local_equiv_coe]
   rintro s ⟨i, t, ht, rfl⟩
   rw [← (Z.local_triv i).source_inter_preimage_target_inter t, preimage_inter, ← preimage_comp,
@@ -877,7 +868,7 @@ theorem continuous_totalSpaceMk (b : B) :
 /-- A fiber bundle constructed from core is indeed a fiber bundle. -/
 instance fiberBundle : FiberBundle F Z.Fiber
     where
-  totalSpaceMk_inducing b :=
+  totalSpaceₓ_mk_inducing b :=
     ⟨by
       refine' le_antisymm _ fun s h => _
       · rw [← continuous_iff_le_induced]
@@ -889,7 +880,6 @@ instance fiberBundle : FiberBundle F Z.Fiber
                 (Z.local_triv_at b).continuous_toFun _ ((Z.local_triv_at b).open_baseSet.Prod h),
               _⟩
         rw [preimage_inter, ← preimage_comp, Function.comp]
-        simp only [total_space_mk]
         refine' ext_iff.mpr fun a => ⟨fun ha => _, fun ha => ⟨Z.mem_base_set_at b, _⟩⟩
         · simp only [mem_prod, mem_preimage, mem_inter_iff, local_triv_at_apply_mk] at ha 
           exact ha.2.2
@@ -932,25 +922,25 @@ topology in such a way that there is a fiber bundle structure for which the loca
 are also local homeomorphism and hence local trivializations. -/
 @[nolint has_nonempty_instance]
 structure FiberPrebundle where
-  pretrivializationAtlas : Set (Pretrivialization F (π E))
-  pretrivializationAt : B → Pretrivialization F (π E)
+  pretrivializationAtlas : Set (Pretrivialization F (π F E))
+  pretrivializationAt : B → Pretrivialization F (π F E)
   mem_base_pretrivializationAt : ∀ x : B, x ∈ (pretrivialization_at x).baseSet
   pretrivialization_mem_atlas : ∀ x : B, pretrivialization_at x ∈ pretrivialization_atlas
   continuous_triv_change :
     ∀ (e) (_ : e ∈ pretrivialization_atlas) (e') (_ : e' ∈ pretrivialization_atlas),
       ContinuousOn (e ∘ e'.toLocalEquiv.symm) (e'.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source)
-  totalSpaceMk_inducing : ∀ b : B, Inducing (pretrivialization_at b ∘ totalSpaceMk b)
+  totalSpaceₓ_mk_inducing : ∀ b : B, Inducing (pretrivialization_at b ∘ TotalSpace.mk b)
 #align fiber_prebundle FiberPrebundle
 -/
 
 namespace FiberPrebundle
 
-variable {F E} (a : FiberPrebundle F E) {e : Pretrivialization F (π E)}
+variable {F E} (a : FiberPrebundle F E) {e : Pretrivialization F (π F E)}
 
 #print FiberPrebundle.totalSpaceTopology /-
 /-- Topology on the total space that will make the prebundle into a bundle. -/
-def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E) :=
-  ⨆ (e : Pretrivialization F (π E)) (he : e ∈ a.pretrivializationAtlas),
+def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace F E) :=
+  ⨆ (e : Pretrivialization F (π F E)) (he : e ∈ a.pretrivializationAtlas),
     coinduced e.setSymm Subtype.topologicalSpace
 #align fiber_prebundle.total_space_topology FiberPrebundle.totalSpaceTopology
 -/
@@ -967,7 +957,7 @@ theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializ
 -/
 
 #print FiberPrebundle.isOpen_source /-
-theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTopology] e.source :=
+theorem isOpen_source (e : Pretrivialization F (π F E)) : is_open[a.totalSpaceTopology] e.source :=
   by
   letI := a.total_space_topology
   refine' is_open_supr_iff.mpr fun e' => _
@@ -980,7 +970,7 @@ theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTop
 -/
 
 #print FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter /-
-theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π E))
+theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π F E))
     (he' : e' ∈ a.pretrivializationAtlas) :
     IsOpen (e'.toLocalEquiv.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source) :=
   by
@@ -996,7 +986,7 @@ theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivializat
 #print FiberPrebundle.trivializationOfMemPretrivializationAtlas /-
 /-- Promotion from a `pretrivialization` to a `trivialization`. -/
 def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
-    @Trivialization B F _ _ _ a.totalSpaceTopology (π E) :=
+    @Trivialization B F _ _ _ a.totalSpaceTopology (π F E) :=
   { e with
     open_source := a.isOpen_source e
     continuous_toFun := by
@@ -1021,7 +1011,7 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
 
 #print FiberPrebundle.mem_pretrivializationAt_source /-
 theorem mem_pretrivializationAt_source (b : B) (x : E b) :
-    totalSpaceMk b x ∈ (a.pretrivializationAt b).source :=
+    TotalSpace.mk b x ∈ (a.pretrivializationAt b).source :=
   by
   simp only [(a.pretrivialization_at b).source_eq, mem_preimage, total_space.proj]
   exact a.mem_base_pretrivialization_at b
@@ -1031,7 +1021,7 @@ theorem mem_pretrivializationAt_source (b : B) (x : E b) :
 #print FiberPrebundle.totalSpaceMk_preimage_source /-
 @[simp]
 theorem totalSpaceMk_preimage_source (b : B) :
-    totalSpaceMk b ⁻¹' (a.pretrivializationAt b).source = univ :=
+    TotalSpace.mk b ⁻¹' (a.pretrivializationAt b).source = univ :=
   by
   apply eq_univ_of_univ_subset
   rw [(a.pretrivialization_at b).source_eq, ← preimage_comp, Function.comp]
@@ -1043,7 +1033,8 @@ theorem totalSpaceMk_preimage_source (b : B) :
 
 #print FiberPrebundle.continuous_totalSpaceMk /-
 @[continuity]
-theorem continuous_totalSpaceMk (b : B) : @Continuous _ _ _ a.totalSpaceTopology (totalSpaceMk b) :=
+theorem continuous_totalSpaceMk (b : B) :
+    @Continuous _ _ _ a.totalSpaceTopology (TotalSpace.mk b) :=
   by
   letI := a.total_space_topology
   let e := a.trivialization_of_mem_pretrivialization_atlas (a.pretrivialization_mem_atlas b)
@@ -1055,8 +1046,8 @@ theorem continuous_totalSpaceMk (b : B) : @Continuous _ _ _ a.totalSpaceTopology
 
 #print FiberPrebundle.inducing_totalSpaceMk_of_inducing_comp /-
 theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
-    (h : Inducing (a.pretrivializationAt b ∘ totalSpaceMk b)) :
-    @Inducing _ _ _ a.totalSpaceTopology (totalSpaceMk b) :=
+    (h : Inducing (a.pretrivializationAt b ∘ TotalSpace.mk b)) :
+    @Inducing _ _ _ a.totalSpaceTopology (TotalSpace.mk b) :=
   by
   letI := a.total_space_topology
   rw [← restrict_comp_cod_restrict (a.mem_trivialization_at_source b)] at h 
@@ -1080,7 +1071,8 @@ establishes that for the topology constructed on the sigma-type using
 "trivializations" (i.e., homeomorphisms with respect to the constructed topology). -/
 def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _
     where
-  totalSpaceMk_inducing b := a.inducing_totalSpaceMk_of_inducing_comp b (a.totalSpaceMk_inducing b)
+  totalSpaceₓ_mk_inducing b :=
+    a.inducing_totalSpaceMk_of_inducing_comp b (a.totalSpaceₓ_mk_inducing b)
   trivializationAtlas :=
     {e |
       ∃ (e₀ : _) (he₀ : e₀ ∈ a.pretrivializationAtlas),
@@ -1093,7 +1085,7 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _
 -/
 
 #print FiberPrebundle.continuous_proj /-
-theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
+theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π F E) :=
   by
   letI := a.total_space_topology
   letI := a.to_fiber_bundle
@@ -1104,19 +1096,19 @@ theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print FiberPrebundle.continuousOn_of_comp_right /-
 /-- For a fiber bundle `E` over `B` constructed using the `fiber_prebundle` mechanism,
-continuity of a function `total_space E → X` on an open set `s` can be checked by precomposing at
+continuity of a function `total_space F E → X` on an open set `s` can be checked by precomposing at
 each point with the pretrivialization used for the construction at that point. -/
-theorem continuousOn_of_comp_right {X : Type _} [TopologicalSpace X] {f : TotalSpace E → X}
+theorem continuousOn_of_comp_right {X : Type _} [TopologicalSpace X] {f : TotalSpace F E → X}
     {s : Set B} (hs : IsOpen s)
     (hf :
       ∀ b ∈ s,
         ContinuousOn (f ∘ (a.pretrivializationAt b).toLocalEquiv.symm)
           ((s ∩ (a.pretrivializationAt b).baseSet) ×ˢ (Set.univ : Set F))) :
-    @ContinuousOn _ _ a.totalSpaceTopology _ f (π E ⁻¹' s) :=
+    @ContinuousOn _ _ a.totalSpaceTopology _ f (π F E ⁻¹' s) :=
   by
   letI := a.total_space_topology
   intro z hz
-  let e : Trivialization F (π E) :=
+  let e : Trivialization F (π F E) :=
     a.trivialization_of_mem_pretrivialization_atlas (a.pretrivialization_mem_atlas z.proj)
   refine'
     (e.continuous_at_of_comp_right _
Diff
@@ -191,11 +191,11 @@ variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
   [TopologicalSpace (TotalSpace E)] [∀ b, TopologicalSpace (E b)]
 
 #print FiberBundle /-
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`totalSpaceMk_inducing] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`totalSpaceMk_inducing] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
 /-- A (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on `B`
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
@@ -231,24 +231,31 @@ namespace FiberBundle
 
 variable (F) {E} [FiberBundle F E]
 
+#print FiberBundle.map_proj_nhds /-
 theorem map_proj_nhds (x : TotalSpace E) : map (π E) (𝓝 x) = 𝓝 x.proj :=
   (trivializationAt F E x.proj).map_proj_nhds <|
     (trivializationAt F E x.proj).mem_source.2 <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.map_proj_nhds FiberBundle.map_proj_nhds
+-/
 
 variable (E)
 
+#print FiberBundle.continuous_proj /-
 /-- The projection from a fiber bundle to its base is continuous. -/
 @[continuity]
 theorem continuous_proj : Continuous (π E) :=
   continuous_iff_continuousAt.2 fun x => (map_proj_nhds F x).le
 #align fiber_bundle.continuous_proj FiberBundle.continuous_proj
+-/
 
+#print FiberBundle.isOpenMap_proj /-
 /-- The projection from a fiber bundle to its base is an open map. -/
 theorem isOpenMap_proj : IsOpenMap (π E) :=
   IsOpenMap.of_nhds_le fun x => (map_proj_nhds F x).ge
 #align fiber_bundle.is_open_map_proj FiberBundle.isOpenMap_proj
+-/
 
+#print FiberBundle.surjective_proj /-
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a surjective
 map. -/
 theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
@@ -256,35 +263,45 @@ theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
     (trivializationAt F E b).proj_surjOn_baseSet (mem_baseSet_trivializationAt F E b)
   ⟨p, hpb⟩
 #align fiber_bundle.surjective_proj FiberBundle.surjective_proj
+-/
 
+#print FiberBundle.quotientMap_proj /-
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a quotient
 map. -/
 theorem quotientMap_proj [Nonempty F] : QuotientMap (π E) :=
   (isOpenMap_proj F E).to_quotientMap (continuous_proj F E) (surjective_proj F E)
 #align fiber_bundle.quotient_map_proj FiberBundle.quotientMap_proj
+-/
 
+#print FiberBundle.continuous_totalSpaceMk /-
 theorem continuous_totalSpaceMk (x : B) : Continuous (@totalSpaceMk B E x) :=
   (totalSpaceMk_inducing F E x).Continuous
 #align fiber_bundle.continuous_total_space_mk FiberBundle.continuous_totalSpaceMk
+-/
 
 variable {E F}
 
+#print FiberBundle.mem_trivializationAt_proj_source /-
 @[simp, mfld_simps]
 theorem mem_trivializationAt_proj_source {x : TotalSpace E} :
     x ∈ (trivializationAt F E x.proj).source :=
   (Trivialization.mem_source _).mpr <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_source
+-/
 
+#print FiberBundle.trivializationAt_proj_fst /-
 @[simp, mfld_simps]
 theorem trivializationAt_proj_fst {x : TotalSpace E} :
     ((trivializationAt F E x.proj) x).1 = x.proj :=
   Trivialization.coe_fst' _ <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.trivialization_at_proj_fst FiberBundle.trivializationAt_proj_fst
+-/
 
 variable (F)
 
 open Trivialization
 
+#print FiberBundle.continuousWithinAt_totalSpace /-
 /-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
 theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀ : X} :
     ContinuousWithinAt f s x₀ ↔
@@ -306,7 +323,9 @@ theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀
   · apply mem_trivialization_at_proj_source
   · rwa [source_eq, preimage_preimage]
 #align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpace
+-/
 
+#print FiberBundle.continuousAt_totalSpace /-
 /-- Characterization of continuous functions (at a point) into a fiber bundle. -/
 theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
     ContinuousAt f x₀ ↔
@@ -314,11 +333,13 @@ theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
         ContinuousAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) x₀ :=
   by simp_rw [← continuousWithinAt_univ]; exact continuous_within_at_total_space F f
 #align fiber_bundle.continuous_at_total_space FiberBundle.continuousAt_totalSpace
+-/
 
 end FiberBundle
 
 variable (F E)
 
+#print FiberBundle.exists_trivialization_Icc_subset /-
 /-- If `E` is a fiber bundle over a conditionally complete linear order,
 then it is trivial over any closed interval. -/
 theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinearOrder B]
@@ -387,6 +408,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
     rw [disjoint_left] at he ; push_neg at he ; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
     exact ⟨d', ⟨hd'c, hdd'.le.trans hdcb.2⟩, ec, (Icc_subset_Ico_right hdd').trans had⟩
 #align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subset
+-/
 
 end FiberBundle
 
@@ -426,8 +448,6 @@ namespace FiberBundleCore
 
 variable [TopologicalSpace B] [TopologicalSpace F] (Z : FiberBundleCore ι B F)
 
-include Z
-
 #print FiberBundleCore.Index /-
 /-- The index set of a fiber bundle core, as a convenience function for dot notation -/
 @[nolint unused_arguments has_nonempty_instance]
@@ -484,6 +504,7 @@ def proj : Z.TotalSpace → B :=
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print FiberBundleCore.trivChange /-
 /-- Local homeomorphism version of the trivialization change. -/
 def trivChange (i j : ι) : LocalHomeomorph (B × F) (B × F)
     where
@@ -512,11 +533,14 @@ def trivChange (i j : ι) : LocalHomeomorph (B × F) (B × F)
     simpa [inter_comm] using
       ContinuousOn.prod continuous_fst.continuous_on (Z.continuous_on_coord_change j i)
 #align fiber_bundle_core.triv_change FiberBundleCore.trivChange
+-/
 
+#print FiberBundleCore.mem_trivChange_source /-
 @[simp, mfld_simps]
 theorem mem_trivChange_source (i j : ι) (p : B × F) :
     p ∈ (Z.trivChange i j).source ↔ p.1 ∈ Z.baseSet i ∩ Z.baseSet j := by erw [mem_prod]; simp
 #align fiber_bundle_core.mem_triv_change_source FiberBundleCore.mem_trivChange_source
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print FiberBundleCore.localTrivAsLocalEquiv /-
@@ -556,21 +580,28 @@ def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F)
 
 variable (i : ι)
 
+#print FiberBundleCore.mem_localTrivAsLocalEquiv_source /-
 theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpace) :
     p ∈ (Z.localTrivAsLocalEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_source
+-/
 
+#print FiberBundleCore.mem_localTrivAsLocalEquiv_target /-
 theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
     p ∈ (Z.localTrivAsLocalEquiv i).target ↔ p.1 ∈ Z.baseSet i := by erw [mem_prod];
   simp only [and_true_iff, mem_univ]
 #align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_target
+-/
 
+#print FiberBundleCore.localTrivAsLocalEquiv_apply /-
 theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpace) :
     (Z.localTrivAsLocalEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_apply
+-/
 
+#print FiberBundleCore.localTrivAsLocalEquiv_trans /-
 /-- The composition of two local trivializations is the trivialization change Z.triv_change i j. -/
 theorem localTrivAsLocalEquiv_trans (i j : ι) :
     (Z.localTrivAsLocalEquiv i).symm.trans (Z.localTrivAsLocalEquiv j) ≈
@@ -585,6 +616,7 @@ theorem localTrivAsLocalEquiv_trans (i j : ι) :
       LocalEquiv.coe_trans, total_space.proj] at hx ⊢
     simp only [Z.coord_change_comp, hx, mem_inter_iff, and_self_iff, mem_base_set_at]
 #align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsLocalEquiv_trans
+-/
 
 #print FiberBundleCore.toTopologicalSpace /-
 /-- Topological structure on the total space of a fiber bundle created from core, designed so
@@ -598,6 +630,7 @@ instance toTopologicalSpace : TopologicalSpace (Bundle.TotalSpace Z.Fiber) :=
 variable (b : B) (a : F)
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print FiberBundleCore.open_source' /-
 theorem open_source' (i : ι) : IsOpen (Z.localTrivAsLocalEquiv i).source :=
   by
   apply TopologicalSpace.GenerateOpen.basic
@@ -607,6 +640,7 @@ theorem open_source' (i : ι) : IsOpen (Z.localTrivAsLocalEquiv i).source :=
   simp only [local_triv_as_local_equiv_apply, prod_mk_mem_set_prod_eq, mem_inter_iff, and_self_iff,
     mem_local_triv_as_local_equiv_source, and_true_iff, mem_univ, mem_preimage]
 #align fiber_bundle_core.open_source' FiberBundleCore.open_source'
+-/
 
 #print FiberBundleCore.localTriv /-
 /-- Extended version of the local trivialization of a fiber bundle constructed from core,
@@ -663,11 +697,14 @@ def localTrivAt (b : B) : Trivialization F (π Z.Fiber) :=
 #align fiber_bundle_core.local_triv_at FiberBundleCore.localTrivAt
 -/
 
+#print FiberBundleCore.localTrivAt_def /-
 @[simp, mfld_simps]
 theorem localTrivAt_def (b : B) : Z.localTriv (Z.indexAt b) = Z.localTrivAt b :=
   rfl
 #align fiber_bundle_core.local_triv_at_def FiberBundleCore.localTrivAt_def
+-/
 
+#print FiberBundleCore.continuous_const_section /-
 /-- If an element of `F` is invariant under all coordinate changes, then one can define a
 corresponding section of the fiber bundle, which is continuous. This applies in particular to the
 zero section of a vector bundle. Another example (not yet defined) would be the identity
@@ -688,90 +725,121 @@ theorem continuous_const_section (v : F)
     simp only [h, hy, mem_base_set_at, mfld_simps]
   · exact A
 #align fiber_bundle_core.continuous_const_section FiberBundleCore.continuous_const_section
+-/
 
+#print FiberBundleCore.localTrivAsLocalEquiv_coe /-
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_coe : ⇑(Z.localTrivAsLocalEquiv i) = Z.localTriv i :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsLocalEquiv_coe
+-/
 
+#print FiberBundleCore.localTrivAsLocalEquiv_source /-
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_source :
     (Z.localTrivAsLocalEquiv i).source = (Z.localTriv i).source :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsLocalEquiv_source
+-/
 
+#print FiberBundleCore.localTrivAsLocalEquiv_target /-
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_target :
     (Z.localTrivAsLocalEquiv i).target = (Z.localTriv i).target :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsLocalEquiv_target
+-/
 
+#print FiberBundleCore.localTrivAsLocalEquiv_symm /-
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_symm :
     (Z.localTrivAsLocalEquiv i).symm = (Z.localTriv i).toLocalEquiv.symm :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsLocalEquiv_symm
+-/
 
+#print FiberBundleCore.baseSet_at /-
 @[simp, mfld_simps]
 theorem baseSet_at : Z.baseSet i = (Z.localTriv i).baseSet :=
   rfl
 #align fiber_bundle_core.base_set_at FiberBundleCore.baseSet_at
+-/
 
+#print FiberBundleCore.localTriv_apply /-
 @[simp, mfld_simps]
 theorem localTriv_apply (p : Z.TotalSpace) :
     (Z.localTriv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_apply FiberBundleCore.localTriv_apply
+-/
 
+#print FiberBundleCore.localTrivAt_apply /-
 @[simp, mfld_simps]
 theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ := by
   rw [local_triv_at, local_triv_apply, coord_change_self]; exact Z.mem_base_set_at p.1
 #align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_apply
+-/
 
+#print FiberBundleCore.localTrivAt_apply_mk /-
 @[simp, mfld_simps]
 theorem localTrivAt_apply_mk (b : B) (a : F) : (Z.localTrivAt b) ⟨b, a⟩ = ⟨b, a⟩ :=
   Z.localTrivAt_apply _
 #align fiber_bundle_core.local_triv_at_apply_mk FiberBundleCore.localTrivAt_apply_mk
+-/
 
+#print FiberBundleCore.mem_localTriv_source /-
 @[simp, mfld_simps]
 theorem mem_localTriv_source (p : Z.TotalSpace) :
     p ∈ (Z.localTriv i).source ↔ p.1 ∈ (Z.localTriv i).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_source FiberBundleCore.mem_localTriv_source
+-/
 
+#print FiberBundleCore.mem_localTrivAt_source /-
 @[simp, mfld_simps]
 theorem mem_localTrivAt_source (p : Z.TotalSpace) (b : B) :
     p ∈ (Z.localTrivAt b).source ↔ p.1 ∈ (Z.localTrivAt b).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_at_source FiberBundleCore.mem_localTrivAt_source
+-/
 
+#print FiberBundleCore.mem_source_at /-
 @[simp, mfld_simps]
 theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source := by
   rw [local_triv_at, mem_local_triv_source]; exact Z.mem_base_set_at b
 #align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_at
+-/
 
+#print FiberBundleCore.mem_localTriv_target /-
 @[simp, mfld_simps]
 theorem mem_localTriv_target (p : B × F) :
     p ∈ (Z.localTriv i).target ↔ p.1 ∈ (Z.localTriv i).baseSet :=
   Trivialization.mem_target _
 #align fiber_bundle_core.mem_local_triv_target FiberBundleCore.mem_localTriv_target
+-/
 
+#print FiberBundleCore.mem_localTrivAt_target /-
 @[simp, mfld_simps]
 theorem mem_localTrivAt_target (p : B × F) (b : B) :
     p ∈ (Z.localTrivAt b).target ↔ p.1 ∈ (Z.localTrivAt b).baseSet :=
   Trivialization.mem_target _
 #align fiber_bundle_core.mem_local_triv_at_target FiberBundleCore.mem_localTrivAt_target
+-/
 
+#print FiberBundleCore.localTriv_symm_apply /-
 @[simp, mfld_simps]
 theorem localTriv_symm_apply (p : B × F) :
     (Z.localTriv i).toLocalHomeomorph.symm p = ⟨p.1, Z.coordChange i (Z.indexAt p.1) p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_symm_apply FiberBundleCore.localTriv_symm_apply
+-/
 
+#print FiberBundleCore.mem_localTrivAt_baseSet /-
 @[simp, mfld_simps]
 theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet := by
   rw [local_triv_at, ← base_set_at]; exact Z.mem_base_set_at b
 #align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSet
+-/
 
 #print FiberBundleCore.continuous_totalSpaceMk /-
 /-- The inclusion of a fiber into the total space is a continuous map. -/
@@ -834,15 +902,19 @@ instance fiberBundle : FiberBundle F Z.Fiber
 #align fiber_bundle_core.fiber_bundle FiberBundleCore.fiberBundle
 -/
 
+#print FiberBundleCore.continuous_proj /-
 /-- The projection on the base of a fiber bundle created from core is continuous -/
 theorem continuous_proj : Continuous Z.proj :=
   continuous_proj F Z.Fiber
 #align fiber_bundle_core.continuous_proj FiberBundleCore.continuous_proj
+-/
 
+#print FiberBundleCore.isOpenMap_proj /-
 /-- The projection on the base of a fiber bundle created from core is an open map -/
 theorem isOpenMap_proj : IsOpenMap Z.proj :=
   isOpenMap_proj F Z.Fiber
 #align fiber_bundle_core.is_open_map_proj FiberBundleCore.isOpenMap_proj
+-/
 
 end FiberBundleCore
 
@@ -883,6 +955,7 @@ def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E
 #align fiber_prebundle.total_space_topology FiberPrebundle.totalSpaceTopology
 -/
 
+#print FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas /-
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target :=
   by
@@ -891,7 +964,9 @@ theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializ
       id fun U h => preimage_nhdsWithin_coinduced' H e.open_target (le_def.1 (nhds_mono _) U h)
   exact le_iSup₂ e he
 #align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas
+-/
 
+#print FiberPrebundle.isOpen_source /-
 theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTopology] e.source :=
   by
   letI := a.total_space_topology
@@ -902,7 +977,9 @@ theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTop
     Subtype.preimage_coe_eq_preimage_coe_iff, e'.target_eq, prod_inter_prod, inter_univ,
     Pretrivialization.preimage_symm_proj_inter]
 #align fiber_prebundle.is_open_source FiberPrebundle.isOpen_source
+-/
 
+#print FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter /-
 theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π E))
     (he' : e' ∈ a.pretrivializationAtlas) :
     IsOpen (e'.toLocalEquiv.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source) :=
@@ -914,6 +991,7 @@ theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivializat
   rw [inter_comm, hu2]
   exact hu1.inter e'.open_target
 #align fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter
+-/
 
 #print FiberPrebundle.trivializationOfMemPretrivializationAtlas /-
 /-- Promotion from a `pretrivialization` to a `trivialization`. -/
@@ -941,13 +1019,16 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
 #align fiber_prebundle.trivialization_of_mem_pretrivialization_atlas FiberPrebundle.trivializationOfMemPretrivializationAtlas
 -/
 
+#print FiberPrebundle.mem_pretrivializationAt_source /-
 theorem mem_pretrivializationAt_source (b : B) (x : E b) :
     totalSpaceMk b x ∈ (a.pretrivializationAt b).source :=
   by
   simp only [(a.pretrivialization_at b).source_eq, mem_preimage, total_space.proj]
   exact a.mem_base_pretrivialization_at b
 #align fiber_prebundle.mem_trivialization_at_source FiberPrebundle.mem_pretrivializationAt_source
+-/
 
+#print FiberPrebundle.totalSpaceMk_preimage_source /-
 @[simp]
 theorem totalSpaceMk_preimage_source (b : B) :
     totalSpaceMk b ⁻¹' (a.pretrivializationAt b).source = univ :=
@@ -958,7 +1039,9 @@ theorem totalSpaceMk_preimage_source (b : B) :
   rw [preimage_const_of_mem _]
   exact a.mem_base_pretrivialization_at b
 #align fiber_prebundle.total_space_mk_preimage_source FiberPrebundle.totalSpaceMk_preimage_source
+-/
 
+#print FiberPrebundle.continuous_totalSpaceMk /-
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) : @Continuous _ _ _ a.totalSpaceTopology (totalSpaceMk b) :=
   by
@@ -968,7 +1051,9 @@ theorem continuous_totalSpaceMk (b : B) : @Continuous _ _ _ a.totalSpaceTopology
       (a.total_space_mk_preimage_source b)]
   exact continuous_iff_le_induced.mpr (le_antisymm_iff.mp (a.total_space_mk_inducing b).induced).1
 #align fiber_prebundle.continuous_total_space_mk FiberPrebundle.continuous_totalSpaceMk
+-/
 
+#print FiberPrebundle.inducing_totalSpaceMk_of_inducing_comp /-
 theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
     (h : Inducing (a.pretrivializationAt b ∘ totalSpaceMk b)) :
     @Inducing _ _ _ a.totalSpaceTopology (totalSpaceMk b) :=
@@ -984,6 +1069,7 @@ theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
       h
   exact (a.continuous_total_space_mk b).codRestrict (a.mem_trivialization_at_source b)
 #align fiber_prebundle.inducing_total_space_mk_of_inducing_comp FiberPrebundle.inducing_totalSpaceMk_of_inducing_comp
+-/
 
 #print FiberPrebundle.toFiberBundle /-
 /-- Make a `fiber_bundle` from a `fiber_prebundle`.  Concretely this means
@@ -1006,14 +1092,17 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _
 #align fiber_prebundle.to_fiber_bundle FiberPrebundle.toFiberBundle
 -/
 
+#print FiberPrebundle.continuous_proj /-
 theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
   by
   letI := a.total_space_topology
   letI := a.to_fiber_bundle
   exact continuous_proj F E
 #align fiber_prebundle.continuous_proj FiberPrebundle.continuous_proj
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print FiberPrebundle.continuousOn_of_comp_right /-
 /-- For a fiber bundle `E` over `B` constructed using the `fiber_prebundle` mechanism,
 continuity of a function `total_space E → X` on an open set `s` can be checked by precomposing at
 each point with the pretrivialization used for the construction at that point. -/
@@ -1040,6 +1129,7 @@ theorem continuousOn_of_comp_right {X : Type _} [TopologicalSpace X] {f : TotalS
   · rw [e.mem_source]
     exact a.mem_base_pretrivialization_at z.proj
 #align fiber_prebundle.continuous_on_of_comp_right FiberPrebundle.continuousOn_of_comp_right
+-/
 
 end FiberPrebundle
 
Diff
@@ -853,7 +853,7 @@ variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
   [∀ x, TopologicalSpace (E x)]
 
 #print FiberPrebundle /-
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
 topology in such a way that there is a fiber bundle structure for which the local equivalences
Diff
@@ -191,11 +191,11 @@ variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
   [TopologicalSpace (TotalSpace E)] [∀ b, TopologicalSpace (E b)]
 
 #print FiberBundle /-
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`totalSpaceMk_inducing] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`totalSpaceMk_inducing] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
 /-- A (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on `B`
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
@@ -325,68 +325,67 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
     [OrderTopology B] [FiberBundle F E] (a b : B) :
     ∃ e : Trivialization F (π E), Icc a b ⊆ e.baseSet := by
   classical
-    obtain ⟨ea, hea⟩ : ∃ ea : Trivialization F (π E), a ∈ ea.baseSet :=
-      ⟨trivialization_at F E a, mem_base_set_trivialization_at F E a⟩
-    -- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
-      cases' le_or_lt a b with hab hab <;>
-      [skip; exact ⟨ea, by simp [*]⟩]
-    /- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
-      We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
-    set s : Set B := { x ∈ Icc a b | ∃ e : Trivialization F (π E), Icc a x ⊆ e.baseSet }
-    have ha : a ∈ s := ⟨left_mem_Icc.2 hab, ea, by simp [hea]⟩
-    have sne : s.nonempty := ⟨a, ha⟩
-    have hsb : b ∈ upperBounds s := fun x hx => hx.1.2
-    have sbd : BddAbove s := ⟨b, hsb⟩
-    set c := Sup s
-    have hsc : IsLUB s c := isLUB_csSup sne sbd
-    have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
-    obtain ⟨-, ec : Trivialization F (π E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s :=
-      by
-      cases' hc.1.eq_or_lt with heq hlt; · rwa [← HEq]
-      refine' ⟨hc, _⟩
-      /- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
-          of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
-      obtain ⟨ec, hc⟩ : ∃ ec : Trivialization F (π E), c ∈ ec.baseSet :=
-        ⟨trivialization_at F E c, mem_base_set_trivialization_at F E c⟩
-      obtain ⟨c', hc', hc'e⟩ : ∃ c' ∈ Ico a c, Ioc c' c ⊆ ec.base_set :=
-        (mem_nhdsWithin_Iic_iff_exists_mem_Ico_Ioc_subset hlt).1
-          (mem_nhdsWithin_of_mem_nhds <| IsOpen.mem_nhds ec.open_base_set hc)
-      /- Since `c' < c = Sup s`, there exists `d ∈ s ∩ (c', c]`. Let `ead` be a trivialization of
-          `proj` over `[a, d]`. Then we can glue `ead` and `ec` into a trivialization over `[a, c]`. -/
-      obtain ⟨d, ⟨hdab, ead, had⟩, hd⟩ : ∃ d ∈ s, d ∈ Ioc c' c := hsc.exists_between hc'.2
-      refine' ⟨ead.piecewise_le ec d (had ⟨hdab.1, le_rfl⟩) (hc'e hd), subset_ite.2 _⟩
-      refine'
-        ⟨fun x hx => had ⟨hx.1.1, hx.2⟩, fun x hx => hc'e ⟨hd.1.trans (not_le.1 hx.2), hx.1.2⟩⟩
-    /- So, `c ∈ s`. Let `ec` be a trivialization of `proj` over `[a, c]`.  If `c = b`, then we are
-      done. Otherwise we show that `proj` can be trivialized over a larger interval `[a, d]`,
-      `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
-    cases' hc.2.eq_or_lt with heq hlt
-    · exact ⟨ec, HEq ▸ hec⟩
-    rsuffices ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π E), Icc a d ⊆ e.baseSet
-    · exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
-    /- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
-      `d ∈ (c, b]`. -/
-    obtain ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, Ico c d ⊆ ec.base_set :=
-      (mem_nhdsWithin_Ici_iff_exists_mem_Ioc_Ico_subset hlt).1
-        (mem_nhdsWithin_of_mem_nhds <| IsOpen.mem_nhds ec.open_base_set (hec ⟨hc.1, le_rfl⟩))
-    have had : Ico a d ⊆ ec.base_set := Ico_subset_Icc_union_Ico.trans (union_subset hec hd)
-    by_cases he : Disjoint (Iio d) (Ioi c)
-    · /- If `(c, d) = ∅`, then let `ed` be a trivialization of `proj` over a neighborhood of `d`.
-          Then the disjoint union of `ec` restricted to `(-∞, d)` and `ed` restricted to `(c, ∞)` is
-          a trivialization over `[a, d]`. -/
-      obtain ⟨ed, hed⟩ : ∃ ed : Trivialization F (π E), d ∈ ed.baseSet :=
-        ⟨trivialization_at F E d, mem_base_set_trivialization_at F E d⟩
-      refine'
-        ⟨d, hdcb,
-          (ec.restr_open (Iio d) isOpen_Iio).disjointUnion (ed.restr_open (Ioi c) isOpen_Ioi)
-            (he.mono (inter_subset_right _ _) (inter_subset_right _ _)),
-          fun x hx => _⟩
-      rcases hx.2.eq_or_lt with (rfl | hxd)
-      exacts [Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
-    · /- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
-          `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
-      rw [disjoint_left] at he ; push_neg  at he ; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
-      exact ⟨d', ⟨hd'c, hdd'.le.trans hdcb.2⟩, ec, (Icc_subset_Ico_right hdd').trans had⟩
+  obtain ⟨ea, hea⟩ : ∃ ea : Trivialization F (π E), a ∈ ea.baseSet :=
+    ⟨trivialization_at F E a, mem_base_set_trivialization_at F E a⟩
+  -- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
+    cases' le_or_lt a b with hab hab <;>
+    [skip; exact ⟨ea, by simp [*]⟩]
+  /- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
+    We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
+  set s : Set B := {x ∈ Icc a b | ∃ e : Trivialization F (π E), Icc a x ⊆ e.baseSet}
+  have ha : a ∈ s := ⟨left_mem_Icc.2 hab, ea, by simp [hea]⟩
+  have sne : s.nonempty := ⟨a, ha⟩
+  have hsb : b ∈ upperBounds s := fun x hx => hx.1.2
+  have sbd : BddAbove s := ⟨b, hsb⟩
+  set c := Sup s
+  have hsc : IsLUB s c := isLUB_csSup sne sbd
+  have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
+  obtain ⟨-, ec : Trivialization F (π E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s :=
+    by
+    cases' hc.1.eq_or_lt with heq hlt; · rwa [← HEq]
+    refine' ⟨hc, _⟩
+    /- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
+        of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
+    obtain ⟨ec, hc⟩ : ∃ ec : Trivialization F (π E), c ∈ ec.baseSet :=
+      ⟨trivialization_at F E c, mem_base_set_trivialization_at F E c⟩
+    obtain ⟨c', hc', hc'e⟩ : ∃ c' ∈ Ico a c, Ioc c' c ⊆ ec.base_set :=
+      (mem_nhdsWithin_Iic_iff_exists_mem_Ico_Ioc_subset hlt).1
+        (mem_nhdsWithin_of_mem_nhds <| IsOpen.mem_nhds ec.open_base_set hc)
+    /- Since `c' < c = Sup s`, there exists `d ∈ s ∩ (c', c]`. Let `ead` be a trivialization of
+        `proj` over `[a, d]`. Then we can glue `ead` and `ec` into a trivialization over `[a, c]`. -/
+    obtain ⟨d, ⟨hdab, ead, had⟩, hd⟩ : ∃ d ∈ s, d ∈ Ioc c' c := hsc.exists_between hc'.2
+    refine' ⟨ead.piecewise_le ec d (had ⟨hdab.1, le_rfl⟩) (hc'e hd), subset_ite.2 _⟩
+    refine' ⟨fun x hx => had ⟨hx.1.1, hx.2⟩, fun x hx => hc'e ⟨hd.1.trans (not_le.1 hx.2), hx.1.2⟩⟩
+  /- So, `c ∈ s`. Let `ec` be a trivialization of `proj` over `[a, c]`.  If `c = b`, then we are
+    done. Otherwise we show that `proj` can be trivialized over a larger interval `[a, d]`,
+    `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
+  cases' hc.2.eq_or_lt with heq hlt
+  · exact ⟨ec, HEq ▸ hec⟩
+  rsuffices ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π E), Icc a d ⊆ e.baseSet
+  · exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
+  /- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
+    `d ∈ (c, b]`. -/
+  obtain ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, Ico c d ⊆ ec.base_set :=
+    (mem_nhdsWithin_Ici_iff_exists_mem_Ioc_Ico_subset hlt).1
+      (mem_nhdsWithin_of_mem_nhds <| IsOpen.mem_nhds ec.open_base_set (hec ⟨hc.1, le_rfl⟩))
+  have had : Ico a d ⊆ ec.base_set := Ico_subset_Icc_union_Ico.trans (union_subset hec hd)
+  by_cases he : Disjoint (Iio d) (Ioi c)
+  · /- If `(c, d) = ∅`, then let `ed` be a trivialization of `proj` over a neighborhood of `d`.
+        Then the disjoint union of `ec` restricted to `(-∞, d)` and `ed` restricted to `(c, ∞)` is
+        a trivialization over `[a, d]`. -/
+    obtain ⟨ed, hed⟩ : ∃ ed : Trivialization F (π E), d ∈ ed.baseSet :=
+      ⟨trivialization_at F E d, mem_base_set_trivialization_at F E d⟩
+    refine'
+      ⟨d, hdcb,
+        (ec.restr_open (Iio d) isOpen_Iio).disjointUnion (ed.restr_open (Ioi c) isOpen_Ioi)
+          (he.mono (inter_subset_right _ _) (inter_subset_right _ _)),
+        fun x hx => _⟩
+    rcases hx.2.eq_or_lt with (rfl | hxd)
+    exacts [Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
+  · /- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
+        `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
+    rw [disjoint_left] at he ; push_neg at he ; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
+    exact ⟨d', ⟨hd'c, hdd'.le.trans hdcb.2⟩, ec, (Icc_subset_Ico_right hdd').trans had⟩
 #align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subset
 
 end FiberBundle
@@ -997,9 +996,9 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _
     where
   totalSpaceMk_inducing b := a.inducing_totalSpaceMk_of_inducing_comp b (a.totalSpaceMk_inducing b)
   trivializationAtlas :=
-    { e |
+    {e |
       ∃ (e₀ : _) (he₀ : e₀ ∈ a.pretrivializationAtlas),
-        e = a.trivializationOfMemPretrivializationAtlas he₀ }
+        e = a.trivializationOfMemPretrivializationAtlas he₀}
   trivializationAt x :=
     a.trivializationOfMemPretrivializationAtlas (a.pretrivialization_mem_atlas x)
   mem_baseSet_trivializationAt := a.mem_base_pretrivializationAt
Diff
@@ -179,8 +179,8 @@ open TopologicalSpace Filter Set Bundle
 
 open scoped Topology Classical Bundle
 
-attribute [mfld_simps]
-  total_space_mk coe_fst coe_snd coe_snd_map_apply coe_snd_map_smul total_space.mk_cast
+attribute [mfld_simps] total_space_mk coe_fst coe_snd coe_snd_map_apply coe_snd_map_smul
+  total_space.mk_cast
 
 /-! ### General definition of fiber bundles -/
 
@@ -329,7 +329,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
       ⟨trivialization_at F E a, mem_base_set_trivialization_at F E a⟩
     -- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
       cases' le_or_lt a b with hab hab <;>
-      [skip;exact ⟨ea, by simp [*]⟩]
+      [skip; exact ⟨ea, by simp [*]⟩]
     /- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
       We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
     set s : Set B := { x ∈ Icc a b | ∃ e : Trivialization F (π E), Icc a x ⊆ e.baseSet }
@@ -382,10 +382,10 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
             (he.mono (inter_subset_right _ _) (inter_subset_right _ _)),
           fun x hx => _⟩
       rcases hx.2.eq_or_lt with (rfl | hxd)
-      exacts[Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
+      exacts [Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
     · /- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
           `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
-      rw [disjoint_left] at he; push_neg  at he; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
+      rw [disjoint_left] at he ; push_neg  at he ; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
       exact ⟨d', ⟨hd'c, hdd'.le.trans hdcb.2⟩, ec, (Icc_subset_Ico_right hdd').trans had⟩
 #align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subset
 
@@ -406,7 +406,7 @@ Trivialization changes from `i` to `j` are given by continuous maps `coord_chang
 space of continuous maps on `F`. -/
 @[nolint has_nonempty_instance]
 structure FiberBundleCore (ι : Type _) (B : Type _) [TopologicalSpace B] (F : Type _)
-  [TopologicalSpace F] where
+    [TopologicalSpace F] where
   baseSet : ι → Set B
   isOpen_baseSet : ∀ i, IsOpen (base_set i)
   indexAt : B → ι
@@ -496,13 +496,13 @@ def trivChange (i j : ι) : LocalHomeomorph (B × F) (B × F)
   map_target' p hp := by simpa using hp
   left_inv' := by
     rintro ⟨x, v⟩ hx
-    simp only [prod_mk_mem_set_prod_eq, mem_inter_iff, and_true_iff, mem_univ] at hx
+    simp only [prod_mk_mem_set_prod_eq, mem_inter_iff, and_true_iff, mem_univ] at hx 
     rw [Z.coord_change_comp, Z.coord_change_self]
     · exact hx.1
     · simp [hx]
   right_inv' := by
     rintro ⟨x, v⟩ hx
-    simp only [prod_mk_mem_set_prod_eq, mem_inter_iff, and_true_iff, mem_univ] at hx
+    simp only [prod_mk_mem_set_prod_eq, mem_inter_iff, and_true_iff, mem_univ] at hx 
     rw [Z.coord_change_comp, Z.coord_change_self]
     · exact hx.2
     · simp [hx]
@@ -541,14 +541,14 @@ def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F)
     simpa only [Set.mem_preimage, and_true_iff, Set.mem_univ, Set.mem_prod] using hp
   left_inv' := by
     rintro ⟨x, v⟩ hx
-    change x ∈ Z.base_set i at hx
+    change x ∈ Z.base_set i at hx 
     dsimp only
     rw [Z.coord_change_comp, Z.coord_change_self]
     · exact Z.mem_base_set_at _
     · simp only [hx, mem_inter_iff, and_self_iff, mem_base_set_at]
   right_inv' := by
     rintro ⟨x, v⟩ hx
-    simp only [prod_mk_mem_set_prod_eq, and_true_iff, mem_univ] at hx
+    simp only [prod_mk_mem_set_prod_eq, and_true_iff, mem_univ] at hx 
     rw [Z.coord_change_comp, Z.coord_change_self]
     · exact hx
     · simp only [hx, mem_inter_iff, and_self_iff, mem_base_set_at]
@@ -583,7 +583,7 @@ theorem localTrivAsLocalEquiv_trans (i j : ι) :
     simp only [triv_change, local_triv_as_local_equiv, LocalEquiv.symm, true_and_iff,
       Prod.mk.inj_iff, prod_mk_mem_set_prod_eq, LocalEquiv.trans_source, mem_inter_iff,
       and_true_iff, mem_preimage, proj, mem_univ, LocalEquiv.coe_mk, eq_self_iff_true,
-      LocalEquiv.coe_trans, total_space.proj] at hx⊢
+      LocalEquiv.coe_trans, total_space.proj] at hx ⊢
     simp only [Z.coord_change_comp, hx, mem_inter_iff, and_self_iff, mem_base_set_at]
 #align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsLocalEquiv_trans
 
@@ -631,7 +631,7 @@ def localTriv (i : ι) : Trivialization F Z.proj
     by
     apply continuousOn_open_of_generateFrom ((Z.is_open_base_set i).Prod isOpen_univ)
     intro t ht
-    simp only [exists_prop, mem_Union, mem_singleton_iff] at ht
+    simp only [exists_prop, mem_Union, mem_singleton_iff] at ht 
     obtain ⟨j, s, s_open, ts⟩ :
       ∃ j s,
         IsOpen s ∧
@@ -824,7 +824,7 @@ instance fiberBundle : FiberBundle F Z.Fiber
         rw [preimage_inter, ← preimage_comp, Function.comp]
         simp only [total_space_mk]
         refine' ext_iff.mpr fun a => ⟨fun ha => _, fun ha => ⟨Z.mem_base_set_at b, _⟩⟩
-        · simp only [mem_prod, mem_preimage, mem_inter_iff, local_triv_at_apply_mk] at ha
+        · simp only [mem_prod, mem_preimage, mem_inter_iff, local_triv_at_apply_mk] at ha 
           exact ha.2.2
         · simp only [mem_prod, mem_preimage, mem_inter_iff, local_triv_at_apply_mk]
           exact ⟨Z.mem_base_set_at b, ha⟩⟩
@@ -932,7 +932,7 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
       rw [isOpen_coinduced, isOpen_induced_iff]
       obtain ⟨u, hu1, hu2⟩ := continuous_on_iff'.mp (a.continuous_triv_change _ he _ he') s hs
       have hu3 := congr_arg (fun s => (fun x : e'.target => (x : B × F)) ⁻¹' s) hu2
-      simp only [Subtype.coe_preimage_self, preimage_inter, univ_inter] at hu3
+      simp only [Subtype.coe_preimage_self, preimage_inter, univ_inter] at hu3 
       refine'
         ⟨u ∩ e'.to_local_equiv.target ∩ e'.to_local_equiv.symm ⁻¹' e.source, _, by
           simp only [preimage_inter, inter_univ, Subtype.coe_preimage_self, hu3.symm]; rfl⟩
@@ -975,7 +975,7 @@ theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
     @Inducing _ _ _ a.totalSpaceTopology (totalSpaceMk b) :=
   by
   letI := a.total_space_topology
-  rw [← restrict_comp_cod_restrict (a.mem_trivialization_at_source b)] at h
+  rw [← restrict_comp_cod_restrict (a.mem_trivialization_at_source b)] at h 
   apply Inducing.of_codRestrict (a.mem_trivialization_at_source b)
   refine'
     inducing_of_inducing_compose _
@@ -998,7 +998,7 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _
   totalSpaceMk_inducing b := a.inducing_totalSpaceMk_of_inducing_comp b (a.totalSpaceMk_inducing b)
   trivializationAtlas :=
     { e |
-      ∃ (e₀ : _)(he₀ : e₀ ∈ a.pretrivializationAtlas),
+      ∃ (e₀ : _) (he₀ : e₀ ∈ a.pretrivializationAtlas),
         e = a.trivializationOfMemPretrivializationAtlas he₀ }
   trivializationAt x :=
     a.trivializationOfMemPretrivializationAtlas (a.pretrivialization_mem_atlas x)
Diff
@@ -582,7 +582,7 @@ theorem localTrivAsLocalEquiv_trans (i j : ι) :
   · rintro ⟨x, v⟩ hx
     simp only [triv_change, local_triv_as_local_equiv, LocalEquiv.symm, true_and_iff,
       Prod.mk.inj_iff, prod_mk_mem_set_prod_eq, LocalEquiv.trans_source, mem_inter_iff,
-      and_true_iff, mem_preimage, proj, mem_univ, [anonymous], eq_self_iff_true,
+      and_true_iff, mem_preimage, proj, mem_univ, LocalEquiv.coe_mk, eq_self_iff_true,
       LocalEquiv.coe_trans, total_space.proj] at hx⊢
     simp only [Z.coord_change_comp, hx, mem_inter_iff, and_self_iff, mem_base_set_at]
 #align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsLocalEquiv_trans
@@ -853,6 +853,7 @@ end FiberBundleCore
 variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
   [∀ x, TopologicalSpace (E x)]
 
+#print FiberPrebundle /-
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
@@ -869,16 +870,19 @@ structure FiberPrebundle where
       ContinuousOn (e ∘ e'.toLocalEquiv.symm) (e'.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source)
   totalSpaceMk_inducing : ∀ b : B, Inducing (pretrivialization_at b ∘ totalSpaceMk b)
 #align fiber_prebundle FiberPrebundle
+-/
 
 namespace FiberPrebundle
 
 variable {F E} (a : FiberPrebundle F E) {e : Pretrivialization F (π E)}
 
+#print FiberPrebundle.totalSpaceTopology /-
 /-- Topology on the total space that will make the prebundle into a bundle. -/
 def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E) :=
   ⨆ (e : Pretrivialization F (π E)) (he : e ∈ a.pretrivializationAtlas),
     coinduced e.setSymm Subtype.topologicalSpace
 #align fiber_prebundle.total_space_topology FiberPrebundle.totalSpaceTopology
+-/
 
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target :=
@@ -912,6 +916,7 @@ theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivializat
   exact hu1.inter e'.open_target
 #align fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter
 
+#print FiberPrebundle.trivializationOfMemPretrivializationAtlas /-
 /-- Promotion from a `pretrivialization` to a `trivialization`. -/
 def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @Trivialization B F _ _ _ a.totalSpaceTopology (π E) :=
@@ -935,6 +940,7 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
       exact hu1.inter (a.is_open_target_of_mem_pretrivialization_atlas_inter e e' he')
     continuous_invFun := a.continuous_symm_of_mem_pretrivializationAtlas he }
 #align fiber_prebundle.trivialization_of_mem_pretrivialization_atlas FiberPrebundle.trivializationOfMemPretrivializationAtlas
+-/
 
 theorem mem_pretrivializationAt_source (b : B) (x : E b) :
     totalSpaceMk b x ∈ (a.pretrivializationAt b).source :=
@@ -980,6 +986,7 @@ theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
   exact (a.continuous_total_space_mk b).codRestrict (a.mem_trivialization_at_source b)
 #align fiber_prebundle.inducing_total_space_mk_of_inducing_comp FiberPrebundle.inducing_totalSpaceMk_of_inducing_comp
 
+#print FiberPrebundle.toFiberBundle /-
 /-- Make a `fiber_bundle` from a `fiber_prebundle`.  Concretely this means
 that, given a `fiber_prebundle` structure for a sigma-type `E` -- which consists of a
 number of "pretrivializations" identifying parts of `E` with product spaces `U × F` -- one
@@ -998,6 +1005,7 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _
   mem_baseSet_trivializationAt := a.mem_base_pretrivializationAt
   trivialization_mem_atlas x := ⟨_, a.pretrivialization_mem_atlas x, rfl⟩
 #align fiber_prebundle.to_fiber_bundle FiberPrebundle.toFiberBundle
+-/
 
 theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
   by
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit 0187644979f2d3e10a06e916a869c994facd9a87
+! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -851,8 +851,8 @@ end FiberBundleCore
 
 
 variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
+  [∀ x, TopologicalSpace (E x)]
 
-#print FiberPrebundle /-
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
@@ -867,20 +867,18 @@ structure FiberPrebundle where
   continuous_triv_change :
     ∀ (e) (_ : e ∈ pretrivialization_atlas) (e') (_ : e' ∈ pretrivialization_atlas),
       ContinuousOn (e ∘ e'.toLocalEquiv.symm) (e'.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source)
+  totalSpaceMk_inducing : ∀ b : B, Inducing (pretrivialization_at b ∘ totalSpaceMk b)
 #align fiber_prebundle FiberPrebundle
--/
 
 namespace FiberPrebundle
 
 variable {F E} (a : FiberPrebundle F E) {e : Pretrivialization F (π E)}
 
-#print FiberPrebundle.totalSpaceTopology /-
 /-- Topology on the total space that will make the prebundle into a bundle. -/
 def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E) :=
   ⨆ (e : Pretrivialization F (π E)) (he : e ∈ a.pretrivializationAtlas),
     coinduced e.setSymm Subtype.topologicalSpace
 #align fiber_prebundle.total_space_topology FiberPrebundle.totalSpaceTopology
--/
 
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target :=
@@ -914,7 +912,6 @@ theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivializat
   exact hu1.inter e'.open_target
 #align fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter
 
-#print FiberPrebundle.trivializationOfMemPretrivializationAtlas /-
 /-- Promotion from a `pretrivialization` to a `trivialization`. -/
 def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @Trivialization B F _ _ _ a.totalSpaceTopology (π E) :=
@@ -938,7 +935,6 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
       exact hu1.inter (a.is_open_target_of_mem_pretrivialization_atlas_inter e e' he')
     continuous_invFun := a.continuous_symm_of_mem_pretrivializationAtlas he }
 #align fiber_prebundle.trivialization_of_mem_pretrivialization_atlas FiberPrebundle.trivializationOfMemPretrivializationAtlas
--/
 
 theorem mem_pretrivializationAt_source (b : B) (x : E b) :
     totalSpaceMk b x ∈ (a.pretrivializationAt b).source :=
@@ -958,37 +954,41 @@ theorem totalSpaceMk_preimage_source (b : B) :
   exact a.mem_base_pretrivialization_at b
 #align fiber_prebundle.total_space_mk_preimage_source FiberPrebundle.totalSpaceMk_preimage_source
 
-#print FiberPrebundle.fiberTopology /-
-/-- Topology on the fibers `E b` induced by the map `E b → E.total_space`. -/
-def fiberTopology (b : B) : TopologicalSpace (E b) :=
-  TopologicalSpace.induced (totalSpaceMk b) a.totalSpaceTopology
-#align fiber_prebundle.fiber_topology FiberPrebundle.fiberTopology
--/
-
-@[continuity]
-theorem inducing_totalSpaceMk (b : B) :
-    @Inducing _ _ (a.fiberTopology b) a.totalSpaceTopology (totalSpaceMk b) := by
-  letI := a.total_space_topology; letI := a.fiber_topology b; exact ⟨rfl⟩
-#align fiber_prebundle.inducing_total_space_mk FiberPrebundle.inducing_totalSpaceMk
-
 @[continuity]
-theorem continuous_totalSpaceMk (b : B) :
-    @Continuous _ _ (a.fiberTopology b) a.totalSpaceTopology (totalSpaceMk b) :=
+theorem continuous_totalSpaceMk (b : B) : @Continuous _ _ _ a.totalSpaceTopology (totalSpaceMk b) :=
   by
-  letI := a.total_space_topology; letI := a.fiber_topology b
-  exact (a.inducing_total_space_mk b).Continuous
+  letI := a.total_space_topology
+  let e := a.trivialization_of_mem_pretrivialization_atlas (a.pretrivialization_mem_atlas b)
+  rw [e.to_local_homeomorph.continuous_iff_continuous_comp_left
+      (a.total_space_mk_preimage_source b)]
+  exact continuous_iff_le_induced.mpr (le_antisymm_iff.mp (a.total_space_mk_inducing b).induced).1
 #align fiber_prebundle.continuous_total_space_mk FiberPrebundle.continuous_totalSpaceMk
 
-#print FiberPrebundle.toFiberBundle /-
+theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
+    (h : Inducing (a.pretrivializationAt b ∘ totalSpaceMk b)) :
+    @Inducing _ _ _ a.totalSpaceTopology (totalSpaceMk b) :=
+  by
+  letI := a.total_space_topology
+  rw [← restrict_comp_cod_restrict (a.mem_trivialization_at_source b)] at h
+  apply Inducing.of_codRestrict (a.mem_trivialization_at_source b)
+  refine'
+    inducing_of_inducing_compose _
+      (continuous_on_iff_continuous_restrict.mp
+        (a.trivialization_of_mem_pretrivialization_atlas
+            (a.pretrivialization_mem_atlas b)).continuous_toFun)
+      h
+  exact (a.continuous_total_space_mk b).codRestrict (a.mem_trivialization_at_source b)
+#align fiber_prebundle.inducing_total_space_mk_of_inducing_comp FiberPrebundle.inducing_totalSpaceMk_of_inducing_comp
+
 /-- Make a `fiber_bundle` from a `fiber_prebundle`.  Concretely this means
 that, given a `fiber_prebundle` structure for a sigma-type `E` -- which consists of a
 number of "pretrivializations" identifying parts of `E` with product spaces `U × F` -- one
 establishes that for the topology constructed on the sigma-type using
 `fiber_prebundle.total_space_topology`, these "pretrivializations" are actually
 "trivializations" (i.e., homeomorphisms with respect to the constructed topology). -/
-def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology a.fiberTopology
+def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _
     where
-  totalSpaceMk_inducing := a.inducing_totalSpaceMk
+  totalSpaceMk_inducing b := a.inducing_totalSpaceMk_of_inducing_comp b (a.totalSpaceMk_inducing b)
   trivializationAtlas :=
     { e |
       ∃ (e₀ : _)(he₀ : e₀ ∈ a.pretrivializationAtlas),
@@ -998,12 +998,10 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology a.fiberTopology
   mem_baseSet_trivializationAt := a.mem_base_pretrivializationAt
   trivialization_mem_atlas x := ⟨_, a.pretrivialization_mem_atlas x, rfl⟩
 #align fiber_prebundle.to_fiber_bundle FiberPrebundle.toFiberBundle
--/
 
 theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
   by
   letI := a.total_space_topology
-  letI := a.fiber_topology
   letI := a.to_fiber_bundle
   exact continuous_proj F E
 #align fiber_prebundle.continuous_proj FiberPrebundle.continuous_proj
Diff
@@ -177,7 +177,7 @@ variable {ι B F X : Type _} [TopologicalSpace X]
 
 open TopologicalSpace Filter Set Bundle
 
-open Topology Classical Bundle
+open scoped Topology Classical Bundle
 
 attribute [mfld_simps]
   total_space_mk coe_fst coe_snd coe_snd_map_apply coe_snd_map_smul total_space.mk_cast
Diff
@@ -231,12 +231,6 @@ namespace FiberBundle
 
 variable (F) {E} [FiberBundle F E]
 
-/- warning: fiber_bundle.map_proj_nhds -> FiberBundle.map_proj_nhds is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (x : Bundle.TotalSpace.{u1, u3} B E), Eq.{succ u1} (Filter.{u1} B) (Filter.map.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E) (nhds.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) _inst_4 x)) (nhds.{u1} B _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E x))
-but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] {E : B -> Type.{u1}} [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (x : Bundle.TotalSpace.{u2, u1} B E), Eq.{succ u2} (Filter.{u2} B) (Filter.map.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B (Bundle.TotalSpace.proj.{u2, u1} B E) (nhds.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B E) _inst_4 x)) (nhds.{u2} B _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E x))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.map_proj_nhds FiberBundle.map_proj_nhdsₓ'. -/
 theorem map_proj_nhds (x : TotalSpace E) : map (π E) (𝓝 x) = 𝓝 x.proj :=
   (trivializationAt F E x.proj).map_proj_nhds <|
     (trivializationAt F E x.proj).mem_source.2 <| mem_baseSet_trivializationAt F E x.proj
@@ -244,35 +238,17 @@ theorem map_proj_nhds (x : TotalSpace E) : map (π E) (𝓝 x) = 𝓝 x.proj :=
 
 variable (E)
 
-/- warning: fiber_bundle.continuous_proj -> FiberBundle.continuous_proj is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)], Continuous.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)
-but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)], Continuous.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_proj FiberBundle.continuous_projₓ'. -/
 /-- The projection from a fiber bundle to its base is continuous. -/
 @[continuity]
 theorem continuous_proj : Continuous (π E) :=
   continuous_iff_continuousAt.2 fun x => (map_proj_nhds F x).le
 #align fiber_bundle.continuous_proj FiberBundle.continuous_proj
 
-/- warning: fiber_bundle.is_open_map_proj -> FiberBundle.isOpenMap_proj is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)], IsOpenMap.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)
-but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)], IsOpenMap.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.is_open_map_proj FiberBundle.isOpenMap_projₓ'. -/
 /-- The projection from a fiber bundle to its base is an open map. -/
 theorem isOpenMap_proj : IsOpenMap (π E) :=
   IsOpenMap.of_nhds_le fun x => (map_proj_nhds F x).ge
 #align fiber_bundle.is_open_map_proj FiberBundle.isOpenMap_proj
 
-/- warning: fiber_bundle.surjective_proj -> FiberBundle.surjective_proj is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] [_inst_7 : Nonempty.{succ u2} F], Function.Surjective.{max (succ u1) (succ u3), succ u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E)
-but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] [_inst_7 : Nonempty.{succ u3} F], Function.Surjective.{max (succ u2) (succ u1), succ u2} (Bundle.TotalSpace.{u2, u1} B E) B (Bundle.TotalSpace.proj.{u2, u1} B E)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.surjective_proj FiberBundle.surjective_projₓ'. -/
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a surjective
 map. -/
 theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
@@ -281,48 +257,24 @@ theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
   ⟨p, hpb⟩
 #align fiber_bundle.surjective_proj FiberBundle.surjective_proj
 
-/- warning: fiber_bundle.quotient_map_proj -> FiberBundle.quotientMap_proj is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] [_inst_7 : Nonempty.{succ u2} F], QuotientMap.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)
-but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] [_inst_7 : Nonempty.{succ u3} F], QuotientMap.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.quotient_map_proj FiberBundle.quotientMap_projₓ'. -/
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a quotient
 map. -/
 theorem quotientMap_proj [Nonempty F] : QuotientMap (π E) :=
   (isOpenMap_proj F E).to_quotientMap (continuous_proj F E) (surjective_proj F E)
 #align fiber_bundle.quotient_map_proj FiberBundle.quotientMap_proj
 
-/- warning: fiber_bundle.continuous_total_space_mk -> FiberBundle.continuous_totalSpaceMk is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (x : B), Continuous.{u3, max u1 u3} (E x) (Bundle.TotalSpace.{u1, u3} B E) (_inst_5 x) _inst_4 (Bundle.totalSpaceMk.{u1, u3} B E x)
-but is expected to have type
-  forall {B : Type.{u1}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u2}) [_inst_4 : TopologicalSpace.{max u2 u1} (Bundle.TotalSpace.{u1, u2} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u2} (E b)] [_inst_6 : FiberBundle.{u1, u3, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (x : B), Continuous.{u2, max u1 u2} (E x) (Bundle.TotalSpace.{u1, u2} B E) (_inst_5 x) _inst_4 (Bundle.totalSpaceMk.{u1, u2} B E x)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_total_space_mk FiberBundle.continuous_totalSpaceMkₓ'. -/
 theorem continuous_totalSpaceMk (x : B) : Continuous (@totalSpaceMk B E x) :=
   (totalSpaceMk_inducing F E x).Continuous
 #align fiber_bundle.continuous_total_space_mk FiberBundle.continuous_totalSpaceMk
 
 variable {E F}
 
-/- warning: fiber_bundle.mem_trivialization_at_proj_source -> FiberBundle.mem_trivializationAt_proj_source is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] {x : Bundle.TotalSpace.{u1, u3} B E}, Membership.Mem.{max u1 u3, max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) (Set.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Set.hasMem.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) x (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) _inst_4 (Prod.topologicalSpace.{u1, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberBundle.trivializationAt.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u1, u3} B E x)))))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] {E : B -> Type.{u2}} [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u2} (E b)] [_inst_6 : FiberBundle.{u3, u1, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] {x : Bundle.TotalSpace.{u3, u2} B E}, Membership.mem.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B E) (Set.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B E)) (Set.instMembershipSet.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B E)) x (LocalEquiv.source.{max u3 u2, max u3 u1} (Bundle.TotalSpace.{u3, u2} B E) (Prod.{u3, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u1} (Bundle.TotalSpace.{u3, u2} B E) (Prod.{u3, u1} B F) _inst_4 (instTopologicalSpaceProd.{u3, u1} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberBundle.trivializationAt.{u3, u1, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u3, u2} B E x)))))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_trivializationAt_proj_source {x : TotalSpace E} :
     x ∈ (trivializationAt F E x.proj).source :=
   (Trivialization.mem_source _).mpr <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_source
 
-/- warning: fiber_bundle.trivialization_at_proj_fst -> FiberBundle.trivializationAt_proj_fst is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] {x : Bundle.TotalSpace.{u1, u3} B E}, Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u1) (succ u2)} (Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) (fun (_x : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) (FiberBundle.trivializationAt.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u1, u3} B E x)) x)) (Bundle.TotalSpace.proj.{u1, u3} B E x)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] {E : B -> Type.{u2}} [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u2} (E b)] [_inst_6 : FiberBundle.{u3, u1, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] {x : Bundle.TotalSpace.{u3, u2} B E}, Eq.{succ u3} B (Prod.fst.{u3, u1} B F (Trivialization.toFun'.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u2} B E) _inst_4 (FiberBundle.trivializationAt.{u3, u1, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u3, u2} B E x)) x)) (Bundle.TotalSpace.proj.{u3, u2} B E x)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.trivialization_at_proj_fst FiberBundle.trivializationAt_proj_fstₓ'. -/
 @[simp, mfld_simps]
 theorem trivializationAt_proj_fst {x : TotalSpace E} :
     ((trivializationAt F E x.proj) x).1 = x.proj :=
@@ -333,9 +285,6 @@ variable (F)
 
 open Trivialization
 
-/- warning: fiber_bundle.continuous_within_at_total_space -> FiberBundle.continuousWithinAt_totalSpace is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpaceₓ'. -/
 /-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
 theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀ : X} :
     ContinuousWithinAt f s x₀ ↔
@@ -358,12 +307,6 @@ theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀
   · rwa [source_eq, preimage_preimage]
 #align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpace
 
-/- warning: fiber_bundle.continuous_at_total_space -> FiberBundle.continuousAt_totalSpace is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u4}} [_inst_4 : TopologicalSpace.{max u1 u4} (Bundle.TotalSpace.{u1, u4} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u4} (E b)] [_inst_6 : FiberBundle.{u1, u2, u4} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (f : X -> (Bundle.TotalSpace.{u1, u4} B E)) {x₀ : X}, Iff (ContinuousAt.{u3, max u1 u4} X (Bundle.TotalSpace.{u1, u4} B E) _inst_1 _inst_4 f x₀) (And (ContinuousAt.{u3, u1} X B _inst_1 _inst_2 (fun (x : X) => Bundle.TotalSpace.proj.{u1, u4} B E (f x)) x₀) (ContinuousAt.{u3, u2} X F _inst_1 _inst_3 (fun (x : X) => Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u4)), max (succ (max u1 u4)) (succ u1) (succ u2)} (Trivialization.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u4} B E)) (fun (_x : Trivialization.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u4} B E)) => (Bundle.TotalSpace.{u1, u4} B E) -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u4} B E) _inst_4) (FiberBundle.trivializationAt.{u1, u2, u4} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u1, u4} B E (f x₀))) (f x))) x₀))
-but is expected to have type
-  forall {B : Type.{u4}} (F : Type.{u1}) {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u4} B] [_inst_3 : TopologicalSpace.{u1} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u3 u4} (Bundle.TotalSpace.{u4, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u4, u1, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (f : X -> (Bundle.TotalSpace.{u4, u3} B E)) {x₀ : X}, Iff (ContinuousAt.{u2, max u4 u3} X (Bundle.TotalSpace.{u4, u3} B E) _inst_1 _inst_4 f x₀) (And (ContinuousAt.{u2, u4} X B _inst_1 _inst_2 (fun (x : X) => Bundle.TotalSpace.proj.{u4, u3} B E (f x)) x₀) (ContinuousAt.{u2, u1} X F _inst_1 _inst_3 (fun (x : X) => Prod.snd.{u4, u1} B F (Trivialization.toFun'.{u4, u1, max u4 u3} B F (Bundle.TotalSpace.{u4, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u4, u3} B E) _inst_4 (FiberBundle.trivializationAt.{u4, u1, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u4, u3} B E (f x₀))) (f x))) x₀))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_at_total_space FiberBundle.continuousAt_totalSpaceₓ'. -/
 /-- Characterization of continuous functions (at a point) into a fiber bundle. -/
 theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
     ContinuousAt f x₀ ↔
@@ -376,12 +319,6 @@ end FiberBundle
 
 variable (F E)
 
-/- warning: fiber_bundle.exists_trivialization_Icc_subset -> FiberBundle.exists_trivialization_Icc_subset is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : ConditionallyCompleteLinearOrder.{u1} B] [_inst_7 : OrderTopology.{u1} B _inst_2 (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (ConditionallyCompleteLattice.toLattice.{u1} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} B _inst_6)))))] [_inst_8 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (a : B) (b : B), Exists.{max (succ u1) (succ u2) (succ (max u1 u3))} (Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) (fun (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) => HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) (Set.Icc.{u1} B (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (ConditionallyCompleteLattice.toLattice.{u1} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} B _inst_6))))) a b) (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e))
-but is expected to have type
-  forall {B : Type.{u3}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : ConditionallyCompleteLinearOrder.{u3} B] [_inst_7 : OrderTopology.{u3} B _inst_2 (PartialOrder.toPreorder.{u3} B (SemilatticeInf.toPartialOrder.{u3} B (Lattice.toSemilatticeInf.{u3} B (ConditionallyCompleteLattice.toLattice.{u3} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} B _inst_6)))))] [_inst_8 : FiberBundle.{u3, u2, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (a : B) (b : B), Exists.{max (max (succ u3) (succ u2)) (succ u1)} (Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) (fun (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) => HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) (Set.Icc.{u3} B (PartialOrder.toPreorder.{u3} B (SemilatticeInf.toPartialOrder.{u3} B (Lattice.toSemilatticeInf.{u3} B (ConditionallyCompleteLattice.toLattice.{u3} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} B _inst_6))))) a b) (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subsetₓ'. -/
 /-- If `E` is a fiber bundle over a conditionally complete linear order,
 then it is trivial over any closed interval. -/
 theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinearOrder B]
@@ -546,12 +483,6 @@ def proj : Z.TotalSpace → B :=
 #align fiber_bundle_core.proj FiberBundleCore.proj
 -/
 
-/- warning: fiber_bundle_core.triv_change -> FiberBundleCore.trivChange is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F], (FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) -> ι -> ι -> (LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F], (FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) -> ι -> ι -> (LocalHomeomorph.{max u3 u2, max u3 u2} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (instTopologicalSpaceProd.{u2, u3} B F _inst_2 _inst_3) (instTopologicalSpaceProd.{u2, u3} B F _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.triv_change FiberBundleCore.trivChangeₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- Local homeomorphism version of the trivialization change. -/
@@ -583,12 +514,6 @@ def trivChange (i j : ι) : LocalHomeomorph (B × F) (B × F)
       ContinuousOn.prod continuous_fst.continuous_on (Z.continuous_on_coord_change j i)
 #align fiber_bundle_core.triv_change FiberBundleCore.trivChange
 
-/- warning: fiber_bundle_core.mem_triv_change_source -> FiberBundleCore.mem_trivChange_source is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (j : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.trivChange.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i j)))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Inter.inter.{u2} (Set.{u2} B) (Set.hasInter.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z j)))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (j : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (FiberBundleCore.trivChange.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i j)))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_2 F _inst_3 Z i) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_2 F _inst_3 Z j)))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_triv_change_source FiberBundleCore.mem_trivChange_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_trivChange_source (i j : ι) (p : B × F) :
     p ∈ (Z.trivChange i j).source ↔ p.1 ∈ Z.baseSet i ∩ Z.baseSet j := by erw [mem_prod]; simp
@@ -632,45 +557,21 @@ def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F)
 
 variable (i : ι)
 
-/- warning: fiber_bundle_core.mem_local_triv_as_local_equiv_source -> FiberBundleCore.mem_localTrivAsLocalEquiv_source is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Set.hasMem.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i))
-but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (Set.instMembershipSet.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) p (LocalEquiv.source.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u1} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.baseSet.{u3, u2, u1} ι B _inst_2 F _inst_3 Z i))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_sourceₓ'. -/
 theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpace) :
     p ∈ (Z.localTrivAsLocalEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_source
 
-/- warning: fiber_bundle_core.mem_local_triv_as_local_equiv_target -> FiberBundleCore.mem_localTrivAsLocalEquiv_target is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_2 F _inst_3 Z i))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_targetₓ'. -/
 theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
     p ∈ (Z.localTrivAsLocalEquiv i).target ↔ p.1 ∈ Z.baseSet i := by erw [mem_prod];
   simp only [and_true_iff, mem_univ]
 #align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_target
 
-/- warning: fiber_bundle_core.local_triv_as_local_equiv_apply -> FiberBundleCore.localTrivAsLocalEquiv_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) (fun (_x : LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (LocalEquiv.hasCoeToFun.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)) i (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)))
-but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (LocalEquiv.toFun.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u1} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.coordChange.{u3, u2, u1} ι B _inst_2 F _inst_3 Z (FiberBundleCore.indexAt.{u3, u2, u1} ι B _inst_2 F _inst_3 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)) i (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_applyₓ'. -/
 theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpace) :
     (Z.localTrivAsLocalEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_apply
 
-/- warning: fiber_bundle_core.local_triv_as_local_equiv_trans -> FiberBundleCore.localTrivAsLocalEquiv_trans is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (j : ι), HasEquivₓ.Equiv.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F)) (setoidHasEquiv.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F)) (LocalEquiv.eqOnSourceSetoid.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F))) (LocalEquiv.trans.{max u2 u3, max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z j)) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.trivChange.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i j))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (j : ι), HasEquiv.Equiv.{max (max (succ u3) (succ u2)) (succ (max u3 u2)), 0} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (instHasEquiv.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (LocalEquiv.eqOnSourceSetoid.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F))) (LocalEquiv.trans.{max u3 u2, max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z j)) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (FiberBundleCore.trivChange.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i j))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsLocalEquiv_transₓ'. -/
 /-- The composition of two local trivializations is the trivialization change Z.triv_change i j. -/
 theorem localTrivAsLocalEquiv_trans (i j : ι) :
     (Z.localTrivAsLocalEquiv i).symm.trans (Z.localTrivAsLocalEquiv j) ≈
@@ -697,12 +598,6 @@ instance toTopologicalSpace : TopologicalSpace (Bundle.TotalSpace Z.Fiber) :=
 
 variable (b : B) (a : F)
 
-/- warning: fiber_bundle_core.open_source' -> FiberBundleCore.open_source' is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), IsOpen.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), IsOpen.{max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.open_source' FiberBundleCore.open_source'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem open_source' (i : ι) : IsOpen (Z.localTrivAsLocalEquiv i).source :=
   by
@@ -769,23 +664,11 @@ def localTrivAt (b : B) : Trivialization F (π Z.Fiber) :=
 #align fiber_bundle_core.local_triv_at FiberBundleCore.localTrivAt
 -/
 
-/- warning: fiber_bundle_core.local_triv_at_def -> FiberBundleCore.localTrivAt_def is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (b : B), Eq.{max (succ u2) (succ u3) (succ (max u2 u3))} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_2 F _inst_3 Z b)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b)
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B), Eq.{max (succ u3) (succ u2)} (Trivialization.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z (FiberBundleCore.indexAt.{u1, u3, u2} ι B _inst_2 F _inst_3 Z b)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_def FiberBundleCore.localTrivAt_defₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAt_def (b : B) : Z.localTriv (Z.indexAt b) = Z.localTrivAt b :=
   rfl
 #align fiber_bundle_core.local_triv_at_def FiberBundleCore.localTrivAt_def
 
-/- warning: fiber_bundle_core.continuous_const_section -> FiberBundleCore.continuous_const_section is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (v : F), (forall (i : ι) (j : ι) (x : B), (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) x (Inter.inter.{u2} (Set.{u2} B) (Set.hasInter.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z j))) -> (Eq.{succ u3} F (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i j x v) v)) -> (Continuous.{u2, max u2 u3} B (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) ((fun (this : B -> (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) => this) (fun (x : B) => Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) x v)))
-but is expected to have type
-  forall {ι : Type.{u2}} {B : Type.{u3}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u2, u3, u1} ι B _inst_2 F _inst_3) (v : F), (forall (i : ι) (j : ι) (x : B), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_2 F _inst_3 Z i) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_2 F _inst_3 Z j))) -> (Eq.{succ u1} F (FiberBundleCore.coordChange.{u2, u3, u1} ι B _inst_2 F _inst_3 Z i j x v) v)) -> (Continuous.{u3, max u3 u1} B (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.toTopologicalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) ([mdata let_fun:1 (fun (this : B -> (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z)) => this) (fun (x : B) => Sigma.mk.{u3, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u2, u3, u1} ι B F _inst_2 _inst_3 Z x) x v)]))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.continuous_const_section FiberBundleCore.continuous_const_sectionₓ'. -/
 /-- If an element of `F` is invariant under all coordinate changes, then one can define a
 corresponding section of the fiber bundle, which is continuous. This applies in particular to the
 zero section of a vector bundle. Another example (not yet defined) would be the identity
@@ -807,175 +690,85 @@ theorem continuous_const_section (v : F)
   · exact A
 #align fiber_bundle_core.continuous_const_section FiberBundleCore.continuous_const_section
 
-/- warning: fiber_bundle_core.local_triv_as_local_equiv_coe -> FiberBundleCore.localTrivAsLocalEquiv_coe is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ (max u2 u3)} ((FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) (fun (_x : LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (LocalEquiv.hasCoeToFun.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} ((FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) -> (Prod.{u3, u2} B F)) (LocalEquiv.toFun.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (Trivialization.toFun'.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsLocalEquiv_coeₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_coe : ⇑(Z.localTrivAsLocalEquiv i) = Z.localTriv i :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsLocalEquiv_coe
 
-/- warning: fiber_bundle_core.local_triv_as_local_equiv_source -> FiberBundleCore.localTrivAsLocalEquiv_source is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsLocalEquiv_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_source :
     (Z.localTrivAsLocalEquiv i).source = (Z.localTriv i).source :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsLocalEquiv_source
 
-/- warning: fiber_bundle_core.local_triv_as_local_equiv_target -> FiberBundleCore.localTrivAsLocalEquiv_target is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (Prod.{u2, u3} B F)) (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsLocalEquiv_targetₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_target :
     (Z.localTrivAsLocalEquiv i).target = (Z.localTriv i).target :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsLocalEquiv_target
 
-/- warning: fiber_bundle_core.local_triv_as_local_equiv_symm -> FiberBundleCore.localTrivAsLocalEquiv_symm is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsLocalEquiv_symmₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_symm :
     (Z.localTrivAsLocalEquiv i).symm = (Z.localTriv i).toLocalEquiv.symm :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsLocalEquiv_symm
 
-/- warning: fiber_bundle_core.base_set_at -> FiberBundleCore.baseSet_at is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ u2} (Set.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))
-but is expected to have type
-  forall {ι : Type.{u2}} {B : Type.{u3}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u2, u3, u1} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ u3} (Set.{u3} B) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_2 F _inst_3 Z i) (Trivialization.baseSet.{u3, u1, max u3 u1} B F (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u2, u3, u1} ι B F _inst_2 _inst_3 Z i))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.base_set_at FiberBundleCore.baseSet_atₓ'. -/
 @[simp, mfld_simps]
 theorem baseSet_at : Z.baseSet i = (Z.localTriv i).baseSet :=
   rfl
 #align fiber_bundle_core.base_set_at FiberBundleCore.baseSet_at
 
-/- warning: fiber_bundle_core.local_triv_apply -> FiberBundleCore.localTriv_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)) i (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)))
-but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.coordChange.{u3, u2, u1} ι B _inst_2 F _inst_3 Z (FiberBundleCore.indexAt.{u3, u2, u1} ι B _inst_2 F _inst_3 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)) i (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_apply FiberBundleCore.localTriv_applyₓ'. -/
 @[simp, mfld_simps]
 theorem localTriv_apply (p : Z.TotalSpace) :
     (Z.localTriv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_apply FiberBundleCore.localTriv_apply
 
-/- warning: fiber_bundle_core.local_triv_at_apply -> FiberBundleCore.localTrivAt_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) => (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p))
-but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_2 _inst_3 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_applyₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ := by
   rw [local_triv_at, local_triv_apply, coord_change_self]; exact Z.mem_base_set_at p.1
 #align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_apply
 
-/- warning: fiber_bundle_core.local_triv_at_apply_mk -> FiberBundleCore.localTrivAt_apply_mk is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (b : B) (a : F), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) => (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) b a)) (Prod.mk.{u2, u3} B F b a)
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B) (a : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x) b a)) (Prod.mk.{u3, u2} B F b a)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_apply_mk FiberBundleCore.localTrivAt_apply_mkₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAt_apply_mk (b : B) (a : F) : (Z.localTrivAt b) ⟨b, a⟩ = ⟨b, a⟩ :=
   Z.localTrivAt_apply _
 #align fiber_bundle_core.local_triv_at_apply_mk FiberBundleCore.localTrivAt_apply_mk
 
-/- warning: fiber_bundle_core.mem_local_triv_source -> FiberBundleCore.mem_localTriv_source is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Set.hasMem.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)))
-but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (Set.instMembershipSet.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) p (LocalEquiv.source.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u1} B F) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u2, u1} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i))))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Trivialization.baseSet.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i)))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_source FiberBundleCore.mem_localTriv_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTriv_source (p : Z.TotalSpace) :
     p ∈ (Z.localTriv i).source ↔ p.1 ∈ (Z.localTriv i).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_source FiberBundleCore.mem_localTriv_source
 
-/- warning: fiber_bundle_core.mem_local_triv_at_source -> FiberBundleCore.mem_localTrivAt_source is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (b : B), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (Set.hasMem.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) p (LocalEquiv.source.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b)))
-but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (b : B), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z))) (Set.instMembershipSet.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z))) p (LocalEquiv.source.{max u2 u1, max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u1} B F) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u2, u1} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_2 _inst_3 Z b))))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Trivialization.baseSet.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_2 _inst_3 Z b)))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_source FiberBundleCore.mem_localTrivAt_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTrivAt_source (p : Z.TotalSpace) (b : B) :
     p ∈ (Z.localTrivAt b).source ↔ p.1 ∈ (Z.localTrivAt b).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_at_source FiberBundleCore.mem_localTrivAt_source
 
-/- warning: fiber_bundle_core.mem_source_at -> FiberBundleCore.mem_source_at is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (b : B) (a : F), Membership.Mem.{max u2 u3, max u2 u3} (Sigma.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x)) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (Set.hasMem.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) b a) (LocalEquiv.source.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b))))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B) (a : F), Membership.mem.{max u3 u2, max u3 u2} (Sigma.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x)) (Set.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z))) (Set.instMembershipSet.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z))) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x) b a) (LocalEquiv.source.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b))))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_atₓ'. -/
 @[simp, mfld_simps]
 theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source := by
   rw [local_triv_at, mem_local_triv_source]; exact Z.mem_base_set_at b
 #align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_at
 
-/- warning: fiber_bundle_core.mem_local_triv_target -> FiberBundleCore.mem_localTriv_target is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Trivialization.baseSet.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_target FiberBundleCore.mem_localTriv_targetₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTriv_target (p : B × F) :
     p ∈ (Z.localTriv i).target ↔ p.1 ∈ (Z.localTriv i).baseSet :=
   Trivialization.mem_target _
 #align fiber_bundle_core.mem_local_triv_target FiberBundleCore.mem_localTriv_target
 
-/- warning: fiber_bundle_core.mem_local_triv_at_target -> FiberBundleCore.mem_localTrivAt_target is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (p : Prod.{u2, u3} B F) (b : B), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b)))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (p : Prod.{u3, u2} B F) (b : B), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b))))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Trivialization.baseSet.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b)))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_target FiberBundleCore.mem_localTrivAt_targetₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTrivAt_target (p : B × F) (b : B) :
     p ∈ (Z.localTrivAt b).target ↔ p.1 ∈ (Z.localTrivAt b).baseSet :=
   Trivialization.mem_target _
 #align fiber_bundle_core.mem_local_triv_at_target FiberBundleCore.mem_localTrivAt_target
 
-/- warning: fiber_bundle_core.local_triv_symm_apply -> FiberBundleCore.localTriv_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u2, u3} B F), Eq.{max (succ u2) (succ u3)} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (fun (_x : LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) => (Prod.{u2, u3} B F) -> (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (LocalHomeomorph.hasCoeToFun.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (LocalHomeomorph.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))) p) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) (Prod.fst.{u2, u3} B F p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (Prod.fst.{u2, u3} B F p)) (Prod.fst.{u2, u3} B F p) (Prod.snd.{u2, u3} B F p)))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u3, u2} B F), Eq.{max (succ u3) (succ u2)} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (LocalHomeomorph.toFun'.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (LocalHomeomorph.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))) p) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x) (Prod.fst.{u3, u2} B F p) (FiberBundleCore.coordChange.{u1, u3, u2} ι B _inst_2 F _inst_3 Z i (FiberBundleCore.indexAt.{u1, u3, u2} ι B _inst_2 F _inst_3 Z (Prod.fst.{u3, u2} B F p)) (Prod.fst.{u3, u2} B F p) (Prod.snd.{u3, u2} B F p)))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_symm_apply FiberBundleCore.localTriv_symm_applyₓ'. -/
 @[simp, mfld_simps]
 theorem localTriv_symm_apply (p : B × F) :
     (Z.localTriv i).toLocalHomeomorph.symm p = ⟨p.1, Z.coordChange i (Z.indexAt p.1) p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_symm_apply FiberBundleCore.localTriv_symm_apply
 
-/- warning: fiber_bundle_core.mem_local_triv_at_base_set -> FiberBundleCore.mem_localTrivAt_baseSet is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (b : B), Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) b (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b))
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B), Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b))
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSetₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet := by
   rw [local_triv_at, ← base_set_at]; exact Z.mem_base_set_at b
@@ -1042,23 +835,11 @@ instance fiberBundle : FiberBundle F Z.Fiber
 #align fiber_bundle_core.fiber_bundle FiberBundleCore.fiberBundle
 -/
 
-/- warning: fiber_bundle_core.continuous_proj -> FiberBundleCore.continuous_proj is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3), Continuous.{max u2 u3, u2} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3), Continuous.{max u3 u2, u3} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.continuous_proj FiberBundleCore.continuous_projₓ'. -/
 /-- The projection on the base of a fiber bundle created from core is continuous -/
 theorem continuous_proj : Continuous Z.proj :=
   continuous_proj F Z.Fiber
 #align fiber_bundle_core.continuous_proj FiberBundleCore.continuous_proj
 
-/- warning: fiber_bundle_core.is_open_map_proj -> FiberBundleCore.isOpenMap_proj is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3), IsOpenMap.{max u2 u3, u2} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)
-but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3), IsOpenMap.{max u3 u2, u3} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)
-Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.is_open_map_proj FiberBundleCore.isOpenMap_projₓ'. -/
 /-- The projection on the base of a fiber bundle created from core is an open map -/
 theorem isOpenMap_proj : IsOpenMap Z.proj :=
   isOpenMap_proj F Z.Fiber
@@ -1101,12 +882,6 @@ def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E
 #align fiber_prebundle.total_space_topology FiberPrebundle.totalSpaceTopology
 -/
 
-/- warning: fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas -> FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) {e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)}, (Membership.Mem.{max u1 u2 u1 u3, max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) (Set.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E))) (Set.hasMem.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E))) e (FiberPrebundle.pretrivializationAtlas.{u1, u2, u3} B F E _inst_2 _inst_3 a)) -> (ContinuousOn.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) (Prod.topologicalSpace.{u1, u2} B F _inst_2 _inst_3) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e))) (LocalEquiv.target.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e)))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_2 _inst_3) {e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)}, (Membership.mem.{max (max u3 u2) u1, max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) (Set.{max (max (max u3 u1) u2) u3} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E))) (Set.instMembershipSet.{max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E))) e (FiberPrebundle.pretrivializationAtlas.{u3, u2, u1} B F E _inst_2 _inst_3 a)) -> (ContinuousOn.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (FiberPrebundle.totalSpaceTopology.{u3, u2, u1} B F E _inst_2 _inst_3 a) (LocalEquiv.toFun.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e))) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e)))
-Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlasₓ'. -/
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target :=
   by
@@ -1116,12 +891,6 @@ theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializ
   exact le_iSup₂ e he
 #align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas
 
-/- warning: fiber_prebundle.is_open_source -> FiberPrebundle.isOpen_source is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)), IsOpen.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_2 _inst_3) (e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)), IsOpen.{max u3 u1} (Bundle.TotalSpace.{u3, u1} B E) (FiberPrebundle.totalSpaceTopology.{u3, u2, u1} B F E _inst_2 _inst_3 a) (LocalEquiv.source.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e))
-Case conversion may be inaccurate. Consider using '#align fiber_prebundle.is_open_source FiberPrebundle.isOpen_sourceₓ'. -/
 theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTopology] e.source :=
   by
   letI := a.total_space_topology
@@ -1133,12 +902,6 @@ theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTop
     Pretrivialization.preimage_symm_proj_inter]
 #align fiber_prebundle.is_open_source FiberPrebundle.isOpen_source
 
-/- warning: fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter -> FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) (e' : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)), (Membership.Mem.{max u1 u2 u1 u3, max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) (Set.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E))) (Set.hasMem.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E))) e' (FiberPrebundle.pretrivializationAtlas.{u1, u2, u3} B F E _inst_2 _inst_3 a)) -> (IsOpen.{max u1 u2} (Prod.{u1, u2} B F) (Prod.topologicalSpace.{u1, u2} B F _inst_2 _inst_3) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasInter.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.target.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e')) (Set.preimage.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e'))) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e)))))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_2 _inst_3) (e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) (e' : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)), (Membership.mem.{max (max u3 u2) u1, max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) (Set.{max (max (max u3 u1) u2) u3} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E))) (Set.instMembershipSet.{max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E))) e' (FiberPrebundle.pretrivializationAtlas.{u3, u2, u1} B F E _inst_2 _inst_3 a)) -> (IsOpen.{max u3 u2} (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Inter.inter.{max u3 u2} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instInterSet.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e')) (Set.preimage.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.toFun.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e'))) (LocalEquiv.source.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e)))))
-Case conversion may be inaccurate. Consider using '#align fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_interₓ'. -/
 theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π E))
     (he' : e' ∈ a.pretrivializationAtlas) :
     IsOpen (e'.toLocalEquiv.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source) :=
@@ -1177,12 +940,6 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
 #align fiber_prebundle.trivialization_of_mem_pretrivialization_atlas FiberPrebundle.trivializationOfMemPretrivializationAtlas
 -/
 
-/- warning: fiber_prebundle.mem_trivialization_at_source -> FiberPrebundle.mem_pretrivializationAt_source is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (b : B) (x : E b), Membership.Mem.{max u1 u3, max u1 u3} (Bundle.TotalSpace.{u1, u3} B (fun (b : B) => E b)) (Set.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Set.hasMem.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Bundle.totalSpaceMk.{u1, u3} B (fun (b : B) => E b) b x) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_2 _inst_3 a b)))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_2 _inst_3) (b : B) (x : E b), Membership.mem.{max u3 u2, max u2 u3} (Bundle.TotalSpace.{u2, u3} B E) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B E)) (Set.instMembershipSet.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B E)) (Bundle.totalSpaceMk.{u2, u3} B E b x) (LocalEquiv.source.{max u2 u3, max u2 u1} (Bundle.TotalSpace.{u2, u3} B E) (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u3} B E) (FiberPrebundle.pretrivializationAt.{u2, u1, u3} B F E _inst_2 _inst_3 a b)))
-Case conversion may be inaccurate. Consider using '#align fiber_prebundle.mem_trivialization_at_source FiberPrebundle.mem_pretrivializationAt_sourceₓ'. -/
 theorem mem_pretrivializationAt_source (b : B) (x : E b) :
     totalSpaceMk b x ∈ (a.pretrivializationAt b).source :=
   by
@@ -1190,12 +947,6 @@ theorem mem_pretrivializationAt_source (b : B) (x : E b) :
   exact a.mem_base_pretrivialization_at b
 #align fiber_prebundle.mem_trivialization_at_source FiberPrebundle.mem_pretrivializationAt_source
 
-/- warning: fiber_prebundle.total_space_mk_preimage_source -> FiberPrebundle.totalSpaceMk_preimage_source is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (b : B), Eq.{succ u3} (Set.{u3} (E b)) (Set.preimage.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.totalSpaceMk.{u1, u3} B E b) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_2 _inst_3 a b)))) (Set.univ.{u3} (E b))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_2 _inst_3) (b : B), Eq.{succ u3} (Set.{u3} (E b)) (Set.preimage.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (Bundle.totalSpaceMk.{u2, u3} B E b) (LocalEquiv.source.{max u2 u3, max u2 u1} (Bundle.TotalSpace.{u2, u3} B E) (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u3} B E) (FiberPrebundle.pretrivializationAt.{u2, u1, u3} B F E _inst_2 _inst_3 a b)))) (Set.univ.{u3} (E b))
-Case conversion may be inaccurate. Consider using '#align fiber_prebundle.total_space_mk_preimage_source FiberPrebundle.totalSpaceMk_preimage_sourceₓ'. -/
 @[simp]
 theorem totalSpaceMk_preimage_source (b : B) :
     totalSpaceMk b ⁻¹' (a.pretrivializationAt b).source = univ :=
@@ -1214,24 +965,12 @@ def fiberTopology (b : B) : TopologicalSpace (E b) :=
 #align fiber_prebundle.fiber_topology FiberPrebundle.fiberTopology
 -/
 
-/- warning: fiber_prebundle.inducing_total_space_mk -> FiberPrebundle.inducing_totalSpaceMk is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (b : B), Inducing.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.fiberTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a b) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) (Bundle.totalSpaceMk.{u1, u3} B E b)
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_2 _inst_3) (b : B), Inducing.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (FiberPrebundle.fiberTopology.{u2, u1, u3} B F E _inst_2 _inst_3 a b) (FiberPrebundle.totalSpaceTopology.{u2, u1, u3} B F E _inst_2 _inst_3 a) (Bundle.totalSpaceMk.{u2, u3} B E b)
-Case conversion may be inaccurate. Consider using '#align fiber_prebundle.inducing_total_space_mk FiberPrebundle.inducing_totalSpaceMkₓ'. -/
 @[continuity]
 theorem inducing_totalSpaceMk (b : B) :
     @Inducing _ _ (a.fiberTopology b) a.totalSpaceTopology (totalSpaceMk b) := by
   letI := a.total_space_topology; letI := a.fiber_topology b; exact ⟨rfl⟩
 #align fiber_prebundle.inducing_total_space_mk FiberPrebundle.inducing_totalSpaceMk
 
-/- warning: fiber_prebundle.continuous_total_space_mk -> FiberPrebundle.continuous_totalSpaceMk is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (b : B), Continuous.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.fiberTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a b) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) (Bundle.totalSpaceMk.{u1, u3} B E b)
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_2 _inst_3) (b : B), Continuous.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (FiberPrebundle.fiberTopology.{u2, u1, u3} B F E _inst_2 _inst_3 a b) (FiberPrebundle.totalSpaceTopology.{u2, u1, u3} B F E _inst_2 _inst_3 a) (Bundle.totalSpaceMk.{u2, u3} B E b)
-Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_total_space_mk FiberPrebundle.continuous_totalSpaceMkₓ'. -/
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) :
     @Continuous _ _ (a.fiberTopology b) a.totalSpaceTopology (totalSpaceMk b) :=
@@ -1261,12 +1000,6 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology a.fiberTopology
 #align fiber_prebundle.to_fiber_bundle FiberPrebundle.toFiberBundle
 -/
 
-/- warning: fiber_prebundle.continuous_proj -> FiberPrebundle.continuous_proj is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3), Continuous.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u1}} {E : B -> Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u3, u1, u2} B F E _inst_2 _inst_3), Continuous.{max u3 u2, u3} (Bundle.TotalSpace.{u3, u2} B E) B (FiberPrebundle.totalSpaceTopology.{u3, u1, u2} B F E _inst_2 _inst_3 a) _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E)
-Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_proj FiberPrebundle.continuous_projₓ'. -/
 theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
   by
   letI := a.total_space_topology
@@ -1275,12 +1008,6 @@ theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
   exact continuous_proj F E
 #align fiber_prebundle.continuous_proj FiberPrebundle.continuous_proj
 
-/- warning: fiber_prebundle.continuous_on_of_comp_right -> FiberPrebundle.continuousOn_of_comp_right is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) {X : Type.{u4}} [_inst_4 : TopologicalSpace.{u4} X] {f : (Bundle.TotalSpace.{u1, u3} B E) -> X} {s : Set.{u1} B}, (IsOpen.{u1} B _inst_2 s) -> (forall (b : B), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b s) -> (ContinuousOn.{max u1 u2, u4} (Prod.{u1, u2} B F) X (Prod.topologicalSpace.{u1, u2} B F _inst_2 _inst_3) _inst_4 (Function.comp.{succ (max u1 u2), max (succ u1) (succ u3), succ u4} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) X f (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_2 _inst_3 a b))))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) s (Pretrivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_2 _inst_3 a b))) (Set.univ.{u2} F)))) -> (ContinuousOn.{max u1 u3, u4} (Bundle.TotalSpace.{u1, u3} B E) X (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) _inst_4 f (Set.preimage.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E) s))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u1}} {E : B -> Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u3, u1, u2} B F E _inst_2 _inst_3) {X : Type.{u4}} [_inst_4 : TopologicalSpace.{u4} X] {f : (Bundle.TotalSpace.{u3, u2} B E) -> X} {s : Set.{u3} B}, (IsOpen.{u3} B _inst_2 s) -> (forall (b : B), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b s) -> (ContinuousOn.{max u3 u1, u4} (Prod.{u3, u1} B F) X (instTopologicalSpaceProd.{u3, u1} B F _inst_2 _inst_3) _inst_4 (Function.comp.{succ (max u3 u1), max (succ u3) (succ u2), succ u4} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) X f (LocalEquiv.toFun.{max u3 u1, max u3 u2} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) (LocalEquiv.symm.{max u3 u2, max u3 u1} (Bundle.TotalSpace.{u3, u2} B E) (Prod.{u3, u1} B F) (Pretrivialization.toLocalEquiv.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberPrebundle.pretrivializationAt.{u3, u1, u2} B F E _inst_2 _inst_3 a b))))) (Set.prod.{u3, u1} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) s (Pretrivialization.baseSet.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberPrebundle.pretrivializationAt.{u3, u1, u2} B F E _inst_2 _inst_3 a b))) (Set.univ.{u1} F)))) -> (ContinuousOn.{max u3 u2, u4} (Bundle.TotalSpace.{u3, u2} B E) X (FiberPrebundle.totalSpaceTopology.{u3, u1, u2} B F E _inst_2 _inst_3 a) _inst_4 f (Set.preimage.{max u3 u2, u3} (Bundle.TotalSpace.{u3, u2} B E) B (Bundle.TotalSpace.proj.{u3, u2} B E) s))
-Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_on_of_comp_right FiberPrebundle.continuousOn_of_comp_rightₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- For a fiber bundle `E` over `B` constructed using the `fiber_prebundle` mechanism,
 continuity of a function `total_space E → X` on an open set `s` can be checked by precomposing at
Diff
@@ -369,9 +369,7 @@ theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
     ContinuousAt f x₀ ↔
       ContinuousAt (fun x => (f x).proj) x₀ ∧
         ContinuousAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) x₀ :=
-  by
-  simp_rw [← continuousWithinAt_univ]
-  exact continuous_within_at_total_space F f
+  by simp_rw [← continuousWithinAt_univ]; exact continuous_within_at_total_space F f
 #align fiber_bundle.continuous_at_total_space FiberBundle.continuousAt_totalSpace
 
 end FiberBundle
@@ -407,8 +405,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
     have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
     obtain ⟨-, ec : Trivialization F (π E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s :=
       by
-      cases' hc.1.eq_or_lt with heq hlt
-      · rwa [← HEq]
+      cases' hc.1.eq_or_lt with heq hlt; · rwa [← HEq]
       refine' ⟨hc, _⟩
       /- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
           of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
@@ -451,9 +448,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
       exacts[Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
     · /- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
           `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
-      rw [disjoint_left] at he
-      push_neg  at he
-      rcases he with ⟨d', hdd' : d' < d, hd'c⟩
+      rw [disjoint_left] at he; push_neg  at he; rcases he with ⟨d', hdd' : d' < d, hd'c⟩
       exact ⟨d', ⟨hd'c, hdd'.le.trans hdcb.2⟩, ec, (Icc_subset_Ico_right hdd').trans had⟩
 #align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subset
 
@@ -596,10 +591,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_triv_change_source FiberBundleCore.mem_trivChange_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_trivChange_source (i j : ι) (p : B × F) :
-    p ∈ (Z.trivChange i j).source ↔ p.1 ∈ Z.baseSet i ∩ Z.baseSet j :=
-  by
-  erw [mem_prod]
-  simp
+    p ∈ (Z.trivChange i j).source ↔ p.1 ∈ Z.baseSet i ∩ Z.baseSet j := by erw [mem_prod]; simp
 #align fiber_bundle_core.mem_triv_change_source FiberBundleCore.mem_trivChange_source
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -658,9 +650,7 @@ but is expected to have type
   forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_2 F _inst_3 Z i))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_targetₓ'. -/
 theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
-    p ∈ (Z.localTrivAsLocalEquiv i).target ↔ p.1 ∈ Z.baseSet i :=
-  by
-  erw [mem_prod]
+    p ∈ (Z.localTrivAsLocalEquiv i).target ↔ p.1 ∈ Z.baseSet i := by erw [mem_prod];
   simp only [and_true_iff, mem_univ]
 #align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_target
 
@@ -687,9 +677,7 @@ theorem localTrivAsLocalEquiv_trans (i j : ι) :
       (Z.trivChange i j).toLocalEquiv :=
   by
   constructor
-  · ext x
-    simp only [mem_local_triv_as_local_equiv_target, mfld_simps]
-    rfl
+  · ext x; simp only [mem_local_triv_as_local_equiv_target, mfld_simps]; rfl
   · rintro ⟨x, v⟩ hx
     simp only [triv_change, local_triv_as_local_equiv, LocalEquiv.symm, true_and_iff,
       Prod.mk.inj_iff, prod_mk_mem_set_prod_eq, LocalEquiv.trans_source, mem_inter_iff,
@@ -735,9 +723,7 @@ def localTriv (i : ι) : Trivialization F Z.proj
   open_baseSet := Z.isOpen_baseSet i
   source_eq := rfl
   target_eq := rfl
-  proj_toFun p hp := by
-    simp only [mfld_simps]
-    rfl
+  proj_toFun p hp := by simp only [mfld_simps]; rfl
   open_source := Z.open_source' i
   open_target := (Z.isOpen_baseSet i).Prod isOpen_univ
   continuous_toFun := by
@@ -898,10 +884,8 @@ but is expected to have type
   forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_2 _inst_3 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_applyₓ'. -/
 @[simp, mfld_simps]
-theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ :=
-  by
-  rw [local_triv_at, local_triv_apply, coord_change_self]
-  exact Z.mem_base_set_at p.1
+theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ := by
+  rw [local_triv_at, local_triv_apply, coord_change_self]; exact Z.mem_base_set_at p.1
 #align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_apply
 
 /- warning: fiber_bundle_core.local_triv_at_apply_mk -> FiberBundleCore.localTrivAt_apply_mk is a dubious translation:
@@ -946,10 +930,8 @@ but is expected to have type
   forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B) (a : F), Membership.mem.{max u3 u2, max u3 u2} (Sigma.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x)) (Set.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z))) (Set.instMembershipSet.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z))) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x) b a) (LocalEquiv.source.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b))))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_atₓ'. -/
 @[simp, mfld_simps]
-theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source :=
-  by
-  rw [local_triv_at, mem_local_triv_source]
-  exact Z.mem_base_set_at b
+theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source := by
+  rw [local_triv_at, mem_local_triv_source]; exact Z.mem_base_set_at b
 #align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_at
 
 /- warning: fiber_bundle_core.mem_local_triv_target -> FiberBundleCore.mem_localTriv_target is a dubious translation:
@@ -995,10 +977,8 @@ but is expected to have type
   forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B), Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSetₓ'. -/
 @[simp, mfld_simps]
-theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet :=
-  by
-  rw [local_triv_at, ← base_set_at]
-  exact Z.mem_base_set_at b
+theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet := by
+  rw [local_triv_at, ← base_set_at]; exact Z.mem_base_set_at b
 #align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSet
 
 #print FiberBundleCore.continuous_totalSpaceMk /-
@@ -1017,10 +997,8 @@ theorem continuous_totalSpaceMk (b : B) :
   apply IsOpen.inter
   · simp only [total_space.proj, proj, ← preimage_comp]
     by_cases b ∈ (Z.local_triv i).baseSet
-    · rw [preimage_const_of_mem h]
-      exact isOpen_univ
-    · rw [preimage_const_of_not_mem h]
-      exact isOpen_empty
+    · rw [preimage_const_of_mem h]; exact isOpen_univ
+    · rw [preimage_const_of_not_mem h]; exact isOpen_empty
   · simp only [Function.comp, local_triv_apply]
     rw [preimage_inter, preimage_comp]
     by_cases b ∈ Z.base_set i
@@ -1183,9 +1161,7 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
       letI := a.total_space_topology
       refine'
         continuous_on_iff'.mpr fun s hs =>
-          ⟨e ⁻¹' s ∩ e.source, is_open_supr_iff.mpr fun e' => _,
-            by
-            rw [inter_assoc, inter_self]
+          ⟨e ⁻¹' s ∩ e.source, is_open_supr_iff.mpr fun e' => _, by rw [inter_assoc, inter_self];
             rfl⟩
       refine' is_open_supr_iff.mpr fun he' => _
       rw [isOpen_coinduced, isOpen_induced_iff]
@@ -1193,10 +1169,8 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
       have hu3 := congr_arg (fun s => (fun x : e'.target => (x : B × F)) ⁻¹' s) hu2
       simp only [Subtype.coe_preimage_self, preimage_inter, univ_inter] at hu3
       refine'
-        ⟨u ∩ e'.to_local_equiv.target ∩ e'.to_local_equiv.symm ⁻¹' e.source, _,
-          by
-          simp only [preimage_inter, inter_univ, Subtype.coe_preimage_self, hu3.symm]
-          rfl⟩
+        ⟨u ∩ e'.to_local_equiv.target ∩ e'.to_local_equiv.symm ⁻¹' e.source, _, by
+          simp only [preimage_inter, inter_univ, Subtype.coe_preimage_self, hu3.symm]; rfl⟩
       rw [inter_assoc]
       exact hu1.inter (a.is_open_target_of_mem_pretrivialization_atlas_inter e e' he')
     continuous_invFun := a.continuous_symm_of_mem_pretrivializationAtlas he }
@@ -1248,11 +1222,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.inducing_total_space_mk FiberPrebundle.inducing_totalSpaceMkₓ'. -/
 @[continuity]
 theorem inducing_totalSpaceMk (b : B) :
-    @Inducing _ _ (a.fiberTopology b) a.totalSpaceTopology (totalSpaceMk b) :=
-  by
-  letI := a.total_space_topology
-  letI := a.fiber_topology b
-  exact ⟨rfl⟩
+    @Inducing _ _ (a.fiberTopology b) a.totalSpaceTopology (totalSpaceMk b) := by
+  letI := a.total_space_topology; letI := a.fiber_topology b; exact ⟨rfl⟩
 #align fiber_prebundle.inducing_total_space_mk FiberPrebundle.inducing_totalSpaceMk
 
 /- warning: fiber_prebundle.continuous_total_space_mk -> FiberPrebundle.continuous_totalSpaceMk is a dubious translation:
Diff
@@ -334,10 +334,7 @@ variable (F)
 open Trivialization
 
 /- warning: fiber_bundle.continuous_within_at_total_space -> FiberBundle.continuousWithinAt_totalSpace is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u4}} [_inst_4 : TopologicalSpace.{max u1 u4} (Bundle.TotalSpace.{u1, u4} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u4} (E b)] [_inst_6 : FiberBundle.{u1, u2, u4} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (f : X -> (Bundle.TotalSpace.{u1, u4} B E)) {s : Set.{u3} X} {x₀ : X}, Iff (ContinuousWithinAt.{u3, max u1 u4} X (Bundle.TotalSpace.{u1, u4} B E) _inst_1 _inst_4 f s x₀) (And (ContinuousWithinAt.{u3, u1} X B _inst_1 _inst_2 (fun (x : X) => Bundle.TotalSpace.proj.{u1, u4} B E (f x)) s x₀) (ContinuousWithinAt.{u3, u2} X F _inst_1 _inst_3 (fun (x : X) => Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u4)), max (succ (max u1 u4)) (succ u1) (succ u2)} (Trivialization.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u4} B E)) (fun (_x : Trivialization.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u4} B E)) => (Bundle.TotalSpace.{u1, u4} B E) -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u4} B E) _inst_4) (FiberBundle.trivializationAt.{u1, u2, u4} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u1, u4} B E (f x₀))) (f x))) s x₀))
-but is expected to have type
-  forall {B : Type.{u4}} (F : Type.{u1}) {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u4} B] [_inst_3 : TopologicalSpace.{u1} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u3 u4} (Bundle.TotalSpace.{u4, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u4, u1, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (f : X -> (Bundle.TotalSpace.{u4, u3} B E)) {s : Set.{u2} X} {x₀ : X}, Iff (ContinuousWithinAt.{u2, max u4 u3} X (Bundle.TotalSpace.{u4, u3} B E) _inst_1 _inst_4 f s x₀) (And (ContinuousWithinAt.{u2, u4} X B _inst_1 _inst_2 (fun (x : X) => Bundle.TotalSpace.proj.{u4, u3} B E (f x)) s x₀) (ContinuousWithinAt.{u2, u1} X F _inst_1 _inst_3 (fun (x : X) => Prod.snd.{u4, u1} B F (Trivialization.toFun'.{u4, u1, max u4 u3} B F (Bundle.TotalSpace.{u4, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u4, u3} B E) _inst_4 (FiberBundle.trivializationAt.{u4, u1, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u4, u3} B E (f x₀))) (f x))) s x₀))
+<too large>
 Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpaceₓ'. -/
 /-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
 theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀ : X} :
Diff
@@ -397,7 +397,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
       ⟨trivialization_at F E a, mem_base_set_trivialization_at F E a⟩
     -- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
       cases' le_or_lt a b with hab hab <;>
-      [skip, exact ⟨ea, by simp [*]⟩]
+      [skip;exact ⟨ea, by simp [*]⟩]
     /- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
       We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
     set s : Set B := { x ∈ Icc a b | ∃ e : Trivialization F (π E), Icc a x ⊆ e.baseSet }
Diff
@@ -406,7 +406,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
     have hsb : b ∈ upperBounds s := fun x hx => hx.1.2
     have sbd : BddAbove s := ⟨b, hsb⟩
     set c := Sup s
-    have hsc : IsLUB s c := isLUB_csupₛ sne sbd
+    have hsc : IsLUB s c := isLUB_csSup sne sbd
     have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
     obtain ⟨-, ec : Trivialization F (π E), hec : Icc a c ⊆ ec.base_set⟩ : c ∈ s :=
       by
@@ -1138,7 +1138,7 @@ theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializ
   refine'
     id fun z H =>
       id fun U h => preimage_nhdsWithin_coinduced' H e.open_target (le_def.1 (nhds_mono _) U h)
-  exact le_supᵢ₂ e he
+  exact le_iSup₂ e he
 #align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas
 
 /- warning: fiber_prebundle.is_open_source -> FiberPrebundle.isOpen_source is a dubious translation:
Diff
@@ -305,12 +305,24 @@ theorem continuous_totalSpaceMk (x : B) : Continuous (@totalSpaceMk B E x) :=
 
 variable {E F}
 
+/- warning: fiber_bundle.mem_trivialization_at_proj_source -> FiberBundle.mem_trivializationAt_proj_source is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] {x : Bundle.TotalSpace.{u1, u3} B E}, Membership.Mem.{max u1 u3, max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) (Set.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Set.hasMem.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) x (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) _inst_4 (Prod.topologicalSpace.{u1, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberBundle.trivializationAt.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u1, u3} B E x)))))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] {E : B -> Type.{u2}} [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u2} (E b)] [_inst_6 : FiberBundle.{u3, u1, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] {x : Bundle.TotalSpace.{u3, u2} B E}, Membership.mem.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B E) (Set.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B E)) (Set.instMembershipSet.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B E)) x (LocalEquiv.source.{max u3 u2, max u3 u1} (Bundle.TotalSpace.{u3, u2} B E) (Prod.{u3, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u1} (Bundle.TotalSpace.{u3, u2} B E) (Prod.{u3, u1} B F) _inst_4 (instTopologicalSpaceProd.{u3, u1} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberBundle.trivializationAt.{u3, u1, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u3, u2} B E x)))))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_trivializationAt_proj_source {x : TotalSpace E} :
     x ∈ (trivializationAt F E x.proj).source :=
   (Trivialization.mem_source _).mpr <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_source
 
+/- warning: fiber_bundle.trivialization_at_proj_fst -> FiberBundle.trivializationAt_proj_fst is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] {x : Bundle.TotalSpace.{u1, u3} B E}, Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u1) (succ u2)} (Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) (fun (_x : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) (FiberBundle.trivializationAt.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u1, u3} B E x)) x)) (Bundle.TotalSpace.proj.{u1, u3} B E x)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] {E : B -> Type.{u2}} [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u2} (E b)] [_inst_6 : FiberBundle.{u3, u1, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] {x : Bundle.TotalSpace.{u3, u2} B E}, Eq.{succ u3} B (Prod.fst.{u3, u1} B F (Trivialization.toFun'.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u2} B E) _inst_4 (FiberBundle.trivializationAt.{u3, u1, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u3, u2} B E x)) x)) (Bundle.TotalSpace.proj.{u3, u2} B E x)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.trivialization_at_proj_fst FiberBundle.trivializationAt_proj_fstₓ'. -/
 @[simp, mfld_simps]
 theorem trivializationAt_proj_fst {x : TotalSpace E} :
     ((trivializationAt F E x.proj) x).1 = x.proj :=
@@ -321,6 +333,12 @@ variable (F)
 
 open Trivialization
 
+/- warning: fiber_bundle.continuous_within_at_total_space -> FiberBundle.continuousWithinAt_totalSpace is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} (F : Type.{u2}) {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u4}} [_inst_4 : TopologicalSpace.{max u1 u4} (Bundle.TotalSpace.{u1, u4} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u4} (E b)] [_inst_6 : FiberBundle.{u1, u2, u4} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (f : X -> (Bundle.TotalSpace.{u1, u4} B E)) {s : Set.{u3} X} {x₀ : X}, Iff (ContinuousWithinAt.{u3, max u1 u4} X (Bundle.TotalSpace.{u1, u4} B E) _inst_1 _inst_4 f s x₀) (And (ContinuousWithinAt.{u3, u1} X B _inst_1 _inst_2 (fun (x : X) => Bundle.TotalSpace.proj.{u1, u4} B E (f x)) s x₀) (ContinuousWithinAt.{u3, u2} X F _inst_1 _inst_3 (fun (x : X) => Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u4)), max (succ (max u1 u4)) (succ u1) (succ u2)} (Trivialization.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u4} B E)) (fun (_x : Trivialization.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u4} B E)) => (Bundle.TotalSpace.{u1, u4} B E) -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u4} B E) _inst_4) (FiberBundle.trivializationAt.{u1, u2, u4} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u1, u4} B E (f x₀))) (f x))) s x₀))
+but is expected to have type
+  forall {B : Type.{u4}} (F : Type.{u1}) {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u4} B] [_inst_3 : TopologicalSpace.{u1} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u3 u4} (Bundle.TotalSpace.{u4, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u4, u1, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (f : X -> (Bundle.TotalSpace.{u4, u3} B E)) {s : Set.{u2} X} {x₀ : X}, Iff (ContinuousWithinAt.{u2, max u4 u3} X (Bundle.TotalSpace.{u4, u3} B E) _inst_1 _inst_4 f s x₀) (And (ContinuousWithinAt.{u2, u4} X B _inst_1 _inst_2 (fun (x : X) => Bundle.TotalSpace.proj.{u4, u3} B E (f x)) s x₀) (ContinuousWithinAt.{u2, u1} X F _inst_1 _inst_3 (fun (x : X) => Prod.snd.{u4, u1} B F (Trivialization.toFun'.{u4, u1, max u4 u3} B F (Bundle.TotalSpace.{u4, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u4, u3} B E) _inst_4 (FiberBundle.trivializationAt.{u4, u1, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u4, u3} B E (f x₀))) (f x))) s x₀))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpaceₓ'. -/
 /-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
 theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀ : X} :
     ContinuousWithinAt f s x₀ ↔
@@ -343,6 +361,12 @@ theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀
   · rwa [source_eq, preimage_preimage]
 #align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpace
 
+/- warning: fiber_bundle.continuous_at_total_space -> FiberBundle.continuousAt_totalSpace is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} (F : Type.{u2}) {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u4}} [_inst_4 : TopologicalSpace.{max u1 u4} (Bundle.TotalSpace.{u1, u4} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u4} (E b)] [_inst_6 : FiberBundle.{u1, u2, u4} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (f : X -> (Bundle.TotalSpace.{u1, u4} B E)) {x₀ : X}, Iff (ContinuousAt.{u3, max u1 u4} X (Bundle.TotalSpace.{u1, u4} B E) _inst_1 _inst_4 f x₀) (And (ContinuousAt.{u3, u1} X B _inst_1 _inst_2 (fun (x : X) => Bundle.TotalSpace.proj.{u1, u4} B E (f x)) x₀) (ContinuousAt.{u3, u2} X F _inst_1 _inst_3 (fun (x : X) => Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u4)), max (succ (max u1 u4)) (succ u1) (succ u2)} (Trivialization.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u4} B E)) (fun (_x : Trivialization.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u4} B E)) => (Bundle.TotalSpace.{u1, u4} B E) -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, max u1 u4} B F (Bundle.TotalSpace.{u1, u4} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u4} B E) _inst_4) (FiberBundle.trivializationAt.{u1, u2, u4} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u1, u4} B E (f x₀))) (f x))) x₀))
+but is expected to have type
+  forall {B : Type.{u4}} (F : Type.{u1}) {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u4} B] [_inst_3 : TopologicalSpace.{u1} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u3 u4} (Bundle.TotalSpace.{u4, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u4, u1, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (f : X -> (Bundle.TotalSpace.{u4, u3} B E)) {x₀ : X}, Iff (ContinuousAt.{u2, max u4 u3} X (Bundle.TotalSpace.{u4, u3} B E) _inst_1 _inst_4 f x₀) (And (ContinuousAt.{u2, u4} X B _inst_1 _inst_2 (fun (x : X) => Bundle.TotalSpace.proj.{u4, u3} B E (f x)) x₀) (ContinuousAt.{u2, u1} X F _inst_1 _inst_3 (fun (x : X) => Prod.snd.{u4, u1} B F (Trivialization.toFun'.{u4, u1, max u4 u3} B F (Bundle.TotalSpace.{u4, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u4, u3} B E) _inst_4 (FiberBundle.trivializationAt.{u4, u1, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b) _inst_6 (Bundle.TotalSpace.proj.{u4, u3} B E (f x₀))) (f x))) x₀))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_at_total_space FiberBundle.continuousAt_totalSpaceₓ'. -/
 /-- Characterization of continuous functions (at a point) into a fiber bundle. -/
 theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
     ContinuousAt f x₀ ↔
Diff
@@ -191,11 +191,11 @@ variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
   [TopologicalSpace (TotalSpace E)] [∀ b, TopologicalSpace (E b)]
 
 #print FiberBundle /-
-/- ./././Mathport/Syntax/Translate/Command.lean:388:30: infer kinds are unsupported in Lean 4: #[`totalSpaceMk_inducing] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:388:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:388:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:388:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
-/- ./././Mathport/Syntax/Translate/Command.lean:388:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`totalSpaceMk_inducing] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`mem_baseSet_trivializationAt] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`trivialization_mem_atlas] [] -/
 /-- A (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on `B`
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit 8ef6f08ff8c781c5c07a8b12843710e1a0d8a688
+! leanprover-community/mathlib commit 0187644979f2d3e10a06e916a869c994facd9a87
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -173,14 +173,14 @@ Fiber bundle, topological bundle, structure group
 -/
 
 
-variable {ι : Type _} {B : Type _} {F : Type _}
+variable {ι B F X : Type _} [TopologicalSpace X]
 
 open TopologicalSpace Filter Set Bundle
 
 open Topology Classical Bundle
 
 attribute [mfld_simps]
-  total_space.proj total_space_mk coe_fst coe_snd coe_snd_map_apply coe_snd_map_smul total_space.mk_cast
+  total_space_mk coe_fst coe_snd coe_snd_map_apply coe_snd_map_smul total_space.mk_cast
 
 /-! ### General definition of fiber bundles -/
 
@@ -233,9 +233,9 @@ variable (F) {E} [FiberBundle F E]
 
 /- warning: fiber_bundle.map_proj_nhds -> FiberBundle.map_proj_nhds is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {E : B -> Type.{u3}} [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (x : Bundle.TotalSpace.{u1, u3} B E), Eq.{succ u1} (Filter.{u1} B) (Filter.map.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E) (nhds.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) _inst_3 x)) (nhds.{u1} B _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E x))
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] {E : B -> Type.{u3}} [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (x : Bundle.TotalSpace.{u1, u3} B E), Eq.{succ u1} (Filter.{u1} B) (Filter.map.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E) (nhds.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) _inst_4 x)) (nhds.{u1} B _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E x))
 but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] {E : B -> Type.{u1}} [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (x : Bundle.TotalSpace.{u2, u1} B E), Eq.{succ u2} (Filter.{u2} B) (Filter.map.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B (Bundle.TotalSpace.proj.{u2, u1} B E) (nhds.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B E) _inst_3 x)) (nhds.{u2} B _inst_1 (Bundle.TotalSpace.proj.{u2, u1} B E x))
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] {E : B -> Type.{u1}} [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (x : Bundle.TotalSpace.{u2, u1} B E), Eq.{succ u2} (Filter.{u2} B) (Filter.map.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B (Bundle.TotalSpace.proj.{u2, u1} B E) (nhds.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B E) _inst_4 x)) (nhds.{u2} B _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E x))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle.map_proj_nhds FiberBundle.map_proj_nhdsₓ'. -/
 theorem map_proj_nhds (x : TotalSpace E) : map (π E) (𝓝 x) = 𝓝 x.proj :=
   (trivializationAt F E x.proj).map_proj_nhds <|
@@ -246,9 +246,9 @@ variable (E)
 
 /- warning: fiber_bundle.continuous_proj -> FiberBundle.continuous_proj is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)], Continuous.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E)
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)], Continuous.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)
 but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)], Continuous.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u2, u1} B E)
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)], Continuous.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E)
 Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_proj FiberBundle.continuous_projₓ'. -/
 /-- The projection from a fiber bundle to its base is continuous. -/
 @[continuity]
@@ -258,9 +258,9 @@ theorem continuous_proj : Continuous (π E) :=
 
 /- warning: fiber_bundle.is_open_map_proj -> FiberBundle.isOpenMap_proj is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)], IsOpenMap.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E)
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)], IsOpenMap.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)
 but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)], IsOpenMap.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u2, u1} B E)
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)], IsOpenMap.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E)
 Case conversion may be inaccurate. Consider using '#align fiber_bundle.is_open_map_proj FiberBundle.isOpenMap_projₓ'. -/
 /-- The projection from a fiber bundle to its base is an open map. -/
 theorem isOpenMap_proj : IsOpenMap (π E) :=
@@ -269,9 +269,9 @@ theorem isOpenMap_proj : IsOpenMap (π E) :=
 
 /- warning: fiber_bundle.surjective_proj -> FiberBundle.surjective_proj is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] [_inst_6 : Nonempty.{succ u2} F], Function.Surjective.{max (succ u1) (succ u3), succ u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E)
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] [_inst_7 : Nonempty.{succ u2} F], Function.Surjective.{max (succ u1) (succ u3), succ u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E)
 but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] [_inst_6 : Nonempty.{succ u3} F], Function.Surjective.{max (succ u2) (succ u1), succ u2} (Bundle.TotalSpace.{u2, u1} B E) B (Bundle.TotalSpace.proj.{u2, u1} B E)
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] [_inst_7 : Nonempty.{succ u3} F], Function.Surjective.{max (succ u2) (succ u1), succ u2} (Bundle.TotalSpace.{u2, u1} B E) B (Bundle.TotalSpace.proj.{u2, u1} B E)
 Case conversion may be inaccurate. Consider using '#align fiber_bundle.surjective_proj FiberBundle.surjective_projₓ'. -/
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a surjective
 map. -/
@@ -283,9 +283,9 @@ theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
 
 /- warning: fiber_bundle.quotient_map_proj -> FiberBundle.quotientMap_proj is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] [_inst_6 : Nonempty.{succ u2} F], QuotientMap.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E)
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] [_inst_7 : Nonempty.{succ u2} F], QuotientMap.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)
 but is expected to have type
-  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] [_inst_6 : Nonempty.{succ u3} F], QuotientMap.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u2, u1} B E)
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : FiberBundle.{u2, u3, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] [_inst_7 : Nonempty.{succ u3} F], QuotientMap.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_4 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E)
 Case conversion may be inaccurate. Consider using '#align fiber_bundle.quotient_map_proj FiberBundle.quotientMap_projₓ'. -/
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a quotient
 map. -/
@@ -295,23 +295,73 @@ theorem quotientMap_proj [Nonempty F] : QuotientMap (π E) :=
 
 /- warning: fiber_bundle.continuous_total_space_mk -> FiberBundle.continuous_totalSpaceMk is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (x : B), Continuous.{u3, max u1 u3} (E x) (Bundle.TotalSpace.{u1, u3} B E) (_inst_4 x) _inst_3 (Bundle.totalSpaceMk.{u1, u3} B E x)
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (x : B), Continuous.{u3, max u1 u3} (E x) (Bundle.TotalSpace.{u1, u3} B E) (_inst_5 x) _inst_4 (Bundle.totalSpaceMk.{u1, u3} B E x)
 but is expected to have type
-  forall {B : Type.{u1}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u2}) [_inst_3 : TopologicalSpace.{max u2 u1} (Bundle.TotalSpace.{u1, u2} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u2} (E b)] [_inst_5 : FiberBundle.{u1, u3, u2} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (x : B), Continuous.{u2, max u1 u2} (E x) (Bundle.TotalSpace.{u1, u2} B E) (_inst_4 x) _inst_3 (Bundle.totalSpaceMk.{u1, u2} B E x)
+  forall {B : Type.{u1}} (F : Type.{u3}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u3} F] (E : B -> Type.{u2}) [_inst_4 : TopologicalSpace.{max u2 u1} (Bundle.TotalSpace.{u1, u2} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u2} (E b)] [_inst_6 : FiberBundle.{u1, u3, u2} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (x : B), Continuous.{u2, max u1 u2} (E x) (Bundle.TotalSpace.{u1, u2} B E) (_inst_5 x) _inst_4 (Bundle.totalSpaceMk.{u1, u2} B E x)
 Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_total_space_mk FiberBundle.continuous_totalSpaceMkₓ'. -/
 theorem continuous_totalSpaceMk (x : B) : Continuous (@totalSpaceMk B E x) :=
   (totalSpaceMk_inducing F E x).Continuous
 #align fiber_bundle.continuous_total_space_mk FiberBundle.continuous_totalSpaceMk
 
+variable {E F}
+
+@[simp, mfld_simps]
+theorem mem_trivializationAt_proj_source {x : TotalSpace E} :
+    x ∈ (trivializationAt F E x.proj).source :=
+  (Trivialization.mem_source _).mpr <| mem_baseSet_trivializationAt F E x.proj
+#align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_source
+
+@[simp, mfld_simps]
+theorem trivializationAt_proj_fst {x : TotalSpace E} :
+    ((trivializationAt F E x.proj) x).1 = x.proj :=
+  Trivialization.coe_fst' _ <| mem_baseSet_trivializationAt F E x.proj
+#align fiber_bundle.trivialization_at_proj_fst FiberBundle.trivializationAt_proj_fst
+
+variable (F)
+
+open Trivialization
+
+/-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
+theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀ : X} :
+    ContinuousWithinAt f s x₀ ↔
+      ContinuousWithinAt (fun x => (f x).proj) s x₀ ∧
+        ContinuousWithinAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) s x₀ :=
+  by
+  refine' (and_iff_right_iff_imp.2 fun hf => _).symm.trans (and_congr_right fun hf => _)
+  · refine' (continuous_proj F E).ContinuousWithinAt.comp hf (maps_to_image f s)
+  have h1 : (fun x => (f x).proj) ⁻¹' (trivialization_at F E (f x₀).proj).baseSet ∈ 𝓝[s] x₀ :=
+    hf.preimage_mem_nhds_within ((open_base_set _).mem_nhds (mem_base_set_trivialization_at F E _))
+  have h2 : ContinuousWithinAt (fun x => (trivialization_at F E (f x₀).proj (f x)).1) s x₀ :=
+    by
+    refine'
+      hf.congr_of_eventually_eq (eventually_of_mem h1 fun x hx => _) trivialization_at_proj_fst
+    rw [coe_fst']
+    exact hx
+  rw [(trivialization_at F E (f x₀).proj).continuousWithinAt_iff_continuousWithinAt_comp_left]
+  · simp_rw [continuousWithinAt_prod_iff, Function.comp, Trivialization.coe_coe, h2, true_and_iff]
+  · apply mem_trivialization_at_proj_source
+  · rwa [source_eq, preimage_preimage]
+#align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpace
+
+/-- Characterization of continuous functions (at a point) into a fiber bundle. -/
+theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
+    ContinuousAt f x₀ ↔
+      ContinuousAt (fun x => (f x).proj) x₀ ∧
+        ContinuousAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) x₀ :=
+  by
+  simp_rw [← continuousWithinAt_univ]
+  exact continuous_within_at_total_space F f
+#align fiber_bundle.continuous_at_total_space FiberBundle.continuousAt_totalSpace
+
 end FiberBundle
 
 variable (F E)
 
 /- warning: fiber_bundle.exists_trivialization_Icc_subset -> FiberBundle.exists_trivialization_Icc_subset is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : ConditionallyCompleteLinearOrder.{u1} B] [_inst_6 : OrderTopology.{u1} B _inst_1 (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (ConditionallyCompleteLattice.toLattice.{u1} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} B _inst_5)))))] [_inst_7 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (a : B) (b : B), Exists.{max (succ u1) (succ u2) (succ (max u1 u3))} (Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) (fun (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) => HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) (Set.Icc.{u1} B (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (ConditionallyCompleteLattice.toLattice.{u1} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} B _inst_5))))) a b) (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e))
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_6 : ConditionallyCompleteLinearOrder.{u1} B] [_inst_7 : OrderTopology.{u1} B _inst_2 (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (ConditionallyCompleteLattice.toLattice.{u1} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} B _inst_6)))))] [_inst_8 : FiberBundle.{u1, u2, u3} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (a : B) (b : B), Exists.{max (succ u1) (succ u2) (succ (max u1 u3))} (Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) (fun (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) => HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) (Set.Icc.{u1} B (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (ConditionallyCompleteLattice.toLattice.{u1} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} B _inst_6))))) a b) (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e))
 but is expected to have type
-  forall {B : Type.{u3}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : ConditionallyCompleteLinearOrder.{u3} B] [_inst_6 : OrderTopology.{u3} B _inst_1 (PartialOrder.toPreorder.{u3} B (SemilatticeInf.toPartialOrder.{u3} B (Lattice.toSemilatticeInf.{u3} B (ConditionallyCompleteLattice.toLattice.{u3} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} B _inst_5)))))] [_inst_7 : FiberBundle.{u3, u2, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (a : B) (b : B), Exists.{max (max (succ u3) (succ u2)) (succ u1)} (Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) (fun (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) => HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) (Set.Icc.{u3} B (PartialOrder.toPreorder.{u3} B (SemilatticeInf.toPartialOrder.{u3} B (Lattice.toSemilatticeInf.{u3} B (ConditionallyCompleteLattice.toLattice.{u3} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} B _inst_5))))) a b) (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e))
+  forall {B : Type.{u3}} (F : Type.{u2}) [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (E : B -> Type.{u1}) [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_6 : ConditionallyCompleteLinearOrder.{u3} B] [_inst_7 : OrderTopology.{u3} B _inst_2 (PartialOrder.toPreorder.{u3} B (SemilatticeInf.toPartialOrder.{u3} B (Lattice.toSemilatticeInf.{u3} B (ConditionallyCompleteLattice.toLattice.{u3} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} B _inst_6)))))] [_inst_8 : FiberBundle.{u3, u2, u1} B F _inst_2 _inst_3 E _inst_4 (fun (b : B) => _inst_5 b)] (a : B) (b : B), Exists.{max (max (succ u3) (succ u2)) (succ u1)} (Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) (fun (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) => HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) (Set.Icc.{u3} B (PartialOrder.toPreorder.{u3} B (SemilatticeInf.toPartialOrder.{u3} B (Lattice.toSemilatticeInf.{u3} B (ConditionallyCompleteLattice.toLattice.{u3} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} B _inst_6))))) a b) (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subsetₓ'. -/
 /-- If `E` is a fiber bundle over a conditionally complete linear order,
 then it is trivial over any closed interval. -/
@@ -482,9 +532,9 @@ def proj : Z.TotalSpace → B :=
 
 /- warning: fiber_bundle_core.triv_change -> FiberBundleCore.trivChange is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F], (FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) -> ι -> ι -> (LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F], (FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) -> ι -> ι -> (LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F], (FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) -> ι -> ι -> (LocalHomeomorph.{max u3 u2, max u3 u2} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F], (FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) -> ι -> ι -> (LocalHomeomorph.{max u3 u2, max u3 u2} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (instTopologicalSpaceProd.{u2, u3} B F _inst_2 _inst_3) (instTopologicalSpaceProd.{u2, u3} B F _inst_2 _inst_3))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.triv_change FiberBundleCore.trivChangeₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -519,9 +569,9 @@ def trivChange (i j : ι) : LocalHomeomorph (B × F) (B × F)
 
 /- warning: fiber_bundle_core.mem_triv_change_source -> FiberBundleCore.mem_trivChange_source is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (j : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.trivChange.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i j)))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Inter.inter.{u2} (Set.{u2} B) (Set.hasInter.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z j)))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (j : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.trivChange.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i j)))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Inter.inter.{u2} (Set.{u2} B) (Set.hasInter.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z j)))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (j : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (FiberBundleCore.trivChange.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i j)))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_1 F _inst_2 Z i) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_1 F _inst_2 Z j)))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (j : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (FiberBundleCore.trivChange.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i j)))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_2 F _inst_3 Z i) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_2 F _inst_3 Z j)))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_triv_change_source FiberBundleCore.mem_trivChange_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_trivChange_source (i j : ι) (p : B × F) :
@@ -571,9 +621,9 @@ variable (i : ι)
 
 /- warning: fiber_bundle_core.mem_local_triv_as_local_equiv_source -> FiberBundleCore.mem_localTrivAsLocalEquiv_source is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Set.hasMem.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Set.hasMem.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i))
 but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (Set.instMembershipSet.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) p (LocalEquiv.source.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u1} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.baseSet.{u3, u2, u1} ι B _inst_1 F _inst_2 Z i))
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (Set.instMembershipSet.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) p (LocalEquiv.source.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u1} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.baseSet.{u3, u2, u1} ι B _inst_2 F _inst_3 Z i))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_sourceₓ'. -/
 theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpace) :
     p ∈ (Z.localTrivAsLocalEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
@@ -582,9 +632,9 @@ theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpace) :
 
 /- warning: fiber_bundle_core.mem_local_triv_as_local_equiv_target -> FiberBundleCore.mem_localTrivAsLocalEquiv_target is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_1 F _inst_2 Z i))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_2 F _inst_3 Z i))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_targetₓ'. -/
 theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
     p ∈ (Z.localTrivAsLocalEquiv i).target ↔ p.1 ∈ Z.baseSet i :=
@@ -595,9 +645,9 @@ theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
 
 /- warning: fiber_bundle_core.local_triv_as_local_equiv_apply -> FiberBundleCore.localTrivAsLocalEquiv_apply is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) (fun (_x : LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (LocalEquiv.hasCoeToFun.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)) i (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) (fun (_x : LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (LocalEquiv.hasCoeToFun.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)) i (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)))
 but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (LocalEquiv.toFun.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u1} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.coordChange.{u3, u2, u1} ι B _inst_1 F _inst_2 Z (FiberBundleCore.indexAt.{u3, u2, u1} ι B _inst_1 F _inst_2 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)) i (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)))
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (LocalEquiv.toFun.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u1} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.coordChange.{u3, u2, u1} ι B _inst_2 F _inst_3 Z (FiberBundleCore.indexAt.{u3, u2, u1} ι B _inst_2 F _inst_3 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)) i (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_applyₓ'. -/
 theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpace) :
     (Z.localTrivAsLocalEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
@@ -606,9 +656,9 @@ theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpace) :
 
 /- warning: fiber_bundle_core.local_triv_as_local_equiv_trans -> FiberBundleCore.localTrivAsLocalEquiv_trans is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (j : ι), HasEquivₓ.Equiv.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F)) (setoidHasEquiv.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F)) (LocalEquiv.eqOnSourceSetoid.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F))) (LocalEquiv.trans.{max u2 u3, max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z j)) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.trivChange.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i j))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (j : ι), HasEquivₓ.Equiv.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F)) (setoidHasEquiv.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F)) (LocalEquiv.eqOnSourceSetoid.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F))) (LocalEquiv.trans.{max u2 u3, max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z j)) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.trivChange.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i j))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (j : ι), HasEquiv.Equiv.{max (max (succ u3) (succ u2)) (succ (max u3 u2)), 0} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (instHasEquiv.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (LocalEquiv.eqOnSourceSetoid.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F))) (LocalEquiv.trans.{max u3 u2, max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z j)) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (FiberBundleCore.trivChange.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i j))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (j : ι), HasEquiv.Equiv.{max (max (succ u3) (succ u2)) (succ (max u3 u2)), 0} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (instHasEquiv.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (LocalEquiv.eqOnSourceSetoid.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F))) (LocalEquiv.trans.{max u3 u2, max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z j)) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (FiberBundleCore.trivChange.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i j))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsLocalEquiv_transₓ'. -/
 /-- The composition of two local trivializations is the trivialization change Z.triv_change i j. -/
 theorem localTrivAsLocalEquiv_trans (i j : ι) :
@@ -640,9 +690,9 @@ variable (b : B) (a : F)
 
 /- warning: fiber_bundle_core.open_source' -> FiberBundleCore.open_source' is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), IsOpen.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), IsOpen.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), IsOpen.{max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), IsOpen.{max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.open_source' FiberBundleCore.open_source'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem open_source' (i : ι) : IsOpen (Z.localTrivAsLocalEquiv i).source :=
@@ -714,9 +764,9 @@ def localTrivAt (b : B) : Trivialization F (π Z.Fiber) :=
 
 /- warning: fiber_bundle_core.local_triv_at_def -> FiberBundleCore.localTrivAt_def is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (b : B), Eq.{max (succ u2) (succ u3) (succ (max u2 u3))} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_1 F _inst_2 Z b)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b)
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (b : B), Eq.{max (succ u2) (succ u3) (succ (max u2 u3))} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_2 F _inst_3 Z b)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b)
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (b : B), Eq.{max (succ u3) (succ u2)} (Trivialization.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z (FiberBundleCore.indexAt.{u1, u3, u2} ι B _inst_1 F _inst_2 Z b)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b)
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B), Eq.{max (succ u3) (succ u2)} (Trivialization.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z (FiberBundleCore.indexAt.{u1, u3, u2} ι B _inst_2 F _inst_3 Z b)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b)
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_def FiberBundleCore.localTrivAt_defₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAt_def (b : B) : Z.localTriv (Z.indexAt b) = Z.localTrivAt b :=
@@ -725,9 +775,9 @@ theorem localTrivAt_def (b : B) : Z.localTriv (Z.indexAt b) = Z.localTrivAt b :=
 
 /- warning: fiber_bundle_core.continuous_const_section -> FiberBundleCore.continuous_const_section is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (v : F), (forall (i : ι) (j : ι) (x : B), (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) x (Inter.inter.{u2} (Set.{u2} B) (Set.hasInter.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z j))) -> (Eq.{succ u3} F (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i j x v) v)) -> (Continuous.{u2, max u2 u3} B (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) ((fun (this : B -> (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) => this) (fun (x : B) => Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) x v)))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (v : F), (forall (i : ι) (j : ι) (x : B), (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) x (Inter.inter.{u2} (Set.{u2} B) (Set.hasInter.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z j))) -> (Eq.{succ u3} F (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i j x v) v)) -> (Continuous.{u2, max u2 u3} B (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) ((fun (this : B -> (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) => this) (fun (x : B) => Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) x v)))
 but is expected to have type
-  forall {ι : Type.{u2}} {B : Type.{u3}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u2, u3, u1} ι B _inst_1 F _inst_2) (v : F), (forall (i : ι) (j : ι) (x : B), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_1 F _inst_2 Z i) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_1 F _inst_2 Z j))) -> (Eq.{succ u1} F (FiberBundleCore.coordChange.{u2, u3, u1} ι B _inst_1 F _inst_2 Z i j x v) v)) -> (Continuous.{u3, max u3 u1} B (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.toTopologicalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) ([mdata let_fun:1 (fun (this : B -> (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z)) => this) (fun (x : B) => Sigma.mk.{u3, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u2, u3, u1} ι B F _inst_1 _inst_2 Z x) x v)]))
+  forall {ι : Type.{u2}} {B : Type.{u3}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u2, u3, u1} ι B _inst_2 F _inst_3) (v : F), (forall (i : ι) (j : ι) (x : B), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_2 F _inst_3 Z i) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_2 F _inst_3 Z j))) -> (Eq.{succ u1} F (FiberBundleCore.coordChange.{u2, u3, u1} ι B _inst_2 F _inst_3 Z i j x v) v)) -> (Continuous.{u3, max u3 u1} B (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.toTopologicalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) ([mdata let_fun:1 (fun (this : B -> (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z)) => this) (fun (x : B) => Sigma.mk.{u3, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u2, u3, u1} ι B F _inst_2 _inst_3 Z x) x v)]))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.continuous_const_section FiberBundleCore.continuous_const_sectionₓ'. -/
 /-- If an element of `F` is invariant under all coordinate changes, then one can define a
 corresponding section of the fiber bundle, which is continuous. This applies in particular to the
@@ -752,9 +802,9 @@ theorem continuous_const_section (v : F)
 
 /- warning: fiber_bundle_core.local_triv_as_local_equiv_coe -> FiberBundleCore.localTrivAsLocalEquiv_coe is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ (max u2 u3)} ((FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) (fun (_x : LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (LocalEquiv.hasCoeToFun.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ (max u2 u3)} ((FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) (fun (_x : LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (LocalEquiv.hasCoeToFun.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), Eq.{max (succ u3) (succ u2)} ((FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) -> (Prod.{u3, u2} B F)) (LocalEquiv.toFun.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (Trivialization.toFun'.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} ((FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) -> (Prod.{u3, u2} B F)) (LocalEquiv.toFun.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (Trivialization.toFun'.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsLocalEquiv_coeₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_coe : ⇑(Z.localTrivAsLocalEquiv i) = Z.localTriv i :=
@@ -763,9 +813,9 @@ theorem localTrivAsLocalEquiv_coe : ⇑(Z.localTrivAsLocalEquiv i) = Z.localTriv
 
 /- warning: fiber_bundle_core.local_triv_as_local_equiv_source -> FiberBundleCore.localTrivAsLocalEquiv_source is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsLocalEquiv_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_source :
@@ -775,9 +825,9 @@ theorem localTrivAsLocalEquiv_source :
 
 /- warning: fiber_bundle_core.local_triv_as_local_equiv_target -> FiberBundleCore.localTrivAsLocalEquiv_target is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (Prod.{u2, u3} B F)) (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (Prod.{u2, u3} B F)) (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsLocalEquiv_targetₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_target :
@@ -787,9 +837,9 @@ theorem localTrivAsLocalEquiv_target :
 
 /- warning: fiber_bundle_core.local_triv_as_local_equiv_symm -> FiberBundleCore.localTrivAsLocalEquiv_symm is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), Eq.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι), Eq.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsLocalEquiv_symmₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_symm :
@@ -799,9 +849,9 @@ theorem localTrivAsLocalEquiv_symm :
 
 /- warning: fiber_bundle_core.base_set_at -> FiberBundleCore.baseSet_at is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ u2} (Set.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ u2} (Set.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))
 but is expected to have type
-  forall {ι : Type.{u2}} {B : Type.{u3}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u2, u3, u1} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ u3} (Set.{u3} B) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_1 F _inst_2 Z i) (Trivialization.baseSet.{u3, u1, max u3 u1} B F (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u2, u3, u1} ι B F _inst_1 _inst_2 Z i))
+  forall {ι : Type.{u2}} {B : Type.{u3}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u2, u3, u1} ι B _inst_2 F _inst_3) (i : ι), Eq.{succ u3} (Set.{u3} B) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_2 F _inst_3 Z i) (Trivialization.baseSet.{u3, u1, max u3 u1} B F (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u2, u3, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u2, u3, u1} ι B F _inst_2 _inst_3 Z i))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.base_set_at FiberBundleCore.baseSet_atₓ'. -/
 @[simp, mfld_simps]
 theorem baseSet_at : Z.baseSet i = (Z.localTriv i).baseSet :=
@@ -810,9 +860,9 @@ theorem baseSet_at : Z.baseSet i = (Z.localTriv i).baseSet :=
 
 /- warning: fiber_bundle_core.local_triv_apply -> FiberBundleCore.localTriv_apply is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)) i (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)) i (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)))
 but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.coordChange.{u3, u2, u1} ι B _inst_1 F _inst_2 Z (FiberBundleCore.indexAt.{u3, u2, u1} ι B _inst_1 F _inst_2 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)) i (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)))
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (FiberBundleCore.coordChange.{u3, u2, u1} ι B _inst_2 F _inst_3 Z (FiberBundleCore.indexAt.{u3, u2, u1} ι B _inst_2 F _inst_3 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)) i (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_apply FiberBundleCore.localTriv_applyₓ'. -/
 @[simp, mfld_simps]
 theorem localTriv_apply (p : Z.TotalSpace) :
@@ -822,9 +872,9 @@ theorem localTriv_apply (p : Z.TotalSpace) :
 
 /- warning: fiber_bundle_core.local_triv_at_apply -> FiberBundleCore.localTrivAt_apply is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) => (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) => (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p)) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p))
 but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_1 _inst_2 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p))
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_2 _inst_3 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p)) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_applyₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ :=
@@ -835,9 +885,9 @@ theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p
 
 /- warning: fiber_bundle_core.local_triv_at_apply_mk -> FiberBundleCore.localTrivAt_apply_mk is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (b : B) (a : F), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) => (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) b a)) (Prod.mk.{u2, u3} B F b a)
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (b : B) (a : F), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) => (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) b a)) (Prod.mk.{u2, u3} B F b a)
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (b : B) (a : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z x) b a)) (Prod.mk.{u3, u2} B F b a)
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B) (a : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x) b a)) (Prod.mk.{u3, u2} B F b a)
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_apply_mk FiberBundleCore.localTrivAt_apply_mkₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAt_apply_mk (b : B) (a : F) : (Z.localTrivAt b) ⟨b, a⟩ = ⟨b, a⟩ :=
@@ -846,9 +896,9 @@ theorem localTrivAt_apply_mk (b : B) (a : F) : (Z.localTrivAt b) ⟨b, a⟩ = 
 
 /- warning: fiber_bundle_core.mem_local_triv_source -> FiberBundleCore.mem_localTriv_source is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Set.hasMem.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Set.hasMem.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (Set.instMembershipSet.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) p (LocalEquiv.source.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u1} B F) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i))))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Trivialization.baseSet.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i)))
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (Set.instMembershipSet.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) p (LocalEquiv.source.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u1} B F) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u2, u1} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i))))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Trivialization.baseSet.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_2 _inst_3 Z i)))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_source FiberBundleCore.mem_localTriv_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTriv_source (p : Z.TotalSpace) :
@@ -858,9 +908,9 @@ theorem mem_localTriv_source (p : Z.TotalSpace) :
 
 /- warning: fiber_bundle_core.mem_local_triv_at_source -> FiberBundleCore.mem_localTrivAt_source is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (b : B), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (Set.hasMem.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) p (LocalEquiv.source.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b)))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (b : B), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (Set.hasMem.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) p (LocalEquiv.source.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b)))
 but is expected to have type
-  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (b : B), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z))) (Set.instMembershipSet.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z))) p (LocalEquiv.source.{max u2 u1, max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u1} B F) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_1 _inst_2 Z b))))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Trivialization.baseSet.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_1 _inst_2 Z b)))
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_2 F _inst_3) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (b : B), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Set.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z))) (Set.instMembershipSet.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z))) p (LocalEquiv.source.{max u2 u1, max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u1} B F) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u2, u1} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_2 _inst_3 Z b))))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z x) p) (Trivialization.baseSet.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_2 _inst_3 Z b)))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_source FiberBundleCore.mem_localTrivAt_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTrivAt_source (p : Z.TotalSpace) (b : B) :
@@ -870,9 +920,9 @@ theorem mem_localTrivAt_source (p : Z.TotalSpace) (b : B) :
 
 /- warning: fiber_bundle_core.mem_source_at -> FiberBundleCore.mem_source_at is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (b : B) (a : F), Membership.Mem.{max u2 u3, max u2 u3} (Sigma.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x)) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (Set.hasMem.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) b a) (LocalEquiv.source.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b))))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (b : B) (a : F), Membership.Mem.{max u2 u3, max u2 u3} (Sigma.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x)) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (Set.hasMem.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z))) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) b a) (LocalEquiv.source.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b))))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (b : B) (a : F), Membership.mem.{max u3 u2, max u3 u2} (Sigma.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z x)) (Set.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z))) (Set.instMembershipSet.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z))) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z x) b a) (LocalEquiv.source.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b))))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B) (a : F), Membership.mem.{max u3 u2, max u3 u2} (Sigma.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x)) (Set.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z))) (Set.instMembershipSet.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z))) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x) b a) (LocalEquiv.source.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b))))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_atₓ'. -/
 @[simp, mfld_simps]
 theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source :=
@@ -883,9 +933,9 @@ theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source
 
 /- warning: fiber_bundle_core.mem_local_triv_target -> FiberBundleCore.mem_localTriv_target is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i)))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Trivialization.baseSet.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Trivialization.baseSet.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i)))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_target FiberBundleCore.mem_localTriv_targetₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTriv_target (p : B × F) :
@@ -895,9 +945,9 @@ theorem mem_localTriv_target (p : B × F) :
 
 /- warning: fiber_bundle_core.mem_local_triv_at_target -> FiberBundleCore.mem_localTrivAt_target is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (p : Prod.{u2, u3} B F) (b : B), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b)))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (p : Prod.{u2, u3} B F) (b : B), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b)))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (p : Prod.{u3, u2} B F) (b : B), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b))))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Trivialization.baseSet.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b)))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (p : Prod.{u3, u2} B F) (b : B), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b))))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Trivialization.baseSet.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b)))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_target FiberBundleCore.mem_localTrivAt_targetₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTrivAt_target (p : B × F) (b : B) :
@@ -907,9 +957,9 @@ theorem mem_localTrivAt_target (p : B × F) (b : B) :
 
 /- warning: fiber_bundle_core.local_triv_symm_apply -> FiberBundleCore.localTriv_symm_apply is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u2, u3} B F), Eq.{max (succ u2) (succ u3)} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (fun (_x : LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) => (Prod.{u2, u3} B F) -> (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (LocalHomeomorph.hasCoeToFun.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (LocalHomeomorph.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))) p) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) (Prod.fst.{u2, u3} B F p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (Prod.fst.{u2, u3} B F p)) (Prod.fst.{u2, u3} B F p) (Prod.snd.{u2, u3} B F p)))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u2, u3} B F), Eq.{max (succ u2) (succ u3)} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (fun (_x : LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) => (Prod.{u2, u3} B F) -> (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (LocalHomeomorph.hasCoeToFun.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (LocalHomeomorph.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_2 _inst_3 Z i))) p) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z x) (Prod.fst.{u2, u3} B F p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_2 F _inst_3 Z i (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_2 F _inst_3 Z (Prod.fst.{u2, u3} B F p)) (Prod.fst.{u2, u3} B F p) (Prod.snd.{u2, u3} B F p)))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u3, u2} B F), Eq.{max (succ u3) (succ u2)} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (LocalHomeomorph.toFun'.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (LocalHomeomorph.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))) p) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z x) (Prod.fst.{u3, u2} B F p) (FiberBundleCore.coordChange.{u1, u3, u2} ι B _inst_1 F _inst_2 Z i (FiberBundleCore.indexAt.{u1, u3, u2} ι B _inst_1 F _inst_2 Z (Prod.fst.{u3, u2} B F p)) (Prod.fst.{u3, u2} B F p) (Prod.snd.{u3, u2} B F p)))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (i : ι) (p : Prod.{u3, u2} B F), Eq.{max (succ u3) (succ u2)} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (LocalHomeomorph.toFun'.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (LocalHomeomorph.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_2 _inst_3 Z i))) p) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z x) (Prod.fst.{u3, u2} B F p) (FiberBundleCore.coordChange.{u1, u3, u2} ι B _inst_2 F _inst_3 Z i (FiberBundleCore.indexAt.{u1, u3, u2} ι B _inst_2 F _inst_3 Z (Prod.fst.{u3, u2} B F p)) (Prod.fst.{u3, u2} B F p) (Prod.snd.{u3, u2} B F p)))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_symm_apply FiberBundleCore.localTriv_symm_applyₓ'. -/
 @[simp, mfld_simps]
 theorem localTriv_symm_apply (p : B × F) :
@@ -919,9 +969,9 @@ theorem localTriv_symm_apply (p : B × F) :
 
 /- warning: fiber_bundle_core.mem_local_triv_at_base_set -> FiberBundleCore.mem_localTrivAt_baseSet is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (b : B), Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) b (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b))
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3) (b : B), Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) b (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_2 _inst_3 Z b))
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (b : B), Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b))
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3) (b : B), Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) _inst_2 _inst_3 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_2 _inst_3 Z b))
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSetₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet :=
@@ -995,9 +1045,9 @@ instance fiberBundle : FiberBundle F Z.Fiber
 
 /- warning: fiber_bundle_core.continuous_proj -> FiberBundleCore.continuous_proj is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2), Continuous.{max u2 u3, u2} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3), Continuous.{max u2 u3, u2} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2), Continuous.{max u3 u2, u3} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3), Continuous.{max u3 u2, u3} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.continuous_proj FiberBundleCore.continuous_projₓ'. -/
 /-- The projection on the base of a fiber bundle created from core is continuous -/
 theorem continuous_proj : Continuous Z.proj :=
@@ -1006,9 +1056,9 @@ theorem continuous_proj : Continuous Z.proj :=
 
 /- warning: fiber_bundle_core.is_open_map_proj -> FiberBundleCore.isOpenMap_proj is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2), IsOpenMap.{max u2 u3, u2} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_2 F _inst_3), IsOpenMap.{max u2 u3, u2} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_2 _inst_3 Z)
 but is expected to have type
-  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2), IsOpenMap.{max u3 u2, u3} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_2 F _inst_3), IsOpenMap.{max u3 u2, u3} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_2 _inst_3 Z) _inst_2 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_2 _inst_3 Z)
 Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.is_open_map_proj FiberBundleCore.isOpenMap_projₓ'. -/
 /-- The projection on the base of a fiber bundle created from core is an open map -/
 theorem isOpenMap_proj : IsOpenMap Z.proj :=
@@ -1054,9 +1104,9 @@ def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E
 
 /- warning: fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas -> FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) {e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)}, (Membership.Mem.{max u1 u2 u1 u3, max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)) (Set.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E))) (Set.hasMem.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E))) e (FiberPrebundle.pretrivializationAtlas.{u1, u2, u3} B F E _inst_1 _inst_2 a)) -> (ContinuousOn.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e))) (LocalEquiv.target.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e)))
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) {e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)}, (Membership.Mem.{max u1 u2 u1 u3, max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) (Set.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E))) (Set.hasMem.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E))) e (FiberPrebundle.pretrivializationAtlas.{u1, u2, u3} B F E _inst_2 _inst_3 a)) -> (ContinuousOn.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) (Prod.topologicalSpace.{u1, u2} B F _inst_2 _inst_3) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e))) (LocalEquiv.target.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e)))
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_1 _inst_2) {e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)}, (Membership.mem.{max (max u3 u2) u1, max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)) (Set.{max (max (max u3 u1) u2) u3} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E))) (Set.instMembershipSet.{max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E))) e (FiberPrebundle.pretrivializationAtlas.{u3, u2, u1} B F E _inst_1 _inst_2 a)) -> (ContinuousOn.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (FiberPrebundle.totalSpaceTopology.{u3, u2, u1} B F E _inst_1 _inst_2 a) (LocalEquiv.toFun.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e))) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e)))
+  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_2 _inst_3) {e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)}, (Membership.mem.{max (max u3 u2) u1, max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) (Set.{max (max (max u3 u1) u2) u3} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E))) (Set.instMembershipSet.{max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E))) e (FiberPrebundle.pretrivializationAtlas.{u3, u2, u1} B F E _inst_2 _inst_3 a)) -> (ContinuousOn.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (FiberPrebundle.totalSpaceTopology.{u3, u2, u1} B F E _inst_2 _inst_3 a) (LocalEquiv.toFun.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e))) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e)))
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlasₓ'. -/
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target :=
@@ -1069,9 +1119,9 @@ theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializ
 
 /- warning: fiber_prebundle.is_open_source -> FiberPrebundle.isOpen_source is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)), IsOpen.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e))
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)), IsOpen.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e))
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_1 _inst_2) (e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)), IsOpen.{max u3 u1} (Bundle.TotalSpace.{u3, u1} B E) (FiberPrebundle.totalSpaceTopology.{u3, u2, u1} B F E _inst_1 _inst_2 a) (LocalEquiv.source.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e))
+  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_2 _inst_3) (e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)), IsOpen.{max u3 u1} (Bundle.TotalSpace.{u3, u1} B E) (FiberPrebundle.totalSpaceTopology.{u3, u2, u1} B F E _inst_2 _inst_3 a) (LocalEquiv.source.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e))
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.is_open_source FiberPrebundle.isOpen_sourceₓ'. -/
 theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTopology] e.source :=
   by
@@ -1086,9 +1136,9 @@ theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTop
 
 /- warning: fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter -> FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)) (e' : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)), (Membership.Mem.{max u1 u2 u1 u3, max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)) (Set.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E))) (Set.hasMem.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E))) e' (FiberPrebundle.pretrivializationAtlas.{u1, u2, u3} B F E _inst_1 _inst_2 a)) -> (IsOpen.{max u1 u2} (Prod.{u1, u2} B F) (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasInter.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.target.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e')) (Set.preimage.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e'))) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e)))))
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) (e' : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)), (Membership.Mem.{max u1 u2 u1 u3, max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) (Set.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E))) (Set.hasMem.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E))) e' (FiberPrebundle.pretrivializationAtlas.{u1, u2, u3} B F E _inst_2 _inst_3 a)) -> (IsOpen.{max u1 u2} (Prod.{u1, u2} B F) (Prod.topologicalSpace.{u1, u2} B F _inst_2 _inst_3) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasInter.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.target.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e')) (Set.preimage.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e'))) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e)))))
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_1 _inst_2) (e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)) (e' : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)), (Membership.mem.{max (max u3 u2) u1, max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)) (Set.{max (max (max u3 u1) u2) u3} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E))) (Set.instMembershipSet.{max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E))) e' (FiberPrebundle.pretrivializationAtlas.{u3, u2, u1} B F E _inst_1 _inst_2 a)) -> (IsOpen.{max u3 u2} (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Inter.inter.{max u3 u2} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instInterSet.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e')) (Set.preimage.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.toFun.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e'))) (LocalEquiv.source.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e)))))
+  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_2 _inst_3) (e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) (e' : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)), (Membership.mem.{max (max u3 u2) u1, max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) (Set.{max (max (max u3 u1) u2) u3} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E))) (Set.instMembershipSet.{max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E))) e' (FiberPrebundle.pretrivializationAtlas.{u3, u2, u1} B F E _inst_2 _inst_3 a)) -> (IsOpen.{max u3 u2} (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_2 _inst_3) (Inter.inter.{max u3 u2} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instInterSet.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e')) (Set.preimage.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.toFun.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e'))) (LocalEquiv.source.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e)))))
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_interₓ'. -/
 theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π E))
     (he' : e' ∈ a.pretrivializationAtlas) :
@@ -1134,9 +1184,9 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
 
 /- warning: fiber_prebundle.mem_trivialization_at_source -> FiberPrebundle.mem_pretrivializationAt_source is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (b : B) (x : E b), Membership.Mem.{max u1 u3, max u1 u3} (Bundle.TotalSpace.{u1, u3} B (fun (b : B) => E b)) (Set.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Set.hasMem.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Bundle.totalSpaceMk.{u1, u3} B (fun (b : B) => E b) b x) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_1 _inst_2 a b)))
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (b : B) (x : E b), Membership.Mem.{max u1 u3, max u1 u3} (Bundle.TotalSpace.{u1, u3} B (fun (b : B) => E b)) (Set.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Set.hasMem.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Bundle.totalSpaceMk.{u1, u3} B (fun (b : B) => E b) b x) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_2 _inst_3 a b)))
 but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_1 _inst_2) (b : B) (x : E b), Membership.mem.{max u3 u2, max u2 u3} (Bundle.TotalSpace.{u2, u3} B E) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B E)) (Set.instMembershipSet.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B E)) (Bundle.totalSpaceMk.{u2, u3} B E b x) (LocalEquiv.source.{max u2 u3, max u2 u1} (Bundle.TotalSpace.{u2, u3} B E) (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u3} B E) (FiberPrebundle.pretrivializationAt.{u2, u1, u3} B F E _inst_1 _inst_2 a b)))
+  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_2 _inst_3) (b : B) (x : E b), Membership.mem.{max u3 u2, max u2 u3} (Bundle.TotalSpace.{u2, u3} B E) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B E)) (Set.instMembershipSet.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B E)) (Bundle.totalSpaceMk.{u2, u3} B E b x) (LocalEquiv.source.{max u2 u3, max u2 u1} (Bundle.TotalSpace.{u2, u3} B E) (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u3} B E) (FiberPrebundle.pretrivializationAt.{u2, u1, u3} B F E _inst_2 _inst_3 a b)))
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.mem_trivialization_at_source FiberPrebundle.mem_pretrivializationAt_sourceₓ'. -/
 theorem mem_pretrivializationAt_source (b : B) (x : E b) :
     totalSpaceMk b x ∈ (a.pretrivializationAt b).source :=
@@ -1147,9 +1197,9 @@ theorem mem_pretrivializationAt_source (b : B) (x : E b) :
 
 /- warning: fiber_prebundle.total_space_mk_preimage_source -> FiberPrebundle.totalSpaceMk_preimage_source is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (b : B), Eq.{succ u3} (Set.{u3} (E b)) (Set.preimage.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.totalSpaceMk.{u1, u3} B E b) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_1 _inst_2 a b)))) (Set.univ.{u3} (E b))
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (b : B), Eq.{succ u3} (Set.{u3} (E b)) (Set.preimage.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.totalSpaceMk.{u1, u3} B E b) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_2 _inst_3 a b)))) (Set.univ.{u3} (E b))
 but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_1 _inst_2) (b : B), Eq.{succ u3} (Set.{u3} (E b)) (Set.preimage.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (Bundle.totalSpaceMk.{u2, u3} B E b) (LocalEquiv.source.{max u2 u3, max u2 u1} (Bundle.TotalSpace.{u2, u3} B E) (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u3} B E) (FiberPrebundle.pretrivializationAt.{u2, u1, u3} B F E _inst_1 _inst_2 a b)))) (Set.univ.{u3} (E b))
+  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_2 _inst_3) (b : B), Eq.{succ u3} (Set.{u3} (E b)) (Set.preimage.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (Bundle.totalSpaceMk.{u2, u3} B E b) (LocalEquiv.source.{max u2 u3, max u2 u1} (Bundle.TotalSpace.{u2, u3} B E) (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u2, u3} B E) (FiberPrebundle.pretrivializationAt.{u2, u1, u3} B F E _inst_2 _inst_3 a b)))) (Set.univ.{u3} (E b))
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.total_space_mk_preimage_source FiberPrebundle.totalSpaceMk_preimage_sourceₓ'. -/
 @[simp]
 theorem totalSpaceMk_preimage_source (b : B) :
@@ -1171,9 +1221,9 @@ def fiberTopology (b : B) : TopologicalSpace (E b) :=
 
 /- warning: fiber_prebundle.inducing_total_space_mk -> FiberPrebundle.inducing_totalSpaceMk is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (b : B), Inducing.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.fiberTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a b) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) (Bundle.totalSpaceMk.{u1, u3} B E b)
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (b : B), Inducing.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.fiberTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a b) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) (Bundle.totalSpaceMk.{u1, u3} B E b)
 but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_1 _inst_2) (b : B), Inducing.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (FiberPrebundle.fiberTopology.{u2, u1, u3} B F E _inst_1 _inst_2 a b) (FiberPrebundle.totalSpaceTopology.{u2, u1, u3} B F E _inst_1 _inst_2 a) (Bundle.totalSpaceMk.{u2, u3} B E b)
+  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_2 _inst_3) (b : B), Inducing.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (FiberPrebundle.fiberTopology.{u2, u1, u3} B F E _inst_2 _inst_3 a b) (FiberPrebundle.totalSpaceTopology.{u2, u1, u3} B F E _inst_2 _inst_3 a) (Bundle.totalSpaceMk.{u2, u3} B E b)
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.inducing_total_space_mk FiberPrebundle.inducing_totalSpaceMkₓ'. -/
 @[continuity]
 theorem inducing_totalSpaceMk (b : B) :
@@ -1186,9 +1236,9 @@ theorem inducing_totalSpaceMk (b : B) :
 
 /- warning: fiber_prebundle.continuous_total_space_mk -> FiberPrebundle.continuous_totalSpaceMk is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (b : B), Continuous.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.fiberTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a b) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) (Bundle.totalSpaceMk.{u1, u3} B E b)
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) (b : B), Continuous.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.fiberTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a b) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) (Bundle.totalSpaceMk.{u1, u3} B E b)
 but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_1 _inst_2) (b : B), Continuous.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (FiberPrebundle.fiberTopology.{u2, u1, u3} B F E _inst_1 _inst_2 a b) (FiberPrebundle.totalSpaceTopology.{u2, u1, u3} B F E _inst_1 _inst_2 a) (Bundle.totalSpaceMk.{u2, u3} B E b)
+  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u2} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_2 _inst_3) (b : B), Continuous.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (FiberPrebundle.fiberTopology.{u2, u1, u3} B F E _inst_2 _inst_3 a b) (FiberPrebundle.totalSpaceTopology.{u2, u1, u3} B F E _inst_2 _inst_3 a) (Bundle.totalSpaceMk.{u2, u3} B E b)
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_total_space_mk FiberPrebundle.continuous_totalSpaceMkₓ'. -/
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) :
@@ -1221,9 +1271,9 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology a.fiberTopology
 
 /- warning: fiber_prebundle.continuous_proj -> FiberPrebundle.continuous_proj is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2), Continuous.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E)
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3), Continuous.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u1}} {E : B -> Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u3, u1, u2} B F E _inst_1 _inst_2), Continuous.{max u3 u2, u3} (Bundle.TotalSpace.{u3, u2} B E) B (FiberPrebundle.totalSpaceTopology.{u3, u1, u2} B F E _inst_1 _inst_2 a) _inst_1 (Bundle.TotalSpace.proj.{u3, u2} B E)
+  forall {B : Type.{u3}} {F : Type.{u1}} {E : B -> Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u3, u1, u2} B F E _inst_2 _inst_3), Continuous.{max u3 u2, u3} (Bundle.TotalSpace.{u3, u2} B E) B (FiberPrebundle.totalSpaceTopology.{u3, u1, u2} B F E _inst_2 _inst_3 a) _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E)
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_proj FiberPrebundle.continuous_projₓ'. -/
 theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
   by
@@ -1235,9 +1285,9 @@ theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
 
 /- warning: fiber_prebundle.continuous_on_of_comp_right -> FiberPrebundle.continuousOn_of_comp_right is a dubious translation:
 lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) {X : Type.{u4}} [_inst_3 : TopologicalSpace.{u4} X] {f : (Bundle.TotalSpace.{u1, u3} B E) -> X} {s : Set.{u1} B}, (IsOpen.{u1} B _inst_1 s) -> (forall (b : B), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b s) -> (ContinuousOn.{max u1 u2, u4} (Prod.{u1, u2} B F) X (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3 (Function.comp.{succ (max u1 u2), max (succ u1) (succ u3), succ u4} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) X f (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_1 _inst_2 a b))))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) s (Pretrivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_1 _inst_2 a b))) (Set.univ.{u2} F)))) -> (ContinuousOn.{max u1 u3, u4} (Bundle.TotalSpace.{u1, u3} B E) X (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) _inst_3 f (Set.preimage.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E) s))
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_2 : TopologicalSpace.{u1} B] [_inst_3 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_2 _inst_3) {X : Type.{u4}} [_inst_4 : TopologicalSpace.{u4} X] {f : (Bundle.TotalSpace.{u1, u3} B E) -> X} {s : Set.{u1} B}, (IsOpen.{u1} B _inst_2 s) -> (forall (b : B), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b s) -> (ContinuousOn.{max u1 u2, u4} (Prod.{u1, u2} B F) X (Prod.topologicalSpace.{u1, u2} B F _inst_2 _inst_3) _inst_4 (Function.comp.{succ (max u1 u2), max (succ u1) (succ u3), succ u4} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) X f (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_2 _inst_3 a b))))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) s (Pretrivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_2 _inst_3 a b))) (Set.univ.{u2} F)))) -> (ContinuousOn.{max u1 u3, u4} (Bundle.TotalSpace.{u1, u3} B E) X (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_2 _inst_3 a) _inst_4 f (Set.preimage.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E) s))
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u1}} {E : B -> Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u3, u1, u2} B F E _inst_1 _inst_2) {X : Type.{u4}} [_inst_3 : TopologicalSpace.{u4} X] {f : (Bundle.TotalSpace.{u3, u2} B E) -> X} {s : Set.{u3} B}, (IsOpen.{u3} B _inst_1 s) -> (forall (b : B), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b s) -> (ContinuousOn.{max u3 u1, u4} (Prod.{u3, u1} B F) X (instTopologicalSpaceProd.{u3, u1} B F _inst_1 _inst_2) _inst_3 (Function.comp.{succ (max u3 u1), max (succ u3) (succ u2), succ u4} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) X f (LocalEquiv.toFun.{max u3 u1, max u3 u2} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) (LocalEquiv.symm.{max u3 u2, max u3 u1} (Bundle.TotalSpace.{u3, u2} B E) (Prod.{u3, u1} B F) (Pretrivialization.toLocalEquiv.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberPrebundle.pretrivializationAt.{u3, u1, u2} B F E _inst_1 _inst_2 a b))))) (Set.prod.{u3, u1} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) s (Pretrivialization.baseSet.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberPrebundle.pretrivializationAt.{u3, u1, u2} B F E _inst_1 _inst_2 a b))) (Set.univ.{u1} F)))) -> (ContinuousOn.{max u3 u2, u4} (Bundle.TotalSpace.{u3, u2} B E) X (FiberPrebundle.totalSpaceTopology.{u3, u1, u2} B F E _inst_1 _inst_2 a) _inst_3 f (Set.preimage.{max u3 u2, u3} (Bundle.TotalSpace.{u3, u2} B E) B (Bundle.TotalSpace.proj.{u3, u2} B E) s))
+  forall {B : Type.{u3}} {F : Type.{u1}} {E : B -> Type.{u2}} [_inst_2 : TopologicalSpace.{u3} B] [_inst_3 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u3, u1, u2} B F E _inst_2 _inst_3) {X : Type.{u4}} [_inst_4 : TopologicalSpace.{u4} X] {f : (Bundle.TotalSpace.{u3, u2} B E) -> X} {s : Set.{u3} B}, (IsOpen.{u3} B _inst_2 s) -> (forall (b : B), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b s) -> (ContinuousOn.{max u3 u1, u4} (Prod.{u3, u1} B F) X (instTopologicalSpaceProd.{u3, u1} B F _inst_2 _inst_3) _inst_4 (Function.comp.{succ (max u3 u1), max (succ u3) (succ u2), succ u4} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) X f (LocalEquiv.toFun.{max u3 u1, max u3 u2} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) (LocalEquiv.symm.{max u3 u2, max u3 u1} (Bundle.TotalSpace.{u3, u2} B E) (Prod.{u3, u1} B F) (Pretrivialization.toLocalEquiv.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberPrebundle.pretrivializationAt.{u3, u1, u2} B F E _inst_2 _inst_3 a b))))) (Set.prod.{u3, u1} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) s (Pretrivialization.baseSet.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberPrebundle.pretrivializationAt.{u3, u1, u2} B F E _inst_2 _inst_3 a b))) (Set.univ.{u1} F)))) -> (ContinuousOn.{max u3 u2, u4} (Bundle.TotalSpace.{u3, u2} B E) X (FiberPrebundle.totalSpaceTopology.{u3, u1, u2} B F E _inst_2 _inst_3 a) _inst_4 f (Set.preimage.{max u3 u2, u3} (Bundle.TotalSpace.{u3, u2} B E) B (Bundle.TotalSpace.proj.{u3, u2} B E) s))
 Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_on_of_comp_right FiberPrebundle.continuousOn_of_comp_rightₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- For a fiber bundle `E` over `B` constructed using the `fiber_prebundle` mechanism,
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
+! leanprover-community/mathlib commit 8ef6f08ff8c781c5c07a8b12843710e1a0d8a688
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.Topology.FiberBundle.Trivialization
 /-!
 # Fiber bundles
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 Mathematically, a (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on
 `B` for which the fibers are all homeomorphic to `F`, such that the local situation around each
 point is a direct product.
Diff
@@ -187,6 +187,7 @@ section FiberBundle
 variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
   [TopologicalSpace (TotalSpace E)] [∀ b, TopologicalSpace (E b)]
 
+#print FiberBundle /-
 /- ./././Mathport/Syntax/Translate/Command.lean:388:30: infer kinds are unsupported in Lean 4: #[`totalSpaceMk_inducing] [] -/
 /- ./././Mathport/Syntax/Translate/Command.lean:388:30: infer kinds are unsupported in Lean 4: #[`trivializationAtlas] [] -/
 /- ./././Mathport/Syntax/Translate/Command.lean:388:30: infer kinds are unsupported in Lean 4: #[`trivializationAt] [] -/
@@ -202,11 +203,13 @@ class FiberBundle where
   mem_baseSet_trivializationAt : ∀ b : B, b ∈ (trivialization_at b).baseSet
   trivialization_mem_atlas : ∀ b : B, trivialization_at b ∈ trivialization_atlas
 #align fiber_bundle FiberBundle
+-/
 
 export FiberBundle ()
 
 variable {F E}
 
+#print MemTrivializationAtlas /-
 /-- Given a type `E` equipped with a fiber bundle structure, this is a `Prop` typeclass
 for trivializations of `E`, expressing that a trivialization is in the designated atlas for the
 bundle.  This is needed because lemmas about the linearity of trivializations or the continuity (as
@@ -216,6 +219,7 @@ expected to hold for trivializations in the designated atlas. -/
 class MemTrivializationAtlas [FiberBundle F E] (e : Trivialization F (π E)) : Prop where
   out : e ∈ trivializationAtlas F E
 #align mem_trivialization_atlas MemTrivializationAtlas
+-/
 
 instance [FiberBundle F E] (b : B) : MemTrivializationAtlas (trivializationAt F E b)
     where out := trivialization_mem_atlas F E b
@@ -224,6 +228,12 @@ namespace FiberBundle
 
 variable (F) {E} [FiberBundle F E]
 
+/- warning: fiber_bundle.map_proj_nhds -> FiberBundle.map_proj_nhds is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {E : B -> Type.{u3}} [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (x : Bundle.TotalSpace.{u1, u3} B E), Eq.{succ u1} (Filter.{u1} B) (Filter.map.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E) (nhds.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) _inst_3 x)) (nhds.{u1} B _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E x))
+but is expected to have type
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] {E : B -> Type.{u1}} [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (x : Bundle.TotalSpace.{u2, u1} B E), Eq.{succ u2} (Filter.{u2} B) (Filter.map.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B (Bundle.TotalSpace.proj.{u2, u1} B E) (nhds.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B E) _inst_3 x)) (nhds.{u2} B _inst_1 (Bundle.TotalSpace.proj.{u2, u1} B E x))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.map_proj_nhds FiberBundle.map_proj_nhdsₓ'. -/
 theorem map_proj_nhds (x : TotalSpace E) : map (π E) (𝓝 x) = 𝓝 x.proj :=
   (trivializationAt F E x.proj).map_proj_nhds <|
     (trivializationAt F E x.proj).mem_source.2 <| mem_baseSet_trivializationAt F E x.proj
@@ -231,17 +241,35 @@ theorem map_proj_nhds (x : TotalSpace E) : map (π E) (𝓝 x) = 𝓝 x.proj :=
 
 variable (E)
 
+/- warning: fiber_bundle.continuous_proj -> FiberBundle.continuous_proj is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)], Continuous.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E)
+but is expected to have type
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)], Continuous.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u2, u1} B E)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_proj FiberBundle.continuous_projₓ'. -/
 /-- The projection from a fiber bundle to its base is continuous. -/
 @[continuity]
 theorem continuous_proj : Continuous (π E) :=
   continuous_iff_continuousAt.2 fun x => (map_proj_nhds F x).le
 #align fiber_bundle.continuous_proj FiberBundle.continuous_proj
 
+/- warning: fiber_bundle.is_open_map_proj -> FiberBundle.isOpenMap_proj is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)], IsOpenMap.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E)
+but is expected to have type
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)], IsOpenMap.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u2, u1} B E)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.is_open_map_proj FiberBundle.isOpenMap_projₓ'. -/
 /-- The projection from a fiber bundle to its base is an open map. -/
 theorem isOpenMap_proj : IsOpenMap (π E) :=
   IsOpenMap.of_nhds_le fun x => (map_proj_nhds F x).ge
 #align fiber_bundle.is_open_map_proj FiberBundle.isOpenMap_proj
 
+/- warning: fiber_bundle.surjective_proj -> FiberBundle.surjective_proj is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] [_inst_6 : Nonempty.{succ u2} F], Function.Surjective.{max (succ u1) (succ u3), succ u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E)
+but is expected to have type
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] [_inst_6 : Nonempty.{succ u3} F], Function.Surjective.{max (succ u2) (succ u1), succ u2} (Bundle.TotalSpace.{u2, u1} B E) B (Bundle.TotalSpace.proj.{u2, u1} B E)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.surjective_proj FiberBundle.surjective_projₓ'. -/
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a surjective
 map. -/
 theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
@@ -250,12 +278,24 @@ theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
   ⟨p, hpb⟩
 #align fiber_bundle.surjective_proj FiberBundle.surjective_proj
 
+/- warning: fiber_bundle.quotient_map_proj -> FiberBundle.quotientMap_proj is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] [_inst_6 : Nonempty.{succ u2} F], QuotientMap.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E)
+but is expected to have type
+  forall {B : Type.{u2}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : FiberBundle.{u2, u3, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] [_inst_6 : Nonempty.{succ u3} F], QuotientMap.{max u2 u1, u2} (Bundle.TotalSpace.{u2, u1} B E) B _inst_3 _inst_1 (Bundle.TotalSpace.proj.{u2, u1} B E)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.quotient_map_proj FiberBundle.quotientMap_projₓ'. -/
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a quotient
 map. -/
 theorem quotientMap_proj [Nonempty F] : QuotientMap (π E) :=
   (isOpenMap_proj F E).to_quotientMap (continuous_proj F E) (surjective_proj F E)
 #align fiber_bundle.quotient_map_proj FiberBundle.quotientMap_proj
 
+/- warning: fiber_bundle.continuous_total_space_mk -> FiberBundle.continuous_totalSpaceMk is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (x : B), Continuous.{u3, max u1 u3} (E x) (Bundle.TotalSpace.{u1, u3} B E) (_inst_4 x) _inst_3 (Bundle.totalSpaceMk.{u1, u3} B E x)
+but is expected to have type
+  forall {B : Type.{u1}} (F : Type.{u3}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u3} F] (E : B -> Type.{u2}) [_inst_3 : TopologicalSpace.{max u2 u1} (Bundle.TotalSpace.{u1, u2} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u2} (E b)] [_inst_5 : FiberBundle.{u1, u3, u2} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (x : B), Continuous.{u2, max u1 u2} (E x) (Bundle.TotalSpace.{u1, u2} B E) (_inst_4 x) _inst_3 (Bundle.totalSpaceMk.{u1, u2} B E x)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.continuous_total_space_mk FiberBundle.continuous_totalSpaceMkₓ'. -/
 theorem continuous_totalSpaceMk (x : B) : Continuous (@totalSpaceMk B E x) :=
   (totalSpaceMk_inducing F E x).Continuous
 #align fiber_bundle.continuous_total_space_mk FiberBundle.continuous_totalSpaceMk
@@ -264,6 +304,12 @@ end FiberBundle
 
 variable (F E)
 
+/- warning: fiber_bundle.exists_trivialization_Icc_subset -> FiberBundle.exists_trivialization_Icc_subset is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u3}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u3} (E b)] [_inst_5 : ConditionallyCompleteLinearOrder.{u1} B] [_inst_6 : OrderTopology.{u1} B _inst_1 (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (ConditionallyCompleteLattice.toLattice.{u1} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} B _inst_5)))))] [_inst_7 : FiberBundle.{u1, u2, u3} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (a : B) (b : B), Exists.{max (succ u1) (succ u2) (succ (max u1 u3))} (Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) (fun (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E)) => HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) (Set.Icc.{u1} B (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (ConditionallyCompleteLattice.toLattice.{u1} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u1} B _inst_5))))) a b) (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u1, u3} B E) e))
+but is expected to have type
+  forall {B : Type.{u3}} (F : Type.{u2}) [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (E : B -> Type.{u1}) [_inst_3 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_4 : forall (b : B), TopologicalSpace.{u1} (E b)] [_inst_5 : ConditionallyCompleteLinearOrder.{u3} B] [_inst_6 : OrderTopology.{u3} B _inst_1 (PartialOrder.toPreorder.{u3} B (SemilatticeInf.toPartialOrder.{u3} B (Lattice.toSemilatticeInf.{u3} B (ConditionallyCompleteLattice.toLattice.{u3} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} B _inst_5)))))] [_inst_7 : FiberBundle.{u3, u2, u1} B F _inst_1 _inst_2 E _inst_3 (fun (b : B) => _inst_4 b)] (a : B) (b : B), Exists.{max (max (succ u3) (succ u2)) (succ u1)} (Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) (fun (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E)) => HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) (Set.Icc.{u3} B (PartialOrder.toPreorder.{u3} B (SemilatticeInf.toPartialOrder.{u3} B (Lattice.toSemilatticeInf.{u3} B (ConditionallyCompleteLattice.toLattice.{u3} B (ConditionallyCompleteLinearOrder.toConditionallyCompleteLattice.{u3} B _inst_5))))) a b) (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_3 (Bundle.TotalSpace.proj.{u3, u1} B E) e))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subsetₓ'. -/
 /-- If `E` is a fiber bundle over a conditionally complete linear order,
 then it is trivial over any closed interval. -/
 theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinearOrder B]
@@ -342,6 +388,7 @@ end FiberBundle
 /-! ### Core construction for constructing fiber bundles -/
 
 
+#print FiberBundleCore /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- Core data defining a locally trivial bundle with fiber `F` over a topological
 space `B`. Note that "bundle" is used in its mathematical sense. This is the (computer science)
@@ -368,6 +415,7 @@ structure FiberBundleCore (ι : Type _) (B : Type _) [TopologicalSpace B] (F : T
       ∀ x ∈ base_set i ∩ base_set j ∩ base_set k,
         ∀ v, (coord_change j k x) (coord_change i j x v) = coord_change i k x v
 #align fiber_bundle_core FiberBundleCore
+-/
 
 namespace FiberBundleCore
 
@@ -375,34 +423,43 @@ variable [TopologicalSpace B] [TopologicalSpace F] (Z : FiberBundleCore ι B F)
 
 include Z
 
+#print FiberBundleCore.Index /-
 /-- The index set of a fiber bundle core, as a convenience function for dot notation -/
 @[nolint unused_arguments has_nonempty_instance]
 def Index :=
   ι
 #align fiber_bundle_core.index FiberBundleCore.Index
+-/
 
+#print FiberBundleCore.Base /-
 /-- The base space of a fiber bundle core, as a convenience function for dot notation -/
 @[nolint unused_arguments, reducible]
 def Base :=
   B
 #align fiber_bundle_core.base FiberBundleCore.Base
+-/
 
+#print FiberBundleCore.Fiber /-
 /-- The fiber of a fiber bundle core, as a convenience function for dot notation and
 typeclass inference -/
 @[nolint unused_arguments has_nonempty_instance]
 def Fiber (x : B) :=
   F
 #align fiber_bundle_core.fiber FiberBundleCore.Fiber
+-/
 
 section FiberInstances
 
 attribute [local reducible] fiber
 
+#print FiberBundleCore.topologicalSpaceFiber /-
 instance topologicalSpaceFiber (x : B) : TopologicalSpace (Z.Fiber x) := by infer_instance
 #align fiber_bundle_core.topological_space_fiber FiberBundleCore.topologicalSpaceFiber
+-/
 
 end FiberInstances
 
+#print FiberBundleCore.TotalSpace /-
 /-- The total space of the fiber bundle, as a convenience function for dot notation.
 It is by definition equal to `bundle.total_space Z.fiber`, a.k.a. `Σ x, Z.fiber x` but with a
 different name for typeclass inference. -/
@@ -410,13 +467,22 @@ different name for typeclass inference. -/
 def TotalSpace :=
   Bundle.TotalSpace Z.Fiber
 #align fiber_bundle_core.total_space FiberBundleCore.TotalSpace
+-/
 
+#print FiberBundleCore.proj /-
 /-- The projection from the total space of a fiber bundle core, on its base. -/
 @[reducible, simp, mfld_simps]
 def proj : Z.TotalSpace → B :=
   Bundle.TotalSpace.proj
 #align fiber_bundle_core.proj FiberBundleCore.proj
+-/
 
+/- warning: fiber_bundle_core.triv_change -> FiberBundleCore.trivChange is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F], (FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) -> ι -> ι -> (LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F], (FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) -> ι -> ι -> (LocalHomeomorph.{max u3 u2, max u3 u2} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.triv_change FiberBundleCore.trivChangeₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- Local homeomorphism version of the trivialization change. -/
@@ -448,6 +514,12 @@ def trivChange (i j : ι) : LocalHomeomorph (B × F) (B × F)
       ContinuousOn.prod continuous_fst.continuous_on (Z.continuous_on_coord_change j i)
 #align fiber_bundle_core.triv_change FiberBundleCore.trivChange
 
+/- warning: fiber_bundle_core.mem_triv_change_source -> FiberBundleCore.mem_trivChange_source is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (j : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.trivChange.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i j)))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Inter.inter.{u2} (Set.{u2} B) (Set.hasInter.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z j)))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (j : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (FiberBundleCore.trivChange.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i j)))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_1 F _inst_2 Z i) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_1 F _inst_2 Z j)))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_triv_change_source FiberBundleCore.mem_trivChange_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_trivChange_source (i j : ι) (p : B × F) :
     p ∈ (Z.trivChange i j).source ↔ p.1 ∈ Z.baseSet i ∩ Z.baseSet j :=
@@ -457,6 +529,7 @@ theorem mem_trivChange_source (i j : ι) (p : B × F) :
 #align fiber_bundle_core.mem_triv_change_source FiberBundleCore.mem_trivChange_source
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print FiberBundleCore.localTrivAsLocalEquiv /-
 /-- Associate to a trivialization index `i : ι` the corresponding trivialization, i.e., a bijection
 between `proj ⁻¹ (base_set i)` and `base_set i × F`. As the fiber above `x` is `F` but read in the
 chart with index `index_at x`, the trivialization in the fiber above x is by definition the
@@ -489,14 +562,27 @@ def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F)
     · exact hx
     · simp only [hx, mem_inter_iff, and_self_iff, mem_base_set_at]
 #align fiber_bundle_core.local_triv_as_local_equiv FiberBundleCore.localTrivAsLocalEquiv
+-/
 
 variable (i : ι)
 
+/- warning: fiber_bundle_core.mem_local_triv_as_local_equiv_source -> FiberBundleCore.mem_localTrivAsLocalEquiv_source is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Set.hasMem.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i))
+but is expected to have type
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (Set.instMembershipSet.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) p (LocalEquiv.source.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u1} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.baseSet.{u3, u2, u1} ι B _inst_1 F _inst_2 Z i))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_sourceₓ'. -/
 theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpace) :
     p ∈ (Z.localTrivAsLocalEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_source
 
+/- warning: fiber_bundle_core.mem_local_triv_as_local_equiv_target -> FiberBundleCore.mem_localTrivAsLocalEquiv_target is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (FiberBundleCore.baseSet.{u1, u3, u2} ι B _inst_1 F _inst_2 Z i))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_targetₓ'. -/
 theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
     p ∈ (Z.localTrivAsLocalEquiv i).target ↔ p.1 ∈ Z.baseSet i :=
   by
@@ -504,11 +590,23 @@ theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
   simp only [and_true_iff, mem_univ]
 #align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_target
 
+/- warning: fiber_bundle_core.local_triv_as_local_equiv_apply -> FiberBundleCore.localTrivAsLocalEquiv_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) (fun (_x : LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (LocalEquiv.hasCoeToFun.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)) i (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)))
+but is expected to have type
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (LocalEquiv.toFun.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u1} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.coordChange.{u3, u2, u1} ι B _inst_1 F _inst_2 Z (FiberBundleCore.indexAt.{u3, u2, u1} ι B _inst_1 F _inst_2 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)) i (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_applyₓ'. -/
 theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpace) :
     (Z.localTrivAsLocalEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_apply
 
+/- warning: fiber_bundle_core.local_triv_as_local_equiv_trans -> FiberBundleCore.localTrivAsLocalEquiv_trans is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (j : ι), HasEquivₓ.Equiv.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F)) (setoidHasEquiv.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F)) (LocalEquiv.eqOnSourceSetoid.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F))) (LocalEquiv.trans.{max u2 u3, max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z j)) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Prod.{u2, u3} B F) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.trivChange.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i j))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (j : ι), HasEquiv.Equiv.{max (max (succ u3) (succ u2)) (succ (max u3 u2)), 0} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (instHasEquiv.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (LocalEquiv.eqOnSourceSetoid.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F))) (LocalEquiv.trans.{max u3 u2, max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z j)) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (FiberBundleCore.trivChange.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i j))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsLocalEquiv_transₓ'. -/
 /-- The composition of two local trivializations is the trivialization change Z.triv_change i j. -/
 theorem localTrivAsLocalEquiv_trans (i j : ι) :
     (Z.localTrivAsLocalEquiv i).symm.trans (Z.localTrivAsLocalEquiv j) ≈
@@ -526,15 +624,23 @@ theorem localTrivAsLocalEquiv_trans (i j : ι) :
     simp only [Z.coord_change_comp, hx, mem_inter_iff, and_self_iff, mem_base_set_at]
 #align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsLocalEquiv_trans
 
+#print FiberBundleCore.toTopologicalSpace /-
 /-- Topological structure on the total space of a fiber bundle created from core, designed so
 that all the local trivialization are continuous. -/
 instance toTopologicalSpace : TopologicalSpace (Bundle.TotalSpace Z.Fiber) :=
   TopologicalSpace.generateFrom <|
     ⋃ (i : ι) (s : Set (B × F)) (s_open : IsOpen s), {(Z i).source ∩ Z i ⁻¹' s}
 #align fiber_bundle_core.to_topological_space FiberBundleCore.toTopologicalSpace
+-/
 
 variable (b : B) (a : F)
 
+/- warning: fiber_bundle_core.open_source' -> FiberBundleCore.open_source' is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), IsOpen.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), IsOpen.{max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.open_source' FiberBundleCore.open_source'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem open_source' (i : ι) : IsOpen (Z.localTrivAsLocalEquiv i).source :=
   by
@@ -546,6 +652,7 @@ theorem open_source' (i : ι) : IsOpen (Z.localTrivAsLocalEquiv i).source :=
     mem_local_triv_as_local_equiv_source, and_true_iff, mem_univ, mem_preimage]
 #align fiber_bundle_core.open_source' FiberBundleCore.open_source'
 
+#print FiberBundleCore.localTriv /-
 /-- Extended version of the local trivialization of a fiber bundle constructed from core,
 registering additionally in its type that it is a local bundle trivialization. -/
 def localTriv (i : ι) : Trivialization F Z.proj
@@ -592,18 +699,33 @@ def localTriv (i : ι) : Trivialization F Z.proj
     rfl
   toLocalEquiv := Z.localTrivAsLocalEquiv i
 #align fiber_bundle_core.local_triv FiberBundleCore.localTriv
+-/
 
+#print FiberBundleCore.localTrivAt /-
 /-- Preferred local trivialization of a fiber bundle constructed from core, at a given point, as
 a bundle trivialization -/
 def localTrivAt (b : B) : Trivialization F (π Z.Fiber) :=
   Z.localTriv (Z.indexAt b)
 #align fiber_bundle_core.local_triv_at FiberBundleCore.localTrivAt
+-/
 
+/- warning: fiber_bundle_core.local_triv_at_def -> FiberBundleCore.localTrivAt_def is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (b : B), Eq.{max (succ u2) (succ u3) (succ (max u2 u3))} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_1 F _inst_2 Z b)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b)
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (b : B), Eq.{max (succ u3) (succ u2)} (Trivialization.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z (FiberBundleCore.indexAt.{u1, u3, u2} ι B _inst_1 F _inst_2 Z b)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_def FiberBundleCore.localTrivAt_defₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAt_def (b : B) : Z.localTriv (Z.indexAt b) = Z.localTrivAt b :=
   rfl
 #align fiber_bundle_core.local_triv_at_def FiberBundleCore.localTrivAt_def
 
+/- warning: fiber_bundle_core.continuous_const_section -> FiberBundleCore.continuous_const_section is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (v : F), (forall (i : ι) (j : ι) (x : B), (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) x (Inter.inter.{u2} (Set.{u2} B) (Set.hasInter.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z j))) -> (Eq.{succ u3} F (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i j x v) v)) -> (Continuous.{u2, max u2 u3} B (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) ((fun (this : B -> (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) => this) (fun (x : B) => Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) x v)))
+but is expected to have type
+  forall {ι : Type.{u2}} {B : Type.{u3}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u2, u3, u1} ι B _inst_1 F _inst_2) (v : F), (forall (i : ι) (j : ι) (x : B), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_1 F _inst_2 Z i) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_1 F _inst_2 Z j))) -> (Eq.{succ u1} F (FiberBundleCore.coordChange.{u2, u3, u1} ι B _inst_1 F _inst_2 Z i j x v) v)) -> (Continuous.{u3, max u3 u1} B (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.toTopologicalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) ([mdata let_fun:1 (fun (this : B -> (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z)) => this) (fun (x : B) => Sigma.mk.{u3, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u2, u3, u1} ι B F _inst_1 _inst_2 Z x) x v)]))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.continuous_const_section FiberBundleCore.continuous_const_sectionₓ'. -/
 /-- If an element of `F` is invariant under all coordinate changes, then one can define a
 corresponding section of the fiber bundle, which is continuous. This applies in particular to the
 zero section of a vector bundle. Another example (not yet defined) would be the identity
@@ -625,40 +747,82 @@ theorem continuous_const_section (v : F)
   · exact A
 #align fiber_bundle_core.continuous_const_section FiberBundleCore.continuous_const_section
 
+/- warning: fiber_bundle_core.local_triv_as_local_equiv_coe -> FiberBundleCore.localTrivAsLocalEquiv_coe is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ (max u2 u3)} ((FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) (fun (_x : LocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (LocalEquiv.hasCoeToFun.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F)) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), Eq.{max (succ u3) (succ u2)} ((FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) -> (Prod.{u3, u2} B F)) (LocalEquiv.toFun.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (Trivialization.toFun'.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsLocalEquiv_coeₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_coe : ⇑(Z.localTrivAsLocalEquiv i) = Z.localTriv i :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsLocalEquiv_coe
 
+/- warning: fiber_bundle_core.local_triv_as_local_equiv_source -> FiberBundleCore.localTrivAsLocalEquiv_source is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.source.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsLocalEquiv_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_source :
     (Z.localTrivAsLocalEquiv i).source = (Z.localTriv i).source :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsLocalEquiv_source
 
+/- warning: fiber_bundle_core.local_triv_as_local_equiv_target -> FiberBundleCore.localTrivAsLocalEquiv_target is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (Prod.{u2, u3} B F)) (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsLocalEquiv_targetₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_target :
     (Z.localTrivAsLocalEquiv i).target = (Z.localTriv i).target :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsLocalEquiv_target
 
+/- warning: fiber_bundle_core.local_triv_as_local_equiv_symm -> FiberBundleCore.localTrivAsLocalEquiv_symm is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ (max u2 u3)} (LocalEquiv.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι), Eq.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.localTrivAsLocalEquiv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsLocalEquiv_symmₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAsLocalEquiv_symm :
     (Z.localTrivAsLocalEquiv i).symm = (Z.localTriv i).toLocalEquiv.symm :=
   rfl
 #align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsLocalEquiv_symm
 
+/- warning: fiber_bundle_core.base_set_at -> FiberBundleCore.baseSet_at is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ u2} (Set.{u2} B) (FiberBundleCore.baseSet.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))
+but is expected to have type
+  forall {ι : Type.{u2}} {B : Type.{u3}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u2, u3, u1} ι B _inst_1 F _inst_2) (i : ι), Eq.{succ u3} (Set.{u3} B) (FiberBundleCore.baseSet.{u2, u3, u1} ι B _inst_1 F _inst_2 Z i) (Trivialization.baseSet.{u3, u1, max u3 u1} B F (FiberBundleCore.TotalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u2, u3, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u2, u3, u1} ι B F _inst_1 _inst_2 Z i))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.base_set_at FiberBundleCore.baseSet_atₓ'. -/
 @[simp, mfld_simps]
 theorem baseSet_at : Z.baseSet i = (Z.localTriv i).baseSet :=
   rfl
 #align fiber_bundle_core.base_set_at FiberBundleCore.baseSet_at
 
+/- warning: fiber_bundle_core.local_triv_apply -> FiberBundleCore.localTriv_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) => (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)) i (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)))
+but is expected to have type
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (FiberBundleCore.coordChange.{u3, u2, u1} ι B _inst_1 F _inst_2 Z (FiberBundleCore.indexAt.{u3, u2, u1} ι B _inst_1 F _inst_2 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)) i (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_apply FiberBundleCore.localTriv_applyₓ'. -/
 @[simp, mfld_simps]
 theorem localTriv_apply (p : Z.TotalSpace) :
     (Z.localTriv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_apply FiberBundleCore.localTriv_apply
 
+/- warning: fiber_bundle_core.local_triv_at_apply -> FiberBundleCore.localTrivAt_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) => (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p)) p) (Prod.mk.{u2, u3} B F (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p))
+but is expected to have type
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_1 _inst_2 Z (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p)) p) (Prod.mk.{u2, u1} B F (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Sigma.snd.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_applyₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p.2⟩ :=
   by
@@ -666,23 +830,47 @@ theorem localTrivAt_apply (p : Z.TotalSpace) : (Z.localTrivAt p.1) p = ⟨p.1, p
   exact Z.mem_base_set_at p.1
 #align fiber_bundle_core.local_triv_at_apply FiberBundleCore.localTrivAt_apply
 
+/- warning: fiber_bundle_core.local_triv_at_apply_mk -> FiberBundleCore.localTrivAt_apply_mk is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (b : B) (a : F), Eq.{max (succ u2) (succ u3)} (Prod.{u2, u3} B F) (coeFn.{max (succ u2) (succ u3) (succ (max u2 u3)), max (succ (max u2 u3)) (succ u2) (succ u3)} (Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (fun (_x : Trivialization.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) => (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) -> (Prod.{u2, u3} B F)) (Trivialization.hasCoeToFun.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) b a)) (Prod.mk.{u2, u3} B F b a)
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (b : B) (a : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z x) b a)) (Prod.mk.{u3, u2} B F b a)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_at_apply_mk FiberBundleCore.localTrivAt_apply_mkₓ'. -/
 @[simp, mfld_simps]
 theorem localTrivAt_apply_mk (b : B) (a : F) : (Z.localTrivAt b) ⟨b, a⟩ = ⟨b, a⟩ :=
   Z.localTrivAt_apply _
 #align fiber_bundle_core.local_triv_at_apply_mk FiberBundleCore.localTrivAt_apply_mk
 
+/- warning: fiber_bundle_core.mem_local_triv_source -> FiberBundleCore.mem_localTriv_source is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Set.hasMem.{max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) p (LocalEquiv.source.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)))
+but is expected to have type
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (i : ι) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (Set.instMembershipSet.{max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) p (LocalEquiv.source.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u1} B F) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i))))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Trivialization.baseSet.{u2, u1, max u2 u1} B F (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u3, u2, u1} ι B F _inst_1 _inst_2 Z i)))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_source FiberBundleCore.mem_localTriv_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTriv_source (p : Z.TotalSpace) :
     p ∈ (Z.localTriv i).source ↔ p.1 ∈ (Z.localTriv i).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_source FiberBundleCore.mem_localTriv_source
 
+/- warning: fiber_bundle_core.mem_local_triv_at_source -> FiberBundleCore.mem_localTrivAt_source is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (p : FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (b : B), Iff (Membership.Mem.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (Set.hasMem.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) p (LocalEquiv.source.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Sigma.fst.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b)))
+but is expected to have type
+  forall {ι : Type.{u3}} {B : Type.{u2}} {F : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (Z : FiberBundleCore.{u3, u2, u1} ι B _inst_1 F _inst_2) (p : FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (b : B), Iff (Membership.mem.{max u2 u1, max u2 u1} (FiberBundleCore.TotalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Set.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z))) (Set.instMembershipSet.{max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z))) p (LocalEquiv.source.{max u2 u1, max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u1} (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u1} B F) (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_1 _inst_2 Z b))))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (Sigma.fst.{u2, u1} B (fun (x : B) => FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z x) p) (Trivialization.baseSet.{u2, u1, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u3, u2, u1} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u1} B (FiberBundleCore.Fiber.{u3, u2, u1} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u3, u2, u1} ι B F _inst_1 _inst_2 Z b)))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_source FiberBundleCore.mem_localTrivAt_sourceₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTrivAt_source (p : Z.TotalSpace) (b : B) :
     p ∈ (Z.localTrivAt b).source ↔ p.1 ∈ (Z.localTrivAt b).baseSet :=
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_at_source FiberBundleCore.mem_localTrivAt_source
 
+/- warning: fiber_bundle_core.mem_source_at -> FiberBundleCore.mem_source_at is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (b : B) (a : F), Membership.Mem.{max u2 u3, max u2 u3} (Sigma.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x)) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (Set.hasMem.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z))) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) b a) (LocalEquiv.source.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b))))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (b : B) (a : F), Membership.mem.{max u3 u2, max u3 u2} (Sigma.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z x)) (Set.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z))) (Set.instMembershipSet.{max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z))) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z x) b a) (LocalEquiv.source.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b))))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_atₓ'. -/
 @[simp, mfld_simps]
 theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source :=
   by
@@ -690,24 +878,48 @@ theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source
   exact Z.mem_base_set_at b
 #align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_at
 
+/- warning: fiber_bundle_core.mem_local_triv_target -> FiberBundleCore.mem_localTriv_target is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u2, u3} B F), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i)))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u3, u2} B F), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Trivialization.baseSet.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i)))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_target FiberBundleCore.mem_localTriv_targetₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTriv_target (p : B × F) :
     p ∈ (Z.localTriv i).target ↔ p.1 ∈ (Z.localTriv i).baseSet :=
   Trivialization.mem_target _
 #align fiber_bundle_core.mem_local_triv_target FiberBundleCore.mem_localTriv_target
 
+/- warning: fiber_bundle_core.mem_local_triv_at_target -> FiberBundleCore.mem_localTrivAt_target is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (p : Prod.{u2, u3} B F) (b : B), Iff (Membership.Mem.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.hasMem.{max u2 u3} (Prod.{u2, u3} B F)) p (LocalEquiv.target.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u3, max u2 u3} (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b))))) (Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) (Prod.fst.{u2, u3} B F p) (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b)))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (p : Prod.{u3, u2} B F) (b : B), Iff (Membership.mem.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instMembershipSet.{max u3 u2} (Prod.{u3, u2} B F)) p (LocalEquiv.target.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u2, max u3 u2} (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b))))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F p) (Trivialization.baseSet.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b)))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_target FiberBundleCore.mem_localTrivAt_targetₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTrivAt_target (p : B × F) (b : B) :
     p ∈ (Z.localTrivAt b).target ↔ p.1 ∈ (Z.localTrivAt b).baseSet :=
   Trivialization.mem_target _
 #align fiber_bundle_core.mem_local_triv_at_target FiberBundleCore.mem_localTrivAt_target
 
+/- warning: fiber_bundle_core.local_triv_symm_apply -> FiberBundleCore.localTriv_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u2, u3} B F), Eq.{max (succ u2) (succ u3)} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (coeFn.{succ (max u2 u3), succ (max u2 u3)} (LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (fun (_x : LocalHomeomorph.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) => (Prod.{u2, u3} B F) -> (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (LocalHomeomorph.hasCoeToFun.{max u2 u3, max u2 u3} (Prod.{u2, u3} B F) (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (LocalHomeomorph.symm.{max u2 u3, max u2 u3} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.{u2, u3} B F) (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Prod.topologicalSpace.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u3} B F (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u2, u3} ι B F _inst_1 _inst_2 Z i))) p) (Sigma.mk.{u2, u3} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z x) (Prod.fst.{u2, u3} B F p) (FiberBundleCore.coordChange.{u1, u2, u3} ι B _inst_1 F _inst_2 Z i (FiberBundleCore.indexAt.{u1, u2, u3} ι B _inst_1 F _inst_2 Z (Prod.fst.{u2, u3} B F p)) (Prod.fst.{u2, u3} B F p) (Prod.snd.{u2, u3} B F p)))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (i : ι) (p : Prod.{u3, u2} B F), Eq.{max (succ u3) (succ u2)} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (LocalHomeomorph.toFun'.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (LocalHomeomorph.symm.{max u3 u2, max u3 u2} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Prod.{u3, u2} B F) (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u2} B F (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (FiberBundleCore.localTriv.{u1, u3, u2} ι B F _inst_1 _inst_2 Z i))) p) (Sigma.mk.{u3, u2} B (fun (x : B) => FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z x) (Prod.fst.{u3, u2} B F p) (FiberBundleCore.coordChange.{u1, u3, u2} ι B _inst_1 F _inst_2 Z i (FiberBundleCore.indexAt.{u1, u3, u2} ι B _inst_1 F _inst_2 Z (Prod.fst.{u3, u2} B F p)) (Prod.fst.{u3, u2} B F p) (Prod.snd.{u3, u2} B F p)))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.local_triv_symm_apply FiberBundleCore.localTriv_symm_applyₓ'. -/
 @[simp, mfld_simps]
 theorem localTriv_symm_apply (p : B × F) :
     (Z.localTriv i).toLocalHomeomorph.symm p = ⟨p.1, Z.coordChange i (Z.indexAt p.1) p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_symm_apply FiberBundleCore.localTriv_symm_apply
 
+/- warning: fiber_bundle_core.mem_local_triv_at_base_set -> FiberBundleCore.mem_localTrivAt_baseSet is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2) (b : B), Membership.Mem.{u2, u2} B (Set.{u2} B) (Set.hasMem.{u2} B) b (Trivialization.baseSet.{u2, u3, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u2, u3} B (FiberBundleCore.Fiber.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u2, u3} ι B F _inst_1 _inst_2 Z b))
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2) (b : B), Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) _inst_1 _inst_2 (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) (Bundle.TotalSpace.proj.{u3, u2} B (FiberBundleCore.Fiber.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)) (FiberBundleCore.localTrivAt.{u1, u3, u2} ι B F _inst_1 _inst_2 Z b))
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSetₓ'. -/
 @[simp, mfld_simps]
 theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet :=
   by
@@ -715,6 +927,7 @@ theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet :=
   exact Z.mem_base_set_at b
 #align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSet
 
+#print FiberBundleCore.continuous_totalSpaceMk /-
 /-- The inclusion of a fiber into the total space is a continuous map. -/
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) :
@@ -745,8 +958,10 @@ theorem continuous_totalSpaceMk (b : B) :
         preimage_empty, empty_inter]
       exact isOpen_empty
 #align fiber_bundle_core.continuous_total_space_mk FiberBundleCore.continuous_totalSpaceMk
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print FiberBundleCore.fiberBundle /-
 /-- A fiber bundle constructed from core is indeed a fiber bundle. -/
 instance fiberBundle : FiberBundle F Z.Fiber
     where
@@ -773,12 +988,25 @@ instance fiberBundle : FiberBundle F Z.Fiber
   mem_baseSet_trivializationAt := Z.mem_baseSet_at
   trivialization_mem_atlas b := ⟨Z.indexAt b, rfl⟩
 #align fiber_bundle_core.fiber_bundle FiberBundleCore.fiberBundle
+-/
 
+/- warning: fiber_bundle_core.continuous_proj -> FiberBundleCore.continuous_proj is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2), Continuous.{max u2 u3, u2} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2), Continuous.{max u3 u2, u3} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.continuous_proj FiberBundleCore.continuous_projₓ'. -/
 /-- The projection on the base of a fiber bundle created from core is continuous -/
 theorem continuous_proj : Continuous Z.proj :=
   continuous_proj F Z.Fiber
 #align fiber_bundle_core.continuous_proj FiberBundleCore.continuous_proj
 
+/- warning: fiber_bundle_core.is_open_map_proj -> FiberBundleCore.isOpenMap_proj is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {B : Type.{u2}} {F : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (Z : FiberBundleCore.{u1, u2, u3} ι B _inst_1 F _inst_2), IsOpenMap.{max u2 u3, u2} (FiberBundleCore.TotalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u2, u3} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.proj.{u1, u2, u3} ι B F _inst_1 _inst_2 Z)
+but is expected to have type
+  forall {ι : Type.{u1}} {B : Type.{u3}} {F : Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (Z : FiberBundleCore.{u1, u3, u2} ι B _inst_1 F _inst_2), IsOpenMap.{max u3 u2, u3} (FiberBundleCore.TotalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) B (FiberBundleCore.toTopologicalSpace.{u1, u3, u2} ι B F _inst_1 _inst_2 Z) _inst_1 (FiberBundleCore.proj.{u1, u3, u2} ι B F _inst_1 _inst_2 Z)
+Case conversion may be inaccurate. Consider using '#align fiber_bundle_core.is_open_map_proj FiberBundleCore.isOpenMap_projₓ'. -/
 /-- The projection on the base of a fiber bundle created from core is an open map -/
 theorem isOpenMap_proj : IsOpenMap Z.proj :=
   isOpenMap_proj F Z.Fiber
@@ -791,6 +1019,7 @@ end FiberBundleCore
 
 variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
 
+#print FiberPrebundle /-
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
@@ -806,17 +1035,26 @@ structure FiberPrebundle where
     ∀ (e) (_ : e ∈ pretrivialization_atlas) (e') (_ : e' ∈ pretrivialization_atlas),
       ContinuousOn (e ∘ e'.toLocalEquiv.symm) (e'.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source)
 #align fiber_prebundle FiberPrebundle
+-/
 
 namespace FiberPrebundle
 
 variable {F E} (a : FiberPrebundle F E) {e : Pretrivialization F (π E)}
 
+#print FiberPrebundle.totalSpaceTopology /-
 /-- Topology on the total space that will make the prebundle into a bundle. -/
 def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E) :=
   ⨆ (e : Pretrivialization F (π E)) (he : e ∈ a.pretrivializationAtlas),
     coinduced e.setSymm Subtype.topologicalSpace
 #align fiber_prebundle.total_space_topology FiberPrebundle.totalSpaceTopology
+-/
 
+/- warning: fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas -> FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) {e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)}, (Membership.Mem.{max u1 u2 u1 u3, max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)) (Set.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E))) (Set.hasMem.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E))) e (FiberPrebundle.pretrivializationAtlas.{u1, u2, u3} B F E _inst_1 _inst_2 a)) -> (ContinuousOn.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e))) (LocalEquiv.target.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e)))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_1 _inst_2) {e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)}, (Membership.mem.{max (max u3 u2) u1, max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)) (Set.{max (max (max u3 u1) u2) u3} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E))) (Set.instMembershipSet.{max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E))) e (FiberPrebundle.pretrivializationAtlas.{u3, u2, u1} B F E _inst_1 _inst_2 a)) -> (ContinuousOn.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (FiberPrebundle.totalSpaceTopology.{u3, u2, u1} B F E _inst_1 _inst_2 a) (LocalEquiv.toFun.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e))) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e)))
+Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlasₓ'. -/
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target :=
   by
@@ -826,6 +1064,12 @@ theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializ
   exact le_supᵢ₂ e he
 #align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas
 
+/- warning: fiber_prebundle.is_open_source -> FiberPrebundle.isOpen_source is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)), IsOpen.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_1 _inst_2) (e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)), IsOpen.{max u3 u1} (Bundle.TotalSpace.{u3, u1} B E) (FiberPrebundle.totalSpaceTopology.{u3, u2, u1} B F E _inst_1 _inst_2 a) (LocalEquiv.source.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e))
+Case conversion may be inaccurate. Consider using '#align fiber_prebundle.is_open_source FiberPrebundle.isOpen_sourceₓ'. -/
 theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTopology] e.source :=
   by
   letI := a.total_space_topology
@@ -837,6 +1081,12 @@ theorem isOpen_source (e : Pretrivialization F (π E)) : is_open[a.totalSpaceTop
     Pretrivialization.preimage_symm_proj_inter]
 #align fiber_prebundle.is_open_source FiberPrebundle.isOpen_source
 
+/- warning: fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter -> FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (e : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)) (e' : Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)), (Membership.Mem.{max u1 u2 u1 u3, max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E)) (Set.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E))) (Set.hasMem.{max u1 u2 u1 u3} (Pretrivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E))) e' (FiberPrebundle.pretrivializationAtlas.{u1, u2, u3} B F E _inst_1 _inst_2 a)) -> (IsOpen.{max u1 u2} (Prod.{u1, u2} B F) (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasInter.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.target.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e')) (Set.preimage.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e'))) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) e)))))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u3, u2, u1} B F E _inst_1 _inst_2) (e : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)) (e' : Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)), (Membership.mem.{max (max u3 u2) u1, max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E)) (Set.{max (max (max u3 u1) u2) u3} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E))) (Set.instMembershipSet.{max (max u3 u2) u1} (Pretrivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E))) e' (FiberPrebundle.pretrivializationAtlas.{u3, u2, u1} B F E _inst_1 _inst_2 a)) -> (IsOpen.{max u3 u2} (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Inter.inter.{max u3 u2} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instInterSet.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e')) (Set.preimage.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.toFun.{max u3 u2, max u3 u1} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (LocalEquiv.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e'))) (LocalEquiv.source.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) e)))))
+Case conversion may be inaccurate. Consider using '#align fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_interₓ'. -/
 theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π E))
     (he' : e' ∈ a.pretrivializationAtlas) :
     IsOpen (e'.toLocalEquiv.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source) :=
@@ -849,6 +1099,7 @@ theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivializat
   exact hu1.inter e'.open_target
 #align fiber_prebundle.is_open_target_of_mem_pretrivialization_atlas_inter FiberPrebundle.isOpen_target_of_mem_pretrivializationAtlas_inter
 
+#print FiberPrebundle.trivializationOfMemPretrivializationAtlas /-
 /-- Promotion from a `pretrivialization` to a `trivialization`. -/
 def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @Trivialization B F _ _ _ a.totalSpaceTopology (π E) :=
@@ -876,14 +1127,27 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
       exact hu1.inter (a.is_open_target_of_mem_pretrivialization_atlas_inter e e' he')
     continuous_invFun := a.continuous_symm_of_mem_pretrivializationAtlas he }
 #align fiber_prebundle.trivialization_of_mem_pretrivialization_atlas FiberPrebundle.trivializationOfMemPretrivializationAtlas
+-/
 
-theorem mem_trivialization_at_source (b : B) (x : E b) :
+/- warning: fiber_prebundle.mem_trivialization_at_source -> FiberPrebundle.mem_pretrivializationAt_source is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (b : B) (x : E b), Membership.Mem.{max u1 u3, max u1 u3} (Bundle.TotalSpace.{u1, u3} B (fun (b : B) => E b)) (Set.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Set.hasMem.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)) (Bundle.totalSpaceMk.{u1, u3} B (fun (b : B) => E b) b x) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_1 _inst_2 a b)))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_1 _inst_2) (b : B) (x : E b), Membership.mem.{max u3 u2, max u2 u3} (Bundle.TotalSpace.{u2, u3} B E) (Set.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B E)) (Set.instMembershipSet.{max u2 u3} (Bundle.TotalSpace.{u2, u3} B E)) (Bundle.totalSpaceMk.{u2, u3} B E b x) (LocalEquiv.source.{max u2 u3, max u2 u1} (Bundle.TotalSpace.{u2, u3} B E) (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u3} B E) (FiberPrebundle.pretrivializationAt.{u2, u1, u3} B F E _inst_1 _inst_2 a b)))
+Case conversion may be inaccurate. Consider using '#align fiber_prebundle.mem_trivialization_at_source FiberPrebundle.mem_pretrivializationAt_sourceₓ'. -/
+theorem mem_pretrivializationAt_source (b : B) (x : E b) :
     totalSpaceMk b x ∈ (a.pretrivializationAt b).source :=
   by
   simp only [(a.pretrivialization_at b).source_eq, mem_preimage, total_space.proj]
   exact a.mem_base_pretrivialization_at b
-#align fiber_prebundle.mem_trivialization_at_source FiberPrebundle.mem_trivialization_at_source
-
+#align fiber_prebundle.mem_trivialization_at_source FiberPrebundle.mem_pretrivializationAt_source
+
+/- warning: fiber_prebundle.total_space_mk_preimage_source -> FiberPrebundle.totalSpaceMk_preimage_source is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (b : B), Eq.{succ u3} (Set.{u3} (E b)) (Set.preimage.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.totalSpaceMk.{u1, u3} B E b) (LocalEquiv.source.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_1 _inst_2 a b)))) (Set.univ.{u3} (E b))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_1 _inst_2) (b : B), Eq.{succ u3} (Set.{u3} (E b)) (Set.preimage.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (Bundle.totalSpaceMk.{u2, u3} B E b) (LocalEquiv.source.{max u2 u3, max u2 u1} (Bundle.TotalSpace.{u2, u3} B E) (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, max u2 u3} B F (Bundle.TotalSpace.{u2, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u3} B E) (FiberPrebundle.pretrivializationAt.{u2, u1, u3} B F E _inst_1 _inst_2 a b)))) (Set.univ.{u3} (E b))
+Case conversion may be inaccurate. Consider using '#align fiber_prebundle.total_space_mk_preimage_source FiberPrebundle.totalSpaceMk_preimage_sourceₓ'. -/
 @[simp]
 theorem totalSpaceMk_preimage_source (b : B) :
     totalSpaceMk b ⁻¹' (a.pretrivializationAt b).source = univ :=
@@ -895,11 +1159,19 @@ theorem totalSpaceMk_preimage_source (b : B) :
   exact a.mem_base_pretrivialization_at b
 #align fiber_prebundle.total_space_mk_preimage_source FiberPrebundle.totalSpaceMk_preimage_source
 
+#print FiberPrebundle.fiberTopology /-
 /-- Topology on the fibers `E b` induced by the map `E b → E.total_space`. -/
 def fiberTopology (b : B) : TopologicalSpace (E b) :=
   TopologicalSpace.induced (totalSpaceMk b) a.totalSpaceTopology
 #align fiber_prebundle.fiber_topology FiberPrebundle.fiberTopology
+-/
 
+/- warning: fiber_prebundle.inducing_total_space_mk -> FiberPrebundle.inducing_totalSpaceMk is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (b : B), Inducing.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.fiberTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a b) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) (Bundle.totalSpaceMk.{u1, u3} B E b)
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_1 _inst_2) (b : B), Inducing.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (FiberPrebundle.fiberTopology.{u2, u1, u3} B F E _inst_1 _inst_2 a b) (FiberPrebundle.totalSpaceTopology.{u2, u1, u3} B F E _inst_1 _inst_2 a) (Bundle.totalSpaceMk.{u2, u3} B E b)
+Case conversion may be inaccurate. Consider using '#align fiber_prebundle.inducing_total_space_mk FiberPrebundle.inducing_totalSpaceMkₓ'. -/
 @[continuity]
 theorem inducing_totalSpaceMk (b : B) :
     @Inducing _ _ (a.fiberTopology b) a.totalSpaceTopology (totalSpaceMk b) :=
@@ -909,6 +1181,12 @@ theorem inducing_totalSpaceMk (b : B) :
   exact ⟨rfl⟩
 #align fiber_prebundle.inducing_total_space_mk FiberPrebundle.inducing_totalSpaceMk
 
+/- warning: fiber_prebundle.continuous_total_space_mk -> FiberPrebundle.continuous_totalSpaceMk is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) (b : B), Continuous.{u3, max u1 u3} (E b) (Bundle.TotalSpace.{u1, u3} B E) (FiberPrebundle.fiberTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a b) (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) (Bundle.totalSpaceMk.{u1, u3} B E b)
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u2, u1, u3} B F E _inst_1 _inst_2) (b : B), Continuous.{u3, max u2 u3} (E b) (Bundle.TotalSpace.{u2, u3} B E) (FiberPrebundle.fiberTopology.{u2, u1, u3} B F E _inst_1 _inst_2 a b) (FiberPrebundle.totalSpaceTopology.{u2, u1, u3} B F E _inst_1 _inst_2 a) (Bundle.totalSpaceMk.{u2, u3} B E b)
+Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_total_space_mk FiberPrebundle.continuous_totalSpaceMkₓ'. -/
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) :
     @Continuous _ _ (a.fiberTopology b) a.totalSpaceTopology (totalSpaceMk b) :=
@@ -917,6 +1195,7 @@ theorem continuous_totalSpaceMk (b : B) :
   exact (a.inducing_total_space_mk b).Continuous
 #align fiber_prebundle.continuous_total_space_mk FiberPrebundle.continuous_totalSpaceMk
 
+#print FiberPrebundle.toFiberBundle /-
 /-- Make a `fiber_bundle` from a `fiber_prebundle`.  Concretely this means
 that, given a `fiber_prebundle` structure for a sigma-type `E` -- which consists of a
 number of "pretrivializations" identifying parts of `E` with product spaces `U × F` -- one
@@ -935,7 +1214,14 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology a.fiberTopology
   mem_baseSet_trivializationAt := a.mem_base_pretrivializationAt
   trivialization_mem_atlas x := ⟨_, a.pretrivialization_mem_atlas x, rfl⟩
 #align fiber_prebundle.to_fiber_bundle FiberPrebundle.toFiberBundle
+-/
 
+/- warning: fiber_prebundle.continuous_proj -> FiberPrebundle.continuous_proj is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2), Continuous.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) _inst_1 (Bundle.TotalSpace.proj.{u1, u3} B E)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u1}} {E : B -> Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u3, u1, u2} B F E _inst_1 _inst_2), Continuous.{max u3 u2, u3} (Bundle.TotalSpace.{u3, u2} B E) B (FiberPrebundle.totalSpaceTopology.{u3, u1, u2} B F E _inst_1 _inst_2 a) _inst_1 (Bundle.TotalSpace.proj.{u3, u2} B E)
+Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_proj FiberPrebundle.continuous_projₓ'. -/
 theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
   by
   letI := a.total_space_topology
@@ -944,6 +1230,12 @@ theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) :=
   exact continuous_proj F E
 #align fiber_prebundle.continuous_proj FiberPrebundle.continuous_proj
 
+/- warning: fiber_prebundle.continuous_on_of_comp_right -> FiberPrebundle.continuousOn_of_comp_right is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {E : B -> Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] (a : FiberPrebundle.{u1, u2, u3} B F E _inst_1 _inst_2) {X : Type.{u4}} [_inst_3 : TopologicalSpace.{u4} X] {f : (Bundle.TotalSpace.{u1, u3} B E) -> X} {s : Set.{u1} B}, (IsOpen.{u1} B _inst_1 s) -> (forall (b : B), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b s) -> (ContinuousOn.{max u1 u2, u4} (Prod.{u1, u2} B F) X (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3 (Function.comp.{succ (max u1 u2), max (succ u1) (succ u3), succ u4} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E) X f (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (fun (_x : LocalEquiv.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.hasCoeToFun.{max u1 u2, max u1 u3} (Prod.{u1, u2} B F) (Bundle.TotalSpace.{u1, u3} B E)) (LocalEquiv.symm.{max u1 u3, max u1 u2} (Bundle.TotalSpace.{u1, u3} B E) (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_1 _inst_2 a b))))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) s (Pretrivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) (FiberPrebundle.pretrivializationAt.{u1, u2, u3} B F E _inst_1 _inst_2 a b))) (Set.univ.{u2} F)))) -> (ContinuousOn.{max u1 u3, u4} (Bundle.TotalSpace.{u1, u3} B E) X (FiberPrebundle.totalSpaceTopology.{u1, u2, u3} B F E _inst_1 _inst_2 a) _inst_3 f (Set.preimage.{max u1 u3, u1} (Bundle.TotalSpace.{u1, u3} B E) B (Bundle.TotalSpace.proj.{u1, u3} B E) s))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u1}} {E : B -> Type.{u2}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u1} F] (a : FiberPrebundle.{u3, u1, u2} B F E _inst_1 _inst_2) {X : Type.{u4}} [_inst_3 : TopologicalSpace.{u4} X] {f : (Bundle.TotalSpace.{u3, u2} B E) -> X} {s : Set.{u3} B}, (IsOpen.{u3} B _inst_1 s) -> (forall (b : B), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b s) -> (ContinuousOn.{max u3 u1, u4} (Prod.{u3, u1} B F) X (instTopologicalSpaceProd.{u3, u1} B F _inst_1 _inst_2) _inst_3 (Function.comp.{succ (max u3 u1), max (succ u3) (succ u2), succ u4} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) X f (LocalEquiv.toFun.{max u3 u1, max u3 u2} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) (LocalEquiv.symm.{max u3 u2, max u3 u1} (Bundle.TotalSpace.{u3, u2} B E) (Prod.{u3, u1} B F) (Pretrivialization.toLocalEquiv.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberPrebundle.pretrivializationAt.{u3, u1, u2} B F E _inst_1 _inst_2 a b))))) (Set.prod.{u3, u1} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) s (Pretrivialization.baseSet.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E) (FiberPrebundle.pretrivializationAt.{u3, u1, u2} B F E _inst_1 _inst_2 a b))) (Set.univ.{u1} F)))) -> (ContinuousOn.{max u3 u2, u4} (Bundle.TotalSpace.{u3, u2} B E) X (FiberPrebundle.totalSpaceTopology.{u3, u1, u2} B F E _inst_1 _inst_2 a) _inst_3 f (Set.preimage.{max u3 u2, u3} (Bundle.TotalSpace.{u3, u2} B E) B (Bundle.TotalSpace.proj.{u3, u2} B E) s))
+Case conversion may be inaccurate. Consider using '#align fiber_prebundle.continuous_on_of_comp_right FiberPrebundle.continuousOn_of_comp_rightₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- For a fiber bundle `E` over `B` constructed using the `fiber_prebundle` mechanism,
 continuity of a function `total_space E → X` on an open set `s` can be checked by precomposing at
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit bcfa726826abd57587355b4b5b7e78ad6527b7e4
+! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -85,24 +85,24 @@ typeclass containing data)?
 In their initial mathlib implementations, both fiber and vector bundles were defined
 propositionally. For vector bundles, this turns out to be mathematically wrong: in infinite
 dimension, the transition function between two trivializations is not automatically continuous as a
-map from the base `B` to the endomorphisms `F →L[R] F` of the fibre (considered with the
+map from the base `B` to the endomorphisms `F →L[R] F` of the fiber (considered with the
 operator-norm topology), and so the definition needs to be modified by restricting consideration to
 a family of trivializations (constituting the data) which are all mutually-compatible in this sense.
 The PRs #13052 and #13175 implemented this change.
 
 There is still the choice about whether to hold this data at the level of fiber bundles or of vector
 bundles. As of PR #17505, the data is all held in `fiber_bundle`, with `vector_bundle` a
-(propositional) mixin stating fibrewise-linearity.
+(propositional) mixin stating fiberwise-linearity.
 
 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`
+appear as a parameter. Notably, we would like a vector bundle over `R` with fiber `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
+fiber bundle with fiber `F` over base `B` can be a `charted_space (B × F)`, and this is safe for
 typeclass inference.
 
-We expect that this choice of definition will also streamline constructions of fibre bundles with
+We expect that this choice of definition will also streamline constructions of fiber bundles with
 similar underlying structure (e.g., the same bundle being both a real and complex vector bundle).
 
 ### Core construction
@@ -210,7 +210,7 @@ variable {F E}
 /-- Given a type `E` equipped with a fiber bundle structure, this is a `Prop` typeclass
 for trivializations of `E`, expressing that a trivialization is in the designated atlas for the
 bundle.  This is needed because lemmas about the linearity of trivializations or the continuity (as
-functions to `F →L[R] F`, where `F` is the model fibre) of the transition functions are only
+functions to `F →L[R] F`, where `F` is the model fiber) of the transition functions are only
 expected to hold for trivializations in the designated atlas. -/
 @[mk_iff]
 class MemTrivializationAtlas [FiberBundle F E] (e : Trivialization F (π E)) : Prop where
Diff
@@ -791,7 +791,7 @@ end FiberBundleCore
 
 variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (e e' «expr ∈ » pretrivialization_atlas) -/
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
 topology in such a way that there is a fiber bundle structure for which the local equivalences

Changes in mathlib4

mathlib3
mathlib4
chore: classify porting notes referring to missing linters (#12098)

Reference the newly created issues #12094 and #12096, as well as the pre-existing #5171. Change all references to #10927 to #5171. Some of these changes were not labelled as "porting note"; change this for good measure.

Diff
@@ -393,7 +393,7 @@ Trivialization changes from `i` to `j` are given by continuous maps `coordChange
 `baseSet i ∩ baseSet j` to the set of homeomorphisms of `F`, but we express them as maps
 `B → F → F` and require continuity on `(baseSet i ∩ baseSet j) × F` to avoid the topology on the
 space of continuous maps on `F`. -/
--- Porting note: was @[nolint has_nonempty_instance]
+-- Porting note(#5171): was @[nolint has_nonempty_instance]
 structure FiberBundleCore (ι : Type*) (B : Type*) [TopologicalSpace B] (F : Type*)
     [TopologicalSpace F] where
   baseSet : ι → Set B
@@ -413,7 +413,7 @@ namespace FiberBundleCore
 variable [TopologicalSpace B] [TopologicalSpace F] (Z : FiberBundleCore ι B F)
 
 /-- The index set of a fiber bundle core, as a convenience function for dot notation -/
-@[nolint unusedArguments] -- Porting note: was has_nonempty_instance
+@[nolint unusedArguments] -- Porting note(#5171): was has_nonempty_instance
 def Index (_Z : FiberBundleCore ι B F) := ι
 #align fiber_bundle_core.index FiberBundleCore.Index
 
@@ -424,7 +424,7 @@ def Base (_Z : FiberBundleCore ι B F) := B
 
 /-- The fiber of a fiber bundle core, as a convenience function for dot notation and
 typeclass inference -/
-@[nolint unusedArguments] -- Porting note: was has_nonempty_instance
+@[nolint unusedArguments] -- Porting note(#5171): was has_nonempty_instance
 def Fiber (_ : FiberBundleCore ι B F) (_x : B) := F
 #align fiber_bundle_core.fiber FiberBundleCore.Fiber
 
@@ -762,7 +762,7 @@ variable (F) (E : B → Type*) [TopologicalSpace B] [TopologicalSpace F]
 equivalences but there is not yet a topology on the total space. The total space is hence given a
 topology in such a way that there is a fiber bundle structure for which the partial equivalences
 are also partial homeomorphisms and hence local trivializations. -/
--- Porting note (#11215): TODO: was @[nolint has_nonempty_instance]
+-- Porting note (#5171): was @[nolint has_nonempty_instance]
 structure FiberPrebundle where
   pretrivializationAtlas : Set (Pretrivialization F (π F E))
   pretrivializationAt : B → Pretrivialization F (π F E)
refactor(Topology/Order/Basic): split up large file (#11992)

This splits up the file Mathlib/Topology/Order/Basic.lean (currently > 2000 lines) into several smaller files.

Diff
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 -/
 import Mathlib.Topology.FiberBundle.Trivialization
+import Mathlib.Topology.Order.LeftRightNhds
 
 #align_import topology.fiber_bundle.basic from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
 
chore: classify "simp can prove" porting notes (#11550)

Classifies by adding issue number #10618 to porting notes claiming "simp can prove it".

Diff
@@ -711,7 +711,7 @@ theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet := by
   exact Z.mem_baseSet_at b
 #align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSet
 
--- Porting note: was @[simp, mfld_simps], now `simp` can prove it
+-- Porting note (#10618): was @[simp, mfld_simps], now `simp` can prove it
 theorem mk_mem_localTrivAt_source : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source := by
   simp only [mfld_simps]
 #align fiber_bundle_core.mem_source_at FiberBundleCore.mem_localTrivAt_source
chore: classify todo porting notes (#11216)

Classifies by adding issue number #11215 to porting notes claiming "TODO".

Diff
@@ -761,7 +761,7 @@ variable (F) (E : B → Type*) [TopologicalSpace B] [TopologicalSpace F]
 equivalences but there is not yet a topology on the total space. The total space is hence given a
 topology in such a way that there is a fiber bundle structure for which the partial equivalences
 are also partial homeomorphisms and hence local trivializations. -/
--- Porting note: todo: was @[nolint has_nonempty_instance]
+-- Porting note (#11215): TODO: was @[nolint has_nonempty_instance]
 structure FiberPrebundle where
   pretrivializationAtlas : Set (Pretrivialization F (π F E))
   pretrivializationAt : B → Pretrivialization F (π F E)
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -282,7 +282,7 @@ theorem mem_trivializationAt_proj_source {x : TotalSpace F E} :
   (Trivialization.mem_source _).mpr <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_source
 
--- porting note: removed `@[simp, mfld_simps]` because `simp` could already prove this
+-- Porting note: removed `@[simp, mfld_simps]` because `simp` could already prove this
 theorem trivializationAt_proj_fst {x : TotalSpace F E} :
     ((trivializationAt F E x.proj) x).1 = x.proj :=
   Trivialization.coe_fst' _ <| mem_baseSet_trivializationAt F E x.proj
@@ -392,7 +392,7 @@ Trivialization changes from `i` to `j` are given by continuous maps `coordChange
 `baseSet i ∩ baseSet j` to the set of homeomorphisms of `F`, but we express them as maps
 `B → F → F` and require continuity on `(baseSet i ∩ baseSet j) × F` to avoid the topology on the
 space of continuous maps on `F`. -/
--- porting note: was @[nolint has_nonempty_instance]
+-- Porting note: was @[nolint has_nonempty_instance]
 structure FiberBundleCore (ι : Type*) (B : Type*) [TopologicalSpace B] (F : Type*)
     [TopologicalSpace F] where
   baseSet : ι → Set B
@@ -412,7 +412,7 @@ namespace FiberBundleCore
 variable [TopologicalSpace B] [TopologicalSpace F] (Z : FiberBundleCore ι B F)
 
 /-- The index set of a fiber bundle core, as a convenience function for dot notation -/
-@[nolint unusedArguments] -- porting note: was has_nonempty_instance
+@[nolint unusedArguments] -- Porting note: was has_nonempty_instance
 def Index (_Z : FiberBundleCore ι B F) := ι
 #align fiber_bundle_core.index FiberBundleCore.Index
 
@@ -423,7 +423,7 @@ def Base (_Z : FiberBundleCore ι B F) := B
 
 /-- The fiber of a fiber bundle core, as a convenience function for dot notation and
 typeclass inference -/
-@[nolint unusedArguments] -- porting note: was has_nonempty_instance
+@[nolint unusedArguments] -- Porting note: was has_nonempty_instance
 def Fiber (_ : FiberBundleCore ι B F) (_x : B) := F
 #align fiber_bundle_core.fiber FiberBundleCore.Fiber
 
@@ -711,7 +711,7 @@ theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet := by
   exact Z.mem_baseSet_at b
 #align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSet
 
--- porting note: was @[simp, mfld_simps], now `simp` can prove it
+-- Porting note: was @[simp, mfld_simps], now `simp` can prove it
 theorem mk_mem_localTrivAt_source : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source := by
   simp only [mfld_simps]
 #align fiber_bundle_core.mem_source_at FiberBundleCore.mem_localTrivAt_source
@@ -761,7 +761,7 @@ variable (F) (E : B → Type*) [TopologicalSpace B] [TopologicalSpace F]
 equivalences but there is not yet a topology on the total space. The total space is hence given a
 topology in such a way that there is a fiber bundle structure for which the partial equivalences
 are also partial homeomorphisms and hence local trivializations. -/
--- porting note: todo: was @[nolint has_nonempty_instance]
+-- Porting note: todo: was @[nolint has_nonempty_instance]
 structure FiberPrebundle where
   pretrivializationAtlas : Set (Pretrivialization F (π F E))
   pretrivializationAt : B → Pretrivialization F (π F E)
chore: more backporting of simp changes from #10995 (#11001)

Co-authored-by: Patrick Massot <patrickmassot@free.fr> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -591,7 +591,7 @@ def localTriv (i : ι) : Trivialization F Z.proj where
       exact (continuousOn_open_iff (Z.trivChange i j).open_source).1
         (Z.trivChange i j).continuousOn _ s_open
     convert this using 1
-    dsimp [PartialEquiv.trans_source]
+    dsimp [f, PartialEquiv.trans_source]
     rw [← preimage_comp, inter_assoc]
   toPartialEquiv := Z.localTrivAsPartialEquiv i
 #align fiber_bundle_core.local_triv FiberBundleCore.localTriv
chore: remove terminal, terminal refines (#10762)

I replaced a few "terminal" refine/refine's with exact.

The strategy was very simple-minded: essentially any refine whose following line had smaller indentation got replaced by exact and then I cleaned up the mess.

This PR certainly leaves some further terminal refines, but maybe the current change is beneficial.

Diff
@@ -347,7 +347,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
       `proj` over `[a, d]`. Then we can glue `ead` and `ec` into a trivialization over `[a, c]`. -/
     obtain ⟨d, ⟨hdab, ead, had⟩, hd⟩ : ∃ d ∈ s, d ∈ Ioc c' c := hsc.exists_between hc'.2
     refine' ⟨ead.piecewiseLe ec d (had ⟨hdab.1, le_rfl⟩) (hc'e hd), subset_ite.2 _⟩
-    refine' ⟨fun x hx => had ⟨hx.1.1, hx.2⟩, fun x hx => hc'e ⟨hd.1.trans (not_le.1 hx.2), hx.1.2⟩⟩
+    exact ⟨fun x hx => had ⟨hx.1.1, hx.2⟩, fun x hx => hc'e ⟨hd.1.trans (not_le.1 hx.2), hx.1.2⟩⟩
   /- So, `c ∈ s`. Let `ec` be a trivialization of `proj` over `[a, c]`.  If `c = b`, then we are
     done. Otherwise we show that `proj` can be trivialized over a larger interval `[a, d]`,
     `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
refactor: decapitalize names in @[mk_iff] (#9378)
  • @[mk_iff] class MyPred now generates myPred_iff, not MyPred_iff
  • add Lean.Name.decapitalize
  • fix indentation and a few typos in the docs/comments.

Partially addresses issue #9129

Diff
@@ -216,7 +216,7 @@ for trivializations of `E`, expressing that a trivialization is in the designate
 bundle.  This is needed because lemmas about the linearity of trivializations or the continuity (as
 functions to `F →L[R] F`, where `F` is the model fiber) of the transition functions are only
 expected to hold for trivializations in the designated atlas. -/
-@[mk_iff memTrivializationAtlas_iff]
+@[mk_iff]
 class MemTrivializationAtlas [FiberBundle F E] (e : Trivialization F (π F E)) : Prop where
   out : e ∈ trivializationAtlas F E
 #align mem_trivialization_atlas MemTrivializationAtlas
chore: audit remaining uses of "local homeomorphism" in comments (#9245)

Almost all of them should speak about partial homeomorphisms instead. In two cases, I decided removing the "local" was clearer than adding "partial".

Follow-up to #8982; complements #9238.

Diff
@@ -39,7 +39,7 @@ an implementation of this construction: starting from an object of type
 fiber bundle and projection.
 
 Similarly we implement the object `FiberPrebundle` which allows to define a topological
-fiber bundle from trivializations given as local equivalences with minimum additional properties.
+fiber bundle from trivializations given as partial equivalences with minimum additional properties.
 
 ## Main definitions
 
@@ -64,7 +64,7 @@ Let `Z : FiberBundleCore ι B F`. Then we define
                     open set in `B`.
 
 * `FiberPrebundle F E` : structure registering a cover of prebundle trivializations
-  and requiring that the relative transition maps are local homeomorphisms.
+  and requiring that the relative transition maps are partial homeomorphisms.
 * `FiberPrebundle.totalSpaceTopology a` : natural topology of the total space, making
   the prebundle into a bundle.
 
@@ -481,7 +481,7 @@ theorem mem_trivChange_source (i j : ι) (p : B × F) :
 between `proj ⁻¹ (baseSet i)` and `baseSet i × F`. As the fiber above `x` is `F` but read in the
 chart with index `index_at x`, the trivialization in the fiber above x is by definition the
 coordinate change from i to `index_at x`, so it depends on `x`.
-The local trivialization will ultimately be a local homeomorphism. For now, we only introduce the
+The local trivialization will ultimately be a partial homeomorphism. For now, we only introduce the
 partial equivalence version, denoted with a prime.
 In further developments, avoid this auxiliary version, and use `Z.local_triv` instead. -/
 def localTrivAsPartialEquiv (i : ι) : PartialEquiv Z.TotalSpace (B × F) where
@@ -759,8 +759,8 @@ variable (F) (E : B → Type*) [TopologicalSpace B] [TopologicalSpace F]
 
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
-topology in such a way that there is a fiber bundle structure for which the local equivalences
-are also local homeomorphism and hence local trivializations. -/
+topology in such a way that there is a fiber bundle structure for which the partial equivalences
+are also partial homeomorphisms and hence local trivializations. -/
 -- porting note: todo: was @[nolint has_nonempty_instance]
 structure FiberPrebundle where
   pretrivializationAtlas : Set (Pretrivialization F (π F E))
chore: remove uses of cases' (#9171)

I literally went through and regex'd some uses of cases', replacing them with rcases; this is meant to be a low effort PR as I hope that tools can do this in the future.

rcases is an easier replacement than cases, though with better tools we could in future do a second pass converting simple rcases added here (and existing ones) to cases.

Diff
@@ -333,7 +333,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
   have hsc : IsLUB s c := isLUB_csSup sne sbd
   have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
   obtain ⟨-, ec : Trivialization F (π F E), hec : Icc a c ⊆ ec.baseSet⟩ : c ∈ s := by
-    cases' hc.1.eq_or_lt with heq hlt
+    rcases hc.1.eq_or_lt with heq | hlt
     · rwa [← heq]
     refine ⟨hc, ?_⟩
     /- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
@@ -351,7 +351,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
   /- So, `c ∈ s`. Let `ec` be a trivialization of `proj` over `[a, c]`.  If `c = b`, then we are
     done. Otherwise we show that `proj` can be trivialized over a larger interval `[a, d]`,
     `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
-  cases' hc.2.eq_or_lt with heq hlt
+  rcases hc.2.eq_or_lt with heq | hlt
   · exact ⟨ec, heq ▸ hec⟩
   rsuffices ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π F E), Icc a d ⊆ e.baseSet
   · exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
chore: address rsuffices porting notes (#9014)

Updates proofs that had been doing rsuffices manually.

Diff
@@ -353,9 +353,8 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
     `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
   cases' hc.2.eq_or_lt with heq hlt
   · exact ⟨ec, heq ▸ hec⟩
-  suffices : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π F E), Icc a d ⊆ e.baseSet
-  · rcases this with ⟨d, hdcb, hd⟩ -- porting note: todo: use `rsuffices`
-    exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
+  rsuffices ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π F E), Icc a d ⊆ e.baseSet
+  · exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
   /- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
     `d ∈ (c, b]`. -/
   obtain ⟨d, hdcb, hd⟩ : ∃ d ∈ Ioc c b, Ico c d ⊆ ec.baseSet :=
chore: rename LocalEquiv to PartialEquiv (#8984)

The current name is misleading: there's no open set involved; it's just an equivalence between subsets of domain and target. zulip discussion

PEquiv is similarly named: this is fine, as they're different designs for the same concept.

Co-authored-by: Michael Rothgang <rothgami@math.hu-berlin.de>

Diff
@@ -483,10 +483,9 @@ between `proj ⁻¹ (baseSet i)` and `baseSet i × F`. As the fiber above `x` is
 chart with index `index_at x`, the trivialization in the fiber above x is by definition the
 coordinate change from i to `index_at x`, so it depends on `x`.
 The local trivialization will ultimately be a local homeomorphism. For now, we only introduce the
-local equiv version, denoted with a prime. In further developments, avoid this auxiliary version,
-and use `Z.local_triv` instead.
--/
-def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F) where
+partial equivalence version, denoted with a prime.
+In further developments, avoid this auxiliary version, and use `Z.local_triv` instead. -/
+def localTrivAsPartialEquiv (i : ι) : PartialEquiv Z.TotalSpace (B × F) where
   source := Z.proj ⁻¹' Z.baseSet i
   target := Z.baseSet i ×ˢ univ
   invFun p := ⟨p.1, Z.coordChange i (Z.indexAt p.1) p.1 p.2⟩
@@ -506,58 +505,58 @@ def localTrivAsLocalEquiv (i : ι) : LocalEquiv Z.TotalSpace (B × F) where
     dsimp only
     rw [Z.coordChange_comp, Z.coordChange_self]
     exacts [hx, ⟨⟨hx, Z.mem_baseSet_at _⟩, hx⟩]
-#align fiber_bundle_core.local_triv_as_local_equiv FiberBundleCore.localTrivAsLocalEquiv
+#align fiber_bundle_core.local_triv_as_local_equiv FiberBundleCore.localTrivAsPartialEquiv
 
 variable (i : ι)
 
-theorem mem_localTrivAsLocalEquiv_source (p : Z.TotalSpace) :
-    p ∈ (Z.localTrivAsLocalEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
+theorem mem_localTrivAsPartialEquiv_source (p : Z.TotalSpace) :
+    p ∈ (Z.localTrivAsPartialEquiv i).source ↔ p.1 ∈ Z.baseSet i :=
   Iff.rfl
-#align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsLocalEquiv_source
+#align fiber_bundle_core.mem_local_triv_as_local_equiv_source FiberBundleCore.mem_localTrivAsPartialEquiv_source
 
-theorem mem_localTrivAsLocalEquiv_target (p : B × F) :
-    p ∈ (Z.localTrivAsLocalEquiv i).target ↔ p.1 ∈ Z.baseSet i := by
+theorem mem_localTrivAsPartialEquiv_target (p : B × F) :
+    p ∈ (Z.localTrivAsPartialEquiv i).target ↔ p.1 ∈ Z.baseSet i := by
   erw [mem_prod]
   simp only [and_true_iff, mem_univ]
-#align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsLocalEquiv_target
+#align fiber_bundle_core.mem_local_triv_as_local_equiv_target FiberBundleCore.mem_localTrivAsPartialEquiv_target
 
-theorem localTrivAsLocalEquiv_apply (p : Z.TotalSpace) :
-    (Z.localTrivAsLocalEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
+theorem localTrivAsPartialEquiv_apply (p : Z.TotalSpace) :
+    (Z.localTrivAsPartialEquiv i) p = ⟨p.1, Z.coordChange (Z.indexAt p.1) i p.1 p.2⟩ :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsLocalEquiv_apply
+#align fiber_bundle_core.local_triv_as_local_equiv_apply FiberBundleCore.localTrivAsPartialEquiv_apply
 
 /-- The composition of two local trivializations is the trivialization change Z.triv_change i j. -/
-theorem localTrivAsLocalEquiv_trans (i j : ι) :
-    (Z.localTrivAsLocalEquiv i).symm.trans (Z.localTrivAsLocalEquiv j) ≈
-      (Z.trivChange i j).toLocalEquiv := by
+theorem localTrivAsPartialEquiv_trans (i j : ι) :
+    (Z.localTrivAsPartialEquiv i).symm.trans (Z.localTrivAsPartialEquiv j) ≈
+      (Z.trivChange i j).toPartialEquiv := by
   constructor
   · ext x
-    simp only [mem_localTrivAsLocalEquiv_target, mfld_simps]
+    simp only [mem_localTrivAsPartialEquiv_target, mfld_simps]
     rfl
   · rintro ⟨x, v⟩ hx
-    simp only [trivChange, localTrivAsLocalEquiv, LocalEquiv.symm, true_and_iff,
-      Prod.mk.inj_iff, prod_mk_mem_set_prod_eq, LocalEquiv.trans_source, mem_inter_iff,
+    simp only [trivChange, localTrivAsPartialEquiv, PartialEquiv.symm, true_and_iff,
+      Prod.mk.inj_iff, prod_mk_mem_set_prod_eq, PartialEquiv.trans_source, mem_inter_iff,
       and_true_iff, mem_preimage, proj, mem_univ, eq_self_iff_true, (· ∘ ·),
-      LocalEquiv.coe_trans, TotalSpace.proj] at hx ⊢
+      PartialEquiv.coe_trans, TotalSpace.proj] at hx ⊢
     simp only [Z.coordChange_comp, hx, mem_inter_iff, and_self_iff, mem_baseSet_at]
-#align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsLocalEquiv_trans
+#align fiber_bundle_core.local_triv_as_local_equiv_trans FiberBundleCore.localTrivAsPartialEquiv_trans
 
 /-- Topological structure on the total space of a fiber bundle created from core, designed so
 that all the local trivialization are continuous. -/
 instance toTopologicalSpace : TopologicalSpace (Bundle.TotalSpace F Z.Fiber) :=
   TopologicalSpace.generateFrom <| ⋃ (i : ι) (s : Set (B × F)) (_ : IsOpen s),
-    {(Z.localTrivAsLocalEquiv i).source ∩ Z.localTrivAsLocalEquiv i ⁻¹' s}
+    {(Z.localTrivAsPartialEquiv i).source ∩ Z.localTrivAsPartialEquiv i ⁻¹' s}
 #align fiber_bundle_core.to_topological_space FiberBundleCore.toTopologicalSpace
 
 variable (b : B) (a : F)
 
-theorem open_source' (i : ι) : IsOpen (Z.localTrivAsLocalEquiv i).source := by
+theorem open_source' (i : ι) : IsOpen (Z.localTrivAsPartialEquiv i).source := by
   apply TopologicalSpace.GenerateOpen.basic
   simp only [exists_prop, mem_iUnion, mem_singleton_iff]
   refine ⟨i, Z.baseSet i ×ˢ univ, (Z.isOpen_baseSet i).prod isOpen_univ, ?_⟩
   ext p
-  simp only [localTrivAsLocalEquiv_apply, prod_mk_mem_set_prod_eq, mem_inter_iff, and_self_iff,
-    mem_localTrivAsLocalEquiv_source, and_true, mem_univ, mem_preimage]
+  simp only [localTrivAsPartialEquiv_apply, prod_mk_mem_set_prod_eq, mem_inter_iff, and_self_iff,
+    mem_localTrivAsPartialEquiv_source, and_true, mem_univ, mem_preimage]
 #align fiber_bundle_core.open_source' FiberBundleCore.open_source'
 
 /-- Extended version of the local trivialization of a fiber bundle constructed from core,
@@ -582,20 +581,20 @@ def localTriv (i : ι) : Trivialization F Z.proj where
     refine continuousOn_isOpen_of_generateFrom fun t ht ↦ ?_
     simp only [exists_prop, mem_iUnion, mem_singleton_iff] at ht
     obtain ⟨j, s, s_open, ts⟩ : ∃ j s, IsOpen s ∧
-      t = (localTrivAsLocalEquiv Z j).source ∩ localTrivAsLocalEquiv Z j ⁻¹' s := ht
+      t = (localTrivAsPartialEquiv Z j).source ∩ localTrivAsPartialEquiv Z j ⁻¹' s := ht
     rw [ts]
-    simp only [LocalEquiv.right_inv, preimage_inter, LocalEquiv.left_inv]
-    let e := Z.localTrivAsLocalEquiv i
-    let e' := Z.localTrivAsLocalEquiv j
+    simp only [PartialEquiv.right_inv, preimage_inter, PartialEquiv.left_inv]
+    let e := Z.localTrivAsPartialEquiv i
+    let e' := Z.localTrivAsPartialEquiv j
     let f := e.symm.trans e'
     have : IsOpen (f.source ∩ f ⁻¹' s) := by
-      rw [LocalEquiv.EqOnSource.source_inter_preimage_eq (Z.localTrivAsLocalEquiv_trans i j)]
+      rw [PartialEquiv.EqOnSource.source_inter_preimage_eq (Z.localTrivAsPartialEquiv_trans i j)]
       exact (continuousOn_open_iff (Z.trivChange i j).open_source).1
         (Z.trivChange i j).continuousOn _ s_open
     convert this using 1
-    dsimp [LocalEquiv.trans_source]
+    dsimp [PartialEquiv.trans_source]
     rw [← preimage_comp, inter_assoc]
-  toLocalEquiv := Z.localTrivAsLocalEquiv i
+  toPartialEquiv := Z.localTrivAsPartialEquiv i
 #align fiber_bundle_core.local_triv FiberBundleCore.localTriv
 
 /-- Preferred local trivialization of a fiber bundle constructed from core, at a given point, as
@@ -633,27 +632,27 @@ theorem continuous_const_section (v : F)
 #align fiber_bundle_core.continuous_const_section FiberBundleCore.continuous_const_section
 
 @[simp, mfld_simps]
-theorem localTrivAsLocalEquiv_coe : ⇑(Z.localTrivAsLocalEquiv i) = Z.localTriv i :=
+theorem localTrivAsPartialEquiv_coe : ⇑(Z.localTrivAsPartialEquiv i) = Z.localTriv i :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsLocalEquiv_coe
+#align fiber_bundle_core.local_triv_as_local_equiv_coe FiberBundleCore.localTrivAsPartialEquiv_coe
 
 @[simp, mfld_simps]
-theorem localTrivAsLocalEquiv_source :
-    (Z.localTrivAsLocalEquiv i).source = (Z.localTriv i).source :=
+theorem localTrivAsPartialEquiv_source :
+    (Z.localTrivAsPartialEquiv i).source = (Z.localTriv i).source :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsLocalEquiv_source
+#align fiber_bundle_core.local_triv_as_local_equiv_source FiberBundleCore.localTrivAsPartialEquiv_source
 
 @[simp, mfld_simps]
-theorem localTrivAsLocalEquiv_target :
-    (Z.localTrivAsLocalEquiv i).target = (Z.localTriv i).target :=
+theorem localTrivAsPartialEquiv_target :
+    (Z.localTrivAsPartialEquiv i).target = (Z.localTriv i).target :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsLocalEquiv_target
+#align fiber_bundle_core.local_triv_as_local_equiv_target FiberBundleCore.localTrivAsPartialEquiv_target
 
 @[simp, mfld_simps]
-theorem localTrivAsLocalEquiv_symm :
-    (Z.localTrivAsLocalEquiv i).symm = (Z.localTriv i).toLocalEquiv.symm :=
+theorem localTrivAsPartialEquiv_symm :
+    (Z.localTrivAsPartialEquiv i).symm = (Z.localTriv i).toPartialEquiv.symm :=
   rfl
-#align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsLocalEquiv_symm
+#align fiber_bundle_core.local_triv_as_local_equiv_symm FiberBundleCore.localTrivAsPartialEquiv_symm
 
 @[simp, mfld_simps]
 theorem baseSet_at : Z.baseSet i = (Z.localTriv i).baseSet :=
@@ -770,7 +769,7 @@ structure FiberPrebundle where
   mem_base_pretrivializationAt : ∀ x : B, x ∈ (pretrivializationAt x).baseSet
   pretrivialization_mem_atlas : ∀ x : B, pretrivializationAt x ∈ pretrivializationAtlas
   continuous_trivChange : ∀ e, e ∈ pretrivializationAtlas → ∀ e', e' ∈ pretrivializationAtlas →
-    ContinuousOn (e ∘ e'.toLocalEquiv.symm) (e'.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source)
+    ContinuousOn (e ∘ e'.toPartialEquiv.symm) (e'.target ∩ e'.toPartialEquiv.symm ⁻¹' e.source)
   totalSpaceMk_inducing : ∀ b : B, Inducing (pretrivializationAt b ∘ TotalSpace.mk b)
 #align fiber_prebundle FiberPrebundle
 
@@ -786,7 +785,7 @@ def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace F
 #align fiber_prebundle.total_space_topology FiberPrebundle.totalSpaceTopology
 
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
-    @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target := by
+    @ContinuousOn _ _ _ a.totalSpaceTopology e.toPartialEquiv.symm e.target := by
   refine' fun z H U h => preimage_nhdsWithin_coinduced' H (le_def.1 (nhds_mono _) U h)
   exact le_iSup₂ (α := TopologicalSpace (TotalSpace F E)) e he
 #align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas
@@ -802,7 +801,7 @@ theorem isOpen_source (e : Pretrivialization F (π F E)) :
 
 theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π F E))
     (he' : e' ∈ a.pretrivializationAtlas) :
-    IsOpen (e'.toLocalEquiv.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source) := by
+    IsOpen (e'.toPartialEquiv.target ∩ e'.toPartialEquiv.symm ⁻¹' e.source) := by
   letI := a.totalSpaceTopology
   obtain ⟨u, hu1, hu2⟩ := continuousOn_iff'.mp (a.continuous_symm_of_mem_pretrivializationAtlas he')
     e.source (a.isOpen_source e)
@@ -824,7 +823,7 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
       obtain ⟨u, hu1, hu2⟩ := continuousOn_iff'.mp (a.continuous_trivChange _ he _ he') s hs
       have hu3 := congr_arg (fun s => (fun x : e'.target => (x : B × F)) ⁻¹' s) hu2
       simp only [Subtype.coe_preimage_self, preimage_inter, univ_inter] at hu3
-      refine ⟨u ∩ e'.toLocalEquiv.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source, ?_, by
+      refine ⟨u ∩ e'.toPartialEquiv.target ∩ e'.toPartialEquiv.symm ⁻¹' e.source, ?_, by
         simp only [preimage_inter, inter_univ, Subtype.coe_preimage_self, hu3.symm]; rfl⟩
       rw [inter_assoc]
       exact hu1.inter (a.isOpen_target_of_mem_pretrivializationAtlas_inter e e' he')
@@ -900,7 +899,7 @@ continuity of a function `TotalSpace F E → X` on an open set `s` can be checke
 each point with the pretrivialization used for the construction at that point. -/
 theorem continuousOn_of_comp_right {X : Type*} [TopologicalSpace X] {f : TotalSpace F E → X}
     {s : Set B} (hs : IsOpen s) (hf : ∀ b ∈ s,
-      ContinuousOn (f ∘ (a.pretrivializationAt b).toLocalEquiv.symm)
+      ContinuousOn (f ∘ (a.pretrivializationAt b).toPartialEquiv.symm)
         ((s ∩ (a.pretrivializationAt b).baseSet) ×ˢ (Set.univ : Set F))) :
     @ContinuousOn _ _ a.totalSpaceTopology _ f (π F E ⁻¹' s) := by
   letI := a.totalSpaceTopology
chore: rename LocalHomeomorph to PartialHomeomorph (#8982)

LocalHomeomorph evokes a "local homeomorphism": this is not what this means. Instead, this is a homeomorphism on an open set of the domain (extended to the whole space, by the junk value pattern). Hence, partial homeomorphism is more appropriate, and avoids confusion with IsLocallyHomeomorph.

A future PR will rename LocalEquiv to PartialEquiv.

Zulip discussion

Diff
@@ -444,7 +444,7 @@ def proj : Z.TotalSpace → B :=
 #align fiber_bundle_core.proj FiberBundleCore.proj
 
 /-- Local homeomorphism version of the trivialization change. -/
-def trivChange (i j : ι) : LocalHomeomorph (B × F) (B × F) where
+def trivChange (i j : ι) : PartialHomeomorph (B × F) (B × F) where
   source := (Z.baseSet i ∩ Z.baseSet j) ×ˢ univ
   target := (Z.baseSet i ∩ Z.baseSet j) ×ˢ univ
   toFun p := ⟨p.1, Z.coordChange i j p.1 p.2⟩
@@ -623,7 +623,7 @@ theorem continuous_const_section (v : F)
   refine continuous_iff_continuousAt.2 fun x => ?_
   have A : Z.baseSet (Z.indexAt x) ∈ 𝓝 x :=
     IsOpen.mem_nhds (Z.isOpen_baseSet (Z.indexAt x)) (Z.mem_baseSet_at x)
-  refine ((Z.localTrivAt x).toLocalHomeomorph.continuousAt_iff_continuousAt_comp_left ?_).2 ?_
+  refine ((Z.localTrivAt x).toPartialHomeomorph.continuousAt_iff_continuousAt_comp_left ?_).2 ?_
   · exact A
   · apply continuousAt_id.prod
     simp only [(· ∘ ·), mfld_simps, localTrivAt_snd]
@@ -703,7 +703,7 @@ theorem mem_localTrivAt_target (p : B × F) (b : B) :
 
 @[simp, mfld_simps]
 theorem localTriv_symm_apply (p : B × F) :
-    (Z.localTriv i).toLocalHomeomorph.symm p = ⟨p.1, Z.coordChange i (Z.indexAt p.1) p.1 p.2⟩ :=
+    (Z.localTriv i).toPartialHomeomorph.symm p = ⟨p.1, Z.coordChange i (Z.indexAt p.1) p.1 p.2⟩ :=
   rfl
 #align fiber_bundle_core.local_triv_symm_apply FiberBundleCore.localTriv_symm_apply
 
@@ -848,7 +848,7 @@ theorem continuous_totalSpaceMk (b : B) :
     Continuous[_, a.totalSpaceTopology] (TotalSpace.mk b) := by
   letI := a.totalSpaceTopology
   let e := a.trivializationOfMemPretrivializationAtlas (a.pretrivialization_mem_atlas b)
-  rw [e.toLocalHomeomorph.continuous_iff_continuous_comp_left
+  rw [e.toPartialHomeomorph.continuous_iff_continuous_comp_left
       (a.totalSpaceMk_preimage_source b)]
   exact continuous_iff_le_induced.mpr (le_antisymm_iff.mp (a.totalSpaceMk_inducing b).induced).1
 #align fiber_prebundle.continuous_total_space_mk FiberPrebundle.continuous_totalSpaceMk
chore: rename {LocalHomeomorph,ChartedSpace}.continuous_{to,inv}Fun fields to continuousOn_{to,inv}Fun (#8848)

They have type ContinuousOn ..., hence should be named accordingly. Suggested by @fpvandoorn in #8736.

Diff
@@ -466,8 +466,8 @@ def trivChange (i j : ι) : LocalHomeomorph (B × F) (B × F) where
     · simp [hx]
   open_source := ((Z.isOpen_baseSet i).inter (Z.isOpen_baseSet j)).prod isOpen_univ
   open_target := ((Z.isOpen_baseSet i).inter (Z.isOpen_baseSet j)).prod isOpen_univ
-  continuous_toFun := continuous_fst.continuousOn.prod (Z.continuousOn_coordChange i j)
-  continuous_invFun := by
+  continuousOn_toFun := continuous_fst.continuousOn.prod (Z.continuousOn_coordChange i j)
+  continuousOn_invFun := by
     simpa [inter_comm] using continuous_fst.continuousOn.prod (Z.continuousOn_coordChange j i)
 #align fiber_bundle_core.triv_change FiberBundleCore.trivChange
 
@@ -572,13 +572,13 @@ def localTriv (i : ι) : Trivialization F Z.proj where
     rfl
   open_source := Z.open_source' i
   open_target := (Z.isOpen_baseSet i).prod isOpen_univ
-  continuous_toFun := by
+  continuousOn_toFun := by
     rw [continuousOn_open_iff (Z.open_source' i)]
     intro s s_open
     apply TopologicalSpace.GenerateOpen.basic
     simp only [exists_prop, mem_iUnion, mem_singleton_iff]
     exact ⟨i, s, s_open, rfl⟩
-  continuous_invFun := by
+  continuousOn_invFun := by
     refine continuousOn_isOpen_of_generateFrom fun t ht ↦ ?_
     simp only [exists_prop, mem_iUnion, mem_singleton_iff] at ht
     obtain ⟨j, s, s_open, ts⟩ : ∃ j s, IsOpen s ∧
@@ -816,7 +816,7 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
   let _ := a.totalSpaceTopology
   { e with
     open_source := a.isOpen_source e,
-    continuous_toFun := by
+    continuousOn_toFun := by
       refine continuousOn_iff'.mpr fun s hs => ⟨e ⁻¹' s ∩ e.source,
         isOpen_iSup_iff.mpr fun e' => ?_, by rw [inter_assoc, inter_self]; rfl⟩
       refine isOpen_iSup_iff.mpr fun he' => ?_
@@ -828,7 +828,7 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
         simp only [preimage_inter, inter_univ, Subtype.coe_preimage_self, hu3.symm]; rfl⟩
       rw [inter_assoc]
       exact hu1.inter (a.isOpen_target_of_mem_pretrivializationAtlas_inter e e' he')
-    continuous_invFun := a.continuous_symm_of_mem_pretrivializationAtlas he }
+    continuousOn_invFun := a.continuous_symm_of_mem_pretrivializationAtlas he }
 #align fiber_prebundle.trivialization_of_mem_pretrivialization_atlas FiberPrebundle.trivializationOfMemPretrivializationAtlas
 
 theorem mem_pretrivializationAt_source (b : B) (x : E b) :
@@ -861,7 +861,7 @@ theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
   apply Inducing.of_codRestrict (a.mem_pretrivializationAt_source b)
   refine inducing_of_inducing_compose ?_ (continuousOn_iff_continuous_restrict.mp
     (a.trivializationOfMemPretrivializationAtlas
-      (a.pretrivialization_mem_atlas b)).continuous_toFun) h
+      (a.pretrivialization_mem_atlas b)).continuousOn_toFun) h
   exact (a.continuous_totalSpaceMk b).codRestrict (a.mem_pretrivializationAt_source b)
 #align fiber_prebundle.inducing_total_space_mk_of_inducing_comp FiberPrebundle.inducing_totalSpaceMk_of_inducing_comp
 
chore: rename lemmas containing "of_open" to match the naming convention (#8229)

Mostly, this means replacing "of_open" by "of_isOpen". A few lemmas names were misleading and are corrected differently. Zulip discussion.

Diff
@@ -579,7 +579,7 @@ def localTriv (i : ι) : Trivialization F Z.proj where
     simp only [exists_prop, mem_iUnion, mem_singleton_iff]
     exact ⟨i, s, s_open, rfl⟩
   continuous_invFun := by
-    refine continuousOn_open_of_generateFrom fun t ht ↦ ?_
+    refine continuousOn_isOpen_of_generateFrom fun t ht ↦ ?_
     simp only [exists_prop, mem_iUnion, mem_singleton_iff] at ht
     obtain ⟨j, s, s_open, ts⟩ : ∃ j s, IsOpen s ∧
       t = (localTrivAsLocalEquiv Z j).source ∩ localTrivAsLocalEquiv Z j ⁻¹' s := ht
chore: only four spaces for subsequent lines (#7286)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -845,7 +845,7 @@ theorem totalSpaceMk_preimage_source (b : B) :
 
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) :
-  Continuous[_, a.totalSpaceTopology] (TotalSpace.mk b) := by
+    Continuous[_, a.totalSpaceTopology] (TotalSpace.mk b) := by
   letI := a.totalSpaceTopology
   let e := a.trivializationOfMemPretrivializationAtlas (a.pretrivialization_mem_atlas b)
   rw [e.toLocalHomeomorph.continuous_iff_continuous_comp_left
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -15,7 +15,7 @@ Mathematically, a (topological) fiber bundle with fiber `F` over a base `B` is a
 point is a direct product.
 
 In our formalism, a fiber bundle is by definition the type `Bundle.TotalSpace F E` where
-`E : B → Type _` is a function associating to `x : B` the fiber over `x`. This type
+`E : B → Type*` is a function associating to `x : B` the fiber over `x`. This type
 `Bundle.TotalSpace F E` is a type of pairs `⟨proj : B, snd : E proj⟩`.
 
 To have a fiber bundle structure on `Bundle.TotalSpace F E`, one should
@@ -45,7 +45,7 @@ fiber bundle from trivializations given as local equivalences with minimum addit
 
 ### Basic definitions
 
-* `FiberBundle F E` : Structure saying that `E : B → Type _` is a fiber bundle with fiber `F`.
+* `FiberBundle F E` : Structure saying that `E : B → Type*` is a fiber bundle with fiber `F`.
 
 ### Construction of a bundle from trivializations
 
@@ -164,7 +164,7 @@ Fiber bundle, topological bundle, structure group
 -/
 
 
-variable {ι B F X : Type _} [TopologicalSpace X]
+variable {ι B F X : Type*} [TopologicalSpace X]
 
 open TopologicalSpace Filter Set Bundle Topology
 
@@ -172,7 +172,7 @@ open TopologicalSpace Filter Set Bundle Topology
 
 section FiberBundle
 
-variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
+variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type*)
   [TopologicalSpace (TotalSpace F E)] [∀ b, TopologicalSpace (E b)]
 
 /-- A (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on `B`
@@ -394,7 +394,7 @@ Trivialization changes from `i` to `j` are given by continuous maps `coordChange
 `B → F → F` and require continuity on `(baseSet i ∩ baseSet j) × F` to avoid the topology on the
 space of continuous maps on `F`. -/
 -- porting note: was @[nolint has_nonempty_instance]
-structure FiberBundleCore (ι : Type _) (B : Type _) [TopologicalSpace B] (F : Type _)
+structure FiberBundleCore (ι : Type*) (B : Type*) [TopologicalSpace B] (F : Type*)
     [TopologicalSpace F] where
   baseSet : ι → Set B
   isOpen_baseSet : ∀ i, IsOpen (baseSet i)
@@ -756,7 +756,7 @@ end FiberBundleCore
 
 /-! ### Prebundle construction for constructing fiber bundles -/
 
-variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
+variable (F) (E : B → Type*) [TopologicalSpace B] [TopologicalSpace F]
   [∀ x, TopologicalSpace (E x)]
 
 /-- This structure permits to define a fiber bundle when trivializations are given as local
@@ -898,7 +898,7 @@ instance {e₀} (he₀ : e₀ ∈ a.pretrivializationAtlas) :
 /-- For a fiber bundle `E` over `B` constructed using the `FiberPrebundle` mechanism,
 continuity of a function `TotalSpace F E → X` on an open set `s` can be checked by precomposing at
 each point with the pretrivialization used for the construction at that point. -/
-theorem continuousOn_of_comp_right {X : Type _} [TopologicalSpace X] {f : TotalSpace F E → X}
+theorem continuousOn_of_comp_right {X : Type*} [TopologicalSpace X] {f : TotalSpace F E → X}
     {s : Set B} (hs : IsOpen s) (hf : ∀ b ∈ s,
       ContinuousOn (f ∘ (a.pretrivializationAt b).toLocalEquiv.symm)
         ((s ∩ (a.pretrivializationAt b).baseSet) ×ˢ (Set.univ : Set F))) :
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2019 Sébastien Gouëzel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
-
-! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.FiberBundle.Trivialization
 
+#align_import topology.fiber_bundle.basic from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
+
 /-!
 # Fiber bundles
 
chore: cleanup whitespace (#5988)

Grepping for [^ .:{-] [^ :] and reviewing the results. Once I started I couldn't stop. :-)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -357,7 +357,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
   cases' hc.2.eq_or_lt with heq hlt
   · exact ⟨ec, heq ▸ hec⟩
   suffices : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π F E), Icc a d ⊆ e.baseSet
-  · rcases this with  ⟨d, hdcb, hd⟩ -- porting note: todo: use `rsuffices`
+  · rcases this with ⟨d, hdcb, hd⟩ -- porting note: todo: use `rsuffices`
     exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
   /- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
     `d ∈ (c, b]`. -/
refactor: redefine Bundle.TotalSpace (#5720)

Forward-port leanprover-community/mathlib#19221

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
+! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -17,17 +17,15 @@ Mathematically, a (topological) fiber bundle with fiber `F` over a base `B` is a
 `B` for which the fibers are all homeomorphic to `F`, such that the local situation around each
 point is a direct product.
 
-In our formalism, a fiber bundle is by definition the type
-`Bundle.TotalSpace E` where `E : B → Type*` is a function associating to
-`x : B` the fiber over `x`. This type `Bundle.TotalSpace E` is just a type synonym for
-`Σ (x : B), E x`, with the interest that one can put another topology than on `Σ (x : B), E x`
-which has the disjoint union topology.
+In our formalism, a fiber bundle is by definition the type `Bundle.TotalSpace F E` where
+`E : B → Type _` is a function associating to `x : B` the fiber over `x`. This type
+`Bundle.TotalSpace F E` is a type of pairs `⟨proj : B, snd : E proj⟩`.
 
-To have a fiber bundle structure on `Bundle.TotalSpace E`, one should
+To have a fiber bundle structure on `Bundle.TotalSpace F E`, one should
 additionally have the following data:
 
 * `F` should be a topological space;
-* There should be a topology on `Bundle.TotalSpace E`, for which the projection to `B` is
+* There should be a topology on `Bundle.TotalSpace F E`, for which the projection to `B` is
 a fiber bundle with fiber `F` (in particular, each fiber `E x` is homeomorphic to `F`);
 * For each `x`, the fiber `E x` should be a topological space, and the injection
 from `E x` to `Bundle.TotalSpace F E` should be an embedding;
@@ -54,19 +52,18 @@ fiber bundle from trivializations given as local equivalences with minimum addit
 
 ### Construction of a bundle from trivializations
 
-* `Bundle.TotalSpace E` is a type synonym for `Σ (x : B), E x`, that we can endow with a suitable
-  topology.
+* `Bundle.TotalSpace F E` is the type of pairs `(proj : B, snd : E proj)`. We can use the extra
+  argument `F` to construct topology on the total space.
 * `FiberBundleCore ι B F` : structure registering how changes of coordinates act
   on the fiber `F` above open subsets of `B`, where local trivializations are indexed by `ι`.
 
 Let `Z : FiberBundleCore ι B F`. Then we define
 
 * `Z.Fiber x`     : the fiber above `x`, homeomorphic to `F` (and defeq to `F` as a type).
-* `Z.TotalSpace` : the total space of `Z`, defined as a `Type` as `Σ (b : B), F`, but with a
-  twisted topology coming from the fiber bundle structure. It is (reducibly) the same as
-  `Bundle.TotalSpace Z.Fiber`.
+* `Z.TotalSpace`  : the total space of `Z`, defined as `Bundle.TotalSpace F Z.Fiber` with a custom
+                    topology.
 * `Z.proj`        : projection from `Z.TotalSpace` to `B`. It is continuous.
-* `Z.localTriv i`: for `i : ι`, bundle trivialization above the set `Z.baseSet i`, which is an
+* `Z.localTriv i` : for `i : ι`, bundle trivialization above the set `Z.baseSet i`, which is an
                     open set in `B`.
 
 * `FiberPrebundle F E` : structure registering a cover of prebundle trivializations
@@ -155,8 +152,8 @@ choose for each `x` one specific trivialization around it. We include this choic
 of the `FiberBundleCore`, as it makes some constructions more
 functorial and it is a nice way to say that the trivializations cover the whole space `B`.
 
-With this definition, the type of the fiber bundle space constructed from the core data is just
-`Σ (b : B), F `, but the topology is not the product one, in general.
+With this definition, the type of the fiber bundle space constructed from the core data is
+`Bundle.TotalSpace F (fun b : B ↦ F)`, but the topology is not the product one, in general.
 
 We also take the indexing type (indexing all the trivializations) as a parameter to the fiber bundle
 core: it could always be taken as a subtype of all the maps from open subsets of `B` to continuous
@@ -174,23 +171,20 @@ variable {ι B F X : Type _} [TopologicalSpace X]
 
 open TopologicalSpace Filter Set Bundle Topology
 
-attribute [mfld_simps]
-  totalSpaceMk coe_fst coe_snd coe_snd_map_apply coe_snd_map_smul TotalSpace.mk_cast
-
 /-! ### General definition of fiber bundles -/
 
 section FiberBundle
 
 variable (F) [TopologicalSpace B] [TopologicalSpace F] (E : B → Type _)
-  [TopologicalSpace (TotalSpace E)] [∀ b, TopologicalSpace (E b)]
+  [TopologicalSpace (TotalSpace F E)] [∀ b, TopologicalSpace (E b)]
 
 /-- A (topological) fiber bundle with fiber `F` over a base `B` is a space projecting on `B`
 for which the fibers are all homeomorphic to `F`, such that the local situation around each point
 is a direct product. -/
 class FiberBundle where
-  totalSpaceMk_inducing' : ∀ b : B, Inducing (@totalSpaceMk B E b)
-  trivializationAtlas' : Set (Trivialization F (π E))
-  trivializationAt' : B → Trivialization F (π E)
+  totalSpaceMk_inducing' : ∀ b : B, Inducing (@TotalSpace.mk B F E b)
+  trivializationAtlas' : Set (Trivialization F (π F E))
+  trivializationAt' : B → Trivialization F (π F E)
   mem_baseSet_trivializationAt' : ∀ b : B, b ∈ (trivializationAt' b).baseSet
   trivialization_mem_atlas' : ∀ b : B, trivializationAt' b ∈ trivializationAtlas'
 #align fiber_bundle FiberBundle
@@ -199,13 +193,13 @@ namespace FiberBundle
 
 variable [FiberBundle F E] (b : B)
 
-theorem totalSpaceMk_inducing : Inducing (@totalSpaceMk B E b) := totalSpaceMk_inducing' F b
+theorem totalSpaceMk_inducing : Inducing (@TotalSpace.mk B F E b) := totalSpaceMk_inducing' b
 
 /-- Atlas of a fiber bundle. -/
-abbrev trivializationAtlas : Set (Trivialization F (π E)) := trivializationAtlas'
+abbrev trivializationAtlas : Set (Trivialization F (π F E)) := trivializationAtlas'
 
 /-- Trivialization of a fiber bundle at a point. -/
-abbrev trivializationAt : Trivialization F (π E) := trivializationAt' b
+abbrev trivializationAt : Trivialization F (π F E) := trivializationAt' b
 
 theorem mem_baseSet_trivializationAt : b ∈ (trivializationAt F E b).baseSet :=
   mem_baseSet_trivializationAt' b
@@ -226,7 +220,7 @@ bundle.  This is needed because lemmas about the linearity of trivializations or
 functions to `F →L[R] F`, where `F` is the model fiber) of the transition functions are only
 expected to hold for trivializations in the designated atlas. -/
 @[mk_iff memTrivializationAtlas_iff]
-class MemTrivializationAtlas [FiberBundle F E] (e : Trivialization F (π E)) : Prop where
+class MemTrivializationAtlas [FiberBundle F E] (e : Trivialization F (π F E)) : Prop where
   out : e ∈ trivializationAtlas F E
 #align mem_trivialization_atlas MemTrivializationAtlas
 
@@ -238,7 +232,7 @@ namespace FiberBundle
 variable (F)
 variable [FiberBundle F E]
 
-theorem map_proj_nhds (x : TotalSpace E) : map (π E) (𝓝 x) = 𝓝 x.proj :=
+theorem map_proj_nhds (x : TotalSpace F E) : map (π F E) (𝓝 x) = 𝓝 x.proj :=
   (trivializationAt F E x.proj).map_proj_nhds <|
     (trivializationAt F E x.proj).mem_source.2 <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.map_proj_nhds FiberBundle.map_proj_nhds
@@ -247,18 +241,18 @@ variable (E)
 
 /-- The projection from a fiber bundle to its base is continuous. -/
 @[continuity]
-theorem continuous_proj : Continuous (π E) :=
+theorem continuous_proj : Continuous (π F E) :=
   continuous_iff_continuousAt.2 fun x => (map_proj_nhds F x).le
 #align fiber_bundle.continuous_proj FiberBundle.continuous_proj
 
 /-- The projection from a fiber bundle to its base is an open map. -/
-theorem isOpenMap_proj : IsOpenMap (π E) :=
+theorem isOpenMap_proj : IsOpenMap (π F E) :=
   IsOpenMap.of_nhds_le fun x => (map_proj_nhds F x).ge
 #align fiber_bundle.is_open_map_proj FiberBundle.isOpenMap_proj
 
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a surjective
 map. -/
-theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
+theorem surjective_proj [Nonempty F] : Function.Surjective (π F E) := fun b =>
   let ⟨p, _, hpb⟩ :=
     (trivializationAt F E b).proj_surjOn_baseSet (mem_baseSet_trivializationAt F E b)
   ⟨p, hpb⟩
@@ -266,32 +260,33 @@ theorem surjective_proj [Nonempty F] : Function.Surjective (π E) := fun b =>
 
 /-- The projection from a fiber bundle with a nonempty fiber to its base is a quotient
 map. -/
-theorem quotientMap_proj [Nonempty F] : QuotientMap (π E) :=
+theorem quotientMap_proj [Nonempty F] : QuotientMap (π F E) :=
   (isOpenMap_proj F E).to_quotientMap (continuous_proj F E) (surjective_proj F E)
 #align fiber_bundle.quotient_map_proj FiberBundle.quotientMap_proj
 
-theorem continuous_totalSpaceMk (x : B) : Continuous (@totalSpaceMk B E x) :=
+theorem continuous_totalSpaceMk (x : B) : Continuous (@TotalSpace.mk B F E x) :=
   (totalSpaceMk_inducing F E x).continuous
 #align fiber_bundle.continuous_total_space_mk FiberBundle.continuous_totalSpaceMk
 
-theorem totalSpaceMk_embedding (x : B) : Embedding (@totalSpaceMk B E x) :=
-  ⟨totalSpaceMk_inducing F E x, sigma_mk_injective⟩
+theorem totalSpaceMk_embedding (x : B) : Embedding (@TotalSpace.mk B F E x) :=
+  ⟨totalSpaceMk_inducing F E x, TotalSpace.mk_injective x⟩
 
-theorem totalSpaceMk_closedEmbedding [T1Space B] (x : B) : ClosedEmbedding (@totalSpaceMk B E x) :=
+theorem totalSpaceMk_closedEmbedding [T1Space B] (x : B) :
+    ClosedEmbedding (@TotalSpace.mk B F E x) :=
   ⟨totalSpaceMk_embedding F E x, by
-    rw [range_sigmaMk]
+    rw [TotalSpace.range_mk]
     exact isClosed_singleton.preimage <| continuous_proj F E⟩
 
 variable {E F}
 
 @[simp, mfld_simps]
-theorem mem_trivializationAt_proj_source {x : TotalSpace E} :
+theorem mem_trivializationAt_proj_source {x : TotalSpace F E} :
     x ∈ (trivializationAt F E x.proj).source :=
   (Trivialization.mem_source _).mpr <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_source
 
 -- porting note: removed `@[simp, mfld_simps]` because `simp` could already prove this
-theorem trivializationAt_proj_fst {x : TotalSpace E} :
+theorem trivializationAt_proj_fst {x : TotalSpace F E} :
     ((trivializationAt F E x.proj) x).1 = x.proj :=
   Trivialization.coe_fst' _ <| mem_baseSet_trivializationAt F E x.proj
 #align fiber_bundle.trivialization_at_proj_fst FiberBundle.trivializationAt_proj_fst
@@ -301,7 +296,7 @@ variable (F)
 open Trivialization
 
 /-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
-theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀ : X} :
+theorem continuousWithinAt_totalSpace (f : X → TotalSpace F E) {s : Set X} {x₀ : X} :
     ContinuousWithinAt f s x₀ ↔
       ContinuousWithinAt (fun x => (f x).proj) s x₀ ∧
         ContinuousWithinAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) s x₀ :=
@@ -309,7 +304,7 @@ theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀
 #align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpace
 
 /-- Characterization of continuous functions (at a point) into a fiber bundle. -/
-theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
+theorem continuousAt_totalSpace (f : X → TotalSpace F E) {x₀ : X} :
     ContinuousAt f x₀ ↔
       ContinuousAt (fun x => (f x).proj) x₀ ∧
         ContinuousAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) x₀ :=
@@ -324,15 +319,15 @@ variable (F E)
 then it is trivial over any closed interval. -/
 theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinearOrder B]
     [OrderTopology B] [FiberBundle F E] (a b : B) :
-    ∃ e : Trivialization F (π E), Icc a b ⊆ e.baseSet := by
-  obtain ⟨ea, hea⟩ : ∃ ea : Trivialization F (π E), a ∈ ea.baseSet :=
+    ∃ e : Trivialization F (π F E), Icc a b ⊆ e.baseSet := by
+  obtain ⟨ea, hea⟩ : ∃ ea : Trivialization F (π F E), a ∈ ea.baseSet :=
     ⟨trivializationAt F E a, mem_baseSet_trivializationAt F E a⟩
   -- If `a < b`, then `[a, b] = ∅`, and the statement is trivial
   cases' lt_or_le b a with hab hab
   · exact ⟨ea, by simp [*]⟩
   /- Let `s` be the set of points `x ∈ [a, b]` such that `E` is trivializable over `[a, x]`.
     We need to show that `b ∈ s`. Let `c = Sup s`. We will show that `c ∈ s` and `c = b`. -/
-  set s : Set B := { x ∈ Icc a b | ∃ e : Trivialization F (π E), Icc a x ⊆ e.baseSet }
+  set s : Set B := { x ∈ Icc a b | ∃ e : Trivialization F (π F E), Icc a x ⊆ e.baseSet }
   have ha : a ∈ s := ⟨left_mem_Icc.2 hab, ea, by simp [hea]⟩
   have sne : s.Nonempty := ⟨a, ha⟩
   have hsb : b ∈ upperBounds s := fun x hx => hx.1.2
@@ -340,13 +335,13 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
   set c := sSup s
   have hsc : IsLUB s c := isLUB_csSup sne sbd
   have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
-  obtain ⟨-, ec : Trivialization F (π E), hec : Icc a c ⊆ ec.baseSet⟩ : c ∈ s := by
+  obtain ⟨-, ec : Trivialization F (π F E), hec : Icc a c ⊆ ec.baseSet⟩ : c ∈ s := by
     cases' hc.1.eq_or_lt with heq hlt
     · rwa [← heq]
     refine ⟨hc, ?_⟩
     /- In order to show that `c ∈ s`, consider a trivialization `ec` of `proj` over a neighborhood
       of `c`. Its base set includes `(c', c]` for some `c' ∈ [a, c)`. -/
-    obtain ⟨ec, hc⟩ : ∃ ec : Trivialization F (π E), c ∈ ec.baseSet :=
+    obtain ⟨ec, hc⟩ : ∃ ec : Trivialization F (π F E), c ∈ ec.baseSet :=
       ⟨trivializationAt F E c, mem_baseSet_trivializationAt F E c⟩
     obtain ⟨c', hc', hc'e⟩ : ∃ c' ∈ Ico a c, Ioc c' c ⊆ ec.baseSet :=
       (mem_nhdsWithin_Iic_iff_exists_mem_Ico_Ioc_subset hlt).1
@@ -361,7 +356,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
     `d ∈ (c, b]`, hence `c` is not an upper bound of `s`. -/
   cases' hc.2.eq_or_lt with heq hlt
   · exact ⟨ec, heq ▸ hec⟩
-  suffices : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π E), Icc a d ⊆ e.baseSet
+  suffices : ∃ d ∈ Ioc c b, ∃ e : Trivialization F (π F E), Icc a d ⊆ e.baseSet
   · rcases this with  ⟨d, hdcb, hd⟩ -- porting note: todo: use `rsuffices`
     exact ((hsc.1 ⟨⟨hc.1.trans hdcb.1.le, hdcb.2⟩, hd⟩).not_lt hdcb.1).elim
   /- Since the base set of `ec` is open, it includes `[c, d)` (hence, `[a, d)`) for some
@@ -374,7 +369,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
   · /- If `(c, d) = ∅`, then let `ed` be a trivialization of `proj` over a neighborhood of `d`.
       Then the disjoint union of `ec` restricted to `(-∞, d)` and `ed` restricted to `(c, ∞)` is
       a trivialization over `[a, d]`. -/
-    obtain ⟨ed, hed⟩ : ∃ ed : Trivialization F (π E), d ∈ ed.baseSet :=
+    obtain ⟨ed, hed⟩ : ∃ ed : Trivialization F (π F E), d ∈ ed.baseSet :=
       ⟨trivializationAt F E d, mem_baseSet_trivializationAt F E d⟩
     refine' ⟨d, hdcb,
       (ec.restrOpen (Iio d) isOpen_Iio).disjointUnion (ed.restrOpen (Ioi c) isOpen_Ioi)
@@ -440,10 +435,9 @@ instance topologicalSpaceFiber (x : B) : TopologicalSpace (Z.Fiber x) := ‹_›
 #align fiber_bundle_core.topological_space_fiber FiberBundleCore.topologicalSpaceFiber
 
 /-- The total space of the fiber bundle, as a convenience function for dot notation.
-It is by definition equal to `Bundle.TotalSpace Z.Fiber`, a.k.a. `Σ x, Z.Fiber x` but with a
-different name for typeclass inference. -/
+It is by definition equal to `Bundle.TotalSpace F Z.Fiber`. -/
 @[reducible]
-def TotalSpace := Bundle.TotalSpace Z.Fiber
+def TotalSpace := Bundle.TotalSpace F Z.Fiber
 #align fiber_bundle_core.total_space FiberBundleCore.TotalSpace
 
 /-- The projection from the total space of a fiber bundle core, on its base. -/
@@ -553,7 +547,7 @@ theorem localTrivAsLocalEquiv_trans (i j : ι) :
 
 /-- Topological structure on the total space of a fiber bundle created from core, designed so
 that all the local trivialization are continuous. -/
-instance toTopologicalSpace : TopologicalSpace (Bundle.TotalSpace Z.Fiber) :=
+instance toTopologicalSpace : TopologicalSpace (Bundle.TotalSpace F Z.Fiber) :=
   TopologicalSpace.generateFrom <| ⋃ (i : ι) (s : Set (B × F)) (_ : IsOpen s),
     {(Z.localTrivAsLocalEquiv i).source ∩ Z.localTrivAsLocalEquiv i ⁻¹' s}
 #align fiber_bundle_core.to_topological_space FiberBundleCore.toTopologicalSpace
@@ -609,7 +603,7 @@ def localTriv (i : ι) : Trivialization F Z.proj where
 
 /-- Preferred local trivialization of a fiber bundle constructed from core, at a given point, as
 a bundle trivialization -/
-def localTrivAt (b : B) : Trivialization F (π Z.Fiber) :=
+def localTrivAt (b : B) : Trivialization F (π F Z.Fiber) :=
   Z.localTriv (Z.indexAt b)
 #align fiber_bundle_core.local_triv_at FiberBundleCore.localTrivAt
 
@@ -698,12 +692,6 @@ theorem mem_localTrivAt_source (p : Z.TotalSpace) (b : B) :
   Iff.rfl
 #align fiber_bundle_core.mem_local_triv_at_source FiberBundleCore.mem_localTrivAt_source
 
-@[simp, mfld_simps]
-theorem mem_source_at : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source := by
-  rw [localTrivAt, mem_localTriv_source]
-  exact Z.mem_baseSet_at b
-#align fiber_bundle_core.mem_source_at FiberBundleCore.mem_source_at
-
 @[simp, mfld_simps]
 theorem mem_localTriv_target (p : B × F) :
     p ∈ (Z.localTriv i).target ↔ p.1 ∈ (Z.localTriv i).baseSet :=
@@ -728,16 +716,21 @@ theorem mem_localTrivAt_baseSet (b : B) : b ∈ (Z.localTrivAt b).baseSet := by
   exact Z.mem_baseSet_at b
 #align fiber_bundle_core.mem_local_triv_at_base_set FiberBundleCore.mem_localTrivAt_baseSet
 
+-- porting note: was @[simp, mfld_simps], now `simp` can prove it
+theorem mk_mem_localTrivAt_source : (⟨b, a⟩ : Z.TotalSpace) ∈ (Z.localTrivAt b).source := by
+  simp only [mfld_simps]
+#align fiber_bundle_core.mem_source_at FiberBundleCore.mem_localTrivAt_source
+
 /-- A fiber bundle constructed from core is indeed a fiber bundle. -/
 instance fiberBundle : FiberBundle F Z.Fiber where
   totalSpaceMk_inducing' b := inducing_iff_nhds.2 fun x ↦ by
-    rw [(Z.localTrivAt b).nhds_eq_comap_inf_principal (mem_source_at _ _ _), comap_inf,
+    rw [(Z.localTrivAt b).nhds_eq_comap_inf_principal (mk_mem_localTrivAt_source _ _ _), comap_inf,
       comap_principal, comap_comap]
-    simp only [(· ∘ ·), totalSpaceMk, localTrivAt_apply_mk, Trivialization.coe_coe,
+    simp only [(· ∘ ·), localTrivAt_apply_mk, Trivialization.coe_coe,
       ← (embedding_prod_mk b).nhds_eq_comap]
     convert_to 𝓝 x = 𝓝 x ⊓ 𝓟 univ
     · congr
-      exact eq_univ_of_forall (mem_source_at Z _)
+      exact eq_univ_of_forall (mk_mem_localTrivAt_source Z _)
     · rw [principal_univ, inf_top_eq]
   trivializationAtlas' := Set.range Z.localTriv
   trivializationAt' := Z.localTrivAt
@@ -748,7 +741,7 @@ instance fiberBundle : FiberBundle F Z.Fiber where
 /-- The inclusion of a fiber into the total space is a continuous map. -/
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) :
-    Continuous (totalSpaceMk b : Z.Fiber b → Bundle.TotalSpace Z.Fiber) :=
+    Continuous (TotalSpace.mk b : Z.Fiber b → Bundle.TotalSpace F Z.Fiber) :=
   FiberBundle.continuous_totalSpaceMk F Z.Fiber b
 #align fiber_bundle_core.continuous_total_space_mk FiberBundleCore.continuous_totalSpaceMk
 
@@ -775,33 +768,34 @@ topology in such a way that there is a fiber bundle structure for which the loca
 are also local homeomorphism and hence local trivializations. -/
 -- porting note: todo: was @[nolint has_nonempty_instance]
 structure FiberPrebundle where
-  pretrivializationAtlas : Set (Pretrivialization F (π E))
-  pretrivializationAt : B → Pretrivialization F (π E)
+  pretrivializationAtlas : Set (Pretrivialization F (π F E))
+  pretrivializationAt : B → Pretrivialization F (π F E)
   mem_base_pretrivializationAt : ∀ x : B, x ∈ (pretrivializationAt x).baseSet
   pretrivialization_mem_atlas : ∀ x : B, pretrivializationAt x ∈ pretrivializationAtlas
   continuous_trivChange : ∀ e, e ∈ pretrivializationAtlas → ∀ e', e' ∈ pretrivializationAtlas →
     ContinuousOn (e ∘ e'.toLocalEquiv.symm) (e'.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source)
-  totalSpaceMk_inducing : ∀ b : B, Inducing (pretrivializationAt b ∘ totalSpaceMk b)
+  totalSpaceMk_inducing : ∀ b : B, Inducing (pretrivializationAt b ∘ TotalSpace.mk b)
 #align fiber_prebundle FiberPrebundle
 
 namespace FiberPrebundle
 
 variable {F E}
-variable (a : FiberPrebundle F E) {e : Pretrivialization F (π E)}
+variable (a : FiberPrebundle F E) {e : Pretrivialization F (π F E)}
 
 /-- Topology on the total space that will make the prebundle into a bundle. -/
-def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E) :=
-  ⨆ (e : Pretrivialization F (π E)) (_ : e ∈ a.pretrivializationAtlas),
+def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace F E) :=
+  ⨆ (e : Pretrivialization F (π F E)) (_ : e ∈ a.pretrivializationAtlas),
     coinduced e.setSymm instTopologicalSpaceSubtype
 #align fiber_prebundle.total_space_topology FiberPrebundle.totalSpaceTopology
 
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target := by
   refine' fun z H U h => preimage_nhdsWithin_coinduced' H (le_def.1 (nhds_mono _) U h)
-  exact le_iSup₂ (α := TopologicalSpace (TotalSpace E)) e he
+  exact le_iSup₂ (α := TopologicalSpace (TotalSpace F E)) e he
 #align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas
 
-theorem isOpen_source (e : Pretrivialization F (π E)) : IsOpen[a.totalSpaceTopology] e.source := by
+theorem isOpen_source (e : Pretrivialization F (π F E)) :
+    IsOpen[a.totalSpaceTopology] e.source := by
   refine isOpen_iSup_iff.mpr fun e' => isOpen_iSup_iff.mpr fun _ => ?_
   refine' isOpen_coinduced.mpr (isOpen_induced_iff.mpr ⟨e.target, e.open_target, _⟩)
   ext ⟨x, hx⟩
@@ -809,7 +803,7 @@ theorem isOpen_source (e : Pretrivialization F (π E)) : IsOpen[a.totalSpaceTopo
     e'.proj_symm_apply hx]
 #align fiber_prebundle.is_open_source FiberPrebundle.isOpen_source
 
-theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π E))
+theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivialization F (π F E))
     (he' : e' ∈ a.pretrivializationAtlas) :
     IsOpen (e'.toLocalEquiv.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source) := by
   letI := a.totalSpaceTopology
@@ -821,7 +815,7 @@ theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivializat
 
 /-- Promotion from a `Pretrivialization` to a `Trivialization`. -/
 def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
-    @Trivialization B F _ _ _ a.totalSpaceTopology (π E) :=
+    @Trivialization B F _ _ _ a.totalSpaceTopology (π F E) :=
   let _ := a.totalSpaceTopology
   { e with
     open_source := a.isOpen_source e,
@@ -841,20 +835,20 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
 #align fiber_prebundle.trivialization_of_mem_pretrivialization_atlas FiberPrebundle.trivializationOfMemPretrivializationAtlas
 
 theorem mem_pretrivializationAt_source (b : B) (x : E b) :
-    totalSpaceMk b x ∈ (a.pretrivializationAt b).source := by
+    ⟨b, x⟩ ∈ (a.pretrivializationAt b).source := by
   simp only [(a.pretrivializationAt b).source_eq, mem_preimage, TotalSpace.proj]
   exact a.mem_base_pretrivializationAt b
 #align fiber_prebundle.mem_trivialization_at_source FiberPrebundle.mem_pretrivializationAt_source
 
 @[simp]
 theorem totalSpaceMk_preimage_source (b : B) :
-    totalSpaceMk b ⁻¹' (a.pretrivializationAt b).source = univ :=
+    TotalSpace.mk b ⁻¹' (a.pretrivializationAt b).source = univ :=
   eq_univ_of_forall (a.mem_pretrivializationAt_source b)
 #align fiber_prebundle.total_space_mk_preimage_source FiberPrebundle.totalSpaceMk_preimage_source
 
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) :
-  Continuous[_, a.totalSpaceTopology] (totalSpaceMk b) := by
+  Continuous[_, a.totalSpaceTopology] (TotalSpace.mk b) := by
   letI := a.totalSpaceTopology
   let e := a.trivializationOfMemPretrivializationAtlas (a.pretrivialization_mem_atlas b)
   rw [e.toLocalHomeomorph.continuous_iff_continuous_comp_left
@@ -863,8 +857,8 @@ theorem continuous_totalSpaceMk (b : B) :
 #align fiber_prebundle.continuous_total_space_mk FiberPrebundle.continuous_totalSpaceMk
 
 theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
-    (h : Inducing (a.pretrivializationAt b ∘ totalSpaceMk b)) :
-    @Inducing _ _ _ a.totalSpaceTopology (totalSpaceMk b) := by
+    (h : Inducing (a.pretrivializationAt b ∘ TotalSpace.mk b)) :
+    @Inducing _ _ _ a.totalSpaceTopology (TotalSpace.mk b) := by
   letI := a.totalSpaceTopology
   rw [← restrict_comp_codRestrict (a.mem_pretrivializationAt_source b)] at h
   apply Inducing.of_codRestrict (a.mem_pretrivializationAt_source b)
@@ -893,7 +887,7 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _ :=
     trivialization_mem_atlas' := fun x ↦ ⟨_, a.pretrivialization_mem_atlas x, rfl⟩ }
 #align fiber_prebundle.to_fiber_bundle FiberPrebundle.toFiberBundle
 
-theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) := by
+theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π F E) := by
   letI := a.totalSpaceTopology
   letI := a.toFiberBundle
   exact FiberBundle.continuous_proj F E
@@ -905,16 +899,16 @@ instance {e₀} (he₀ : e₀ ∈ a.pretrivializationAtlas) :
   letI := a.totalSpaceTopology; letI := a.toFiberBundle; ⟨e₀, he₀, rfl⟩
 
 /-- For a fiber bundle `E` over `B` constructed using the `FiberPrebundle` mechanism,
-continuity of a function `TotalSpace E → X` on an open set `s` can be checked by precomposing at
+continuity of a function `TotalSpace F E → X` on an open set `s` can be checked by precomposing at
 each point with the pretrivialization used for the construction at that point. -/
-theorem continuousOn_of_comp_right {X : Type _} [TopologicalSpace X] {f : TotalSpace E → X}
+theorem continuousOn_of_comp_right {X : Type _} [TopologicalSpace X] {f : TotalSpace F E → X}
     {s : Set B} (hs : IsOpen s) (hf : ∀ b ∈ s,
       ContinuousOn (f ∘ (a.pretrivializationAt b).toLocalEquiv.symm)
         ((s ∩ (a.pretrivializationAt b).baseSet) ×ˢ (Set.univ : Set F))) :
-    @ContinuousOn _ _ a.totalSpaceTopology _ f (π E ⁻¹' s) := by
+    @ContinuousOn _ _ a.totalSpaceTopology _ f (π F E ⁻¹' s) := by
   letI := a.totalSpaceTopology
   intro z hz
-  let e : Trivialization F (π E) :=
+  let e : Trivialization F (π F E) :=
     a.trivializationOfMemPretrivializationAtlas (a.pretrivialization_mem_atlas z.proj)
   refine' (e.continuousAt_of_comp_right _
     ((hf z.proj hz).continuousAt (IsOpen.mem_nhds _ _))).continuousWithinAt
feat: add Trivialization.tendsto_nhds_iff (#5489)

This lemma generalizes FiberBundle.continuousWithinAt_totalSpace. Also add a version with equality of filters.

Diff
@@ -304,28 +304,16 @@ open Trivialization
 theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀ : X} :
     ContinuousWithinAt f s x₀ ↔
       ContinuousWithinAt (fun x => (f x).proj) s x₀ ∧
-        ContinuousWithinAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) s x₀ := by
-  refine' (and_iff_right_iff_imp.2 fun hf => _).symm.trans (and_congr_right fun hf => _)
-  · refine' (continuous_proj F E).continuousWithinAt.comp hf (mapsTo_image f s)
-  have h1 : (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet ∈ 𝓝[s] x₀ :=
-    hf.preimage_mem_nhdsWithin ((open_baseSet _).mem_nhds (mem_baseSet_trivializationAt F E _))
-  have h2 : ContinuousWithinAt (fun x => (trivializationAt F E (f x₀).proj (f x)).1) s x₀ := by
-    refine'
-      hf.congr_of_eventuallyEq (eventually_of_mem h1 fun x hx => _) trivializationAt_proj_fst
-    simp_rw [coe_fst' _ hx]
-  rw [(trivializationAt F E (f x₀).proj).continuousWithinAt_iff_continuousWithinAt_comp_left]
-  · simp_rw [continuousWithinAt_prod_iff, Function.comp, Trivialization.coe_coe, h2, true_and_iff]
-  · apply mem_trivializationAt_proj_source
-  · rwa [source_eq, preimage_preimage]
+        ContinuousWithinAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) s x₀ :=
+  (trivializationAt F E (f x₀).proj).tendsto_nhds_iff mem_trivializationAt_proj_source
 #align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpace
 
 /-- Characterization of continuous functions (at a point) into a fiber bundle. -/
 theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
     ContinuousAt f x₀ ↔
       ContinuousAt (fun x => (f x).proj) x₀ ∧
-        ContinuousAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) x₀ := by
-  simp_rw [← continuousWithinAt_univ]
-  exact continuousWithinAt_totalSpace F f
+        ContinuousAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) x₀ :=
+  (trivializationAt F E (f x₀).proj).tendsto_nhds_iff mem_trivializationAt_proj_source
 #align fiber_bundle.continuous_at_total_space FiberBundle.continuousAt_totalSpace
 
 end FiberBundle
feat: port Geometry.Manifold.VectorBundle.Tangent (#5448)

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Diff
@@ -923,7 +923,7 @@ theorem continuousOn_of_comp_right {X : Type _} [TopologicalSpace X] {f : TotalS
     {s : Set B} (hs : IsOpen s) (hf : ∀ b ∈ s,
       ContinuousOn (f ∘ (a.pretrivializationAt b).toLocalEquiv.symm)
         ((s ∩ (a.pretrivializationAt b).baseSet) ×ˢ (Set.univ : Set F))) :
-    @ContinuousOn _ _ a.totalSpaceTopology _ f ((π E) ⁻¹' s) := by
+    @ContinuousOn _ _ a.totalSpaceTopology _ f (π E ⁻¹' s) := by
   letI := a.totalSpaceTopology
   intro z hz
   let e : Trivialization F (π E) :=
feat: port Geometry.Manifold.VectorBundle.Basic (#5444)

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>

Diff
@@ -911,6 +911,11 @@ theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) := by
   exact FiberBundle.continuous_proj F E
 #align fiber_prebundle.continuous_proj FiberPrebundle.continuous_proj
 
+instance {e₀} (he₀ : e₀ ∈ a.pretrivializationAtlas) :
+    (letI := a.totalSpaceTopology; letI := a.toFiberBundle;
+      MemTrivializationAtlas (a.trivializationOfMemPretrivializationAtlas he₀)) :=
+  letI := a.totalSpaceTopology; letI := a.toFiberBundle; ⟨e₀, he₀, rfl⟩
+
 /-- For a fiber bundle `E` over `B` constructed using the `FiberPrebundle` mechanism,
 continuity of a function `TotalSpace E → X` on an open set `s` can be checked by precomposing at
 each point with the pretrivialization used for the construction at that point. -/
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -396,7 +396,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
   · /- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
           `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
     rw [disjoint_left] at he
-    push_neg  at he
+    push_neg at he
     rcases he with ⟨d', hdd' : d' < d, hd'c⟩
     exact ⟨d', ⟨hd'c, hdd'.le.trans hdcb.2⟩, ec, (Icc_subset_Ico_right hdd').trans had⟩
 #align fiber_bundle.exists_trivialization_Icc_subset FiberBundle.exists_trivialization_Icc_subset
chore: add space after exacts (#4945)

Too often tempted to change these during other PRs, so doing a mass edit here.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -392,7 +392,7 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
       (ec.restrOpen (Iio d) isOpen_Iio).disjointUnion (ed.restrOpen (Ioi c) isOpen_Ioi)
         (he.mono (inter_subset_right _ _) (inter_subset_right _ _)), fun x hx => _⟩
     rcases hx.2.eq_or_lt with (rfl | hxd)
-    exacts[Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
+    exacts [Or.inr ⟨hed, hdcb.1⟩, Or.inl ⟨had ⟨hx.1, hxd⟩, hxd⟩]
   · /- If `(c, d)` is nonempty, then take `d' ∈ (c, d)`. Since the base set of `ec` includes
           `[a, d)`, it includes `[a, d'] ⊆ [a, d)` as well. -/
     rw [disjoint_left] at he
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -566,7 +566,7 @@ theorem localTrivAsLocalEquiv_trans (i j : ι) :
 /-- Topological structure on the total space of a fiber bundle created from core, designed so
 that all the local trivialization are continuous. -/
 instance toTopologicalSpace : TopologicalSpace (Bundle.TotalSpace Z.Fiber) :=
-  TopologicalSpace.generateFrom <| ⋃ (i : ι) (s : Set (B × F)) (_s_open : IsOpen s),
+  TopologicalSpace.generateFrom <| ⋃ (i : ι) (s : Set (B × F)) (_ : IsOpen s),
     {(Z.localTrivAsLocalEquiv i).source ∩ Z.localTrivAsLocalEquiv i ⁻¹' s}
 #align fiber_bundle_core.to_topological_space FiberBundleCore.toTopologicalSpace
 
@@ -803,7 +803,7 @@ variable (a : FiberPrebundle F E) {e : Pretrivialization F (π E)}
 
 /-- Topology on the total space that will make the prebundle into a bundle. -/
 def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E) :=
-  ⨆ (e : Pretrivialization F (π E)) (_he : e ∈ a.pretrivializationAtlas),
+  ⨆ (e : Pretrivialization F (π E)) (_ : e ∈ a.pretrivializationAtlas),
     coinduced e.setSymm instTopologicalSpaceSubtype
 #align fiber_prebundle.total_space_topology FiberPrebundle.totalSpaceTopology
 
feat: forward-port 19107 (#4470)

Forward-port leanprover-community/mathlib#19107

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit 0187644979f2d3e10a06e916a869c994facd9a87
+! leanprover-community/mathlib commit f7ebde7ee0d1505dfccac8644ae12371aa3c1c9f
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -779,6 +779,7 @@ end FiberBundleCore
 /-! ### Prebundle construction for constructing fiber bundles -/
 
 variable (F) (E : B → Type _) [TopologicalSpace B] [TopologicalSpace F]
+  [∀ x, TopologicalSpace (E x)]
 
 /-- This structure permits to define a fiber bundle when trivializations are given as local
 equivalences but there is not yet a topology on the total space. The total space is hence given a
@@ -792,6 +793,7 @@ structure FiberPrebundle where
   pretrivialization_mem_atlas : ∀ x : B, pretrivializationAt x ∈ pretrivializationAtlas
   continuous_trivChange : ∀ e, e ∈ pretrivializationAtlas → ∀ e', e' ∈ pretrivializationAtlas →
     ContinuousOn (e ∘ e'.toLocalEquiv.symm) (e'.target ∩ e'.toLocalEquiv.symm ⁻¹' e.source)
+  totalSpaceMk_inducing : ∀ b : B, Inducing (pretrivializationAt b ∘ totalSpaceMk b)
 #align fiber_prebundle FiberPrebundle
 
 namespace FiberPrebundle
@@ -862,35 +864,38 @@ theorem totalSpaceMk_preimage_source (b : B) :
   eq_univ_of_forall (a.mem_pretrivializationAt_source b)
 #align fiber_prebundle.total_space_mk_preimage_source FiberPrebundle.totalSpaceMk_preimage_source
 
-/-- Topology on the fibers `E b` induced by the map `E b → E.TotalSpace`. -/
-def fiberTopology (b : B) : TopologicalSpace (E b) :=
-  TopologicalSpace.induced (totalSpaceMk b) a.totalSpaceTopology
-#align fiber_prebundle.fiber_topology FiberPrebundle.fiberTopology
-
-@[continuity]
-theorem inducing_totalSpaceMk (b : B) :
-    @Inducing _ _ (a.fiberTopology b) a.totalSpaceTopology (totalSpaceMk b) := by
-  letI := a.totalSpaceTopology
-  letI := a.fiberTopology b
-  exact ⟨rfl⟩
-#align fiber_prebundle.inducing_total_space_mk FiberPrebundle.inducing_totalSpaceMk
-
 @[continuity]
 theorem continuous_totalSpaceMk (b : B) :
-    Continuous[a.fiberTopology b, a.totalSpaceTopology] (totalSpaceMk b) := by
-  letI := a.totalSpaceTopology; letI := a.fiberTopology b
-  exact (a.inducing_totalSpaceMk b).continuous
+  Continuous[_, a.totalSpaceTopology] (totalSpaceMk b) := by
+  letI := a.totalSpaceTopology
+  let e := a.trivializationOfMemPretrivializationAtlas (a.pretrivialization_mem_atlas b)
+  rw [e.toLocalHomeomorph.continuous_iff_continuous_comp_left
+      (a.totalSpaceMk_preimage_source b)]
+  exact continuous_iff_le_induced.mpr (le_antisymm_iff.mp (a.totalSpaceMk_inducing b).induced).1
 #align fiber_prebundle.continuous_total_space_mk FiberPrebundle.continuous_totalSpaceMk
 
+theorem inducing_totalSpaceMk_of_inducing_comp (b : B)
+    (h : Inducing (a.pretrivializationAt b ∘ totalSpaceMk b)) :
+    @Inducing _ _ _ a.totalSpaceTopology (totalSpaceMk b) := by
+  letI := a.totalSpaceTopology
+  rw [← restrict_comp_codRestrict (a.mem_pretrivializationAt_source b)] at h
+  apply Inducing.of_codRestrict (a.mem_pretrivializationAt_source b)
+  refine inducing_of_inducing_compose ?_ (continuousOn_iff_continuous_restrict.mp
+    (a.trivializationOfMemPretrivializationAtlas
+      (a.pretrivialization_mem_atlas b)).continuous_toFun) h
+  exact (a.continuous_totalSpaceMk b).codRestrict (a.mem_pretrivializationAt_source b)
+#align fiber_prebundle.inducing_total_space_mk_of_inducing_comp FiberPrebundle.inducing_totalSpaceMk_of_inducing_comp
+
 /-- Make a `FiberBundle` from a `FiberPrebundle`.  Concretely this means
 that, given a `FiberPrebundle` structure for a sigma-type `E` -- which consists of a
 number of "pretrivializations" identifying parts of `E` with product spaces `U × F` -- one
 establishes that for the topology constructed on the sigma-type using
 `FiberPrebundle.totalSpaceTopology`, these "pretrivializations" are actually
 "trivializations" (i.e., homeomorphisms with respect to the constructed topology). -/
-def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology a.fiberTopology :=
-  let _ := a.totalSpaceTopology; let _ := a.fiberTopology
-  { totalSpaceMk_inducing' := a.inducing_totalSpaceMk,
+def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology _ :=
+  let _ := a.totalSpaceTopology
+  { totalSpaceMk_inducing' := fun b ↦ a.inducing_totalSpaceMk_of_inducing_comp b
+      (a.totalSpaceMk_inducing b)
     trivializationAtlas' :=
       { e | ∃ (e₀ : _) (he₀ : e₀ ∈ a.pretrivializationAtlas),
         e = a.trivializationOfMemPretrivializationAtlas he₀ },
@@ -902,7 +907,6 @@ def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology a.fiberTopology
 
 theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) := by
   letI := a.totalSpaceTopology
-  letI := a.fiberTopology
   letI := a.toFiberBundle
   exact FiberBundle.continuous_proj F E
 #align fiber_prebundle.continuous_proj FiberPrebundle.continuous_proj
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supₛsSup
  • infₛsInf
  • supᵢiSup
  • infᵢiInf
  • bsupₛbsSup
  • binfₛbsInf
  • bsupᵢbiSup
  • binfᵢbiInf
  • csupₛcsSup
  • cinfₛcsInf
  • csupᵢciSup
  • cinfᵢciInf
  • unionₛsUnion
  • interₛsInter
  • unionᵢiUnion
  • interᵢiInter
  • bunionₛbsUnion
  • binterₛbsInter
  • bunionᵢbiUnion
  • binterᵢbiInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -349,8 +349,8 @@ theorem FiberBundle.exists_trivialization_Icc_subset [ConditionallyCompleteLinea
   have sne : s.Nonempty := ⟨a, ha⟩
   have hsb : b ∈ upperBounds s := fun x hx => hx.1.2
   have sbd : BddAbove s := ⟨b, hsb⟩
-  set c := supₛ s
-  have hsc : IsLUB s c := isLUB_csupₛ sne sbd
+  set c := sSup s
+  have hsc : IsLUB s c := isLUB_csSup sne sbd
   have hc : c ∈ Icc a b := ⟨hsc.1 ha, hsc.2 hsb⟩
   obtain ⟨-, ec : Trivialization F (π E), hec : Icc a c ⊆ ec.baseSet⟩ : c ∈ s := by
     cases' hc.1.eq_or_lt with heq hlt
@@ -574,7 +574,7 @@ variable (b : B) (a : F)
 
 theorem open_source' (i : ι) : IsOpen (Z.localTrivAsLocalEquiv i).source := by
   apply TopologicalSpace.GenerateOpen.basic
-  simp only [exists_prop, mem_unionᵢ, mem_singleton_iff]
+  simp only [exists_prop, mem_iUnion, mem_singleton_iff]
   refine ⟨i, Z.baseSet i ×ˢ univ, (Z.isOpen_baseSet i).prod isOpen_univ, ?_⟩
   ext p
   simp only [localTrivAsLocalEquiv_apply, prod_mk_mem_set_prod_eq, mem_inter_iff, and_self_iff,
@@ -597,11 +597,11 @@ def localTriv (i : ι) : Trivialization F Z.proj where
     rw [continuousOn_open_iff (Z.open_source' i)]
     intro s s_open
     apply TopologicalSpace.GenerateOpen.basic
-    simp only [exists_prop, mem_unionᵢ, mem_singleton_iff]
+    simp only [exists_prop, mem_iUnion, mem_singleton_iff]
     exact ⟨i, s, s_open, rfl⟩
   continuous_invFun := by
     refine continuousOn_open_of_generateFrom fun t ht ↦ ?_
-    simp only [exists_prop, mem_unionᵢ, mem_singleton_iff] at ht
+    simp only [exists_prop, mem_iUnion, mem_singleton_iff] at ht
     obtain ⟨j, s, s_open, ts⟩ : ∃ j s, IsOpen s ∧
       t = (localTrivAsLocalEquiv Z j).source ∩ localTrivAsLocalEquiv Z j ⁻¹' s := ht
     rw [ts]
@@ -808,11 +808,11 @@ def totalSpaceTopology (a : FiberPrebundle F E) : TopologicalSpace (TotalSpace E
 theorem continuous_symm_of_mem_pretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @ContinuousOn _ _ _ a.totalSpaceTopology e.toLocalEquiv.symm e.target := by
   refine' fun z H U h => preimage_nhdsWithin_coinduced' H (le_def.1 (nhds_mono _) U h)
-  exact le_supᵢ₂ (α := TopologicalSpace (TotalSpace E)) e he
+  exact le_iSup₂ (α := TopologicalSpace (TotalSpace E)) e he
 #align fiber_prebundle.continuous_symm_of_mem_pretrivialization_atlas FiberPrebundle.continuous_symm_of_mem_pretrivializationAtlas
 
 theorem isOpen_source (e : Pretrivialization F (π E)) : IsOpen[a.totalSpaceTopology] e.source := by
-  refine isOpen_supᵢ_iff.mpr fun e' => isOpen_supᵢ_iff.mpr fun _ => ?_
+  refine isOpen_iSup_iff.mpr fun e' => isOpen_iSup_iff.mpr fun _ => ?_
   refine' isOpen_coinduced.mpr (isOpen_induced_iff.mpr ⟨e.target, e.open_target, _⟩)
   ext ⟨x, hx⟩
   simp only [mem_preimage, Pretrivialization.setSymm, restrict, e.mem_target, e.mem_source,
@@ -837,8 +837,8 @@ def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtl
     open_source := a.isOpen_source e,
     continuous_toFun := by
       refine continuousOn_iff'.mpr fun s hs => ⟨e ⁻¹' s ∩ e.source,
-        isOpen_supᵢ_iff.mpr fun e' => ?_, by rw [inter_assoc, inter_self]; rfl⟩
-      refine isOpen_supᵢ_iff.mpr fun he' => ?_
+        isOpen_iSup_iff.mpr fun e' => ?_, by rw [inter_assoc, inter_self]; rfl⟩
+      refine isOpen_iSup_iff.mpr fun he' => ?_
       rw [isOpen_coinduced, isOpen_induced_iff]
       obtain ⟨u, hu1, hu2⟩ := continuousOn_iff'.mp (a.continuous_trivChange _ he _ he') s hs
       have hu3 := congr_arg (fun s => (fun x : e'.target => (x : B × F)) ⁻¹' s) hu2
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.basic
-! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
+! leanprover-community/mathlib commit 0187644979f2d3e10a06e916a869c994facd9a87
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -170,12 +170,12 @@ Fiber bundle, topological bundle, structure group
 -/
 
 
-variable {ι : Type _} {B : Type _} {F : Type _}
+variable {ι B F X : Type _} [TopologicalSpace X]
 
 open TopologicalSpace Filter Set Bundle Topology
 
 attribute [mfld_simps]
-  TotalSpace.proj totalSpaceMk coe_fst coe_snd coe_snd_map_apply coe_snd_map_smul TotalSpace.mk_cast
+  totalSpaceMk coe_fst coe_snd coe_snd_map_apply coe_snd_map_smul TotalSpace.mk_cast
 
 /-! ### General definition of fiber bundles -/
 
@@ -282,6 +282,52 @@ theorem totalSpaceMk_closedEmbedding [T1Space B] (x : B) : ClosedEmbedding (@tot
     rw [range_sigmaMk]
     exact isClosed_singleton.preimage <| continuous_proj F E⟩
 
+variable {E F}
+
+@[simp, mfld_simps]
+theorem mem_trivializationAt_proj_source {x : TotalSpace E} :
+    x ∈ (trivializationAt F E x.proj).source :=
+  (Trivialization.mem_source _).mpr <| mem_baseSet_trivializationAt F E x.proj
+#align fiber_bundle.mem_trivialization_at_proj_source FiberBundle.mem_trivializationAt_proj_source
+
+-- porting note: removed `@[simp, mfld_simps]` because `simp` could already prove this
+theorem trivializationAt_proj_fst {x : TotalSpace E} :
+    ((trivializationAt F E x.proj) x).1 = x.proj :=
+  Trivialization.coe_fst' _ <| mem_baseSet_trivializationAt F E x.proj
+#align fiber_bundle.trivialization_at_proj_fst FiberBundle.trivializationAt_proj_fst
+
+variable (F)
+
+open Trivialization
+
+/-- Characterization of continuous functions (at a point, within a set) into a fiber bundle. -/
+theorem continuousWithinAt_totalSpace (f : X → TotalSpace E) {s : Set X} {x₀ : X} :
+    ContinuousWithinAt f s x₀ ↔
+      ContinuousWithinAt (fun x => (f x).proj) s x₀ ∧
+        ContinuousWithinAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) s x₀ := by
+  refine' (and_iff_right_iff_imp.2 fun hf => _).symm.trans (and_congr_right fun hf => _)
+  · refine' (continuous_proj F E).continuousWithinAt.comp hf (mapsTo_image f s)
+  have h1 : (fun x => (f x).proj) ⁻¹' (trivializationAt F E (f x₀).proj).baseSet ∈ 𝓝[s] x₀ :=
+    hf.preimage_mem_nhdsWithin ((open_baseSet _).mem_nhds (mem_baseSet_trivializationAt F E _))
+  have h2 : ContinuousWithinAt (fun x => (trivializationAt F E (f x₀).proj (f x)).1) s x₀ := by
+    refine'
+      hf.congr_of_eventuallyEq (eventually_of_mem h1 fun x hx => _) trivializationAt_proj_fst
+    simp_rw [coe_fst' _ hx]
+  rw [(trivializationAt F E (f x₀).proj).continuousWithinAt_iff_continuousWithinAt_comp_left]
+  · simp_rw [continuousWithinAt_prod_iff, Function.comp, Trivialization.coe_coe, h2, true_and_iff]
+  · apply mem_trivializationAt_proj_source
+  · rwa [source_eq, preimage_preimage]
+#align fiber_bundle.continuous_within_at_total_space FiberBundle.continuousWithinAt_totalSpace
+
+/-- Characterization of continuous functions (at a point) into a fiber bundle. -/
+theorem continuousAt_totalSpace (f : X → TotalSpace E) {x₀ : X} :
+    ContinuousAt f x₀ ↔
+      ContinuousAt (fun x => (f x).proj) x₀ ∧
+        ContinuousAt (fun x => ((trivializationAt F E (f x₀).proj) (f x)).2) x₀ := by
+  simp_rw [← continuousWithinAt_univ]
+  exact continuousWithinAt_totalSpace F f
+#align fiber_bundle.continuous_at_total_space FiberBundle.continuousAt_totalSpace
+
 end FiberBundle
 
 variable (F E)
chore: tidy various files (#3474)
Diff
@@ -50,7 +50,7 @@ fiber bundle from trivializations given as local equivalences with minimum addit
 
 ### Basic definitions
 
-* `FiberBundle F E` : Structure saying that `E : B → Type*` is a fiber bundle with fiber `F`.
+* `FiberBundle F E` : Structure saying that `E : B → Type _` is a fiber bundle with fiber `F`.
 
 ### Construction of a bundle from trivializations
 
@@ -91,15 +91,15 @@ a family of trivializations (constituting the data) which are all mutually-compa
 The PRs #13052 and #13175 implemented this change.
 
 There is still the choice about whether to hold this data at the level of fiber bundles or of vector
-bundles. As of PR #17505, the data is all held in `FiberBundle`, with `vector_bundle` a
+bundles. As of PR #17505, the data is all held in `FiberBundle`, with `VectorBundle` a
 (propositional) mixin stating fiberwise-linearity.
 
 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 fiber `F` over base `B`
-to be a `charted_space (B × F)`, with the trivializations providing the charts. This would be a
+to be a `ChartedSpace (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 `FiberBundle`, then a
-fiber bundle with fiber `F` over base `B` can be a `charted_space (B × F)`, and this is safe for
+`ChartedSpace (B × F)`. But if the data of the trivializations is held in `FiberBundle`, then a
+fiber bundle with fiber `F` over base `B` can be a `ChartedSpace (B × F)`, and this is safe for
 typeclass inference.
 
 We expect that this choice of definition will also streamline constructions of fiber bundles with
@@ -135,7 +135,7 @@ This has several practical advantages:
 * without any work, one gets a topological space structure on the fiber. And if `F` has more
 structure it is inherited for free by the fiber.
 * In the case of the tangent bundle of manifolds, this implies that on vector spaces the derivative
-(from `F` to `F`) and the manifold derivative (from `tangent_space I x` to `tangent_space I' (f x)`)
+(from `F` to `F`) and the manifold derivative (from `TangentSpace I x` to `TangentSpace I' (f x)`)
 are equal.
 
 A drawback is that some silly constructions will typecheck: in the case of the tangent bundle, one
@@ -145,8 +145,8 @@ lose the identification of the tangent space to `F` with `F`. There is however a
 this situation: even if Lean can not check that two basepoints are defeq, it will accept the fact
 that the tangent spaces are the same. For instance, if two maps `f` and `g` are locally inverse to
 each other, one can express that the composition of their derivatives is the identity of
-`tangent_space I x`. One could fear issues as this composition goes from `tangent_space I x` to
-`tangent_space I (g (f x))` (which should be the same, but should not be obvious to Lean
+`TangentSpace I x`. One could fear issues as this composition goes from `TangentSpace I x` to
+`TangentSpace I (g (f x))` (which should be the same, but should not be obvious to Lean
 as it does not know that `g (f x) = x`). As these types are the same to Lean (equal to `F`), there
 are in fact no dependent type difficulties here!
 
@@ -363,7 +363,7 @@ end FiberBundle
 space `B`. Note that "bundle" is used in its mathematical sense. This is the (computer science)
 bundled version, i.e., all the relevant data is contained in the following structure. A family of
 local trivializations is indexed by a type `ι`, on open subsets `baseSet i` for each `i : ι`.
-Trivialization changes from `i` to `j` are given by continuous maps `coord_change i j` from
+Trivialization changes from `i` to `j` are given by continuous maps `coordChange i j` from
 `baseSet i ∩ baseSet j` to the set of homeomorphisms of `F`, but we express them as maps
 `B → F → F` and require continuity on `(baseSet i ∩ baseSet j) × F` to avoid the topology on the
 space of continuous maps on `F`. -/
@@ -786,7 +786,7 @@ theorem isOpen_target_of_mem_pretrivializationAtlas_inter (e e' : Pretrivializat
 /-- Promotion from a `Pretrivialization` to a `Trivialization`. -/
 def trivializationOfMemPretrivializationAtlas (he : e ∈ a.pretrivializationAtlas) :
     @Trivialization B F _ _ _ a.totalSpaceTopology (π E) :=
-  let _ := a.totalSpaceTopology;
+  let _ := a.totalSpaceTopology
   { e with
     open_source := a.isOpen_source e,
     continuous_toFun := by
@@ -816,7 +816,7 @@ theorem totalSpaceMk_preimage_source (b : B) :
   eq_univ_of_forall (a.mem_pretrivializationAt_source b)
 #align fiber_prebundle.total_space_mk_preimage_source FiberPrebundle.totalSpaceMk_preimage_source
 
-/-- Topology on the fibers `E b` induced by the map `E b → E.total_space`. -/
+/-- Topology on the fibers `E b` induced by the map `E b → E.TotalSpace`. -/
 def fiberTopology (b : B) : TopologicalSpace (E b) :=
   TopologicalSpace.induced (totalSpaceMk b) a.totalSpaceTopology
 #align fiber_prebundle.fiber_topology FiberPrebundle.fiberTopology
@@ -843,7 +843,7 @@ establishes that for the topology constructed on the sigma-type using
 `FiberPrebundle.totalSpaceTopology`, these "pretrivializations" are actually
 "trivializations" (i.e., homeomorphisms with respect to the constructed topology). -/
 def toFiberBundle : @FiberBundle B F _ _ E a.totalSpaceTopology a.fiberTopology :=
-  let _ := a.totalSpaceTopology; let _ := a.fiberTopology;
+  let _ := a.totalSpaceTopology; let _ := a.fiberTopology
   { totalSpaceMk_inducing' := a.inducing_totalSpaceMk,
     trivializationAtlas' :=
       { e | ∃ (e₀ : _) (he₀ : e₀ ∈ a.pretrivializationAtlas),
@@ -862,7 +862,7 @@ theorem continuous_proj : @Continuous _ _ a.totalSpaceTopology _ (π E) := by
 #align fiber_prebundle.continuous_proj FiberPrebundle.continuous_proj
 
 /-- For a fiber bundle `E` over `B` constructed using the `FiberPrebundle` mechanism,
-continuity of a function `total_space E → X` on an open set `s` can be checked by precomposing at
+continuity of a function `TotalSpace E → X` on an open set `s` can be checked by precomposing at
 each point with the pretrivialization used for the construction at that point. -/
 theorem continuousOn_of_comp_right {X : Type _} [TopologicalSpace X] {f : TotalSpace E → X}
     {s : Set B} (hs : IsOpen s) (hf : ∀ b ∈ s,
feat: port Topology.FiberBundle.Basic (#2862)

Dependencies 9 + 460

461 files ported (98.1%)
201861 lines ported (97.6%)
Show graph

The unported dependencies are