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

Theorem update_is_remove_concat : forall A x (v : A) (E : gen_env A),
x ∈ E ->
E ::= (x ∶ v) ≍ (E ∖ {x}) & (x ∶ v).