package goblint
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=bfc412ec2e447eaef6f4f83892e3511ebf305593cb00561c1406be3ae8bf48e9
sha512=5f2a162e5f36bffafc9836b0d18b5b2808cecfa6bf68f83bb7d1e8b9947ac74cf07776eb09274b4b29d55c897a45a10768f0d9ed25810cf6ba2409c525e4cd4d
doc/goblint.lib/Goblint_lib/HoareDomain/Set/index.html
Module HoareDomain.Set
Set of Lattice.S elements with Hoare ordering. This abstracts a set by its maximal elements.
Element-wise SetDomain.S operations only observe the maximal elements.
This has extrapolation heuristics instead of a true widen, i.e. convergence is only guaranteed if the number of maximal elements converges. Otherwise use SetEM.
Parameters
Signature
include SetDomain.S with type elt = B.t
include Lattice.S
include Lattice.PO
include Printable.S
val 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 = B.tval empty : unit -> tval is_empty : t -> boolSee 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 -> intSee 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.