Goal:
  
  G : t
  HI : invariants
  z : V.t
  hin : VSet.In z (V G)
  x : V.t
  y : V.t
  x0 : Z
  p : PathOf y z
  IHp : VSet.In z (V G) -> VSet.In y (V G)
  H : VSet.In (x, x0, y)..s (V G)
  ============================
   (VSet.In (x, x0, y)..t (V G) -> VSet.In x (V G))


DEBUG:Going to execute:
fun H =>
             match type of H with
             | _ /\ _ => exact H || destruct_hyp H
             | (_ * _)%nat => exact H || destruct_hyp H
             | _ => try (solve [ inversion H ])
             end