Theorem: SimpleGraph.Subgraph.image_coe_edgeSet_coe (LeanCamCombi/Mathlib/Combinatorics/SimpleGraph/Subgraph.lean)

State before:
α : Type u_1
β : Type u_2
γ : Type u_3
V : Type u_4
G H : SimpleGraph V
G' : G.Subgraph
⊢ Sym2.map Subtype.val '' G'.coe.edgeSet = G'.edgeSet
Tactic:
rw [edgeSet_coe, Set.image_preimage_eq_iff]
State after:
α : Type u_1
β : Type u_2
γ : Type u_3
V : Type u_4
G H : SimpleGraph V
G' : G.Subgraph
⊢ G'.edgeSet ⊆ Set.range (Sym2.map Subtype.val)

State before:
α : Type u_1
β : Type u_2
γ : Type u_3
V : Type u_4
G H : SimpleGraph V
G' : G.Subgraph
⊢ G'.edgeSet ⊆ Set.range (Sym2.map Subtype.val)
Tactic:
rintro e he
State after:
α : Type u_1
β : Type u_2
γ : Type u_3
V : Type u_4
G H : SimpleGraph V
G' : G.Subgraph
e : Sym2 V
he : e ∈ G'.edgeSet
⊢ e ∈ Set.range (Sym2.map Subtype.val)

State before:
α : Type u_1
β : Type u_2
γ : Type u_3
V : Type u_4
G H : SimpleGraph V
G' : G.Subgraph
e : Sym2 V
he : e ∈ G'.edgeSet
⊢ e ∈ Set.range (Sym2.map Subtype.val)
Tactic:
induction' e using Sym2.ind with a b
State after:
case h
α : Type u_1
β : Type u_2
γ : Type u_3
V : Type u_4
G H : SimpleGraph V
G' : G.Subgraph
a b : V
he : s(a, b) ∈ G'.edgeSet
⊢ s(a, b) ∈ Set.range (Sym2.map Subtype.val)

State before:
case h
α : Type u_1
β : Type u_2
γ : Type u_3
V : Type u_4
G H : SimpleGraph V
G' : G.Subgraph
a b : V
he : s(a, b) ∈ G'.edgeSet
⊢ s(a, b) ∈ Set.range (Sym2.map Subtype.val)
Tactic:
rw [Subgraph.mem_edgeSet] at he
State after:
case h
α : Type u_1
β : Type u_2
γ : Type u_3
V : Type u_4
G H : SimpleGraph V
G' : G.Subgraph
a b : V
he : G'.Adj a b
⊢ s(a, b) ∈ Set.range (Sym2.map Subtype.val)

State before:
case h
α : Type u_1
β : Type u_2
γ : Type u_3
V : Type u_4
G H : SimpleGraph V
G' : G.Subgraph
a b : V
he : G'.Adj a b
⊢ s(a, b) ∈ Set.range (Sym2.map Subtype.val)
Tactic:
exact ⟨s(⟨a, edge_vert _ he⟩, ⟨b, edge_vert _ he.symm⟩), Sym2.map_pair_eq _ _ _⟩
State after:
no goals