Theorem: Trivialization.continuousOn_symm
File: Mathlib/Topology/FiberBundle/Trivialization.lean

tactic: have : ∀ z ∈ e.baseSet ×ˢ (univ : Set F),
    totalSpaceMk 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]
state_before: ι : Type ?u.50161
B : Type u_1
F : Type u_2
E : B → Type u_3
Z : Type ?u.50175
inst✝⁴ : TopologicalSpace B
inst✝³ : TopologicalSpace F
proj : Z → B
inst✝² : TopologicalSpace Z
inst✝¹ : TopologicalSpace (TotalSpace E)
e✝ : Trivialization F proj
x : Z
e' : Trivialization F TotalSpace.proj
x' : TotalSpace E
b : B
y : E b
inst✝ : (x : B) → Zero (E x)
e : Trivialization F TotalSpace.proj
⊢ ContinuousOn (fun z => totalSpaceMk z.fst (Trivialization.symm e z.fst z.snd)) (e.baseSet ×ˢ univ)

tactic: refine' ContinuousOn.congr _ this
state_before: ι : Type ?u.50161
B : Type u_1
F : Type u_2
E : B → Type u_3
Z : Type ?u.50175
inst✝⁴ : TopologicalSpace B
inst✝³ : TopologicalSpace F
proj : Z → B
inst✝² : TopologicalSpace Z
inst✝¹ : TopologicalSpace (TotalSpace E)
e✝ : Trivialization F proj
x : Z
e' : Trivialization F TotalSpace.proj
x' : TotalSpace E
b : B
y : E b
inst✝ : (x : B) → Zero (E x)
e : Trivialization F TotalSpace.proj
this :
  ∀ (z : B × F),
    z ∈ e.baseSet ×ˢ univ →
      totalSpaceMk z.fst (Trivialization.symm e z.fst z.snd) = ↑(LocalHomeomorph.symm e.toLocalHomeomorph) z
⊢ ContinuousOn (fun z => totalSpaceMk z.fst (Trivialization.symm e z.fst z.snd)) (e.baseSet ×ˢ univ)

tactic: rw [← e.target_eq]
state_before: ι : Type ?u.50161
B : Type u_1
F : Type u_2
E : B → Type u_3
Z : Type ?u.50175
inst✝⁴ : TopologicalSpace B
inst✝³ : TopologicalSpace F
proj : Z → B
inst✝² : TopologicalSpace Z
inst✝¹ : TopologicalSpace (TotalSpace E)
e✝ : Trivialization F proj
x : Z
e' : Trivialization F TotalSpace.proj
x' : TotalSpace E
b : B
y : E b
inst✝ : (x : B) → Zero (E x)
e : Trivialization F TotalSpace.proj
this :
  ∀ (z : B × F),
    z ∈ e.baseSet ×ˢ univ →
      totalSpaceMk z.fst (Trivialization.symm e z.fst z.snd) = ↑(LocalHomeomorph.symm e.toLocalHomeomorph) z
⊢ ContinuousOn (fun x => ↑(LocalHomeomorph.symm e.toLocalHomeomorph) x) (e.baseSet ×ˢ univ)

tactic: exact e.toLocalHomeomorph.continuousOn_symm
state_before: ι : Type ?u.50161
B : Type u_1
F : Type u_2
E : B → Type u_3
Z : Type ?u.50175
inst✝⁴ : TopologicalSpace B
inst✝³ : TopologicalSpace F
proj : Z → B
inst✝² : TopologicalSpace Z
inst✝¹ : TopologicalSpace (TotalSpace E)
e✝ : Trivialization F proj
x : Z
e' : Trivialization F TotalSpace.proj
x' : TotalSpace E
b : B
y : E b
inst✝ : (x : B) → Zero (E x)
e : Trivialization F TotalSpace.proj
this :
  ∀ (z : B × F),
    z ∈ e.baseSet ×ˢ univ →
      totalSpaceMk z.fst (Trivialization.symm e z.fst z.snd) = ↑(LocalHomeomorph.symm e.toLocalHomeomorph) z
⊢ ContinuousOn (fun x => ↑(LocalHomeomorph.symm e.toLocalHomeomorph) x) e.target

tactic: rintro x ⟨hx : x.1 ∈ e.baseSet, _⟩
state_before: ι : Type ?u.50161
B : Type u_1
F : Type u_2
E : B → Type u_3
Z : Type ?u.50175
inst✝⁴ : TopologicalSpace B
inst✝³ : TopologicalSpace F
proj : Z → B
inst✝² : TopologicalSpace Z
inst✝¹ : TopologicalSpace (TotalSpace E)
e✝ : Trivialization F proj
x : Z
e' : Trivialization F TotalSpace.proj
x' : TotalSpace E
b : B
y : E b
inst✝ : (x : B) → Zero (E x)
e : Trivialization F TotalSpace.proj
⊢ ∀ (z : B × F),
    z ∈ e.baseSet ×ˢ univ →
      totalSpaceMk z.fst (Trivialization.symm e z.fst z.snd) = ↑(LocalHomeomorph.symm e.toLocalHomeomorph) z

tactic: rw [e.mk_symm hx]
state_before: case intro
ι : Type ?u.50161
B : Type u_1
F : Type u_2
E : B → Type u_3
Z : Type ?u.50175
inst✝⁴ : TopologicalSpace B
inst✝³ : TopologicalSpace F
proj : Z → B
inst✝² : TopologicalSpace Z
inst✝¹ : TopologicalSpace (TotalSpace E)
e✝ : Trivialization F proj
x✝ : Z
e' : Trivialization F TotalSpace.proj
x' : TotalSpace E
b : B
y : E b
inst✝ : (x : B) → Zero (E x)
e : Trivialization F TotalSpace.proj
x : B × F
hx : x.fst ∈ e.baseSet
right✝ : x.snd ∈ univ
⊢ totalSpaceMk x.fst (Trivialization.symm e x.fst x.snd) = ↑(LocalHomeomorph.symm e.toLocalHomeomorph) x