Section Properties.
Implicit Types x y : TVar.
Implicit Types xs ys : list TVar.
(* ---------------------------------------------------------------------- *)
(** **** Abstract properties of ok *)
(* ---------------------------------------------------------------------- *)
(** **** Properties of binds *)
(* ---------------------------------------------------------------------- *)
(** **** Properties of all_binds *)

(** All_Binds on singulars when ok. *)
Theorem all_binds_singles_eq_inv :
forall A xs (vs vs' : list A) (F : gen_env A),
List.NoDup xs ->
length xs = length vs ->
length xs = length vs' ->
xs ∷ vs ⊏ F -> xs ∷ vs' ⊏ F ->
vs = vs'.