Definition full (v: val) := forall v2, joins v v2 -> identity v2.

(* Specifications: *)
Lemma val2loc_full v l : val2loc v = Some l -> full v.
Lemma nil_full : full nil_val.
Lemma empty_not_full : ~full empty_val.
Lemma val2loc_inj v1 v2 l : val2loc v1 = Some l -> val2loc v2 = Some l -> v1=v2.
Lemma loc_eq_dec (l1 l2 : loc) : Decidable.decidable (l1=l2).
Lemma nil_dec v : Decidable.decidable (v=nil_val).