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

State before:
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : Digraph V✝
G' : Digraph V'
G'' : Digraph V''
inst✝ : DecidableEq V✝
V : Type u
G : Digraph V
u v w : V
p : Walk G u v
⊢ w ∈ support p ↔ ∃ q r, p = append q r
Tactic:
constructor
State after:
case mp
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : Digraph V✝
G' : Digraph V'
G'' : Digraph V''
inst✝ : DecidableEq V✝
V : Type u
G : Digraph V
u v w : V
p : Walk G u v
⊢ w ∈ support p → ∃ q r, p = append q r

case mpr
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : Digraph V✝
G' : Digraph V'
G'' : Digraph V''
inst✝ : DecidableEq V✝
V : Type u
G : Digraph V
u v w : V
p : Walk G u v
⊢ (∃ q r, p = append q r) → w ∈ support p

State before:
case mp
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : Digraph V✝
G' : Digraph V'
G'' : Digraph V''
inst✝ : DecidableEq V✝
V : Type u
G : Digraph V
u v w : V
p : Walk G u v
⊢ w ∈ support p → ∃ q r, p = append q r
Tactic:
exact fun h => ⟨_, _, (p.take_spec h).symm⟩
State after:
no goals

State before:
case mpr
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : Digraph V✝
G' : Digraph V'
G'' : Digraph V''
inst✝ : DecidableEq V✝
V : Type u
G : Digraph V
u v w : V
p : Walk G u v
⊢ (∃ q r, p = append q r) → w ∈ support p
Tactic:
rintro ⟨q, r, rfl⟩
State after:
case mpr.intro.intro
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : Digraph V✝
G' : Digraph V'
G'' : Digraph V''
inst✝ : DecidableEq V✝
V : Type u
G : Digraph V
u v w : V
q : Walk G u w
r : Walk G w v
⊢ w ∈ support (append q r)

State before:
case mpr.intro.intro
V✝ : Type u
V' : Type v
V'' : Type w
G✝ : Digraph V✝
G' : Digraph V'
G'' : Digraph V''
inst✝ : DecidableEq V✝
V : Type u
G : Digraph V
u v w : V
q : Walk G u w
r : Walk G w v
⊢ w ∈ support (append q r)
Tactic:
simp only [mem_support_append_iff, end_mem_support, start_mem_support, or_self_iff]
State after:
no goals