Theorem: VectorPrebundle.to_vectorBundle
File: Mathlib/Topology/VectorBundle/Basic.lean

tactic: rintro _ ⟨e, he, rfl⟩
state_before: R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
⊢ ∀ (e : Trivialization F TotalSpace.proj) [inst : MemTrivializationAtlas e], Trivialization.IsLinear R e

tactic: apply linear_trivializationOfMemPretrivializationAtlas
state_before: case mk.intro.intro
R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
⊢ Trivialization.IsLinear R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)

tactic: rintro _ _ ⟨e, he, rfl⟩ ⟨e', he', rfl⟩
state_before: R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
⊢ ∀ (e e' : Trivialization F TotalSpace.proj) [inst : MemTrivializationAtlas e] [inst_1 : MemTrivializationAtlas e'],
    ContinuousOn (fun b => ↑(Trivialization.coordChangeL R e e' b)) (e.baseSet ∩ e'.baseSet)

tactic: refine (a.continuousOn_coordChange he he').congr fun b hb ↦ ?_
state_before: case mk.intro.intro.mk.intro.intro
R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
⊢ ContinuousOn
    (fun b =>
      ↑(Trivialization.coordChangeL R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
          (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') b))
    ((FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he).baseSet ∩
      (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he').baseSet)

tactic: ext v
state_before: case mk.intro.intro.mk.intro.intro
R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
⊢ ↑(Trivialization.coordChangeL R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
        (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') b) =
    coordChange a he he' b

tactic: haveI h₁ := a.linear_trivializationOfMemPretrivializationAtlas he
state_before: case mk.intro.intro.mk.intro.intro.h
R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
⊢ ↑↑(Trivialization.coordChangeL R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
            (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') b)
      v =
    ↑(coordChange a he he' b) v

tactic: haveI h₂ := a.linear_trivializationOfMemPretrivializationAtlas he'
state_before: case mk.intro.intro.mk.intro.intro.h
R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
h₁ : Trivialization.IsLinear R (trivializationOfMemPretrivializationAtlas a he)
⊢ ↑↑(Trivialization.coordChangeL R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
            (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') b)
      v =
    ↑(coordChange a he he' b) v

tactic: rw [trivializationOfMemPretrivializationAtlas] at h₁ h₂
state_before: case mk.intro.intro.mk.intro.intro.h
R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
h₁ : Trivialization.IsLinear R (trivializationOfMemPretrivializationAtlas a he)
h₂ : Trivialization.IsLinear R (trivializationOfMemPretrivializationAtlas a he')
⊢ ↑↑(Trivialization.coordChangeL R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
            (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') b)
      v =
    ↑(coordChange a he he' b) v

tactic: rw [a.coordChange_apply he he' hb v, ContinuousLinearEquiv.coe_coe,
  Trivialization.coordChangeL_apply]
state_before: case mk.intro.intro.mk.intro.intro.h
R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
h₁ : Trivialization.IsLinear R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
h₂ : Trivialization.IsLinear R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he')
⊢ ↑↑(Trivialization.coordChangeL R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
            (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he') b)
      v =
    ↑(coordChange a he he' b) v

tactic: exacts [rfl, hb]
state_before: case mk.intro.intro.mk.intro.intro.h
R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
h₁ : Trivialization.IsLinear R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
h₂ : Trivialization.IsLinear R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he')
⊢ (↑(FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he')
        (totalSpaceMk b
          (Trivialization.symm (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he) b
            v))).snd =
    (↑e' (totalSpaceMk b (Pretrivialization.symm e b v))).snd

case mk.intro.intro.mk.intro.intro.h.hb
R : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
inst✝⁶ : NontriviallyNormedField R
inst✝⁵ : (x : B) → AddCommMonoid (E x)
inst✝⁴ : (x : B) → Module R (E x)
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace R F
inst✝¹ : TopologicalSpace B
inst✝ : (x : B) → TopologicalSpace (E x)
a : VectorPrebundle R F E
this✝ : TopologicalSpace (TotalSpace E) := totalSpaceTopology a
this : FiberBundle F E := toFiberBundle a
e : Pretrivialization F TotalSpace.proj
he : e ∈ (toFiberPrebundle a).pretrivializationAtlas
e' : Pretrivialization F TotalSpace.proj
he' : e' ∈ (toFiberPrebundle a).pretrivializationAtlas
b : B
hb : b ∈ e.baseSet ∩ e'.baseSet
v : F
h₁ : Trivialization.IsLinear R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he)
h₂ : Trivialization.IsLinear R (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he')
⊢ b ∈
    (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he).baseSet ∩
      (FiberPrebundle.trivializationOfMemPretrivializationAtlas (toFiberPrebundle a) he').baseSet