Theorem: SimpleGraph.Iso.mapEdgeSet_symm_apply
File: Mathlib/Combinatorics/SimpleGraph/Maps.lean

Proof steps:
state_before: V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
⊢ LeftInverse (Hom.mapEdgeSet (RelIso.toRelEmbedding f.symm).toRelHom)
    (Hom.mapEdgeSet (RelIso.toRelEmbedding f).toRelHom)
state_after: case mk
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 V
h : e ∈ G.edgeSet
⊢ Hom.mapEdgeSet (RelIso.toRelEmbedding f.symm).toRelHom (Hom.mapEdgeSet (RelIso.toRelEmbedding f).toRelHom ⟨e, h⟩) =
    ⟨e, h⟩
tactic: rintro ⟨e, h⟩
state_before: case mk
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 V
h : e ∈ G.edgeSet
⊢ Hom.mapEdgeSet (RelIso.toRelEmbedding f.symm).toRelHom (Hom.mapEdgeSet (RelIso.toRelEmbedding f).toRelHom ⟨e, h⟩) =
    ⟨e, h⟩
state_after: case mk
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 V
h : e ∈ G.edgeSet
⊢ Sym2.map (fun x => { toFun := ⇑f.symm, map_rel' := ⋯ } ({ toFun := ⇑f, map_rel' := ⋯ } x)) e = e
tactic: simp only [Hom.mapEdgeSet, RelEmbedding.toRelHom, Embedding.toFun_eq_coe,
      RelEmbedding.coe_toEmbedding, RelIso.coe_toRelEmbedding, Sym2.map_map, comp_apply,
      Subtype.mk.injEq]
state_before: case mk
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 V
h : e ∈ G.edgeSet
⊢ Sym2.map (fun x => { toFun := ⇑f.symm, map_rel' := ⋯ } ({ toFun := ⇑f, map_rel' := ⋯ } x)) e = e
state_after: case h.e'_2.h
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 V
h : e ∈ G.edgeSet
x✝ : V
a✝ : x✝ ∈ e
⊢ { toFun := ⇑f.symm, map_rel' := ⋯ } ({ toFun := ⇑f, map_rel' := ⋯ } x✝) = id x✝
tactic: convert congr_fun Sym2.map_id e
state_before: case h.e'_2.h
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 V
h : e ∈ G.edgeSet
x✝ : V
a✝ : x✝ ∈ e
⊢ { toFun := ⇑f.symm, map_rel' := ⋯ } ({ toFun := ⇑f, map_rel' := ⋯ } x✝) = id x✝
state_after: no goals
tactic: exact RelIso.symm_apply_apply _ _
state_before: V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
⊢ Function.RightInverse (Hom.mapEdgeSet (RelIso.toRelEmbedding f.symm).toRelHom)
    (Hom.mapEdgeSet (RelIso.toRelEmbedding f).toRelHom)
state_after: case mk
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 W
h : e ∈ G'.edgeSet
⊢ Hom.mapEdgeSet (RelIso.toRelEmbedding f).toRelHom (Hom.mapEdgeSet (RelIso.toRelEmbedding f.symm).toRelHom ⟨e, h⟩) =
    ⟨e, h⟩
tactic: rintro ⟨e, h⟩
state_before: case mk
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 W
h : e ∈ G'.edgeSet
⊢ Hom.mapEdgeSet (RelIso.toRelEmbedding f).toRelHom (Hom.mapEdgeSet (RelIso.toRelEmbedding f.symm).toRelHom ⟨e, h⟩) =
    ⟨e, h⟩
state_after: case mk
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 W
h : e ∈ G'.edgeSet
⊢ Sym2.map (fun x => { toFun := ⇑f, map_rel' := ⋯ } ({ toFun := ⇑f.symm, map_rel' := ⋯ } x)) e = e
tactic: simp only [Hom.mapEdgeSet, RelEmbedding.toRelHom, Embedding.toFun_eq_coe,
      RelEmbedding.coe_toEmbedding, RelIso.coe_toRelEmbedding, Sym2.map_map, comp_apply,
      Subtype.mk.injEq]
state_before: case mk
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 W
h : e ∈ G'.edgeSet
⊢ Sym2.map (fun x => { toFun := ⇑f, map_rel' := ⋯ } ({ toFun := ⇑f.symm, map_rel' := ⋯ } x)) e = e
state_after: case h.e'_2.h
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 W
h : e ∈ G'.edgeSet
x✝ : W
a✝ : x✝ ∈ e
⊢ { toFun := ⇑f, map_rel' := ⋯ } ({ toFun := ⇑f.symm, map_rel' := ⋯ } x✝) = id x✝
tactic: convert congr_fun Sym2.map_id e
state_before: case h.e'_2.h
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : G ≃g G'
e : Sym2 W
h : e ∈ G'.edgeSet
x✝ : W
a✝ : x✝ ∈ e
⊢ { toFun := ⇑f, map_rel' := ⋯ } ({ toFun := ⇑f.symm, map_rel' := ⋯ } x✝) = id x✝
state_after: no goals
tactic: exact RelIso.apply_symm_apply _ _