Goal:
  
  G : t
  s : VSet.t
  x : V.t
  p : SPath G s x x
  y : VSet.elt
  yinp : VSet.In y (snodes G p)
  rx := spath_refl G VSet.empty x : SPath G VSet.empty x x
  disj : Disjoint s VSet.empty
  c : SPath G (VSet.union s VSet.empty) y y
  wc : sweight c = sweight p + sweight rx
  _a_ : VSet.elt
  __view_subject__ : VSet.In _a_ (VSet.union s VSet.empty)
  ============================
   (VSet.In _a_ s -> VSet.In _a_ s)


DEBUG:Going to execute:
trivial; hnf; intros; (solve
            [ do
            ![ solve
             [ trivial | apply : eq_sym ; trivial ]
             | discriminate
             | contradiction
             | Ltac.split ]
            | case not_locked_false_eq_true; Ltac.assumption
            | match goal with
              | H:~ _ |- _ => solve [ case H; trivial ]
              end ])