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

Theorem all_binds_single_push_inv : forall A x y (v w : A) (E : gen_env A),
(x ∶ v) ⊏ (E & (y ∶ w)) ->
(x = y ∧ v = w) ∨ (x <> y ∧ (x ∶ v) ⊏ E).