Definition pick_variety (s : SS.elt) (st : STt) :=
STexists_ (fun t => pick_variety_aux s t) st.

(* Specifications: *)
Lemma proper_0 :
Proper (S.Equal ==> eq ==> eq) pick_variety.
Lemma proper_1 : forall s1 st,
Proper (S.Equal ==> eq)
(fun s2 : SS.elt => pick_variety (S.inter s1 s2) st).