awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
s : (x : (↑e.source : Type (max u_2 u_3))) → Set (B × F)
hs : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[instTopologicalSpaceProd] (s x)
hsp : ∀ (x : (↑e.source : Type (max u_2 u_3))), (↑x : B × F) ∈ s x
φ : (x : (↑e.source : Type (max u_2 u_3))) → B → F ≃L[𝕜] F
u : (x : (↑e.source : Type (max u_2 u_3))) → Set B
hu : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[inst] (u x)
hφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1) : F →L[𝕜] F)) (u x)
h2φ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1).symm : F →L[𝕜] F)) (u x)
heφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    (e.restr (s x)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u x) (φ x) ⋯ ⋯ ⋯)
hesu : ∀ (p : (↑e.source : Type (max u_2 u_3))), e.source ∩ s p = SProd.sprod (β := Set F) (u p) univ
hu' : ∀ (p : (↑e.source : Type (max u_2 u_3))), (↑p : B × F).1 ∈ u p
heu : ∀ (p : (↑e.source : Type (max u_2 u_3))) (q : B × F), q.1 ∈ u p → q ∈ e.source
he : e.source = SProd.sprod (β := Set F) (Prod.fst '' e.source) univ
⊢ ∃ (U : Set B),
    e.source = SProd.sprod (β := Set F) U univ ∧
      ∀ x ∈ U,
        ∃ (φ : B → F ≃L[𝕜] F) (u : Set B) (hu : IsOpen[inst] u) (_ : u ⊆ U) (_ : x ∈ u) (hφ :
          ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
            (fun (x : B) ↦ (↑(φ x) : F →L[𝕜] F)) u)
          (h2φ :
          ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
            (fun (x : B) ↦ (↑(φ x).symm : F →L[𝕜] F)) u),
          (e.restr (SProd.sprod (β := Set F) u univ)).EqOnSource
            (FiberwiseLinear.openPartialHomeomorph (U := u) φ hu ⋯ ⋯)

Tactic:
⟨Prod.fst '' e.source, he, ?_⟩

Premises used: Prod.fst, And.intro, Exists.intro, PartialEquiv.source, Set.image, OpenPartialHomeomorph.toPartialEquiv
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
s : (x : (↑e.source : Type (max u_2 u_3))) → Set (B × F)
hs : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[instTopologicalSpaceProd] (s x)
hsp : ∀ (x : (↑e.source : Type (max u_2 u_3))), (↑x : B × F) ∈ s x
φ : (x : (↑e.source : Type (max u_2 u_3))) → B → F ≃L[𝕜] F
u : (x : (↑e.source : Type (max u_2 u_3))) → Set B
hu : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[inst] (u x)
hφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1) : F →L[𝕜] F)) (u x)
h2φ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1).symm : F →L[𝕜] F)) (u x)
heφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    (e.restr (s x)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u x) (φ x) ⋯ ⋯ ⋯)
hesu : ∀ (p : (↑e.source : Type (max u_2 u_3))), e.source ∩ s p = SProd.sprod (β := Set F) (u p) univ
hu' : ∀ (p : (↑e.source : Type (max u_2 u_3))), (↑p : B × F).1 ∈ u p
heu : ∀ (p : (↑e.source : Type (max u_2 u_3))) (q : B × F), q.1 ∈ u p → q ∈ e.source
he : e.source = SProd.sprod (β := Set F) (Prod.fst '' e.source) univ
refine :
  ∀ x ∈ Prod.fst '' e.source,
    ∃ (φ : B → F ≃L[𝕜] F) (u : Set B) (hu : IsOpen[inst] u) (_ : u ⊆ Prod.fst '' e.source) (_ : x ∈ u) (hφ :
      ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
        (fun (x : B) ↦ (↑(φ x) : F →L[𝕜] F)) u)
      (h2φ :
      ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
        (fun (x : B) ↦ (↑(φ x).symm : F →L[𝕜] F)) u),
      (e.restr (SProd.sprod (β := Set F) u univ)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u) φ hu ⋯ ⋯)
⊢ ∃ (U : Set B),
    e.source = SProd.sprod (β := Set F) U univ ∧
      ∀ x ∈ U,
        ∃ (φ : B → F ≃L[𝕜] F) (u : Set B) (hu : IsOpen[inst] u) (_ : u ⊆ U) (_ : x ∈ u) (hφ :
          ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
            (fun (x : B) ↦ (↑(φ x) : F →L[𝕜] F)) u)
          (h2φ :
          ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
            (fun (x : B) ↦ (↑(φ x).symm : F →L[𝕜] F)) u),
          (e.restr (SProd.sprod (β := Set F) u univ)).EqOnSource
            (FiberwiseLinear.openPartialHomeomorph (U := u) φ hu ⋯ ⋯)

Tactic:
refine ⟨Prod.fst '' e.source, he, ?_⟩
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
s : (x : (↑e.source : Type (max u_2 u_3))) → Set (B × F)
hs : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[instTopologicalSpaceProd] (s x)
hsp : ∀ (x : (↑e.source : Type (max u_2 u_3))), (↑x : B × F) ∈ s x
φ : (x : (↑e.source : Type (max u_2 u_3))) → B → F ≃L[𝕜] F
u : (x : (↑e.source : Type (max u_2 u_3))) → Set B
hu : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[inst] (u x)
hφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1) : F →L[𝕜] F)) (u x)
h2φ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1).symm : F →L[𝕜] F)) (u x)
heφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    (e.restr (s x)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u x) (φ x) ⋯ ⋯ ⋯)
hesu : ∀ (p : (↑e.source : Type (max u_2 u_3))), e.source ∩ s p = SProd.sprod (β := Set F) (u p) univ
hu' : ∀ (p : (↑e.source : Type (max u_2 u_3))), (↑p : B × F).1 ∈ u p
heu : ∀ (p : (↑e.source : Type (max u_2 u_3))) (q : B × F), q.1 ∈ u p → q ∈ e.source
he : e.source = SProd.sprod (β := Set F) (Prod.fst '' e.source) univ
p : B × F
hp : p ∈ e.source
⊢ ∃ (φ : B → F ≃L[𝕜] F) (u : Set B) (hu : IsOpen[inst] u) (_ : u ⊆ Prod.fst '' e.source) (_ : p.1 ∈ u) (hφ :
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x : B) ↦ (↑(φ x) : F →L[𝕜] F)) u)
    (h2φ :
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x : B) ↦ (↑(φ x).symm : F →L[𝕜] F)) u),
    (e.restr (SProd.sprod (β := Set F) u univ)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u) φ hu ⋯ ⋯)

Tactic:
⟨φ ⟨p, hp⟩, u ⟨p, hp⟩, hu ⟨p, hp⟩, ?_, hu' _, hφ ⟨p, hp⟩, h2φ ⟨p, hp⟩, ?_⟩

Premises used: Subtype.mk, Exists.intro
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
s : (x : (↑e.source : Type (max u_2 u_3))) → Set (B × F)
hs : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[instTopologicalSpaceProd] (s x)
hsp : ∀ (x : (↑e.source : Type (max u_2 u_3))), (↑x : B × F) ∈ s x
φ : (x : (↑e.source : Type (max u_2 u_3))) → B → F ≃L[𝕜] F
u : (x : (↑e.source : Type (max u_2 u_3))) → Set B
hu : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[inst] (u x)
hφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1) : F →L[𝕜] F)) (u x)
h2φ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1).symm : F →L[𝕜] F)) (u x)
heφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    (e.restr (s x)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u x) (φ x) ⋯ ⋯ ⋯)
hesu : ∀ (p : (↑e.source : Type (max u_2 u_3))), e.source ∩ s p = SProd.sprod (β := Set F) (u p) univ
hu' : ∀ (p : (↑e.source : Type (max u_2 u_3))), (↑p : B × F).1 ∈ u p
heu : ∀ (p : (↑e.source : Type (max u_2 u_3))) (q : B × F), q.1 ∈ u p → q ∈ e.source
he : e.source = SProd.sprod (β := Set F) (Prod.fst '' e.source) univ
p : B × F
hp : p ∈ e.source
refine_1 : u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp) ⊆ Prod.fst '' e.source
refine_2 :
  (e.restr (SProd.sprod (β := Set F) (u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp)) univ)).EqOnSource
    (FiberwiseLinear.openPartialHomeomorph (U := u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp))
      (φ (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp)) ⋯ ⋯ ⋯)
⊢ ∃ (φ : B → F ≃L[𝕜] F) (u : Set B) (hu : IsOpen[inst] u) (_ : u ⊆ Prod.fst '' e.source) (_ : p.1 ∈ u) (hφ :
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x : B) ↦ (↑(φ x) : F →L[𝕜] F)) u)
    (h2φ :
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x : B) ↦ (↑(φ x).symm : F →L[𝕜] F)) u),
    (e.restr (SProd.sprod (β := Set F) u univ)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u) φ hu ⋯ ⋯)

Tactic:
refine ⟨φ ⟨p, hp⟩, u ⟨p, hp⟩, hu ⟨p, hp⟩, ?_, hu' _, hφ ⟨p, hp⟩, h2φ ⟨p, hp⟩, ?_⟩
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
s : (x : (↑e.source : Type (max u_2 u_3))) → Set (B × F)
hs : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[instTopologicalSpaceProd] (s x)
hsp : ∀ (x : (↑e.source : Type (max u_2 u_3))), (↑x : B × F) ∈ s x
φ : (x : (↑e.source : Type (max u_2 u_3))) → B → F ≃L[𝕜] F
u : (x : (↑e.source : Type (max u_2 u_3))) → Set B
hu : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[inst] (u x)
hφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1) : F →L[𝕜] F)) (u x)
h2φ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1).symm : F →L[𝕜] F)) (u x)
heφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    (e.restr (s x)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u x) (φ x) ⋯ ⋯ ⋯)
hesu : ∀ (p : (↑e.source : Type (max u_2 u_3))), e.source ∩ s p = SProd.sprod (β := Set F) (u p) univ
hu' : ∀ (p : (↑e.source : Type (max u_2 u_3))), (↑p : B × F).1 ∈ u p
heu : ∀ (p : (↑e.source : Type (max u_2 u_3))) (q : B × F), q.1 ∈ u p → q ∈ e.source
he : e.source = SProd.sprod (β := Set F) (Prod.fst '' e.source) univ
p : B × F
hp : p ∈ e.source
y : B
hy : y ∈ u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp)
⊢ y ∈ Prod.fst '' e.source

Tactic:
⟨(y, 0), heu ⟨p, hp⟩ ⟨_, _⟩ hy, rfl⟩

Premises used: Set.Mem, setOf, Prod.mk, Subtype.mk, And.intro, Exists.intro, Set.image, OfNat.ofNat, rfl
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
s : (x : (↑e.source : Type (max u_2 u_3))) → Set (B × F)
hs : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[instTopologicalSpaceProd] (s x)
hsp : ∀ (x : (↑e.source : Type (max u_2 u_3))), (↑x : B × F) ∈ s x
φ : (x : (↑e.source : Type (max u_2 u_3))) → B → F ≃L[𝕜] F
u : (x : (↑e.source : Type (max u_2 u_3))) → Set B
hu : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[inst] (u x)
hφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1) : F →L[𝕜] F)) (u x)
h2φ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1).symm : F →L[𝕜] F)) (u x)
heφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    (e.restr (s x)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u x) (φ x) ⋯ ⋯ ⋯)
hesu : ∀ (p : (↑e.source : Type (max u_2 u_3))), e.source ∩ s p = SProd.sprod (β := Set F) (u p) univ
hu' : ∀ (p : (↑e.source : Type (max u_2 u_3))), (↑p : B × F).1 ∈ u p
heu : ∀ (p : (↑e.source : Type (max u_2 u_3))) (q : B × F), q.1 ∈ u p → q ∈ e.source
he : e.source = SProd.sprod (β := Set F) (Prod.fst '' e.source) univ
p : B × F
hp : p ∈ e.source
y : B
hy : y ∈ u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp)
⊢ y ∈ Prod.fst '' e.source

Tactic:
exact ⟨(y, 0), heu ⟨p, hp⟩ ⟨_, _⟩ hy, rfl⟩
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
s : (x : (↑e.source : Type (max u_2 u_3))) → Set (B × F)
hs : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[instTopologicalSpaceProd] (s x)
hsp : ∀ (x : (↑e.source : Type (max u_2 u_3))), (↑x : B × F) ∈ s x
φ : (x : (↑e.source : Type (max u_2 u_3))) → B → F ≃L[𝕜] F
u : (x : (↑e.source : Type (max u_2 u_3))) → Set B
hu : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[inst] (u x)
hφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1) : F →L[𝕜] F)) (u x)
h2φ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1).symm : F →L[𝕜] F)) (u x)
heφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    (e.restr (s x)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u x) (φ x) ⋯ ⋯ ⋯)
hesu : ∀ (p : (↑e.source : Type (max u_2 u_3))), e.source ∩ s p = SProd.sprod (β := Set F) (u p) univ
hu' : ∀ (p : (↑e.source : Type (max u_2 u_3))), (↑p : B × F).1 ∈ u p
heu : ∀ (p : (↑e.source : Type (max u_2 u_3))) (q : B × F), q.1 ∈ u p → q ∈ e.source
he : e.source = SProd.sprod (β := Set F) (Prod.fst '' e.source) univ
p : B × F
hp : p ∈ e.source
refine_2 :
  (e.restr (s (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp))).EqOnSource
    (FiberwiseLinear.openPartialHomeomorph (U := u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp))
      (φ (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp)) ⋯ ⋯ ⋯)
⊢ (e.restr (SProd.sprod (β := Set F) (u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp)) univ)).EqOnSource
    (FiberwiseLinear.openPartialHomeomorph (U := u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp))
      (φ (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp)) ⋯ ⋯ ⋯)

Tactic:
rw [← hesu, e.restr_source_inter]

Premises used: OpenPartialHomeomorph.restr_source_inter
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
s : (x : (↑e.source : Type (max u_2 u_3))) → Set (B × F)
hs : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[instTopologicalSpaceProd] (s x)
hsp : ∀ (x : (↑e.source : Type (max u_2 u_3))), (↑x : B × F) ∈ s x
φ : (x : (↑e.source : Type (max u_2 u_3))) → B → F ≃L[𝕜] F
u : (x : (↑e.source : Type (max u_2 u_3))) → Set B
hu : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[inst] (u x)
hφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1) : F →L[𝕜] F)) (u x)
h2φ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1).symm : F →L[𝕜] F)) (u x)
heφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    (e.restr (s x)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u x) (φ x) ⋯ ⋯ ⋯)
hesu : ∀ (p : (↑e.source : Type (max u_2 u_3))), e.source ∩ s p = SProd.sprod (β := Set F) (u p) univ
hu' : ∀ (p : (↑e.source : Type (max u_2 u_3))), (↑p : B × F).1 ∈ u p
heu : ∀ (p : (↑e.source : Type (max u_2 u_3))) (q : B × F), q.1 ∈ u p → q ∈ e.source
he : e.source = SProd.sprod (β := Set F) (Prod.fst '' e.source) univ
p : B × F
hp : p ∈ e.source
⊢ (e.restr (s (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp))).EqOnSource
    (FiberwiseLinear.openPartialHomeomorph (U := u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp))
      (φ (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp)) ⋯ ⋯ ⋯)

Tactic:
heφ ⟨p, hp⟩

Premises used: Subtype.mk
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
s : (x : (↑e.source : Type (max u_2 u_3))) → Set (B × F)
hs : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[instTopologicalSpaceProd] (s x)
hsp : ∀ (x : (↑e.source : Type (max u_2 u_3))), (↑x : B × F) ∈ s x
φ : (x : (↑e.source : Type (max u_2 u_3))) → B → F ≃L[𝕜] F
u : (x : (↑e.source : Type (max u_2 u_3))) → Set B
hu : ∀ (x : (↑e.source : Type (max u_2 u_3))), IsOpen[inst] (u x)
hφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1) : F →L[𝕜] F)) (u x)
h2φ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
      (fun (x_1 : B) ↦ (↑(φ x x_1).symm : F →L[𝕜] F)) (u x)
heφ :
  ∀ (x : (↑e.source : Type (max u_2 u_3))),
    (e.restr (s x)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u x) (φ x) ⋯ ⋯ ⋯)
hesu : ∀ (p : (↑e.source : Type (max u_2 u_3))), e.source ∩ s p = SProd.sprod (β := Set F) (u p) univ
hu' : ∀ (p : (↑e.source : Type (max u_2 u_3))), (↑p : B × F).1 ∈ u p
heu : ∀ (p : (↑e.source : Type (max u_2 u_3))) (q : B × F), q.1 ∈ u p → q ∈ e.source
he : e.source = SProd.sprod (β := Set F) (Prod.fst '' e.source) univ
p : B × F
hp : p ∈ e.source
⊢ (e.restr (s (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp))).EqOnSource
    (FiberwiseLinear.openPartialHomeomorph (U := u (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp))
      (φ (Subtype.mk (p := fun (x : B × F) ↦ x ∈ e.source) p hp)) ⋯ ⋯ ⋯)

Tactic:
exact heφ ⟨p, hp⟩

Premises used: Subtype.mk
-- Module: Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear
Goal:
𝕜 : Type u_1
B : Type u_2
F : Type u_3
inst : TopologicalSpace B
inst_1 : NontriviallyNormedField 𝕜
inst_2 : NormedAddCommGroup F
inst_3 : NormedSpace 𝕜 F
EB : Type u_4
inst_4 : NormedAddCommGroup EB
inst_5 : NormedSpace 𝕜 EB
HB : Type u_5
inst_6 : TopologicalSpace HB
inst_7 : ChartedSpace HB B
IB : ModelWithCorners 𝕜 EB HB
n : ℕ∞ω
e : OpenPartialHomeomorph (B × F) (B × F)
U : Set B
hU : e.source = SProd.sprod (β := Set F) U univ
h :
  ∀ x ∈ U,
    ∃ (φ : B → F ≃L[𝕜] F) (u : Set B) (hu : IsOpen[inst] u) (_ : u ⊆ U) (_ : x ∈ u) (hφ :
      ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
        (fun (x : B) ↦ (↑(φ x) : F →L[𝕜] F)) u)
      (h2φ :
      ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
        (fun (x : B) ↦ (↑(φ x).symm : F →L[𝕜] F)) u),
      (e.restr (SProd.sprod (β := Set F) u univ)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u) φ hu ⋯ ⋯)
⊢ ∀ (x : (↑U : Type u_2)),
    ∃ (φ : B → F ≃L[𝕜] F) (u : Set B) (hu : IsOpen[inst] u) (_ : u ⊆ U) (_ : (↑x : B) ∈ u) (hφ :
      ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
        (fun (x : B) ↦ (↑(φ x) : F →L[𝕜] F)) u)
      (h2φ :
      ContMDiffOn.{u_1, u_4, u_5, u_2, u_3, u_3, u_3} IB (E' := F →L[𝕜] F) 𝓘(𝕜, F →L[𝕜] F) (M' := F →L[𝕜] F) n
        (fun (x : B) ↦ (↑(φ x).symm : F →L[𝕜] F)) u),
      (e.restr (SProd.sprod (β := Set F) u univ)).EqOnSource (FiberwiseLinear.openPartialHomeomorph (U := u) φ hu ⋯ ⋯)

Tactic:
rw [SetCoe.forall'] at h

Premises used: SetCoe.forall'