SetDomain.MakeA 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).ttype t = BatSet.Make(Base).tval hash : t -> intval show : t -> stringval pretty : unit -> t -> Goblint_lib.Printable.Pretty.docval printXml : 'a BatInnerIO.output -> t -> unitval to_yojson : t -> Yojson.Safe.tval tag : t -> intUnique ID, given by HConsed, for context identification in witness
val arbitrary : unit -> t QCheck.arbitrarywiden x y assumes leq x y. Solvers guarantee this by calling widen old (join old new).
val pretty_diff : unit -> (t * t) -> Goblint_lib.Lattice.Pretty.docIf leq x y = false, then pretty_diff () (x, y) should explain why.
val bot : unit -> tval is_bot : t -> boolval top : unit -> tval is_top : t -> booltype elt = Base.tval empty : unit -> tval is_empty : t -> boolval cardinal : t -> int