Theorem: Digraph.Walk.exists_length_eq_zero_iff (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
⊢ (∃ p, length p = 0) ↔ u = v
Tactic:
constructor
State after:
case mp
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v : V
⊢ (∃ p, length p = 0) → u = v

case mpr
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v : V
⊢ u = v → ∃ p, length p = 0

State before:
case mp
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v : V
⊢ (∃ p, length p = 0) → u = v
Tactic:
rintro ⟨p, hp⟩
State after:
case mp.intro
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v : V
p : Walk G u v
hp : length p = 0
⊢ u = v

State before:
case mp.intro
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u v : V
p : Walk G u v
hp : length p = 0
⊢ u = v
Tactic:
exact eq_of_length_eq_zero hp
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''
u v : V
⊢ u = v → ∃ p, length p = 0
Tactic:
rintro rfl
State after:
case mpr
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u : V
⊢ ∃ p, length p = 0

State before:
case mpr
V : Type u
V' : Type v
V'' : Type w
G : Digraph V
G' : Digraph V'
G'' : Digraph V''
u : V
⊢ ∃ p, length p = 0
Tactic:
exact ⟨nil, rfl⟩
State after:
no goals