Implicit Types m : t elt.
Implicit Types x y z : key.
Implicit Types e : elt.

(* Specifications: *)
Lemma mem_b : forall m x y, E.eq x y -> mem x m = mem y m.
Lemma find_o : forall m x y, E.eq x y -> find x m = find y m.
Lemma empty_o : forall x, find x (empty elt) = None.
Lemma empty_a : forall x, mem x (empty elt) = false.
Lemma add_eq_o : forall m x y e,
E.eq x y -> find y (add x e m) = Some e.
Lemma add_neq_o : forall m x y e,
~ E.eq x y -> find y (add x e m) = find y m.