package goblint

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module type HoareDomain.SetSSource

include SetDomain.S
include Lattice.S
include Lattice.PO
include Printable.S
Sourcetype t
Sourceval equal : t -> t -> bool
Sourceval hash : t -> int
Sourceval compare : t -> t -> int
Sourceval show : t -> string
Sourceval pretty : unit -> t -> Printable.Pretty.doc
Sourceval printXml : 'a BatInnerIO.output -> t -> unit
Sourceval name : unit -> string
Sourceval to_yojson : t -> Yojson.Safe.t
Sourceval tag : t -> int

Unique ID, given by HConsed, for context identification in witness

Sourceval arbitrary : unit -> t QCheck.arbitrary
Sourceval relift : t -> t
Sourceval leq : t -> t -> bool
Sourceval join : t -> t -> t
Sourceval meet : t -> t -> t
Sourceval widen : t -> t -> t

widen x y assumes leq x y. Solvers guarantee this by calling widen old (join old new).

Sourceval narrow : t -> t -> t
Sourceval pretty_diff : unit -> (t * t) -> Lattice.Pretty.doc

If leq x y = false, then pretty_diff () (x, y) should explain why.

Sourceval bot : unit -> t
Sourceval is_bot : t -> bool
Sourceval top : unit -> t
Sourceval is_top : t -> bool
Sourcetype elt
Sourceval empty : unit -> t
Sourceval is_empty : t -> bool
Sourceval mem : elt -> t -> bool
Sourceval add : elt -> t -> t
Sourceval singleton : elt -> t
Sourceval remove : elt -> t -> t

See Set.S.remove.

NB! On set abstractions this is a strong removal, i.e. all subsumed elements are also removed.

Sourceval union : t -> t -> t
Sourceval inter : t -> t -> t
Sourceval diff : t -> t -> t

See Set.S.diff.

NB! On set abstractions this is a strong removal, i.e. all subsumed elements are also removed.

Sourceval subset : t -> t -> bool
Sourceval disjoint : t -> t -> bool
Sourceval iter : (elt -> unit) -> t -> unit

See Set.S.iter.

On set abstractions this iterates only over canonical elements, not all subsumed elements.

Sourceval map : (elt -> elt) -> t -> t

See Set.S.map.

On set abstractions this maps only canonical elements, not all subsumed elements.

Sourceval fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a

See Set.S.fold.

On set abstractions this folds only over canonical elements, not all subsumed elements.

Sourceval for_all : (elt -> bool) -> t -> bool

See Set.S.for_all.

On set abstractions this checks only canonical elements, not all subsumed elements.

Sourceval exists : (elt -> bool) -> t -> bool

See Set.S.exists.

On set abstractions this checks only canonical elements, not all subsumed elements.

Sourceval filter : (elt -> bool) -> t -> t

See Set.S.filter.

On set abstractions this filters only canonical elements, not all subsumed elements.

Sourceval partition : (elt -> bool) -> t -> t * t

See Set.S.partition.

On set abstractions this partitions only canonical elements, not all subsumed elements.

Sourceval cardinal : t -> int

See Set.S.cardinal.

On set abstractions this counts only canonical elements, not all subsumed elements.

Sourceval elements : t -> elt list

See Set.S.elements.

On set abstractions this lists only canonical elements, not all subsumed elements.

Sourceval of_list : elt list -> t
Sourceval min_elt : t -> elt

See Set.S.min_elt.

On set abstractions this chooses only a canonical element, not any subsumed element.

Sourceval max_elt : t -> elt

See Set.S.max_elt.

On set abstractions this chooses only a canonical element, not any subsumed element.

Sourceval choose : t -> elt

See Set.S.choose.

On set abstractions this chooses only a canonical element, not any subsumed element.

Sourceval apply_list : (elt list -> elt list) -> t -> t
OCaml

Innovation. Community. Security.