(** NB: This file is here only for compatibility with earlier version of
    [FSets] and [FMap]. Please use [Structures/Equalities.v] directly now. *)

(** * Types with Equalities, and nothing more (for subtyping purpose) *)

Module Type EqualityType := Equalities.EqualityTypeOrig.(** * Types with decidable Equalities (but no ordering) *)

Module Type DecidableType := Equalities.DecidableTypeOrig.Notation key:=t.Definition eqk (p p':key*elt) := eq (fst p) (fst p').Definition eqke (p p':key*elt) :=
          eq (fst p) (fst p') /\ (snd p) = (snd p').#[global]
 Hint Extern 2 (eqke ?a ?b) => split : core.

Lemma eqke_trans : forall e e' e'', eqke e e' -> eqke e' e'' -> eqke e e''.