Kzg.SMapinclude Stdlib.Map.S with type 'a t := 'a t and type key := stringval empty : 'a tval singleton : string -> 'a -> 'a tval cardinal : 'a t -> intval bindings : 'a t -> (string * 'a) listval min_binding : 'a t -> string * 'aval min_binding_opt : 'a t -> (string * 'a) optionval max_binding : 'a t -> string * 'aval max_binding_opt : 'a t -> (string * 'a) optionval choose : 'a t -> string * 'aval choose_opt : 'a t -> (string * 'a) optionval find : string -> 'a t -> 'aval find_opt : string -> 'a t -> 'a optionval find_first : (string -> bool) -> 'a t -> string * 'aval find_first_opt : (string -> bool) -> 'a t -> (string * 'a) optionval find_last : (string -> bool) -> 'a t -> string * 'aval find_last_opt : (string -> bool) -> 'a t -> (string * 'a) optionval iter : (string -> 'a -> unit) -> 'a t -> unitval fold : (string -> 'a -> 'acc -> 'acc) -> 'a t -> 'acc -> 'accval is_empty : 'a t -> boolval mem : string -> 'a t -> boolval for_all : (string -> 'a -> bool) -> 'a t -> boolval exists : (string -> 'a -> bool) -> 'a t -> boolval to_list : 'a t -> (string * 'a) listval to_seq : 'a t -> (string * 'a) Stdlib.Seq.tval to_rev_seq : 'a t -> (string * 'a) Stdlib.Seq.tval to_seq_from : string -> 'a t -> (string * 'a) Stdlib.Seq.tval of_seq : (string * 'a) Stdlib.Seq.t -> 'a tval t : 'a Repr.ty -> 'a t Repr.tyval of_list : (string * 'a) list -> 'a tval keys : 'a t -> string listval values : 'a t -> 'a listadd_unique k v map adds k -> v to map & throw an error if k is already in map
val union_disjoint :
?common_keys_equal_elt:(string list * ('a -> 'a -> bool)) ->
'a t ->
'a t ->
'a tReturn the union of two maps. The keys of the maps have to be disjoint unless specifically stated in common_keys. In this case both key's values are asserted to be equal, with a given equality function. If no equal function is given, the polymorphic equality is used.
val union_disjoint_list :
?common_keys_equal_elt:(string list * ('a -> 'a -> bool)) ->
'a t list ->
'a tApplies union_disjoint on a list of maps
given a list of maps, outputs a single map with the union of all keys and containing lists which consist of the concatenation of the data elements under the same key (order is preserved)
sub_map m1 m2 returns m2 without the keys that do not appear in m1. Raises failure if some key of m1 is not in m2
USE WITH CAUTION : make sure your update function won’t create duplicates (only one will be kept)
module Aggregation : sig ... endThis module is used to handle proof aggregation in Plonk The format of keys for aggregation is <circuit~proof~key>