SetDomain.Make
A functor for creating a simple set domain, there is no top element, and * calling top ()
will raise an exception
module Base : Printable.S
include Lattice.S with type t = BatSet.Make(Base).t
include Lattice.PO with type t = BatSet.Make(Base).t
include Printable.S with type t = BatSet.Make(Base).t
val hash : t -> int
val show : t -> string
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int
Unique ID, given by HConsed, for context identification in witness
val arbitrary : unit -> t QCheck.arbitrary
widen x y
assumes leq x y
. Solvers guarantee this by calling widen old (join old new)
.
val bot : unit -> t
val is_bot : t -> bool
val top : unit -> t
val is_top : t -> bool
type elt = Base.t
val empty : unit -> t
val is_empty : t -> bool
See Set.S.remove
.
NB! On set abstractions this is a strong removal, i.e. all subsumed elements are also removed.
See Set.S.diff
.
NB! On set abstractions this is a strong removal, i.e. all subsumed elements are also removed.
See Set.S.iter
.
On set abstractions this iterates only over canonical elements, not all subsumed elements.
See Set.S.map
.
On set abstractions this maps only canonical elements, not all subsumed elements.
See Set.S.fold
.
On set abstractions this folds only over canonical elements, not all subsumed elements.
See Set.S.for_all
.
On set abstractions this checks only canonical elements, not all subsumed elements.
See Set.S.exists
.
On set abstractions this checks only canonical elements, not all subsumed elements.
See Set.S.filter
.
On set abstractions this filters only canonical elements, not all subsumed elements.
See Set.S.partition
.
On set abstractions this partitions only canonical elements, not all subsumed elements.
val cardinal : t -> int
See Set.S.cardinal
.
On set abstractions this counts only canonical elements, not all subsumed elements.
See Set.S.elements
.
On set abstractions this lists only canonical elements, not all subsumed elements.
See Set.S.min_elt
.
On set abstractions this chooses only a canonical element, not any subsumed element.
See Set.S.max_elt
.
On set abstractions this chooses only a canonical element, not any subsumed element.