Theorem: Graph.EdgePath.toList_shiftTarget (GroupComp/Graph.lean)

State before:
V : Type u
E : Type v
inst✝¹ : DecidableEq V
inst✝ : DecidableEq E
G✝ : Graph V E
u v✝ w✝ : V
e : EdgeBetween G✝ v✝ w✝
G : Graph V E
v w w' : V
p : EdgePath G v w
eql : w = w'
⊢ toList (shiftTarget p eql) = toList p
Tactic:
match p, w', eql with
| nil _, _, rfl =>
  rename_i v'
  simp only [shiftTarget]
| cons e p', w', eql =>
  simp only [shiftTarget, cons_toList, toList_shiftTarget]
State after:
no goals

State before:
V : Type u
E : Type v
inst✝¹ : DecidableEq V
inst✝ : DecidableEq E
G✝ : Graph V E
u v✝ w✝ : V
e : EdgeBetween G✝ v✝ w✝
G : Graph V E
v w w' : V
p : EdgePath G v w
eql : w = w'
⊢ toList (shiftTarget (nil v) (_ : v = v)) = toList (nil v)
Tactic:
rename_i v'
State after:
V : Type u
E : Type v
inst✝¹ : DecidableEq V
inst✝ : DecidableEq E
G✝ : Graph V E
u v✝ v' : V
e : EdgeBetween G✝ v✝ v'
G : Graph V E
v w w' : V
p : EdgePath G v w
eql : w = w'
⊢ toList (shiftTarget (nil v) (_ : v = v)) = toList (nil v)

State before:
V : Type u
E : Type v
inst✝¹ : DecidableEq V
inst✝ : DecidableEq E
G✝ : Graph V E
u v✝ v' : V
e : EdgeBetween G✝ v✝ v'
G : Graph V E
v w w' : V
p : EdgePath G v w
eql : w = w'
⊢ toList (shiftTarget (nil v) (_ : v = v)) = toList (nil v)
Tactic:
simp only [shiftTarget]
State after:
no goals

State before:
V : Type u
E : Type v
inst✝¹ : DecidableEq V
inst✝ : DecidableEq E
G✝ : Graph V E
u v✝ w✝² : V
e✝ : EdgeBetween G✝ v✝ w✝²
G : Graph V E
v w✝¹ w'✝ : V
p : EdgePath G v w✝¹
eql✝ : w✝¹ = w'✝
w w✝ : V
e : EdgeBetween G v w✝
p' : EdgePath G w✝ w
w' : V
eql : w = w'
⊢ toList (shiftTarget (cons e p') eql) = toList (cons e p')
Tactic:
simp only [shiftTarget, cons_toList, toList_shiftTarget]
State after:
no goals