Theorem: Digraph.Walk.IsPath.of_append_right (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 w : V
p : Walk G u v
q : Walk G v w
⊢ IsPath (append p q) → IsPath q
Tactic:
induction p
State after:
case nil
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v w u✝ : V
q : Walk G u✝ w
⊢ IsPath (append Walk.nil q) → IsPath q

case cons
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v w u✝ v✝ w✝ : V
h✝ : G.Adj u✝ v✝
p✝ : Walk G v✝ w✝
p_ih✝ : ∀ {q : Walk G w✝ w}, IsPath (append p✝ q) → IsPath q
q : Walk G w✝ w
⊢ IsPath (append (cons h✝ p✝) q) → IsPath q

State before:
case nil
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v w u✝ : V
q : Walk G u✝ w
⊢ IsPath (append Walk.nil q) → IsPath q
Tactic:
exact id
State after:
no goals

State before:
case cons
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v w u✝ v✝ w✝ : V
h✝ : G.Adj u✝ v✝
p✝ : Walk G v✝ w✝
p_ih✝ : ∀ {q : Walk G w✝ w}, IsPath (append p✝ q) → IsPath q
q : Walk G w✝ w
⊢ IsPath (append (cons h✝ p✝) q) → IsPath q
Tactic:
simp (config := {contextual := true}) [*]
State after:
no goals