topology.fiber_bundle.trivializationMathlib.Topology.FiberBundle.Trivialization

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
@@ -159,9 +159,9 @@ lemma symm_trans_target_eq (e e' : pretrivialization F proj) :
   (e.to_local_equiv.symm.trans e'.to_local_equiv).target = (e.base_set ∩ e'.base_set) ×ˢ univ :=
 by rw [← local_equiv.symm_source, symm_trans_symm, symm_trans_source_eq, inter_comm]
 
-variables {B F} (e' : pretrivialization F (π E)) {x' : total_space E} {b : B} {y : E b}
+variables {B F} (e' : pretrivialization F (π F E)) {x' : total_space F E} {b : B} {y : E b}
 
-lemma coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.base_set := e'.mem_source
+@[simp] theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.base_set := e'.mem_source
 
 @[simp, mfld_simps] lemma coe_coe_fst (hb : b ∈ e'.base_set) : (e' y).1 = b :=
 e'.coe_fst (e'.mem_source.2 hb)
@@ -169,7 +169,7 @@ e'.coe_fst (e'.mem_source.2 hb)
 lemma mk_mem_target {x : B} {y : F} : (x, y) ∈ e'.target ↔ x ∈ e'.base_set :=
 e'.mem_target
 
-lemma symm_coe_proj {x : B} {y : F} (e' : pretrivialization F (π E)) (h : x ∈ e'.base_set) :
+lemma symm_coe_proj {x : B} {y : F} (e' : pretrivialization F (π F E)) (h : x ∈ e'.base_set) :
   (e'.to_local_equiv.symm (x, y)).1 = x :=
 e'.proj_symm_apply' h
 
@@ -177,46 +177,46 @@ section has_zero
 variables [∀ x, has_zero (E x)]
 
 /-- A fiberwise inverse to `e`. This is the function `F → E b` that induces a local inverse
-`B × F → total_space E` of `e` on `e.base_set`. It is defined to be `0` outside `e.base_set`. -/
-protected noncomputable def symm (e : pretrivialization F (π E)) (b : B) (y : F) : E b :=
+`B × F → total_space F E` of `e` on `e.base_set`. It is defined to be `0` outside `e.base_set`. -/
+protected noncomputable def symm (e : pretrivialization F (π F E)) (b : B) (y : F) : E b :=
 if hb : b ∈ e.base_set
 then cast (congr_arg E (e.proj_symm_apply' hb)) (e.to_local_equiv.symm (b, y)).2
 else 0
 
-lemma symm_apply (e : pretrivialization F (π E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
+lemma symm_apply (e : pretrivialization F (π F E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
   e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.to_local_equiv.symm (b, y)).2 :=
 dif_pos hb
 
-lemma symm_apply_of_not_mem (e : pretrivialization F (π E)) {b : B} (hb : b ∉ e.base_set) (y : F) :
-  e.symm b y = 0 :=
+lemma symm_apply_of_not_mem (e : pretrivialization F (π F E)) {b : B} (hb : b ∉ e.base_set)
+  (y : F) : e.symm b y = 0 :=
 dif_neg hb
 
-lemma coe_symm_of_not_mem (e : pretrivialization F (π E)) {b : B} (hb : b ∉ e.base_set) :
+lemma coe_symm_of_not_mem (e : pretrivialization F (π F E)) {b : B} (hb : b ∉ e.base_set) :
   (e.symm b : F → E b) = 0 :=
 funext $ λ y, dif_neg hb
 
-lemma mk_symm (e : pretrivialization F (π E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
-  total_space_mk b (e.symm b y) = e.to_local_equiv.symm (b, y) :=
+lemma mk_symm (e : pretrivialization F (π F E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
+  total_space.mk b (e.symm b y) = e.to_local_equiv.symm (b, y) :=
 by rw [e.symm_apply hb, total_space.mk_cast, total_space.eta]
 
-lemma symm_proj_apply (e : pretrivialization F (π E)) (z : total_space E)
+lemma symm_proj_apply (e : pretrivialization F (π F E)) (z : total_space F E)
   (hz : z.proj ∈ e.base_set) : e.symm z.proj (e z).2 = z.2 :=
 by rw [e.symm_apply hz, cast_eq_iff_heq, e.mk_proj_snd' hz,
   e.symm_apply_apply (e.mem_source.mpr hz)]
 
-lemma symm_apply_apply_mk (e : pretrivialization F (π E)) {b : B} (hb : b ∈ e.base_set) (y : E b) :
-  e.symm b (e (total_space_mk b y)).2 = y :=
-e.symm_proj_apply (total_space_mk b y) hb
+lemma symm_apply_apply_mk (e : pretrivialization F (π F E)) {b : B} (hb : b ∈ e.base_set)
+  (y : E b) : e.symm b (e ⟨b, y⟩).2 = y :=
+e.symm_proj_apply ⟨b, y⟩ hb
 
-lemma apply_mk_symm (e : pretrivialization F (π E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
-  e (total_space_mk b (e.symm b y)) = (b, y) :=
+lemma apply_mk_symm (e : pretrivialization F (π F E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
+  e ⟨b, e.symm b y⟩ = (b, y) :=
 by rw [e.mk_symm hb, e.apply_symm_apply (e.mk_mem_target.mpr hb)]
 
 end has_zero
 
 end pretrivialization
 
-variables [topological_space Z] [topological_space (total_space E)]
+variables [topological_space Z] [topological_space (total_space F E)]
 
 /--
 A structure extending local homeomorphisms, defining a local trivialization of a projection
@@ -403,7 +403,7 @@ begin
   exact hf_proj.preimage_mem_nhds (e.open_base_set.mem_nhds he),
 end
 
-variables {E} (e' : trivialization F (π E)) {x' : total_space E} {b : B} {y : E b}
+variables {E} (e' : trivialization F (π F E)) {x' : total_space F E} {b : B} {y : E b}
 
 protected lemma continuous_on : continuous_on e' e'.source := e'.continuous_to_fun
 
@@ -418,51 +418,52 @@ e'.coe_fst (e'.mem_source.2 hb)
 lemma mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.base_set :=
 e'.to_pretrivialization.mem_target
 
-lemma symm_apply_apply {x : total_space E} (hx : x ∈ e'.source) :
+lemma symm_apply_apply {x : total_space F E} (hx : x ∈ e'.source) :
   e'.to_local_homeomorph.symm (e' x) = x :=
 e'.to_local_equiv.left_inv hx
 
 @[simp, mfld_simps] lemma symm_coe_proj {x : B} {y : F}
-  (e : trivialization F (π E)) (h : x ∈ e.base_set) :
+  (e : trivialization F (π F E)) (h : x ∈ e.base_set) :
   (e.to_local_homeomorph.symm (x, y)).1 = x := e.proj_symm_apply' h
 
 section has_zero
 variables [∀ x, has_zero (E x)]
 
 /-- A fiberwise inverse to `e'`. The function `F → E x` that induces a local inverse
-`B × F → total_space E` of `e'` on `e'.base_set`. It is defined to be `0` outside `e'.base_set`. -/
-protected noncomputable def symm (e : trivialization F (π E)) (b : B) (y : F) : E b :=
+`B × F → total_space F E` of `e'` on `e'.base_set`. It is defined to be `0` outside
+`e'.base_set`. -/
+protected noncomputable def symm (e : trivialization F (π F E)) (b : B) (y : F) : E b :=
 e.to_pretrivialization.symm b y
 
-lemma symm_apply (e : trivialization F (π E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
+lemma symm_apply (e : trivialization F (π F E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
   e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.to_local_homeomorph.symm (b, y)).2 :=
 dif_pos hb
 
-lemma symm_apply_of_not_mem (e : trivialization F (π E)) {b : B} (hb : b ∉ e.base_set) (y : F) :
+lemma symm_apply_of_not_mem (e : trivialization F (π F E)) {b : B} (hb : b ∉ e.base_set) (y : F) :
   e.symm b y = 0 :=
 dif_neg hb
 
-lemma mk_symm (e : trivialization F (π E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
-  total_space_mk b (e.symm b y) = e.to_local_homeomorph.symm (b, y) :=
+lemma mk_symm (e : trivialization F (π F E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
+  total_space.mk b (e.symm b y) = e.to_local_homeomorph.symm (b, y) :=
 e.to_pretrivialization.mk_symm hb y
 
-lemma symm_proj_apply (e : trivialization F (π E)) (z : total_space E)
+lemma symm_proj_apply (e : trivialization F (π F E)) (z : total_space F E)
   (hz : z.proj ∈ e.base_set) : e.symm z.proj (e z).2 = z.2 :=
 e.to_pretrivialization.symm_proj_apply z hz
 
-lemma symm_apply_apply_mk (e : trivialization F (π E)) {b : B} (hb : b ∈ e.base_set) (y : E b) :
-  e.symm b (e (total_space_mk b y)).2 = y :=
-e.symm_proj_apply (total_space_mk b y) hb
+lemma symm_apply_apply_mk (e : trivialization F (π F E)) {b : B} (hb : b ∈ e.base_set) (y : E b) :
+  e.symm b (e ⟨b, y⟩).2 = y :=
+e.symm_proj_apply ⟨b, y⟩ hb
 
-lemma apply_mk_symm (e : trivialization F (π E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
-  e (total_space_mk b (e.symm b y)) = (b, y) :=
+lemma apply_mk_symm (e : trivialization F (π F E)) {b : B} (hb : b ∈ e.base_set) (y : F) :
+  e ⟨b, e.symm b y⟩ = (b, y) :=
 e.to_pretrivialization.apply_mk_symm hb y
 
-lemma continuous_on_symm (e : trivialization F (π E)) :
-  continuous_on (λ z : B × F, total_space_mk z.1 (e.symm z.1 z.2)) (e.base_set ×ˢ univ) :=
+lemma continuous_on_symm (e : trivialization F (π F E)) :
+  continuous_on (λ z : B × F, total_space.mk' F z.1 (e.symm z.1 z.2)) (e.base_set ×ˢ univ) :=
 begin
   have : ∀ (z : B × F) (hz : z ∈ e.base_set ×ˢ (univ : set F)),
-    total_space_mk z.1 (e.symm z.1 z.2) = e.to_local_homeomorph.symm z,
+    total_space.mk z.1 (e.symm z.1 z.2) = e.to_local_homeomorph.symm z,
   { rintro x ⟨hx : x.1 ∈ e.base_set, _⟩, simp_rw [e.mk_symm hx, prod.mk.eta] },
   refine continuous_on.congr _ this,
   rw [← e.target_eq],

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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/basic): smooth vector bundles (#17611)

Definition of smooth vector bundle, and basic constructions (direct sum, pullback, core construction).

Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>

Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>

Diff
@@ -31,13 +31,13 @@ We provide the following operations on `trivialization`s.
 ## Implementation notes
 
 Previously, in mathlib, there was a structure `topological_vector_bundle.trivialization` which
-extended another structure `topological_fibre_bundle.trivialization` by a linearity hypothesis. As
+extended another structure `topological_fiber_bundle.trivialization` by a linearity hypothesis. As
 of PR #17359, we have changed this to a single structure `trivialization` (no namespace), together
 with a mixin class `trivialization.is_linear`.
 
-This permits all the *data* of a vector bundle to be held at the level of fibre bundles, so that the
+This permits all the *data* of a vector bundle to be held at the level of fiber bundles, so that the
 same trivializations can underlie an object's structure as (say) a vector bundle over `ℂ` and as a
-vector bundle over `ℝ`, as well as its structure simply as a fibre bundle.
+vector bundle over `ℝ`, as well as its structure simply as a fiber bundle.
 
 This might be a little surprising, given the general trend of the library to ever-increased
 bundling.  But in this case the typical motivation for more bundling does not apply: there is no

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -5,7 +5,7 @@ Authors: Sébastien Gouëzel
 -/
 import Data.Bundle
 import Topology.Algebra.Order.Field
-import Topology.LocalHomeomorph
+import Topology.PartialHomeomorph
 
 #align_import topology.fiber_bundle.trivialization from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
 
Diff
@@ -145,7 +145,7 @@ theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet := by
 theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toPartialEquiv.symm x) = x.1 :=
   by
   have := (e.coe_fst (e.to_local_equiv.map_target hx)).symm
-  rwa [← e.coe_coe, e.to_local_equiv.right_inv hx] at this 
+  rwa [← e.coe_coe, e.to_local_equiv.right_inv hx] at this
 #align pretrivialization.proj_symm_apply Pretrivialization.proj_symm_apply
 -/
 
Diff
@@ -69,7 +69,7 @@ have a topology on both the fiber and the base space. Through the construction
 `topological_fiber_prebundle F proj` it will be possible to promote a
 `pretrivialization F proj` to a `trivialization F proj`. -/
 @[ext, nolint has_nonempty_instance]
-structure Pretrivialization (proj : Z → B) extends LocalEquiv Z (B × F) where
+structure Pretrivialization (proj : Z → B) extends PartialEquiv Z (B × F) where
   open_target : IsOpen target
   baseSet : Set B
   open_baseSet : IsOpen base_set
@@ -88,7 +88,7 @@ variable {F} (e : Pretrivialization F proj) {x : Z}
 
 #print Pretrivialization.coe_coe /-
 @[simp, mfld_simps]
-theorem coe_coe : ⇑e.toLocalEquiv = e :=
+theorem coe_coe : ⇑e.toPartialEquiv = e :=
   rfl
 #align pretrivialization.coe_coe Pretrivialization.coe_coe
 -/
@@ -131,7 +131,7 @@ theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
 #print Pretrivialization.setSymm /-
 /-- Composition of inverse and coercion from the subtype of the target. -/
 def setSymm : e.target → Z :=
-  e.target.restrict e.toLocalEquiv.symm
+  e.target.restrict e.toPartialEquiv.symm
 #align pretrivialization.set_symm Pretrivialization.setSymm
 -/
 
@@ -142,7 +142,7 @@ theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet := by
 -/
 
 #print Pretrivialization.proj_symm_apply /-
-theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalEquiv.symm x) = x.1 :=
+theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toPartialEquiv.symm x) = x.1 :=
   by
   have := (e.coe_fst (e.to_local_equiv.map_target hx)).symm
   rwa [← e.coe_coe, e.to_local_equiv.right_inv hx] at this 
@@ -151,7 +151,7 @@ theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalEqui
 
 #print Pretrivialization.proj_symm_apply' /-
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
-    proj (e.toLocalEquiv.symm (b, x)) = b :=
+    proj (e.toPartialEquiv.symm (b, x)) = b :=
   e.proj_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.proj_symm_apply' Pretrivialization.proj_symm_apply'
 -/
@@ -159,34 +159,34 @@ theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
 #print Pretrivialization.proj_surjOn_baseSet /-
 theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet := fun b hb =>
   let ⟨y⟩ := ‹Nonempty F›
-  ⟨e.toLocalEquiv.symm (b, y), e.toLocalEquiv.map_target <| e.mem_target.2 hb,
+  ⟨e.toPartialEquiv.symm (b, y), e.toPartialEquiv.map_target <| e.mem_target.2 hb,
     e.proj_symm_apply' hb⟩
 #align pretrivialization.proj_surj_on_base_set Pretrivialization.proj_surjOn_baseSet
 -/
 
 #print Pretrivialization.apply_symm_apply /-
-theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalEquiv.symm x) = x :=
-  e.toLocalEquiv.right_inv hx
+theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toPartialEquiv.symm x) = x :=
+  e.toPartialEquiv.right_inv hx
 #align pretrivialization.apply_symm_apply Pretrivialization.apply_symm_apply
 -/
 
 #print Pretrivialization.apply_symm_apply' /-
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
-    e (e.toLocalEquiv.symm (b, x)) = (b, x) :=
+    e (e.toPartialEquiv.symm (b, x)) = (b, x) :=
   e.apply_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.apply_symm_apply' Pretrivialization.apply_symm_apply'
 -/
 
 #print Pretrivialization.symm_apply_apply /-
-theorem symm_apply_apply {x : Z} (hx : x ∈ e.source) : e.toLocalEquiv.symm (e x) = x :=
-  e.toLocalEquiv.left_inv hx
+theorem symm_apply_apply {x : Z} (hx : x ∈ e.source) : e.toPartialEquiv.symm (e x) = x :=
+  e.toPartialEquiv.left_inv hx
 #align pretrivialization.symm_apply_apply Pretrivialization.symm_apply_apply
 -/
 
 #print Pretrivialization.symm_apply_mk_proj /-
 @[simp, mfld_simps]
 theorem symm_apply_mk_proj {x : Z} (ex : x ∈ e.source) :
-    e.toLocalEquiv.symm (proj x, (e x).2) = x := by
+    e.toPartialEquiv.symm (proj x, (e x).2) = x := by
   rw [← e.coe_fst ex, Prod.mk.eta, ← e.coe_coe, e.to_local_equiv.left_inv ex]
 #align pretrivialization.symm_apply_mk_proj Pretrivialization.symm_apply_mk_proj
 -/
@@ -194,10 +194,10 @@ theorem symm_apply_mk_proj {x : Z} (ex : x ∈ e.source) :
 #print Pretrivialization.preimage_symm_proj_baseSet /-
 @[simp, mfld_simps]
 theorem preimage_symm_proj_baseSet :
-    e.toLocalEquiv.symm ⁻¹' (proj ⁻¹' e.baseSet) ∩ e.target = e.target :=
+    e.toPartialEquiv.symm ⁻¹' (proj ⁻¹' e.baseSet) ∩ e.target = e.target :=
   by
   refine' inter_eq_right_iff_subset.mpr fun x hx => _
-  simp only [mem_preimage, LocalEquiv.invFun_as_coe, e.proj_symm_apply hx]
+  simp only [mem_preimage, PartialEquiv.invFun_as_coe, e.proj_symm_apply hx]
   exact e.mem_target.mp hx
 #align pretrivialization.preimage_symm_proj_base_set Pretrivialization.preimage_symm_proj_baseSet
 -/
@@ -207,7 +207,7 @@ theorem preimage_symm_proj_baseSet :
 #print Pretrivialization.preimage_symm_proj_inter /-
 @[simp, mfld_simps]
 theorem preimage_symm_proj_inter (s : Set B) :
-    e.toLocalEquiv.symm ⁻¹' (proj ⁻¹' s) ∩ e.baseSet ×ˢ univ = (s ∩ e.baseSet) ×ˢ univ :=
+    e.toPartialEquiv.symm ⁻¹' (proj ⁻¹' s) ∩ e.baseSet ×ˢ univ = (s ∩ e.baseSet) ×ˢ univ :=
   by
   ext ⟨x, y⟩
   suffices x ∈ e.base_set → (proj (e.to_local_equiv.symm (x, y)) ∈ s ↔ x ∈ s) by
@@ -220,7 +220,7 @@ theorem preimage_symm_proj_inter (s : Set B) :
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print Pretrivialization.target_inter_preimage_symm_source_eq /-
 theorem target_inter_preimage_symm_source_eq (e f : Pretrivialization F proj) :
-    f.target ∩ f.toLocalEquiv.symm ⁻¹' e.source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
+    f.target ∩ f.toPartialEquiv.symm ⁻¹' e.source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
   rw [inter_comm, f.target_eq, e.source_eq, f.preimage_symm_proj_inter]
 #align pretrivialization.target_inter_preimage_symm_source_eq Pretrivialization.target_inter_preimage_symm_source_eq
 -/
@@ -228,23 +228,24 @@ theorem target_inter_preimage_symm_source_eq (e f : Pretrivialization F proj) :
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print Pretrivialization.trans_source /-
 theorem trans_source (e f : Pretrivialization F proj) :
-    (f.toLocalEquiv.symm.trans e.toLocalEquiv).source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
-  rw [LocalEquiv.trans_source, LocalEquiv.symm_source, e.target_inter_preimage_symm_source_eq]
+    (f.toPartialEquiv.symm.trans e.toPartialEquiv).source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
+  rw [PartialEquiv.trans_source, PartialEquiv.symm_source, e.target_inter_preimage_symm_source_eq]
 #align pretrivialization.trans_source Pretrivialization.trans_source
 -/
 
 #print Pretrivialization.symm_trans_symm /-
 theorem symm_trans_symm (e e' : Pretrivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).symm = e'.toLocalEquiv.symm.trans e.toLocalEquiv :=
-  by rw [LocalEquiv.trans_symm_eq_symm_trans_symm, LocalEquiv.symm_symm]
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).symm =
+      e'.toPartialEquiv.symm.trans e.toPartialEquiv :=
+  by rw [PartialEquiv.trans_symm_eq_symm_trans_symm, PartialEquiv.symm_symm]
 #align pretrivialization.symm_trans_symm Pretrivialization.symm_trans_symm
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print Pretrivialization.symm_trans_source_eq /-
 theorem symm_trans_source_eq (e e' : Pretrivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
-  rw [LocalEquiv.trans_source, e'.source_eq, LocalEquiv.symm_source, e.target_eq, inter_comm,
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
+  rw [PartialEquiv.trans_source, e'.source_eq, PartialEquiv.symm_source, e.target_eq, inter_comm,
     e.preimage_symm_proj_inter, inter_comm]
 #align pretrivialization.symm_trans_source_eq Pretrivialization.symm_trans_source_eq
 -/
@@ -252,8 +253,8 @@ theorem symm_trans_source_eq (e e' : Pretrivialization F proj) :
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print Pretrivialization.symm_trans_target_eq /-
 theorem symm_trans_target_eq (e e' : Pretrivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
-  rw [← LocalEquiv.symm_source, symm_trans_symm, symm_trans_source_eq, inter_comm]
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
+  rw [← PartialEquiv.symm_source, symm_trans_symm, symm_trans_source_eq, inter_comm]
 #align pretrivialization.symm_trans_target_eq Pretrivialization.symm_trans_target_eq
 -/
 
@@ -281,7 +282,7 @@ theorem mk_mem_target {x : B} {y : F} : (x, y) ∈ e'.target ↔ x ∈ e'.baseSe
 
 #print Pretrivialization.symm_coe_proj /-
 theorem symm_coe_proj {x : B} {y : F} (e' : Pretrivialization F (π F E)) (h : x ∈ e'.baseSet) :
-    (e'.toLocalEquiv.symm (x, y)).1 = x :=
+    (e'.toPartialEquiv.symm (x, y)).1 = x :=
   e'.proj_symm_apply' h
 #align pretrivialization.symm_coe_proj Pretrivialization.symm_coe_proj
 -/
@@ -295,14 +296,14 @@ variable [∀ x, Zero (E x)]
 `B × F → total_space F E` of `e` on `e.base_set`. It is defined to be `0` outside `e.base_set`. -/
 protected noncomputable def symm (e : Pretrivialization F (π F E)) (b : B) (y : F) : E b :=
   if hb : b ∈ e.baseSet then
-    cast (congr_arg E (e.proj_symm_apply' hb)) (e.toLocalEquiv.symm (b, y)).2
+    cast (congr_arg E (e.proj_symm_apply' hb)) (e.toPartialEquiv.symm (b, y)).2
   else 0
 #align pretrivialization.symm Pretrivialization.symm
 -/
 
 #print Pretrivialization.symm_apply /-
 theorem symm_apply (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalEquiv.symm (b, y)).2 :=
+    e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toPartialEquiv.symm (b, y)).2 :=
   dif_pos hb
 #align pretrivialization.symm_apply Pretrivialization.symm_apply
 -/
@@ -323,7 +324,7 @@ theorem coe_symm_of_not_mem (e : Pretrivialization F (π F E)) {b : B} (hb : b 
 
 #print Pretrivialization.mk_symm /-
 theorem mk_symm (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    TotalSpace.mk b (e.symm b y) = e.toLocalEquiv.symm (b, y) := by
+    TotalSpace.mk b (e.symm b y) = e.toPartialEquiv.symm (b, y) := by
   rw [e.symm_apply hb, total_space.mk_cast, total_space.eta]
 #align pretrivialization.mk_symm Pretrivialization.mk_symm
 -/
@@ -510,7 +511,7 @@ theorem symm_apply_mk_proj (ex : x ∈ e.source) : e.toPartialHomeomorph.symm (p
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print Trivialization.symm_trans_source_eq /-
 theorem symm_trans_source_eq (e e' : Trivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_source_eq e.toPretrivialization e'
 #align trivialization.symm_trans_source_eq Trivialization.symm_trans_source_eq
 -/
@@ -518,7 +519,7 @@ theorem symm_trans_source_eq (e e' : Trivialization F proj) :
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print Trivialization.symm_trans_target_eq /-
 theorem symm_trans_target_eq (e e' : Trivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_target_eq e.toPretrivialization e'
 #align trivialization.symm_trans_target_eq Trivialization.symm_trans_target_eq
 -/
@@ -664,11 +665,11 @@ protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ
 trivialization of `Z` containing `z`. -/
 theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z → X} {z : Z}
     (e : Trivialization F proj) (he : proj z ∈ e.baseSet)
-    (hf : ContinuousAt (f ∘ e.toLocalEquiv.symm) (e z)) : ContinuousAt f z :=
+    (hf : ContinuousAt (f ∘ e.toPartialEquiv.symm) (e z)) : ContinuousAt f z :=
   by
   have hez : z ∈ e.to_local_equiv.symm.target :=
     by
-    rw [LocalEquiv.symm_target, e.mem_source]
+    rw [PartialEquiv.symm_target, e.mem_source]
     exact he
   rwa [e.to_local_homeomorph.symm.continuous_at_iff_continuous_at_comp_right hez,
     PartialHomeomorph.symm_symm]
@@ -725,7 +726,7 @@ theorem mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.baseSet :=
 #print Trivialization.symm_apply_apply /-
 theorem symm_apply_apply {x : TotalSpace F E} (hx : x ∈ e'.source) :
     e'.toPartialHomeomorph.symm (e' x) = x :=
-  e'.toLocalEquiv.left_inv hx
+  e'.toPartialEquiv.left_inv hx
 #align trivialization.symm_apply_apply Trivialization.symm_apply_apply
 -/
 
Diff
@@ -361,7 +361,7 @@ variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace F E)]
 sets of the form `proj ⁻¹' base_set` and `base_set × F`, acting trivially on the first coordinate.
 -/
 @[ext, nolint has_nonempty_instance]
-structure Trivialization (proj : Z → B) extends LocalHomeomorph Z (B × F) where
+structure Trivialization (proj : Z → B) extends PartialHomeomorph Z (B × F) where
   baseSet : Set B
   open_baseSet : IsOpen base_set
   source_eq : source = proj ⁻¹' base_set
@@ -400,7 +400,7 @@ theorem toPretrivialization_injective :
 
 #print Trivialization.coe_coe /-
 @[simp, mfld_simps]
-theorem coe_coe : ⇑e.toLocalHomeomorph = e :=
+theorem coe_coe : ⇑e.toPartialHomeomorph = e :=
   rfl
 #align trivialization.coe_coe Trivialization.coe_coe
 -/
@@ -443,13 +443,13 @@ theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
 #print Trivialization.source_inter_preimage_target_inter /-
 theorem source_inter_preimage_target_inter (s : Set (B × F)) :
     e.source ∩ e ⁻¹' (e.target ∩ s) = e.source ∩ e ⁻¹' s :=
-  e.toLocalHomeomorph.source_inter_preimage_target_inter s
+  e.toPartialHomeomorph.source_inter_preimage_target_inter s
 #align trivialization.source_inter_preimage_target_inter Trivialization.source_inter_preimage_target_inter
 -/
 
 #print Trivialization.coe_mk /-
 @[simp, mfld_simps]
-theorem coe_mk (e : LocalHomeomorph Z (B × F)) (i j k l m) (x : Z) :
+theorem coe_mk (e : PartialHomeomorph Z (B × F)) (i j k l m) (x : Z) :
     (Trivialization.mk e i j k l m : Trivialization F proj) x = e x :=
   rfl
 #align trivialization.coe_mk Trivialization.coe_mk
@@ -462,20 +462,21 @@ theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet :=
 -/
 
 #print Trivialization.map_target /-
-theorem map_target {x : B × F} (hx : x ∈ e.target) : e.toLocalHomeomorph.symm x ∈ e.source :=
-  e.toLocalHomeomorph.map_target hx
+theorem map_target {x : B × F} (hx : x ∈ e.target) : e.toPartialHomeomorph.symm x ∈ e.source :=
+  e.toPartialHomeomorph.map_target hx
 #align trivialization.map_target Trivialization.map_target
 -/
 
 #print Trivialization.proj_symm_apply /-
-theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalHomeomorph.symm x) = x.1 :=
+theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) :
+    proj (e.toPartialHomeomorph.symm x) = x.1 :=
   e.toPretrivialization.proj_symm_apply hx
 #align trivialization.proj_symm_apply Trivialization.proj_symm_apply
 -/
 
 #print Trivialization.proj_symm_apply' /-
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
-    proj (e.toLocalHomeomorph.symm (b, x)) = b :=
+    proj (e.toPartialHomeomorph.symm (b, x)) = b :=
   e.toPretrivialization.proj_symm_apply' hx
 #align trivialization.proj_symm_apply' Trivialization.proj_symm_apply'
 -/
@@ -487,21 +488,21 @@ theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet :=
 -/
 
 #print Trivialization.apply_symm_apply /-
-theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalHomeomorph.symm x) = x :=
-  e.toLocalHomeomorph.right_inv hx
+theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toPartialHomeomorph.symm x) = x :=
+  e.toPartialHomeomorph.right_inv hx
 #align trivialization.apply_symm_apply Trivialization.apply_symm_apply
 -/
 
 #print Trivialization.apply_symm_apply' /-
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
-    e (e.toLocalHomeomorph.symm (b, x)) = (b, x) :=
+    e (e.toPartialHomeomorph.symm (b, x)) = (b, x) :=
   e.toPretrivialization.apply_symm_apply' hx
 #align trivialization.apply_symm_apply' Trivialization.apply_symm_apply'
 -/
 
 #print Trivialization.symm_apply_mk_proj /-
 @[simp, mfld_simps]
-theorem symm_apply_mk_proj (ex : x ∈ e.source) : e.toLocalHomeomorph.symm (proj x, (e x).2) = x :=
+theorem symm_apply_mk_proj (ex : x ∈ e.source) : e.toPartialHomeomorph.symm (proj x, (e x).2) = x :=
   e.toPretrivialization.symm_apply_mk_proj ex
 #align trivialization.symm_apply_mk_proj Trivialization.symm_apply_mk_proj
 -/
@@ -563,7 +564,7 @@ theorem image_preimage_eq_prod_univ {s : Set B} (hb : s ⊆ e.baseSet) :
 #print Trivialization.preimageHomeomorph /-
 /-- The preimage of a subset of the base set is homeomorphic to the product with the fiber. -/
 def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ s × F :=
-  (e.toLocalHomeomorph.homeomorphOfImageSubsetSource (e.preimage_subset_source hb)
+  (e.toPartialHomeomorph.homeomorphOfImageSubsetSource (e.preimage_subset_source hb)
         (e.image_preimage_eq_prod_univ hb)).trans
     ((Homeomorph.Set.prod s univ).trans ((Homeomorph.refl s).prodCongr (Homeomorph.Set.univ F)))
 #align trivialization.preimage_homeomorph Trivialization.preimageHomeomorph
@@ -647,7 +648,7 @@ theorem continuousAt_proj (ex : x ∈ e.source) : ContinuousAt proj x :=
 protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ Z) :
     Trivialization F (proj ∘ h)
     where
-  toLocalHomeomorph := h.toLocalHomeomorph.trans e.toLocalHomeomorph
+  toPartialHomeomorph := h.toPartialHomeomorph.trans e.toPartialHomeomorph
   baseSet := e.baseSet
   open_baseSet := e.open_baseSet
   source_eq := by simp [e.source_eq, preimage_preimage]
@@ -670,7 +671,7 @@ theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z →
     rw [LocalEquiv.symm_target, e.mem_source]
     exact he
   rwa [e.to_local_homeomorph.symm.continuous_at_iff_continuous_at_comp_right hez,
-    LocalHomeomorph.symm_symm]
+    PartialHomeomorph.symm_symm]
 #align trivialization.continuous_at_of_comp_right Trivialization.continuousAt_of_comp_right
 -/
 
@@ -723,7 +724,7 @@ theorem mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.baseSet :=
 
 #print Trivialization.symm_apply_apply /-
 theorem symm_apply_apply {x : TotalSpace F E} (hx : x ∈ e'.source) :
-    e'.toLocalHomeomorph.symm (e' x) = x :=
+    e'.toPartialHomeomorph.symm (e' x) = x :=
   e'.toLocalEquiv.left_inv hx
 #align trivialization.symm_apply_apply Trivialization.symm_apply_apply
 -/
@@ -731,7 +732,7 @@ theorem symm_apply_apply {x : TotalSpace F E} (hx : x ∈ e'.source) :
 #print Trivialization.symm_coe_proj /-
 @[simp, mfld_simps]
 theorem symm_coe_proj {x : B} {y : F} (e : Trivialization F (π F E)) (h : x ∈ e.baseSet) :
-    (e.toLocalHomeomorph.symm (x, y)).1 = x :=
+    (e.toPartialHomeomorph.symm (x, y)).1 = x :=
   e.proj_symm_apply' h
 #align trivialization.symm_coe_proj Trivialization.symm_coe_proj
 -/
@@ -751,7 +752,7 @@ protected noncomputable def symm (e : Trivialization F (π F E)) (b : B) (y : F)
 
 #print Trivialization.symm_apply /-
 theorem symm_apply (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalHomeomorph.symm (b, y)).2 :=
+    e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toPartialHomeomorph.symm (b, y)).2 :=
   dif_pos hb
 #align trivialization.symm_apply Trivialization.symm_apply
 -/
@@ -765,7 +766,7 @@ theorem symm_apply_of_not_mem (e : Trivialization F (π F E)) {b : B} (hb : b 
 
 #print Trivialization.mk_symm /-
 theorem mk_symm (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    TotalSpace.mk b (e.symm b y) = e.toLocalHomeomorph.symm (b, y) :=
+    TotalSpace.mk b (e.symm b y) = e.toPartialHomeomorph.symm (b, y) :=
   e.toPretrivialization.mk_symm hb y
 #align trivialization.mk_symm Trivialization.mk_symm
 -/
@@ -816,7 +817,7 @@ that sends `p : Z` to `((e p).1, h (e p).2)`. -/
 def transFiberHomeomorph {F' : Type _} [TopologicalSpace F'] (e : Trivialization F proj)
     (h : F ≃ₜ F') : Trivialization F' proj
     where
-  toLocalHomeomorph := e.toLocalHomeomorph.transHomeomorph <| (Homeomorph.refl _).prodCongr h
+  toPartialHomeomorph := e.toPartialHomeomorph.transHomeomorph <| (Homeomorph.refl _).prodCongr h
   baseSet := e.baseSet
   open_baseSet := e.open_baseSet
   source_eq := e.source_eq
@@ -837,14 +838,14 @@ theorem transFiberHomeomorph_apply {F' : Type _} [TopologicalSpace F'] (e : Triv
 /-- Coordinate transformation in the fiber induced by a pair of bundle trivializations. See also
 `trivialization.coord_change_homeomorph` for a version bundled as `F ≃ₜ F`. -/
 def coordChange (e₁ e₂ : Trivialization F proj) (b : B) (x : F) : F :=
-  (e₂ <| e₁.toLocalHomeomorph.symm (b, x)).2
+  (e₂ <| e₁.toPartialHomeomorph.symm (b, x)).2
 #align trivialization.coord_change Trivialization.coordChange
 -/
 
 #print Trivialization.mk_coordChange /-
 theorem mk_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) (x : F) :
-    (b, e₁.coordChange e₂ b x) = e₂ (e₁.toLocalHomeomorph.symm (b, x)) :=
+    (b, e₁.coordChange e₂ b x) = e₂ (e₁.toPartialHomeomorph.symm (b, x)) :=
   by
   refine' Prod.ext _ rfl
   rw [e₂.coe_fst', ← e₁.coe_fst', e₁.apply_symm_apply' h₁]
@@ -927,7 +928,7 @@ variable {F} {B' : Type _} [TopologicalSpace B']
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print Trivialization.isImage_preimage_prod /-
 theorem isImage_preimage_prod (e : Trivialization F proj) (s : Set B) :
-    e.toLocalHomeomorph.IsImage (proj ⁻¹' s) (s ×ˢ univ) := fun x hx => by simp [e.coe_fst', hx]
+    e.toPartialHomeomorph.IsImage (proj ⁻¹' s) (s ×ˢ univ) := fun x hx => by simp [e.coe_fst', hx]
 #align trivialization.is_image_preimage_prod Trivialization.isImage_preimage_prod
 -/
 
@@ -936,7 +937,7 @@ theorem isImage_preimage_prod (e : Trivialization F proj) (s : Set B) :
 protected def restrOpen (e : Trivialization F proj) (s : Set B) (hs : IsOpen s) :
     Trivialization F proj
     where
-  toLocalHomeomorph :=
+  toPartialHomeomorph :=
     ((e.isImage_preimage_prod s).symm.restr (IsOpen.inter e.open_target (hs.Prod isOpen_univ))).symm
   baseSet := e.baseSet ∩ s
   open_baseSet := IsOpen.inter e.open_baseSet hs
@@ -967,8 +968,8 @@ noncomputable def piecewise (e e' : Trivialization F proj) (s : Set B)
     (Hs : e.baseSet ∩ frontier s = e'.baseSet ∩ frontier s)
     (Heq : EqOn e e' <| proj ⁻¹' (e.baseSet ∩ frontier s)) : Trivialization F proj
     where
-  toLocalHomeomorph :=
-    e.toLocalHomeomorph.piecewise e'.toLocalHomeomorph (proj ⁻¹' s) (s ×ˢ univ)
+  toPartialHomeomorph :=
+    e.toPartialHomeomorph.piecewise e'.toPartialHomeomorph (proj ⁻¹' s) (s ×ˢ univ)
       (e.isImage_preimage_prod s) (e'.isImage_preimage_prod s)
       (by rw [e.frontier_preimage, e'.frontier_preimage, Hs]) (by rwa [e.frontier_preimage])
   baseSet := s.ite e.baseSet e'.baseSet
@@ -1021,8 +1022,8 @@ base sets. -/
 noncomputable def disjointUnion (e e' : Trivialization F proj) (H : Disjoint e.baseSet e'.baseSet) :
     Trivialization F proj
     where
-  toLocalHomeomorph :=
-    e.toLocalHomeomorph.disjointUnion e'.toLocalHomeomorph
+  toPartialHomeomorph :=
+    e.toPartialHomeomorph.disjointUnion e'.toPartialHomeomorph
       (by rw [e.source_eq, e'.source_eq]; exact H.preimage _)
       (by
         rw [e.target_eq, e'.target_eq, disjoint_iff_inf_le]
Diff
@@ -3,9 +3,9 @@ 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
 -/
-import Mathbin.Data.Bundle
-import Mathbin.Topology.Algebra.Order.Field
-import Mathbin.Topology.LocalHomeomorph
+import Data.Bundle
+import Topology.Algebra.Order.Field
+import Topology.LocalHomeomorph
 
 #align_import topology.fiber_bundle.trivialization from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
 
Diff
@@ -2,16 +2,13 @@
 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
-
-! This file was ported from Lean 3 source module topology.fiber_bundle.trivialization
-! 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.Data.Bundle
 import Mathbin.Topology.Algebra.Order.Field
 import Mathbin.Topology.LocalHomeomorph
 
+#align_import topology.fiber_bundle.trivialization from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
+
 /-!
 # Trivializations
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.trivialization
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
+! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -260,9 +260,10 @@ theorem symm_trans_target_eq (e e' : Pretrivialization F proj) :
 #align pretrivialization.symm_trans_target_eq Pretrivialization.symm_trans_target_eq
 -/
 
-variable {B F} (e' : Pretrivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
+variable {B F} (e' : Pretrivialization F (π F E)) {x' : TotalSpace F E} {b : B} {y : E b}
 
 #print Pretrivialization.coe_mem_source /-
+@[simp]
 theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
   e'.mem_source
 #align pretrivialization.coe_mem_source Pretrivialization.coe_mem_source
@@ -282,7 +283,7 @@ theorem mk_mem_target {x : B} {y : F} : (x, y) ∈ e'.target ↔ x ∈ e'.baseSe
 -/
 
 #print Pretrivialization.symm_coe_proj /-
-theorem symm_coe_proj {x : B} {y : F} (e' : Pretrivialization F (π E)) (h : x ∈ e'.baseSet) :
+theorem symm_coe_proj {x : B} {y : F} (e' : Pretrivialization F (π F E)) (h : x ∈ e'.baseSet) :
     (e'.toLocalEquiv.symm (x, y)).1 = x :=
   e'.proj_symm_apply' h
 #align pretrivialization.symm_coe_proj Pretrivialization.symm_coe_proj
@@ -294,8 +295,8 @@ variable [∀ x, Zero (E x)]
 
 #print Pretrivialization.symm /-
 /-- A fiberwise inverse to `e`. This is the function `F → E b` that induces a local inverse
-`B × F → total_space E` of `e` on `e.base_set`. It is defined to be `0` outside `e.base_set`. -/
-protected noncomputable def symm (e : Pretrivialization F (π E)) (b : B) (y : F) : E b :=
+`B × F → total_space F E` of `e` on `e.base_set`. It is defined to be `0` outside `e.base_set`. -/
+protected noncomputable def symm (e : Pretrivialization F (π F E)) (b : B) (y : F) : E b :=
   if hb : b ∈ e.baseSet then
     cast (congr_arg E (e.proj_symm_apply' hb)) (e.toLocalEquiv.symm (b, y)).2
   else 0
@@ -303,51 +304,50 @@ protected noncomputable def symm (e : Pretrivialization F (π E)) (b : B) (y : F
 -/
 
 #print Pretrivialization.symm_apply /-
-theorem symm_apply (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+theorem symm_apply (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalEquiv.symm (b, y)).2 :=
   dif_pos hb
 #align pretrivialization.symm_apply Pretrivialization.symm_apply
 -/
 
 #print Pretrivialization.symm_apply_of_not_mem /-
-theorem symm_apply_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
-    e.symm b y = 0 :=
+theorem symm_apply_of_not_mem (e : Pretrivialization F (π F E)) {b : B} (hb : b ∉ e.baseSet)
+    (y : F) : e.symm b y = 0 :=
   dif_neg hb
 #align pretrivialization.symm_apply_of_not_mem Pretrivialization.symm_apply_of_not_mem
 -/
 
 #print Pretrivialization.coe_symm_of_not_mem /-
-theorem coe_symm_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) :
+theorem coe_symm_of_not_mem (e : Pretrivialization F (π F E)) {b : B} (hb : b ∉ e.baseSet) :
     (e.symm b : F → E b) = 0 :=
   funext fun y => dif_neg hb
 #align pretrivialization.coe_symm_of_not_mem Pretrivialization.coe_symm_of_not_mem
 -/
 
 #print Pretrivialization.mk_symm /-
-theorem mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    totalSpaceMk b (e.symm b y) = e.toLocalEquiv.symm (b, y) := by
+theorem mk_symm (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+    TotalSpace.mk b (e.symm b y) = e.toLocalEquiv.symm (b, y) := by
   rw [e.symm_apply hb, total_space.mk_cast, total_space.eta]
 #align pretrivialization.mk_symm Pretrivialization.mk_symm
 -/
 
 #print Pretrivialization.symm_proj_apply /-
-theorem symm_proj_apply (e : Pretrivialization F (π E)) (z : TotalSpace E)
+theorem symm_proj_apply (e : Pretrivialization F (π F E)) (z : TotalSpace F E)
     (hz : z.proj ∈ e.baseSet) : e.symm z.proj (e z).2 = z.2 := by
   rw [e.symm_apply hz, cast_eq_iff_heq, e.mk_proj_snd' hz, e.symm_apply_apply (e.mem_source.mpr hz)]
 #align pretrivialization.symm_proj_apply Pretrivialization.symm_proj_apply
 -/
 
 #print Pretrivialization.symm_apply_apply_mk /-
-theorem symm_apply_apply_mk (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
-    e.symm b (e (totalSpaceMk b y)).2 = y :=
-  e.symm_proj_apply (totalSpaceMk b y) hb
+theorem symm_apply_apply_mk (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet)
+    (y : E b) : e.symm b (e ⟨b, y⟩).2 = y :=
+  e.symm_proj_apply ⟨b, y⟩ hb
 #align pretrivialization.symm_apply_apply_mk Pretrivialization.symm_apply_apply_mk
 -/
 
 #print Pretrivialization.apply_mk_symm /-
-theorem apply_mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    e (totalSpaceMk b (e.symm b y)) = (b, y) := by
-  rw [e.mk_symm hb, e.apply_symm_apply (e.mk_mem_target.mpr hb)]
+theorem apply_mk_symm (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+    e ⟨b, e.symm b y⟩ = (b, y) := by rw [e.mk_symm hb, e.apply_symm_apply (e.mk_mem_target.mpr hb)]
 #align pretrivialization.apply_mk_symm Pretrivialization.apply_mk_symm
 -/
 
@@ -355,7 +355,7 @@ end Zero
 
 end Pretrivialization
 
-variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace E)]
+variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace F E)]
 
 #print Trivialization /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -691,7 +691,7 @@ theorem continuousAt_of_comp_left {X : Type _} [TopologicalSpace X] {f : X → Z
 #align trivialization.continuous_at_of_comp_left Trivialization.continuousAt_of_comp_left
 -/
 
-variable {E} (e' : Trivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
+variable {E} (e' : Trivialization F (π F E)) {x' : TotalSpace F E} {b : B} {y : E b}
 
 #print Trivialization.continuousOn /-
 protected theorem continuousOn : ContinuousOn e' e'.source :=
@@ -725,7 +725,7 @@ theorem mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.baseSet :=
 -/
 
 #print Trivialization.symm_apply_apply /-
-theorem symm_apply_apply {x : TotalSpace E} (hx : x ∈ e'.source) :
+theorem symm_apply_apply {x : TotalSpace F E} (hx : x ∈ e'.source) :
     e'.toLocalHomeomorph.symm (e' x) = x :=
   e'.toLocalEquiv.left_inv hx
 #align trivialization.symm_apply_apply Trivialization.symm_apply_apply
@@ -733,7 +733,7 @@ theorem symm_apply_apply {x : TotalSpace E} (hx : x ∈ e'.source) :
 
 #print Trivialization.symm_coe_proj /-
 @[simp, mfld_simps]
-theorem symm_coe_proj {x : B} {y : F} (e : Trivialization F (π E)) (h : x ∈ e.baseSet) :
+theorem symm_coe_proj {x : B} {y : F} (e : Trivialization F (π F E)) (h : x ∈ e.baseSet) :
     (e.toLocalHomeomorph.symm (x, y)).1 = x :=
   e.proj_symm_apply' h
 #align trivialization.symm_coe_proj Trivialization.symm_coe_proj
@@ -745,50 +745,51 @@ variable [∀ x, Zero (E x)]
 
 #print Trivialization.symm /-
 /-- A fiberwise inverse to `e'`. The function `F → E x` that induces a local inverse
-`B × F → total_space E` of `e'` on `e'.base_set`. It is defined to be `0` outside `e'.base_set`. -/
-protected noncomputable def symm (e : Trivialization F (π E)) (b : B) (y : F) : E b :=
+`B × F → total_space F E` of `e'` on `e'.base_set`. It is defined to be `0` outside
+`e'.base_set`. -/
+protected noncomputable def symm (e : Trivialization F (π F E)) (b : B) (y : F) : E b :=
   e.toPretrivialization.symm b y
 #align trivialization.symm Trivialization.symm
 -/
 
 #print Trivialization.symm_apply /-
-theorem symm_apply (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+theorem symm_apply (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalHomeomorph.symm (b, y)).2 :=
   dif_pos hb
 #align trivialization.symm_apply Trivialization.symm_apply
 -/
 
 #print Trivialization.symm_apply_of_not_mem /-
-theorem symm_apply_of_not_mem (e : Trivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
+theorem symm_apply_of_not_mem (e : Trivialization F (π F E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
     e.symm b y = 0 :=
   dif_neg hb
 #align trivialization.symm_apply_of_not_mem Trivialization.symm_apply_of_not_mem
 -/
 
 #print Trivialization.mk_symm /-
-theorem mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    totalSpaceMk b (e.symm b y) = e.toLocalHomeomorph.symm (b, y) :=
+theorem mk_symm (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+    TotalSpace.mk b (e.symm b y) = e.toLocalHomeomorph.symm (b, y) :=
   e.toPretrivialization.mk_symm hb y
 #align trivialization.mk_symm Trivialization.mk_symm
 -/
 
 #print Trivialization.symm_proj_apply /-
-theorem symm_proj_apply (e : Trivialization F (π E)) (z : TotalSpace E) (hz : z.proj ∈ e.baseSet) :
-    e.symm z.proj (e z).2 = z.2 :=
+theorem symm_proj_apply (e : Trivialization F (π F E)) (z : TotalSpace F E)
+    (hz : z.proj ∈ e.baseSet) : e.symm z.proj (e z).2 = z.2 :=
   e.toPretrivialization.symm_proj_apply z hz
 #align trivialization.symm_proj_apply Trivialization.symm_proj_apply
 -/
 
 #print Trivialization.symm_apply_apply_mk /-
-theorem symm_apply_apply_mk (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
-    e.symm b (e (totalSpaceMk b y)).2 = y :=
-  e.symm_proj_apply (totalSpaceMk b y) hb
+theorem symm_apply_apply_mk (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
+    e.symm b (e ⟨b, y⟩).2 = y :=
+  e.symm_proj_apply ⟨b, y⟩ hb
 #align trivialization.symm_apply_apply_mk Trivialization.symm_apply_apply_mk
 -/
 
 #print Trivialization.apply_mk_symm /-
-theorem apply_mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    e (totalSpaceMk b (e.symm b y)) = (b, y) :=
+theorem apply_mk_symm (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+    e ⟨b, e.symm b y⟩ = (b, y) :=
   e.toPretrivialization.apply_mk_symm hb y
 #align trivialization.apply_mk_symm Trivialization.apply_mk_symm
 -/
@@ -796,12 +797,12 @@ theorem apply_mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSe
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 #print Trivialization.continuousOn_symm /-
-theorem continuousOn_symm (e : Trivialization F (π E)) :
-    ContinuousOn (fun z : B × F => totalSpaceMk z.1 (e.symm z.1 z.2)) (e.baseSet ×ˢ univ) :=
+theorem continuousOn_symm (e : Trivialization F (π F E)) :
+    ContinuousOn (fun z : B × F => (total_space.mk' F) z.1 (e.symm z.1 z.2)) (e.baseSet ×ˢ univ) :=
   by
   have :
     ∀ (z : B × F) (hz : z ∈ e.base_set ×ˢ (univ : Set F)),
-      total_space_mk z.1 (e.symm z.1 z.2) = e.to_local_homeomorph.symm z :=
+      total_space.mk z.1 (e.symm z.1 z.2) = e.to_local_homeomorph.symm z :=
     by rintro x ⟨hx : x.1 ∈ e.base_set, _⟩; simp_rw [e.mk_symm hx, Prod.mk.eta]
   refine' ContinuousOn.congr _ this
   rw [← e.target_eq]
Diff
@@ -89,33 +89,47 @@ instance : CoeFun (Pretrivialization F proj) fun _ => Z → B × F :=
 
 variable {F} (e : Pretrivialization F proj) {x : Z}
 
+#print Pretrivialization.coe_coe /-
 @[simp, mfld_simps]
 theorem coe_coe : ⇑e.toLocalEquiv = e :=
   rfl
 #align pretrivialization.coe_coe Pretrivialization.coe_coe
+-/
 
+#print Pretrivialization.coe_fst /-
 @[simp, mfld_simps]
 theorem coe_fst (ex : x ∈ e.source) : (e x).1 = proj x :=
   e.proj_toFun x ex
 #align pretrivialization.coe_fst Pretrivialization.coe_fst
+-/
 
+#print Pretrivialization.mem_source /-
 theorem mem_source : x ∈ e.source ↔ proj x ∈ e.baseSet := by rw [e.source_eq, mem_preimage]
 #align pretrivialization.mem_source Pretrivialization.mem_source
+-/
 
+#print Pretrivialization.coe_fst' /-
 theorem coe_fst' (ex : proj x ∈ e.baseSet) : (e x).1 = proj x :=
   e.coe_fst (e.mem_source.2 ex)
 #align pretrivialization.coe_fst' Pretrivialization.coe_fst'
+-/
 
+#print Pretrivialization.eqOn /-
 protected theorem eqOn : EqOn (Prod.fst ∘ e) proj e.source := fun x hx => e.coe_fst hx
 #align pretrivialization.eq_on Pretrivialization.eqOn
+-/
 
+#print Pretrivialization.mk_proj_snd /-
 theorem mk_proj_snd (ex : x ∈ e.source) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst ex).symm rfl
 #align pretrivialization.mk_proj_snd Pretrivialization.mk_proj_snd
+-/
 
+#print Pretrivialization.mk_proj_snd' /-
 theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst' ex).symm rfl
 #align pretrivialization.mk_proj_snd' Pretrivialization.mk_proj_snd'
+-/
 
 #print Pretrivialization.setSymm /-
 /-- Composition of inverse and coercion from the subtype of the target. -/
@@ -124,46 +138,63 @@ def setSymm : e.target → Z :=
 #align pretrivialization.set_symm Pretrivialization.setSymm
 -/
 
+#print Pretrivialization.mem_target /-
 theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet := by
   rw [e.target_eq, prod_univ, mem_preimage]
 #align pretrivialization.mem_target Pretrivialization.mem_target
+-/
 
+#print Pretrivialization.proj_symm_apply /-
 theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalEquiv.symm x) = x.1 :=
   by
   have := (e.coe_fst (e.to_local_equiv.map_target hx)).symm
   rwa [← e.coe_coe, e.to_local_equiv.right_inv hx] at this 
 #align pretrivialization.proj_symm_apply Pretrivialization.proj_symm_apply
+-/
 
+#print Pretrivialization.proj_symm_apply' /-
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     proj (e.toLocalEquiv.symm (b, x)) = b :=
   e.proj_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.proj_symm_apply' Pretrivialization.proj_symm_apply'
+-/
 
+#print Pretrivialization.proj_surjOn_baseSet /-
 theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet := fun b hb =>
   let ⟨y⟩ := ‹Nonempty F›
   ⟨e.toLocalEquiv.symm (b, y), e.toLocalEquiv.map_target <| e.mem_target.2 hb,
     e.proj_symm_apply' hb⟩
 #align pretrivialization.proj_surj_on_base_set Pretrivialization.proj_surjOn_baseSet
+-/
 
+#print Pretrivialization.apply_symm_apply /-
 theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalEquiv.symm x) = x :=
   e.toLocalEquiv.right_inv hx
 #align pretrivialization.apply_symm_apply Pretrivialization.apply_symm_apply
+-/
 
+#print Pretrivialization.apply_symm_apply' /-
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     e (e.toLocalEquiv.symm (b, x)) = (b, x) :=
   e.apply_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.apply_symm_apply' Pretrivialization.apply_symm_apply'
+-/
 
+#print Pretrivialization.symm_apply_apply /-
 theorem symm_apply_apply {x : Z} (hx : x ∈ e.source) : e.toLocalEquiv.symm (e x) = x :=
   e.toLocalEquiv.left_inv hx
 #align pretrivialization.symm_apply_apply Pretrivialization.symm_apply_apply
+-/
 
+#print Pretrivialization.symm_apply_mk_proj /-
 @[simp, mfld_simps]
 theorem symm_apply_mk_proj {x : Z} (ex : x ∈ e.source) :
     e.toLocalEquiv.symm (proj x, (e x).2) = x := by
   rw [← e.coe_fst ex, Prod.mk.eta, ← e.coe_coe, e.to_local_equiv.left_inv ex]
 #align pretrivialization.symm_apply_mk_proj Pretrivialization.symm_apply_mk_proj
+-/
 
+#print Pretrivialization.preimage_symm_proj_baseSet /-
 @[simp, mfld_simps]
 theorem preimage_symm_proj_baseSet :
     e.toLocalEquiv.symm ⁻¹' (proj ⁻¹' e.baseSet) ∩ e.target = e.target :=
@@ -172,9 +203,11 @@ theorem preimage_symm_proj_baseSet :
   simp only [mem_preimage, LocalEquiv.invFun_as_coe, e.proj_symm_apply hx]
   exact e.mem_target.mp hx
 #align pretrivialization.preimage_symm_proj_base_set Pretrivialization.preimage_symm_proj_baseSet
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Pretrivialization.preimage_symm_proj_inter /-
 @[simp, mfld_simps]
 theorem preimage_symm_proj_inter (s : Set B) :
     e.toLocalEquiv.symm ⁻¹' (proj ⁻¹' s) ∩ e.baseSet ×ˢ univ = (s ∩ e.baseSet) ×ˢ univ :=
@@ -185,56 +218,75 @@ theorem preimage_symm_proj_inter (s : Set B) :
   intro h
   rw [e.proj_symm_apply' h]
 #align pretrivialization.preimage_symm_proj_inter Pretrivialization.preimage_symm_proj_inter
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Pretrivialization.target_inter_preimage_symm_source_eq /-
 theorem target_inter_preimage_symm_source_eq (e f : Pretrivialization F proj) :
     f.target ∩ f.toLocalEquiv.symm ⁻¹' e.source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
   rw [inter_comm, f.target_eq, e.source_eq, f.preimage_symm_proj_inter]
 #align pretrivialization.target_inter_preimage_symm_source_eq Pretrivialization.target_inter_preimage_symm_source_eq
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Pretrivialization.trans_source /-
 theorem trans_source (e f : Pretrivialization F proj) :
     (f.toLocalEquiv.symm.trans e.toLocalEquiv).source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
   rw [LocalEquiv.trans_source, LocalEquiv.symm_source, e.target_inter_preimage_symm_source_eq]
 #align pretrivialization.trans_source Pretrivialization.trans_source
+-/
 
+#print Pretrivialization.symm_trans_symm /-
 theorem symm_trans_symm (e e' : Pretrivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).symm = e'.toLocalEquiv.symm.trans e.toLocalEquiv :=
   by rw [LocalEquiv.trans_symm_eq_symm_trans_symm, LocalEquiv.symm_symm]
 #align pretrivialization.symm_trans_symm Pretrivialization.symm_trans_symm
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Pretrivialization.symm_trans_source_eq /-
 theorem symm_trans_source_eq (e e' : Pretrivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
   rw [LocalEquiv.trans_source, e'.source_eq, LocalEquiv.symm_source, e.target_eq, inter_comm,
     e.preimage_symm_proj_inter, inter_comm]
 #align pretrivialization.symm_trans_source_eq Pretrivialization.symm_trans_source_eq
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Pretrivialization.symm_trans_target_eq /-
 theorem symm_trans_target_eq (e e' : Pretrivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
   rw [← LocalEquiv.symm_source, symm_trans_symm, symm_trans_source_eq, inter_comm]
 #align pretrivialization.symm_trans_target_eq Pretrivialization.symm_trans_target_eq
+-/
 
 variable {B F} (e' : Pretrivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
 
+#print Pretrivialization.coe_mem_source /-
 theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
   e'.mem_source
 #align pretrivialization.coe_mem_source Pretrivialization.coe_mem_source
+-/
 
+#print Pretrivialization.coe_coe_fst /-
 @[simp, mfld_simps]
 theorem coe_coe_fst (hb : b ∈ e'.baseSet) : (e' y).1 = b :=
   e'.coe_fst (e'.mem_source.2 hb)
 #align pretrivialization.coe_coe_fst Pretrivialization.coe_coe_fst
+-/
 
+#print Pretrivialization.mk_mem_target /-
 theorem mk_mem_target {x : B} {y : F} : (x, y) ∈ e'.target ↔ x ∈ e'.baseSet :=
   e'.mem_target
 #align pretrivialization.mk_mem_target Pretrivialization.mk_mem_target
+-/
 
+#print Pretrivialization.symm_coe_proj /-
 theorem symm_coe_proj {x : B} {y : F} (e' : Pretrivialization F (π E)) (h : x ∈ e'.baseSet) :
     (e'.toLocalEquiv.symm (x, y)).1 = x :=
   e'.proj_symm_apply' h
 #align pretrivialization.symm_coe_proj Pretrivialization.symm_coe_proj
+-/
 
 section Zero
 
@@ -250,40 +302,54 @@ protected noncomputable def symm (e : Pretrivialization F (π E)) (b : B) (y : F
 #align pretrivialization.symm Pretrivialization.symm
 -/
 
+#print Pretrivialization.symm_apply /-
 theorem symm_apply (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalEquiv.symm (b, y)).2 :=
   dif_pos hb
 #align pretrivialization.symm_apply Pretrivialization.symm_apply
+-/
 
+#print Pretrivialization.symm_apply_of_not_mem /-
 theorem symm_apply_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
     e.symm b y = 0 :=
   dif_neg hb
 #align pretrivialization.symm_apply_of_not_mem Pretrivialization.symm_apply_of_not_mem
+-/
 
+#print Pretrivialization.coe_symm_of_not_mem /-
 theorem coe_symm_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) :
     (e.symm b : F → E b) = 0 :=
   funext fun y => dif_neg hb
 #align pretrivialization.coe_symm_of_not_mem Pretrivialization.coe_symm_of_not_mem
+-/
 
+#print Pretrivialization.mk_symm /-
 theorem mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     totalSpaceMk b (e.symm b y) = e.toLocalEquiv.symm (b, y) := by
   rw [e.symm_apply hb, total_space.mk_cast, total_space.eta]
 #align pretrivialization.mk_symm Pretrivialization.mk_symm
+-/
 
+#print Pretrivialization.symm_proj_apply /-
 theorem symm_proj_apply (e : Pretrivialization F (π E)) (z : TotalSpace E)
     (hz : z.proj ∈ e.baseSet) : e.symm z.proj (e z).2 = z.2 := by
   rw [e.symm_apply hz, cast_eq_iff_heq, e.mk_proj_snd' hz, e.symm_apply_apply (e.mem_source.mpr hz)]
 #align pretrivialization.symm_proj_apply Pretrivialization.symm_proj_apply
+-/
 
+#print Pretrivialization.symm_apply_apply_mk /-
 theorem symm_apply_apply_mk (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
     e.symm b (e (totalSpaceMk b y)).2 = y :=
   e.symm_proj_apply (totalSpaceMk b y) hb
 #align pretrivialization.symm_apply_apply_mk Pretrivialization.symm_apply_apply_mk
+-/
 
+#print Pretrivialization.apply_mk_symm /-
 theorem apply_mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e (totalSpaceMk b (e.symm b y)) = (b, y) := by
   rw [e.mk_symm hb, e.apply_symm_apply (e.mk_mem_target.mpr hb)]
 #align pretrivialization.apply_mk_symm Pretrivialization.apply_mk_symm
+-/
 
 end Zero
 
@@ -324,6 +390,7 @@ instance : CoeFun (Trivialization F proj) fun _ => Z → B × F :=
 instance : Coe (Trivialization F proj) (Pretrivialization F proj) :=
   ⟨toPretrivialization⟩
 
+#print Trivialization.toPretrivialization_injective /-
 theorem toPretrivialization_injective :
     Function.Injective fun e : Trivialization F proj => e.toPretrivialization :=
   by
@@ -332,111 +399,159 @@ theorem toPretrivialization_injective :
     local_homeomorph.to_local_equiv_injective.eq_iff]
   exact id
 #align trivialization.to_pretrivialization_injective Trivialization.toPretrivialization_injective
+-/
 
+#print Trivialization.coe_coe /-
 @[simp, mfld_simps]
 theorem coe_coe : ⇑e.toLocalHomeomorph = e :=
   rfl
 #align trivialization.coe_coe Trivialization.coe_coe
+-/
 
+#print Trivialization.coe_fst /-
 @[simp, mfld_simps]
 theorem coe_fst (ex : x ∈ e.source) : (e x).1 = proj x :=
   e.proj_toFun x ex
 #align trivialization.coe_fst Trivialization.coe_fst
+-/
 
+#print Trivialization.eqOn /-
 protected theorem eqOn : EqOn (Prod.fst ∘ e) proj e.source := fun x hx => e.coe_fst hx
 #align trivialization.eq_on Trivialization.eqOn
+-/
 
+#print Trivialization.mem_source /-
 theorem mem_source : x ∈ e.source ↔ proj x ∈ e.baseSet := by rw [e.source_eq, mem_preimage]
 #align trivialization.mem_source Trivialization.mem_source
+-/
 
+#print Trivialization.coe_fst' /-
 theorem coe_fst' (ex : proj x ∈ e.baseSet) : (e x).1 = proj x :=
   e.coe_fst (e.mem_source.2 ex)
 #align trivialization.coe_fst' Trivialization.coe_fst'
+-/
 
+#print Trivialization.mk_proj_snd /-
 theorem mk_proj_snd (ex : x ∈ e.source) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst ex).symm rfl
 #align trivialization.mk_proj_snd Trivialization.mk_proj_snd
+-/
 
+#print Trivialization.mk_proj_snd' /-
 theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst' ex).symm rfl
 #align trivialization.mk_proj_snd' Trivialization.mk_proj_snd'
+-/
 
+#print Trivialization.source_inter_preimage_target_inter /-
 theorem source_inter_preimage_target_inter (s : Set (B × F)) :
     e.source ∩ e ⁻¹' (e.target ∩ s) = e.source ∩ e ⁻¹' s :=
   e.toLocalHomeomorph.source_inter_preimage_target_inter s
 #align trivialization.source_inter_preimage_target_inter Trivialization.source_inter_preimage_target_inter
+-/
 
+#print Trivialization.coe_mk /-
 @[simp, mfld_simps]
 theorem coe_mk (e : LocalHomeomorph Z (B × F)) (i j k l m) (x : Z) :
     (Trivialization.mk e i j k l m : Trivialization F proj) x = e x :=
   rfl
 #align trivialization.coe_mk Trivialization.coe_mk
+-/
 
+#print Trivialization.mem_target /-
 theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet :=
   e.toPretrivialization.mem_target
 #align trivialization.mem_target Trivialization.mem_target
+-/
 
+#print Trivialization.map_target /-
 theorem map_target {x : B × F} (hx : x ∈ e.target) : e.toLocalHomeomorph.symm x ∈ e.source :=
   e.toLocalHomeomorph.map_target hx
 #align trivialization.map_target Trivialization.map_target
+-/
 
+#print Trivialization.proj_symm_apply /-
 theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalHomeomorph.symm x) = x.1 :=
   e.toPretrivialization.proj_symm_apply hx
 #align trivialization.proj_symm_apply Trivialization.proj_symm_apply
+-/
 
+#print Trivialization.proj_symm_apply' /-
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     proj (e.toLocalHomeomorph.symm (b, x)) = b :=
   e.toPretrivialization.proj_symm_apply' hx
 #align trivialization.proj_symm_apply' Trivialization.proj_symm_apply'
+-/
 
+#print Trivialization.proj_surjOn_baseSet /-
 theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet :=
   e.toPretrivialization.proj_surjOn_baseSet
 #align trivialization.proj_surj_on_base_set Trivialization.proj_surjOn_baseSet
+-/
 
+#print Trivialization.apply_symm_apply /-
 theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalHomeomorph.symm x) = x :=
   e.toLocalHomeomorph.right_inv hx
 #align trivialization.apply_symm_apply Trivialization.apply_symm_apply
+-/
 
+#print Trivialization.apply_symm_apply' /-
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     e (e.toLocalHomeomorph.symm (b, x)) = (b, x) :=
   e.toPretrivialization.apply_symm_apply' hx
 #align trivialization.apply_symm_apply' Trivialization.apply_symm_apply'
+-/
 
+#print Trivialization.symm_apply_mk_proj /-
 @[simp, mfld_simps]
 theorem symm_apply_mk_proj (ex : x ∈ e.source) : e.toLocalHomeomorph.symm (proj x, (e x).2) = x :=
   e.toPretrivialization.symm_apply_mk_proj ex
 #align trivialization.symm_apply_mk_proj Trivialization.symm_apply_mk_proj
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Trivialization.symm_trans_source_eq /-
 theorem symm_trans_source_eq (e e' : Trivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_source_eq e.toPretrivialization e'
 #align trivialization.symm_trans_source_eq Trivialization.symm_trans_source_eq
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Trivialization.symm_trans_target_eq /-
 theorem symm_trans_target_eq (e e' : Trivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_target_eq e.toPretrivialization e'
 #align trivialization.symm_trans_target_eq Trivialization.symm_trans_target_eq
+-/
 
+#print Trivialization.coe_fst_eventuallyEq_proj /-
 theorem coe_fst_eventuallyEq_proj (ex : x ∈ e.source) : Prod.fst ∘ e =ᶠ[𝓝 x] proj :=
   mem_nhds_iff.2 ⟨e.source, fun y hy => e.coe_fst hy, e.open_source, ex⟩
 #align trivialization.coe_fst_eventually_eq_proj Trivialization.coe_fst_eventuallyEq_proj
+-/
 
+#print Trivialization.coe_fst_eventuallyEq_proj' /-
 theorem coe_fst_eventuallyEq_proj' (ex : proj x ∈ e.baseSet) : Prod.fst ∘ e =ᶠ[𝓝 x] proj :=
   e.coe_fst_eventuallyEq_proj (e.mem_source.2 ex)
 #align trivialization.coe_fst_eventually_eq_proj' Trivialization.coe_fst_eventuallyEq_proj'
+-/
 
+#print Trivialization.map_proj_nhds /-
 theorem map_proj_nhds (ex : x ∈ e.source) : map proj (𝓝 x) = 𝓝 (proj x) := by
   rw [← e.coe_fst ex, ← map_congr (e.coe_fst_eventually_eq_proj ex), ← map_map, ← e.coe_coe,
     e.to_local_homeomorph.map_nhds_eq ex, map_fst_nhds]
 #align trivialization.map_proj_nhds Trivialization.map_proj_nhds
+-/
 
+#print Trivialization.preimage_subset_source /-
 theorem preimage_subset_source {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ⊆ e.source :=
   fun p hp => e.mem_source.mpr (hb hp)
 #align trivialization.preimage_subset_source Trivialization.preimage_subset_source
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Trivialization.image_preimage_eq_prod_univ /-
 theorem image_preimage_eq_prod_univ {s : Set B} (hb : s ⊆ e.baseSet) :
     e '' (proj ⁻¹' s) = s ×ˢ univ :=
   Subset.antisymm
@@ -446,69 +561,91 @@ theorem image_preimage_eq_prod_univ {s : Set B} (hb : s ⊆ e.baseSet) :
     let hp' : p ∈ e.target := e.mem_target.mpr (hb hp.1)
     ⟨e.invFun p, mem_preimage.mpr ((e.proj_symm_apply hp').symm ▸ hp.1), e.apply_symm_apply hp'⟩
 #align trivialization.image_preimage_eq_prod_univ Trivialization.image_preimage_eq_prod_univ
+-/
 
+#print Trivialization.preimageHomeomorph /-
 /-- The preimage of a subset of the base set is homeomorphic to the product with the fiber. -/
 def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ s × F :=
   (e.toLocalHomeomorph.homeomorphOfImageSubsetSource (e.preimage_subset_source hb)
         (e.image_preimage_eq_prod_univ hb)).trans
     ((Homeomorph.Set.prod s univ).trans ((Homeomorph.refl s).prodCongr (Homeomorph.Set.univ F)))
 #align trivialization.preimage_homeomorph Trivialization.preimageHomeomorph
+-/
 
+#print Trivialization.preimageHomeomorph_apply /-
 @[simp]
 theorem preimageHomeomorph_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : proj ⁻¹' s) :
     e.preimageHomeomorph hb p = (⟨proj p, p.2⟩, (e p).2) :=
   Prod.ext (Subtype.ext (e.proj_toFun p (e.mem_source.mpr (hb p.2)))) rfl
 #align trivialization.preimage_homeomorph_apply Trivialization.preimageHomeomorph_apply
+-/
 
+#print Trivialization.preimageHomeomorph_symm_apply /-
 @[simp]
 theorem preimageHomeomorph_symm_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : s × F) :
     (e.preimageHomeomorph hb).symm p = ⟨e.symm (p.1, p.2), ((e.preimageHomeomorph hb).symm p).2⟩ :=
   rfl
 #align trivialization.preimage_homeomorph_symm_apply Trivialization.preimageHomeomorph_symm_apply
+-/
 
+#print Trivialization.sourceHomeomorphBaseSetProd /-
 /-- The source is homeomorphic to the product of the base set with the fiber. -/
 def sourceHomeomorphBaseSetProd : e.source ≃ₜ e.baseSet × F :=
   (Homeomorph.setCongr e.source_eq).trans (e.preimageHomeomorph subset_rfl)
 #align trivialization.source_homeomorph_base_set_prod Trivialization.sourceHomeomorphBaseSetProd
+-/
 
+#print Trivialization.sourceHomeomorphBaseSetProd_apply /-
 @[simp]
 theorem sourceHomeomorphBaseSetProd_apply (p : e.source) :
     e.sourceHomeomorphBaseSetProd p = (⟨proj p, e.mem_source.mp p.2⟩, (e p).2) :=
   e.preimageHomeomorph_apply subset_rfl ⟨p, e.mem_source.mp p.2⟩
 #align trivialization.source_homeomorph_base_set_prod_apply Trivialization.sourceHomeomorphBaseSetProd_apply
+-/
 
+#print Trivialization.sourceHomeomorphBaseSetProd_symm_apply /-
 @[simp]
 theorem sourceHomeomorphBaseSetProd_symm_apply (p : e.baseSet × F) :
     e.sourceHomeomorphBaseSetProd.symm p =
       ⟨e.symm (p.1, p.2), (e.sourceHomeomorphBaseSetProd.symm p).2⟩ :=
   rfl
 #align trivialization.source_homeomorph_base_set_prod_symm_apply Trivialization.sourceHomeomorphBaseSetProd_symm_apply
+-/
 
+#print Trivialization.preimageSingletonHomeomorph /-
 /-- Each fiber of a trivialization is homeomorphic to the specified fiber. -/
 def preimageSingletonHomeomorph {b : B} (hb : b ∈ e.baseSet) : proj ⁻¹' {b} ≃ₜ F :=
   (e.preimageHomeomorph (Set.singleton_subset_iff.mpr hb)).trans
     (((Homeomorph.homeomorphOfUnique ({b} : Set B) PUnit).prodCongr (Homeomorph.refl F)).trans
       (Homeomorph.punitProd F))
 #align trivialization.preimage_singleton_homeomorph Trivialization.preimageSingletonHomeomorph
+-/
 
+#print Trivialization.preimageSingletonHomeomorph_apply /-
 @[simp]
 theorem preimageSingletonHomeomorph_apply {b : B} (hb : b ∈ e.baseSet) (p : proj ⁻¹' {b}) :
     e.preimageSingletonHomeomorph hb p = (e p).2 :=
   rfl
 #align trivialization.preimage_singleton_homeomorph_apply Trivialization.preimageSingletonHomeomorph_apply
+-/
 
+#print Trivialization.preimageSingletonHomeomorph_symm_apply /-
 @[simp]
 theorem preimageSingletonHomeomorph_symm_apply {b : B} (hb : b ∈ e.baseSet) (p : F) :
     (e.preimageSingletonHomeomorph hb).symm p =
       ⟨e.symm (b, p), by rw [mem_preimage, e.proj_symm_apply' hb, mem_singleton_iff]⟩ :=
   rfl
 #align trivialization.preimage_singleton_homeomorph_symm_apply Trivialization.preimageSingletonHomeomorph_symm_apply
+-/
 
+#print Trivialization.continuousAt_proj /-
 /-- In the domain of a bundle trivialization, the projection is continuous-/
 theorem continuousAt_proj (ex : x ∈ e.source) : ContinuousAt proj x :=
   (e.map_proj_nhds ex).le
 #align trivialization.continuous_at_proj Trivialization.continuousAt_proj
+-/
 
+#print Trivialization.compHomeomorph /-
 /-- Composition of a `trivialization` and a `homeomorph`. -/
 protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ Z) :
     Trivialization F (proj ∘ h)
@@ -522,7 +659,9 @@ protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ
     have hp : h p ∈ e.source := by simpa using hp
     simp [hp]
 #align trivialization.comp_homeomorph Trivialization.compHomeomorph
+-/
 
+#print Trivialization.continuousAt_of_comp_right /-
 /-- Read off the continuity of a function `f : Z → X` at `z : Z` by transferring via a
 trivialization of `Z` containing `z`. -/
 theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z → X} {z : Z}
@@ -536,7 +675,9 @@ theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z →
   rwa [e.to_local_homeomorph.symm.continuous_at_iff_continuous_at_comp_right hez,
     LocalHomeomorph.symm_symm]
 #align trivialization.continuous_at_of_comp_right Trivialization.continuousAt_of_comp_right
+-/
 
+#print Trivialization.continuousAt_of_comp_left /-
 /-- Read off the continuity of a function `f : X → Z` at `x : X` by transferring via a
 trivialization of `Z` containing `f x`. -/
 theorem continuousAt_of_comp_left {X : Type _} [TopologicalSpace X] {f : X → Z} {x : X}
@@ -548,40 +689,55 @@ theorem continuousAt_of_comp_left {X : Type _} [TopologicalSpace X] {f : X → Z
   rw [e.source_eq, ← preimage_comp]
   exact hf_proj.preimage_mem_nhds (e.open_base_set.mem_nhds he)
 #align trivialization.continuous_at_of_comp_left Trivialization.continuousAt_of_comp_left
+-/
 
 variable {E} (e' : Trivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
 
+#print Trivialization.continuousOn /-
 protected theorem continuousOn : ContinuousOn e' e'.source :=
   e'.continuous_toFun
 #align trivialization.continuous_on Trivialization.continuousOn
+-/
 
+#print Trivialization.coe_mem_source /-
 theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
   e'.mem_source
 #align trivialization.coe_mem_source Trivialization.coe_mem_source
+-/
 
+#print Trivialization.open_target' /-
 theorem open_target' : IsOpen e'.target := by rw [e'.target_eq];
   exact e'.open_base_set.prod isOpen_univ
 #align trivialization.open_target Trivialization.open_target'
+-/
 
+#print Trivialization.coe_coe_fst /-
 @[simp, mfld_simps]
 theorem coe_coe_fst (hb : b ∈ e'.baseSet) : (e' y).1 = b :=
   e'.coe_fst (e'.mem_source.2 hb)
 #align trivialization.coe_coe_fst Trivialization.coe_coe_fst
+-/
 
+#print Trivialization.mk_mem_target /-
 theorem mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.baseSet :=
   e'.toPretrivialization.mem_target
 #align trivialization.mk_mem_target Trivialization.mk_mem_target
+-/
 
+#print Trivialization.symm_apply_apply /-
 theorem symm_apply_apply {x : TotalSpace E} (hx : x ∈ e'.source) :
     e'.toLocalHomeomorph.symm (e' x) = x :=
   e'.toLocalEquiv.left_inv hx
 #align trivialization.symm_apply_apply Trivialization.symm_apply_apply
+-/
 
+#print Trivialization.symm_coe_proj /-
 @[simp, mfld_simps]
 theorem symm_coe_proj {x : B} {y : F} (e : Trivialization F (π E)) (h : x ∈ e.baseSet) :
     (e.toLocalHomeomorph.symm (x, y)).1 = x :=
   e.proj_symm_apply' h
 #align trivialization.symm_coe_proj Trivialization.symm_coe_proj
+-/
 
 section Zero
 
@@ -595,38 +751,51 @@ protected noncomputable def symm (e : Trivialization F (π E)) (b : B) (y : F) :
 #align trivialization.symm Trivialization.symm
 -/
 
+#print Trivialization.symm_apply /-
 theorem symm_apply (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalHomeomorph.symm (b, y)).2 :=
   dif_pos hb
 #align trivialization.symm_apply Trivialization.symm_apply
+-/
 
+#print Trivialization.symm_apply_of_not_mem /-
 theorem symm_apply_of_not_mem (e : Trivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
     e.symm b y = 0 :=
   dif_neg hb
 #align trivialization.symm_apply_of_not_mem Trivialization.symm_apply_of_not_mem
+-/
 
+#print Trivialization.mk_symm /-
 theorem mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     totalSpaceMk b (e.symm b y) = e.toLocalHomeomorph.symm (b, y) :=
   e.toPretrivialization.mk_symm hb y
 #align trivialization.mk_symm Trivialization.mk_symm
+-/
 
+#print Trivialization.symm_proj_apply /-
 theorem symm_proj_apply (e : Trivialization F (π E)) (z : TotalSpace E) (hz : z.proj ∈ e.baseSet) :
     e.symm z.proj (e z).2 = z.2 :=
   e.toPretrivialization.symm_proj_apply z hz
 #align trivialization.symm_proj_apply Trivialization.symm_proj_apply
+-/
 
+#print Trivialization.symm_apply_apply_mk /-
 theorem symm_apply_apply_mk (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
     e.symm b (e (totalSpaceMk b y)).2 = y :=
   e.symm_proj_apply (totalSpaceMk b y) hb
 #align trivialization.symm_apply_apply_mk Trivialization.symm_apply_apply_mk
+-/
 
+#print Trivialization.apply_mk_symm /-
 theorem apply_mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e (totalSpaceMk b (e.symm b y)) = (b, y) :=
   e.toPretrivialization.apply_mk_symm hb y
 #align trivialization.apply_mk_symm Trivialization.apply_mk_symm
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Trivialization.continuousOn_symm /-
 theorem continuousOn_symm (e : Trivialization F (π E)) :
     ContinuousOn (fun z : B × F => totalSpaceMk z.1 (e.symm z.1 z.2)) (e.baseSet ×ˢ univ) :=
   by
@@ -638,6 +807,7 @@ theorem continuousOn_symm (e : Trivialization F (π E)) :
   rw [← e.target_eq]
   exact e.to_local_homeomorph.continuous_on_symm
 #align trivialization.continuous_on_symm Trivialization.continuousOn_symm
+-/
 
 end Zero
 
@@ -657,11 +827,13 @@ def transFiberHomeomorph {F' : Type _} [TopologicalSpace F'] (e : Trivialization
 #align trivialization.trans_fiber_homeomorph Trivialization.transFiberHomeomorph
 -/
 
+#print Trivialization.transFiberHomeomorph_apply /-
 @[simp]
 theorem transFiberHomeomorph_apply {F' : Type _} [TopologicalSpace F'] (e : Trivialization F proj)
     (h : F ≃ₜ F') (x : Z) : e.transFiberHomeomorph h x = ((e x).1, h (e x).2) :=
   rfl
 #align trivialization.trans_fiber_homeomorph_apply Trivialization.transFiberHomeomorph_apply
+-/
 
 #print Trivialization.coordChange /-
 /-- Coordinate transformation in the fiber induced by a pair of bundle trivializations. See also
@@ -671,6 +843,7 @@ def coordChange (e₁ e₂ : Trivialization F proj) (b : B) (x : F) : F :=
 #align trivialization.coord_change Trivialization.coordChange
 -/
 
+#print Trivialization.mk_coordChange /-
 theorem mk_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) (x : F) :
     (b, e₁.coordChange e₂ b x) = e₂ (e₁.toLocalHomeomorph.symm (b, x)) :=
@@ -680,21 +853,29 @@ theorem mk_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈
   · rwa [e₁.proj_symm_apply' h₁]
   · rwa [e₁.proj_symm_apply' h₁]
 #align trivialization.mk_coord_change Trivialization.mk_coordChange
+-/
 
+#print Trivialization.coordChange_apply_snd /-
 theorem coordChange_apply_snd (e₁ e₂ : Trivialization F proj) {p : Z} (h : proj p ∈ e₁.baseSet) :
     e₁.coordChange e₂ (proj p) (e₁ p).snd = (e₂ p).snd := by
   rw [coord_change, e₁.symm_apply_mk_proj (e₁.mem_source.2 h)]
 #align trivialization.coord_change_apply_snd Trivialization.coordChange_apply_snd
+-/
 
+#print Trivialization.coordChange_same_apply /-
 theorem coordChange_same_apply (e : Trivialization F proj) {b : B} (h : b ∈ e.baseSet) (x : F) :
     e.coordChange e b x = x := by rw [coord_change, e.apply_symm_apply' h]
 #align trivialization.coord_change_same_apply Trivialization.coordChange_same_apply
+-/
 
+#print Trivialization.coordChange_same /-
 theorem coordChange_same (e : Trivialization F proj) {b : B} (h : b ∈ e.baseSet) :
     e.coordChange e b = id :=
   funext <| e.coordChange_same_apply h
 #align trivialization.coord_change_same Trivialization.coordChange_same
+-/
 
+#print Trivialization.coordChange_coordChange /-
 theorem coordChange_coordChange (e₁ e₂ e₃ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) (x : F) :
     e₂.coordChange e₃ b (e₁.coordChange e₂ b x) = e₁.coordChange e₃ b x :=
@@ -703,7 +884,9 @@ theorem coordChange_coordChange (e₁ e₂ e₃ : Trivialization F proj) {b : B}
     coord_change]
   rwa [e₂.mem_source, e₁.proj_symm_apply' h₁]
 #align trivialization.coord_change_coord_change Trivialization.coordChange_coordChange
+-/
 
+#print Trivialization.continuous_coordChange /-
 theorem continuous_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) : Continuous (e₁.coordChange e₂ b) :=
   by
@@ -716,6 +899,7 @@ theorem continuous_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁
   · intro x
     rwa [e₂.mem_source, e₁.proj_symm_apply' h₁]
 #align trivialization.continuous_coord_change Trivialization.continuous_coordChange
+-/
 
 #print Trivialization.coordChangeHomeomorph /-
 /-- Coordinate transformation in the fiber induced by a pair of bundle trivializations,
@@ -732,18 +916,22 @@ protected def coordChangeHomeomorph (e₁ e₂ : Trivialization F proj) {b : B}
 #align trivialization.coord_change_homeomorph Trivialization.coordChangeHomeomorph
 -/
 
+#print Trivialization.coordChangeHomeomorph_coe /-
 @[simp]
 theorem coordChangeHomeomorph_coe (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) : ⇑(e₁.coordChangeHomeomorph e₂ h₁ h₂) = e₁.coordChange e₂ b :=
   rfl
 #align trivialization.coord_change_homeomorph_coe Trivialization.coordChangeHomeomorph_coe
+-/
 
 variable {F} {B' : Type _} [TopologicalSpace B']
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Trivialization.isImage_preimage_prod /-
 theorem isImage_preimage_prod (e : Trivialization F proj) (s : Set B) :
     e.toLocalHomeomorph.IsImage (proj ⁻¹' s) (s ×ˢ univ) := fun x hx => by simp [e.coe_fst', hx]
 #align trivialization.is_image_preimage_prod Trivialization.isImage_preimage_prod
+-/
 
 #print Trivialization.restrOpen /-
 /-- Restrict a `trivialization` to an open set in the base. `-/
@@ -762,13 +950,16 @@ protected def restrOpen (e : Trivialization F proj) (s : Set B) (hs : IsOpen s)
 
 section Piecewise
 
+#print Trivialization.frontier_preimage /-
 theorem frontier_preimage (e : Trivialization F proj) (s : Set B) :
     e.source ∩ frontier (proj ⁻¹' s) = proj ⁻¹' (e.baseSet ∩ frontier s) := by
   rw [← (e.is_image_preimage_prod s).frontier.preimage_eq, frontier_prod_univ_eq,
     (e.is_image_preimage_prod _).preimage_eq, e.source_eq, preimage_inter]
 #align trivialization.frontier_preimage Trivialization.frontier_preimage
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print Trivialization.piecewise /-
 /-- Given two bundle trivializations `e`, `e'` of `proj : Z → B` and a set `s : set B` such that
 the base sets of `e` and `e'` intersect `frontier s` on the same set and `e p = e' p` whenever
 `proj p ∈ e.base_set ∩ frontier s`, `e.piecewise e' s Hs Heq` is the bundle trivialization over
@@ -788,7 +979,9 @@ noncomputable def piecewise (e e' : Trivialization F proj) (s : Set B)
   target_eq := by simp [e.target_eq, e'.target_eq, prod_univ]
   proj_toFun := by rintro p (⟨he, hs⟩ | ⟨he, hs⟩) <;> simp [*]
 #align trivialization.piecewise Trivialization.piecewise
+-/
 
+#print Trivialization.piecewiseLeOfEq /-
 /-- Given two bundle trivializations `e`, `e'` of a topological fiber bundle `proj : Z → B`
 over a linearly ordered base `B` and a point `a ∈ e.base_set ∩ e'.base_set` such that
 `e` equals `e'` on `proj ⁻¹' {a}`, `e.piecewise_le_of_eq e' a He He' Heq` is the bundle
@@ -803,6 +996,7 @@ noncomputable def piecewiseLeOfEq [LinearOrder B] [OrderTopology B] (e e' : Triv
         simp [He, He', mem_singleton_iff.1 (frontier_Iic_subset _ hx)])
     fun p hp => Heq p <| frontier_Iic_subset _ hp.2
 #align trivialization.piecewise_le_of_eq Trivialization.piecewiseLeOfEq
+-/
 
 #print Trivialization.piecewiseLe /-
 /-- Given two bundle trivializations `e`, `e'` of a topological fiber bundle `proj : Z → B` over a
@@ -822,6 +1016,7 @@ noncomputable def piecewiseLe [LinearOrder B] [OrderTopology B] (e e' : Triviali
 #align trivialization.piecewise_le Trivialization.piecewiseLe
 -/
 
+#print Trivialization.disjointUnion /-
 /-- Given two bundle trivializations `e`, `e'` over disjoint sets, `e.disjoint_union e' H` is the
 bundle trivialization over the union of the base sets that agrees with `e` and `e'` over their
 base sets. -/
@@ -847,6 +1042,7 @@ noncomputable def disjointUnion (e e' : Trivialization F proj) (H : Disjoint e.b
       simp only [e.source_eq, e'.source_eq] at hp' ⊢
       exact fun h => H.le_bot ⟨h, hp'⟩
 #align trivialization.disjoint_union Trivialization.disjointUnion
+-/
 
 end Piecewise
 
Diff
@@ -131,7 +131,7 @@ theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet := by
 theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalEquiv.symm x) = x.1 :=
   by
   have := (e.coe_fst (e.to_local_equiv.map_target hx)).symm
-  rwa [← e.coe_coe, e.to_local_equiv.right_inv hx] at this
+  rwa [← e.coe_coe, e.to_local_equiv.right_inv hx] at this 
 #align pretrivialization.proj_symm_apply Pretrivialization.proj_symm_apply
 
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
@@ -844,7 +844,7 @@ noncomputable def disjointUnion (e e' : Trivialization F proj) (H : Disjoint e.b
       rw [piecewise_eq_of_mem, e.coe_fst] <;> exact hp
     · show (e.source.piecewise e e' p).1 = proj p
       rw [piecewise_eq_of_not_mem, e'.coe_fst hp']
-      simp only [e.source_eq, e'.source_eq] at hp'⊢
+      simp only [e.source_eq, e'.source_eq] at hp' ⊢
       exact fun h => H.le_bot ⟨h, hp'⟩
 #align trivialization.disjoint_union Trivialization.disjointUnion
 
Diff
@@ -58,7 +58,7 @@ type of linear trivializations is not even particularly well-behaved.
 
 open TopologicalSpace Filter Set Bundle
 
-open Topology Classical Bundle
+open scoped Topology Classical Bundle
 
 variable {ι : Type _} {B : Type _} {F : Type _} {E : B → Type _}
 
Diff
@@ -89,72 +89,30 @@ instance : CoeFun (Pretrivialization F proj) fun _ => Z → B × F :=
 
 variable {F} (e : Pretrivialization F proj) {x : Z}
 
-/- warning: pretrivialization.coe_coe -> Pretrivialization.coe_coe is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ (max u1 u2))} (Z -> (Prod.{u1, u2} B F)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F)) (fun (_x : LocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F)) => Z -> (Prod.{u1, u2} B F)) (LocalEquiv.hasCoeToFun.{u3, max u1 u2} Z (Prod.{u1, u2} B F)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Z -> (Prod.{u3, u2} B F)) (LocalEquiv.toFun.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)
-Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_coe Pretrivialization.coe_coeₓ'. -/
 @[simp, mfld_simps]
 theorem coe_coe : ⇑e.toLocalEquiv = e :=
   rfl
 #align pretrivialization.coe_coe Pretrivialization.coe_coe
 
-/- warning: pretrivialization.coe_fst -> Pretrivialization.coe_fst is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x)) (proj x))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u2} B (Prod.fst.{u2, u1} B F (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x)) (proj x))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_fst Pretrivialization.coe_fstₓ'. -/
 @[simp, mfld_simps]
 theorem coe_fst (ex : x ∈ e.source) : (e x).1 = proj x :=
   e.proj_toFun x ex
 #align pretrivialization.coe_fst Pretrivialization.coe_fst
 
-/- warning: pretrivialization.mem_source -> Pretrivialization.mem_source is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, Iff (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, Iff (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (proj x) (Pretrivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.mem_source Pretrivialization.mem_sourceₓ'. -/
 theorem mem_source : x ∈ e.source ↔ proj x ∈ e.baseSet := by rw [e.source_eq, mem_preimage]
 #align pretrivialization.mem_source Pretrivialization.mem_source
 
-/- warning: pretrivialization.coe_fst' -> Pretrivialization.coe_fst' is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x)) (proj x))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{succ u3} B (Prod.fst.{u3, u2} B F (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e x)) (proj x))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_fst' Pretrivialization.coe_fst'ₓ'. -/
 theorem coe_fst' (ex : proj x ∈ e.baseSet) : (e x).1 = proj x :=
   e.coe_fst (e.mem_source.2 ex)
 #align pretrivialization.coe_fst' Pretrivialization.coe_fst'
 
-/- warning: pretrivialization.eq_on -> Pretrivialization.eqOn is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Set.EqOn.{u3, u1} Z B (Function.comp.{succ u3, max (succ u1) (succ u2), succ u1} Z (Prod.{u1, u2} B F) B (Prod.fst.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e)) proj (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj), Set.EqOn.{u3, u2} Z B (Function.comp.{succ u3, max (succ u1) (succ u2), succ u2} Z (Prod.{u2, u1} B F) B (Prod.fst.{u2, u1} B F) (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e)) proj (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.eq_on Pretrivialization.eqOnₓ'. -/
 protected theorem eqOn : EqOn (Prod.fst ∘ e) proj e.source := fun x hx => e.coe_fst hx
 #align pretrivialization.eq_on Pretrivialization.eqOn
 
-/- warning: pretrivialization.mk_proj_snd -> Pretrivialization.mk_proj_snd is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Prod.mk.{u2, u1} B F (proj x) (Prod.snd.{u2, u1} B F (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x))) (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.mk_proj_snd Pretrivialization.mk_proj_sndₓ'. -/
 theorem mk_proj_snd (ex : x ∈ e.source) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst ex).symm rfl
 #align pretrivialization.mk_proj_snd Pretrivialization.mk_proj_snd
 
-/- warning: pretrivialization.mk_proj_snd' -> Pretrivialization.mk_proj_snd' is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Prod.mk.{u3, u2} B F (proj x) (Prod.snd.{u3, u2} B F (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e x))) (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e x))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.mk_proj_snd' Pretrivialization.mk_proj_snd'ₓ'. -/
 theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst' ex).symm rfl
 #align pretrivialization.mk_proj_snd' Pretrivialization.mk_proj_snd'
@@ -166,100 +124,46 @@ def setSymm : e.target → Z :=
 #align pretrivialization.set_symm Pretrivialization.setSymm
 -/
 
-/- warning: pretrivialization.mem_target -> Pretrivialization.mem_target is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Prod.{u1, u2} B F}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (Prod.fst.{u1, u2} B F x) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : 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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F x) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.mem_target Pretrivialization.mem_targetₓ'. -/
 theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet := by
   rw [e.target_eq, prod_univ, mem_preimage]
 #align pretrivialization.mem_target Pretrivialization.mem_target
 
-/- warning: pretrivialization.proj_symm_apply -> Pretrivialization.proj_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u1} B (proj (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) x)) (Prod.fst.{u1, u2} B F x))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} B (proj (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) x)) (Prod.fst.{u3, u2} B F x))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.proj_symm_apply Pretrivialization.proj_symm_applyₓ'. -/
 theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalEquiv.symm x) = x.1 :=
   by
   have := (e.coe_fst (e.to_local_equiv.map_target hx)).symm
   rwa [← e.coe_coe, e.to_local_equiv.right_inv hx] at this
 #align pretrivialization.proj_symm_apply Pretrivialization.proj_symm_apply
 
-/- warning: pretrivialization.proj_symm_apply' -> Pretrivialization.proj_symm_apply' is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {b : B} {x : F}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{succ u1} B (proj (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u1, u2} B F b x))) b)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {b : B} {x : F}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{succ u3} B (proj (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u3, u2} B F b x))) b)
-Case conversion may be inaccurate. Consider using '#align pretrivialization.proj_symm_apply' Pretrivialization.proj_symm_apply'ₓ'. -/
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     proj (e.toLocalEquiv.symm (b, x)) = b :=
   e.proj_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.proj_symm_apply' Pretrivialization.proj_symm_apply'
 
-/- warning: pretrivialization.proj_surj_on_base_set -> Pretrivialization.proj_surjOn_baseSet is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) [_inst_3 : Nonempty.{succ u2} F], Set.SurjOn.{u3, u1} Z B proj (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)
-but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u3}} {Z : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u3} F] {proj : Z -> B} (e : Pretrivialization.{u1, u3, u2} B F Z _inst_1 _inst_2 proj) [_inst_3 : Nonempty.{succ u3} F], Set.SurjOn.{u2, u1} Z B proj (LocalEquiv.source.{u2, max u1 u3} Z (Prod.{u1, u3} B F) (Pretrivialization.toLocalEquiv.{u1, u3, u2} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.baseSet.{u1, u3, u2} B F Z _inst_1 _inst_2 proj e)
-Case conversion may be inaccurate. Consider using '#align pretrivialization.proj_surj_on_base_set Pretrivialization.proj_surjOn_baseSetₓ'. -/
 theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet := fun b hb =>
   let ⟨y⟩ := ‹Nonempty F›
   ⟨e.toLocalEquiv.symm (b, y), e.toLocalEquiv.map_target <| e.mem_target.2 hb,
     e.proj_symm_apply' hb⟩
 #align pretrivialization.proj_surj_on_base_set Pretrivialization.proj_surjOn_baseSet
 
-/- warning: pretrivialization.apply_symm_apply -> Pretrivialization.apply_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) x)) x)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) x)) x)
-Case conversion may be inaccurate. Consider using '#align pretrivialization.apply_symm_apply Pretrivialization.apply_symm_applyₓ'. -/
 theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalEquiv.symm x) = x :=
   e.toLocalEquiv.right_inv hx
 #align pretrivialization.apply_symm_apply Pretrivialization.apply_symm_apply
 
-/- warning: pretrivialization.apply_symm_apply' -> Pretrivialization.apply_symm_apply' is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {b : B} {x : F}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u1, u2} B F b x))) (Prod.mk.{u1, u2} B F b x))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {b : B} {x : F}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u3, u2} B F b x))) (Prod.mk.{u3, u2} B F b x))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.apply_symm_apply' Pretrivialization.apply_symm_apply'ₓ'. -/
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     e (e.toLocalEquiv.symm (b, x)) = (b, x) :=
   e.apply_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.apply_symm_apply' Pretrivialization.apply_symm_apply'
 
-/- warning: pretrivialization.symm_apply_apply -> Pretrivialization.symm_apply_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x)) x)
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} Z (LocalEquiv.toFun.{max u2 u1, u3} (Prod.{u2, u1} B F) Z (LocalEquiv.symm.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x)) x)
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply_apply Pretrivialization.symm_apply_applyₓ'. -/
 theorem symm_apply_apply {x : Z} (hx : x ∈ e.source) : e.toLocalEquiv.symm (e x) = x :=
   e.toLocalEquiv.left_inv hx
 #align pretrivialization.symm_apply_apply Pretrivialization.symm_apply_apply
 
-/- warning: pretrivialization.symm_apply_mk_proj -> Pretrivialization.symm_apply_mk_proj is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x)))) x)
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} Z (LocalEquiv.toFun.{max u2 u1, u3} (Prod.{u2, u1} B F) Z (LocalEquiv.symm.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u2, u1} B F (proj x) (Prod.snd.{u2, u1} B F (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x)))) x)
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply_mk_proj Pretrivialization.symm_apply_mk_projₓ'. -/
 @[simp, mfld_simps]
 theorem symm_apply_mk_proj {x : Z} (ex : x ∈ e.source) :
     e.toLocalEquiv.symm (proj x, (e x).2) = x := by
   rw [← e.coe_fst ex, Prod.mk.eta, ← e.coe_coe, e.to_local_equiv.left_inv ex]
 #align pretrivialization.symm_apply_mk_proj Pretrivialization.symm_apply_mk_proj
 
-/- warning: pretrivialization.preimage_symm_proj_base_set -> Pretrivialization.preimage_symm_proj_baseSet is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasInter.{max u1 u2} (Prod.{u1, u2} B F)) (Set.preimage.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Set.preimage.{u3, u1} Z B proj (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Inter.inter.{max u3 u2} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instInterSet.{max u3 u2} (Prod.{u3, u2} B F)) (Set.preimage.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (Set.preimage.{u1, u3} Z B proj (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.preimage_symm_proj_base_set Pretrivialization.preimage_symm_proj_baseSetₓ'. -/
 @[simp, mfld_simps]
 theorem preimage_symm_proj_baseSet :
     e.toLocalEquiv.symm ⁻¹' (proj ⁻¹' e.baseSet) ∩ e.target = e.target :=
@@ -269,12 +173,6 @@ theorem preimage_symm_proj_baseSet :
   exact e.mem_target.mp hx
 #align pretrivialization.preimage_symm_proj_base_set Pretrivialization.preimage_symm_proj_baseSet
 
-/- warning: pretrivialization.preimage_symm_proj_inter -> Pretrivialization.preimage_symm_proj_inter is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (s : Set.{u1} B), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasInter.{max u1 u2} (Prod.{u1, u2} B F)) (Set.preimage.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Set.preimage.{u3, u1} Z B proj s)) (Set.prod.{u1, u2} B F (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Set.univ.{u2} F))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) s (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Set.univ.{u2} F))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (s : Set.{u3} B), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Inter.inter.{max u3 u2} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instInterSet.{max u3 u2} (Prod.{u3, u2} B F)) (Set.preimage.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (Set.preimage.{u1, u3} Z B proj s)) (Set.prod.{u3, u2} B F (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Set.univ.{u2} F))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) s (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Set.univ.{u2} F))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.preimage_symm_proj_inter Pretrivialization.preimage_symm_proj_interₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 @[simp, mfld_simps]
@@ -288,47 +186,23 @@ theorem preimage_symm_proj_inter (s : Set B) :
   rw [e.proj_symm_apply' h]
 #align pretrivialization.preimage_symm_proj_inter Pretrivialization.preimage_symm_proj_inter
 
-/- warning: pretrivialization.target_inter_preimage_symm_source_eq -> Pretrivialization.target_inter_preimage_symm_source_eq is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (f : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (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.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f)) (Set.preimage.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f))) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f)) (Set.univ.{u2} F))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (f : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (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.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f)) (Set.preimage.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f))) (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f)) (Set.univ.{u2} F))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.target_inter_preimage_symm_source_eq Pretrivialization.target_inter_preimage_symm_source_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem target_inter_preimage_symm_source_eq (e f : Pretrivialization F proj) :
     f.target ∩ f.toLocalEquiv.symm ⁻¹' e.source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
   rw [inter_comm, f.target_eq, e.source_eq, f.preimage_symm_proj_inter]
 #align pretrivialization.target_inter_preimage_symm_source_eq Pretrivialization.target_inter_preimage_symm_source_eq
 
-/- warning: pretrivialization.trans_source -> Pretrivialization.trans_source is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (f : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.source.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f)) (Set.univ.{u2} F))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (f : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f)) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f)) (Set.univ.{u2} F))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.trans_source Pretrivialization.trans_sourceₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem trans_source (e f : Pretrivialization F proj) :
     (f.toLocalEquiv.symm.trans e.toLocalEquiv).source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
   rw [LocalEquiv.trans_source, LocalEquiv.symm_source, e.target_inter_preimage_symm_source_eq]
 #align pretrivialization.trans_source Pretrivialization.trans_source
 
-/- warning: pretrivialization.symm_trans_symm -> Pretrivialization.symm_trans_symm is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (LocalEquiv.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F)) (LocalEquiv.symm.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e'))) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e')) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e'))) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e')) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_trans_symm Pretrivialization.symm_trans_symmₓ'. -/
 theorem symm_trans_symm (e e' : Pretrivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).symm = e'.toLocalEquiv.symm.trans e.toLocalEquiv :=
   by rw [LocalEquiv.trans_symm_eq_symm_trans_symm, LocalEquiv.symm_symm]
 #align pretrivialization.symm_trans_symm Pretrivialization.symm_trans_symm
 
-/- warning: pretrivialization.symm_trans_source_eq -> Pretrivialization.symm_trans_source_eq is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.source.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e'))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e')) (Set.univ.{u2} F))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e'))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e')) (Set.univ.{u2} F))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_trans_source_eq Pretrivialization.symm_trans_source_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem symm_trans_source_eq (e e' : Pretrivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
@@ -336,12 +210,6 @@ theorem symm_trans_source_eq (e e' : Pretrivialization F proj) :
     e.preimage_symm_proj_inter, inter_comm]
 #align pretrivialization.symm_trans_source_eq Pretrivialization.symm_trans_source_eq
 
-/- warning: pretrivialization.symm_trans_target_eq -> Pretrivialization.symm_trans_target_eq is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.target.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e'))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e')) (Set.univ.{u2} F))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e'))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e')) (Set.univ.{u2} F))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_trans_target_eq Pretrivialization.symm_trans_target_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem symm_trans_target_eq (e e' : Pretrivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
@@ -350,43 +218,19 @@ theorem symm_trans_target_eq (e e' : Pretrivialization F proj) :
 
 variable {B F} (e' : Pretrivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
 
-/- warning: pretrivialization.coe_mem_source -> Pretrivialization.coe_mem_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] (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)) {b : B} {y : E b}, Iff (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)) ((fun (a : Type.{u3}) (b : Type.{max u1 u3}) [self : HasLiftT.{succ u3, succ (max u1 u3)} a b] => self.0) (E b) (Bundle.TotalSpace.{u1, u3} B E) (HasLiftT.mk.{succ u3, succ (max u1 u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (CoeTCₓ.coe.{succ u3, succ (max u1 u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.TotalSpace.hasCoeT.{u1, u3} B E b))) y) (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'))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) 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] (e' : Pretrivialization.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E)) {b : B} {y : E b}, Iff (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)) (Bundle.totalSpaceMk.{u3, u2} B E b y) (LocalEquiv.source.{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) e'))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (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) e'))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_mem_source Pretrivialization.coe_mem_sourceₓ'. -/
 theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
   e'.mem_source
 #align pretrivialization.coe_mem_source Pretrivialization.coe_mem_source
 
-/- warning: pretrivialization.coe_coe_fst -> Pretrivialization.coe_coe_fst 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] (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)) {b : B} {y : E b}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) 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)} (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)) (fun (_x : 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)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{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' ((fun (a : Type.{u3}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u3, max (succ u1) (succ u3)} a b] => self.0) (E b) (Bundle.TotalSpace.{u1, u3} B E) (HasLiftT.mk.{succ u3, max (succ u1) (succ u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (CoeTCₓ.coe.{succ u3, max (succ u1) (succ u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.TotalSpace.hasCoeT.{u1, u3} B E b))) y))) b)
-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] (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)) {b : B} {y : E b}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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')) -> (Eq.{succ u3} B (Prod.fst.{u3, u2} B F (Pretrivialization.toFun'.{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' (Bundle.totalSpaceMk.{u3, u1} B E b y))) b)
-Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_coe_fst Pretrivialization.coe_coe_fstₓ'. -/
 @[simp, mfld_simps]
 theorem coe_coe_fst (hb : b ∈ e'.baseSet) : (e' y).1 = b :=
   e'.coe_fst (e'.mem_source.2 hb)
 #align pretrivialization.coe_coe_fst Pretrivialization.coe_coe_fst
 
-/- warning: pretrivialization.mk_mem_target -> Pretrivialization.mk_mem_target 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] (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)) {x : B} {y : F}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) (Prod.mk.{u1, u2} B F x y) (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'))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (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) e'))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u3}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (e' : Pretrivialization.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E)) {x : B} {y : F}, Iff (Membership.mem.{max u3 u2, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.instMembershipSet.{max u2 u3} (Prod.{u2, u3} B F)) (Prod.mk.{u2, u3} B F x y) (LocalEquiv.target.{max u2 u1, max u2 u3} (Bundle.TotalSpace.{u2, u1} B E) (Prod.{u2, u3} B F) (Pretrivialization.toLocalEquiv.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E) e'))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Pretrivialization.baseSet.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E) e'))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.mk_mem_target Pretrivialization.mk_mem_targetₓ'. -/
 theorem mk_mem_target {x : B} {y : F} : (x, y) ∈ e'.target ↔ x ∈ e'.baseSet :=
   e'.mem_target
 #align pretrivialization.mk_mem_target Pretrivialization.mk_mem_target
 
-/- warning: pretrivialization.symm_coe_proj -> Pretrivialization.symm_coe_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] {x : B} {y : F} (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.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (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) e')) -> (Eq.{succ u1} B (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (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')) (Prod.mk.{u1, u2} B F x y))) x)
-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] {x : B} {y : F} (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.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Pretrivialization.baseSet.{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')) -> (Eq.{succ u3} B (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (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')) (Prod.mk.{u3, u2} B F x y))) x)
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_coe_proj Pretrivialization.symm_coe_projₓ'. -/
 theorem symm_coe_proj {x : B} {y : F} (e' : Pretrivialization F (π E)) (h : x ∈ e'.baseSet) :
     (e'.toLocalEquiv.symm (x, y)).1 = x :=
   e'.proj_symm_apply' h
@@ -406,78 +250,36 @@ protected noncomputable def symm (e : Pretrivialization F (π E)) (b : B) (y : F
 #align pretrivialization.symm Pretrivialization.symm
 -/
 
-/- warning: pretrivialization.symm_apply -> Pretrivialization.symm_apply 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B} (hb : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e)) (y : F), Eq.{succ u3} (E b) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y) (cast.{succ u3} (E (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (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)) (Prod.mk.{u1, u2} B F b y)))) (E b) (congr_arg.{succ u1, succ (succ u3)} B Type.{u3} (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (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)) (Prod.mk.{u1, u2} B F b y))) b E (Pretrivialization.symm_coe_proj.{u1, u2, u3} B F E _inst_1 _inst_2 b y e hb)) (Sigma.snd.{u1, u3} B (fun (x : B) => E x) (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)) (Prod.mk.{u1, u2} B F b y))))
-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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B} (hb : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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)) (y : F), Eq.{succ u1} (E b) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y) (cast.{succ u1} (E (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (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)) (Prod.mk.{u3, u2} B F b y)))) (E b) (congr_arg.{succ u3, succ (succ u1)} B Type.{u1} (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (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)) (Prod.mk.{u3, u2} B F b y))) b E (Pretrivialization.symm_coe_proj.{u1, u2, u3} B F E _inst_1 _inst_2 b y e hb)) (Sigma.snd.{u3, u1} B (fun (x : B) => E x) (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)) (Prod.mk.{u3, u2} B F b y))))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply Pretrivialization.symm_applyₓ'. -/
 theorem symm_apply (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalEquiv.symm (b, y)).2 :=
   dif_pos hb
 #align pretrivialization.symm_apply Pretrivialization.symm_apply
 
-/- warning: pretrivialization.symm_apply_of_not_mem -> Pretrivialization.symm_apply_of_not_mem 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Not (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e))) -> (forall (y : F), Eq.{succ u3} (E b) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y) (OfNat.ofNat.{u3} (E b) 0 (OfNat.mk.{u3} (E b) 0 (Zero.zero.{u3} (E b) (_inst_3 b)))))
-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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Not (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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 (y : F), Eq.{succ u1} (E b) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y) (OfNat.ofNat.{u1} (E b) 0 (Zero.toOfNat0.{u1} (E b) (_inst_3 b))))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply_of_not_mem Pretrivialization.symm_apply_of_not_memₓ'. -/
 theorem symm_apply_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
     e.symm b y = 0 :=
   dif_neg hb
 #align pretrivialization.symm_apply_of_not_mem Pretrivialization.symm_apply_of_not_mem
 
-/- warning: pretrivialization.coe_symm_of_not_mem -> Pretrivialization.coe_symm_of_not_mem 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Not (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e))) -> (Eq.{max (succ u2) (succ u3)} (F -> (E b)) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b) (OfNat.ofNat.{max u2 u3} (F -> (E b)) 0 (OfNat.mk.{max u2 u3} (F -> (E b)) 0 (Zero.zero.{max u2 u3} (F -> (E b)) (Pi.instZero.{u2, u3} F (fun (y : F) => E b) (fun (i : F) => _inst_3 b))))))
-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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Not (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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))) -> (Eq.{max (succ u2) (succ u1)} (F -> (E b)) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b) (OfNat.ofNat.{max u2 u1} (F -> (E b)) 0 (Zero.toOfNat0.{max u2 u1} (F -> (E b)) (Pi.instZero.{u2, u1} F (fun (y : F) => E b) (fun (i : F) => _inst_3 b)))))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_symm_of_not_mem Pretrivialization.coe_symm_of_not_memₓ'. -/
 theorem coe_symm_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) :
     (e.symm b : F → E b) = 0 :=
   funext fun y => dif_neg hb
 #align pretrivialization.coe_symm_of_not_mem Pretrivialization.coe_symm_of_not_mem
 
-/- warning: pretrivialization.mk_symm -> Pretrivialization.mk_symm 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e)) -> (forall (y : F), Eq.{max (succ u1) (succ u3)} (Bundle.TotalSpace.{u1, u3} B E) (Bundle.totalSpaceMk.{u1, u3} B E b (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y)) (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)) (Prod.mk.{u1, u2} B F b y)))
-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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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 (y : F), Eq.{max (succ u3) (succ u1)} (Bundle.TotalSpace.{u3, u1} B E) (Bundle.totalSpaceMk.{u3, u1} B E b (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y)) (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)) (Prod.mk.{u3, u2} B F b y)))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.mk_symm Pretrivialization.mk_symmₓ'. -/
 theorem mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     totalSpaceMk b (e.symm b y) = e.toLocalEquiv.symm (b, y) := by
   rw [e.symm_apply hb, total_space.mk_cast, total_space.eta]
 #align pretrivialization.mk_symm Pretrivialization.mk_symm
 
-/- warning: pretrivialization.symm_proj_apply -> Pretrivialization.symm_proj_apply 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) (z : Bundle.TotalSpace.{u1, u3} B E), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (Bundle.TotalSpace.proj.{u1, u3} B E z) (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) e)) -> (Eq.{succ u3} (E (Bundle.TotalSpace.proj.{u1, u3} B E z)) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e (Bundle.TotalSpace.proj.{u1, u3} B E z) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u1) (succ u2)} (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)) (fun (_x : 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)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{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 z))) (Sigma.snd.{u1, u3} B (fun (x : B) => E x) z))
-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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) (z : Bundle.TotalSpace.{u3, u1} B E), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Bundle.TotalSpace.proj.{u3, u1} B E z) (Pretrivialization.baseSet.{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)) -> (Eq.{succ u1} (E (Bundle.TotalSpace.proj.{u3, u1} B E z)) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e (Bundle.TotalSpace.proj.{u3, u1} B E z) (Prod.snd.{u3, u2} B F (Pretrivialization.toFun'.{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 z))) (Sigma.snd.{u3, u1} B (fun (x : B) => E x) z))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_proj_apply Pretrivialization.symm_proj_applyₓ'. -/
 theorem symm_proj_apply (e : Pretrivialization F (π E)) (z : TotalSpace E)
     (hz : z.proj ∈ e.baseSet) : e.symm z.proj (e z).2 = z.2 := by
   rw [e.symm_apply hz, cast_eq_iff_heq, e.mk_proj_snd' hz, e.symm_apply_apply (e.mem_source.mpr hz)]
 #align pretrivialization.symm_proj_apply Pretrivialization.symm_proj_apply
 
-/- warning: pretrivialization.symm_apply_apply_mk -> Pretrivialization.symm_apply_apply_mk 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e)) -> (forall (y : E b), Eq.{succ u3} (E b) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u1) (succ u2)} (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)) (fun (_x : 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)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{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 (Bundle.totalSpaceMk.{u1, u3} B E b y)))) y)
-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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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 (y : E b), Eq.{succ u1} (E b) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b (Prod.snd.{u3, u2} B F (Pretrivialization.toFun'.{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 (Bundle.totalSpaceMk.{u3, u1} B E b y)))) y)
-Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply_apply_mk Pretrivialization.symm_apply_apply_mkₓ'. -/
 theorem symm_apply_apply_mk (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
     e.symm b (e (totalSpaceMk b y)).2 = y :=
   e.symm_proj_apply (totalSpaceMk b y) hb
 #align pretrivialization.symm_apply_apply_mk Pretrivialization.symm_apply_apply_mk
 
-/- warning: pretrivialization.apply_mk_symm -> Pretrivialization.apply_mk_symm 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e)) -> (forall (y : F), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u1) (succ u2)} (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)) (fun (_x : 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)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{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 (Bundle.totalSpaceMk.{u1, u3} B E b (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y))) (Prod.mk.{u1, u2} B F b y))
-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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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 (y : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Pretrivialization.toFun'.{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 (Bundle.totalSpaceMk.{u3, u1} B E b (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y))) (Prod.mk.{u3, u2} B F b y))
-Case conversion may be inaccurate. Consider using '#align pretrivialization.apply_mk_symm Pretrivialization.apply_mk_symmₓ'. -/
 theorem apply_mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e (totalSpaceMk b (e.symm b y)) = (b, y) := by
   rw [e.mk_symm hb, e.apply_symm_apply (e.mk_mem_target.mpr hb)]
@@ -522,12 +324,6 @@ instance : CoeFun (Trivialization F proj) fun _ => Z → B × F :=
 instance : Coe (Trivialization F proj) (Pretrivialization F proj) :=
   ⟨toPretrivialization⟩
 
-/- warning: trivialization.to_pretrivialization_injective -> Trivialization.toPretrivialization_injective is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z], Function.Injective.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u2) (succ u3)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Trivialization.toPretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z], Function.Injective.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (fun (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) => Trivialization.toPretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)
-Case conversion may be inaccurate. Consider using '#align trivialization.to_pretrivialization_injective Trivialization.toPretrivialization_injectiveₓ'. -/
 theorem toPretrivialization_injective :
     Function.Injective fun e : Trivialization F proj => e.toPretrivialization :=
   by
@@ -537,250 +333,109 @@ theorem toPretrivialization_injective :
   exact id
 #align trivialization.to_pretrivialization_injective Trivialization.toPretrivialization_injective
 
-/- warning: trivialization.coe_coe -> Trivialization.coe_coe is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{max (succ u3) (succ (max u1 u2))} (Z -> (Prod.{u1, u2} B F)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (fun (_x : LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) => Z -> (Prod.{u1, u2} B F)) (LocalHomeomorph.hasCoeToFun.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Z -> (Prod.{u3, u2} B F)) (LocalHomeomorph.toFun'.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)
-Case conversion may be inaccurate. Consider using '#align trivialization.coe_coe Trivialization.coe_coeₓ'. -/
 @[simp, mfld_simps]
 theorem coe_coe : ⇑e.toLocalHomeomorph = e :=
   rfl
 #align trivialization.coe_coe Trivialization.coe_coe
 
-/- warning: trivialization.coe_fst -> Trivialization.coe_fst is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x)) (proj x))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u2} B (Prod.fst.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e x)) (proj x))
-Case conversion may be inaccurate. Consider using '#align trivialization.coe_fst Trivialization.coe_fstₓ'. -/
 @[simp, mfld_simps]
 theorem coe_fst (ex : x ∈ e.source) : (e x).1 = proj x :=
   e.proj_toFun x ex
 #align trivialization.coe_fst Trivialization.coe_fst
 
-/- warning: trivialization.eq_on -> Trivialization.eqOn is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Set.EqOn.{u3, u1} Z B (Function.comp.{succ u3, max (succ u1) (succ u2), succ u1} Z (Prod.{u1, u2} B F) B (Prod.fst.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e)) proj (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Set.EqOn.{u3, u2} Z B (Function.comp.{succ u3, max (succ u1) (succ u2), succ u2} Z (Prod.{u2, u1} B F) B (Prod.fst.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) proj (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))
-Case conversion may be inaccurate. Consider using '#align trivialization.eq_on Trivialization.eqOnₓ'. -/
 protected theorem eqOn : EqOn (Prod.fst ∘ e) proj e.source := fun x hx => e.coe_fst hx
 #align trivialization.eq_on Trivialization.eqOn
 
-/- warning: trivialization.mem_source -> Trivialization.mem_source is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, Iff (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, Iff (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (proj x) (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))
-Case conversion may be inaccurate. Consider using '#align trivialization.mem_source Trivialization.mem_sourceₓ'. -/
 theorem mem_source : x ∈ e.source ↔ proj x ∈ e.baseSet := by rw [e.source_eq, mem_preimage]
 #align trivialization.mem_source Trivialization.mem_source
 
-/- warning: trivialization.coe_fst' -> Trivialization.coe_fst' is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x)) (proj x))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u3} B (Prod.fst.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x)) (proj x))
-Case conversion may be inaccurate. Consider using '#align trivialization.coe_fst' Trivialization.coe_fst'ₓ'. -/
 theorem coe_fst' (ex : proj x ∈ e.baseSet) : (e x).1 = proj x :=
   e.coe_fst (e.mem_source.2 ex)
 #align trivialization.coe_fst' Trivialization.coe_fst'
 
-/- warning: trivialization.mk_proj_snd -> Trivialization.mk_proj_snd is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Prod.mk.{u2, u1} B F (proj x) (Prod.snd.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e x))) (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e x))
-Case conversion may be inaccurate. Consider using '#align trivialization.mk_proj_snd Trivialization.mk_proj_sndₓ'. -/
 theorem mk_proj_snd (ex : x ∈ e.source) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst ex).symm rfl
 #align trivialization.mk_proj_snd Trivialization.mk_proj_snd
 
-/- warning: trivialization.mk_proj_snd' -> Trivialization.mk_proj_snd' is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Prod.mk.{u3, u2} B F (proj x) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))
-Case conversion may be inaccurate. Consider using '#align trivialization.mk_proj_snd' Trivialization.mk_proj_snd'ₓ'. -/
 theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst' ex).symm rfl
 #align trivialization.mk_proj_snd' Trivialization.mk_proj_snd'
 
-/- warning: trivialization.source_inter_preimage_target_inter -> Trivialization.source_inter_preimage_target_inter is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{max u1 u2} (Prod.{u1, u2} B F)), Eq.{succ u3} (Set.{u3} Z) (Inter.inter.{u3} (Set.{u3} Z) (Set.hasInter.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Set.preimage.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) (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.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) s))) (Inter.inter.{u3} (Set.{u3} Z) (Set.hasInter.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Set.preimage.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) s))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u3}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u2, u3, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{max u3 u2} (Prod.{u2, u3} B F)), Eq.{succ u1} (Set.{u1} Z) (Inter.inter.{u1} (Set.{u1} Z) (Set.instInterSet.{u1} Z) (LocalEquiv.source.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u2 u3} Z (Prod.{u2, u3} B F) _inst_3 (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Set.preimage.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (Trivialization.toFun'.{u2, u3, u1} B F Z _inst_1 _inst_2 proj _inst_3 e) (Inter.inter.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.instInterSet.{max u2 u3} (Prod.{u2, u3} B F)) (LocalEquiv.target.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u2 u3} Z (Prod.{u2, u3} B F) _inst_3 (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) s))) (Inter.inter.{u1} (Set.{u1} Z) (Set.instInterSet.{u1} Z) (LocalEquiv.source.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u2 u3} Z (Prod.{u2, u3} B F) _inst_3 (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Set.preimage.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (Trivialization.toFun'.{u2, u3, u1} B F Z _inst_1 _inst_2 proj _inst_3 e) s))
-Case conversion may be inaccurate. Consider using '#align trivialization.source_inter_preimage_target_inter Trivialization.source_inter_preimage_target_interₓ'. -/
 theorem source_inter_preimage_target_inter (s : Set (B × F)) :
     e.source ∩ e ⁻¹' (e.target ∩ s) = e.source ∩ e ⁻¹' s :=
   e.toLocalHomeomorph.source_inter_preimage_target_inter s
 #align trivialization.source_inter_preimage_target_inter Trivialization.source_inter_preimage_target_inter
 
-/- warning: trivialization.coe_mk -> Trivialization.coe_mk is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align trivialization.coe_mk Trivialization.coe_mkₓ'. -/
 @[simp, mfld_simps]
 theorem coe_mk (e : LocalHomeomorph Z (B × F)) (i j k l m) (x : Z) :
     (Trivialization.mk e i j k l m : Trivialization F proj) x = e x :=
   rfl
 #align trivialization.coe_mk Trivialization.coe_mk
 
-/- warning: trivialization.mem_target -> Trivialization.mem_target is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u1, u2} B F}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (Prod.fst.{u1, u2} B F x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : 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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F x) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))
-Case conversion may be inaccurate. Consider using '#align trivialization.mem_target Trivialization.mem_targetₓ'. -/
 theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet :=
   e.toPretrivialization.mem_target
 #align trivialization.mem_target Trivialization.mem_target
 
-/- warning: trivialization.map_target -> Trivialization.map_target is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) x) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) x) (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))))
-Case conversion may be inaccurate. Consider using '#align trivialization.map_target Trivialization.map_targetₓ'. -/
 theorem map_target {x : B × F} (hx : x ∈ e.target) : e.toLocalHomeomorph.symm x ∈ e.source :=
   e.toLocalHomeomorph.map_target hx
 #align trivialization.map_target Trivialization.map_target
 
-/- warning: trivialization.proj_symm_apply -> Trivialization.proj_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u1} B (proj (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) x)) (Prod.fst.{u1, u2} B F x))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u3} B (proj (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) x)) (Prod.fst.{u3, u2} B F x))
-Case conversion may be inaccurate. Consider using '#align trivialization.proj_symm_apply Trivialization.proj_symm_applyₓ'. -/
 theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalHomeomorph.symm x) = x.1 :=
   e.toPretrivialization.proj_symm_apply hx
 #align trivialization.proj_symm_apply Trivialization.proj_symm_apply
 
-/- warning: trivialization.proj_symm_apply' -> Trivialization.proj_symm_apply' is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} {x : F}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u1} B (proj (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F b x))) b)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} {x : F}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u3} B (proj (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F b x))) b)
-Case conversion may be inaccurate. Consider using '#align trivialization.proj_symm_apply' Trivialization.proj_symm_apply'ₓ'. -/
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     proj (e.toLocalHomeomorph.symm (b, x)) = b :=
   e.toPretrivialization.proj_symm_apply' hx
 #align trivialization.proj_symm_apply' Trivialization.proj_symm_apply'
 
-/- warning: trivialization.proj_surj_on_base_set -> Trivialization.proj_surjOn_baseSet is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) [_inst_5 : Nonempty.{succ u2} F], Set.SurjOn.{u3, u1} Z B proj (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)
-but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u3}} {Z : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u2} Z] (e : Trivialization.{u1, u3, u2} B F Z _inst_1 _inst_2 _inst_3 proj) [_inst_5 : Nonempty.{succ u3} F], Set.SurjOn.{u2, u1} Z B proj (LocalEquiv.source.{u2, max u1 u3} Z (Prod.{u1, u3} B F) (LocalHomeomorph.toLocalEquiv.{u2, max u1 u3} Z (Prod.{u1, u3} B F) _inst_3 (instTopologicalSpaceProd.{u1, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u3, u2} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Trivialization.baseSet.{u1, u3, u2} B F Z _inst_1 _inst_2 _inst_3 proj e)
-Case conversion may be inaccurate. Consider using '#align trivialization.proj_surj_on_base_set Trivialization.proj_surjOn_baseSetₓ'. -/
 theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet :=
   e.toPretrivialization.proj_surjOn_baseSet
 #align trivialization.proj_surj_on_base_set Trivialization.proj_surjOn_baseSet
 
-/- warning: trivialization.apply_symm_apply -> Trivialization.apply_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) x)) x)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) x)) x)
-Case conversion may be inaccurate. Consider using '#align trivialization.apply_symm_apply Trivialization.apply_symm_applyₓ'. -/
 theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalHomeomorph.symm x) = x :=
   e.toLocalHomeomorph.right_inv hx
 #align trivialization.apply_symm_apply Trivialization.apply_symm_apply
 
-/- warning: trivialization.apply_symm_apply' -> Trivialization.apply_symm_apply' is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} {x : F}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F b x))) (Prod.mk.{u1, u2} B F b x))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} {x : F}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F b x))) (Prod.mk.{u3, u2} B F b x))
-Case conversion may be inaccurate. Consider using '#align trivialization.apply_symm_apply' Trivialization.apply_symm_apply'ₓ'. -/
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     e (e.toLocalHomeomorph.symm (b, x)) = (b, x) :=
   e.toPretrivialization.apply_symm_apply' hx
 #align trivialization.apply_symm_apply' Trivialization.apply_symm_apply'
 
-/- warning: trivialization.symm_apply_mk_proj -> Trivialization.symm_apply_mk_proj is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u3} Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x)))) x)
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u3} Z (LocalHomeomorph.toFun'.{max u2 u1, u3} (Prod.{u2, u1} B F) Z (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u2, u1} B F (proj x) (Prod.snd.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e x)))) x)
-Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply_mk_proj Trivialization.symm_apply_mk_projₓ'. -/
 @[simp, mfld_simps]
 theorem symm_apply_mk_proj (ex : x ∈ e.source) : e.toLocalHomeomorph.symm (proj x, (e x).2) = x :=
   e.toPretrivialization.symm_apply_mk_proj ex
 #align trivialization.symm_apply_mk_proj Trivialization.symm_apply_mk_proj
 
-/- warning: trivialization.symm_trans_source_eq -> Trivialization.symm_trans_source_eq is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.source.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) (Set.univ.{u2} F))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e')))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e')) (Set.univ.{u2} F))
-Case conversion may be inaccurate. Consider using '#align trivialization.symm_trans_source_eq Trivialization.symm_trans_source_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem symm_trans_source_eq (e e' : Trivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_source_eq e.toPretrivialization e'
 #align trivialization.symm_trans_source_eq Trivialization.symm_trans_source_eq
 
-/- warning: trivialization.symm_trans_target_eq -> Trivialization.symm_trans_target_eq is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.target.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) (Set.univ.{u2} F))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e')))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e')) (Set.univ.{u2} F))
-Case conversion may be inaccurate. Consider using '#align trivialization.symm_trans_target_eq Trivialization.symm_trans_target_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem symm_trans_target_eq (e e' : Trivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_target_eq e.toPretrivialization e'
 #align trivialization.symm_trans_target_eq Trivialization.symm_trans_target_eq
 
-/- warning: trivialization.coe_fst_eventually_eq_proj -> Trivialization.coe_fst_eventuallyEq_proj is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Filter.EventuallyEq.{u3, u1} Z B (nhds.{u3} Z _inst_3 x) (Function.comp.{succ u3, max (succ u1) (succ u2), succ u1} Z (Prod.{u1, u2} B F) B (Prod.fst.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e)) proj)
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Filter.EventuallyEq.{u3, u2} Z B (nhds.{u3} Z _inst_3 x) (Function.comp.{succ u3, max (succ u1) (succ u2), succ u2} Z (Prod.{u2, u1} B F) B (Prod.fst.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) proj)
-Case conversion may be inaccurate. Consider using '#align trivialization.coe_fst_eventually_eq_proj Trivialization.coe_fst_eventuallyEq_projₓ'. -/
 theorem coe_fst_eventuallyEq_proj (ex : x ∈ e.source) : Prod.fst ∘ e =ᶠ[𝓝 x] proj :=
   mem_nhds_iff.2 ⟨e.source, fun y hy => e.coe_fst hy, e.open_source, ex⟩
 #align trivialization.coe_fst_eventually_eq_proj Trivialization.coe_fst_eventuallyEq_proj
 
-/- warning: trivialization.coe_fst_eventually_eq_proj' -> Trivialization.coe_fst_eventuallyEq_proj' is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Filter.EventuallyEq.{u3, u1} Z B (nhds.{u3} Z _inst_3 x) (Function.comp.{succ u3, max (succ u1) (succ u2), succ u1} Z (Prod.{u1, u2} B F) B (Prod.fst.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e)) proj)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Filter.EventuallyEq.{u1, u3} Z B (nhds.{u1} Z _inst_3 x) (Function.comp.{succ u1, max (succ u2) (succ u3), succ u3} Z (Prod.{u3, u2} B F) B (Prod.fst.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) proj)
-Case conversion may be inaccurate. Consider using '#align trivialization.coe_fst_eventually_eq_proj' Trivialization.coe_fst_eventuallyEq_proj'ₓ'. -/
 theorem coe_fst_eventuallyEq_proj' (ex : proj x ∈ e.baseSet) : Prod.fst ∘ e =ᶠ[𝓝 x] proj :=
   e.coe_fst_eventuallyEq_proj (e.mem_source.2 ex)
 #align trivialization.coe_fst_eventually_eq_proj' Trivialization.coe_fst_eventuallyEq_proj'
 
-/- warning: trivialization.map_proj_nhds -> Trivialization.map_proj_nhds is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u1} (Filter.{u1} B) (Filter.map.{u3, u1} Z B proj (nhds.{u3} Z _inst_3 x)) (nhds.{u1} B _inst_1 (proj x)))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u2} (Filter.{u2} B) (Filter.map.{u3, u2} Z B proj (nhds.{u3} Z _inst_3 x)) (nhds.{u2} B _inst_1 (proj x)))
-Case conversion may be inaccurate. Consider using '#align trivialization.map_proj_nhds Trivialization.map_proj_nhdsₓ'. -/
 theorem map_proj_nhds (ex : x ∈ e.source) : map proj (𝓝 x) = 𝓝 (proj x) := by
   rw [← e.coe_fst ex, ← map_congr (e.coe_fst_eventually_eq_proj ex), ← map_map, ← e.coe_coe,
     e.to_local_homeomorph.map_nhds_eq ex, map_fst_nhds]
 #align trivialization.map_proj_nhds Trivialization.map_proj_nhds
 
-/- warning: trivialization.preimage_subset_source -> Trivialization.preimage_subset_source is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B}, (HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (HasSubset.Subset.{u3} (Set.{u3} Z) (Set.hasSubset.{u3} Z) (Set.preimage.{u3, u1} Z B proj s) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B}, (HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (HasSubset.Subset.{u1} (Set.{u1} Z) (Set.instHasSubsetSet.{u1} Z) (Set.preimage.{u1, u3} Z B proj s) (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))))
-Case conversion may be inaccurate. Consider using '#align trivialization.preimage_subset_source Trivialization.preimage_subset_sourceₓ'. -/
 theorem preimage_subset_source {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ⊆ e.source :=
   fun p hp => e.mem_source.mpr (hb hp)
 #align trivialization.preimage_subset_source Trivialization.preimage_subset_source
 
-/- warning: trivialization.image_preimage_eq_prod_univ -> Trivialization.image_preimage_eq_prod_univ is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B}, (HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.image.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) (Set.preimage.{u3, u1} Z B proj s)) (Set.prod.{u1, u2} B F s (Set.univ.{u2} F)))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B}, (HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.image.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e) (Set.preimage.{u1, u3} Z B proj s)) (Set.prod.{u3, u2} B F s (Set.univ.{u2} F)))
-Case conversion may be inaccurate. Consider using '#align trivialization.image_preimage_eq_prod_univ Trivialization.image_preimage_eq_prod_univₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem image_preimage_eq_prod_univ {s : Set B} (hb : s ⊆ e.baseSet) :
     e '' (proj ⁻¹' s) = s ×ˢ univ :=
@@ -792,12 +447,6 @@ theorem image_preimage_eq_prod_univ {s : Set B} (hb : s ⊆ e.baseSet) :
     ⟨e.invFun p, mem_preimage.mpr ((e.proj_symm_apply hp').symm ▸ hp.1), e.apply_symm_apply hp'⟩
 #align trivialization.image_preimage_eq_prod_univ Trivialization.image_preimage_eq_prod_univ
 
-/- warning: trivialization.preimage_homeomorph -> Trivialization.preimageHomeomorph is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B}, (HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2))
-but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B}, (HasSubset.Subset.{u1} (Set.{u1} B) (Set.instHasSubsetSet.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (Set.Elem.{u1} B s) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u1, u2} (Set.Elem.{u1} B s) F (instTopologicalSpaceSubtype.{u1} B (fun (x : B) => Membership.mem.{u1, u1} B (Set.{u1} B) (Set.instMembershipSet.{u1} B) x s) _inst_1) _inst_2))
-Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph Trivialization.preimageHomeomorphₓ'. -/
 /-- The preimage of a subset of the base set is homeomorphic to the product with the fiber. -/
 def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ s × F :=
   (e.toLocalHomeomorph.homeomorphOfImageSubsetSource (e.preimage_subset_source hb)
@@ -805,47 +454,29 @@ def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ
     ((Homeomorph.Set.prod s univ).trans ((Homeomorph.refl s).prodCongr (Homeomorph.Set.univ F)))
 #align trivialization.preimage_homeomorph Trivialization.preimageHomeomorph
 
-/- warning: trivialization.preimage_homeomorph_apply -> Trivialization.preimageHomeomorph_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph_apply Trivialization.preimageHomeomorph_applyₓ'. -/
 @[simp]
 theorem preimageHomeomorph_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : proj ⁻¹' s) :
     e.preimageHomeomorph hb p = (⟨proj p, p.2⟩, (e p).2) :=
   Prod.ext (Subtype.ext (e.proj_toFun p (e.mem_source.mpr (hb p.2)))) rfl
 #align trivialization.preimage_homeomorph_apply Trivialization.preimageHomeomorph_apply
 
-/- warning: trivialization.preimage_homeomorph_symm_apply -> Trivialization.preimageHomeomorph_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph_symm_apply Trivialization.preimageHomeomorph_symm_applyₓ'. -/
 @[simp]
 theorem preimageHomeomorph_symm_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : s × F) :
     (e.preimageHomeomorph hb).symm p = ⟨e.symm (p.1, p.2), ((e.preimageHomeomorph hb).symm p).2⟩ :=
   rfl
 #align trivialization.preimage_homeomorph_symm_apply Trivialization.preimageHomeomorph_symm_apply
 
-/- warning: trivialization.source_homeomorph_base_set_prod -> Trivialization.sourceHomeomorphBaseSetProd is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)
-but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (Set.Elem.{u1} B (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u1, u2} (Set.Elem.{u1} B (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u1} B (fun (x : B) => Membership.mem.{u1, u1} B (Set.{u1} B) (Set.instMembershipSet.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)
-Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod Trivialization.sourceHomeomorphBaseSetProdₓ'. -/
 /-- The source is homeomorphic to the product of the base set with the fiber. -/
 def sourceHomeomorphBaseSetProd : e.source ≃ₜ e.baseSet × F :=
   (Homeomorph.setCongr e.source_eq).trans (e.preimageHomeomorph subset_rfl)
 #align trivialization.source_homeomorph_base_set_prod Trivialization.sourceHomeomorphBaseSetProd
 
-/- warning: trivialization.source_homeomorph_base_set_prod_apply -> Trivialization.sourceHomeomorphBaseSetProd_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod_apply Trivialization.sourceHomeomorphBaseSetProd_applyₓ'. -/
 @[simp]
 theorem sourceHomeomorphBaseSetProd_apply (p : e.source) :
     e.sourceHomeomorphBaseSetProd p = (⟨proj p, e.mem_source.mp p.2⟩, (e p).2) :=
   e.preimageHomeomorph_apply subset_rfl ⟨p, e.mem_source.mp p.2⟩
 #align trivialization.source_homeomorph_base_set_prod_apply Trivialization.sourceHomeomorphBaseSetProd_apply
 
-/- warning: trivialization.source_homeomorph_base_set_prod_symm_apply -> Trivialization.sourceHomeomorphBaseSetProd_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod_symm_apply Trivialization.sourceHomeomorphBaseSetProd_symm_applyₓ'. -/
 @[simp]
 theorem sourceHomeomorphBaseSetProd_symm_apply (p : e.baseSet × F) :
     e.sourceHomeomorphBaseSetProd.symm p =
@@ -853,12 +484,6 @@ theorem sourceHomeomorphBaseSetProd_symm_apply (p : e.baseSet × F) :
   rfl
 #align trivialization.source_homeomorph_base_set_prod_symm_apply Trivialization.sourceHomeomorphBaseSetProd_symm_apply
 
-/- warning: trivialization.preimage_singleton_homeomorph -> Trivialization.preimageSingletonHomeomorph is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u_2}} {F : Type.{u_3}} {Z : Type.{u_5}} [_inst_1 : TopologicalSpace.{u_2} B] [_inst_2 : TopologicalSpace.{u_3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_5} Z] (e : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Trivialization.baseSet.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Homeomorph.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2)
-but is expected to have type
-  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2)
-Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph Trivialization.preimageSingletonHomeomorphₓ'. -/
 /-- Each fiber of a trivialization is homeomorphic to the specified fiber. -/
 def preimageSingletonHomeomorph {b : B} (hb : b ∈ e.baseSet) : proj ⁻¹' {b} ≃ₜ F :=
   (e.preimageHomeomorph (Set.singleton_subset_iff.mpr hb)).trans
@@ -866,18 +491,12 @@ def preimageSingletonHomeomorph {b : B} (hb : b ∈ e.baseSet) : proj ⁻¹' {b}
       (Homeomorph.punitProd F))
 #align trivialization.preimage_singleton_homeomorph Trivialization.preimageSingletonHomeomorph
 
-/- warning: trivialization.preimage_singleton_homeomorph_apply -> Trivialization.preimageSingletonHomeomorph_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph_apply Trivialization.preimageSingletonHomeomorph_applyₓ'. -/
 @[simp]
 theorem preimageSingletonHomeomorph_apply {b : B} (hb : b ∈ e.baseSet) (p : proj ⁻¹' {b}) :
     e.preimageSingletonHomeomorph hb p = (e p).2 :=
   rfl
 #align trivialization.preimage_singleton_homeomorph_apply Trivialization.preimageSingletonHomeomorph_apply
 
-/- warning: trivialization.preimage_singleton_homeomorph_symm_apply -> Trivialization.preimageSingletonHomeomorph_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph_symm_apply Trivialization.preimageSingletonHomeomorph_symm_applyₓ'. -/
 @[simp]
 theorem preimageSingletonHomeomorph_symm_apply {b : B} (hb : b ∈ e.baseSet) (p : F) :
     (e.preimageSingletonHomeomorph hb).symm p =
@@ -885,23 +504,11 @@ theorem preimageSingletonHomeomorph_symm_apply {b : B} (hb : b ∈ e.baseSet) (p
   rfl
 #align trivialization.preimage_singleton_homeomorph_symm_apply Trivialization.preimageSingletonHomeomorph_symm_apply
 
-/- warning: trivialization.continuous_at_proj -> Trivialization.continuousAt_proj is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (ContinuousAt.{u3, u1} Z B _inst_3 _inst_1 proj x)
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (ContinuousAt.{u3, u2} Z B _inst_3 _inst_1 proj x)
-Case conversion may be inaccurate. Consider using '#align trivialization.continuous_at_proj Trivialization.continuousAt_projₓ'. -/
 /-- In the domain of a bundle trivialization, the projection is continuous-/
 theorem continuousAt_proj (ex : x ∈ e.source) : ContinuousAt proj x :=
   (e.map_proj_nhds ex).le
 #align trivialization.continuous_at_proj Trivialization.continuousAt_proj
 
-/- warning: trivialization.comp_homeomorph -> Trivialization.compHomeomorph is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z], (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) -> (forall {Z' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} Z'] (h : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3), Trivialization.{u1, u2, u4} B F Z' _inst_1 _inst_2 _inst_5 (Function.comp.{succ u4, succ u3, succ u1} Z' Z B proj (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) (fun (_x : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) => Z' -> Z) (Homeomorph.hasCoeToFun.{u4, u3} Z' Z _inst_5 _inst_3) h)))
-but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z], (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) -> (forall {Z' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} Z'] (h : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3), Trivialization.{u1, u2, u4} B F Z' _inst_1 _inst_2 _inst_5 (Function.comp.{succ u4, succ u3, succ u1} Z' Z B proj (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' (fun (_x : Z') => Z) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' Z (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' Z (Homeomorph.instEquivLikeHomeomorph.{u4, u3} Z' Z _inst_5 _inst_3))) h)))
-Case conversion may be inaccurate. Consider using '#align trivialization.comp_homeomorph Trivialization.compHomeomorphₓ'. -/
 /-- Composition of a `trivialization` and a `homeomorph`. -/
 protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ Z) :
     Trivialization F (proj ∘ h)
@@ -916,12 +523,6 @@ protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ
     simp [hp]
 #align trivialization.comp_homeomorph Trivialization.compHomeomorph
 
-/- warning: trivialization.continuous_at_of_comp_right -> Trivialization.continuousAt_of_comp_right is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] {X : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} X] {f : Z -> X} {z : Z} (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj z) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (ContinuousAt.{max u1 u2, u4} (Prod.{u1, u2} B F) X (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_5 (Function.comp.{succ (max u1 u2), succ u3, succ u4} (Prod.{u1, u2} B F) Z X f (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e z)) -> (ContinuousAt.{u3, u4} Z X _inst_3 _inst_5 f z)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] {X : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} X] {f : Z -> X} {z : Z} (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj z) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (ContinuousAt.{max u3 u2, u4} (Prod.{u3, u2} B F) X (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_5 (Function.comp.{succ (max u3 u2), succ u1, succ u4} (Prod.{u3, u2} B F) Z X f (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e z)) -> (ContinuousAt.{u1, u4} Z X _inst_3 _inst_5 f z)
-Case conversion may be inaccurate. Consider using '#align trivialization.continuous_at_of_comp_right Trivialization.continuousAt_of_comp_rightₓ'. -/
 /-- Read off the continuity of a function `f : Z → X` at `z : Z` by transferring via a
 trivialization of `Z` containing `z`. -/
 theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z → X} {z : Z}
@@ -936,12 +537,6 @@ theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z →
     LocalHomeomorph.symm_symm]
 #align trivialization.continuous_at_of_comp_right Trivialization.continuousAt_of_comp_right
 
-/- warning: trivialization.continuous_at_of_comp_left -> Trivialization.continuousAt_of_comp_left is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] {X : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} X] {f : X -> Z} {x : X} (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), (ContinuousAt.{u4, u1} X B _inst_5 _inst_1 (Function.comp.{succ u4, succ u3, succ u1} X Z B proj f) x) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj (f x)) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (ContinuousAt.{u4, max u1 u2} X (Prod.{u1, u2} B F) _inst_5 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Function.comp.{succ u4, succ u3, succ (max u1 u2)} X Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) f) x) -> (ContinuousAt.{u4, u3} X Z _inst_5 _inst_3 f x)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] {X : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} X] {f : X -> Z} {x : X} (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), (ContinuousAt.{u4, u3} X B _inst_5 _inst_1 (Function.comp.{succ u4, succ u1, succ u3} X Z B proj f) x) -> (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj (f x)) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (ContinuousAt.{u4, max u3 u2} X (Prod.{u3, u2} B F) _inst_5 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Function.comp.{succ u4, succ u1, succ (max u3 u2)} X Z (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e) f) x) -> (ContinuousAt.{u4, u1} X Z _inst_5 _inst_3 f x)
-Case conversion may be inaccurate. Consider using '#align trivialization.continuous_at_of_comp_left Trivialization.continuousAt_of_comp_leftₓ'. -/
 /-- Read off the continuity of a function `f : X → Z` at `x : X` by transferring via a
 trivialization of `Z` containing `f x`. -/
 theorem continuousAt_of_comp_left {X : Type _} [TopologicalSpace X] {f : X → Z} {x : X}
@@ -956,74 +551,32 @@ theorem continuousAt_of_comp_left {X : Type _} [TopologicalSpace X] {f : X → Z
 
 variable {E} (e' : Trivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
 
-/- warning: trivialization.continuous_on -> Trivialization.continuousOn 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)), ContinuousOn.{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_1 _inst_2) (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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e') (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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) 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] [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] (e' : Trivialization.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E)), ContinuousOn.{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_1 _inst_2) (Trivialization.toFun'.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E) _inst_4 e') (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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e')))
-Case conversion may be inaccurate. Consider using '#align trivialization.continuous_on Trivialization.continuousOnₓ'. -/
 protected theorem continuousOn : ContinuousOn e' e'.source :=
   e'.continuous_toFun
 #align trivialization.continuous_on Trivialization.continuousOn
 
-/- warning: trivialization.coe_mem_source -> Trivialization.coe_mem_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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B} {y : E b}, Iff (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)) ((fun (a : Type.{u3}) (b : Type.{max u1 u3}) [self : HasLiftT.{succ u3, succ (max u1 u3)} a b] => self.0) (E b) (Bundle.TotalSpace.{u1, u3} B E) (HasLiftT.mk.{succ u3, succ (max u1 u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (CoeTCₓ.coe.{succ u3, succ (max u1 u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.TotalSpace.hasCoeT.{u1, u3} B E b))) y) (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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e')))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) 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] [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] (e' : Trivialization.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E)) {b : B} {y : E b}, Iff (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)) (Bundle.totalSpaceMk.{u3, u2} B E b y) (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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e')))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e'))
-Case conversion may be inaccurate. Consider using '#align trivialization.coe_mem_source Trivialization.coe_mem_sourceₓ'. -/
 theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
   e'.mem_source
 #align trivialization.coe_mem_source Trivialization.coe_mem_source
 
-/- warning: trivialization.open_target -> Trivialization.open_target' 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)), IsOpen.{max u1 u2} (Prod.{u1, u2} B F) (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (LocalEquiv.target.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] (e' : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)), IsOpen.{max u3 u2} (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e')))
-Case conversion may be inaccurate. Consider using '#align trivialization.open_target Trivialization.open_target'ₓ'. -/
 theorem open_target' : IsOpen e'.target := by rw [e'.target_eq];
   exact e'.open_base_set.prod isOpen_univ
 #align trivialization.open_target Trivialization.open_target'
 
-/- warning: trivialization.coe_coe_fst -> Trivialization.coe_coe_fst 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B} {y : E b}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) 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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e' ((fun (a : Type.{u3}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u3, max (succ u1) (succ u3)} a b] => self.0) (E b) (Bundle.TotalSpace.{u1, u3} B E) (HasLiftT.mk.{succ u3, max (succ u1) (succ u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (CoeTCₓ.coe.{succ u3, max (succ u1) (succ u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.TotalSpace.hasCoeT.{u1, u3} B E b))) y))) b)
-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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] (e' : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B} {y : E b}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e')) -> (Eq.{succ u3} B (Prod.fst.{u3, u2} B F (Trivialization.toFun'.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) _inst_4 e' (Bundle.totalSpaceMk.{u3, u1} B E b y))) b)
-Case conversion may be inaccurate. Consider using '#align trivialization.coe_coe_fst Trivialization.coe_coe_fstₓ'. -/
 @[simp, mfld_simps]
 theorem coe_coe_fst (hb : b ∈ e'.baseSet) : (e' y).1 = b :=
   e'.coe_fst (e'.mem_source.2 hb)
 #align trivialization.coe_coe_fst Trivialization.coe_coe_fst
 
-/- warning: trivialization.mk_mem_target -> Trivialization.mk_mem_target 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B} {y : F}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) (Prod.mk.{u1, u2} B F b y) (LocalEquiv.target.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e')))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e'))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u3}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] (e' : Trivialization.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u2, u1} B E)) {b : B} {y : F}, Iff (Membership.mem.{max u3 u2, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.instMembershipSet.{max u2 u3} (Prod.{u2, u3} B F)) (Prod.mk.{u2, u3} B F b y) (LocalEquiv.target.{max u2 u1, max u2 u3} (Bundle.TotalSpace.{u2, u1} B E) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u3} (Bundle.TotalSpace.{u2, u1} B E) (Prod.{u2, u3} B F) _inst_4 (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u2, u1} B E) e')))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) b (Trivialization.baseSet.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u2, u1} B E) e'))
-Case conversion may be inaccurate. Consider using '#align trivialization.mk_mem_target Trivialization.mk_mem_targetₓ'. -/
 theorem mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.baseSet :=
   e'.toPretrivialization.mem_target
 #align trivialization.mk_mem_target Trivialization.mk_mem_target
 
-/- warning: trivialization.symm_apply_apply -> Trivialization.symm_apply_apply 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e')))) -> (Eq.{max (succ u1) (succ u3)} (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))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e')) (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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e' x)) x)
-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] [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] (e' : Trivialization.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E)) {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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e')))) -> (Eq.{max (succ u3) (succ u2)} (Bundle.TotalSpace.{u3, u2} B E) (LocalHomeomorph.toFun'.{max u3 u1, max u3 u2} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) (instTopologicalSpaceProd.{u3, u1} B F _inst_1 _inst_2) _inst_4 (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e')) (Trivialization.toFun'.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E) _inst_4 e' x)) x)
-Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply_apply Trivialization.symm_apply_applyₓ'. -/
 theorem symm_apply_apply {x : TotalSpace E} (hx : x ∈ e'.source) :
     e'.toLocalHomeomorph.symm (e' x) = x :=
   e'.toLocalEquiv.left_inv hx
 #align trivialization.symm_apply_apply Trivialization.symm_apply_apply
 
-/- warning: trivialization.symm_coe_proj -> Trivialization.symm_coe_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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] {x : B} {y : F} (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (Eq.{succ u1} B (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F x y))) x)
-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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] {x : B} {y : F} (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (Eq.{succ u3} B (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F x y))) x)
-Case conversion may be inaccurate. Consider using '#align trivialization.symm_coe_proj Trivialization.symm_coe_projₓ'. -/
 @[simp, mfld_simps]
 theorem symm_coe_proj {x : B} {y : F} (e : Trivialization F (π E)) (h : x ∈ e.baseSet) :
     (e.toLocalHomeomorph.symm (x, y)).1 = x :=
@@ -1042,78 +595,36 @@ protected noncomputable def symm (e : Trivialization F (π E)) (b : B) (y : F) :
 #align trivialization.symm Trivialization.symm
 -/
 
-/- warning: trivialization.symm_apply -> Trivialization.symm_apply 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B} (hb : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (y : F), Eq.{succ u3} (E b) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y) (cast.{succ u3} (E (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F b y)))) (E b) (congr_arg.{succ u1, succ (succ u3)} B Type.{u3} (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F b y))) b E (Trivialization.symm_coe_proj.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 b y e hb)) (Sigma.snd.{u1, u3} B (fun (x : B) => E x) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F b y))))
-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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B} (hb : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (y : F), Eq.{succ u1} (E b) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y) (cast.{succ u1} (E (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F b y)))) (E b) (congr_arg.{succ u3, succ (succ u1)} B Type.{u1} (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F b y))) b E (Trivialization.symm_coe_proj.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 b y e hb)) (Sigma.snd.{u3, u1} B (fun (x : B) => E x) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F b y))))
-Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply Trivialization.symm_applyₓ'. -/
 theorem symm_apply (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalHomeomorph.symm (b, y)).2 :=
   dif_pos hb
 #align trivialization.symm_apply Trivialization.symm_apply
 
-/- warning: trivialization.symm_apply_of_not_mem -> Trivialization.symm_apply_of_not_mem 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B}, (Not (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e))) -> (forall (y : F), Eq.{succ u3} (E b) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y) (OfNat.ofNat.{u3} (E b) 0 (OfNat.mk.{u3} (E b) 0 (Zero.zero.{u3} (E b) (_inst_5 b)))))
-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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B}, (Not (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e))) -> (forall (y : F), Eq.{succ u1} (E b) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y) (OfNat.ofNat.{u1} (E b) 0 (Zero.toOfNat0.{u1} (E b) (_inst_5 b))))
-Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply_of_not_mem Trivialization.symm_apply_of_not_memₓ'. -/
 theorem symm_apply_of_not_mem (e : Trivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
     e.symm b y = 0 :=
   dif_neg hb
 #align trivialization.symm_apply_of_not_mem Trivialization.symm_apply_of_not_mem
 
-/- warning: trivialization.mk_symm -> Trivialization.mk_symm 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (forall (y : F), Eq.{max (succ u1) (succ u3)} (Bundle.TotalSpace.{u1, u3} B E) (Bundle.totalSpaceMk.{u1, u3} B E b (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y)) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F b y)))
-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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (forall (y : F), Eq.{max (succ u3) (succ u1)} (Bundle.TotalSpace.{u3, u1} B E) (Bundle.totalSpaceMk.{u3, u1} B E b (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y)) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F b y)))
-Case conversion may be inaccurate. Consider using '#align trivialization.mk_symm Trivialization.mk_symmₓ'. -/
 theorem mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     totalSpaceMk b (e.symm b y) = e.toLocalHomeomorph.symm (b, y) :=
   e.toPretrivialization.mk_symm hb y
 #align trivialization.mk_symm Trivialization.mk_symm
 
-/- warning: trivialization.symm_proj_apply -> Trivialization.symm_proj_apply 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) (z : Bundle.TotalSpace.{u1, u3} B E), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (Bundle.TotalSpace.proj.{u1, u3} B E z) (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (Eq.{succ u3} (E (Bundle.TotalSpace.proj.{u1, u3} B E z)) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e (Bundle.TotalSpace.proj.{u1, u3} B E z) (Prod.snd.{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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e z))) (Sigma.snd.{u1, u3} B (fun (x : B) => E x) z))
-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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) (z : Bundle.TotalSpace.{u3, u1} B E), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Bundle.TotalSpace.proj.{u3, u1} B E z) (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (Eq.{succ u1} (E (Bundle.TotalSpace.proj.{u3, u1} B E z)) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e (Bundle.TotalSpace.proj.{u3, u1} B E z) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) _inst_4 e z))) (Sigma.snd.{u3, u1} B (fun (x : B) => E x) z))
-Case conversion may be inaccurate. Consider using '#align trivialization.symm_proj_apply Trivialization.symm_proj_applyₓ'. -/
 theorem symm_proj_apply (e : Trivialization F (π E)) (z : TotalSpace E) (hz : z.proj ∈ e.baseSet) :
     e.symm z.proj (e z).2 = z.2 :=
   e.toPretrivialization.symm_proj_apply z hz
 #align trivialization.symm_proj_apply Trivialization.symm_proj_apply
 
-/- warning: trivialization.symm_apply_apply_mk -> Trivialization.symm_apply_apply_mk 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (forall (y : E b), Eq.{succ u3} (E b) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b (Prod.snd.{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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e (Bundle.totalSpaceMk.{u1, u3} B E b y)))) y)
-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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (forall (y : E b), Eq.{succ u1} (E b) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) _inst_4 e (Bundle.totalSpaceMk.{u3, u1} B E b y)))) y)
-Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply_apply_mk Trivialization.symm_apply_apply_mkₓ'. -/
 theorem symm_apply_apply_mk (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
     e.symm b (e (totalSpaceMk b y)).2 = y :=
   e.symm_proj_apply (totalSpaceMk b y) hb
 #align trivialization.symm_apply_apply_mk Trivialization.symm_apply_apply_mk
 
-/- warning: trivialization.apply_mk_symm -> Trivialization.apply_mk_symm 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (forall (y : F), Eq.{max (succ u1) (succ u2)} (Prod.{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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e (Bundle.totalSpaceMk.{u1, u3} B E b (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y))) (Prod.mk.{u1, u2} B F b y))
-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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (forall (y : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) _inst_4 e (Bundle.totalSpaceMk.{u3, u1} B E b (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y))) (Prod.mk.{u3, u2} B F b y))
-Case conversion may be inaccurate. Consider using '#align trivialization.apply_mk_symm Trivialization.apply_mk_symmₓ'. -/
 theorem apply_mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e (totalSpaceMk b (e.symm b y)) = (b, y) :=
   e.toPretrivialization.apply_mk_symm hb y
 #align trivialization.apply_mk_symm Trivialization.apply_mk_symm
 
-/- warning: trivialization.continuous_on_symm -> Trivialization.continuousOn_symm 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)), 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) _inst_4 (fun (z : Prod.{u1, u2} B F) => Bundle.totalSpaceMk.{u1, u3} B E (Prod.fst.{u1, u2} B F z) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e (Prod.fst.{u1, u2} B F z) (Prod.snd.{u1, u2} B F z))) (Set.prod.{u1, u2} B F (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e) (Set.univ.{u2} F))
-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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)), ContinuousOn.{max u3 u2, max u1 u3} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_4 (fun (z : Prod.{u3, u2} B F) => Bundle.totalSpaceMk.{u3, u1} B E (Prod.fst.{u3, u2} B F z) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e (Prod.fst.{u3, u2} B F z) (Prod.snd.{u3, u2} B F z))) (Set.prod.{u3, u2} B F (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e) (Set.univ.{u2} F))
-Case conversion may be inaccurate. Consider using '#align trivialization.continuous_on_symm Trivialization.continuousOn_symmₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem continuousOn_symm (e : Trivialization F (π E)) :
@@ -1146,12 +657,6 @@ def transFiberHomeomorph {F' : Type _} [TopologicalSpace F'] (e : Trivialization
 #align trivialization.trans_fiber_homeomorph Trivialization.transFiberHomeomorph
 -/
 
-/- warning: trivialization.trans_fiber_homeomorph_apply -> Trivialization.transFiberHomeomorph_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] {F' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} F'] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (h : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (x : Z), Eq.{max (succ u1) (succ u4)} (Prod.{u1, u4} B F') (coeFn.{max (succ u1) (succ u4) (succ u3), max (succ u3) (succ u1) (succ u4)} (Trivialization.{u1, u4, u3} B F' Z _inst_1 _inst_5 _inst_3 proj) (fun (_x : Trivialization.{u1, u4, u3} B F' Z _inst_1 _inst_5 _inst_3 proj) => Z -> (Prod.{u1, u4} B F')) (Trivialization.hasCoeToFun.{u1, u4, u3} B F' Z _inst_1 _inst_5 proj _inst_3) (Trivialization.transFiberHomeomorph.{u1, u2, u3, u4} B F Z _inst_1 _inst_2 proj _inst_3 F' _inst_5 e h) x) (Prod.mk.{u1, u4} B F' (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (fun (_x : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) => F -> F') (Homeomorph.hasCoeToFun.{u2, u4} F F' _inst_2 _inst_5) h (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] {F' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} F'] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (h : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (x : Z), Eq.{max (succ u3) (succ u4)} (Prod.{u3, u4} B F') (Trivialization.toFun'.{u3, u4, u1} B F' Z _inst_1 _inst_5 proj _inst_3 (Trivialization.transFiberHomeomorph.{u3, u2, u1, u4} B F Z _inst_1 _inst_2 proj _inst_3 F' _inst_5 e h) x) (Prod.mk.{u3, u4} B F' (Prod.fst.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F (fun (_x : F) => F') (EmbeddingLike.toFunLike.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F F' (EquivLike.toEmbeddingLike.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F F' (Homeomorph.instEquivLikeHomeomorph.{u2, u4} F F' _inst_2 _inst_5))) h (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))))
-Case conversion may be inaccurate. Consider using '#align trivialization.trans_fiber_homeomorph_apply Trivialization.transFiberHomeomorph_applyₓ'. -/
 @[simp]
 theorem transFiberHomeomorph_apply {F' : Type _} [TopologicalSpace F'] (e : Trivialization F proj)
     (h : F ≃ₜ F') (x : Z) : e.transFiberHomeomorph h x = ((e x).1, h (e x).2) :=
@@ -1166,12 +671,6 @@ def coordChange (e₁ e₂ : Trivialization F proj) (b : B) (x : F) : F :=
 #align trivialization.coord_change Trivialization.coordChange
 -/
 
-/- warning: trivialization.mk_coord_change -> Trivialization.mk_coordChange is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (forall (x : F), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F b (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b x)) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e₂ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (Prod.mk.{u1, u2} B F b x))))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (forall (x : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Prod.mk.{u3, u2} B F b (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b x)) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₂ (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (Prod.mk.{u3, u2} B F b x))))
-Case conversion may be inaccurate. Consider using '#align trivialization.mk_coord_change Trivialization.mk_coordChangeₓ'. -/
 theorem mk_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) (x : F) :
     (b, e₁.coordChange e₂ b x) = e₂ (e₁.toLocalHomeomorph.symm (b, x)) :=
@@ -1182,44 +681,20 @@ theorem mk_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈
   · rwa [e₁.proj_symm_apply' h₁]
 #align trivialization.mk_coord_change Trivialization.mk_coordChange
 
-/- warning: trivialization.coord_change_apply_snd -> Trivialization.coordChange_apply_snd is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {p : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj p) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Eq.{succ u2} F (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ (proj p) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e₁ p))) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e₂ p)))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {p : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj p) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Eq.{succ u2} F (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ (proj p) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ p))) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₂ p)))
-Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_apply_snd Trivialization.coordChange_apply_sndₓ'. -/
 theorem coordChange_apply_snd (e₁ e₂ : Trivialization F proj) {p : Z} (h : proj p ∈ e₁.baseSet) :
     e₁.coordChange e₂ (proj p) (e₁ p).snd = (e₂ p).snd := by
   rw [coord_change, e₁.symm_apply_mk_proj (e₁.mem_source.2 h)]
 #align trivialization.coord_change_apply_snd Trivialization.coordChange_apply_snd
 
-/- warning: trivialization.coord_change_same_apply -> Trivialization.coordChange_same_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (forall (x : F), Eq.{succ u2} F (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e e b x) x)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (forall (x : F), Eq.{succ u2} F (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e e b x) x)
-Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_same_apply Trivialization.coordChange_same_applyₓ'. -/
 theorem coordChange_same_apply (e : Trivialization F proj) {b : B} (h : b ∈ e.baseSet) (x : F) :
     e.coordChange e b x = x := by rw [coord_change, e.apply_symm_apply' h]
 #align trivialization.coord_change_same_apply Trivialization.coordChange_same_apply
 
-/- warning: trivialization.coord_change_same -> Trivialization.coordChange_same is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u2} (F -> F) (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e e b) (id.{succ u2} F))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u2} (F -> F) (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e e b) (id.{succ u2} F))
-Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_same Trivialization.coordChange_sameₓ'. -/
 theorem coordChange_same (e : Trivialization F proj) {b : B} (h : b ∈ e.baseSet) :
     e.coordChange e b = id :=
   funext <| e.coordChange_same_apply h
 #align trivialization.coord_change_same Trivialization.coordChange_same
 
-/- warning: trivialization.coord_change_coord_change -> Trivialization.coordChange_coordChange is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₃ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (forall (x : F), Eq.{succ u2} F (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₂ e₃ b (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b x)) (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₃ b x))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₃ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (forall (x : F), Eq.{succ u2} F (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₂ e₃ b (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b x)) (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₃ b x))
-Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_coord_change Trivialization.coordChange_coordChangeₓ'. -/
 theorem coordChange_coordChange (e₁ e₂ e₃ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) (x : F) :
     e₂.coordChange e₃ b (e₁.coordChange e₂ b x) = e₁.coordChange e₃ b x :=
@@ -1229,12 +704,6 @@ theorem coordChange_coordChange (e₁ e₂ e₃ : Trivialization F proj) {b : B}
   rwa [e₂.mem_source, e₁.proj_symm_apply' h₁]
 #align trivialization.coord_change_coord_change Trivialization.coordChange_coordChange
 
-/- warning: trivialization.continuous_coord_change -> Trivialization.continuous_coordChange is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (Continuous.{u2, u2} F F _inst_2 _inst_2 (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (Continuous.{u2, u2} F F _inst_2 _inst_2 (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b))
-Case conversion may be inaccurate. Consider using '#align trivialization.continuous_coord_change Trivialization.continuous_coordChangeₓ'. -/
 theorem continuous_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) : Continuous (e₁.coordChange e₂ b) :=
   by
@@ -1263,12 +732,6 @@ protected def coordChangeHomeomorph (e₁ e₂ : Trivialization F proj) {b : B}
 #align trivialization.coord_change_homeomorph Trivialization.coordChangeHomeomorph
 -/
 
-/- warning: trivialization.coord_change_homeomorph_coe -> Trivialization.coordChangeHomeomorph_coe is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (h₁ : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (h₂ : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₂)), Eq.{succ u2} (F -> F) (coeFn.{succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) (fun (_x : Homeomorph.{u2, u2} F F _inst_2 _inst_2) => F -> F) (Homeomorph.hasCoeToFun.{u2, u2} F F _inst_2 _inst_2) (Trivialization.coordChangeHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b h₁ h₂)) (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b)
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (h₁ : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (h₂ : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)), Eq.{succ u2} (F -> F) (FunLike.coe.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F (fun (_x : F) => F) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F F (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F F (Homeomorph.instEquivLikeHomeomorph.{u2, u2} F F _inst_2 _inst_2))) (Trivialization.coordChangeHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b h₁ h₂)) (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b)
-Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_homeomorph_coe Trivialization.coordChangeHomeomorph_coeₓ'. -/
 @[simp]
 theorem coordChangeHomeomorph_coe (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) : ⇑(e₁.coordChangeHomeomorph e₂ h₁ h₂) = e₁.coordChange e₂ b :=
@@ -1277,12 +740,6 @@ theorem coordChangeHomeomorph_coe (e₁ e₂ : Trivialization F proj) {b : B} (h
 
 variable {F} {B' : Type _} [TopologicalSpace B']
 
-/- warning: trivialization.is_image_preimage_prod -> Trivialization.isImage_preimage_prod is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u1} B), LocalHomeomorph.IsImage.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Set.preimage.{u3, u1} Z B proj s) (Set.prod.{u1, u2} B F s (Set.univ.{u2} F))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u3} B), LocalHomeomorph.IsImage.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e) (Set.preimage.{u1, u3} Z B proj s) (Set.prod.{u3, u2} B F s (Set.univ.{u2} F))
-Case conversion may be inaccurate. Consider using '#align trivialization.is_image_preimage_prod Trivialization.isImage_preimage_prodₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem isImage_preimage_prod (e : Trivialization F proj) (s : Set B) :
     e.toLocalHomeomorph.IsImage (proj ⁻¹' s) (s ×ˢ univ) := fun x hx => by simp [e.coe_fst', hx]
@@ -1305,24 +762,12 @@ protected def restrOpen (e : Trivialization F proj) (s : Set B) (hs : IsOpen s)
 
 section Piecewise
 
-/- warning: trivialization.frontier_preimage -> Trivialization.frontier_preimage is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u1} B), Eq.{succ u3} (Set.{u3} Z) (Inter.inter.{u3} (Set.{u3} Z) (Set.hasInter.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (frontier.{u3} Z _inst_3 (Set.preimage.{u3, u1} Z B proj s))) (Set.preimage.{u3, u1} Z B proj (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u3} B), Eq.{succ u1} (Set.{u1} Z) (Inter.inter.{u1} (Set.{u1} Z) (Set.instInterSet.{u1} Z) (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (frontier.{u1} Z _inst_3 (Set.preimage.{u1, u3} Z B proj s))) (Set.preimage.{u1, u3} Z B proj (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u3} B _inst_1 s)))
-Case conversion may be inaccurate. Consider using '#align trivialization.frontier_preimage Trivialization.frontier_preimageₓ'. -/
 theorem frontier_preimage (e : Trivialization F proj) (s : Set B) :
     e.source ∩ frontier (proj ⁻¹' s) = proj ⁻¹' (e.baseSet ∩ frontier s) := by
   rw [← (e.is_image_preimage_prod s).frontier.preimage_eq, frontier_prod_univ_eq,
     (e.is_image_preimage_prod _).preimage_eq, e.source_eq, preimage_inter]
 #align trivialization.frontier_preimage Trivialization.frontier_preimage
 
-/- warning: trivialization.piecewise -> Trivialization.piecewise is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u1} B), (Eq.{succ u1} (Set.{u1} B) (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)) (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e') (frontier.{u1} B _inst_1 s))) -> (Set.EqOn.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e') (Set.preimage.{u3, u1} Z B proj (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)))) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
-but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u1} B), (Eq.{succ u1} (Set.{u1} B) (Inter.inter.{u1} (Set.{u1} B) (Set.instInterSet.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)) (Inter.inter.{u1} (Set.{u1} B) (Set.instInterSet.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e') (frontier.{u1} B _inst_1 s))) -> (Set.EqOn.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e') (Set.preimage.{u3, u1} Z B proj (Inter.inter.{u1} (Set.{u1} B) (Set.instInterSet.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)))) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
-Case conversion may be inaccurate. Consider using '#align trivialization.piecewise Trivialization.piecewiseₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- Given two bundle trivializations `e`, `e'` of `proj : Z → B` and a set `s : set B` such that
 the base sets of `e` and `e'` intersect `frontier s` on the same set and `e p = e' p` whenever
@@ -1344,9 +789,6 @@ noncomputable def piecewise (e e' : Trivialization F proj) (s : Set B)
   proj_toFun := by rintro p (⟨he, hs⟩ | ⟨he, hs⟩) <;> simp [*]
 #align trivialization.piecewise Trivialization.piecewise
 
-/- warning: trivialization.piecewise_le_of_eq -> Trivialization.piecewiseLeOfEq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align trivialization.piecewise_le_of_eq Trivialization.piecewiseLeOfEqₓ'. -/
 /-- Given two bundle trivializations `e`, `e'` of a topological fiber bundle `proj : Z → B`
 over a linearly ordered base `B` and a point `a ∈ e.base_set ∩ e'.base_set` such that
 `e` equals `e'` on `proj ⁻¹' {a}`, `e.piecewise_le_of_eq e' a He He' Heq` is the bundle
@@ -1380,12 +822,6 @@ noncomputable def piecewiseLe [LinearOrder B] [OrderTopology B] (e e' : Triviali
 #align trivialization.piecewise_le Trivialization.piecewiseLe
 -/
 
-/- warning: trivialization.disjoint_union -> Trivialization.disjointUnion is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), (Disjoint.{u1} (Set.{u1} B) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} B) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} B) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} B) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} B) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} B) (Set.completeBooleanAlgebra.{u1} B)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} B) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} B) (Set.booleanAlgebra.{u1} B))) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
-but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), (Disjoint.{u1} (Set.{u1} B) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} B) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} B) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} B) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} B) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} B) (Set.instCompleteBooleanAlgebraSet.{u1} B)))))) (BoundedOrder.toOrderBot.{u1} (Set.{u1} B) (Preorder.toLE.{u1} (Set.{u1} B) (PartialOrder.toPreorder.{u1} (Set.{u1} B) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} B) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} B) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} B) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} B) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} B) (Set.instCompleteBooleanAlgebraSet.{u1} B)))))))) (CompleteLattice.toBoundedOrder.{u1} (Set.{u1} B) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} B) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} B) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} B) (Set.instCompleteBooleanAlgebraSet.{u1} B)))))) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
-Case conversion may be inaccurate. Consider using '#align trivialization.disjoint_union Trivialization.disjointUnionₓ'. -/
 /-- Given two bundle trivializations `e`, `e'` over disjoint sets, `e.disjoint_union e' H` is the
 bundle trivialization over the union of the base sets that agrees with `e` and `e'` over their
 base sets. -/
Diff
@@ -531,7 +531,7 @@ Case conversion may be inaccurate. Consider using '#align trivialization.to_pret
 theorem toPretrivialization_injective :
     Function.Injective fun e : Trivialization F proj => e.toPretrivialization :=
   by
-  intro e e'
+  intro e e';
   rw [Pretrivialization.ext_iff, Trivialization.ext_iff, ←
     local_homeomorph.to_local_equiv_injective.eq_iff]
   exact id
@@ -982,9 +982,7 @@ lean 3 declaration is
 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] (e' : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)), IsOpen.{max u3 u2} (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e')))
 Case conversion may be inaccurate. Consider using '#align trivialization.open_target Trivialization.open_target'ₓ'. -/
-theorem open_target' : IsOpen e'.target :=
-  by
-  rw [e'.target_eq]
+theorem open_target' : IsOpen e'.target := by rw [e'.target_eq];
   exact e'.open_base_set.prod isOpen_univ
 #align trivialization.open_target Trivialization.open_target'
 
@@ -1124,9 +1122,7 @@ theorem continuousOn_symm (e : Trivialization F (π E)) :
   have :
     ∀ (z : B × F) (hz : z ∈ e.base_set ×ˢ (univ : Set F)),
       total_space_mk z.1 (e.symm z.1 z.2) = e.to_local_homeomorph.symm z :=
-    by
-    rintro x ⟨hx : x.1 ∈ e.base_set, _⟩
-    simp_rw [e.mk_symm hx, Prod.mk.eta]
+    by rintro x ⟨hx : x.1 ∈ e.base_set, _⟩; simp_rw [e.mk_symm hx, Prod.mk.eta]
   refine' ContinuousOn.congr _ this
   rw [← e.target_eq]
   exact e.to_local_homeomorph.continuous_on_symm
@@ -1398,13 +1394,10 @@ noncomputable def disjointUnion (e e' : Trivialization F proj) (H : Disjoint e.b
     where
   toLocalHomeomorph :=
     e.toLocalHomeomorph.disjointUnion e'.toLocalHomeomorph
-      (by
-        rw [e.source_eq, e'.source_eq]
-        exact H.preimage _)
+      (by rw [e.source_eq, e'.source_eq]; exact H.preimage _)
       (by
         rw [e.target_eq, e'.target_eq, disjoint_iff_inf_le]
-        intro x hx
-        exact H.le_bot ⟨hx.1.1, hx.2.1⟩)
+        intro x hx; exact H.le_bot ⟨hx.1.1, hx.2.1⟩)
   baseSet := e.baseSet ∪ e'.baseSet
   open_baseSet := IsOpen.union e.open_baseSet e'.open_baseSet
   source_eq := congr_arg₂ (· ∪ ·) e.source_eq e'.source_eq
Diff
@@ -619,10 +619,7 @@ theorem source_inter_preimage_target_inter (s : Set (B × F)) :
 #align trivialization.source_inter_preimage_target_inter Trivialization.source_inter_preimage_target_inter
 
 /- warning: trivialization.coe_mk -> Trivialization.coe_mk is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (i : Set.{u1} B) (j : IsOpen.{u1} B _inst_1 i) (k : Eq.{succ u3} ((fun {α : Type.{u3}} {β : Type.{max u1 u2}} (self : LocalEquiv.{u3, max u1 u2} α β) => Set.{u3} α) Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (Set.preimage.{u3, u1} Z B proj i)) (l : Eq.{succ (max u1 u2)} ((fun {α : Type.{u3}} {β : Type.{max u1 u2}} (self : LocalEquiv.{u3, max u1 u2} α β) => Set.{max u1 u2} β) Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (Set.prod.{u1, u2} B F i (Set.univ.{u2} F))) (m : forall (p : Z), (Membership.Mem.{u3, u3} Z ((fun {α : Type.{u3}} {β : Type.{max u1 u2}} (self : LocalEquiv.{u3, max u1 u2} α β) => Set.{u3} α) Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (Set.hasMem.{u3} Z) p (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e))) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (fun (_x : LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) => Z -> (Prod.{u1, u2} B F)) (LocalHomeomorph.hasCoeToFun.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) e p)) (proj p))) (x : Z), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) (Trivialization.mk.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e i j k l m) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (fun (_x : LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) => Z -> (Prod.{u1, u2} B F)) (LocalHomeomorph.hasCoeToFun.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) e x)
-but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : LocalHomeomorph.{u3, max u2 u1} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2)) (i : Set.{u1} B) (j : IsOpen.{u1} B _inst_1 i) (k : Eq.{succ u3} (Set.{u3} Z) (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e)) (Set.preimage.{u3, u1} Z B proj i)) (l : Eq.{max (succ u1) (succ u2)} (Set.{max u2 u1} (Prod.{u1, u2} B F)) (LocalEquiv.target.{u3, max u2 u1} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e)) (Set.prod.{u1, u2} B F i (Set.univ.{u2} F))) (m : forall (p : Z), (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) p (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e))) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (LocalHomeomorph.toFun'.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e p)) (proj p))) (x : Z), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 (Trivialization.mk.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e i j k l m) x) (LocalHomeomorph.toFun'.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align trivialization.coe_mk Trivialization.coe_mkₓ'. -/
 @[simp, mfld_simps]
 theorem coe_mk (e : LocalHomeomorph Z (B × F)) (i j k l m) (x : Z) :
@@ -809,10 +806,7 @@ def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ
 #align trivialization.preimage_homeomorph Trivialization.preimageHomeomorph
 
 /- warning: trivialization.preimage_homeomorph_apply -> Trivialization.preimageHomeomorph_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B} (hb : HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2)) (fun (_x : Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2)) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) -> (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F)) (Homeomorph.hasCoeToFun.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2)) (Trivialization.preimageHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e s hb) p) (Prod.mk.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.mk.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) (proj ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)))))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) p)) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)))))) p))))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B} (hb : HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (FunLike.coe.{max (succ u1) (succ (max u3 u2)), succ u1, succ (max u3 u2)} (Homeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (fun (_x : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) => Prod.{u3, u2} (Set.Elem.{u3} B s) F) (EmbeddingLike.toFunLike.{max (succ u1) (succ (max u3 u2)), succ u1, succ (max u3 u2)} (Homeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (EquivLike.toEmbeddingLike.{max (succ u1) (succ (max u3 u2)), succ u1, succ (max u3 u2)} (Homeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Homeomorph.instEquivLikeHomeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)))) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb) p) (Prod.mk.{u3, u2} (Set.Elem.{u3} B s) F (Subtype.mk.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) (proj (Subtype.val.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p)) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p)) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph_apply Trivialization.preimageHomeomorph_applyₓ'. -/
 @[simp]
 theorem preimageHomeomorph_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : proj ⁻¹' s) :
@@ -821,10 +815,7 @@ theorem preimageHomeomorph_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : proj 
 #align trivialization.preimage_homeomorph_apply Trivialization.preimageHomeomorph_apply
 
 /- warning: trivialization.preimage_homeomorph_symm_apply -> Trivialization.preimageHomeomorph_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B} (hb : HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F), Eq.{succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p) (Subtype.mk.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (coeSubtype.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s))))) (Prod.fst.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F p)) (Prod.snd.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F p))) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p)))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B} (hb : HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Prod.{u3, u2} (Set.Elem.{u3} B s) F), Eq.{succ u1} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EmbeddingLike.toFunLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EquivLike.toEmbeddingLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p) (Subtype.mk.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F (Subtype.val.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) (Prod.fst.{u3, u2} (Set.Elem.{u3} B s) F p)) (Prod.snd.{u3, u2} (Set.Elem.{u3} B s) F p))) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EmbeddingLike.toFunLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EquivLike.toEmbeddingLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph_symm_apply Trivialization.preimageHomeomorph_symm_applyₓ'. -/
 @[simp]
 theorem preimageHomeomorph_symm_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : s × F) :
@@ -844,10 +835,7 @@ def sourceHomeomorphBaseSetProd : e.source ≃ₜ e.baseSet × F :=
 #align trivialization.source_homeomorph_base_set_prod Trivialization.sourceHomeomorphBaseSetProd
 
 /- warning: trivialization.source_homeomorph_base_set_prod_apply -> Trivialization.sourceHomeomorphBaseSetProd_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (fun (_x : Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F)) (Homeomorph.hasCoeToFun.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Trivialization.sourceHomeomorphBaseSetProd.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e) p) (Prod.mk.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.mk.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (proj ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p)) (Iff.mp (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p)) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Trivialization.mem_source.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p))))
-but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (FunLike.coe.{max (succ u3) (succ (max u2 u1)), succ u3, succ (max u2 u1)} (Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (fun (_x : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) => Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (EmbeddingLike.toFunLike.{max (succ u3) (succ (max u2 u1)), succ u3, succ (max u2 u1)} (Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (EquivLike.toEmbeddingLike.{max (succ u3) (succ (max u2 u1)), succ u3, succ (max u2 u1)} (Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Homeomorph.instEquivLikeHomeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)))) (Trivialization.sourceHomeomorphBaseSetProd.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e) p) (Prod.mk.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.mk.{succ u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (proj (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Iff.mp (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p) (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (proj (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Trivialization.mem_source.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))) (Prod.snd.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod_apply Trivialization.sourceHomeomorphBaseSetProd_applyₓ'. -/
 @[simp]
 theorem sourceHomeomorphBaseSetProd_apply (p : e.source) :
@@ -856,10 +844,7 @@ theorem sourceHomeomorphBaseSetProd_apply (p : e.source) :
 #align trivialization.source_homeomorph_base_set_prod_apply Trivialization.sourceHomeomorphBaseSetProd_apply
 
 /- warning: trivialization.source_homeomorph_base_set_prod_symm_apply -> Trivialization.sourceHomeomorphBaseSetProd_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F), Eq.{succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) p) (Subtype.mk.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (coeSubtype.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))) (Prod.fst.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p)) (Prod.snd.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p))) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) p)))
-but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F), Eq.{succ u1} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EmbeddingLike.toFunLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EquivLike.toEmbeddingLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) p) (Subtype.mk.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F (Subtype.val.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.fst.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p)) (Prod.snd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p))) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EmbeddingLike.toFunLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EquivLike.toEmbeddingLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) p)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod_symm_apply Trivialization.sourceHomeomorphBaseSetProd_symm_applyₓ'. -/
 @[simp]
 theorem sourceHomeomorphBaseSetProd_symm_apply (p : e.baseSet × F) :
@@ -882,10 +867,7 @@ def preimageSingletonHomeomorph {b : B} (hb : b ∈ e.baseSet) : proj ⁻¹' {b}
 #align trivialization.preimage_singleton_homeomorph Trivialization.preimageSingletonHomeomorph
 
 /- warning: trivialization.preimage_singleton_homeomorph_apply -> Trivialization.preimageSingletonHomeomorph_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u_2}} {F : Type.{u_3}} {Z : Type.{u_5}} [_inst_1 : TopologicalSpace.{u_2} B] [_inst_2 : TopologicalSpace.{u_3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_5} Z] (e : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Trivialization.baseSet.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))), Eq.{succ u_3} F (coeFn.{max (succ u_5) (succ u_3), max (succ u_5) (succ u_3)} (Homeomorph.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2) (fun (_x : Homeomorph.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2) => (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) -> F) (Homeomorph.hasCoeToFun.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2) (Trivialization.preimageSingletonHomeomorph.{u_2, u_3, u_5, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b hb) p) (Prod.snd.{u_2, u_3} B F (coeFn.{max (succ u_2) (succ u_3) (succ u_5), max (succ u_5) (succ u_2) (succ u_3)} (Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u_2, u_3} B F)) (Trivialization.hasCoeToFun.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 proj _inst_3) e ((fun (a : Type.{u_5}) (b : Type.{u_5}) [self : HasLiftT.{succ u_5, succ u_5} a b] => self.0) (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (HasLiftT.mk.{succ u_5, succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (CoeTCₓ.coe.{succ u_5, succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (coeBase.{succ u_5, succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (coeSubtype.{succ u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))))))) p)))
-but is expected to have type
-  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))), Eq.{succ u_2} F (FunLike.coe.{max (succ u_3) (succ u_2), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (fun (_x : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) => F) (EmbeddingLike.toFunLike.{max (succ u_3) (succ u_2), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (EquivLike.toEmbeddingLike.{max (succ u_3) (succ u_2), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (Homeomorph.instEquivLikeHomeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2))) (Trivialization.preimageSingletonHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e b hb) p) (Prod.snd.{u_1, u_2} B F (Trivialization.toFun'.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) p)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph_apply Trivialization.preimageSingletonHomeomorph_applyₓ'. -/
 @[simp]
 theorem preimageSingletonHomeomorph_apply {b : B} (hb : b ∈ e.baseSet) (p : proj ⁻¹' {b}) :
@@ -894,10 +876,7 @@ theorem preimageSingletonHomeomorph_apply {b : B} (hb : b ∈ e.baseSet) (p : pr
 #align trivialization.preimage_singleton_homeomorph_apply Trivialization.preimageSingletonHomeomorph_apply
 
 /- warning: trivialization.preimage_singleton_homeomorph_symm_apply -> Trivialization.preimageSingletonHomeomorph_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u_2}} {F : Type.{u_3}} {Z : Type.{u_5}} [_inst_1 : TopologicalSpace.{u_2} B] [_inst_2 : TopologicalSpace.{u_3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_5} Z] (e : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Trivialization.baseSet.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : F), Eq.{succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (coeFn.{max (succ u_3) (succ u_5), max (succ u_3) (succ u_5)} (Homeomorph.{u_3, u_5} F (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_2 (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3)) (fun (_x : Homeomorph.{u_3, u_5} F (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_2 (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3)) => F -> (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)))) (Homeomorph.hasCoeToFun.{u_3, u_5} F (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_2 (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3)) (Homeomorph.symm.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2 (Trivialization.preimageSingletonHomeomorph.{u_2, u_3, u_5, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b hb)) p) (Subtype.mk.{succ u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Eq.mpr.{0} (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Eq.ndrec.{0, 1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (fun (_a : Prop) => Eq.{1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _a) (rfl.{1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (propext (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Set.mem_preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)))))) (Eq.mpr.{0} (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Eq.ndrec.{0, succ u_2} B (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (fun (_a : B) => Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) _a (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (rfl.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) b (Trivialization.proj_symm_apply'.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 proj _inst_3 e b p hb))) (Eq.mpr.{0} (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Eq.{succ u_2} B b b) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Eq.{succ u_2} B b b)) (Eq.ndrec.{0, 1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (fun (_a : Prop) => Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) _a) (rfl.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Eq.{succ u_2} B b b) (propext (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Eq.{succ u_2} B b b) (Set.mem_singleton_iff.{u_2} B b b)))) (rfl.{succ u_2} B b)))))
-but is expected to have type
-  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : F), Eq.{succ u_3} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (FunLike.coe.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (fun (_x : F) => Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (EmbeddingLike.toFunLike.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (EquivLike.toEmbeddingLike.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Homeomorph.instEquivLikeHomeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)))) (Homeomorph.symm.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2 (Trivialization.preimageSingletonHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e b hb)) p) (Subtype.mk.{succ u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Eq.mpr.{0} (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (id.{0} (Eq.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.ndrec.{0, 1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (fun (_a : Prop) => Eq.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _a) (Eq.refl.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (propext (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Set.mem_preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)))))) (Eq.mpr.{0} (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (id.{0} (Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.ndrec.{0, succ u_1} B (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (fun (_a : B) => Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) _a (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.refl.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) b (Trivialization.proj_symm_apply'.{u_3, u_2, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b p hb))) (Eq.mpr.{0} (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b) (id.{0} (Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b)) (Eq.ndrec.{0, 1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (fun (_a : Prop) => Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) _a) (Eq.refl.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.{succ u_1} B b b) (propext (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b) (Set.mem_singleton_iff.{u_1} B b b)))) (Eq.refl.{succ u_1} B b)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph_symm_apply Trivialization.preimageSingletonHomeomorph_symm_applyₓ'. -/
 @[simp]
 theorem preimageSingletonHomeomorph_symm_apply {b : B} (hb : b ∈ e.baseSet) (p : F) :
@@ -1370,10 +1349,7 @@ noncomputable def piecewise (e e' : Trivialization F proj) (s : Set B)
 #align trivialization.piecewise Trivialization.piecewise
 
 /- warning: trivialization.piecewise_le_of_eq -> Trivialization.piecewiseLeOfEq is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] [_inst_6 : LinearOrder.{u1} B] [_inst_7 : OrderTopology.{u1} B _inst_1 (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (LinearOrder.toLattice.{u1} B _inst_6))))] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (a : B), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) a (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) a (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) -> (forall (p : Z), (Eq.{succ u1} B (proj p) a) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e p) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e' p))) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
-but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] [_inst_6 : LinearOrder.{u1} B] [_inst_7 : OrderTopology.{u1} B _inst_1 (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (DistribLattice.toLattice.{u1} B (instDistribLattice.{u1} B _inst_6)))))] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (a : B), (Membership.mem.{u1, u1} B (Set.{u1} B) (Set.instMembershipSet.{u1} B) a (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Membership.mem.{u1, u1} B (Set.{u1} B) (Set.instMembershipSet.{u1} B) a (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) -> (forall (p : Z), (Eq.{succ u1} B (proj p) a) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e p) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e' p))) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
+<too large>
 Case conversion may be inaccurate. Consider using '#align trivialization.piecewise_le_of_eq Trivialization.piecewiseLeOfEqₓ'. -/
 /-- Given two bundle trivializations `e`, `e'` of a topological fiber bundle `proj : Z → B`
 over a linearly ordered base `B` and a point `a ∈ e.base_set ∩ e'.base_set` such that
Diff
@@ -812,7 +812,7 @@ def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ
 lean 3 declaration is
   forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B} (hb : HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2)) (fun (_x : Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2)) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) -> (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F)) (Homeomorph.hasCoeToFun.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2)) (Trivialization.preimageHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e s hb) p) (Prod.mk.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.mk.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) (proj ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)))))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) p)) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)))))) p))))
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B} (hb : HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) => Prod.{u3, u2} (Set.Elem.{u3} B s) F) p) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (Homeomorph.{u1, max u2 u3} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (fun (_x : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) => Prod.{u3, u2} (Set.Elem.{u3} B s) F) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (Homeomorph.{u1, max u2 u3} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (Homeomorph.{u1, max u2 u3} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Homeomorph.instEquivLikeHomeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)))) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb) p) (Prod.mk.{u3, u2} (Set.Elem.{u3} B s) F (Subtype.mk.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) (proj (Subtype.val.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p)) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p)) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p))))
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B} (hb : HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (FunLike.coe.{max (succ u1) (succ (max u3 u2)), succ u1, succ (max u3 u2)} (Homeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (fun (_x : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) => Prod.{u3, u2} (Set.Elem.{u3} B s) F) (EmbeddingLike.toFunLike.{max (succ u1) (succ (max u3 u2)), succ u1, succ (max u3 u2)} (Homeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (EquivLike.toEmbeddingLike.{max (succ u1) (succ (max u3 u2)), succ u1, succ (max u3 u2)} (Homeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Homeomorph.instEquivLikeHomeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)))) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb) p) (Prod.mk.{u3, u2} (Set.Elem.{u3} B s) F (Subtype.mk.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) (proj (Subtype.val.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p)) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p)) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p))))
 Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph_apply Trivialization.preimageHomeomorph_applyₓ'. -/
 @[simp]
 theorem preimageHomeomorph_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : proj ⁻¹' s) :
@@ -824,7 +824,7 @@ theorem preimageHomeomorph_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : proj 
 lean 3 declaration is
   forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B} (hb : HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F), Eq.{succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p) (Subtype.mk.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (coeSubtype.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s))))) (Prod.fst.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F p)) (Prod.snd.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F p))) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p)))
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B} (hb : HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Prod.{u3, u2} (Set.Elem.{u3} B s) F), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) p) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p) (Subtype.mk.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F (Subtype.val.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) (Prod.fst.{u3, u2} (Set.Elem.{u3} B s) F p)) (Prod.snd.{u3, u2} (Set.Elem.{u3} B s) F p))) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p)))
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B} (hb : HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Prod.{u3, u2} (Set.Elem.{u3} B s) F), Eq.{succ u1} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EmbeddingLike.toFunLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EquivLike.toEmbeddingLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p) (Subtype.mk.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F (Subtype.val.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) (Prod.fst.{u3, u2} (Set.Elem.{u3} B s) F p)) (Prod.snd.{u3, u2} (Set.Elem.{u3} B s) F p))) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EmbeddingLike.toFunLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EquivLike.toEmbeddingLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p)))
 Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph_symm_apply Trivialization.preimageHomeomorph_symm_applyₓ'. -/
 @[simp]
 theorem preimageHomeomorph_symm_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : s × F) :
@@ -847,7 +847,7 @@ def sourceHomeomorphBaseSetProd : e.source ≃ₜ e.baseSet × F :=
 lean 3 declaration is
   forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (fun (_x : Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F)) (Homeomorph.hasCoeToFun.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Trivialization.sourceHomeomorphBaseSetProd.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e) p) (Prod.mk.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.mk.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (proj ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p)) (Iff.mp (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p)) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Trivialization.mem_source.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p))))
 but is expected to have type
-  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) => Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) p) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (Homeomorph.{u3, max u1 u2} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (fun (_x : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) => Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) _x) (EmbeddingLike.toFunLike.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (Homeomorph.{u3, max u1 u2} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (EquivLike.toEmbeddingLike.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (Homeomorph.{u3, max u1 u2} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Homeomorph.instEquivLikeHomeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)))) (Trivialization.sourceHomeomorphBaseSetProd.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e) p) (Prod.mk.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.mk.{succ u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (proj (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Iff.mp (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p) (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (proj (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Trivialization.mem_source.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))) (Prod.snd.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))))
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))), Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (FunLike.coe.{max (succ u3) (succ (max u2 u1)), succ u3, succ (max u2 u1)} (Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (fun (_x : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) => Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (EmbeddingLike.toFunLike.{max (succ u3) (succ (max u2 u1)), succ u3, succ (max u2 u1)} (Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (EquivLike.toEmbeddingLike.{max (succ u3) (succ (max u2 u1)), succ u3, succ (max u2 u1)} (Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Homeomorph.instEquivLikeHomeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)))) (Trivialization.sourceHomeomorphBaseSetProd.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e) p) (Prod.mk.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.mk.{succ u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (proj (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Iff.mp (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p) (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (proj (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Trivialization.mem_source.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))) (Prod.snd.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))))
 Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod_apply Trivialization.sourceHomeomorphBaseSetProd_applyₓ'. -/
 @[simp]
 theorem sourceHomeomorphBaseSetProd_apply (p : e.source) :
@@ -859,7 +859,7 @@ theorem sourceHomeomorphBaseSetProd_apply (p : e.source) :
 lean 3 declaration is
   forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F), Eq.{succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) p) (Subtype.mk.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (coeSubtype.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))) (Prod.fst.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p)) (Prod.snd.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p))) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) p)))
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) p) (Subtype.mk.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F (Subtype.val.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.fst.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p)) (Prod.snd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p))) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) p)))
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F), Eq.{succ u1} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EmbeddingLike.toFunLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EquivLike.toEmbeddingLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) p) (Subtype.mk.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F (Subtype.val.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.fst.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p)) (Prod.snd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p))) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (FunLike.coe.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EmbeddingLike.toFunLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EquivLike.toEmbeddingLike.{max (succ (max u3 u2)) (succ u1), succ (max u3 u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) p)))
 Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod_symm_apply Trivialization.sourceHomeomorphBaseSetProd_symm_applyₓ'. -/
 @[simp]
 theorem sourceHomeomorphBaseSetProd_symm_apply (p : e.baseSet × F) :
@@ -885,7 +885,7 @@ def preimageSingletonHomeomorph {b : B} (hb : b ∈ e.baseSet) : proj ⁻¹' {b}
 lean 3 declaration is
   forall {B : Type.{u_2}} {F : Type.{u_3}} {Z : Type.{u_5}} [_inst_1 : TopologicalSpace.{u_2} B] [_inst_2 : TopologicalSpace.{u_3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_5} Z] (e : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Trivialization.baseSet.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))), Eq.{succ u_3} F (coeFn.{max (succ u_5) (succ u_3), max (succ u_5) (succ u_3)} (Homeomorph.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2) (fun (_x : Homeomorph.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2) => (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) -> F) (Homeomorph.hasCoeToFun.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2) (Trivialization.preimageSingletonHomeomorph.{u_2, u_3, u_5, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b hb) p) (Prod.snd.{u_2, u_3} B F (coeFn.{max (succ u_2) (succ u_3) (succ u_5), max (succ u_5) (succ u_2) (succ u_3)} (Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u_2, u_3} B F)) (Trivialization.hasCoeToFun.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 proj _inst_3) e ((fun (a : Type.{u_5}) (b : Type.{u_5}) [self : HasLiftT.{succ u_5, succ u_5} a b] => self.0) (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (HasLiftT.mk.{succ u_5, succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (CoeTCₓ.coe.{succ u_5, succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (coeBase.{succ u_5, succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (coeSubtype.{succ u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))))))) p)))
 but is expected to have type
-  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))), Eq.{succ u_2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) => F) p) (FunLike.coe.{max (succ u_2) (succ u_3), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (fun (_x : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) => F) _x) (EmbeddingLike.toFunLike.{max (succ u_2) (succ u_3), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (EquivLike.toEmbeddingLike.{max (succ u_2) (succ u_3), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (Homeomorph.instEquivLikeHomeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2))) (Trivialization.preimageSingletonHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e b hb) p) (Prod.snd.{u_1, u_2} B F (Trivialization.toFun'.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) p)))
+  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))), Eq.{succ u_2} F (FunLike.coe.{max (succ u_3) (succ u_2), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (fun (_x : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) => F) (EmbeddingLike.toFunLike.{max (succ u_3) (succ u_2), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (EquivLike.toEmbeddingLike.{max (succ u_3) (succ u_2), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (Homeomorph.instEquivLikeHomeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2))) (Trivialization.preimageSingletonHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e b hb) p) (Prod.snd.{u_1, u_2} B F (Trivialization.toFun'.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) p)))
 Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph_apply Trivialization.preimageSingletonHomeomorph_applyₓ'. -/
 @[simp]
 theorem preimageSingletonHomeomorph_apply {b : B} (hb : b ∈ e.baseSet) (p : proj ⁻¹' {b}) :
@@ -897,7 +897,7 @@ theorem preimageSingletonHomeomorph_apply {b : B} (hb : b ∈ e.baseSet) (p : pr
 lean 3 declaration is
   forall {B : Type.{u_2}} {F : Type.{u_3}} {Z : Type.{u_5}} [_inst_1 : TopologicalSpace.{u_2} B] [_inst_2 : TopologicalSpace.{u_3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_5} Z] (e : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Trivialization.baseSet.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : F), Eq.{succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (coeFn.{max (succ u_3) (succ u_5), max (succ u_3) (succ u_5)} (Homeomorph.{u_3, u_5} F (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_2 (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3)) (fun (_x : Homeomorph.{u_3, u_5} F (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_2 (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3)) => F -> (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)))) (Homeomorph.hasCoeToFun.{u_3, u_5} F (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_2 (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3)) (Homeomorph.symm.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2 (Trivialization.preimageSingletonHomeomorph.{u_2, u_3, u_5, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b hb)) p) (Subtype.mk.{succ u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Eq.mpr.{0} (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Eq.ndrec.{0, 1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (fun (_a : Prop) => Eq.{1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _a) (rfl.{1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (propext (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Set.mem_preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)))))) (Eq.mpr.{0} (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Eq.ndrec.{0, succ u_2} B (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (fun (_a : B) => Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) _a (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (rfl.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) b (Trivialization.proj_symm_apply'.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 proj _inst_3 e b p hb))) (Eq.mpr.{0} (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Eq.{succ u_2} B b b) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Eq.{succ u_2} B b b)) (Eq.ndrec.{0, 1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (fun (_a : Prop) => Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) _a) (rfl.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Eq.{succ u_2} B b b) (propext (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Eq.{succ u_2} B b b) (Set.mem_singleton_iff.{u_2} B b b)))) (rfl.{succ u_2} B b)))))
 but is expected to have type
-  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : F), Eq.{succ u_3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) p) (FunLike.coe.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _x) (EmbeddingLike.toFunLike.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (EquivLike.toEmbeddingLike.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Homeomorph.instEquivLikeHomeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)))) (Homeomorph.symm.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2 (Trivialization.preimageSingletonHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e b hb)) p) (Subtype.mk.{succ u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Eq.mpr.{0} (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (id.{0} (Eq.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.ndrec.{0, 1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (fun (_a : Prop) => Eq.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _a) (Eq.refl.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (propext (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Set.mem_preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)))))) (Eq.mpr.{0} (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (id.{0} (Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.ndrec.{0, succ u_1} B (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (fun (_a : B) => Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) _a (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.refl.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) b (Trivialization.proj_symm_apply'.{u_3, u_2, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b p hb))) (Eq.mpr.{0} (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b) (id.{0} (Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b)) (Eq.ndrec.{0, 1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (fun (_a : Prop) => Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) _a) (Eq.refl.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.{succ u_1} B b b) (propext (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b) (Set.mem_singleton_iff.{u_1} B b b)))) (Eq.refl.{succ u_1} B b)))))
+  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : F), Eq.{succ u_3} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (FunLike.coe.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (fun (_x : F) => Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (EmbeddingLike.toFunLike.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (EquivLike.toEmbeddingLike.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Homeomorph.instEquivLikeHomeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)))) (Homeomorph.symm.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2 (Trivialization.preimageSingletonHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e b hb)) p) (Subtype.mk.{succ u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Eq.mpr.{0} (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (id.{0} (Eq.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.ndrec.{0, 1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (fun (_a : Prop) => Eq.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _a) (Eq.refl.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (propext (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Set.mem_preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)))))) (Eq.mpr.{0} (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (id.{0} (Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.ndrec.{0, succ u_1} B (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (fun (_a : B) => Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) _a (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.refl.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) b (Trivialization.proj_symm_apply'.{u_3, u_2, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b p hb))) (Eq.mpr.{0} (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b) (id.{0} (Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b)) (Eq.ndrec.{0, 1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (fun (_a : Prop) => Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) _a) (Eq.refl.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.{succ u_1} B b b) (propext (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b) (Set.mem_singleton_iff.{u_1} B b b)))) (Eq.refl.{succ u_1} B b)))))
 Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph_symm_apply Trivialization.preimageSingletonHomeomorph_symm_applyₓ'. -/
 @[simp]
 theorem preimageSingletonHomeomorph_symm_apply {b : B} (hb : b ∈ e.baseSet) (p : F) :
@@ -921,7 +921,7 @@ theorem continuousAt_proj (ex : x ∈ e.source) : ContinuousAt proj x :=
 lean 3 declaration is
   forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z], (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) -> (forall {Z' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} Z'] (h : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3), Trivialization.{u1, u2, u4} B F Z' _inst_1 _inst_2 _inst_5 (Function.comp.{succ u4, succ u3, succ u1} Z' Z B proj (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) (fun (_x : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) => Z' -> Z) (Homeomorph.hasCoeToFun.{u4, u3} Z' Z _inst_5 _inst_3) h)))
 but is expected to have type
-  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z], (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) -> (forall {Z' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} Z'] (h : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3), Trivialization.{u1, u2, u4} B F Z' _inst_1 _inst_2 _inst_5 (Function.comp.{succ u4, succ u3, succ u1} Z' Z B proj (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' (fun (_x : Z') => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Z') => Z) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u4), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' Z (EquivLike.toEmbeddingLike.{max (succ u3) (succ u4), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' Z (Homeomorph.instEquivLikeHomeomorph.{u4, u3} Z' Z _inst_5 _inst_3))) h)))
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z], (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) -> (forall {Z' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} Z'] (h : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3), Trivialization.{u1, u2, u4} B F Z' _inst_1 _inst_2 _inst_5 (Function.comp.{succ u4, succ u3, succ u1} Z' Z B proj (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' (fun (_x : Z') => Z) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' Z (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' Z (Homeomorph.instEquivLikeHomeomorph.{u4, u3} Z' Z _inst_5 _inst_3))) h)))
 Case conversion may be inaccurate. Consider using '#align trivialization.comp_homeomorph Trivialization.compHomeomorphₓ'. -/
 /-- Composition of a `trivialization` and a `homeomorph`. -/
 protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ Z) :
@@ -1175,7 +1175,7 @@ def transFiberHomeomorph {F' : Type _} [TopologicalSpace F'] (e : Trivialization
 lean 3 declaration is
   forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] {F' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} F'] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (h : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (x : Z), Eq.{max (succ u1) (succ u4)} (Prod.{u1, u4} B F') (coeFn.{max (succ u1) (succ u4) (succ u3), max (succ u3) (succ u1) (succ u4)} (Trivialization.{u1, u4, u3} B F' Z _inst_1 _inst_5 _inst_3 proj) (fun (_x : Trivialization.{u1, u4, u3} B F' Z _inst_1 _inst_5 _inst_3 proj) => Z -> (Prod.{u1, u4} B F')) (Trivialization.hasCoeToFun.{u1, u4, u3} B F' Z _inst_1 _inst_5 proj _inst_3) (Trivialization.transFiberHomeomorph.{u1, u2, u3, u4} B F Z _inst_1 _inst_2 proj _inst_3 F' _inst_5 e h) x) (Prod.mk.{u1, u4} B F' (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (fun (_x : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) => F -> F') (Homeomorph.hasCoeToFun.{u2, u4} F F' _inst_2 _inst_5) h (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))))
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] {F' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} F'] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (h : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (x : Z), Eq.{max (succ u3) (succ u4)} (Prod.{u3, u4} B F') (Trivialization.toFun'.{u3, u4, u1} B F' Z _inst_1 _inst_5 proj _inst_3 (Trivialization.transFiberHomeomorph.{u3, u2, u1, u4} B F Z _inst_1 _inst_2 proj _inst_3 F' _inst_5 e h) x) (Prod.mk.{u3, u4} B ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => F') (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))) (Prod.fst.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => F') _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F F' (EquivLike.toEmbeddingLike.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F F' (Homeomorph.instEquivLikeHomeomorph.{u2, u4} F F' _inst_2 _inst_5))) h (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))))
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] {F' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} F'] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (h : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (x : Z), Eq.{max (succ u3) (succ u4)} (Prod.{u3, u4} B F') (Trivialization.toFun'.{u3, u4, u1} B F' Z _inst_1 _inst_5 proj _inst_3 (Trivialization.transFiberHomeomorph.{u3, u2, u1, u4} B F Z _inst_1 _inst_2 proj _inst_3 F' _inst_5 e h) x) (Prod.mk.{u3, u4} B F' (Prod.fst.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F (fun (_x : F) => F') (EmbeddingLike.toFunLike.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F F' (EquivLike.toEmbeddingLike.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F F' (Homeomorph.instEquivLikeHomeomorph.{u2, u4} F F' _inst_2 _inst_5))) h (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))))
 Case conversion may be inaccurate. Consider using '#align trivialization.trans_fiber_homeomorph_apply Trivialization.transFiberHomeomorph_applyₓ'. -/
 @[simp]
 theorem transFiberHomeomorph_apply {F' : Type _} [TopologicalSpace F'] (e : Trivialization F proj)
@@ -1292,7 +1292,7 @@ protected def coordChangeHomeomorph (e₁ e₂ : Trivialization F proj) {b : B}
 lean 3 declaration is
   forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (h₁ : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (h₂ : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₂)), Eq.{succ u2} (F -> F) (coeFn.{succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) (fun (_x : Homeomorph.{u2, u2} F F _inst_2 _inst_2) => F -> F) (Homeomorph.hasCoeToFun.{u2, u2} F F _inst_2 _inst_2) (Trivialization.coordChangeHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b h₁ h₂)) (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b)
 but is expected to have type
-  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (h₁ : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (h₂ : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)), Eq.{succ u2} (forall (ᾰ : F), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => F) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => F) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F F (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F F (Homeomorph.instEquivLikeHomeomorph.{u2, u2} F F _inst_2 _inst_2))) (Trivialization.coordChangeHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b h₁ h₂)) (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b)
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (h₁ : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (h₂ : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)), Eq.{succ u2} (F -> F) (FunLike.coe.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F (fun (_x : F) => F) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F F (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F F (Homeomorph.instEquivLikeHomeomorph.{u2, u2} F F _inst_2 _inst_2))) (Trivialization.coordChangeHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b h₁ h₂)) (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b)
 Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_homeomorph_coe Trivialization.coordChangeHomeomorph_coeₓ'. -/
 @[simp]
 theorem coordChangeHomeomorph_coe (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.trivialization
-! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Topology.LocalHomeomorph
 /-!
 # Trivializations
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 ## Main definitions
 
 ### Basic definitions
Diff
@@ -61,6 +61,7 @@ variable {ι : Type _} {B : Type _} {F : Type _} {E : B → Type _}
 
 variable (F) {Z : Type _} [TopologicalSpace B] [TopologicalSpace F] {proj : Z → B}
 
+#print Pretrivialization /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- This structure contains the information left for a local trivialization (which is implemented
 below as `trivialization F proj`) if the total space has not been given a topology, but we
@@ -76,6 +77,7 @@ structure Pretrivialization (proj : Z → B) extends LocalEquiv Z (B × F) where
   target_eq : target = base_set ×ˢ univ
   proj_toFun : ∀ p ∈ source, (to_fun p).1 = proj p
 #align pretrivialization Pretrivialization
+-/
 
 namespace Pretrivialization
 
@@ -84,79 +86,177 @@ instance : CoeFun (Pretrivialization F proj) fun _ => Z → B × F :=
 
 variable {F} (e : Pretrivialization F proj) {x : Z}
 
+/- warning: pretrivialization.coe_coe -> Pretrivialization.coe_coe is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ (max u1 u2))} (Z -> (Prod.{u1, u2} B F)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F)) (fun (_x : LocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F)) => Z -> (Prod.{u1, u2} B F)) (LocalEquiv.hasCoeToFun.{u3, max u1 u2} Z (Prod.{u1, u2} B F)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Z -> (Prod.{u3, u2} B F)) (LocalEquiv.toFun.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)
+Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_coe Pretrivialization.coe_coeₓ'. -/
 @[simp, mfld_simps]
 theorem coe_coe : ⇑e.toLocalEquiv = e :=
   rfl
 #align pretrivialization.coe_coe Pretrivialization.coe_coe
 
+/- warning: pretrivialization.coe_fst -> Pretrivialization.coe_fst is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x)) (proj x))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u2} B (Prod.fst.{u2, u1} B F (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x)) (proj x))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_fst Pretrivialization.coe_fstₓ'. -/
 @[simp, mfld_simps]
 theorem coe_fst (ex : x ∈ e.source) : (e x).1 = proj x :=
   e.proj_toFun x ex
 #align pretrivialization.coe_fst Pretrivialization.coe_fst
 
+/- warning: pretrivialization.mem_source -> Pretrivialization.mem_source is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, Iff (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, Iff (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (proj x) (Pretrivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.mem_source Pretrivialization.mem_sourceₓ'. -/
 theorem mem_source : x ∈ e.source ↔ proj x ∈ e.baseSet := by rw [e.source_eq, mem_preimage]
 #align pretrivialization.mem_source Pretrivialization.mem_source
 
+/- warning: pretrivialization.coe_fst' -> Pretrivialization.coe_fst' is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x)) (proj x))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{succ u3} B (Prod.fst.{u3, u2} B F (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e x)) (proj x))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_fst' Pretrivialization.coe_fst'ₓ'. -/
 theorem coe_fst' (ex : proj x ∈ e.baseSet) : (e x).1 = proj x :=
   e.coe_fst (e.mem_source.2 ex)
 #align pretrivialization.coe_fst' Pretrivialization.coe_fst'
 
+/- warning: pretrivialization.eq_on -> Pretrivialization.eqOn is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Set.EqOn.{u3, u1} Z B (Function.comp.{succ u3, max (succ u1) (succ u2), succ u1} Z (Prod.{u1, u2} B F) B (Prod.fst.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e)) proj (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj), Set.EqOn.{u3, u2} Z B (Function.comp.{succ u3, max (succ u1) (succ u2), succ u2} Z (Prod.{u2, u1} B F) B (Prod.fst.{u2, u1} B F) (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e)) proj (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.eq_on Pretrivialization.eqOnₓ'. -/
 protected theorem eqOn : EqOn (Prod.fst ∘ e) proj e.source := fun x hx => e.coe_fst hx
 #align pretrivialization.eq_on Pretrivialization.eqOn
 
+/- warning: pretrivialization.mk_proj_snd -> Pretrivialization.mk_proj_snd is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Prod.mk.{u2, u1} B F (proj x) (Prod.snd.{u2, u1} B F (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x))) (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.mk_proj_snd Pretrivialization.mk_proj_sndₓ'. -/
 theorem mk_proj_snd (ex : x ∈ e.source) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst ex).symm rfl
 #align pretrivialization.mk_proj_snd Pretrivialization.mk_proj_snd
 
+/- warning: pretrivialization.mk_proj_snd' -> Pretrivialization.mk_proj_snd' is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Prod.mk.{u3, u2} B F (proj x) (Prod.snd.{u3, u2} B F (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e x))) (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e x))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.mk_proj_snd' Pretrivialization.mk_proj_snd'ₓ'. -/
 theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst' ex).symm rfl
 #align pretrivialization.mk_proj_snd' Pretrivialization.mk_proj_snd'
 
+#print Pretrivialization.setSymm /-
 /-- Composition of inverse and coercion from the subtype of the target. -/
 def setSymm : e.target → Z :=
   e.target.restrict e.toLocalEquiv.symm
 #align pretrivialization.set_symm Pretrivialization.setSymm
+-/
 
+/- warning: pretrivialization.mem_target -> Pretrivialization.mem_target is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Prod.{u1, u2} B F}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (Prod.fst.{u1, u2} B F x) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : 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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F x) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.mem_target Pretrivialization.mem_targetₓ'. -/
 theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet := by
   rw [e.target_eq, prod_univ, mem_preimage]
 #align pretrivialization.mem_target Pretrivialization.mem_target
 
+/- warning: pretrivialization.proj_symm_apply -> Pretrivialization.proj_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u1} B (proj (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) x)) (Prod.fst.{u1, u2} B F x))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} B (proj (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) x)) (Prod.fst.{u3, u2} B F x))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.proj_symm_apply Pretrivialization.proj_symm_applyₓ'. -/
 theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalEquiv.symm x) = x.1 :=
   by
   have := (e.coe_fst (e.to_local_equiv.map_target hx)).symm
   rwa [← e.coe_coe, e.to_local_equiv.right_inv hx] at this
 #align pretrivialization.proj_symm_apply Pretrivialization.proj_symm_apply
 
+/- warning: pretrivialization.proj_symm_apply' -> Pretrivialization.proj_symm_apply' is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {b : B} {x : F}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{succ u1} B (proj (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u1, u2} B F b x))) b)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {b : B} {x : F}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{succ u3} B (proj (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u3, u2} B F b x))) b)
+Case conversion may be inaccurate. Consider using '#align pretrivialization.proj_symm_apply' Pretrivialization.proj_symm_apply'ₓ'. -/
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     proj (e.toLocalEquiv.symm (b, x)) = b :=
   e.proj_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.proj_symm_apply' Pretrivialization.proj_symm_apply'
 
+/- warning: pretrivialization.proj_surj_on_base_set -> Pretrivialization.proj_surjOn_baseSet is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) [_inst_3 : Nonempty.{succ u2} F], Set.SurjOn.{u3, u1} Z B proj (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)
+but is expected to have type
+  forall {B : Type.{u1}} {F : Type.{u3}} {Z : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u3} F] {proj : Z -> B} (e : Pretrivialization.{u1, u3, u2} B F Z _inst_1 _inst_2 proj) [_inst_3 : Nonempty.{succ u3} F], Set.SurjOn.{u2, u1} Z B proj (LocalEquiv.source.{u2, max u1 u3} Z (Prod.{u1, u3} B F) (Pretrivialization.toLocalEquiv.{u1, u3, u2} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.baseSet.{u1, u3, u2} B F Z _inst_1 _inst_2 proj e)
+Case conversion may be inaccurate. Consider using '#align pretrivialization.proj_surj_on_base_set Pretrivialization.proj_surjOn_baseSetₓ'. -/
 theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet := fun b hb =>
   let ⟨y⟩ := ‹Nonempty F›
   ⟨e.toLocalEquiv.symm (b, y), e.toLocalEquiv.map_target <| e.mem_target.2 hb,
     e.proj_symm_apply' hb⟩
 #align pretrivialization.proj_surj_on_base_set Pretrivialization.proj_surjOn_baseSet
 
+/- warning: pretrivialization.apply_symm_apply -> Pretrivialization.apply_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) x)) x)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) x)) x)
+Case conversion may be inaccurate. Consider using '#align pretrivialization.apply_symm_apply Pretrivialization.apply_symm_applyₓ'. -/
 theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalEquiv.symm x) = x :=
   e.toLocalEquiv.right_inv hx
 #align pretrivialization.apply_symm_apply Pretrivialization.apply_symm_apply
 
+/- warning: pretrivialization.apply_symm_apply' -> Pretrivialization.apply_symm_apply' is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {b : B} {x : F}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u1, u2} B F b x))) (Prod.mk.{u1, u2} B F b x))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) {b : B} {x : F}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Pretrivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u3, u2} B F b x))) (Prod.mk.{u3, u2} B F b x))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.apply_symm_apply' Pretrivialization.apply_symm_apply'ₓ'. -/
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     e (e.toLocalEquiv.symm (b, x)) = (b, x) :=
   e.apply_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.apply_symm_apply' Pretrivialization.apply_symm_apply'
 
+/- warning: pretrivialization.symm_apply_apply -> Pretrivialization.symm_apply_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x)) x)
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} Z (LocalEquiv.toFun.{max u2 u1, u3} (Prod.{u2, u1} B F) Z (LocalEquiv.symm.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x)) x)
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply_apply Pretrivialization.symm_apply_applyₓ'. -/
 theorem symm_apply_apply {x : Z} (hx : x ∈ e.source) : e.toLocalEquiv.symm (e x) = x :=
   e.toLocalEquiv.left_inv hx
 #align pretrivialization.symm_apply_apply Pretrivialization.symm_apply_apply
 
+/- warning: pretrivialization.symm_apply_mk_proj -> Pretrivialization.symm_apply_mk_proj is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (_x : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) => Z -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) e x)))) x)
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} (e : Pretrivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e))) -> (Eq.{succ u3} Z (LocalEquiv.toFun.{max u2 u1, u3} (Prod.{u2, u1} B F) Z (LocalEquiv.symm.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (Pretrivialization.toLocalEquiv.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e)) (Prod.mk.{u2, u1} B F (proj x) (Prod.snd.{u2, u1} B F (Pretrivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj e x)))) x)
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply_mk_proj Pretrivialization.symm_apply_mk_projₓ'. -/
 @[simp, mfld_simps]
 theorem symm_apply_mk_proj {x : Z} (ex : x ∈ e.source) :
     e.toLocalEquiv.symm (proj x, (e x).2) = x := by
   rw [← e.coe_fst ex, Prod.mk.eta, ← e.coe_coe, e.to_local_equiv.left_inv ex]
 #align pretrivialization.symm_apply_mk_proj Pretrivialization.symm_apply_mk_proj
 
+/- warning: pretrivialization.preimage_symm_proj_base_set -> Pretrivialization.preimage_symm_proj_baseSet is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasInter.{max u1 u2} (Prod.{u1, u2} B F)) (Set.preimage.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Set.preimage.{u3, u1} Z B proj (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Inter.inter.{max u3 u2} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instInterSet.{max u3 u2} (Prod.{u3, u2} B F)) (Set.preimage.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (Set.preimage.{u1, u3} Z B proj (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.preimage_symm_proj_base_set Pretrivialization.preimage_symm_proj_baseSetₓ'. -/
 @[simp, mfld_simps]
 theorem preimage_symm_proj_baseSet :
     e.toLocalEquiv.symm ⁻¹' (proj ⁻¹' e.baseSet) ∩ e.target = e.target :=
@@ -166,6 +266,12 @@ theorem preimage_symm_proj_baseSet :
   exact e.mem_target.mp hx
 #align pretrivialization.preimage_symm_proj_base_set Pretrivialization.preimage_symm_proj_baseSet
 
+/- warning: pretrivialization.preimage_symm_proj_inter -> Pretrivialization.preimage_symm_proj_inter is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (s : Set.{u1} B), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Inter.inter.{max u1 u2} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasInter.{max u1 u2} (Prod.{u1, u2} B F)) (Set.preimage.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Set.preimage.{u3, u1} Z B proj s)) (Set.prod.{u1, u2} B F (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Set.univ.{u2} F))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) s (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Set.univ.{u2} F))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (s : Set.{u3} B), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Inter.inter.{max u3 u2} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.instInterSet.{max u3 u2} (Prod.{u3, u2} B F)) (Set.preimage.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (Set.preimage.{u1, u3} Z B proj s)) (Set.prod.{u3, u2} B F (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Set.univ.{u2} F))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) s (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Set.univ.{u2} F))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.preimage_symm_proj_inter Pretrivialization.preimage_symm_proj_interₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 @[simp, mfld_simps]
@@ -179,23 +285,47 @@ theorem preimage_symm_proj_inter (s : Set B) :
   rw [e.proj_symm_apply' h]
 #align pretrivialization.preimage_symm_proj_inter Pretrivialization.preimage_symm_proj_inter
 
+/- warning: pretrivialization.target_inter_preimage_symm_source_eq -> Pretrivialization.target_inter_preimage_symm_source_eq is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (f : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (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.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f)) (Set.preimage.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f))) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f)) (Set.univ.{u2} F))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (f : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (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.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f)) (Set.preimage.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f))) (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f)) (Set.univ.{u2} F))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.target_inter_preimage_symm_source_eq Pretrivialization.target_inter_preimage_symm_source_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem target_inter_preimage_symm_source_eq (e f : Pretrivialization F proj) :
     f.target ∩ f.toLocalEquiv.symm ⁻¹' e.source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
   rw [inter_comm, f.target_eq, e.source_eq, f.preimage_symm_proj_inter]
 #align pretrivialization.target_inter_preimage_symm_source_eq Pretrivialization.target_inter_preimage_symm_source_eq
 
+/- warning: pretrivialization.trans_source -> Pretrivialization.trans_source is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (f : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.source.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj f)) (Set.univ.{u2} F))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (f : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f)) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj f)) (Set.univ.{u2} F))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.trans_source Pretrivialization.trans_sourceₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem trans_source (e f : Pretrivialization F proj) :
     (f.toLocalEquiv.symm.trans e.toLocalEquiv).source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
   rw [LocalEquiv.trans_source, LocalEquiv.symm_source, e.target_inter_preimage_symm_source_eq]
 #align pretrivialization.trans_source Pretrivialization.trans_source
 
+/- warning: pretrivialization.symm_trans_symm -> Pretrivialization.symm_trans_symm is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (LocalEquiv.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F)) (LocalEquiv.symm.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e'))) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e')) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (LocalEquiv.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F)) (LocalEquiv.symm.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e'))) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e')) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_trans_symm Pretrivialization.symm_trans_symmₓ'. -/
 theorem symm_trans_symm (e e' : Pretrivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).symm = e'.toLocalEquiv.symm.trans e.toLocalEquiv :=
   by rw [LocalEquiv.trans_symm_eq_symm_trans_symm, LocalEquiv.symm_symm]
 #align pretrivialization.symm_trans_symm Pretrivialization.symm_trans_symm
 
+/- warning: pretrivialization.symm_trans_source_eq -> Pretrivialization.symm_trans_source_eq is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.source.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e'))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e')) (Set.univ.{u2} F))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e'))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e')) (Set.univ.{u2} F))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_trans_source_eq Pretrivialization.symm_trans_source_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem symm_trans_source_eq (e e' : Pretrivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
@@ -203,6 +333,12 @@ theorem symm_trans_source_eq (e e' : Pretrivialization F proj) :
     e.preimage_symm_proj_inter, inter_comm]
 #align pretrivialization.symm_trans_source_eq Pretrivialization.symm_trans_source_eq
 
+/- warning: pretrivialization.symm_trans_target_eq -> Pretrivialization.symm_trans_target_eq is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.target.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e'))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 proj e')) (Set.univ.{u2} F))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} (e : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (e' : Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e)) (Pretrivialization.toLocalEquiv.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e'))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e) (Pretrivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 proj e')) (Set.univ.{u2} F))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_trans_target_eq Pretrivialization.symm_trans_target_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem symm_trans_target_eq (e e' : Pretrivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
@@ -211,19 +347,43 @@ theorem symm_trans_target_eq (e e' : Pretrivialization F proj) :
 
 variable {B F} (e' : Pretrivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
 
+/- warning: pretrivialization.coe_mem_source -> Pretrivialization.coe_mem_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] (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)) {b : B} {y : E b}, Iff (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)) ((fun (a : Type.{u3}) (b : Type.{max u1 u3}) [self : HasLiftT.{succ u3, succ (max u1 u3)} a b] => self.0) (E b) (Bundle.TotalSpace.{u1, u3} B E) (HasLiftT.mk.{succ u3, succ (max u1 u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (CoeTCₓ.coe.{succ u3, succ (max u1 u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.TotalSpace.hasCoeT.{u1, u3} B E b))) y) (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'))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) 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] (e' : Pretrivialization.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E)) {b : B} {y : E b}, Iff (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)) (Bundle.totalSpaceMk.{u3, u2} B E b y) (LocalEquiv.source.{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) e'))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (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) e'))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_mem_source Pretrivialization.coe_mem_sourceₓ'. -/
 theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
   e'.mem_source
 #align pretrivialization.coe_mem_source Pretrivialization.coe_mem_source
 
+/- warning: pretrivialization.coe_coe_fst -> Pretrivialization.coe_coe_fst 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] (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)) {b : B} {y : E b}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) 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)} (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)) (fun (_x : 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)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{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' ((fun (a : Type.{u3}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u3, max (succ u1) (succ u3)} a b] => self.0) (E b) (Bundle.TotalSpace.{u1, u3} B E) (HasLiftT.mk.{succ u3, max (succ u1) (succ u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (CoeTCₓ.coe.{succ u3, max (succ u1) (succ u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.TotalSpace.hasCoeT.{u1, u3} B E b))) y))) b)
+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] (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)) {b : B} {y : E b}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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')) -> (Eq.{succ u3} B (Prod.fst.{u3, u2} B F (Pretrivialization.toFun'.{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' (Bundle.totalSpaceMk.{u3, u1} B E b y))) b)
+Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_coe_fst Pretrivialization.coe_coe_fstₓ'. -/
 @[simp, mfld_simps]
 theorem coe_coe_fst (hb : b ∈ e'.baseSet) : (e' y).1 = b :=
   e'.coe_fst (e'.mem_source.2 hb)
 #align pretrivialization.coe_coe_fst Pretrivialization.coe_coe_fst
 
+/- warning: pretrivialization.mk_mem_target -> Pretrivialization.mk_mem_target 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] (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)) {x : B} {y : F}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) (Prod.mk.{u1, u2} B F x y) (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'))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (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) e'))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u3}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] (e' : Pretrivialization.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E)) {x : B} {y : F}, Iff (Membership.mem.{max u3 u2, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.instMembershipSet.{max u2 u3} (Prod.{u2, u3} B F)) (Prod.mk.{u2, u3} B F x y) (LocalEquiv.target.{max u2 u1, max u2 u3} (Bundle.TotalSpace.{u2, u1} B E) (Prod.{u2, u3} B F) (Pretrivialization.toLocalEquiv.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E) e'))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Pretrivialization.baseSet.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u2, u1} B E) e'))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.mk_mem_target Pretrivialization.mk_mem_targetₓ'. -/
 theorem mk_mem_target {x : B} {y : F} : (x, y) ∈ e'.target ↔ x ∈ e'.baseSet :=
   e'.mem_target
 #align pretrivialization.mk_mem_target Pretrivialization.mk_mem_target
 
+/- warning: pretrivialization.symm_coe_proj -> Pretrivialization.symm_coe_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] {x : B} {y : F} (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.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (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) e')) -> (Eq.{succ u1} B (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (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')) (Prod.mk.{u1, u2} B F x y))) x)
+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] {x : B} {y : F} (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.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Pretrivialization.baseSet.{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')) -> (Eq.{succ u3} B (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (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')) (Prod.mk.{u3, u2} B F x y))) x)
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_coe_proj Pretrivialization.symm_coe_projₓ'. -/
 theorem symm_coe_proj {x : B} {y : F} (e' : Pretrivialization F (π E)) (h : x ∈ e'.baseSet) :
     (e'.toLocalEquiv.symm (x, y)).1 = x :=
   e'.proj_symm_apply' h
@@ -233,6 +393,7 @@ section Zero
 
 variable [∀ x, Zero (E x)]
 
+#print Pretrivialization.symm /-
 /-- A fiberwise inverse to `e`. This is the function `F → E b` that induces a local inverse
 `B × F → total_space E` of `e` on `e.base_set`. It is defined to be `0` outside `e.base_set`. -/
 protected noncomputable def symm (e : Pretrivialization F (π E)) (b : B) (y : F) : E b :=
@@ -240,37 +401,80 @@ protected noncomputable def symm (e : Pretrivialization F (π E)) (b : B) (y : F
     cast (congr_arg E (e.proj_symm_apply' hb)) (e.toLocalEquiv.symm (b, y)).2
   else 0
 #align pretrivialization.symm Pretrivialization.symm
+-/
 
+/- warning: pretrivialization.symm_apply -> Pretrivialization.symm_apply 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B} (hb : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e)) (y : F), Eq.{succ u3} (E b) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y) (cast.{succ u3} (E (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (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)) (Prod.mk.{u1, u2} B F b y)))) (E b) (congr_arg.{succ u1, succ (succ u3)} B Type.{u3} (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (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)) (Prod.mk.{u1, u2} B F b y))) b E (Pretrivialization.symm_coe_proj.{u1, u2, u3} B F E _inst_1 _inst_2 b y e hb)) (Sigma.snd.{u1, u3} B (fun (x : B) => E x) (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)) (Prod.mk.{u1, u2} B F b y))))
+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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B} (hb : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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)) (y : F), Eq.{succ u1} (E b) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y) (cast.{succ u1} (E (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (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)) (Prod.mk.{u3, u2} B F b y)))) (E b) (congr_arg.{succ u3, succ (succ u1)} B Type.{u1} (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (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)) (Prod.mk.{u3, u2} B F b y))) b E (Pretrivialization.symm_coe_proj.{u1, u2, u3} B F E _inst_1 _inst_2 b y e hb)) (Sigma.snd.{u3, u1} B (fun (x : B) => E x) (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)) (Prod.mk.{u3, u2} B F b y))))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply Pretrivialization.symm_applyₓ'. -/
 theorem symm_apply (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalEquiv.symm (b, y)).2 :=
   dif_pos hb
 #align pretrivialization.symm_apply Pretrivialization.symm_apply
 
+/- warning: pretrivialization.symm_apply_of_not_mem -> Pretrivialization.symm_apply_of_not_mem 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Not (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e))) -> (forall (y : F), Eq.{succ u3} (E b) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y) (OfNat.ofNat.{u3} (E b) 0 (OfNat.mk.{u3} (E b) 0 (Zero.zero.{u3} (E b) (_inst_3 b)))))
+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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Not (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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 (y : F), Eq.{succ u1} (E b) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y) (OfNat.ofNat.{u1} (E b) 0 (Zero.toOfNat0.{u1} (E b) (_inst_3 b))))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply_of_not_mem Pretrivialization.symm_apply_of_not_memₓ'. -/
 theorem symm_apply_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
     e.symm b y = 0 :=
   dif_neg hb
 #align pretrivialization.symm_apply_of_not_mem Pretrivialization.symm_apply_of_not_mem
 
+/- warning: pretrivialization.coe_symm_of_not_mem -> Pretrivialization.coe_symm_of_not_mem 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Not (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e))) -> (Eq.{max (succ u2) (succ u3)} (F -> (E b)) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b) (OfNat.ofNat.{max u2 u3} (F -> (E b)) 0 (OfNat.mk.{max u2 u3} (F -> (E b)) 0 (Zero.zero.{max u2 u3} (F -> (E b)) (Pi.instZero.{u2, u3} F (fun (y : F) => E b) (fun (i : F) => _inst_3 b))))))
+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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Not (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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))) -> (Eq.{max (succ u2) (succ u1)} (F -> (E b)) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b) (OfNat.ofNat.{max u2 u1} (F -> (E b)) 0 (Zero.toOfNat0.{max u2 u1} (F -> (E b)) (Pi.instZero.{u2, u1} F (fun (y : F) => E b) (fun (i : F) => _inst_3 b)))))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.coe_symm_of_not_mem Pretrivialization.coe_symm_of_not_memₓ'. -/
 theorem coe_symm_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) :
     (e.symm b : F → E b) = 0 :=
   funext fun y => dif_neg hb
 #align pretrivialization.coe_symm_of_not_mem Pretrivialization.coe_symm_of_not_mem
 
+/- warning: pretrivialization.mk_symm -> Pretrivialization.mk_symm 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e)) -> (forall (y : F), Eq.{max (succ u1) (succ u3)} (Bundle.TotalSpace.{u1, u3} B E) (Bundle.totalSpaceMk.{u1, u3} B E b (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y)) (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)) (Prod.mk.{u1, u2} B F b y)))
+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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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 (y : F), Eq.{max (succ u3) (succ u1)} (Bundle.TotalSpace.{u3, u1} B E) (Bundle.totalSpaceMk.{u3, u1} B E b (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y)) (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)) (Prod.mk.{u3, u2} B F b y)))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.mk_symm Pretrivialization.mk_symmₓ'. -/
 theorem mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     totalSpaceMk b (e.symm b y) = e.toLocalEquiv.symm (b, y) := by
   rw [e.symm_apply hb, total_space.mk_cast, total_space.eta]
 #align pretrivialization.mk_symm Pretrivialization.mk_symm
 
+/- warning: pretrivialization.symm_proj_apply -> Pretrivialization.symm_proj_apply 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) (z : Bundle.TotalSpace.{u1, u3} B E), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (Bundle.TotalSpace.proj.{u1, u3} B E z) (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) e)) -> (Eq.{succ u3} (E (Bundle.TotalSpace.proj.{u1, u3} B E z)) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e (Bundle.TotalSpace.proj.{u1, u3} B E z) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u1) (succ u2)} (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)) (fun (_x : 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)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{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 z))) (Sigma.snd.{u1, u3} B (fun (x : B) => E x) z))
+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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) (z : Bundle.TotalSpace.{u3, u1} B E), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Bundle.TotalSpace.proj.{u3, u1} B E z) (Pretrivialization.baseSet.{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)) -> (Eq.{succ u1} (E (Bundle.TotalSpace.proj.{u3, u1} B E z)) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e (Bundle.TotalSpace.proj.{u3, u1} B E z) (Prod.snd.{u3, u2} B F (Pretrivialization.toFun'.{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 z))) (Sigma.snd.{u3, u1} B (fun (x : B) => E x) z))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_proj_apply Pretrivialization.symm_proj_applyₓ'. -/
 theorem symm_proj_apply (e : Pretrivialization F (π E)) (z : TotalSpace E)
     (hz : z.proj ∈ e.baseSet) : e.symm z.proj (e z).2 = z.2 := by
   rw [e.symm_apply hz, cast_eq_iff_heq, e.mk_proj_snd' hz, e.symm_apply_apply (e.mem_source.mpr hz)]
 #align pretrivialization.symm_proj_apply Pretrivialization.symm_proj_apply
 
+/- warning: pretrivialization.symm_apply_apply_mk -> Pretrivialization.symm_apply_apply_mk 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e)) -> (forall (y : E b), Eq.{succ u3} (E b) (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u1) (succ u2)} (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)) (fun (_x : 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)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{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 (Bundle.totalSpaceMk.{u1, u3} B E b y)))) y)
+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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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 (y : E b), Eq.{succ u1} (E b) (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b (Prod.snd.{u3, u2} B F (Pretrivialization.toFun'.{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 (Bundle.totalSpaceMk.{u3, u1} B E b y)))) y)
+Case conversion may be inaccurate. Consider using '#align pretrivialization.symm_apply_apply_mk Pretrivialization.symm_apply_apply_mkₓ'. -/
 theorem symm_apply_apply_mk (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
     e.symm b (e (totalSpaceMk b y)).2 = y :=
   e.symm_proj_apply (totalSpaceMk b y) hb
 #align pretrivialization.symm_apply_apply_mk Pretrivialization.symm_apply_apply_mk
 
+/- warning: pretrivialization.apply_mk_symm -> Pretrivialization.apply_mk_symm 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] [_inst_3 : forall (x : B), Zero.{u3} (E x)] (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)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (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) e)) -> (forall (y : F), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ (max u1 u3)), max (succ (max u1 u3)) (succ u1) (succ u2)} (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)) (fun (_x : 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)) => (Bundle.TotalSpace.{u1, u3} B E) -> (Prod.{u1, u2} B F)) (Pretrivialization.hasCoeToFun.{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 (Bundle.totalSpaceMk.{u1, u3} B E b (Pretrivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y))) (Prod.mk.{u1, u2} B F b y))
+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] [_inst_3 : forall (x : B), Zero.{u1} (E x)] (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)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Pretrivialization.baseSet.{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 (y : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Pretrivialization.toFun'.{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 (Bundle.totalSpaceMk.{u3, u1} B E b (Pretrivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 (fun (x : B) => _inst_3 x) e b y))) (Prod.mk.{u3, u2} B F b y))
+Case conversion may be inaccurate. Consider using '#align pretrivialization.apply_mk_symm Pretrivialization.apply_mk_symmₓ'. -/
 theorem apply_mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e (totalSpaceMk b (e.symm b y)) = (b, y) := by
   rw [e.mk_symm hb, e.apply_symm_apply (e.mk_mem_target.mpr hb)]
@@ -282,6 +486,7 @@ end Pretrivialization
 
 variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace E)]
 
+#print Trivialization /-
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- A structure extending local homeomorphisms, defining a local trivialization of a projection
 `proj : Z → B` with fiber `F`, as a local homeomorphism between `Z` and `B × F` defined between two
@@ -295,15 +500,18 @@ structure Trivialization (proj : Z → B) extends LocalHomeomorph Z (B × F) whe
   target_eq : target = base_set ×ˢ univ
   proj_toFun : ∀ p ∈ source, (to_local_homeomorph p).1 = proj p
 #align trivialization Trivialization
+-/
 
 namespace Trivialization
 
 variable {F} (e : Trivialization F proj) {x : Z}
 
+#print Trivialization.toPretrivialization /-
 /-- Natural identification as a `pretrivialization`. -/
 def toPretrivialization : Pretrivialization F proj :=
   { e with }
 #align trivialization.to_pretrivialization Trivialization.toPretrivialization
+-/
 
 instance : CoeFun (Trivialization F proj) fun _ => Z → B × F :=
   ⟨fun e => e.toFun⟩
@@ -311,6 +519,12 @@ instance : CoeFun (Trivialization F proj) fun _ => Z → B × F :=
 instance : Coe (Trivialization F proj) (Pretrivialization F proj) :=
   ⟨toPretrivialization⟩
 
+/- warning: trivialization.to_pretrivialization_injective -> Trivialization.toPretrivialization_injective is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z], Function.Injective.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u2) (succ u3)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (Pretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj) (fun (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Trivialization.toPretrivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z], Function.Injective.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1)} (Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (Pretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj) (fun (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) => Trivialization.toPretrivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)
+Case conversion may be inaccurate. Consider using '#align trivialization.to_pretrivialization_injective Trivialization.toPretrivialization_injectiveₓ'. -/
 theorem toPretrivialization_injective :
     Function.Injective fun e : Trivialization F proj => e.toPretrivialization :=
   by
@@ -320,109 +534,253 @@ theorem toPretrivialization_injective :
   exact id
 #align trivialization.to_pretrivialization_injective Trivialization.toPretrivialization_injective
 
+/- warning: trivialization.coe_coe -> Trivialization.coe_coe is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{max (succ u3) (succ (max u1 u2))} (Z -> (Prod.{u1, u2} B F)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (fun (_x : LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) => Z -> (Prod.{u1, u2} B F)) (LocalHomeomorph.hasCoeToFun.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Z -> (Prod.{u3, u2} B F)) (LocalHomeomorph.toFun'.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)
+Case conversion may be inaccurate. Consider using '#align trivialization.coe_coe Trivialization.coe_coeₓ'. -/
 @[simp, mfld_simps]
 theorem coe_coe : ⇑e.toLocalHomeomorph = e :=
   rfl
 #align trivialization.coe_coe Trivialization.coe_coe
 
+/- warning: trivialization.coe_fst -> Trivialization.coe_fst is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x)) (proj x))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u2} B (Prod.fst.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e x)) (proj x))
+Case conversion may be inaccurate. Consider using '#align trivialization.coe_fst Trivialization.coe_fstₓ'. -/
 @[simp, mfld_simps]
 theorem coe_fst (ex : x ∈ e.source) : (e x).1 = proj x :=
   e.proj_toFun x ex
 #align trivialization.coe_fst Trivialization.coe_fst
 
+/- warning: trivialization.eq_on -> Trivialization.eqOn is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Set.EqOn.{u3, u1} Z B (Function.comp.{succ u3, max (succ u1) (succ u2), succ u1} Z (Prod.{u1, u2} B F) B (Prod.fst.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e)) proj (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Set.EqOn.{u3, u2} Z B (Function.comp.{succ u3, max (succ u1) (succ u2), succ u2} Z (Prod.{u2, u1} B F) B (Prod.fst.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) proj (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))
+Case conversion may be inaccurate. Consider using '#align trivialization.eq_on Trivialization.eqOnₓ'. -/
 protected theorem eqOn : EqOn (Prod.fst ∘ e) proj e.source := fun x hx => e.coe_fst hx
 #align trivialization.eq_on Trivialization.eqOn
 
+/- warning: trivialization.mem_source -> Trivialization.mem_source is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, Iff (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, Iff (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (proj x) (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))
+Case conversion may be inaccurate. Consider using '#align trivialization.mem_source Trivialization.mem_sourceₓ'. -/
 theorem mem_source : x ∈ e.source ↔ proj x ∈ e.baseSet := by rw [e.source_eq, mem_preimage]
 #align trivialization.mem_source Trivialization.mem_source
 
+/- warning: trivialization.coe_fst' -> Trivialization.coe_fst' is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x)) (proj x))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u3} B (Prod.fst.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x)) (proj x))
+Case conversion may be inaccurate. Consider using '#align trivialization.coe_fst' Trivialization.coe_fst'ₓ'. -/
 theorem coe_fst' (ex : proj x ∈ e.baseSet) : (e x).1 = proj x :=
   e.coe_fst (e.mem_source.2 ex)
 #align trivialization.coe_fst' Trivialization.coe_fst'
 
+/- warning: trivialization.mk_proj_snd -> Trivialization.mk_proj_snd is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{max (succ u2) (succ u1)} (Prod.{u2, u1} B F) (Prod.mk.{u2, u1} B F (proj x) (Prod.snd.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e x))) (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e x))
+Case conversion may be inaccurate. Consider using '#align trivialization.mk_proj_snd Trivialization.mk_proj_sndₓ'. -/
 theorem mk_proj_snd (ex : x ∈ e.source) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst ex).symm rfl
 #align trivialization.mk_proj_snd Trivialization.mk_proj_snd
 
+/- warning: trivialization.mk_proj_snd' -> Trivialization.mk_proj_snd' is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Prod.mk.{u3, u2} B F (proj x) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))
+Case conversion may be inaccurate. Consider using '#align trivialization.mk_proj_snd' Trivialization.mk_proj_snd'ₓ'. -/
 theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
   Prod.ext (e.coe_fst' ex).symm rfl
 #align trivialization.mk_proj_snd' Trivialization.mk_proj_snd'
 
+/- warning: trivialization.source_inter_preimage_target_inter -> Trivialization.source_inter_preimage_target_inter is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{max u1 u2} (Prod.{u1, u2} B F)), Eq.{succ u3} (Set.{u3} Z) (Inter.inter.{u3} (Set.{u3} Z) (Set.hasInter.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Set.preimage.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) (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.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) s))) (Inter.inter.{u3} (Set.{u3} Z) (Set.hasInter.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Set.preimage.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) s))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u3}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u2, u3, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{max u3 u2} (Prod.{u2, u3} B F)), Eq.{succ u1} (Set.{u1} Z) (Inter.inter.{u1} (Set.{u1} Z) (Set.instInterSet.{u1} Z) (LocalEquiv.source.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u2 u3} Z (Prod.{u2, u3} B F) _inst_3 (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Set.preimage.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (Trivialization.toFun'.{u2, u3, u1} B F Z _inst_1 _inst_2 proj _inst_3 e) (Inter.inter.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.instInterSet.{max u2 u3} (Prod.{u2, u3} B F)) (LocalEquiv.target.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u2 u3} Z (Prod.{u2, u3} B F) _inst_3 (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) s))) (Inter.inter.{u1} (Set.{u1} Z) (Set.instInterSet.{u1} Z) (LocalEquiv.source.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u2 u3} Z (Prod.{u2, u3} B F) _inst_3 (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Set.preimage.{u1, max u2 u3} Z (Prod.{u2, u3} B F) (Trivialization.toFun'.{u2, u3, u1} B F Z _inst_1 _inst_2 proj _inst_3 e) s))
+Case conversion may be inaccurate. Consider using '#align trivialization.source_inter_preimage_target_inter Trivialization.source_inter_preimage_target_interₓ'. -/
 theorem source_inter_preimage_target_inter (s : Set (B × F)) :
     e.source ∩ e ⁻¹' (e.target ∩ s) = e.source ∩ e ⁻¹' s :=
   e.toLocalHomeomorph.source_inter_preimage_target_inter s
 #align trivialization.source_inter_preimage_target_inter Trivialization.source_inter_preimage_target_inter
 
+/- warning: trivialization.coe_mk -> Trivialization.coe_mk is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (i : Set.{u1} B) (j : IsOpen.{u1} B _inst_1 i) (k : Eq.{succ u3} ((fun {α : Type.{u3}} {β : Type.{max u1 u2}} (self : LocalEquiv.{u3, max u1 u2} α β) => Set.{u3} α) Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (Set.preimage.{u3, u1} Z B proj i)) (l : Eq.{succ (max u1 u2)} ((fun {α : Type.{u3}} {β : Type.{max u1 u2}} (self : LocalEquiv.{u3, max u1 u2} α β) => Set.{max u1 u2} β) Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (Set.prod.{u1, u2} B F i (Set.univ.{u2} F))) (m : forall (p : Z), (Membership.Mem.{u3, u3} Z ((fun {α : Type.{u3}} {β : Type.{max u1 u2}} (self : LocalEquiv.{u3, max u1 u2} α β) => Set.{u3} α) Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e)) (Set.hasMem.{u3} Z) p (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) e))) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (fun (_x : LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) => Z -> (Prod.{u1, u2} B F)) (LocalHomeomorph.hasCoeToFun.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) e p)) (proj p))) (x : Z), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) (Trivialization.mk.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e i j k l m) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) (fun (_x : LocalHomeomorph.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) => Z -> (Prod.{u1, u2} B F)) (LocalHomeomorph.hasCoeToFun.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2)) e x)
+but is expected to have type
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : LocalHomeomorph.{u3, max u2 u1} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2)) (i : Set.{u1} B) (j : IsOpen.{u1} B _inst_1 i) (k : Eq.{succ u3} (Set.{u3} Z) (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e)) (Set.preimage.{u3, u1} Z B proj i)) (l : Eq.{max (succ u1) (succ u2)} (Set.{max u2 u1} (Prod.{u1, u2} B F)) (LocalEquiv.target.{u3, max u2 u1} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e)) (Set.prod.{u1, u2} B F i (Set.univ.{u2} F))) (m : forall (p : Z), (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) p (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e))) -> (Eq.{succ u1} B (Prod.fst.{u1, u2} B F (LocalHomeomorph.toFun'.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e p)) (proj p))) (x : Z), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 (Trivialization.mk.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e i j k l m) x) (LocalHomeomorph.toFun'.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) e x)
+Case conversion may be inaccurate. Consider using '#align trivialization.coe_mk Trivialization.coe_mkₓ'. -/
 @[simp, mfld_simps]
 theorem coe_mk (e : LocalHomeomorph Z (B × F)) (i j k l m) (x : Z) :
     (Trivialization.mk e i j k l m : Trivialization F proj) x = e x :=
   rfl
 #align trivialization.coe_mk Trivialization.coe_mk
 
+/- warning: trivialization.mem_target -> Trivialization.mem_target is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u1, u2} B F}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (Prod.fst.{u1, u2} B F x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : 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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Prod.fst.{u3, u2} B F x) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))
+Case conversion may be inaccurate. Consider using '#align trivialization.mem_target Trivialization.mem_targetₓ'. -/
 theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet :=
   e.toPretrivialization.mem_target
 #align trivialization.mem_target Trivialization.mem_target
 
+/- warning: trivialization.map_target -> Trivialization.map_target is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) x) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) x) (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))))
+Case conversion may be inaccurate. Consider using '#align trivialization.map_target Trivialization.map_targetₓ'. -/
 theorem map_target {x : B × F} (hx : x ∈ e.target) : e.toLocalHomeomorph.symm x ∈ e.source :=
   e.toLocalHomeomorph.map_target hx
 #align trivialization.map_target Trivialization.map_target
 
+/- warning: trivialization.proj_symm_apply -> Trivialization.proj_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u1} B (proj (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) x)) (Prod.fst.{u1, u2} B F x))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u3} B (proj (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) x)) (Prod.fst.{u3, u2} B F x))
+Case conversion may be inaccurate. Consider using '#align trivialization.proj_symm_apply Trivialization.proj_symm_applyₓ'. -/
 theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalHomeomorph.symm x) = x.1 :=
   e.toPretrivialization.proj_symm_apply hx
 #align trivialization.proj_symm_apply Trivialization.proj_symm_apply
 
+/- warning: trivialization.proj_symm_apply' -> Trivialization.proj_symm_apply' is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} {x : F}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u1} B (proj (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F b x))) b)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} {x : F}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u3} B (proj (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F b x))) b)
+Case conversion may be inaccurate. Consider using '#align trivialization.proj_symm_apply' Trivialization.proj_symm_apply'ₓ'. -/
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     proj (e.toLocalHomeomorph.symm (b, x)) = b :=
   e.toPretrivialization.proj_symm_apply' hx
 #align trivialization.proj_symm_apply' Trivialization.proj_symm_apply'
 
+/- warning: trivialization.proj_surj_on_base_set -> Trivialization.proj_surjOn_baseSet is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) [_inst_5 : Nonempty.{succ u2} F], Set.SurjOn.{u3, u1} Z B proj (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)
+but is expected to have type
+  forall {B : Type.{u1}} {F : Type.{u3}} {Z : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u2} Z] (e : Trivialization.{u1, u3, u2} B F Z _inst_1 _inst_2 _inst_3 proj) [_inst_5 : Nonempty.{succ u3} F], Set.SurjOn.{u2, u1} Z B proj (LocalEquiv.source.{u2, max u1 u3} Z (Prod.{u1, u3} B F) (LocalHomeomorph.toLocalEquiv.{u2, max u1 u3} Z (Prod.{u1, u3} B F) _inst_3 (instTopologicalSpaceProd.{u1, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u3, u2} B F Z _inst_1 _inst_2 _inst_3 proj e))) (Trivialization.baseSet.{u1, u3, u2} B F Z _inst_1 _inst_2 _inst_3 proj e)
+Case conversion may be inaccurate. Consider using '#align trivialization.proj_surj_on_base_set Trivialization.proj_surjOn_baseSetₓ'. -/
 theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet :=
   e.toPretrivialization.proj_surjOn_baseSet
 #align trivialization.proj_surj_on_base_set Trivialization.proj_surjOn_baseSet
 
+/- warning: trivialization.apply_symm_apply -> Trivialization.apply_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u1, u2} B F}, (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) x (LocalEquiv.target.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) x)) x)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Prod.{u3, u2} B F}, (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)) x (LocalEquiv.target.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) x)) x)
+Case conversion may be inaccurate. Consider using '#align trivialization.apply_symm_apply Trivialization.apply_symm_applyₓ'. -/
 theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalHomeomorph.symm x) = x :=
   e.toLocalHomeomorph.right_inv hx
 #align trivialization.apply_symm_apply Trivialization.apply_symm_apply
 
+/- warning: trivialization.apply_symm_apply' -> Trivialization.apply_symm_apply' is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} {x : F}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F b x))) (Prod.mk.{u1, u2} B F b x))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} {x : F}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F b x))) (Prod.mk.{u3, u2} B F b x))
+Case conversion may be inaccurate. Consider using '#align trivialization.apply_symm_apply' Trivialization.apply_symm_apply'ₓ'. -/
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
     e (e.toLocalHomeomorph.symm (b, x)) = (b, x) :=
   e.toPretrivialization.apply_symm_apply' hx
 #align trivialization.apply_symm_apply' Trivialization.apply_symm_apply'
 
+/- warning: trivialization.symm_apply_mk_proj -> Trivialization.symm_apply_mk_proj is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u3} Z (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F (proj x) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x)))) x)
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u3} Z (LocalHomeomorph.toFun'.{max u2 u1, u3} (Prod.{u2, u1} B F) Z (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u2, u1} B F (proj x) (Prod.snd.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e x)))) x)
+Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply_mk_proj Trivialization.symm_apply_mk_projₓ'. -/
 @[simp, mfld_simps]
 theorem symm_apply_mk_proj (ex : x ∈ e.source) : e.toLocalHomeomorph.symm (proj x, (e x).2) = x :=
   e.toPretrivialization.symm_apply_mk_proj ex
 #align trivialization.symm_apply_mk_proj Trivialization.symm_apply_mk_proj
 
+/- warning: trivialization.symm_trans_source_eq -> Trivialization.symm_trans_source_eq is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.source.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) (Set.univ.{u2} F))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.source.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e')))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e')) (Set.univ.{u2} F))
+Case conversion may be inaccurate. Consider using '#align trivialization.symm_trans_source_eq Trivialization.symm_trans_source_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem symm_trans_source_eq (e e' : Trivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_source_eq e.toPretrivialization e'
 #align trivialization.symm_trans_source_eq Trivialization.symm_trans_source_eq
 
+/- warning: trivialization.symm_trans_target_eq -> Trivialization.symm_trans_target_eq is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (LocalEquiv.target.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Prod.{u1, u2} B F) (LocalEquiv.trans.{max u1 u2, u3, max u1 u2} (Prod.{u1, u2} B F) Z (Prod.{u1, u2} B F) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')))) (Set.prod.{u1, u2} B F (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) (Set.univ.{u2} F))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (LocalEquiv.target.{max u3 u2, max u3 u2} (Prod.{u3, u2} B F) (Prod.{u3, u2} B F) (LocalEquiv.trans.{max u3 u2, u1, max u3 u2} (Prod.{u3, u2} B F) Z (Prod.{u3, u2} B F) (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e')))) (Set.prod.{u3, u2} B F (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e')) (Set.univ.{u2} F))
+Case conversion may be inaccurate. Consider using '#align trivialization.symm_trans_target_eq Trivialization.symm_trans_target_eqₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem symm_trans_target_eq (e e' : Trivialization F proj) :
     (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_target_eq e.toPretrivialization e'
 #align trivialization.symm_trans_target_eq Trivialization.symm_trans_target_eq
 
+/- warning: trivialization.coe_fst_eventually_eq_proj -> Trivialization.coe_fst_eventuallyEq_proj is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Filter.EventuallyEq.{u3, u1} Z B (nhds.{u3} Z _inst_3 x) (Function.comp.{succ u3, max (succ u1) (succ u2), succ u1} Z (Prod.{u1, u2} B F) B (Prod.fst.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e)) proj)
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Filter.EventuallyEq.{u3, u2} Z B (nhds.{u3} Z _inst_3 x) (Function.comp.{succ u3, max (succ u1) (succ u2), succ u2} Z (Prod.{u2, u1} B F) B (Prod.fst.{u2, u1} B F) (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) proj)
+Case conversion may be inaccurate. Consider using '#align trivialization.coe_fst_eventually_eq_proj Trivialization.coe_fst_eventuallyEq_projₓ'. -/
 theorem coe_fst_eventuallyEq_proj (ex : x ∈ e.source) : Prod.fst ∘ e =ᶠ[𝓝 x] proj :=
   mem_nhds_iff.2 ⟨e.source, fun y hy => e.coe_fst hy, e.open_source, ex⟩
 #align trivialization.coe_fst_eventually_eq_proj Trivialization.coe_fst_eventuallyEq_proj
 
+/- warning: trivialization.coe_fst_eventually_eq_proj' -> Trivialization.coe_fst_eventuallyEq_proj' is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj x) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Filter.EventuallyEq.{u3, u1} Z B (nhds.{u3} Z _inst_3 x) (Function.comp.{succ u3, max (succ u1) (succ u2), succ u1} Z (Prod.{u1, u2} B F) B (Prod.fst.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e)) proj)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj x) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Filter.EventuallyEq.{u1, u3} Z B (nhds.{u1} Z _inst_3 x) (Function.comp.{succ u1, max (succ u2) (succ u3), succ u3} Z (Prod.{u3, u2} B F) B (Prod.fst.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) proj)
+Case conversion may be inaccurate. Consider using '#align trivialization.coe_fst_eventually_eq_proj' Trivialization.coe_fst_eventuallyEq_proj'ₓ'. -/
 theorem coe_fst_eventuallyEq_proj' (ex : proj x ∈ e.baseSet) : Prod.fst ∘ e =ᶠ[𝓝 x] proj :=
   e.coe_fst_eventuallyEq_proj (e.mem_source.2 ex)
 #align trivialization.coe_fst_eventually_eq_proj' Trivialization.coe_fst_eventuallyEq_proj'
 
+/- warning: trivialization.map_proj_nhds -> Trivialization.map_proj_nhds is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u1} (Filter.{u1} B) (Filter.map.{u3, u1} Z B proj (nhds.{u3} Z _inst_3 x)) (nhds.{u1} B _inst_1 (proj x)))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Eq.{succ u2} (Filter.{u2} B) (Filter.map.{u3, u2} Z B proj (nhds.{u3} Z _inst_3 x)) (nhds.{u2} B _inst_1 (proj x)))
+Case conversion may be inaccurate. Consider using '#align trivialization.map_proj_nhds Trivialization.map_proj_nhdsₓ'. -/
 theorem map_proj_nhds (ex : x ∈ e.source) : map proj (𝓝 x) = 𝓝 (proj x) := by
   rw [← e.coe_fst ex, ← map_congr (e.coe_fst_eventually_eq_proj ex), ← map_map, ← e.coe_coe,
     e.to_local_homeomorph.map_nhds_eq ex, map_fst_nhds]
 #align trivialization.map_proj_nhds Trivialization.map_proj_nhds
 
+/- warning: trivialization.preimage_subset_source -> Trivialization.preimage_subset_source is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B}, (HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (HasSubset.Subset.{u3} (Set.{u3} Z) (Set.hasSubset.{u3} Z) (Set.preimage.{u3, u1} Z B proj s) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B}, (HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (HasSubset.Subset.{u1} (Set.{u1} Z) (Set.instHasSubsetSet.{u1} Z) (Set.preimage.{u1, u3} Z B proj s) (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))))
+Case conversion may be inaccurate. Consider using '#align trivialization.preimage_subset_source Trivialization.preimage_subset_sourceₓ'. -/
 theorem preimage_subset_source {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ⊆ e.source :=
   fun p hp => e.mem_source.mpr (hb hp)
 #align trivialization.preimage_subset_source Trivialization.preimage_subset_source
 
+/- warning: trivialization.image_preimage_eq_prod_univ -> Trivialization.image_preimage_eq_prod_univ is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B}, (HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ (max u1 u2)} (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.image.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) (Set.preimage.{u3, u1} Z B proj s)) (Set.prod.{u1, u2} B F s (Set.univ.{u2} F)))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B}, (HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{max (succ u3) (succ u2)} (Set.{max u3 u2} (Prod.{u3, u2} B F)) (Set.image.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e) (Set.preimage.{u1, u3} Z B proj s)) (Set.prod.{u3, u2} B F s (Set.univ.{u2} F)))
+Case conversion may be inaccurate. Consider using '#align trivialization.image_preimage_eq_prod_univ Trivialization.image_preimage_eq_prod_univₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem image_preimage_eq_prod_univ {s : Set B} (hb : s ⊆ e.baseSet) :
     e '' (proj ⁻¹' s) = s ×ˢ univ :=
@@ -434,6 +792,12 @@ theorem image_preimage_eq_prod_univ {s : Set B} (hb : s ⊆ e.baseSet) :
     ⟨e.invFun p, mem_preimage.mpr ((e.proj_symm_apply hp').symm ▸ hp.1), e.apply_symm_apply hp'⟩
 #align trivialization.image_preimage_eq_prod_univ Trivialization.image_preimage_eq_prod_univ
 
+/- warning: trivialization.preimage_homeomorph -> Trivialization.preimageHomeomorph is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B}, (HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2))
+but is expected to have type
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B}, (HasSubset.Subset.{u1} (Set.{u1} B) (Set.instHasSubsetSet.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (Set.Elem.{u1} B s) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u1, u2} (Set.Elem.{u1} B s) F (instTopologicalSpaceSubtype.{u1} B (fun (x : B) => Membership.mem.{u1, u1} B (Set.{u1} B) (Set.instMembershipSet.{u1} B) x s) _inst_1) _inst_2))
+Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph Trivialization.preimageHomeomorphₓ'. -/
 /-- The preimage of a subset of the base set is homeomorphic to the product with the fiber. -/
 def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ s × F :=
   (e.toLocalHomeomorph.homeomorphOfImageSubsetSource (e.preimage_subset_source hb)
@@ -441,29 +805,59 @@ def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ
     ((Homeomorph.Set.prod s univ).trans ((Homeomorph.refl s).prodCongr (Homeomorph.Set.univ F)))
 #align trivialization.preimage_homeomorph Trivialization.preimageHomeomorph
 
+/- warning: trivialization.preimage_homeomorph_apply -> Trivialization.preimageHomeomorph_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B} (hb : HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2)) (fun (_x : Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2)) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) -> (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F)) (Homeomorph.hasCoeToFun.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2)) (Trivialization.preimageHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e s hb) p) (Prod.mk.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.mk.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) (proj ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)))))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) p)) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)))))) p))))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B} (hb : HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) => Prod.{u3, u2} (Set.Elem.{u3} B s) F) p) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (Homeomorph.{u1, max u2 u3} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (fun (_x : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) => Prod.{u3, u2} (Set.Elem.{u3} B s) F) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (Homeomorph.{u1, max u2 u3} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), succ u1, max (succ u3) (succ u2)} (Homeomorph.{u1, max u2 u3} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Homeomorph.instEquivLikeHomeomorph.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2)))) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb) p) (Prod.mk.{u3, u2} (Set.Elem.{u3} B s) F (Subtype.mk.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) (proj (Subtype.val.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p)) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p)) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) p))))
+Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph_apply Trivialization.preimageHomeomorph_applyₓ'. -/
 @[simp]
 theorem preimageHomeomorph_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : proj ⁻¹' s) :
     e.preimageHomeomorph hb p = (⟨proj p, p.2⟩, (e p).2) :=
   Prod.ext (Subtype.ext (e.proj_toFun p (e.mem_source.mpr (hb p.2)))) rfl
 #align trivialization.preimage_homeomorph_apply Trivialization.preimageHomeomorph_apply
 
+/- warning: trivialization.preimage_homeomorph_symm_apply -> Trivialization.preimageHomeomorph_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u1} B} (hb : HasSubset.Subset.{u1} (Set.{u1} B) (Set.hasSubset.{u1} B) s (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F), Eq.{succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p) (Subtype.mk.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) B (coeSubtype.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s))))) (Prod.fst.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F p)) (Prod.snd.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F p))) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (Set.preimage.{u3, u1} Z B proj s)) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (Set.preimage.{u3, u1} Z B proj s)) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) s) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p)))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {s : Set.{u3} B} (hb : HasSubset.Subset.{u3} (Set.{u3} B) (Set.instHasSubsetSet.{u3} B) s (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Prod.{u3, u2} (Set.Elem.{u3} B s) F), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) p) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p) (Subtype.mk.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F (Subtype.val.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) (Prod.fst.{u3, u2} (Set.Elem.{u3} B s) F p)) (Prod.snd.{u3, u2} (Set.Elem.{u3} B s) F p))) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B s) F) => Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (Set.preimage.{u1, u3} Z B proj s)) (Prod.{u3, u2} (Set.Elem.{u3} B s) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (Set.preimage.{u1, u3} Z B proj s)) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B s) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x s) _inst_1) _inst_2) (Trivialization.preimageHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e s hb)) p)))
+Case conversion may be inaccurate. Consider using '#align trivialization.preimage_homeomorph_symm_apply Trivialization.preimageHomeomorph_symm_applyₓ'. -/
 @[simp]
 theorem preimageHomeomorph_symm_apply {s : Set B} (hb : s ⊆ e.baseSet) (p : s × F) :
     (e.preimageHomeomorph hb).symm p = ⟨e.symm (p.1, p.2), ((e.preimageHomeomorph hb).symm p).2⟩ :=
   rfl
 #align trivialization.preimage_homeomorph_symm_apply Trivialization.preimageHomeomorph_symm_apply
 
+/- warning: trivialization.source_homeomorph_base_set_prod -> Trivialization.sourceHomeomorphBaseSetProd is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)
+but is expected to have type
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), Homeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (Set.Elem.{u1} B (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (instTopologicalSpaceProd.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u1, u2} (Set.Elem.{u1} B (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u1} B (fun (x : B) => Membership.mem.{u1, u1} B (Set.{u1} B) (Set.instMembershipSet.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)
+Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod Trivialization.sourceHomeomorphBaseSetProdₓ'. -/
 /-- The source is homeomorphic to the product of the base set with the fiber. -/
 def sourceHomeomorphBaseSetProd : e.source ≃ₜ e.baseSet × F :=
   (Homeomorph.setCongr e.source_eq).trans (e.preimageHomeomorph subset_rfl)
 #align trivialization.source_homeomorph_base_set_prod Trivialization.sourceHomeomorphBaseSetProd
 
+/- warning: trivialization.source_homeomorph_base_set_prod_apply -> Trivialization.sourceHomeomorphBaseSetProd_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ u3) (succ (max u1 u2))} (Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (fun (_x : Homeomorph.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F)) (Homeomorph.hasCoeToFun.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Trivialization.sourceHomeomorphBaseSetProd.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e) p) (Prod.mk.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.mk.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (proj ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p)) (Iff.mp (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p)) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Trivialization.mem_source.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) Z (coeSubtype.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))))) p))))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) => Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) p) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (Homeomorph.{u3, max u1 u2} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (fun (_x : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) => Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) _x) (EmbeddingLike.toFunLike.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (Homeomorph.{u3, max u1 u2} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (EquivLike.toEmbeddingLike.{max (max (succ u2) (succ u1)) (succ u3), succ u3, max (succ u2) (succ u1)} (Homeomorph.{u3, max u1 u2} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)) (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Homeomorph.instEquivLikeHomeomorph.{u3, max u2 u1} (Set.Elem.{u3} Z (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2)))) (Trivialization.sourceHomeomorphBaseSetProd.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e) p) (Prod.mk.{u2, u1} (Set.Elem.{u2} B (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.mk.{succ u2} B (fun (x : B) => Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) x (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (proj (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Iff.mp (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p) (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) (proj (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Trivialization.baseSet.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Trivialization.mem_source.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p)) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))) (Prod.snd.{u2, u1} B F (Trivialization.toFun'.{u2, u1, u3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u3} Z (fun (x : Z) => Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p))))
+Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod_apply Trivialization.sourceHomeomorphBaseSetProd_applyₓ'. -/
 @[simp]
 theorem sourceHomeomorphBaseSetProd_apply (p : e.source) :
     e.sourceHomeomorphBaseSetProd p = (⟨proj p, e.mem_source.mp p.2⟩, (e p).2) :=
   e.preimageHomeomorph_apply subset_rfl ⟨p, e.mem_source.mp p.2⟩
 #align trivialization.source_homeomorph_base_set_prod_apply Trivialization.sourceHomeomorphBaseSetProd_apply
 
+/- warning: trivialization.source_homeomorph_base_set_prod_symm_apply -> Trivialization.sourceHomeomorphBaseSetProd_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F), Eq.{succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) p) (Subtype.mk.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u1, u2} B F ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) B (coeSubtype.{succ u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))))) (Prod.fst.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p)) (Prod.snd.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p))) (Subtype.property.{succ u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (fun (_x : Homeomorph.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) => (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) -> (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (Homeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Homeomorph.symm.{u3, max u1 u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} Z) Type.{u3} (Set.hasCoeToSort.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Subtype.topologicalSpace.{u3} Z (fun (x : Z) => Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (Prod.topologicalSpace.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} B) Type.{u1} (Set.hasCoeToSort.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (Subtype.topologicalSpace.{u1} B (fun (x : B) => Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e)) p)))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (p : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) p) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) p) (Subtype.mk.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u3, u2} B F (Subtype.val.{succ u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.fst.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p)) (Prod.snd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F p))) (Subtype.property.{succ u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (fun (_x : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) => Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _x) (EmbeddingLike.toFunLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (EquivLike.toEmbeddingLike.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u2), succ u1} (Homeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Homeomorph.instEquivLikeHomeomorph.{max u3 u2, u1} (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3)))) (Homeomorph.symm.{u1, max u3 u2} (Set.Elem.{u1} Z (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) (Prod.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F) (instTopologicalSpaceSubtype.{u1} Z (fun (x : Z) => Membership.mem.{u1, u1} Z (Set.{u1} Z) (Set.instMembershipSet.{u1} Z) x (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)))) _inst_3) (instTopologicalSpaceProd.{u3, u2} (Set.Elem.{u3} B (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) F (instTopologicalSpaceSubtype.{u3} B (fun (x : B) => Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) _inst_1) _inst_2) (Trivialization.sourceHomeomorphBaseSetProd.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e)) p)))
+Case conversion may be inaccurate. Consider using '#align trivialization.source_homeomorph_base_set_prod_symm_apply Trivialization.sourceHomeomorphBaseSetProd_symm_applyₓ'. -/
 @[simp]
 theorem sourceHomeomorphBaseSetProd_symm_apply (p : e.baseSet × F) :
     e.sourceHomeomorphBaseSetProd.symm p =
@@ -471,6 +865,12 @@ theorem sourceHomeomorphBaseSetProd_symm_apply (p : e.baseSet × F) :
   rfl
 #align trivialization.source_homeomorph_base_set_prod_symm_apply Trivialization.sourceHomeomorphBaseSetProd_symm_apply
 
+/- warning: trivialization.preimage_singleton_homeomorph -> Trivialization.preimageSingletonHomeomorph is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u_2}} {F : Type.{u_3}} {Z : Type.{u_5}} [_inst_1 : TopologicalSpace.{u_2} B] [_inst_2 : TopologicalSpace.{u_3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_5} Z] (e : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Trivialization.baseSet.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Homeomorph.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2)
+but is expected to have type
+  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2)
+Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph Trivialization.preimageSingletonHomeomorphₓ'. -/
 /-- Each fiber of a trivialization is homeomorphic to the specified fiber. -/
 def preimageSingletonHomeomorph {b : B} (hb : b ∈ e.baseSet) : proj ⁻¹' {b} ≃ₜ F :=
   (e.preimageHomeomorph (Set.singleton_subset_iff.mpr hb)).trans
@@ -478,12 +878,24 @@ def preimageSingletonHomeomorph {b : B} (hb : b ∈ e.baseSet) : proj ⁻¹' {b}
       (Homeomorph.punitProd F))
 #align trivialization.preimage_singleton_homeomorph Trivialization.preimageSingletonHomeomorph
 
+/- warning: trivialization.preimage_singleton_homeomorph_apply -> Trivialization.preimageSingletonHomeomorph_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u_2}} {F : Type.{u_3}} {Z : Type.{u_5}} [_inst_1 : TopologicalSpace.{u_2} B] [_inst_2 : TopologicalSpace.{u_3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_5} Z] (e : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Trivialization.baseSet.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))), Eq.{succ u_3} F (coeFn.{max (succ u_5) (succ u_3), max (succ u_5) (succ u_3)} (Homeomorph.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2) (fun (_x : Homeomorph.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2) => (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) -> F) (Homeomorph.hasCoeToFun.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2) (Trivialization.preimageSingletonHomeomorph.{u_2, u_3, u_5, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b hb) p) (Prod.snd.{u_2, u_3} B F (coeFn.{max (succ u_2) (succ u_3) (succ u_5), max (succ u_5) (succ u_2) (succ u_3)} (Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u_2, u_3} B F)) (Trivialization.hasCoeToFun.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 proj _inst_3) e ((fun (a : Type.{u_5}) (b : Type.{u_5}) [self : HasLiftT.{succ u_5, succ u_5} a b] => self.0) (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (HasLiftT.mk.{succ u_5, succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (CoeTCₓ.coe.{succ u_5, succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (coeBase.{succ u_5, succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) Z (coeSubtype.{succ u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))))))) p)))
+but is expected to have type
+  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))), Eq.{succ u_2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) => F) p) (FunLike.coe.{max (succ u_2) (succ u_3), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (fun (_x : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) => F) _x) (EmbeddingLike.toFunLike.{max (succ u_2) (succ u_3), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (EquivLike.toEmbeddingLike.{max (succ u_2) (succ u_3), succ u_3, succ u_2} (Homeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2) (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (Homeomorph.instEquivLikeHomeomorph.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2))) (Trivialization.preimageSingletonHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e b hb) p) (Prod.snd.{u_1, u_2} B F (Trivialization.toFun'.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e (Subtype.val.{succ u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) p)))
+Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph_apply Trivialization.preimageSingletonHomeomorph_applyₓ'. -/
 @[simp]
 theorem preimageSingletonHomeomorph_apply {b : B} (hb : b ∈ e.baseSet) (p : proj ⁻¹' {b}) :
     e.preimageSingletonHomeomorph hb p = (e p).2 :=
   rfl
 #align trivialization.preimage_singleton_homeomorph_apply Trivialization.preimageSingletonHomeomorph_apply
 
+/- warning: trivialization.preimage_singleton_homeomorph_symm_apply -> Trivialization.preimageSingletonHomeomorph_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u_2}} {F : Type.{u_3}} {Z : Type.{u_5}} [_inst_1 : TopologicalSpace.{u_2} B] [_inst_2 : TopologicalSpace.{u_3} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_5} Z] (e : Trivialization.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Trivialization.baseSet.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : F), Eq.{succ u_5} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (coeFn.{max (succ u_3) (succ u_5), max (succ u_3) (succ u_5)} (Homeomorph.{u_3, u_5} F (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_2 (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3)) (fun (_x : Homeomorph.{u_3, u_5} F (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_2 (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3)) => F -> (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)))) (Homeomorph.hasCoeToFun.{u_3, u_5} F (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_2 (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3)) (Homeomorph.symm.{u_5, u_3} (coeSort.{max (succ u_5) 1, succ (succ u_5)} (Set.{u_5} Z) Type.{u_5} (Set.hasCoeToSort.{u_5} Z) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) F (Subtype.topologicalSpace.{u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _inst_3) _inst_2 (Trivialization.preimageSingletonHomeomorph.{u_2, u_3, u_5, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b hb)) p) (Subtype.mk.{succ u_5} Z (fun (x : Z) => Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) x (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Eq.mpr.{0} (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Eq.ndrec.{0, 1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (fun (_a : Prop) => Eq.{1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) _a) (rfl.{1} Prop (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (propext (Membership.Mem.{u_5, u_5} Z (Set.{u_5} Z) (Set.hasMem.{u_5} Z) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)) (Set.preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Set.mem_preimage.{u_5, u_2} Z B proj (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b) (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p)))))) (Eq.mpr.{0} (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Eq.ndrec.{0, succ u_2} B (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (fun (_a : B) => Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) _a (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (rfl.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) (proj (coeFn.{max (succ (max u_2 u_3)) (succ u_5), max (succ (max u_2 u_3)) (succ u_5)} (LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) => (Prod.{u_2, u_3} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u_2 u_3, u_5} (Prod.{u_2, u_3} B F) Z (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u_5, max u_2 u_3} Z (Prod.{u_2, u_3} B F) _inst_3 (Prod.topologicalSpace.{u_2, u_3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_2, u_3} B F b p))) (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) b (Trivialization.proj_symm_apply'.{u_2, u_3, u_5} B F Z _inst_1 _inst_2 proj _inst_3 e b p hb))) (Eq.mpr.{0} (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Eq.{succ u_2} B b b) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Eq.{succ u_2} B b b)) (Eq.ndrec.{0, 1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (fun (_a : Prop) => Eq.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) _a) (rfl.{1} Prop (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b))) (Eq.{succ u_2} B b b) (propext (Membership.Mem.{u_2, u_2} B (Set.{u_2} B) (Set.hasMem.{u_2} B) b (Singleton.singleton.{u_2, u_2} B (Set.{u_2} B) (Set.hasSingleton.{u_2} B) b)) (Eq.{succ u_2} B b b) (Set.mem_singleton_iff.{u_2} B b b)))) (rfl.{succ u_2} B b)))))
+but is expected to have type
+  forall {B : Type.{u_1}} {F : Type.{u_2}} {Z : Type.{u_3}} [_inst_1 : TopologicalSpace.{u_1} B] [_inst_2 : TopologicalSpace.{u_2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u_3} Z] (e : Trivialization.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (hb : Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Trivialization.baseSet.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (p : F), Eq.{succ u_3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) p) (FunLike.coe.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _x) (EmbeddingLike.toFunLike.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (EquivLike.toEmbeddingLike.{max (succ u_2) (succ u_3), succ u_2, succ u_3} (Homeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)) F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Homeomorph.instEquivLikeHomeomorph.{u_2, u_3} F (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_2 (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3)))) (Homeomorph.symm.{u_3, u_2} (Set.Elem.{u_3} Z (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) F (instTopologicalSpaceSubtype.{u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _inst_3) _inst_2 (Trivialization.preimageSingletonHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 proj _inst_3 e b hb)) p) (Subtype.mk.{succ u_3} Z (fun (x : Z) => Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) x (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Eq.mpr.{0} (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (id.{0} (Eq.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.ndrec.{0, 1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (fun (_a : Prop) => Eq.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) _a) (Eq.refl.{1} Prop (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (propext (Membership.mem.{u_3, u_3} Z (Set.{u_3} Z) (Set.instMembershipSet.{u_3} Z) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)) (Set.preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Set.mem_preimage.{u_3, u_1} Z B proj (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b) (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p)))))) (Eq.mpr.{0} (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (id.{0} (Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.ndrec.{0, succ u_1} B (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (fun (_a : B) => Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) _a (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.refl.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) (proj (LocalHomeomorph.toFun'.{max u_1 u_2, u_3} (Prod.{u_1, u_2} B F) Z (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u_3, max u_1 u_2} Z (Prod.{u_1, u_2} B F) _inst_3 (instTopologicalSpaceProd.{u_1, u_2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u_1, u_2, u_3} B F Z _inst_1 _inst_2 _inst_3 proj e)) (Prod.mk.{u_1, u_2} B F b p))) (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) b (Trivialization.proj_symm_apply'.{u_3, u_2, u_1} B F Z _inst_1 _inst_2 proj _inst_3 e b p hb))) (Eq.mpr.{0} (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b) (id.{0} (Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b)) (Eq.ndrec.{0, 1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (fun (_a : Prop) => Eq.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) _a) (Eq.refl.{1} Prop (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b))) (Eq.{succ u_1} B b b) (propext (Membership.mem.{u_1, u_1} B (Set.{u_1} B) (Set.instMembershipSet.{u_1} B) b (Singleton.singleton.{u_1, u_1} B (Set.{u_1} B) (Set.instSingletonSet.{u_1} B) b)) (Eq.{succ u_1} B b b) (Set.mem_singleton_iff.{u_1} B b b)))) (Eq.refl.{succ u_1} B b)))))
+Case conversion may be inaccurate. Consider using '#align trivialization.preimage_singleton_homeomorph_symm_apply Trivialization.preimageSingletonHomeomorph_symm_applyₓ'. -/
 @[simp]
 theorem preimageSingletonHomeomorph_symm_apply {b : B} (hb : b ∈ e.baseSet) (p : F) :
     (e.preimageSingletonHomeomorph hb).symm p =
@@ -491,11 +903,23 @@ theorem preimageSingletonHomeomorph_symm_apply {b : B} (hb : b ∈ e.baseSet) (p
   rfl
 #align trivialization.preimage_singleton_homeomorph_symm_apply Trivialization.preimageSingletonHomeomorph_symm_apply
 
+/- warning: trivialization.continuous_at_proj -> Trivialization.continuousAt_proj is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.Mem.{u3, u3} Z (Set.{u3} Z) (Set.hasMem.{u3} Z) x (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (ContinuousAt.{u3, u1} Z B _inst_3 _inst_1 proj x)
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u1}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u1} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {x : Z}, (Membership.mem.{u3, u3} Z (Set.{u3} Z) (Set.instMembershipSet.{u3} Z) x (LocalEquiv.source.{u3, max u2 u1} Z (Prod.{u2, u1} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u2 u1} Z (Prod.{u2, u1} B F) _inst_3 (instTopologicalSpaceProd.{u2, u1} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u1, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)))) -> (ContinuousAt.{u3, u2} Z B _inst_3 _inst_1 proj x)
+Case conversion may be inaccurate. Consider using '#align trivialization.continuous_at_proj Trivialization.continuousAt_projₓ'. -/
 /-- In the domain of a bundle trivialization, the projection is continuous-/
 theorem continuousAt_proj (ex : x ∈ e.source) : ContinuousAt proj x :=
   (e.map_proj_nhds ex).le
 #align trivialization.continuous_at_proj Trivialization.continuousAt_proj
 
+/- warning: trivialization.comp_homeomorph -> Trivialization.compHomeomorph is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z], (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) -> (forall {Z' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} Z'] (h : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3), Trivialization.{u1, u2, u4} B F Z' _inst_1 _inst_2 _inst_5 (Function.comp.{succ u4, succ u3, succ u1} Z' Z B proj (coeFn.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) (fun (_x : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) => Z' -> Z) (Homeomorph.hasCoeToFun.{u4, u3} Z' Z _inst_5 _inst_3) h)))
+but is expected to have type
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z], (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) -> (forall {Z' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} Z'] (h : Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3), Trivialization.{u1, u2, u4} B F Z' _inst_1 _inst_2 _inst_5 (Function.comp.{succ u4, succ u3, succ u1} Z' Z B proj (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' (fun (_x : Z') => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Z') => Z) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u4), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' Z (EquivLike.toEmbeddingLike.{max (succ u3) (succ u4), succ u4, succ u3} (Homeomorph.{u4, u3} Z' Z _inst_5 _inst_3) Z' Z (Homeomorph.instEquivLikeHomeomorph.{u4, u3} Z' Z _inst_5 _inst_3))) h)))
+Case conversion may be inaccurate. Consider using '#align trivialization.comp_homeomorph Trivialization.compHomeomorphₓ'. -/
 /-- Composition of a `trivialization` and a `homeomorph`. -/
 protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ Z) :
     Trivialization F (proj ∘ h)
@@ -510,6 +934,12 @@ protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ
     simp [hp]
 #align trivialization.comp_homeomorph Trivialization.compHomeomorph
 
+/- warning: trivialization.continuous_at_of_comp_right -> Trivialization.continuousAt_of_comp_right is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] {X : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} X] {f : Z -> X} {z : Z} (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj z) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (ContinuousAt.{max u1 u2, u4} (Prod.{u1, u2} B F) X (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_5 (Function.comp.{succ (max u1 u2), succ u3, succ u4} (Prod.{u1, u2} B F) Z X f (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (fun (_x : LocalEquiv.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) => (Prod.{u1, u2} B F) -> Z) (LocalEquiv.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z) (LocalEquiv.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e z)) -> (ContinuousAt.{u3, u4} Z X _inst_3 _inst_5 f z)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] {X : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} X] {f : Z -> X} {z : Z} (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj z) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (ContinuousAt.{max u3 u2, u4} (Prod.{u3, u2} B F) X (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_5 (Function.comp.{succ (max u3 u2), succ u1, succ u4} (Prod.{u3, u2} B F) Z X f (LocalEquiv.toFun.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (LocalEquiv.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))))) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e z)) -> (ContinuousAt.{u1, u4} Z X _inst_3 _inst_5 f z)
+Case conversion may be inaccurate. Consider using '#align trivialization.continuous_at_of_comp_right Trivialization.continuousAt_of_comp_rightₓ'. -/
 /-- Read off the continuity of a function `f : Z → X` at `z : Z` by transferring via a
 trivialization of `Z` containing `z`. -/
 theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z → X} {z : Z}
@@ -524,6 +954,12 @@ theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z →
     LocalHomeomorph.symm_symm]
 #align trivialization.continuous_at_of_comp_right Trivialization.continuousAt_of_comp_right
 
+/- warning: trivialization.continuous_at_of_comp_left -> Trivialization.continuousAt_of_comp_left is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] {X : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} X] {f : X -> Z} {x : X} (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), (ContinuousAt.{u4, u1} X B _inst_5 _inst_1 (Function.comp.{succ u4, succ u3, succ u1} X Z B proj f) x) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj (f x)) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (ContinuousAt.{u4, max u1 u2} X (Prod.{u1, u2} B F) _inst_5 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Function.comp.{succ u4, succ u3, succ (max u1 u2)} X Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) f) x) -> (ContinuousAt.{u4, u3} X Z _inst_5 _inst_3 f x)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] {X : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} X] {f : X -> Z} {x : X} (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj), (ContinuousAt.{u4, u3} X B _inst_5 _inst_1 (Function.comp.{succ u4, succ u1, succ u3} X Z B proj f) x) -> (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj (f x)) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (ContinuousAt.{u4, max u3 u2} X (Prod.{u3, u2} B F) _inst_5 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Function.comp.{succ u4, succ u1, succ (max u3 u2)} X Z (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e) f) x) -> (ContinuousAt.{u4, u1} X Z _inst_5 _inst_3 f x)
+Case conversion may be inaccurate. Consider using '#align trivialization.continuous_at_of_comp_left Trivialization.continuousAt_of_comp_leftₓ'. -/
 /-- Read off the continuity of a function `f : X → Z` at `x : X` by transferring via a
 trivialization of `Z` containing `f x`. -/
 theorem continuousAt_of_comp_left {X : Type _} [TopologicalSpace X] {f : X → Z} {x : X}
@@ -538,34 +974,76 @@ theorem continuousAt_of_comp_left {X : Type _} [TopologicalSpace X] {f : X → Z
 
 variable {E} (e' : Trivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
 
+/- warning: trivialization.continuous_on -> Trivialization.continuousOn 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)), ContinuousOn.{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_1 _inst_2) (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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e') (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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) 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] [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] (e' : Trivialization.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E)), ContinuousOn.{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_1 _inst_2) (Trivialization.toFun'.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E) _inst_4 e') (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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e')))
+Case conversion may be inaccurate. Consider using '#align trivialization.continuous_on Trivialization.continuousOnₓ'. -/
 protected theorem continuousOn : ContinuousOn e' e'.source :=
   e'.continuous_toFun
 #align trivialization.continuous_on Trivialization.continuousOn
 
+/- warning: trivialization.coe_mem_source -> Trivialization.coe_mem_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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B} {y : E b}, Iff (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)) ((fun (a : Type.{u3}) (b : Type.{max u1 u3}) [self : HasLiftT.{succ u3, succ (max u1 u3)} a b] => self.0) (E b) (Bundle.TotalSpace.{u1, u3} B E) (HasLiftT.mk.{succ u3, succ (max u1 u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (CoeTCₓ.coe.{succ u3, succ (max u1 u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.TotalSpace.hasCoeT.{u1, u3} B E b))) y) (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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e')))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) 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] [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] (e' : Trivialization.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E)) {b : B} {y : E b}, Iff (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)) (Bundle.totalSpaceMk.{u3, u2} B E b y) (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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e')))) (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e'))
+Case conversion may be inaccurate. Consider using '#align trivialization.coe_mem_source Trivialization.coe_mem_sourceₓ'. -/
 theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
   e'.mem_source
 #align trivialization.coe_mem_source Trivialization.coe_mem_source
 
-theorem open_target : IsOpen e'.target :=
+/- warning: trivialization.open_target -> Trivialization.open_target' 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)), IsOpen.{max u1 u2} (Prod.{u1, u2} B F) (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (LocalEquiv.target.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] (e' : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)), IsOpen.{max u3 u2} (Prod.{u3, u2} B F) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (LocalEquiv.target.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e')))
+Case conversion may be inaccurate. Consider using '#align trivialization.open_target Trivialization.open_target'ₓ'. -/
+theorem open_target' : IsOpen e'.target :=
   by
   rw [e'.target_eq]
   exact e'.open_base_set.prod isOpen_univ
-#align trivialization.open_target Trivialization.open_target
-
+#align trivialization.open_target Trivialization.open_target'
+
+/- warning: trivialization.coe_coe_fst -> Trivialization.coe_coe_fst 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B} {y : E b}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) 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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e' ((fun (a : Type.{u3}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u3, max (succ u1) (succ u3)} a b] => self.0) (E b) (Bundle.TotalSpace.{u1, u3} B E) (HasLiftT.mk.{succ u3, max (succ u1) (succ u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (CoeTCₓ.coe.{succ u3, max (succ u1) (succ u3)} (E b) (Bundle.TotalSpace.{u1, u3} B E) (Bundle.TotalSpace.hasCoeT.{u1, u3} B E b))) y))) b)
+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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] (e' : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B} {y : E b}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e')) -> (Eq.{succ u3} B (Prod.fst.{u3, u2} B F (Trivialization.toFun'.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) _inst_4 e' (Bundle.totalSpaceMk.{u3, u1} B E b y))) b)
+Case conversion may be inaccurate. Consider using '#align trivialization.coe_coe_fst Trivialization.coe_coe_fstₓ'. -/
 @[simp, mfld_simps]
 theorem coe_coe_fst (hb : b ∈ e'.baseSet) : (e' y).1 = b :=
   e'.coe_fst (e'.mem_source.2 hb)
 #align trivialization.coe_coe_fst Trivialization.coe_coe_fst
 
+/- warning: trivialization.mk_mem_target -> Trivialization.mk_mem_target 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B} {y : F}, Iff (Membership.Mem.{max u1 u2, max u1 u2} (Prod.{u1, u2} B F) (Set.{max u1 u2} (Prod.{u1, u2} B F)) (Set.hasMem.{max u1 u2} (Prod.{u1, u2} B F)) (Prod.mk.{u1, u2} B F b y) (LocalEquiv.target.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e')))) (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e'))
+but is expected to have type
+  forall {B : Type.{u2}} {F : Type.{u3}} {E : B -> Type.{u1}} [_inst_1 : TopologicalSpace.{u2} B] [_inst_2 : TopologicalSpace.{u3} F] [_inst_4 : TopologicalSpace.{max u1 u2} (Bundle.TotalSpace.{u2, u1} B E)] (e' : Trivialization.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u2, u1} B E)) {b : B} {y : F}, Iff (Membership.mem.{max u3 u2, max u2 u3} (Prod.{u2, u3} B F) (Set.{max u2 u3} (Prod.{u2, u3} B F)) (Set.instMembershipSet.{max u2 u3} (Prod.{u2, u3} B F)) (Prod.mk.{u2, u3} B F b y) (LocalEquiv.target.{max u2 u1, max u2 u3} (Bundle.TotalSpace.{u2, u1} B E) (Prod.{u2, u3} B F) (LocalHomeomorph.toLocalEquiv.{max u2 u1, max u2 u3} (Bundle.TotalSpace.{u2, u1} B E) (Prod.{u2, u3} B F) _inst_4 (instTopologicalSpaceProd.{u2, u3} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u2, u1} B E) e')))) (Membership.mem.{u2, u2} B (Set.{u2} B) (Set.instMembershipSet.{u2} B) b (Trivialization.baseSet.{u2, u3, max u2 u1} B F (Bundle.TotalSpace.{u2, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u2, u1} B E) e'))
+Case conversion may be inaccurate. Consider using '#align trivialization.mk_mem_target Trivialization.mk_mem_targetₓ'. -/
 theorem mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.baseSet :=
   e'.toPretrivialization.mem_target
 #align trivialization.mk_mem_target Trivialization.mk_mem_target
 
+/- warning: trivialization.symm_apply_apply -> Trivialization.symm_apply_apply 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] (e' : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e')))) -> (Eq.{max (succ u1) (succ u3)} (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))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e')) (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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e' x)) x)
+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] [_inst_4 : TopologicalSpace.{max u2 u3} (Bundle.TotalSpace.{u3, u2} B E)] (e' : Trivialization.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E)) {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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e')))) -> (Eq.{max (succ u3) (succ u2)} (Bundle.TotalSpace.{u3, u2} B E) (LocalHomeomorph.toFun'.{max u3 u1, max u3 u2} (Prod.{u3, u1} B F) (Bundle.TotalSpace.{u3, u2} B E) (instTopologicalSpaceProd.{u3, u1} B F _inst_1 _inst_2) _inst_4 (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u2} B E) e')) (Trivialization.toFun'.{u3, u1, max u3 u2} B F (Bundle.TotalSpace.{u3, u2} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u2} B E) _inst_4 e' x)) x)
+Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply_apply Trivialization.symm_apply_applyₓ'. -/
 theorem symm_apply_apply {x : TotalSpace E} (hx : x ∈ e'.source) :
     e'.toLocalHomeomorph.symm (e' x) = x :=
   e'.toLocalEquiv.left_inv hx
 #align trivialization.symm_apply_apply Trivialization.symm_apply_apply
 
+/- warning: trivialization.symm_coe_proj -> Trivialization.symm_coe_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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] {x : B} {y : F} (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) x (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (Eq.{succ u1} B (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F x y))) x)
+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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] {x : B} {y : F} (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) x (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (Eq.{succ u3} B (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F x y))) x)
+Case conversion may be inaccurate. Consider using '#align trivialization.symm_coe_proj Trivialization.symm_coe_projₓ'. -/
 @[simp, mfld_simps]
 theorem symm_coe_proj {x : B} {y : F} (e : Trivialization F (π E)) (h : x ∈ e.baseSet) :
     (e.toLocalHomeomorph.symm (x, y)).1 = x :=
@@ -576,42 +1054,86 @@ section Zero
 
 variable [∀ x, Zero (E x)]
 
+#print Trivialization.symm /-
 /-- A fiberwise inverse to `e'`. The function `F → E x` that induces a local inverse
 `B × F → total_space E` of `e'` on `e'.base_set`. It is defined to be `0` outside `e'.base_set`. -/
 protected noncomputable def symm (e : Trivialization F (π E)) (b : B) (y : F) : E b :=
   e.toPretrivialization.symm b y
 #align trivialization.symm Trivialization.symm
+-/
 
+/- warning: trivialization.symm_apply -> Trivialization.symm_apply 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B} (hb : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (y : F), Eq.{succ u3} (E b) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y) (cast.{succ u3} (E (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F b y)))) (E b) (congr_arg.{succ u1, succ (succ u3)} B Type.{u3} (Sigma.fst.{u1, u3} B (fun (x : B) => E x) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F b y))) b E (Trivialization.symm_coe_proj.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 b y e hb)) (Sigma.snd.{u1, u3} B (fun (x : B) => E x) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F b y))))
+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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B} (hb : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (y : F), Eq.{succ u1} (E b) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y) (cast.{succ u1} (E (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F b y)))) (E b) (congr_arg.{succ u3, succ (succ u1)} B Type.{u1} (Sigma.fst.{u3, u1} B (fun (x : B) => E x) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F b y))) b E (Trivialization.symm_coe_proj.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 b y e hb)) (Sigma.snd.{u3, u1} B (fun (x : B) => E x) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F b y))))
+Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply Trivialization.symm_applyₓ'. -/
 theorem symm_apply (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalHomeomorph.symm (b, y)).2 :=
   dif_pos hb
 #align trivialization.symm_apply Trivialization.symm_apply
 
+/- warning: trivialization.symm_apply_of_not_mem -> Trivialization.symm_apply_of_not_mem 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B}, (Not (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e))) -> (forall (y : F), Eq.{succ u3} (E b) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y) (OfNat.ofNat.{u3} (E b) 0 (OfNat.mk.{u3} (E b) 0 (Zero.zero.{u3} (E b) (_inst_5 b)))))
+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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B}, (Not (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e))) -> (forall (y : F), Eq.{succ u1} (E b) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y) (OfNat.ofNat.{u1} (E b) 0 (Zero.toOfNat0.{u1} (E b) (_inst_5 b))))
+Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply_of_not_mem Trivialization.symm_apply_of_not_memₓ'. -/
 theorem symm_apply_of_not_mem (e : Trivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
     e.symm b y = 0 :=
   dif_neg hb
 #align trivialization.symm_apply_of_not_mem Trivialization.symm_apply_of_not_mem
 
+/- warning: trivialization.mk_symm -> Trivialization.mk_symm 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (forall (y : F), Eq.{max (succ u1) (succ u3)} (Bundle.TotalSpace.{u1, u3} B E) (Bundle.totalSpaceMk.{u1, u3} B E b (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y)) (coeFn.{max (succ (max u1 u2)) (succ (max u1 u3)), max (succ (max u1 u2)) (succ (max u1 u3))} (LocalHomeomorph.{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) _inst_4) (fun (_x : LocalHomeomorph.{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) _inst_4) => (Prod.{u1, u2} B F) -> (Bundle.TotalSpace.{u1, u3} B E)) (LocalHomeomorph.hasCoeToFun.{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) _inst_4) (LocalHomeomorph.symm.{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_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) (Prod.mk.{u1, u2} B F b y)))
+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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (forall (y : F), Eq.{max (succ u3) (succ u1)} (Bundle.TotalSpace.{u3, u1} B E) (Bundle.totalSpaceMk.{u3, u1} B E b (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y)) (LocalHomeomorph.toFun'.{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) _inst_4 (LocalHomeomorph.symm.{max u3 u1, max u3 u2} (Bundle.TotalSpace.{u3, u1} B E) (Prod.{u3, u2} B F) _inst_4 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) (Prod.mk.{u3, u2} B F b y)))
+Case conversion may be inaccurate. Consider using '#align trivialization.mk_symm Trivialization.mk_symmₓ'. -/
 theorem mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     totalSpaceMk b (e.symm b y) = e.toLocalHomeomorph.symm (b, y) :=
   e.toPretrivialization.mk_symm hb y
 #align trivialization.mk_symm Trivialization.mk_symm
 
+/- warning: trivialization.symm_proj_apply -> Trivialization.symm_proj_apply 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) (z : Bundle.TotalSpace.{u1, u3} B E), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (Bundle.TotalSpace.proj.{u1, u3} B E z) (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (Eq.{succ u3} (E (Bundle.TotalSpace.proj.{u1, u3} B E z)) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e (Bundle.TotalSpace.proj.{u1, u3} B E z) (Prod.snd.{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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e z))) (Sigma.snd.{u1, u3} B (fun (x : B) => E x) z))
+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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) (z : Bundle.TotalSpace.{u3, u1} B E), (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (Bundle.TotalSpace.proj.{u3, u1} B E z) (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (Eq.{succ u1} (E (Bundle.TotalSpace.proj.{u3, u1} B E z)) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e (Bundle.TotalSpace.proj.{u3, u1} B E z) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) _inst_4 e z))) (Sigma.snd.{u3, u1} B (fun (x : B) => E x) z))
+Case conversion may be inaccurate. Consider using '#align trivialization.symm_proj_apply Trivialization.symm_proj_applyₓ'. -/
 theorem symm_proj_apply (e : Trivialization F (π E)) (z : TotalSpace E) (hz : z.proj ∈ e.baseSet) :
     e.symm z.proj (e z).2 = z.2 :=
   e.toPretrivialization.symm_proj_apply z hz
 #align trivialization.symm_proj_apply Trivialization.symm_proj_apply
 
+/- warning: trivialization.symm_apply_apply_mk -> Trivialization.symm_apply_apply_mk 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (forall (y : E b), Eq.{succ u3} (E b) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b (Prod.snd.{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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e (Bundle.totalSpaceMk.{u1, u3} B E b y)))) y)
+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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (forall (y : E b), Eq.{succ u1} (E b) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) _inst_4 e (Bundle.totalSpaceMk.{u3, u1} B E b y)))) y)
+Case conversion may be inaccurate. Consider using '#align trivialization.symm_apply_apply_mk Trivialization.symm_apply_apply_mkₓ'. -/
 theorem symm_apply_apply_mk (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
     e.symm b (e (totalSpaceMk b y)).2 = y :=
   e.symm_proj_apply (totalSpaceMk b y) hb
 #align trivialization.symm_apply_apply_mk Trivialization.symm_apply_apply_mk
 
+/- warning: trivialization.apply_mk_symm -> Trivialization.apply_mk_symm 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e)) -> (forall (y : F), Eq.{max (succ u1) (succ u2)} (Prod.{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_1 _inst_2 _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_1 _inst_2 _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_1 _inst_2 (Bundle.TotalSpace.proj.{u1, u3} B E) _inst_4) e (Bundle.totalSpaceMk.{u1, u3} B E b (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y))) (Prod.mk.{u1, u2} B F b y))
+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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e)) -> (forall (y : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Trivialization.toFun'.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 (Bundle.TotalSpace.proj.{u3, u1} B E) _inst_4 e (Bundle.totalSpaceMk.{u3, u1} B E b (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e b y))) (Prod.mk.{u3, u2} B F b y))
+Case conversion may be inaccurate. Consider using '#align trivialization.apply_mk_symm Trivialization.apply_mk_symmₓ'. -/
 theorem apply_mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e (totalSpaceMk b (e.symm b y)) = (b, y) :=
   e.toPretrivialization.apply_mk_symm hb y
 #align trivialization.apply_mk_symm Trivialization.apply_mk_symm
 
+/- warning: trivialization.continuous_on_symm -> Trivialization.continuousOn_symm 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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u1, u3} B E)] [_inst_5 : forall (x : B), Zero.{u3} (E x)] (e : Trivialization.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E)), 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) _inst_4 (fun (z : Prod.{u1, u2} B F) => Bundle.totalSpaceMk.{u1, u3} B E (Prod.fst.{u1, u2} B F z) (Trivialization.symm.{u1, u2, u3} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e (Prod.fst.{u1, u2} B F z) (Prod.snd.{u1, u2} B F z))) (Set.prod.{u1, u2} B F (Trivialization.baseSet.{u1, u2, max u1 u3} B F (Bundle.TotalSpace.{u1, u3} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u1, u3} B E) e) (Set.univ.{u2} F))
+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] [_inst_4 : TopologicalSpace.{max u1 u3} (Bundle.TotalSpace.{u3, u1} B E)] [_inst_5 : forall (x : B), Zero.{u1} (E x)] (e : Trivialization.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E)), ContinuousOn.{max u3 u2, max u1 u3} (Prod.{u3, u2} B F) (Bundle.TotalSpace.{u3, u1} B E) (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_4 (fun (z : Prod.{u3, u2} B F) => Bundle.totalSpaceMk.{u3, u1} B E (Prod.fst.{u3, u2} B F z) (Trivialization.symm.{u3, u2, u1} B F E _inst_1 _inst_2 _inst_4 (fun (x : B) => _inst_5 x) e (Prod.fst.{u3, u2} B F z) (Prod.snd.{u3, u2} B F z))) (Set.prod.{u3, u2} B F (Trivialization.baseSet.{u3, u2, max u3 u1} B F (Bundle.TotalSpace.{u3, u1} B E) _inst_1 _inst_2 _inst_4 (Bundle.TotalSpace.proj.{u3, u1} B E) e) (Set.univ.{u2} F))
+Case conversion may be inaccurate. Consider using '#align trivialization.continuous_on_symm Trivialization.continuousOn_symmₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem continuousOn_symm (e : Trivialization F (π E)) :
@@ -630,6 +1152,7 @@ theorem continuousOn_symm (e : Trivialization F (π E)) :
 
 end Zero
 
+#print Trivialization.transFiberHomeomorph /-
 /-- If `e` is a `trivialization` of `proj : Z → B` with fiber `F` and `h` is a homeomorphism
 `F ≃ₜ F'`, then `e.trans_fiber_homeomorph h` is the trivialization of `proj` with the fiber `F'`
 that sends `p : Z` to `((e p).1, h (e p).2)`. -/
@@ -643,19 +1166,34 @@ def transFiberHomeomorph {F' : Type _} [TopologicalSpace F'] (e : Trivialization
   target_eq := by simp [e.target_eq, prod_univ, preimage_preimage]
   proj_toFun := e.proj_toFun
 #align trivialization.trans_fiber_homeomorph Trivialization.transFiberHomeomorph
+-/
 
+/- warning: trivialization.trans_fiber_homeomorph_apply -> Trivialization.transFiberHomeomorph_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] {F' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} F'] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (h : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (x : Z), Eq.{max (succ u1) (succ u4)} (Prod.{u1, u4} B F') (coeFn.{max (succ u1) (succ u4) (succ u3), max (succ u3) (succ u1) (succ u4)} (Trivialization.{u1, u4, u3} B F' Z _inst_1 _inst_5 _inst_3 proj) (fun (_x : Trivialization.{u1, u4, u3} B F' Z _inst_1 _inst_5 _inst_3 proj) => Z -> (Prod.{u1, u4} B F')) (Trivialization.hasCoeToFun.{u1, u4, u3} B F' Z _inst_1 _inst_5 proj _inst_3) (Trivialization.transFiberHomeomorph.{u1, u2, u3, u4} B F Z _inst_1 _inst_2 proj _inst_3 F' _inst_5 e h) x) (Prod.mk.{u1, u4} B F' (Prod.fst.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (fun (_x : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) => F -> F') (Homeomorph.hasCoeToFun.{u2, u4} F F' _inst_2 _inst_5) h (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e x))))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] {F' : Type.{u4}} [_inst_5 : TopologicalSpace.{u4} F'] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (h : Homeomorph.{u2, u4} F F' _inst_2 _inst_5) (x : Z), Eq.{max (succ u3) (succ u4)} (Prod.{u3, u4} B F') (Trivialization.toFun'.{u3, u4, u1} B F' Z _inst_1 _inst_5 proj _inst_3 (Trivialization.transFiberHomeomorph.{u3, u2, u1, u4} B F Z _inst_1 _inst_2 proj _inst_3 F' _inst_5 e h) x) (Prod.mk.{u3, u4} B ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => F') (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))) (Prod.fst.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => F') _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F F' (EquivLike.toEmbeddingLike.{max (succ u2) (succ u4), succ u2, succ u4} (Homeomorph.{u2, u4} F F' _inst_2 _inst_5) F F' (Homeomorph.instEquivLikeHomeomorph.{u2, u4} F F' _inst_2 _inst_5))) h (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e x))))
+Case conversion may be inaccurate. Consider using '#align trivialization.trans_fiber_homeomorph_apply Trivialization.transFiberHomeomorph_applyₓ'. -/
 @[simp]
 theorem transFiberHomeomorph_apply {F' : Type _} [TopologicalSpace F'] (e : Trivialization F proj)
     (h : F ≃ₜ F') (x : Z) : e.transFiberHomeomorph h x = ((e x).1, h (e x).2) :=
   rfl
 #align trivialization.trans_fiber_homeomorph_apply Trivialization.transFiberHomeomorph_apply
 
+#print Trivialization.coordChange /-
 /-- Coordinate transformation in the fiber induced by a pair of bundle trivializations. See also
 `trivialization.coord_change_homeomorph` for a version bundled as `F ≃ₜ F`. -/
 def coordChange (e₁ e₂ : Trivialization F proj) (b : B) (x : F) : F :=
   (e₂ <| e₁.toLocalHomeomorph.symm (b, x)).2
 #align trivialization.coord_change Trivialization.coordChange
+-/
 
+/- warning: trivialization.mk_coord_change -> Trivialization.mk_coordChange is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (forall (x : F), Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Prod.mk.{u1, u2} B F b (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b x)) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e₂ (coeFn.{max (succ (max u1 u2)) (succ u3), max (succ (max u1 u2)) (succ u3)} (LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (fun (_x : LocalHomeomorph.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) => (Prod.{u1, u2} B F) -> Z) (LocalHomeomorph.hasCoeToFun.{max u1 u2, u3} (Prod.{u1, u2} B F) Z (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) _inst_3) (LocalHomeomorph.symm.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (Prod.mk.{u1, u2} B F b x))))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (forall (x : F), Eq.{max (succ u3) (succ u2)} (Prod.{u3, u2} B F) (Prod.mk.{u3, u2} B F b (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b x)) (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₂ (LocalHomeomorph.toFun'.{max u3 u2, u1} (Prod.{u3, u2} B F) Z (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) _inst_3 (LocalHomeomorph.symm.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (Prod.mk.{u3, u2} B F b x))))
+Case conversion may be inaccurate. Consider using '#align trivialization.mk_coord_change Trivialization.mk_coordChangeₓ'. -/
 theorem mk_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) (x : F) :
     (b, e₁.coordChange e₂ b x) = e₂ (e₁.toLocalHomeomorph.symm (b, x)) :=
@@ -666,20 +1204,44 @@ theorem mk_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈
   · rwa [e₁.proj_symm_apply' h₁]
 #align trivialization.mk_coord_change Trivialization.mk_coordChange
 
+/- warning: trivialization.coord_change_apply_snd -> Trivialization.coordChange_apply_snd is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {p : Z}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) (proj p) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Eq.{succ u2} F (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ (proj p) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e₁ p))) (Prod.snd.{u1, u2} B F (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e₂ p)))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {p : Z}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) (proj p) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Eq.{succ u2} F (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ (proj p) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ p))) (Prod.snd.{u3, u2} B F (Trivialization.toFun'.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₂ p)))
+Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_apply_snd Trivialization.coordChange_apply_sndₓ'. -/
 theorem coordChange_apply_snd (e₁ e₂ : Trivialization F proj) {p : Z} (h : proj p ∈ e₁.baseSet) :
     e₁.coordChange e₂ (proj p) (e₁ p).snd = (e₂ p).snd := by
   rw [coord_change, e₁.symm_apply_mk_proj (e₁.mem_source.2 h)]
 #align trivialization.coord_change_apply_snd Trivialization.coordChange_apply_snd
 
+/- warning: trivialization.coord_change_same_apply -> Trivialization.coordChange_same_apply is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (forall (x : F), Eq.{succ u2} F (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e e b x) x)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (forall (x : F), Eq.{succ u2} F (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e e b x) x)
+Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_same_apply Trivialization.coordChange_same_applyₓ'. -/
 theorem coordChange_same_apply (e : Trivialization F proj) {b : B} (h : b ∈ e.baseSet) (x : F) :
     e.coordChange e b x = x := by rw [coord_change, e.apply_symm_apply' h]
 #align trivialization.coord_change_same_apply Trivialization.coordChange_same_apply
 
+/- warning: trivialization.coord_change_same -> Trivialization.coordChange_same is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u2} (F -> F) (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e e b) (id.{succ u2} F))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Eq.{succ u2} (F -> F) (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e e b) (id.{succ u2} F))
+Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_same Trivialization.coordChange_sameₓ'. -/
 theorem coordChange_same (e : Trivialization F proj) {b : B} (h : b ∈ e.baseSet) :
     e.coordChange e b = id :=
   funext <| e.coordChange_same_apply h
 #align trivialization.coord_change_same Trivialization.coordChange_same
 
+/- warning: trivialization.coord_change_coord_change -> Trivialization.coordChange_coordChange is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₃ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (forall (x : F), Eq.{succ u2} F (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₂ e₃ b (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b x)) (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₃ b x))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₃ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (forall (x : F), Eq.{succ u2} F (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₂ e₃ b (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b x)) (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₃ b x))
+Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_coord_change Trivialization.coordChange_coordChangeₓ'. -/
 theorem coordChange_coordChange (e₁ e₂ e₃ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) (x : F) :
     e₂.coordChange e₃ b (e₁.coordChange e₂ b x) = e₁.coordChange e₃ b x :=
@@ -689,6 +1251,12 @@ theorem coordChange_coordChange (e₁ e₂ e₃ : Trivialization F proj) {b : B}
   rwa [e₂.mem_source, e₁.proj_symm_apply' h₁]
 #align trivialization.coord_change_coord_change Trivialization.coordChange_coordChange
 
+/- warning: trivialization.continuous_coord_change -> Trivialization.continuous_coordChange is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (Continuous.{u2, u2} F F _inst_2 _inst_2 (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B}, (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) -> (Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)) -> (Continuous.{u2, u2} F F _inst_2 _inst_2 (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b))
+Case conversion may be inaccurate. Consider using '#align trivialization.continuous_coord_change Trivialization.continuous_coordChangeₓ'. -/
 theorem continuous_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) : Continuous (e₁.coordChange e₂ b) :=
   by
@@ -702,6 +1270,7 @@ theorem continuous_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁
     rwa [e₂.mem_source, e₁.proj_symm_apply' h₁]
 #align trivialization.continuous_coord_change Trivialization.continuous_coordChange
 
+#print Trivialization.coordChangeHomeomorph /-
 /-- Coordinate transformation in the fiber induced by a pair of bundle trivializations,
 as a homeomorphism. -/
 protected def coordChangeHomeomorph (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
@@ -714,7 +1283,14 @@ protected def coordChangeHomeomorph (e₁ e₂ : Trivialization F proj) {b : B}
   continuous_toFun := e₁.continuous_coordChange e₂ h₁ h₂
   continuous_invFun := e₂.continuous_coordChange e₁ h₂ h₁
 #align trivialization.coord_change_homeomorph Trivialization.coordChangeHomeomorph
+-/
 
+/- warning: trivialization.coord_change_homeomorph_coe -> Trivialization.coordChangeHomeomorph_coe is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e₁ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (h₁ : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (h₂ : Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) b (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e₂)), Eq.{succ u2} (F -> F) (coeFn.{succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) (fun (_x : Homeomorph.{u2, u2} F F _inst_2 _inst_2) => F -> F) (Homeomorph.hasCoeToFun.{u2, u2} F F _inst_2 _inst_2) (Trivialization.coordChangeHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b h₁ h₂)) (Trivialization.coordChange.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b)
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e₁ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (e₂ : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) {b : B} (h₁ : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₁)) (h₂ : Membership.mem.{u3, u3} B (Set.{u3} B) (Set.instMembershipSet.{u3} B) b (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e₂)), Eq.{succ u2} (forall (ᾰ : F), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => F) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => F) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F F (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (Homeomorph.{u2, u2} F F _inst_2 _inst_2) F F (Homeomorph.instEquivLikeHomeomorph.{u2, u2} F F _inst_2 _inst_2))) (Trivialization.coordChangeHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b h₁ h₂)) (Trivialization.coordChange.{u3, u2, u1} B F Z _inst_1 _inst_2 proj _inst_3 e₁ e₂ b)
+Case conversion may be inaccurate. Consider using '#align trivialization.coord_change_homeomorph_coe Trivialization.coordChangeHomeomorph_coeₓ'. -/
 @[simp]
 theorem coordChangeHomeomorph_coe (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) : ⇑(e₁.coordChangeHomeomorph e₂ h₁ h₂) = e₁.coordChange e₂ b :=
@@ -723,11 +1299,18 @@ theorem coordChangeHomeomorph_coe (e₁ e₂ : Trivialization F proj) {b : B} (h
 
 variable {F} {B' : Type _} [TopologicalSpace B']
 
+/- warning: trivialization.is_image_preimage_prod -> Trivialization.isImage_preimage_prod is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u1} B), LocalHomeomorph.IsImage.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Set.preimage.{u3, u1} Z B proj s) (Set.prod.{u1, u2} B F s (Set.univ.{u2} F))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u3} B), LocalHomeomorph.IsImage.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e) (Set.preimage.{u1, u3} Z B proj s) (Set.prod.{u3, u2} B F s (Set.univ.{u2} F))
+Case conversion may be inaccurate. Consider using '#align trivialization.is_image_preimage_prod Trivialization.isImage_preimage_prodₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem isImage_preimage_prod (e : Trivialization F proj) (s : Set B) :
     e.toLocalHomeomorph.IsImage (proj ⁻¹' s) (s ×ˢ univ) := fun x hx => by simp [e.coe_fst', hx]
 #align trivialization.is_image_preimage_prod Trivialization.isImage_preimage_prod
 
+#print Trivialization.restrOpen /-
 /-- Restrict a `trivialization` to an open set in the base. `-/
 protected def restrOpen (e : Trivialization F proj) (s : Set B) (hs : IsOpen s) :
     Trivialization F proj
@@ -740,15 +1323,28 @@ protected def restrOpen (e : Trivialization F proj) (s : Set B) (hs : IsOpen s)
   target_eq := by simp [e.target_eq, prod_univ]
   proj_toFun p hp := e.proj_toFun p hp.1
 #align trivialization.restr_open Trivialization.restrOpen
+-/
 
 section Piecewise
 
+/- warning: trivialization.frontier_preimage -> Trivialization.frontier_preimage is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u1} B), Eq.{succ u3} (Set.{u3} Z) (Inter.inter.{u3} (Set.{u3} Z) (Set.hasInter.{u3} Z) (LocalEquiv.source.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (LocalHomeomorph.toLocalEquiv.{u3, max u1 u2} Z (Prod.{u1, u2} B F) _inst_3 (Prod.topologicalSpace.{u1, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e))) (frontier.{u3} Z _inst_3 (Set.preimage.{u3, u1} Z B proj s))) (Set.preimage.{u3, u1} Z B proj (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)))
+but is expected to have type
+  forall {B : Type.{u3}} {F : Type.{u2}} {Z : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u1} Z] (e : Trivialization.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u3} B), Eq.{succ u1} (Set.{u1} Z) (Inter.inter.{u1} (Set.{u1} Z) (Set.instInterSet.{u1} Z) (LocalEquiv.source.{u1, max u3 u2} Z (Prod.{u3, u2} B F) (LocalHomeomorph.toLocalEquiv.{u1, max u3 u2} Z (Prod.{u3, u2} B F) _inst_3 (instTopologicalSpaceProd.{u3, u2} B F _inst_1 _inst_2) (Trivialization.toLocalHomeomorph.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e))) (frontier.{u1} Z _inst_3 (Set.preimage.{u1, u3} Z B proj s))) (Set.preimage.{u1, u3} Z B proj (Inter.inter.{u3} (Set.{u3} B) (Set.instInterSet.{u3} B) (Trivialization.baseSet.{u3, u2, u1} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u3} B _inst_1 s)))
+Case conversion may be inaccurate. Consider using '#align trivialization.frontier_preimage Trivialization.frontier_preimageₓ'. -/
 theorem frontier_preimage (e : Trivialization F proj) (s : Set B) :
     e.source ∩ frontier (proj ⁻¹' s) = proj ⁻¹' (e.baseSet ∩ frontier s) := by
   rw [← (e.is_image_preimage_prod s).frontier.preimage_eq, frontier_prod_univ_eq,
     (e.is_image_preimage_prod _).preimage_eq, e.source_eq, preimage_inter]
 #align trivialization.frontier_preimage Trivialization.frontier_preimage
 
+/- warning: trivialization.piecewise -> Trivialization.piecewise is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u1} B), (Eq.{succ u1} (Set.{u1} B) (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)) (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e') (frontier.{u1} B _inst_1 s))) -> (Set.EqOn.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e') (Set.preimage.{u3, u1} Z B proj (Inter.inter.{u1} (Set.{u1} B) (Set.hasInter.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)))) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
+but is expected to have type
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (s : Set.{u1} B), (Eq.{succ u1} (Set.{u1} B) (Inter.inter.{u1} (Set.{u1} B) (Set.instInterSet.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)) (Inter.inter.{u1} (Set.{u1} B) (Set.instInterSet.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e') (frontier.{u1} B _inst_1 s))) -> (Set.EqOn.{u3, max u1 u2} Z (Prod.{u1, u2} B F) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e') (Set.preimage.{u3, u1} Z B proj (Inter.inter.{u1} (Set.{u1} B) (Set.instInterSet.{u1} B) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (frontier.{u1} B _inst_1 s)))) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
+Case conversion may be inaccurate. Consider using '#align trivialization.piecewise Trivialization.piecewiseₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- Given two bundle trivializations `e`, `e'` of `proj : Z → B` and a set `s : set B` such that
 the base sets of `e` and `e'` intersect `frontier s` on the same set and `e p = e' p` whenever
@@ -770,6 +1366,12 @@ noncomputable def piecewise (e e' : Trivialization F proj) (s : Set B)
   proj_toFun := by rintro p (⟨he, hs⟩ | ⟨he, hs⟩) <;> simp [*]
 #align trivialization.piecewise Trivialization.piecewise
 
+/- warning: trivialization.piecewise_le_of_eq -> Trivialization.piecewiseLeOfEq is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] [_inst_6 : LinearOrder.{u1} B] [_inst_7 : OrderTopology.{u1} B _inst_1 (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (LinearOrder.toLattice.{u1} B _inst_6))))] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (a : B), (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) a (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Membership.Mem.{u1, u1} B (Set.{u1} B) (Set.hasMem.{u1} B) a (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) -> (forall (p : Z), (Eq.{succ u1} B (proj p) a) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e p) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u3) (succ u1) (succ u2)} (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (fun (_x : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) => Z -> (Prod.{u1, u2} B F)) (Trivialization.hasCoeToFun.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3) e' p))) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
+but is expected to have type
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] [_inst_6 : LinearOrder.{u1} B] [_inst_7 : OrderTopology.{u1} B _inst_1 (PartialOrder.toPreorder.{u1} B (SemilatticeInf.toPartialOrder.{u1} B (Lattice.toSemilatticeInf.{u1} B (DistribLattice.toLattice.{u1} B (instDistribLattice.{u1} B _inst_6)))))] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (a : B), (Membership.mem.{u1, u1} B (Set.{u1} B) (Set.instMembershipSet.{u1} B) a (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e)) -> (Membership.mem.{u1, u1} B (Set.{u1} B) (Set.instMembershipSet.{u1} B) a (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) -> (forall (p : Z), (Eq.{succ u1} B (proj p) a) -> (Eq.{max (succ u1) (succ u2)} (Prod.{u1, u2} B F) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e p) (Trivialization.toFun'.{u1, u2, u3} B F Z _inst_1 _inst_2 proj _inst_3 e' p))) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
+Case conversion may be inaccurate. Consider using '#align trivialization.piecewise_le_of_eq Trivialization.piecewiseLeOfEqₓ'. -/
 /-- Given two bundle trivializations `e`, `e'` of a topological fiber bundle `proj : Z → B`
 over a linearly ordered base `B` and a point `a ∈ e.base_set ∩ e'.base_set` such that
 `e` equals `e'` on `proj ⁻¹' {a}`, `e.piecewise_le_of_eq e' a He He' Heq` is the bundle
@@ -785,6 +1387,7 @@ noncomputable def piecewiseLeOfEq [LinearOrder B] [OrderTopology B] (e e' : Triv
     fun p hp => Heq p <| frontier_Iic_subset _ hp.2
 #align trivialization.piecewise_le_of_eq Trivialization.piecewiseLeOfEq
 
+#print Trivialization.piecewiseLe /-
 /-- Given two bundle trivializations `e`, `e'` of a topological fiber bundle `proj : Z → B` over a
 linearly ordered base `B` and a point `a ∈ e.base_set ∩ e'.base_set`, `e.piecewise_le e' a He He'`
 is the bundle trivialization over `set.ite (Iic a) e.base_set e'.base_set` that is equal to `e` on
@@ -800,7 +1403,14 @@ noncomputable def piecewiseLe [LinearOrder B] [OrderTopology B] (e e' : Triviali
     · simp [e.coe_fst', e'.coe_fst', *]
     · simp [e'.coord_change_apply_snd, *]
 #align trivialization.piecewise_le Trivialization.piecewiseLe
+-/
 
+/- warning: trivialization.disjoint_union -> Trivialization.disjointUnion is a dubious translation:
+lean 3 declaration is
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), (Disjoint.{u1} (Set.{u1} B) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} B) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} B) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} B) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} B) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} B) (Set.completeBooleanAlgebra.{u1} B)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} B) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} B) (Set.booleanAlgebra.{u1} B))) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
+but is expected to have type
+  forall {B : Type.{u1}} {F : Type.{u2}} {Z : Type.{u3}} [_inst_1 : TopologicalSpace.{u1} B] [_inst_2 : TopologicalSpace.{u2} F] {proj : Z -> B} [_inst_3 : TopologicalSpace.{u3} Z] (e : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj) (e' : Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj), (Disjoint.{u1} (Set.{u1} B) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} B) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} B) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} B) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} B) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} B) (Set.instCompleteBooleanAlgebraSet.{u1} B)))))) (BoundedOrder.toOrderBot.{u1} (Set.{u1} B) (Preorder.toLE.{u1} (Set.{u1} B) (PartialOrder.toPreorder.{u1} (Set.{u1} B) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} B) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} B) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} B) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} B) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} B) (Set.instCompleteBooleanAlgebraSet.{u1} B)))))))) (CompleteLattice.toBoundedOrder.{u1} (Set.{u1} B) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} B) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} B) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} B) (Set.instCompleteBooleanAlgebraSet.{u1} B)))))) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e) (Trivialization.baseSet.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj e')) -> (Trivialization.{u1, u2, u3} B F Z _inst_1 _inst_2 _inst_3 proj)
+Case conversion may be inaccurate. Consider using '#align trivialization.disjoint_union Trivialization.disjointUnionₓ'. -/
 /-- Given two bundle trivializations `e`, `e'` over disjoint sets, `e.disjoint_union e' H` is the
 bundle trivialization over the union of the base sets that agrees with `e` and `e'` over their
 base sets. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.trivialization
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -36,13 +36,13 @@ We provide the following operations on `trivialization`s.
 ## Implementation notes
 
 Previously, in mathlib, there was a structure `topological_vector_bundle.trivialization` which
-extended another structure `topological_fibre_bundle.trivialization` by a linearity hypothesis. As
+extended another structure `topological_fiber_bundle.trivialization` by a linearity hypothesis. As
 of PR #17359, we have changed this to a single structure `trivialization` (no namespace), together
 with a mixin class `trivialization.is_linear`.
 
-This permits all the *data* of a vector bundle to be held at the level of fibre bundles, so that the
+This permits all the *data* of a vector bundle to be held at the level of fiber bundles, so that the
 same trivializations can underlie an object's structure as (say) a vector bundle over `ℂ` and as a
-vector bundle over `ℝ`, as well as its structure simply as a fibre bundle.
+vector bundle over `ℝ`, as well as its structure simply as a fiber bundle.
 
 This might be a little surprising, given the general trend of the library to ever-increased
 bundling.  But in this case the typical motivation for more bundling does not apply: there is no

Changes in mathlib4

mathlib3
mathlib4
chore: restore simps that used to work (#12126)

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

Diff
@@ -785,10 +785,7 @@ noncomputable def piecewise (e e' : Trivialization F proj) (s : Set B)
   source_eq := by simp [source_eq]
   target_eq := by simp [target_eq, prod_univ]
   proj_toFun p := by
-    rintro (⟨he, hs⟩ | ⟨he, hs⟩)
-    -- Porting note: was `<;> simp [*]`
-    · simp [piecewise_eq_of_mem _ _ _ hs, *]
-    · simp [piecewise_eq_of_not_mem _ _ _ hs, *]
+    rintro (⟨he, hs⟩ | ⟨he, hs⟩) <;> simp [*]
 #align trivialization.piecewise Trivialization.piecewise
 
 /-- Given two bundle trivializations `e`, `e'` of a topological fiber bundle `proj : Z → B`
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
@@ -300,7 +300,7 @@ variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace F E)]
 `proj : Z → B` with fiber `F`, as a partial homeomorphism between `Z` and `B × F` defined between
 two sets of the form `proj ⁻¹' baseSet` and `baseSet × F`, acting trivially on the first coordinate.
 -/
--- Porting note (#11215): TODO: was @[nolint has_nonempty_instance]
+-- Porting note (#5171): was @[nolint has_nonempty_instance]
 structure Trivialization (proj : Z → B) extends PartialHomeomorph Z (B × F) where
   baseSet : Set B
   open_baseSet : IsOpen baseSet
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -54,7 +54,6 @@ open TopologicalSpace Filter Set Bundle Function
 open scoped Topology Classical Bundle
 
 variable {ι : Type*} {B : Type*} {F : Type*} {E : B → Type*}
-
 variable (F) {Z : Type*} [TopologicalSpace B] [TopologicalSpace F] {proj : Z → B}
 
 /-- This structure contains the information left for a local trivialization (which is implemented
chore: classify todo porting notes (#11216)

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

Diff
@@ -90,7 +90,7 @@ lemma ext' (e e' : Pretrivialization F proj) (h₁ : e.toPartialEquiv = e'.toPar
   cases e; cases e'; congr
 #align pretrivialization.ext Pretrivialization.ext'
 
--- Porting note: todo: move `ext` here?
+-- Porting note (#11215): TODO: move `ext` here?
 lemma ext {e e' : Pretrivialization F proj} (h₁ : ∀ x, e x = e' x)
     (h₂ : ∀ x, e.toPartialEquiv.symm x = e'.toPartialEquiv.symm x) (h₃ : e.baseSet = e'.baseSet) :
     e = e' := by
@@ -301,7 +301,7 @@ variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace F E)]
 `proj : Z → B` with fiber `F`, as a partial homeomorphism between `Z` and `B × F` defined between
 two sets of the form `proj ⁻¹' baseSet` and `baseSet × F`, acting trivially on the first coordinate.
 -/
--- Porting note: todo: was @[nolint has_nonempty_instance]
+-- Porting note (#11215): TODO: was @[nolint has_nonempty_instance]
 structure Trivialization (proj : Z → B) extends PartialHomeomorph Z (B × F) where
   baseSet : Set B
   open_baseSet : IsOpen baseSet
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
@@ -90,7 +90,7 @@ lemma ext' (e e' : Pretrivialization F proj) (h₁ : e.toPartialEquiv = e'.toPar
   cases e; cases e'; congr
 #align pretrivialization.ext Pretrivialization.ext'
 
--- porting note: todo: move `ext` here?
+-- Porting note: todo: move `ext` here?
 lemma ext {e e' : Pretrivialization F proj} (h₁ : ∀ x, e x = e' x)
     (h₂ : ∀ x, e.toPartialEquiv.symm x = e'.toPartialEquiv.symm x) (h₃ : e.baseSet = e'.baseSet) :
     e = e' := by
@@ -301,7 +301,7 @@ variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace F E)]
 `proj : Z → B` with fiber `F`, as a partial homeomorphism between `Z` and `B × F` defined between
 two sets of the form `proj ⁻¹' baseSet` and `baseSet × F`, acting trivially on the first coordinate.
 -/
--- porting note: todo: was @[nolint has_nonempty_instance]
+-- Porting note: todo: was @[nolint has_nonempty_instance]
 structure Trivialization (proj : Z → B) extends PartialHomeomorph Z (B × F) where
   baseSet : Set B
   open_baseSet : IsOpen baseSet
@@ -787,7 +787,7 @@ noncomputable def piecewise (e e' : Trivialization F proj) (s : Set B)
   target_eq := by simp [target_eq, prod_univ]
   proj_toFun p := by
     rintro (⟨he, hs⟩ | ⟨he, hs⟩)
-    -- porting note: was `<;> simp [*]`
+    -- Porting note: was `<;> simp [*]`
     · simp [piecewise_eq_of_mem _ _ _ hs, *]
     · simp [piecewise_eq_of_not_mem _ _ _ hs, *]
 #align trivialization.piecewise Trivialization.piecewise
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -4,8 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel
 -/
 import Mathlib.Data.Bundle
-import Mathlib.Topology.Algebra.Order.Field
+import Mathlib.Data.Set.Image
 import Mathlib.Topology.PartialHomeomorph
+import Mathlib.Topology.Order.Basic
 
 #align_import topology.fiber_bundle.trivialization from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
 
chore(Topology): remove autoImplicit in some files (#9689)

... where this is easy to do.

Co-authored-by: grunweg <grunweg@posteo.de>

Diff
@@ -48,9 +48,6 @@ Indeed, since trivializations only have meaning on their base sets (taking junk
 type of linear trivializations is not even particularly well-behaved.
 -/
 
-set_option autoImplicit true
-
-
 open TopologicalSpace Filter Set Bundle Function
 
 open scoped Topology Classical Bundle
@@ -458,7 +455,7 @@ theorem image_preimage_eq_prod_univ {s : Set B} (hb : s ⊆ e.baseSet) :
     ⟨e.invFun p, mem_preimage.mpr ((e.proj_symm_apply hp').symm ▸ hp.1), e.apply_symm_apply hp'⟩
 #align trivialization.image_preimage_eq_prod_univ Trivialization.image_preimage_eq_prod_univ
 
-theorem tendsto_nhds_iff {l : Filter α} {f : α → Z} {z : Z} (hz : z ∈ e.source) :
+theorem tendsto_nhds_iff {α : Type*} {l : Filter α} {f : α → Z} {z : Z} (hz : z ∈ e.source) :
     Tendsto f l (𝓝 z) ↔
       Tendsto (proj ∘ f) l (𝓝 (proj z)) ∧ Tendsto (fun x ↦ (e (f x)).2) l (𝓝 (e z).2) := by
   rw [e.nhds_eq_comap_inf_principal hz, tendsto_inf, tendsto_comap_iff, Prod.tendsto_iff, coe_coe,
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
@@ -16,10 +16,10 @@ import Mathlib.Topology.PartialHomeomorph
 
 ### Basic definitions
 
-* `Trivialization F p` : structure extending local homeomorphisms, defining a local
+* `Trivialization F p` : structure extending partial homeomorphisms, defining a local
   trivialization of a topological space `Z` with projection `p` and fiber `F`.
 
-* `Pretrivialization F proj` : trivialization as a local equivalence, mainly used when the
+* `Pretrivialization F proj` : trivialization as a partial equivalence, mainly used when the
   topology on the total space has not yet been defined.
 
 ### Operations on bundles
@@ -299,9 +299,9 @@ end Pretrivialization
 
 variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace F E)]
 
-/-- A structure extending local homeomorphisms, defining a local trivialization of a projection
-`proj : Z → B` with fiber `F`, as a local homeomorphism between `Z` and `B × F` defined between two
-sets of the form `proj ⁻¹' baseSet` and `baseSet × F`, acting trivially on the first coordinate.
+/-- A structure extending partial homeomorphisms, defining a local trivialization of a projection
+`proj : Z → B` with fiber `F`, as a partial homeomorphism between `Z` and `B × F` defined between
+two sets of the form `proj ⁻¹' baseSet` and `baseSet × F`, acting trivially on the first coordinate.
 -/
 -- porting note: todo: was @[nolint has_nonempty_instance]
 structure Trivialization (proj : Z → B) extends PartialHomeomorph Z (B × F) where
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
@@ -64,7 +64,7 @@ below as `Trivialization F proj`) if the total space has not been given a topolo
 have a topology on both the fiber and the base space. Through the construction
 `topological_fiber_prebundle F proj` it will be possible to promote a
 `Pretrivialization F proj` to a `Trivialization F proj`. -/
-structure Pretrivialization (proj : Z → B) extends LocalEquiv Z (B × F) where
+structure Pretrivialization (proj : Z → B) extends PartialEquiv Z (B × F) where
   open_target : IsOpen target
   baseSet : Set B
   open_baseSet : IsOpen baseSet
@@ -79,37 +79,37 @@ variable {F}
 variable (e : Pretrivialization F proj) {x : Z}
 
 /-- Coercion of a pretrivialization to a function. We don't use `e.toFun` in the `CoeFun` instance
-because it is actually `e.toLocalEquiv.toFun`, so `simp` will apply lemmas about
-`toLocalEquiv`. While we may want to switch to this behavior later, doing it mid-port will break a
+because it is actually `e.toPartialEquiv.toFun`, so `simp` will apply lemmas about
+`toPartialEquiv`. While we may want to switch to this behavior later, doing it mid-port will break a
 lot of proofs.  -/
 @[coe] def toFun' : Z → (B × F) := e.toFun
 
 instance : CoeFun (Pretrivialization F proj) fun _ => Z → B × F := ⟨toFun'⟩
 
 @[ext]
-lemma ext' (e e' : Pretrivialization F proj) (h₁ : e.toLocalEquiv = e'.toLocalEquiv)
+lemma ext' (e e' : Pretrivialization F proj) (h₁ : e.toPartialEquiv = e'.toPartialEquiv)
     (h₂ : e.baseSet = e'.baseSet) : e = e' := by
   cases e; cases e'; congr
 #align pretrivialization.ext Pretrivialization.ext'
 
 -- porting note: todo: move `ext` here?
 lemma ext {e e' : Pretrivialization F proj} (h₁ : ∀ x, e x = e' x)
-    (h₂ : ∀ x, e.toLocalEquiv.symm x = e'.toLocalEquiv.symm x) (h₃ : e.baseSet = e'.baseSet) :
+    (h₂ : ∀ x, e.toPartialEquiv.symm x = e'.toPartialEquiv.symm x) (h₃ : e.baseSet = e'.baseSet) :
     e = e' := by
   ext1 <;> [ext1; exact h₃]
   · apply h₁
   · apply h₂
   · rw [e.source_eq, e'.source_eq, h₃]
 
-/-- If the fiber is nonempty, then the projection to -/
-lemma toLocalEquiv_injective [Nonempty F] :
-    Injective (toLocalEquiv : Pretrivialization F proj → LocalEquiv Z (B × F)) := fun e e' h => by
-  refine ext' _ _ h ?_
+/-- If the fiber is nonempty, then the projection also is. -/
+lemma toPartialEquiv_injective [Nonempty F] :
+    Injective (toPartialEquiv : Pretrivialization F proj → PartialEquiv Z (B × F)) := by
+  refine fun e e' h ↦ ext' _ _ h ?_
   simpa only [fst_image_prod, univ_nonempty, target_eq]
-    using congr_arg (Prod.fst '' LocalEquiv.target ·) h
+    using congr_arg (Prod.fst '' PartialEquiv.target ·) h
 
 @[simp, mfld_simps]
-theorem coe_coe : ⇑e.toLocalEquiv = e :=
+theorem coe_coe : ⇑e.toPartialEquiv = e :=
   rfl
 #align pretrivialization.coe_coe Pretrivialization.coe_coe
 
@@ -138,91 +138,91 @@ theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
 
 /-- Composition of inverse and coercion from the subtype of the target. -/
 def setSymm : e.target → Z :=
-  e.target.restrict e.toLocalEquiv.symm
+  e.target.restrict e.toPartialEquiv.symm
 #align pretrivialization.set_symm Pretrivialization.setSymm
 
 theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet := by
   rw [e.target_eq, prod_univ, mem_preimage]
 #align pretrivialization.mem_target Pretrivialization.mem_target
 
-theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalEquiv.symm x) = x.1 := by
+theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toPartialEquiv.symm x) = x.1 := by
   have := (e.coe_fst (e.map_target hx)).symm
   rwa [← e.coe_coe, e.right_inv hx] at this
 #align pretrivialization.proj_symm_apply Pretrivialization.proj_symm_apply
 
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
-    proj (e.toLocalEquiv.symm (b, x)) = b :=
+    proj (e.toPartialEquiv.symm (b, x)) = b :=
   e.proj_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.proj_symm_apply' Pretrivialization.proj_symm_apply'
 
 theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet := fun b hb =>
   let ⟨y⟩ := ‹Nonempty F›
-  ⟨e.toLocalEquiv.symm (b, y), e.toLocalEquiv.map_target <| e.mem_target.2 hb,
+  ⟨e.toPartialEquiv.symm (b, y), e.toPartialEquiv.map_target <| e.mem_target.2 hb,
     e.proj_symm_apply' hb⟩
 #align pretrivialization.proj_surj_on_base_set Pretrivialization.proj_surjOn_baseSet
 
-theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalEquiv.symm x) = x :=
-  e.toLocalEquiv.right_inv hx
+theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toPartialEquiv.symm x) = x :=
+  e.toPartialEquiv.right_inv hx
 #align pretrivialization.apply_symm_apply Pretrivialization.apply_symm_apply
 
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
-    e (e.toLocalEquiv.symm (b, x)) = (b, x) :=
+    e (e.toPartialEquiv.symm (b, x)) = (b, x) :=
   e.apply_symm_apply (e.mem_target.2 hx)
 #align pretrivialization.apply_symm_apply' Pretrivialization.apply_symm_apply'
 
-theorem symm_apply_apply {x : Z} (hx : x ∈ e.source) : e.toLocalEquiv.symm (e x) = x :=
-  e.toLocalEquiv.left_inv hx
+theorem symm_apply_apply {x : Z} (hx : x ∈ e.source) : e.toPartialEquiv.symm (e x) = x :=
+  e.toPartialEquiv.left_inv hx
 #align pretrivialization.symm_apply_apply Pretrivialization.symm_apply_apply
 
 @[simp, mfld_simps]
 theorem symm_apply_mk_proj {x : Z} (ex : x ∈ e.source) :
-    e.toLocalEquiv.symm (proj x, (e x).2) = x := by
+    e.toPartialEquiv.symm (proj x, (e x).2) = x := by
   rw [← e.coe_fst ex, ← e.coe_coe, e.left_inv ex]
 #align pretrivialization.symm_apply_mk_proj Pretrivialization.symm_apply_mk_proj
 
 @[simp, mfld_simps]
 theorem preimage_symm_proj_baseSet :
-    e.toLocalEquiv.symm ⁻¹' (proj ⁻¹' e.baseSet) ∩ e.target = e.target := by
+    e.toPartialEquiv.symm ⁻¹' (proj ⁻¹' e.baseSet) ∩ e.target = e.target := by
   refine' inter_eq_right.mpr fun x hx => _
-  simp only [mem_preimage, LocalEquiv.invFun_as_coe, e.proj_symm_apply hx]
+  simp only [mem_preimage, PartialEquiv.invFun_as_coe, e.proj_symm_apply hx]
   exact e.mem_target.mp hx
 #align pretrivialization.preimage_symm_proj_base_set Pretrivialization.preimage_symm_proj_baseSet
 
 @[simp, mfld_simps]
 theorem preimage_symm_proj_inter (s : Set B) :
-    e.toLocalEquiv.symm ⁻¹' (proj ⁻¹' s) ∩ e.baseSet ×ˢ univ = (s ∩ e.baseSet) ×ˢ univ := by
+    e.toPartialEquiv.symm ⁻¹' (proj ⁻¹' s) ∩ e.baseSet ×ˢ univ = (s ∩ e.baseSet) ×ˢ univ := by
   ext ⟨x, y⟩
-  suffices x ∈ e.baseSet → (proj (e.toLocalEquiv.symm (x, y)) ∈ s ↔ x ∈ s) by
+  suffices x ∈ e.baseSet → (proj (e.toPartialEquiv.symm (x, y)) ∈ s ↔ x ∈ s) by
     simpa only [prod_mk_mem_set_prod_eq, mem_inter_iff, and_true_iff, mem_univ, and_congr_left_iff]
   intro h
   rw [e.proj_symm_apply' h]
 #align pretrivialization.preimage_symm_proj_inter Pretrivialization.preimage_symm_proj_inter
 
 theorem target_inter_preimage_symm_source_eq (e f : Pretrivialization F proj) :
-    f.target ∩ f.toLocalEquiv.symm ⁻¹' e.source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
+    f.target ∩ f.toPartialEquiv.symm ⁻¹' e.source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
   rw [inter_comm, f.target_eq, e.source_eq, f.preimage_symm_proj_inter]
 #align pretrivialization.target_inter_preimage_symm_source_eq Pretrivialization.target_inter_preimage_symm_source_eq
 
 theorem trans_source (e f : Pretrivialization F proj) :
-    (f.toLocalEquiv.symm.trans e.toLocalEquiv).source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
-  rw [LocalEquiv.trans_source, LocalEquiv.symm_source, e.target_inter_preimage_symm_source_eq]
+    (f.toPartialEquiv.symm.trans e.toPartialEquiv).source = (e.baseSet ∩ f.baseSet) ×ˢ univ := by
+  rw [PartialEquiv.trans_source, PartialEquiv.symm_source, e.target_inter_preimage_symm_source_eq]
 #align pretrivialization.trans_source Pretrivialization.trans_source
 
 theorem symm_trans_symm (e e' : Pretrivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).symm
-      = e'.toLocalEquiv.symm.trans e.toLocalEquiv := by
-  rw [LocalEquiv.trans_symm_eq_symm_trans_symm, LocalEquiv.symm_symm]
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).symm
+      = e'.toPartialEquiv.symm.trans e.toPartialEquiv := by
+  rw [PartialEquiv.trans_symm_eq_symm_trans_symm, PartialEquiv.symm_symm]
 #align pretrivialization.symm_trans_symm Pretrivialization.symm_trans_symm
 
 theorem symm_trans_source_eq (e e' : Pretrivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
-  rw [LocalEquiv.trans_source, e'.source_eq, LocalEquiv.symm_source, e.target_eq, inter_comm,
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
+  rw [PartialEquiv.trans_source, e'.source_eq, PartialEquiv.symm_source, e.target_eq, inter_comm,
     e.preimage_symm_proj_inter, inter_comm]
 #align pretrivialization.symm_trans_source_eq Pretrivialization.symm_trans_source_eq
 
 theorem symm_trans_target_eq (e e' : Pretrivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
-  rw [← LocalEquiv.symm_source, symm_trans_symm, symm_trans_source_eq, inter_comm]
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ := by
+  rw [← PartialEquiv.symm_source, symm_trans_symm, symm_trans_source_eq, inter_comm]
 #align pretrivialization.symm_trans_target_eq Pretrivialization.symm_trans_target_eq
 
 variable (e' : Pretrivialization F (π F E)) {x' : TotalSpace F E} {b : B} {y : E b}
@@ -242,7 +242,7 @@ theorem mk_mem_target {x : B} {y : F} : (x, y) ∈ e'.target ↔ x ∈ e'.baseSe
 #align pretrivialization.mk_mem_target Pretrivialization.mk_mem_target
 
 theorem symm_coe_proj {x : B} {y : F} (e' : Pretrivialization F (π F E)) (h : x ∈ e'.baseSet) :
-    (e'.toLocalEquiv.symm (x, y)).1 = x :=
+    (e'.toPartialEquiv.symm (x, y)).1 = x :=
   e'.proj_symm_apply' h
 #align pretrivialization.symm_coe_proj Pretrivialization.symm_coe_proj
 
@@ -254,12 +254,12 @@ variable [∀ x, Zero (E x)]
 `B × F → TotalSpace F E` of `e` on `e.baseSet`. It is defined to be `0` outside `e.baseSet`. -/
 protected noncomputable def symm (e : Pretrivialization F (π F E)) (b : B) (y : F) : E b :=
   if hb : b ∈ e.baseSet then
-    cast (congr_arg E (e.proj_symm_apply' hb)) (e.toLocalEquiv.symm (b, y)).2
+    cast (congr_arg E (e.proj_symm_apply' hb)) (e.toPartialEquiv.symm (b, y)).2
   else 0
 #align pretrivialization.symm Pretrivialization.symm
 
 theorem symm_apply (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalEquiv.symm (b, y)).2 :=
+    e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toPartialEquiv.symm (b, y)).2 :=
   dif_pos hb
 #align pretrivialization.symm_apply Pretrivialization.symm_apply
 
@@ -274,7 +274,7 @@ theorem coe_symm_of_not_mem (e : Pretrivialization F (π F E)) {b : B} (hb : b 
 #align pretrivialization.coe_symm_of_not_mem Pretrivialization.coe_symm_of_not_mem
 
 theorem mk_symm (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    TotalSpace.mk b (e.symm b y) = e.toLocalEquiv.symm (b, y) := by
+    TotalSpace.mk b (e.symm b y) = e.toPartialEquiv.symm (b, y) := by
   simp only [e.symm_apply hb, TotalSpace.mk_cast (e.proj_symm_apply' hb), TotalSpace.eta]
 #align pretrivialization.mk_symm Pretrivialization.mk_symm
 
@@ -324,8 +324,8 @@ lemma ext' (e e' : Trivialization F proj) (h₁ : e.toPartialHomeomorph = e'.toP
 #align trivialization.ext Trivialization.ext'
 
 /-- Coercion of a trivialization to a function. We don't use `e.toFun` in the `CoeFun` instance
-because it is actually `e.toLocalEquiv.toFun`, so `simp` will apply lemmas about
-`toLocalEquiv`. While we may want to switch to this behavior later, doing it mid-port will break a
+because it is actually `e.toPartialEquiv.toFun`, so `simp` will apply lemmas about
+`toPartialEquiv`. While we may want to switch to this behavior later, doing it mid-port will break a
 lot of proofs.  -/
 @[coe] def toFun' : Z → (B × F) := e.toFun
 
@@ -342,7 +342,7 @@ instance : Coe (Trivialization F proj) (Pretrivialization F proj) :=
 theorem toPretrivialization_injective :
     Function.Injective fun e : Trivialization F proj => e.toPretrivialization := fun e e' h => by
   ext1
-  exacts [PartialHomeomorph.toLocalEquiv_injective (congr_arg Pretrivialization.toLocalEquiv h),
+  exacts [PartialHomeomorph.toPartialEquiv_injective (congr_arg Pretrivialization.toPartialEquiv h),
     congr_arg Pretrivialization.baseSet h]
 #align trivialization.to_pretrivialization_injective Trivialization.toPretrivialization_injective
 
@@ -422,12 +422,12 @@ theorem symm_apply_mk_proj (ex : x ∈ e.source) : e.toPartialHomeomorph.symm (p
 #align trivialization.symm_apply_mk_proj Trivialization.symm_apply_mk_proj
 
 theorem symm_trans_source_eq (e e' : Trivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).source = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_source_eq e.toPretrivialization e'
 #align trivialization.symm_trans_source_eq Trivialization.symm_trans_source_eq
 
 theorem symm_trans_target_eq (e e' : Trivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
+    (e.toPartialEquiv.symm.trans e'.toPartialEquiv).target = (e.baseSet ∩ e'.baseSet) ×ˢ univ :=
   Pretrivialization.symm_trans_target_eq e.toPretrivialization e'
 #align trivialization.symm_trans_target_eq Trivialization.symm_trans_target_eq
 
@@ -556,9 +556,9 @@ protected def compHomeomorph {Z' : Type*} [TopologicalSpace Z'] (h : Z' ≃ₜ Z
 trivialization of `Z` containing `z`. -/
 theorem continuousAt_of_comp_right {X : Type*} [TopologicalSpace X] {f : Z → X} {z : Z}
     (e : Trivialization F proj) (he : proj z ∈ e.baseSet)
-    (hf : ContinuousAt (f ∘ e.toLocalEquiv.symm) (e z)) : ContinuousAt f z := by
-  have hez : z ∈ e.toLocalEquiv.symm.target := by
-    rw [LocalEquiv.symm_target, e.mem_source]
+    (hf : ContinuousAt (f ∘ e.toPartialEquiv.symm) (e z)) : ContinuousAt f z := by
+  have hez : z ∈ e.toPartialEquiv.symm.target := by
+    rw [PartialEquiv.symm_target, e.mem_source]
     exact he
   rwa [e.toPartialHomeomorph.symm.continuousAt_iff_continuousAt_comp_right hez,
     PartialHomeomorph.symm_symm]
@@ -600,7 +600,7 @@ theorem mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.baseSet :=
 
 theorem symm_apply_apply {x : TotalSpace F E} (hx : x ∈ e'.source) :
     e'.toPartialHomeomorph.symm (e' x) = x :=
-  e'.toLocalEquiv.left_inv hx
+  e'.toPartialEquiv.left_inv hx
 #align trivialization.symm_apply_apply Trivialization.symm_apply_apply
 
 @[simp, mfld_simps]
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
@@ -5,7 +5,7 @@ Authors: Sébastien Gouëzel
 -/
 import Mathlib.Data.Bundle
 import Mathlib.Topology.Algebra.Order.Field
-import Mathlib.Topology.LocalHomeomorph
+import Mathlib.Topology.PartialHomeomorph
 
 #align_import topology.fiber_bundle.trivialization from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
 
@@ -304,12 +304,12 @@ variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace F E)]
 sets of the form `proj ⁻¹' baseSet` and `baseSet × F`, acting trivially on the first coordinate.
 -/
 -- porting note: todo: was @[nolint has_nonempty_instance]
-structure Trivialization (proj : Z → B) extends LocalHomeomorph Z (B × F) where
+structure Trivialization (proj : Z → B) extends PartialHomeomorph Z (B × F) where
   baseSet : Set B
   open_baseSet : IsOpen baseSet
   source_eq : source = proj ⁻¹' baseSet
   target_eq : target = baseSet ×ˢ univ
-  proj_toFun : ∀ p ∈ source, (toLocalHomeomorph p).1 = proj p
+  proj_toFun : ∀ p ∈ source, (toPartialHomeomorph p).1 = proj p
 #align trivialization Trivialization
 
 namespace Trivialization
@@ -318,7 +318,7 @@ variable {F}
 variable (e : Trivialization F proj) {x : Z}
 
 @[ext]
-lemma ext' (e e' : Trivialization F proj) (h₁ : e.toLocalHomeomorph = e'.toLocalHomeomorph)
+lemma ext' (e e' : Trivialization F proj) (h₁ : e.toPartialHomeomorph = e'.toPartialHomeomorph)
     (h₂ : e.baseSet = e'.baseSet) : e = e' := by
   cases e; cases e'; congr
 #align trivialization.ext Trivialization.ext'
@@ -342,12 +342,12 @@ instance : Coe (Trivialization F proj) (Pretrivialization F proj) :=
 theorem toPretrivialization_injective :
     Function.Injective fun e : Trivialization F proj => e.toPretrivialization := fun e e' h => by
   ext1
-  exacts [LocalHomeomorph.toLocalEquiv_injective (congr_arg Pretrivialization.toLocalEquiv h),
+  exacts [PartialHomeomorph.toLocalEquiv_injective (congr_arg Pretrivialization.toLocalEquiv h),
     congr_arg Pretrivialization.baseSet h]
 #align trivialization.to_pretrivialization_injective Trivialization.toPretrivialization_injective
 
 @[simp, mfld_simps]
-theorem coe_coe : ⇑e.toLocalHomeomorph = e :=
+theorem coe_coe : ⇑e.toPartialHomeomorph = e :=
   rfl
 #align trivialization.coe_coe Trivialization.coe_coe
 
@@ -376,11 +376,11 @@ theorem mk_proj_snd' (ex : proj x ∈ e.baseSet) : (proj x, (e x).2) = e x :=
 
 theorem source_inter_preimage_target_inter (s : Set (B × F)) :
     e.source ∩ e ⁻¹' (e.target ∩ s) = e.source ∩ e ⁻¹' s :=
-  e.toLocalHomeomorph.source_inter_preimage_target_inter s
+  e.toPartialHomeomorph.source_inter_preimage_target_inter s
 #align trivialization.source_inter_preimage_target_inter Trivialization.source_inter_preimage_target_inter
 
 @[simp, mfld_simps]
-theorem coe_mk (e : LocalHomeomorph Z (B × F)) (i j k l m) (x : Z) :
+theorem coe_mk (e : PartialHomeomorph Z (B × F)) (i j k l m) (x : Z) :
     (Trivialization.mk e i j k l m : Trivialization F proj) x = e x :=
   rfl
 #align trivialization.coe_mk Trivialization.coe_mk
@@ -389,16 +389,17 @@ theorem mem_target {x : B × F} : x ∈ e.target ↔ x.1 ∈ e.baseSet :=
   e.toPretrivialization.mem_target
 #align trivialization.mem_target Trivialization.mem_target
 
-theorem map_target {x : B × F} (hx : x ∈ e.target) : e.toLocalHomeomorph.symm x ∈ e.source :=
-  e.toLocalHomeomorph.map_target hx
+theorem map_target {x : B × F} (hx : x ∈ e.target) : e.toPartialHomeomorph.symm x ∈ e.source :=
+  e.toPartialHomeomorph.map_target hx
 #align trivialization.map_target Trivialization.map_target
 
-theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) : proj (e.toLocalHomeomorph.symm x) = x.1 :=
+theorem proj_symm_apply {x : B × F} (hx : x ∈ e.target) :
+    proj (e.toPartialHomeomorph.symm x) = x.1 :=
   e.toPretrivialization.proj_symm_apply hx
 #align trivialization.proj_symm_apply Trivialization.proj_symm_apply
 
 theorem proj_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
-    proj (e.toLocalHomeomorph.symm (b, x)) = b :=
+    proj (e.toPartialHomeomorph.symm (b, x)) = b :=
   e.toPretrivialization.proj_symm_apply' hx
 #align trivialization.proj_symm_apply' Trivialization.proj_symm_apply'
 
@@ -406,17 +407,17 @@ theorem proj_surjOn_baseSet [Nonempty F] : Set.SurjOn proj e.source e.baseSet :=
   e.toPretrivialization.proj_surjOn_baseSet
 #align trivialization.proj_surj_on_base_set Trivialization.proj_surjOn_baseSet
 
-theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toLocalHomeomorph.symm x) = x :=
-  e.toLocalHomeomorph.right_inv hx
+theorem apply_symm_apply {x : B × F} (hx : x ∈ e.target) : e (e.toPartialHomeomorph.symm x) = x :=
+  e.toPartialHomeomorph.right_inv hx
 #align trivialization.apply_symm_apply Trivialization.apply_symm_apply
 
 theorem apply_symm_apply' {b : B} {x : F} (hx : b ∈ e.baseSet) :
-    e (e.toLocalHomeomorph.symm (b, x)) = (b, x) :=
+    e (e.toPartialHomeomorph.symm (b, x)) = (b, x) :=
   e.toPretrivialization.apply_symm_apply' hx
 #align trivialization.apply_symm_apply' Trivialization.apply_symm_apply'
 
 @[simp, mfld_simps]
-theorem symm_apply_mk_proj (ex : x ∈ e.source) : e.toLocalHomeomorph.symm (proj x, (e x).2) = x :=
+theorem symm_apply_mk_proj (ex : x ∈ e.source) : e.toPartialHomeomorph.symm (proj x, (e x).2) = x :=
   e.toPretrivialization.symm_apply_mk_proj ex
 #align trivialization.symm_apply_mk_proj Trivialization.symm_apply_mk_proj
 
@@ -478,7 +479,7 @@ theorem nhds_eq_inf_comap {z : Z} (hz : z ∈ e.source) :
 
 /-- The preimage of a subset of the base set is homeomorphic to the product with the fiber. -/
 def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ s × F :=
-  (e.toLocalHomeomorph.homeomorphOfImageSubsetSource (e.preimage_subset_source hb)
+  (e.toPartialHomeomorph.homeomorphOfImageSubsetSource (e.preimage_subset_source hb)
         (e.image_preimage_eq_prod_univ hb)).trans
     ((Homeomorph.Set.prod s univ).trans ((Homeomorph.refl s).prodCongr (Homeomorph.Set.univ F)))
 #align trivialization.preimage_homeomorph Trivialization.preimageHomeomorph
@@ -541,7 +542,7 @@ theorem continuousAt_proj (ex : x ∈ e.source) : ContinuousAt proj x :=
 /-- Composition of a `Trivialization` and a `Homeomorph`. -/
 protected def compHomeomorph {Z' : Type*} [TopologicalSpace Z'] (h : Z' ≃ₜ Z) :
     Trivialization F (proj ∘ h) where
-  toLocalHomeomorph := h.toLocalHomeomorph.trans e.toLocalHomeomorph
+  toPartialHomeomorph := h.toPartialHomeomorph.trans e.toPartialHomeomorph
   baseSet := e.baseSet
   open_baseSet := e.open_baseSet
   source_eq := by simp [source_eq, preimage_preimage, (· ∘ ·)]
@@ -559,8 +560,8 @@ theorem continuousAt_of_comp_right {X : Type*} [TopologicalSpace X] {f : Z → X
   have hez : z ∈ e.toLocalEquiv.symm.target := by
     rw [LocalEquiv.symm_target, e.mem_source]
     exact he
-  rwa [e.toLocalHomeomorph.symm.continuousAt_iff_continuousAt_comp_right hez,
-    LocalHomeomorph.symm_symm]
+  rwa [e.toPartialHomeomorph.symm.continuousAt_iff_continuousAt_comp_right hez,
+    PartialHomeomorph.symm_symm]
 #align trivialization.continuous_at_of_comp_right Trivialization.continuousAt_of_comp_right
 
 /-- Read off the continuity of a function `f : X → Z` at `x : X` by transferring via a
@@ -584,7 +585,7 @@ theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
   e'.mem_source
 #align trivialization.coe_mem_source Trivialization.coe_mem_source
 
-@[deprecated LocalHomeomorph.open_target]
+@[deprecated PartialHomeomorph.open_target]
 theorem open_target' : IsOpen e'.target := e'.open_target
 #align trivialization.open_target Trivialization.open_target'
 
@@ -598,13 +599,13 @@ theorem mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.baseSet :=
 #align trivialization.mk_mem_target Trivialization.mk_mem_target
 
 theorem symm_apply_apply {x : TotalSpace F E} (hx : x ∈ e'.source) :
-    e'.toLocalHomeomorph.symm (e' x) = x :=
+    e'.toPartialHomeomorph.symm (e' x) = x :=
   e'.toLocalEquiv.left_inv hx
 #align trivialization.symm_apply_apply Trivialization.symm_apply_apply
 
 @[simp, mfld_simps]
 theorem symm_coe_proj {x : B} {y : F} (e : Trivialization F (π F E)) (h : x ∈ e.baseSet) :
-    (e.toLocalHomeomorph.symm (x, y)).1 = x :=
+    (e.toPartialHomeomorph.symm (x, y)).1 = x :=
   e.proj_symm_apply' h
 #align trivialization.symm_coe_proj Trivialization.symm_coe_proj
 
@@ -619,7 +620,7 @@ protected noncomputable def symm (e : Trivialization F (π F E)) (b : B) (y : F)
 #align trivialization.symm Trivialization.symm
 
 theorem symm_apply (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalHomeomorph.symm (b, y)).2 :=
+    e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toPartialHomeomorph.symm (b, y)).2 :=
   dif_pos hb
 #align trivialization.symm_apply Trivialization.symm_apply
 
@@ -629,7 +630,7 @@ theorem symm_apply_of_not_mem (e : Trivialization F (π F E)) {b : B} (hb : b 
 #align trivialization.symm_apply_of_not_mem Trivialization.symm_apply_of_not_mem
 
 theorem mk_symm (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    TotalSpace.mk b (e.symm b y) = e.toLocalHomeomorph.symm (b, y) :=
+    TotalSpace.mk b (e.symm b y) = e.toPartialHomeomorph.symm (b, y) :=
   e.toPretrivialization.mk_symm hb y
 #align trivialization.mk_symm Trivialization.mk_symm
 
@@ -651,12 +652,12 @@ theorem apply_mk_symm (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.base
 theorem continuousOn_symm (e : Trivialization F (π F E)) :
     ContinuousOn (fun z : B × F => TotalSpace.mk' F z.1 (e.symm z.1 z.2)) (e.baseSet ×ˢ univ) := by
   have : ∀ z ∈ e.baseSet ×ˢ (univ : Set F),
-      TotalSpace.mk z.1 (e.symm z.1 z.2) = e.toLocalHomeomorph.symm z := by
+      TotalSpace.mk z.1 (e.symm z.1 z.2) = e.toPartialHomeomorph.symm z := by
     rintro x ⟨hx : x.1 ∈ e.baseSet, _⟩
     rw [e.mk_symm hx]
   refine' ContinuousOn.congr _ this
   rw [← e.target_eq]
-  exact e.toLocalHomeomorph.continuousOn_symm
+  exact e.toPartialHomeomorph.continuousOn_symm
 #align trivialization.continuous_on_symm Trivialization.continuousOn_symm
 
 end Zero
@@ -666,7 +667,7 @@ end Zero
 that sends `p : Z` to `((e p).1, h (e p).2)`. -/
 def transFiberHomeomorph {F' : Type*} [TopologicalSpace F'] (e : Trivialization F proj)
     (h : F ≃ₜ F') : Trivialization F' proj where
-  toLocalHomeomorph := e.toLocalHomeomorph.transHomeomorph <| (Homeomorph.refl _).prodCongr h
+  toPartialHomeomorph := e.toPartialHomeomorph.transHomeomorph <| (Homeomorph.refl _).prodCongr h
   baseSet := e.baseSet
   open_baseSet := e.open_baseSet
   source_eq := e.source_eq
@@ -683,12 +684,12 @@ theorem transFiberHomeomorph_apply {F' : Type*} [TopologicalSpace F'] (e : Trivi
 /-- Coordinate transformation in the fiber induced by a pair of bundle trivializations. See also
 `Trivialization.coordChangeHomeomorph` for a version bundled as `F ≃ₜ F`. -/
 def coordChange (e₁ e₂ : Trivialization F proj) (b : B) (x : F) : F :=
-  (e₂ <| e₁.toLocalHomeomorph.symm (b, x)).2
+  (e₂ <| e₁.toPartialHomeomorph.symm (b, x)).2
 #align trivialization.coord_change Trivialization.coordChange
 
 theorem mk_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) (x : F) :
-    (b, e₁.coordChange e₂ b x) = e₂ (e₁.toLocalHomeomorph.symm (b, x)) := by
+    (b, e₁.coordChange e₂ b x) = e₂ (e₁.toPartialHomeomorph.symm (b, x)) := by
   refine' Prod.ext _ rfl
   rw [e₂.coe_fst', ← e₁.coe_fst', e₁.apply_symm_apply' h₁]
   · rwa [e₁.proj_symm_apply' h₁]
@@ -718,8 +719,8 @@ theorem coordChange_coordChange (e₁ e₂ e₃ : Trivialization F proj) {b : B}
 
 theorem continuous_coordChange (e₁ e₂ : Trivialization F proj) {b : B} (h₁ : b ∈ e₁.baseSet)
     (h₂ : b ∈ e₂.baseSet) : Continuous (e₁.coordChange e₂ b) := by
-  refine' continuous_snd.comp (e₂.toLocalHomeomorph.continuousOn.comp_continuous
-    (e₁.toLocalHomeomorph.continuousOn_symm.comp_continuous _ _) _)
+  refine' continuous_snd.comp (e₂.toPartialHomeomorph.continuousOn.comp_continuous
+    (e₁.toPartialHomeomorph.continuousOn_symm.comp_continuous _ _) _)
   · exact continuous_const.prod_mk continuous_id
   · exact fun x => e₁.mem_target.2 h₁
   · intro x
@@ -747,13 +748,13 @@ theorem coordChangeHomeomorph_coe (e₁ e₂ : Trivialization F proj) {b : B} (h
 variable {B' : Type*} [TopologicalSpace B']
 
 theorem isImage_preimage_prod (e : Trivialization F proj) (s : Set B) :
-    e.toLocalHomeomorph.IsImage (proj ⁻¹' s) (s ×ˢ univ) := fun x hx => by simp [e.coe_fst', hx]
+    e.toPartialHomeomorph.IsImage (proj ⁻¹' s) (s ×ˢ univ) := fun x hx => by simp [e.coe_fst', hx]
 #align trivialization.is_image_preimage_prod Trivialization.isImage_preimage_prod
 
 /-- Restrict a `Trivialization` to an open set in the base. -/
 protected def restrOpen (e : Trivialization F proj) (s : Set B) (hs : IsOpen s) :
     Trivialization F proj where
-  toLocalHomeomorph :=
+  toPartialHomeomorph :=
     ((e.isImage_preimage_prod s).symm.restr (IsOpen.inter e.open_target (hs.prod isOpen_univ))).symm
   baseSet := e.baseSet ∩ s
   open_baseSet := IsOpen.inter e.open_baseSet hs
@@ -778,8 +779,8 @@ otherwise. -/
 noncomputable def piecewise (e e' : Trivialization F proj) (s : Set B)
     (Hs : e.baseSet ∩ frontier s = e'.baseSet ∩ frontier s)
     (Heq : EqOn e e' <| proj ⁻¹' (e.baseSet ∩ frontier s)) : Trivialization F proj where
-  toLocalHomeomorph :=
-    e.toLocalHomeomorph.piecewise e'.toLocalHomeomorph (proj ⁻¹' s) (s ×ˢ univ)
+  toPartialHomeomorph :=
+    e.toPartialHomeomorph.piecewise e'.toPartialHomeomorph (proj ⁻¹' s) (s ×ˢ univ)
       (e.isImage_preimage_prod s) (e'.isImage_preimage_prod s)
       (by rw [e.frontier_preimage, e'.frontier_preimage, Hs]) (by rwa [e.frontier_preimage])
   baseSet := s.ite e.baseSet e'.baseSet
@@ -828,8 +829,8 @@ bundle trivialization over the union of the base sets that agrees with `e` and `
 base sets. -/
 noncomputable def disjointUnion (e e' : Trivialization F proj) (H : Disjoint e.baseSet e'.baseSet) :
     Trivialization F proj where
-  toLocalHomeomorph :=
-    e.toLocalHomeomorph.disjointUnion e'.toLocalHomeomorph
+  toPartialHomeomorph :=
+    e.toPartialHomeomorph.disjointUnion e'.toPartialHomeomorph
       (by
         rw [e.source_eq, e'.source_eq]
         exact H.preimage _)
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
@@ -577,7 +577,7 @@ theorem continuousAt_of_comp_left {X : Type*} [TopologicalSpace X] {f : X → Z}
 variable (e' : Trivialization F (π F E)) {x' : TotalSpace F E} {b : B} {y : E b}
 
 protected theorem continuousOn : ContinuousOn e' e'.source :=
-  e'.continuous_toFun
+  e'.continuousOn_toFun
 #align trivialization.continuous_on Trivialization.continuousOn
 
 theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
style: cleanup by putting by on the same line as := (#8407)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -209,8 +209,9 @@ theorem trans_source (e f : Pretrivialization F proj) :
 #align pretrivialization.trans_source Pretrivialization.trans_source
 
 theorem symm_trans_symm (e e' : Pretrivialization F proj) :
-    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).symm = e'.toLocalEquiv.symm.trans e.toLocalEquiv :=
-  by rw [LocalEquiv.trans_symm_eq_symm_trans_symm, LocalEquiv.symm_symm]
+    (e.toLocalEquiv.symm.trans e'.toLocalEquiv).symm
+      = e'.toLocalEquiv.symm.trans e.toLocalEquiv := by
+  rw [LocalEquiv.trans_symm_eq_symm_trans_symm, LocalEquiv.symm_symm]
 #align pretrivialization.symm_trans_symm Pretrivialization.symm_trans_symm
 
 theorem symm_trans_source_eq (e e' : Pretrivialization F proj) :
chore: Make Set/Finset lemmas match lattice lemma names (#7378)

Rename union_eq_left_iff_subset to union_eq_left to match sup_eq_left. Similarly for the right and inter versions.

Diff
@@ -183,7 +183,7 @@ theorem symm_apply_mk_proj {x : Z} (ex : x ∈ e.source) :
 @[simp, mfld_simps]
 theorem preimage_symm_proj_baseSet :
     e.toLocalEquiv.symm ⁻¹' (proj ⁻¹' e.baseSet) ∩ e.target = e.target := by
-  refine' inter_eq_right_iff_subset.mpr fun x hx => _
+  refine' inter_eq_right.mpr fun x hx => _
   simp only [mem_preimage, LocalEquiv.invFun_as_coe, e.proj_symm_apply hx]
   exact e.mem_target.mp hx
 #align pretrivialization.preimage_symm_proj_base_set Pretrivialization.preimage_symm_proj_baseSet
chore: cleanup Mathlib.Init.Data.Prod (#6972)

Removing from Mathlib.Init.Data.Prod from the early parts of the import hierarchy.

While at it, remove unnecessary uses of Prod.mk.eta across the library.

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

Diff
@@ -177,7 +177,7 @@ theorem symm_apply_apply {x : Z} (hx : x ∈ e.source) : e.toLocalEquiv.symm (e
 @[simp, mfld_simps]
 theorem symm_apply_mk_proj {x : Z} (ex : x ∈ e.source) :
     e.toLocalEquiv.symm (proj x, (e x).2) = x := by
-  rw [← e.coe_fst ex, Prod.mk.eta, ← e.coe_coe, e.left_inv ex]
+  rw [← e.coe_fst ex, ← e.coe_coe, e.left_inv ex]
 #align pretrivialization.symm_apply_mk_proj Pretrivialization.symm_apply_mk_proj
 
 @[simp, mfld_simps]
fix: disable autoImplicit globally (#6528)

Autoimplicits are highly controversial and also defeat the performance-improving work in #6474.

The intent of this PR is to make autoImplicit opt-in on a per-file basis, by disabling it in the lakefile and enabling it again with set_option autoImplicit true in the few files that rely on it.

That also keeps this PR small, as opposed to attempting to "fix" files to not need it any more.

I claim that many of the uses of autoImplicit in these files are accidental; situations such as:

  • Assuming variables are in scope, but pasting the lemma in the wrong section
  • Pasting in a lemma from a scratch file without checking to see if the variable names are consistent with the rest of the file
  • Making a copy-paste error between lemmas and forgetting to add an explicit arguments.

Having set_option autoImplicit false as the default prevents these types of mistake being made in the 90% of files where autoImplicits are not used at all, and causes them to be caught by CI during review.

I think there were various points during the port where we encouraged porters to delete the universes u v lines; I think having autoparams for universe variables only would cover a lot of the cases we actually use them, while avoiding any real shortcomings.

A Zulip poll (after combining overlapping votes accordingly) was in favor of this change with 5:5:18 as the no:dontcare:yes vote ratio.

While this PR was being reviewed, a handful of files gained some more likely-accidental autoImplicits. In these places, set_option autoImplicit true has been placed locally within a section, rather than at the top of the file.

Diff
@@ -48,6 +48,8 @@ Indeed, since trivializations only have meaning on their base sets (taking junk
 type of linear trivializations is not even particularly well-behaved.
 -/
 
+set_option autoImplicit true
+
 
 open TopologicalSpace Filter Set Bundle Function
 
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
@@ -53,9 +53,9 @@ open TopologicalSpace Filter Set Bundle Function
 
 open scoped Topology Classical Bundle
 
-variable {ι : Type _} {B : Type _} {F : Type _} {E : B → Type _}
+variable {ι : Type*} {B : Type*} {F : Type*} {E : B → Type*}
 
-variable (F) {Z : Type _} [TopologicalSpace B] [TopologicalSpace F] {proj : Z → B}
+variable (F) {Z : Type*} [TopologicalSpace B] [TopologicalSpace F] {proj : Z → B}
 
 /-- This structure contains the information left for a local trivialization (which is implemented
 below as `Trivialization F proj`) if the total space has not been given a topology, but we
@@ -536,7 +536,7 @@ theorem continuousAt_proj (ex : x ∈ e.source) : ContinuousAt proj x :=
 #align trivialization.continuous_at_proj Trivialization.continuousAt_proj
 
 /-- Composition of a `Trivialization` and a `Homeomorph`. -/
-protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ Z) :
+protected def compHomeomorph {Z' : Type*} [TopologicalSpace Z'] (h : Z' ≃ₜ Z) :
     Trivialization F (proj ∘ h) where
   toLocalHomeomorph := h.toLocalHomeomorph.trans e.toLocalHomeomorph
   baseSet := e.baseSet
@@ -550,7 +550,7 @@ protected def compHomeomorph {Z' : Type _} [TopologicalSpace Z'] (h : Z' ≃ₜ
 
 /-- Read off the continuity of a function `f : Z → X` at `z : Z` by transferring via a
 trivialization of `Z` containing `z`. -/
-theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z → X} {z : Z}
+theorem continuousAt_of_comp_right {X : Type*} [TopologicalSpace X] {f : Z → X} {z : Z}
     (e : Trivialization F proj) (he : proj z ∈ e.baseSet)
     (hf : ContinuousAt (f ∘ e.toLocalEquiv.symm) (e z)) : ContinuousAt f z := by
   have hez : z ∈ e.toLocalEquiv.symm.target := by
@@ -562,7 +562,7 @@ theorem continuousAt_of_comp_right {X : Type _} [TopologicalSpace X] {f : Z →
 
 /-- Read off the continuity of a function `f : X → Z` at `x : X` by transferring via a
 trivialization of `Z` containing `f x`. -/
-theorem continuousAt_of_comp_left {X : Type _} [TopologicalSpace X] {f : X → Z} {x : X}
+theorem continuousAt_of_comp_left {X : Type*} [TopologicalSpace X] {f : X → Z} {x : X}
     (e : Trivialization F proj) (hf_proj : ContinuousAt (proj ∘ f) x) (he : proj (f x) ∈ e.baseSet)
     (hf : ContinuousAt (e ∘ f) x) : ContinuousAt f x := by
   rw [e.continuousAt_iff_continuousAt_comp_left]
@@ -661,7 +661,7 @@ end Zero
 /-- If `e` is a `Trivialization` of `proj : Z → B` with fiber `F` and `h` is a homeomorphism
 `F ≃ₜ F'`, then `e.trans_fiber_homeomorph h` is the trivialization of `proj` with the fiber `F'`
 that sends `p : Z` to `((e p).1, h (e p).2)`. -/
-def transFiberHomeomorph {F' : Type _} [TopologicalSpace F'] (e : Trivialization F proj)
+def transFiberHomeomorph {F' : Type*} [TopologicalSpace F'] (e : Trivialization F proj)
     (h : F ≃ₜ F') : Trivialization F' proj where
   toLocalHomeomorph := e.toLocalHomeomorph.transHomeomorph <| (Homeomorph.refl _).prodCongr h
   baseSet := e.baseSet
@@ -672,7 +672,7 @@ def transFiberHomeomorph {F' : Type _} [TopologicalSpace F'] (e : Trivialization
 #align trivialization.trans_fiber_homeomorph Trivialization.transFiberHomeomorph
 
 @[simp]
-theorem transFiberHomeomorph_apply {F' : Type _} [TopologicalSpace F'] (e : Trivialization F proj)
+theorem transFiberHomeomorph_apply {F' : Type*} [TopologicalSpace F'] (e : Trivialization F proj)
     (h : F ≃ₜ F') (x : Z) : e.transFiberHomeomorph h x = ((e x).1, h (e x).2) :=
   rfl
 #align trivialization.trans_fiber_homeomorph_apply Trivialization.transFiberHomeomorph_apply
@@ -741,7 +741,7 @@ theorem coordChangeHomeomorph_coe (e₁ e₂ : Trivialization F proj) {b : B} (h
   rfl
 #align trivialization.coord_change_homeomorph_coe Trivialization.coordChangeHomeomorph_coe
 
-variable {B' : Type _} [TopologicalSpace B']
+variable {B' : Type*} [TopologicalSpace B']
 
 theorem isImage_preimage_prod (e : Trivialization F proj) (s : Set B) :
     e.toLocalHomeomorph.IsImage (proj ⁻¹' s) (s ×ˢ univ) := fun x hx => by simp [e.coe_fst', hx]
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,16 +2,13 @@
 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
-
-! This file was ported from Lean 3 source module topology.fiber_bundle.trivialization
-! 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.Data.Bundle
 import Mathlib.Topology.Algebra.Order.Field
 import Mathlib.Topology.LocalHomeomorph
 
+#align_import topology.fiber_bundle.trivialization from "leanprover-community/mathlib"@"e473c3198bb41f68560cab68a0529c854b618833"
+
 /-!
 # Trivializations
 
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
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.trivialization
-! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
+! leanprover-community/mathlib commit e473c3198bb41f68560cab68a0529c854b618833
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -52,8 +52,9 @@ type of linear trivializations is not even particularly well-behaved.
 -/
 
 
-open TopologicalSpace Filter Set Function Bundle Topology
-open scoped Classical
+open TopologicalSpace Filter Set Bundle Function
+
+open scoped Topology Classical Bundle
 
 variable {ι : Type _} {B : Type _} {F : Type _} {E : B → Type _}
 
@@ -224,8 +225,9 @@ theorem symm_trans_target_eq (e e' : Pretrivialization F proj) :
   rw [← LocalEquiv.symm_source, symm_trans_symm, symm_trans_source_eq, inter_comm]
 #align pretrivialization.symm_trans_target_eq Pretrivialization.symm_trans_target_eq
 
-variable (e' : Pretrivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
+variable (e' : Pretrivialization F (π F E)) {x' : TotalSpace F E} {b : B} {y : E b}
 
+@[simp]
 theorem coe_mem_source : ↑y ∈ e'.source ↔ b ∈ e'.baseSet :=
   e'.mem_source
 #align pretrivialization.coe_mem_source Pretrivialization.coe_mem_source
@@ -239,7 +241,7 @@ theorem mk_mem_target {x : B} {y : F} : (x, y) ∈ e'.target ↔ x ∈ e'.baseSe
   e'.mem_target
 #align pretrivialization.mk_mem_target Pretrivialization.mk_mem_target
 
-theorem symm_coe_proj {x : B} {y : F} (e' : Pretrivialization F (π E)) (h : x ∈ e'.baseSet) :
+theorem symm_coe_proj {x : B} {y : F} (e' : Pretrivialization F (π F E)) (h : x ∈ e'.baseSet) :
     (e'.toLocalEquiv.symm (x, y)).1 = x :=
   e'.proj_symm_apply' h
 #align pretrivialization.symm_coe_proj Pretrivialization.symm_coe_proj
@@ -249,45 +251,45 @@ section Zero
 variable [∀ x, Zero (E x)]
 
 /-- A fiberwise inverse to `e`. This is the function `F → E b` that induces a local inverse
-`B × F → total_space E` of `e` on `e.baseSet`. It is defined to be `0` outside `e.baseSet`. -/
-protected noncomputable def symm (e : Pretrivialization F (π E)) (b : B) (y : F) : E b :=
+`B × F → TotalSpace F E` of `e` on `e.baseSet`. It is defined to be `0` outside `e.baseSet`. -/
+protected noncomputable def symm (e : Pretrivialization F (π F E)) (b : B) (y : F) : E b :=
   if hb : b ∈ e.baseSet then
     cast (congr_arg E (e.proj_symm_apply' hb)) (e.toLocalEquiv.symm (b, y)).2
   else 0
 #align pretrivialization.symm Pretrivialization.symm
 
-theorem symm_apply (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+theorem symm_apply (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalEquiv.symm (b, y)).2 :=
   dif_pos hb
 #align pretrivialization.symm_apply Pretrivialization.symm_apply
 
-theorem symm_apply_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
-    e.symm b y = 0 :=
+theorem symm_apply_of_not_mem (e : Pretrivialization F (π F E)) {b : B} (hb : b ∉ e.baseSet)
+    (y : F) : e.symm b y = 0 :=
   dif_neg hb
 #align pretrivialization.symm_apply_of_not_mem Pretrivialization.symm_apply_of_not_mem
 
-theorem coe_symm_of_not_mem (e : Pretrivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) :
+theorem coe_symm_of_not_mem (e : Pretrivialization F (π F E)) {b : B} (hb : b ∉ e.baseSet) :
     (e.symm b : F → E b) = 0 :=
   funext fun _ => dif_neg hb
 #align pretrivialization.coe_symm_of_not_mem Pretrivialization.coe_symm_of_not_mem
 
-theorem mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    totalSpaceMk b (e.symm b y) = e.toLocalEquiv.symm (b, y) := by
-  rw [e.symm_apply hb, TotalSpace.mk_cast (e.proj_symm_apply' hb), TotalSpace.eta]
+theorem mk_symm (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+    TotalSpace.mk b (e.symm b y) = e.toLocalEquiv.symm (b, y) := by
+  simp only [e.symm_apply hb, TotalSpace.mk_cast (e.proj_symm_apply' hb), TotalSpace.eta]
 #align pretrivialization.mk_symm Pretrivialization.mk_symm
 
-theorem symm_proj_apply (e : Pretrivialization F (π E)) (z : TotalSpace E)
+theorem symm_proj_apply (e : Pretrivialization F (π F E)) (z : TotalSpace F E)
     (hz : z.proj ∈ e.baseSet) : e.symm z.proj (e z).2 = z.2 := by
   rw [e.symm_apply hz, cast_eq_iff_heq, e.mk_proj_snd' hz, e.symm_apply_apply (e.mem_source.mpr hz)]
 #align pretrivialization.symm_proj_apply Pretrivialization.symm_proj_apply
 
-theorem symm_apply_apply_mk (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
-    e.symm b (e (totalSpaceMk b y)).2 = y :=
-  e.symm_proj_apply (totalSpaceMk b y) hb
+theorem symm_apply_apply_mk (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet)
+    (y : E b) : e.symm b (e ⟨b, y⟩).2 = y :=
+  e.symm_proj_apply ⟨b, y⟩ hb
 #align pretrivialization.symm_apply_apply_mk Pretrivialization.symm_apply_apply_mk
 
-theorem apply_mk_symm (e : Pretrivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    e (totalSpaceMk b (e.symm b y)) = (b, y) := by
+theorem apply_mk_symm (e : Pretrivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+    e ⟨b, e.symm b y⟩ = (b, y) := by
   rw [e.mk_symm hb, e.apply_symm_apply (e.mk_mem_target.mpr hb)]
 #align pretrivialization.apply_mk_symm Pretrivialization.apply_mk_symm
 
@@ -295,7 +297,7 @@ end Zero
 
 end Pretrivialization
 
-variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace E)]
+variable [TopologicalSpace Z] [TopologicalSpace (TotalSpace F E)]
 
 /-- A structure extending local homeomorphisms, defining a local trivialization of a projection
 `proj : Z → B` with fiber `F`, as a local homeomorphism between `Z` and `B × F` defined between two
@@ -572,7 +574,7 @@ theorem continuousAt_of_comp_left {X : Type _} [TopologicalSpace X] {f : X → Z
   exact hf_proj.preimage_mem_nhds (e.open_baseSet.mem_nhds he)
 #align trivialization.continuous_at_of_comp_left Trivialization.continuousAt_of_comp_left
 
-variable (e' : Trivialization F (π E)) {x' : TotalSpace E} {b : B} {y : E b}
+variable (e' : Trivialization F (π F E)) {x' : TotalSpace F E} {b : B} {y : E b}
 
 protected theorem continuousOn : ContinuousOn e' e'.source :=
   e'.continuous_toFun
@@ -595,13 +597,13 @@ theorem mk_mem_target {y : F} : (b, y) ∈ e'.target ↔ b ∈ e'.baseSet :=
   e'.toPretrivialization.mem_target
 #align trivialization.mk_mem_target Trivialization.mk_mem_target
 
-theorem symm_apply_apply {x : TotalSpace E} (hx : x ∈ e'.source) :
+theorem symm_apply_apply {x : TotalSpace F E} (hx : x ∈ e'.source) :
     e'.toLocalHomeomorph.symm (e' x) = x :=
   e'.toLocalEquiv.left_inv hx
 #align trivialization.symm_apply_apply Trivialization.symm_apply_apply
 
 @[simp, mfld_simps]
-theorem symm_coe_proj {x : B} {y : F} (e : Trivialization F (π E)) (h : x ∈ e.baseSet) :
+theorem symm_coe_proj {x : B} {y : F} (e : Trivialization F (π F E)) (h : x ∈ e.baseSet) :
     (e.toLocalHomeomorph.symm (x, y)).1 = x :=
   e.proj_symm_apply' h
 #align trivialization.symm_coe_proj Trivialization.symm_coe_proj
@@ -611,45 +613,45 @@ section Zero
 variable [∀ x, Zero (E x)]
 
 /-- A fiberwise inverse to `e'`. The function `F → E x` that induces a local inverse
-`B × F → total_space E` of `e'` on `e'.baseSet`. It is defined to be `0` outside `e'.baseSet`. -/
-protected noncomputable def symm (e : Trivialization F (π E)) (b : B) (y : F) : E b :=
+`B × F → TotalSpace F E` of `e'` on `e'.baseSet`. It is defined to be `0` outside `e'.baseSet`. -/
+protected noncomputable def symm (e : Trivialization F (π F E)) (b : B) (y : F) : E b :=
   e.toPretrivialization.symm b y
 #align trivialization.symm Trivialization.symm
 
-theorem symm_apply (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+theorem symm_apply (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
     e.symm b y = cast (congr_arg E (e.symm_coe_proj hb)) (e.toLocalHomeomorph.symm (b, y)).2 :=
   dif_pos hb
 #align trivialization.symm_apply Trivialization.symm_apply
 
-theorem symm_apply_of_not_mem (e : Trivialization F (π E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
+theorem symm_apply_of_not_mem (e : Trivialization F (π F E)) {b : B} (hb : b ∉ e.baseSet) (y : F) :
     e.symm b y = 0 :=
   dif_neg hb
 #align trivialization.symm_apply_of_not_mem Trivialization.symm_apply_of_not_mem
 
-theorem mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    totalSpaceMk b (e.symm b y) = e.toLocalHomeomorph.symm (b, y) :=
+theorem mk_symm (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+    TotalSpace.mk b (e.symm b y) = e.toLocalHomeomorph.symm (b, y) :=
   e.toPretrivialization.mk_symm hb y
 #align trivialization.mk_symm Trivialization.mk_symm
 
-theorem symm_proj_apply (e : Trivialization F (π E)) (z : TotalSpace E) (hz : z.proj ∈ e.baseSet) :
-    e.symm z.proj (e z).2 = z.2 :=
+theorem symm_proj_apply (e : Trivialization F (π F E)) (z : TotalSpace F E)
+    (hz : z.proj ∈ e.baseSet) : e.symm z.proj (e z).2 = z.2 :=
   e.toPretrivialization.symm_proj_apply z hz
 #align trivialization.symm_proj_apply Trivialization.symm_proj_apply
 
-theorem symm_apply_apply_mk (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
-    e.symm b (e (totalSpaceMk b y)).2 = y :=
-  e.symm_proj_apply (totalSpaceMk b y) hb
+theorem symm_apply_apply_mk (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : E b) :
+    e.symm b (e ⟨b, y⟩).2 = y :=
+  e.symm_proj_apply ⟨b, y⟩ hb
 #align trivialization.symm_apply_apply_mk Trivialization.symm_apply_apply_mk
 
-theorem apply_mk_symm (e : Trivialization F (π E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
-    e (totalSpaceMk b (e.symm b y)) = (b, y) :=
+theorem apply_mk_symm (e : Trivialization F (π F E)) {b : B} (hb : b ∈ e.baseSet) (y : F) :
+    e ⟨b, e.symm b y⟩ = (b, y) :=
   e.toPretrivialization.apply_mk_symm hb y
 #align trivialization.apply_mk_symm Trivialization.apply_mk_symm
 
-theorem continuousOn_symm (e : Trivialization F (π E)) :
-    ContinuousOn (fun z : B × F => totalSpaceMk z.1 (e.symm z.1 z.2)) (e.baseSet ×ˢ univ) := by
+theorem continuousOn_symm (e : Trivialization F (π F E)) :
+    ContinuousOn (fun z : B × F => TotalSpace.mk' F z.1 (e.symm z.1 z.2)) (e.baseSet ×ˢ univ) := by
   have : ∀ z ∈ e.baseSet ×ˢ (univ : Set F),
-      totalSpaceMk z.1 (e.symm z.1 z.2) = e.toLocalHomeomorph.symm z := by
+      TotalSpace.mk z.1 (e.symm z.1 z.2) = e.toLocalHomeomorph.symm z := by
     rintro x ⟨hx : x.1 ∈ e.baseSet, _⟩
     rw [e.mk_symm hx]
   refine' ContinuousOn.congr _ this
feat: add Trivialization.tendsto_nhds_iff (#5489)

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

Diff
@@ -455,6 +455,25 @@ theorem image_preimage_eq_prod_univ {s : Set B} (hb : s ⊆ e.baseSet) :
     ⟨e.invFun p, mem_preimage.mpr ((e.proj_symm_apply hp').symm ▸ hp.1), e.apply_symm_apply hp'⟩
 #align trivialization.image_preimage_eq_prod_univ Trivialization.image_preimage_eq_prod_univ
 
+theorem tendsto_nhds_iff {l : Filter α} {f : α → Z} {z : Z} (hz : z ∈ e.source) :
+    Tendsto f l (𝓝 z) ↔
+      Tendsto (proj ∘ f) l (𝓝 (proj z)) ∧ Tendsto (fun x ↦ (e (f x)).2) l (𝓝 (e z).2) := by
+  rw [e.nhds_eq_comap_inf_principal hz, tendsto_inf, tendsto_comap_iff, Prod.tendsto_iff, coe_coe,
+    tendsto_principal, coe_fst _ hz]
+  by_cases hl : ∀ᶠ x in l, f x ∈ e.source
+  · simp only [hl, and_true]
+    refine (tendsto_congr' ?_).and Iff.rfl
+    exact hl.mono fun x ↦ e.coe_fst
+  · simp only [hl, and_false, false_iff, not_and]
+    rw [e.source_eq] at hl hz
+    exact fun h _ ↦ hl <| h <| e.open_baseSet.mem_nhds hz
+
+theorem nhds_eq_inf_comap {z : Z} (hz : z ∈ e.source) :
+    𝓝 z = comap proj (𝓝 (proj z)) ⊓ comap (Prod.snd ∘ e) (𝓝 (e z).2) := by
+  refine eq_of_forall_le_iff fun l ↦ ?_
+  rw [le_inf_iff, ← tendsto_iff_comap, ← tendsto_iff_comap]
+  exact e.tendsto_nhds_iff hz
+
 /-- The preimage of a subset of the base set is homeomorphic to the product with the fiber. -/
 def preimageHomeomorph {s : Set B} (hb : s ⊆ e.baseSet) : proj ⁻¹' s ≃ₜ s × F :=
   (e.toLocalHomeomorph.homeomorphOfImageSubsetSource (e.preimage_subset_source hb)
chore: fix backtick in docs (#5077)

I wrote a script to find lines that contain an odd number of backticks

Diff
@@ -729,7 +729,7 @@ theorem isImage_preimage_prod (e : Trivialization F proj) (s : Set B) :
     e.toLocalHomeomorph.IsImage (proj ⁻¹' s) (s ×ˢ univ) := fun x hx => by simp [e.coe_fst', hx]
 #align trivialization.is_image_preimage_prod Trivialization.isImage_preimage_prod
 
-/-- Restrict a `Trivialization` to an open set in the base. `-/
+/-- Restrict a `Trivialization` to an open set in the base. -/
 protected def restrOpen (e : Trivialization F proj) (s : Set B) (hs : IsOpen s) :
     Trivialization F proj where
   toLocalHomeomorph :=
@@ -791,7 +791,7 @@ noncomputable def piecewiseLeOfEq [LinearOrder B] [OrderTopology B] (e e' : Triv
 linearly ordered base `B` and a point `a ∈ e.baseSet ∩ e'.baseSet`, `e.piecewise_le e' a He He'`
 is the bundle trivialization over `Set.ite (Iic a) e.baseSet e'.baseSet` that is equal to `e` on
 points `p` such that `proj p ≤ a` and is equal to `((e' p).1, h (e' p).2)` otherwise, where
-`h = `e'.coord_change_homeomorph e _ _` is the homeomorphism of the fiber such that
+`h = e'.coord_change_homeomorph e _ _` is the homeomorphism of the fiber such that
 `h (e' p).2 = (e p).2` whenever `e p = a`. -/
 noncomputable def piecewiseLe [LinearOrder B] [OrderTopology B] (e e' : Trivialization F proj)
     (a : B) (He : a ∈ e.baseSet) (He' : a ∈ e'.baseSet) : Trivialization F proj :=
chore: update std 05-22 (#4248)

The main breaking change is that tac <;> [t1, t2] is now written tac <;> [t1; t2], to avoid clashing with tactics like cases and use that take comma-separated lists.

Diff
@@ -96,7 +96,7 @@ lemma ext' (e e' : Pretrivialization F proj) (h₁ : e.toLocalEquiv = e'.toLocal
 lemma ext {e e' : Pretrivialization F proj} (h₁ : ∀ x, e x = e' x)
     (h₂ : ∀ x, e.toLocalEquiv.symm x = e'.toLocalEquiv.symm x) (h₃ : e.baseSet = e'.baseSet) :
     e = e' := by
-  ext1 <;> [ext1, exact h₃]
+  ext1 <;> [ext1; exact h₃]
   · apply h₁
   · apply h₂
   · rw [e.source_eq, e'.source_eq, h₃]
chore: forward port mathlib#17611, 18742, 18198, 18520 (#3389)

SHA-only updates:

Substantative forward port:

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

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Sébastien Gouëzel
 
 ! This file was ported from Lean 3 source module topology.fiber_bundle.trivialization
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit be2c24f56783935652cefffb4bfca7e4b25d167e
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
chore: sync Topology/FiberBundle/Trivialization.lean (#3370)

Also fix a lean3-style name in the comment.

Diff
@@ -36,13 +36,13 @@ We provide the following operations on `Trivialization`s.
 ## Implementation notes
 
 Previously, in mathlib, there was a structure `topological_vector_bundle.trivialization` which
-extended another structure `topological_fibre_bundle.trivialization` by a linearity hypothesis. As
+extended another structure `topological_fiber_bundle.trivialization` by a linearity hypothesis. As
 of PR leanprover-community/mathlib#17359, we have changed this to a single structure
-`Trivialization` (no namespace), together with a mixin class `trivialization.is_linear`.
+`Trivialization` (no namespace), together with a mixin class `Trivialization.IsLinear`.
 
-This permits all the *data* of a vector bundle to be held at the level of fibre bundles, so that the
+This permits all the *data* of a vector bundle to be held at the level of fiber bundles, so that the
 same trivializations can underlie an object's structure as (say) a vector bundle over `ℂ` and as a
-vector bundle over `ℝ`, as well as its structure simply as a fibre bundle.
+vector bundle over `ℝ`, as well as its structure simply as a fiber bundle.
 
 This might be a little surprising, given the general trend of the library to ever-increased
 bundling.  But in this case the typical motivation for more bundling does not apply: there is no
feat: port Topology.FiberBundle.Trivialization (#2707)

Dependencies 9 + 459

460 files ported (98.1%)
200995 lines ported (97.5%)
Show graph

The unported dependencies are