Theorem: Trivialization.ext'
File: Mathlib/Topology/FiberBundle/Trivialization.lean

Proof steps:
state_before: ι : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
Z : Type u_5
inst✝³ : TopologicalSpace B
inst✝² : TopologicalSpace F
proj : Z → B
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace (TotalSpace F E)
e✝ : Trivialization F proj
x : Z
e e' : Trivialization F proj
h₁ : e.toPartialHomeomorph = e'.toPartialHomeomorph
h₂ : e.baseSet = e'.baseSet
⊢ e = e'
state_after: case mk
ι : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
Z : Type u_5
inst✝³ : TopologicalSpace B
inst✝² : TopologicalSpace F
proj : Z → B
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace (TotalSpace F E)
e : Trivialization F proj
x : Z
e' : Trivialization F proj
toPartialHomeomorph✝ : PartialHomeomorph Z (B × F)
baseSet✝ : Set B
open_baseSet✝ : IsOpen baseSet✝
source_eq✝ : toPartialHomeomorph✝.source = proj ⁻¹' baseSet✝
target_eq✝ : toPartialHomeomorph✝.target = baseSet✝ ×ˢ univ
proj_toFun✝ : ∀ p ∈ toPartialHomeomorph✝.source, (↑toPartialHomeomorph✝ p).1 = proj p
h₁ :
  { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
        source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }.toPartialHomeomorph =
    e'.toPartialHomeomorph
h₂ :
  { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
        source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }.baseSet =
    e'.baseSet
⊢ { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
      source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ } =
    e'
tactic: cases e
state_before: case mk
ι : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
Z : Type u_5
inst✝³ : TopologicalSpace B
inst✝² : TopologicalSpace F
proj : Z → B
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace (TotalSpace F E)
e : Trivialization F proj
x : Z
e' : Trivialization F proj
toPartialHomeomorph✝ : PartialHomeomorph Z (B × F)
baseSet✝ : Set B
open_baseSet✝ : IsOpen baseSet✝
source_eq✝ : toPartialHomeomorph✝.source = proj ⁻¹' baseSet✝
target_eq✝ : toPartialHomeomorph✝.target = baseSet✝ ×ˢ univ
proj_toFun✝ : ∀ p ∈ toPartialHomeomorph✝.source, (↑toPartialHomeomorph✝ p).1 = proj p
h₁ :
  { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
        source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }.toPartialHomeomorph =
    e'.toPartialHomeomorph
h₂ :
  { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
        source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }.baseSet =
    e'.baseSet
⊢ { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
      source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ } =
    e'
state_after: case mk.mk
ι : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
Z : Type u_5
inst✝³ : TopologicalSpace B
inst✝² : TopologicalSpace F
proj : Z → B
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace (TotalSpace F E)
e : Trivialization F proj
x : Z
toPartialHomeomorph✝¹ : PartialHomeomorph Z (B × F)
baseSet✝¹ : Set B
open_baseSet✝¹ : IsOpen baseSet✝¹
source_eq✝¹ : toPartialHomeomorph✝¹.source = proj ⁻¹' baseSet✝¹
target_eq✝¹ : toPartialHomeomorph✝¹.target = baseSet✝¹ ×ˢ univ
proj_toFun✝¹ : ∀ p ∈ toPartialHomeomorph✝¹.source, (↑toPartialHomeomorph✝¹ p).1 = proj p
toPartialHomeomorph✝ : PartialHomeomorph Z (B × F)
baseSet✝ : Set B
open_baseSet✝ : IsOpen baseSet✝
source_eq✝ : toPartialHomeomorph✝.source = proj ⁻¹' baseSet✝
target_eq✝ : toPartialHomeomorph✝.target = baseSet✝ ×ˢ univ
proj_toFun✝ : ∀ p ∈ toPartialHomeomorph✝.source, (↑toPartialHomeomorph✝ p).1 = proj p
h₁ :
  { toPartialHomeomorph := toPartialHomeomorph✝¹, baseSet := baseSet✝¹, open_baseSet := open_baseSet✝¹,
        source_eq := source_eq✝¹, target_eq := target_eq✝¹, proj_toFun := proj_toFun✝¹ }.toPartialHomeomorph =
    { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
        source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }.toPartialHomeomorph
h₂ :
  { toPartialHomeomorph := toPartialHomeomorph✝¹, baseSet := baseSet✝¹, open_baseSet := open_baseSet✝¹,
        source_eq := source_eq✝¹, target_eq := target_eq✝¹, proj_toFun := proj_toFun✝¹ }.baseSet =
    { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
        source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }.baseSet
⊢ { toPartialHomeomorph := toPartialHomeomorph✝¹, baseSet := baseSet✝¹, open_baseSet := open_baseSet✝¹,
      source_eq := source_eq✝¹, target_eq := target_eq✝¹, proj_toFun := proj_toFun✝¹ } =
    { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
      source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }
tactic: cases e'
state_before: case mk.mk
ι : Type u_1
B : Type u_2
F : Type u_3
E : B → Type u_4
Z : Type u_5
inst✝³ : TopologicalSpace B
inst✝² : TopologicalSpace F
proj : Z → B
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace (TotalSpace F E)
e : Trivialization F proj
x : Z
toPartialHomeomorph✝¹ : PartialHomeomorph Z (B × F)
baseSet✝¹ : Set B
open_baseSet✝¹ : IsOpen baseSet✝¹
source_eq✝¹ : toPartialHomeomorph✝¹.source = proj ⁻¹' baseSet✝¹
target_eq✝¹ : toPartialHomeomorph✝¹.target = baseSet✝¹ ×ˢ univ
proj_toFun✝¹ : ∀ p ∈ toPartialHomeomorph✝¹.source, (↑toPartialHomeomorph✝¹ p).1 = proj p
toPartialHomeomorph✝ : PartialHomeomorph Z (B × F)
baseSet✝ : Set B
open_baseSet✝ : IsOpen baseSet✝
source_eq✝ : toPartialHomeomorph✝.source = proj ⁻¹' baseSet✝
target_eq✝ : toPartialHomeomorph✝.target = baseSet✝ ×ˢ univ
proj_toFun✝ : ∀ p ∈ toPartialHomeomorph✝.source, (↑toPartialHomeomorph✝ p).1 = proj p
h₁ :
  { toPartialHomeomorph := toPartialHomeomorph✝¹, baseSet := baseSet✝¹, open_baseSet := open_baseSet✝¹,
        source_eq := source_eq✝¹, target_eq := target_eq✝¹, proj_toFun := proj_toFun✝¹ }.toPartialHomeomorph =
    { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
        source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }.toPartialHomeomorph
h₂ :
  { toPartialHomeomorph := toPartialHomeomorph✝¹, baseSet := baseSet✝¹, open_baseSet := open_baseSet✝¹,
        source_eq := source_eq✝¹, target_eq := target_eq✝¹, proj_toFun := proj_toFun✝¹ }.baseSet =
    { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
        source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }.baseSet
⊢ { toPartialHomeomorph := toPartialHomeomorph✝¹, baseSet := baseSet✝¹, open_baseSet := open_baseSet✝¹,
      source_eq := source_eq✝¹, target_eq := target_eq✝¹, proj_toFun := proj_toFun✝¹ } =
    { toPartialHomeomorph := toPartialHomeomorph✝, baseSet := baseSet✝, open_baseSet := open_baseSet✝,
      source_eq := source_eq✝, target_eq := target_eq✝, proj_toFun := proj_toFun✝ }
state_after: no goals
tactic: congr