Module Biabduction.Propset
Sets of Propositions
type tSets of propositions. The invariant is maintaned that Prop.prop_rename_primed_footprint_vars is called on any prop added to the set.
val singleton : IR.Tenv.t -> Prop.normal Prop.t -> tSingleton set.
val mem : Prop.normal Prop.t -> t -> boolSet membership.
val add : IR.Tenv.t -> Prop.normal Prop.t -> t -> tAdd
propto propset.
val empty : tThe empty set of propositions.
val size : t -> intSize of the set
val from_proplist : IR.Tenv.t -> Prop.normal Prop.t list -> tval to_proplist : t -> Prop.normal Prop.t listval map : IR.Tenv.t -> (Prop.normal Prop.t -> Prop.normal Prop.t) -> t -> tApply function to all the elements of the propset.
val map_option : IR.Tenv.t -> (Prop.normal Prop.t -> Prop.normal Prop.t option) -> t -> tApply function to all the elements of the propset, removing those where it returns
None.
val fold : ('a -> Prop.normal Prop.t -> 'a) -> 'a -> t -> 'afold f pset acomputes(f pN ... (f p2 (f p1 a))...), wherep1 ... pNare the elements of pset, in increasing order.
val iter : (Prop.normal Prop.t -> unit) -> t -> unititer f psetcomputes (f p1;f p2;..;f pN) wherep1 ... pNare the elements of pset, in increasing order.
val partition : (Prop.normal Prop.t -> bool) -> t -> t * tval subseteq : t -> t -> boolval is_empty : t -> boolSet emptiness check.
val filter : (Prop.normal Prop.t -> bool) -> t -> t
Pretty print
val d : Prop.normal Prop.t -> t -> unitdump a propset coming form the given initial prop