Theorem: Graph.PathClass.cons_equiv_of_equiv (Lectures/Graph.lean)

State before:
V : Type u
E : Type v
G✝ : Graph V E
u✝ v✝ w✝ : V
e : EdgeBetween G✝ v✝ w✝
G : Graph V E
v w u : V
a : EdgeBetween G v w
b₁ b₂ : EdgePath G w u
⊢ [[b₁]] = [[b₂]] → [[cons a b₁]] = [[cons a b₂]]
Tactic:
intro rel
State after:
V : Type u
E : Type v
G✝ : Graph V E
u✝ v✝ w✝ : V
e : EdgeBetween G✝ v✝ w✝
G : Graph V E
v w u : V
a : EdgeBetween G v w
b₁ b₂ : EdgePath G w u
rel : [[b₁]] = [[b₂]]
⊢ [[cons a b₁]] = [[cons a b₂]]

State before:
V : Type u
E : Type v
G✝ : Graph V E
u✝ v✝ w✝ : V
e : EdgeBetween G✝ v✝ w✝
G : Graph V E
v w u : V
a : EdgeBetween G v w
b₁ b₂ : EdgePath G w u
rel : [[b₁]] = [[b₂]]
⊢ [[cons a b₁]] = [[cons a b₂]]
Tactic:
rw [show cons a b₁ = cons a (nil _) ++ b₁ by rfl, 
    show cons a b₂ = cons a (nil _) ++ b₂ by rfl,
    append_mul, append_mul, rel]
State after:
no goals

State before:
V : Type u
E : Type v
G✝ : Graph V E
u✝ v✝ w✝ : V
e : EdgeBetween G✝ v✝ w✝
G : Graph V E
v w u : V
a : EdgeBetween G v w
b₁ b₂ : EdgePath G w u
rel : [[b₁]] = [[b₂]]
⊢ cons a b₁ = cons a (nil w) ++ b₁
Tactic:
rfl
State after:
no goals

State before:
V : Type u
E : Type v
G✝ : Graph V E
u✝ v✝ w✝ : V
e : EdgeBetween G✝ v✝ w✝
G : Graph V E
v w u : V
a : EdgeBetween G v w
b₁ b₂ : EdgePath G w u
rel : [[b₁]] = [[b₂]]
⊢ cons a b₂ = cons a (nil w) ++ b₂
Tactic:
rfl
State after:
no goals