SetDomain.MakeSourceA functor for creating a simple set domain, there is no top element, and * calling top () will raise an exception
module Base : Printable.Sinclude Lattice.S with type t = BatSet.Make(Base).tinclude Lattice.PO with type t = BatSet.Make(Base).tinclude Printable.S with type t = BatSet.Make(Base).tval tag : t -> intUnique ID, given by HConsed, for context identification in witness
widen x y assumes leq x y. Solvers guarantee this by calling widen old (join old new).
If leq x y = false, then pretty_diff () (x, y) should explain why.
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.
See Set.S.cardinal.
On set abstractions this counts only canonical elements, not all subsumed elements.
See 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.
See Set.S.choose.
On set abstractions this chooses only a canonical element, not any subsumed element.