Functions for Sets of Propositions with and without sharing
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 add : InferIR.Tenv.t ‑> InferModules.Prop.normal InferModules.Prop.t ‑> t ‑> tAdd prop to propset.
val from_proplist : InferIR.Tenv.t ‑> InferModules.Prop.normal InferModules.Prop.t list ‑> tval to_proplist : t ‑> InferModules.Prop.normal InferModules.Prop.t listval map : InferIR.Tenv.t ‑> (InferModules.Prop.normal InferModules.Prop.t ‑> InferModules.Prop.normal InferModules.Prop.t) ‑> t ‑> tApply function to all the elements of the propset.
val map_option : InferIR.Tenv.t ‑> (InferModules.Prop.normal InferModules.Prop.t ‑> InferModules.Prop.normal InferModules.Prop.t option) ‑> t ‑> tApply function to all the elements of the propset, removing those where it returns None.
val fold : ('a ‑> InferModules.Prop.normal InferModules.Prop.t ‑> 'a) ‑> 'a ‑> t ‑> 'afold f pset a computes (f pN ... (f p2 (f p1 a))...),
where p1 ... pN are the elements of pset, in increasing
order.
val iter : (InferModules.Prop.normal InferModules.Prop.t ‑> unit) ‑> t ‑> unititer f pset computes (f p1;f p2;..;f pN)
where p1 ... pN are the elements of pset, in increasing order.
val partition : (InferModules.Prop.normal InferModules.Prop.t ‑> bool) ‑> t ‑> t * tval filter : (InferModules.Prop.normal InferModules.Prop.t ‑> bool) ‑> t ‑> tval d : InferModules.Prop.normal InferModules.Prop.t ‑> t ‑> unitdump a propset coming form the given initial prop