Definition vrefl_rect := vrefl.Variant Sub_spec : sT -> Type := SubSpec x Px : Sub_spec (Sub x Px).Variant Sub_spec : sT -> Type := SubSpec x Px : Sub_spec (Sub x Px).

(* Specifications: *)
Lemma SubP u : Sub_spec u.
Lemma SubK x Px : val (Sub x Px) = x.