type elt
= MT.t
type t
= Logtk__Multiset.Make(MT).t
val size : t -> int
val cardinal : t -> Z.t
val empty : t
val is_empty : t -> bool
val mem : t -> elt -> bool
val find : t -> elt -> Z.t
val singleton : elt -> t
val doubleton : elt -> elt -> t
val add : t -> elt -> t
val add_coeff : t -> elt -> Z.t -> t
val union : t -> t -> t
val intersection : t -> t -> t
val sum : t -> t -> t
val difference : t -> t -> t
val product : Z.t -> t -> t
val filter : (elt -> Z.t -> bool) -> t -> t
val map : (elt -> elt) -> t -> t
val map_coeff : (elt -> Z.t -> Z.t) -> t -> t
val filter_map : (elt -> Z.t -> (elt * Z.t) option) -> t -> t
val flat_map : (elt -> t) -> t -> t
val iter : (elt -> unit) -> t -> unit
val fold : ('a -> elt -> 'a) -> 'a -> t -> 'a
val iter_coeffs : (elt -> Z.t -> unit) -> t -> unit
val fold_coeffs : ('a -> elt -> Z.t -> 'a) -> 'a -> t -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val choose : t -> elt
val of_list : elt list -> t
val of_coeffs : (elt * Z.t) list -> t
val of_iarray : elt IArray.t -> t
val of_array : elt array -> t
val to_list : t -> (elt * Z.t) list
val equal : t -> t -> bool
val cancel : t -> t -> t * t
val compare : t -> t -> int
val compare_partial : (elt -> elt -> Comparison.t) -> t -> t -> Comparison.t
val is_max : (elt -> elt -> Comparison.t) -> elt -> t -> bool
val max : (elt -> elt -> Comparison.t) -> t -> t
val max_seq : (elt -> elt -> Comparison.t) -> t -> (elt * Z.t) Iter.t
val max_l : (elt -> elt -> Comparison.t) -> elt list -> elt list
val compare_partial_l : (elt -> elt -> Comparison.t) -> elt list -> elt list -> Comparison.t
val pp : elt CCFormat.printer -> t CCFormat.printer