Module Paths.PathSet

Set of (prop,path) pairs, where the identity is given by prop

type t
val add_renamed_prop : Prop.normal Prop.t -> Path.t -> t -> t

It's the caller's resposibility to ensure that Prop.prop_rename_primed_footprint_vars was called on the prop

val diff : t -> t -> t

difference between two pathsets

val empty : t

empty pathset

val elements : t -> (Prop.normal Prop.t * Path.t) list

list of elements in a pathset

val equal : t -> t -> bool

equality for pathsets

val fold : (Prop.normal Prop.t -> Path.t -> 'a -> 'a) -> t -> 'a -> 'a

fold over a pathset

val from_renamed_list : (Prop.normal Prop.t * Path.t) list -> t

It's the caller's resposibility to ensure that Prop.prop_rename_primed_footprint_vars was called on the list

val is_empty : t -> bool

check whether the pathset is empty

val iter : (Prop.normal Prop.t -> Path.t -> unit) -> t -> unit

iterate over a pathset

val map : (Prop.normal Prop.t -> Prop.normal Prop.t) -> t -> t

map over the prop component of a pathset.

val map_option : (Prop.normal Prop.t -> Prop.normal Prop.t option) -> t -> t

map over the prop component of a pathset using a partial function; elements mapped to None are discarded

val partition : (Prop.normal Prop.t -> bool) -> t -> t * t

partition a pathset on the prop component

val size : t -> int

number of elements in the pathset

val to_proplist : t -> Prop.normal Prop.t list

convert to a list of props

val to_propset : IR.Tenv.t -> t -> Propset.t

convert to a set of props

val union : t -> t -> t

union of two pathsets