package goblint

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

Module SetDomain.ReverseSource

Reverses lattice order of a set domain while keeping the set operations same.

Parameters

module Base : S

Signature

include module type of struct include Base end
include Lattice.S
include Lattice.PO
include Printable.S
type elt = Base.elt
val empty : unit -> Base.t
val is_empty : Base.t -> bool
val mem : elt -> Base.t -> bool
val add : elt -> Base.t -> Base.t
val singleton : elt -> Base.t
val remove : elt -> Base.t -> Base.t

See Set.S.remove.

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

val union : Base.t -> Base.t -> Base.t
val inter : Base.t -> Base.t -> Base.t
val diff : Base.t -> Base.t -> Base.t

See Set.S.diff.

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

val subset : Base.t -> Base.t -> bool
val disjoint : Base.t -> Base.t -> bool
val iter : (elt -> unit) -> Base.t -> unit

See Set.S.iter.

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

val map : (elt -> elt) -> Base.t -> Base.t

See Set.S.map.

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

val fold : (elt -> 'a -> 'a) -> Base.t -> 'a -> 'a

See Set.S.fold.

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

val for_all : (elt -> bool) -> Base.t -> bool

See Set.S.for_all.

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

val exists : (elt -> bool) -> Base.t -> bool

See Set.S.exists.

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

val filter : (elt -> bool) -> Base.t -> Base.t

See Set.S.filter.

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

val partition : (elt -> bool) -> Base.t -> Base.t * Base.t

See Set.S.partition.

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

val cardinal : Base.t -> int

See Set.S.cardinal.

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

val elements : Base.t -> elt list

See Elements.

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

val of_list : elt list -> Base.t
val min_elt : Base.t -> elt

See Set.S.min_elt.

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

val max_elt : Base.t -> elt

See Set.S.max_elt.

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

val choose : Base.t -> elt

See Set.S.choose.

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

include sig ... end
type t = Base.t
val equal : t -> t -> bool
val hash : t -> int
val compare : t -> t -> int
val show : t -> string
val pretty : unit -> t -> Printable.Pretty.doc
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int
val relift : t -> t
Sourceval widen : Base.t -> Base.t -> Base.t
Sourceval narrow : Base.t -> Base.t -> Base.t
Sourceval bot : unit -> Base.t
Sourceval is_bot : Base.t -> bool
Sourceval top : unit -> Base.t
Sourceval is_top : Base.t -> bool
Sourceval leq : Base.t -> Base.t -> bool
Sourceval join : Base.t -> Base.t -> Base.t
Sourceval meet : Base.t -> Base.t -> Base.t
Sourceval name : unit -> string
Sourceval pretty_diff : unit -> (t * t) -> Lattice.Pretty.doc
Sourceval printXml : 'a BatInnerIO.output -> Base.t -> unit
Sourceval arbitrary : unit -> Base.t QCheck.arbitrary
OCaml

Innovation. Community. Security.