module Fld: sig
.. end
type
t
Finite map from components to expressions
val emp : t
val one : Misc.component -> Exp.exp -> t
val two : Misc.component -> Exp.exp -> Misc.component -> Exp.exp -> t
val from_list : (Misc.component * Exp.exp) list -> t
val inter : t -> t -> t
val inter_num : t -> t -> t
val diff : t -> t -> t
val common : t -> t -> t * t * t
val union : t -> t -> t
val hasfld : Misc.component -> t -> bool
val try_get : Misc.component -> t -> Exp.exp option
val get : Misc.component -> t -> Exp.exp
val get_extend : Misc.component -> t -> Exp.exp * t
val set : Misc.component -> Exp.exp -> t -> t
val mem : Misc.component -> Exp.exp -> t -> bool
val containing : Exp.exp -> t -> Misc.component
val exists : (Misc.component -> Exp.exp -> bool) -> t -> bool
val filter : (Misc.component -> Exp.exp -> bool) -> t -> t
val remove : Misc.component -> t -> t
val fold : (Misc.component -> Exp.exp -> 'a -> 'a) -> t -> 'a -> 'a
val fold_val : (Exp.exp -> 'a -> 'a) -> t -> 'a -> 'a
val iter_val : (Exp.exp -> unit) -> t -> unit
val components_equal : t -> t -> Exp.exp * t
components_equal fld1 fld2
returns a conjuction of equalities for
each component that is defined in both fld1
and fld2
val subset : t -> t -> Exp.exp
val compare : t -> t -> int
val abs_compare : t -> t -> int
val map : Exp.subst -> t -> t
val no_s : string -> t -> bool