sig
type elt
type t
val size : Multiset_intf.S.t -> int
val cardinal : Multiset_intf.S.t -> Z.t
val empty : Multiset_intf.S.t
val is_empty : Multiset_intf.S.t -> bool
val mem : Multiset_intf.S.t -> Multiset_intf.S.elt -> bool
val find : Multiset_intf.S.t -> Multiset_intf.S.elt -> Z.t
val singleton : Multiset_intf.S.elt -> Multiset_intf.S.t
val doubleton :
Multiset_intf.S.elt -> Multiset_intf.S.elt -> Multiset_intf.S.t
val add : Multiset_intf.S.t -> Multiset_intf.S.elt -> Multiset_intf.S.t
val add_coeff :
Multiset_intf.S.t -> Multiset_intf.S.elt -> Z.t -> Multiset_intf.S.t
val union : Multiset_intf.S.t -> Multiset_intf.S.t -> Multiset_intf.S.t
val intersection :
Multiset_intf.S.t -> Multiset_intf.S.t -> Multiset_intf.S.t
val sum : Multiset_intf.S.t -> Multiset_intf.S.t -> Multiset_intf.S.t
val difference :
Multiset_intf.S.t -> Multiset_intf.S.t -> Multiset_intf.S.t
val product : Z.t -> Multiset_intf.S.t -> Multiset_intf.S.t
val filter :
(Multiset_intf.S.elt -> Z.t -> bool) ->
Multiset_intf.S.t -> Multiset_intf.S.t
val map :
(Multiset_intf.S.elt -> Multiset_intf.S.elt) ->
Multiset_intf.S.t -> Multiset_intf.S.t
val map_coeff :
(Multiset_intf.S.elt -> Z.t -> Z.t) ->
Multiset_intf.S.t -> Multiset_intf.S.t
val filter_map :
(Multiset_intf.S.elt -> Z.t -> (Multiset_intf.S.elt * Z.t) option) ->
Multiset_intf.S.t -> Multiset_intf.S.t
val flat_map :
(Multiset_intf.S.elt -> Multiset_intf.S.t) ->
Multiset_intf.S.t -> Multiset_intf.S.t
module Seq :
sig
val of_seq :
Multiset_intf.S.t ->
Multiset_intf.S.elt Sequence.t -> Multiset_intf.S.t
val to_seq : Multiset_intf.S.t -> Multiset_intf.S.elt Sequence.t
val of_coeffs :
Multiset_intf.S.t ->
(Multiset_intf.S.elt * Z.t) Sequence.t -> Multiset_intf.S.t
val to_coeffs :
Multiset_intf.S.t -> (Multiset_intf.S.elt * Z.t) Sequence.t
end
val iter : (Multiset_intf.S.elt -> unit) -> Multiset_intf.S.t -> unit
val fold :
('a -> Multiset_intf.S.elt -> 'a) -> 'a -> Multiset_intf.S.t -> 'a
val iter_coeffs :
(Multiset_intf.S.elt -> Z.t -> unit) -> Multiset_intf.S.t -> unit
val fold_coeffs :
('a -> Multiset_intf.S.elt -> Z.t -> 'a) -> 'a -> Multiset_intf.S.t -> 'a
val for_all : (Multiset_intf.S.elt -> bool) -> Multiset_intf.S.t -> bool
val exists : (Multiset_intf.S.elt -> bool) -> Multiset_intf.S.t -> bool
val choose : Multiset_intf.S.t -> Multiset_intf.S.elt
val of_list : Multiset_intf.S.elt list -> Multiset_intf.S.t
val of_coeffs : (Multiset_intf.S.elt * Z.t) list -> Multiset_intf.S.t
val of_iarray : Multiset_intf.S.elt IArray.t -> Multiset_intf.S.t
val of_array : Multiset_intf.S.elt array -> Multiset_intf.S.t
val to_list : Multiset_intf.S.t -> (Multiset_intf.S.elt * Z.t) list
val eq : Multiset_intf.S.t -> Multiset_intf.S.t -> bool
val cancel :
Multiset_intf.S.t ->
Multiset_intf.S.t -> Multiset_intf.S.t * Multiset_intf.S.t
val compare : Multiset_intf.S.t -> Multiset_intf.S.t -> int
val compare_partial :
(Multiset_intf.S.elt -> Multiset_intf.S.elt -> Comparison.t) ->
Multiset_intf.S.t -> Multiset_intf.S.t -> Comparison.t
val is_max :
(Multiset_intf.S.elt -> Multiset_intf.S.elt -> Comparison.t) ->
Multiset_intf.S.elt -> Multiset_intf.S.t -> bool
val max :
(Multiset_intf.S.elt -> Multiset_intf.S.elt -> Comparison.t) ->
Multiset_intf.S.t -> Multiset_intf.S.t
val max_seq :
(Multiset_intf.S.elt -> Multiset_intf.S.elt -> Comparison.t) ->
Multiset_intf.S.t -> (Multiset_intf.S.elt, Z.t) Sequence.t2
val max_l :
(Multiset_intf.S.elt -> Multiset_intf.S.elt -> Comparison.t) ->
Multiset_intf.S.elt list -> Multiset_intf.S.elt list
val compare_partial_l :
(Multiset_intf.S.elt -> Multiset_intf.S.elt -> Comparison.t) ->
Multiset_intf.S.elt list -> Multiset_intf.S.elt list -> Comparison.t
val pp :
Multiset_intf.S.elt CCFormat.printer ->
Multiset_intf.S.t CCFormat.printer
end