Module Biabduction__Paths.PathSet

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

type t
val add_renamed_prop : Biabduction.Prop.normal Biabduction.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 -> (Biabduction.Prop.normal Biabduction.Prop.t * Path.t) list

list of elements in a pathset

val equal : t -> t -> bool

equality for pathsets

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

fold over a pathset

val from_renamed_list : (Biabduction.Prop.normal Biabduction.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 : (Biabduction.Prop.normal Biabduction.Prop.t -> Path.t -> unit) -> t -> unit

iterate over a pathset

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

map over the prop component of a pathset.

val map_option : (Biabduction.Prop.normal Biabduction.Prop.t -> Biabduction.Prop.normal Biabduction.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 : (Biabduction.Prop.normal Biabduction.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 -> Biabduction.Prop.normal Biabduction.Prop.t list

convert to a list of props

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

convert to a set of props

val union : t -> t -> t

union of two pathsets