Goal:
    G1 : t  G2 : t  s : VSet.t  x : V.t  y : V.t  p : SPath G2 s x y
  ============================
   (VSet.In y (V G1) -> VSet.In (first_in p) (V G1))


DEBUG:Going to execute:
fun n c =>
             match constr:(n) with
             | 0%nat => uconstr:(c)
             | Datatypes.S ?n => make_refine n ltac:(uconstr:((c _)))
             end