Definition MapsTo {elt} (k:key)(e:elt):= InA eqke (k,e).Definition In {elt} k m := exists e:elt, MapsTo k e m.

(* Specifications: *)
Lemma In_alt {elt} k (l:list (key*elt)) : In k l <-> exists e, InA eqk (k,e) l.
Lemma In_alt' {elt} (l:list (key*elt)) k e : In k l <-> InA eqk (k,e) l.
Lemma In_alt2 {elt} k (l:list (key*elt)) : In k l <-> Exists (fun p => D.eq k (fst p)) l.
Lemma In_nil {elt} k : In k (@nil (key*elt)) <-> False.
Lemma In_cons {elt} k p (l:list (key*elt)) : In k (p::l) <-> D.eq k (fst p) \/ In k l.