Goal:
  
  G : t
  HI : invariants
  s0 : VSet.t
  s' : VSet.t
  x : V.t
  y : V.t
  z : V.t
  d : DisjointAdd x s0 s'
  x0 : Z
  i : EdgeSet.In (x, x0, y) (E G)
  p : SPath s0 y z
  H : VSet.In x (V G)
  IHp : VSet.In y (V G) -> VSet.In z (V G)
  H0 : VSet.In (x, x0, y)..s (V G) /\ VSet.In (x, x0, y)..t (V G)
  ============================
   (VSet.In y (V G))


DEBUG:Going to execute:
case H; clear H; do_intro
Level 3: evaluation returns
case H; clear H; do_intro; do_intro
where
use_hyp := <tactic closure>
of type
tacvalue
do_intro := <tactic closure>
of type
tacvalue
destruct_hyp := <tactic closure>
of type
tacvalue
H := H0
of type
intropattern of type tacvalue