Theorem: Digraph.Walk.edges_fst_mem_support_of_mem_darts (GraphProjects/DigraphConnectivity.lean)

State before:
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v v✝ : V
h : G.Adj u v✝
p' : Walk G v✝ v
d : V × V
hd : d ∈ edges (cons h p')
⊢ d.fst ∈ support (cons h p')
Tactic:
simp only [support_cons, edges_cons, List.mem_cons] at hd ⊢
State after:
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v v✝ : V
h : G.Adj u v✝
p' : Walk G v✝ v
d : V × V
hd : d = (u, v✝) ∨ d ∈ edges p'
⊢ d.fst = u ∨ d.fst ∈ support p'

State before:
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v v✝ : V
h : G.Adj u v✝
p' : Walk G v✝ v
d : V × V
hd : d = (u, v✝) ∨ d ∈ edges p'
⊢ d.fst = u ∨ d.fst ∈ support p'
Tactic:
rcases hd with (rfl | hd)
State after:
case inl
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v v✝ : V
h : G.Adj u v✝
p' : Walk G v✝ v
⊢ (u, v✝).fst = u ∨ (u, v✝).fst ∈ support p'

case inr
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v v✝ : V
h : G.Adj u v✝
p' : Walk G v✝ v
d : V × V
hd : d ∈ edges p'
⊢ d.fst = u ∨ d.fst ∈ support p'

State before:
case inl
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v v✝ : V
h : G.Adj u v✝
p' : Walk G v✝ v
⊢ (u, v✝).fst = u ∨ (u, v✝).fst ∈ support p'
Tactic:
exact Or.inl rfl
State after:
no goals

State before:
case inr
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v v✝ : V
h : G.Adj u v✝
p' : Walk G v✝ v
d : V × V
hd : d ∈ edges p'
⊢ d.fst = u ∨ d.fst ∈ support p'
Tactic:
exact Or.inr (edges_fst_mem_support_of_mem_darts _ hd)
State after:
no goals