Module Imandra_prelude.Map

type (+'a, 'b) t
val const : 'b -> ( _, 'b ) t
val add : 'a -> 'b -> ( 'a, 'b ) t -> ( 'a, 'b ) t
val add' : ( 'a, 'b ) t -> 'a -> 'b -> ( 'a, 'b ) t
val get : 'a -> ( 'a, 'b ) t -> 'b
val get' : ( 'a, 'b ) t -> 'a -> 'b
val get_default : ( _, 'b ) t -> 'b
val of_list : default:'b -> ('a * 'b) list -> ( 'a, 'b ) t
val filter_map : default:( 'b -> 'c ) -> f:( 'a -> 'b -> 'c option ) -> ( 'a, 'b ) t -> ( 'a, 'c ) t
val for_all : default:( 'b -> bool ) -> f:( 'a -> 'b -> bool ) -> ( 'a, 'b ) t -> bool
val merge : default:( 'b -> 'c -> 'd ) -> f_both:( 'a -> 'b -> 'c -> 'd option ) -> f1:( 'a -> 'b -> 'd option ) -> f2:( 'a -> 'c -> 'd option ) -> ( 'a, 'b ) t -> ( 'a, 'c ) t -> ( 'a, 'd ) t
val extract : ( 'a, 'b ) t -> ('a * 'b) list * 'b
val pp : 'a printer -> 'b printer -> ( 'a, 'b ) t printer