sig
type elt = etat
type t
val empty : t
val id : elt list -> t
val equal : t -> t -> bool
val compare : t -> t -> int
val succ : elt -> t -> elt list
val restr : elt list -> t -> t
val inser : elt * elt -> t -> t
val mem : elt * elt -> t -> bool
val map : (elt * elt -> elt * elt) -> t -> t
val fold : (elt * elt -> 'a -> 'a) -> t -> 'a -> 'a
val to_list : t -> (elt * elt) list
val concatenation : t -> t -> t
val union : t -> t -> t
val refl : elt list -> t -> t
val etoile : elt list -> t -> t
end