Theorem: Trivialization.smoothOn_symm
File: Mathlib/Geometry/Manifold/VectorBundle/Basic.lean

Proof steps:
state_before: 𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
⊢ SmoothOn (IB.prod 𝓘(𝕜, F)) (IB.prod 𝓘(𝕜, F)) (↑e.symm) e.target
state_after: 𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
⊢ SmoothOn (IB.prod 𝓘(𝕜, F)) IB (fun x => (↑e.symm x).proj) e.target ∧
    SmoothOn (IB.prod 𝓘(𝕜, F)) 𝓘(𝕜, F) (fun x => (↑e (↑e.symm x)).2) e.target
tactic: rw [e.smoothOn_iff IB e.toPartialHomeomorph.symm_mapsTo]
state_before: 𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
⊢ SmoothOn (IB.prod 𝓘(𝕜, F)) IB (fun x => (↑e.symm x).proj) e.target ∧
    SmoothOn (IB.prod 𝓘(𝕜, F)) 𝓘(𝕜, F) (fun x => (↑e (↑e.symm x)).2) e.target
state_after: 𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
x : B × F
hx : x ∈ e.target
⊢ (↑e (↑e.symm x)).2 = x.2
tactic: refine ⟨smoothOn_fst.congr fun x hx ↦ e.proj_symm_apply hx, smoothOn_snd.congr fun x hx ↦ ?_⟩
state_before: 𝕜 : Type u_1
B : Type u_2
B' : Type u_3
F : Type u_4
M : Type u_5
E : B → Type u_6
inst✝²³ : NontriviallyNormedField 𝕜
EB : Type u_7
inst✝²² : NormedAddCommGroup EB
inst✝²¹ : NormedSpace 𝕜 EB
HB : Type u_8
inst✝²⁰ : TopologicalSpace HB
IB : ModelWithCorners 𝕜 EB HB
inst✝¹⁹ : TopologicalSpace B
inst✝¹⁸ : ChartedSpace HB B
inst✝¹⁷ : SmoothManifoldWithCorners IB B
EM : Type u_9
inst✝¹⁶ : NormedAddCommGroup EM
inst✝¹⁵ : NormedSpace 𝕜 EM
HM : Type u_10
inst✝¹⁴ : TopologicalSpace HM
IM : ModelWithCorners 𝕜 EM HM
inst✝¹³ : TopologicalSpace M
inst✝¹² : ChartedSpace HM M
Is : SmoothManifoldWithCorners IM M
n : ℕ∞
inst✝¹¹ : (x : B) → AddCommMonoid (E x)
inst✝¹⁰ : (x : B) → Module 𝕜 (E x)
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
inst✝⁷ : TopologicalSpace (TotalSpace F E)
inst✝⁶ : (x : B) → TopologicalSpace (E x)
inst✝⁵ : FiberBundle F E
inst✝⁴ : VectorBundle 𝕜 F E
inst✝³ : SmoothVectorBundle F E IB
e✝ e' : Trivialization F TotalSpace.proj
inst✝² : MemTrivializationAtlas e✝
inst✝¹ : MemTrivializationAtlas e'
e : Trivialization F TotalSpace.proj
inst✝ : MemTrivializationAtlas e
x : B × F
hx : x ∈ e.target
⊢ (↑e (↑e.symm x)).2 = x.2
state_after: no goals
tactic: rw [e.apply_symm_apply hx]