Module Goblint_lib.RelationDomain

Signatures for relational value domains.

See ApronDomain and AffineEqualityDomain.

module type VarMetadata = sig ... end
module VM : sig ... end
module VarMetadataTbl (VM : VarMetadata) : sig ... end
module type RV = sig ... end
module V : RV
module type Tracked = sig ... end
module type S2 = sig ... end
module type S3 = sig ... end
type ('a, 'b) relcomponents_t = {
  1. rel : 'a;
  2. priv : 'b;
}
val equal_relcomponents_t : 'a 'b. ('a -> 'a -> Ppx_deriving_runtime.bool) -> ('b -> 'b -> Ppx_deriving_runtime.bool) -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t -> Ppx_deriving_runtime.bool
val compare_relcomponents_t : 'a 'b. ('a -> 'a -> Ppx_deriving_runtime.int) -> ('b -> 'b -> Ppx_deriving_runtime.int) -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t -> Ppx_deriving_runtime.int
val hash_relcomponents_t : ('a -> int) -> ('b -> int) -> ('a, 'b) relcomponents_t -> int
val relcomponents_t_to_yojson : 'a 'b. ('a -> Yojson.Safe.t) -> ('b -> Yojson.Safe.t) -> ('a, 'b) relcomponents_t -> Yojson.Safe.t
val _ : ('a -> Yojson.Safe.t) -> ('b -> Yojson.Safe.t) -> ('a, 'b) relcomponents_t -> Yojson.Safe.t
val relift_relcomponents_t : ('a -> 'a) -> ('b -> 'b) -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t
val is_top_relcomponents_t : ('a -> bool) -> ('b -> bool) -> ('a, 'b) relcomponents_t -> bool
val top_relcomponents_t : (unit -> 'a) -> (unit -> 'b) -> unit -> ('a, 'b) relcomponents_t
val is_bot_relcomponents_t : ('a -> bool) -> ('b -> bool) -> ('a, 'b) relcomponents_t -> bool
val bot_relcomponents_t : (unit -> 'a) -> (unit -> 'b) -> unit -> ('a, 'b) relcomponents_t
val narrow_relcomponents_t : ('a -> 'a -> 'a) -> ('b -> 'b -> 'b) -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t
val widen_relcomponents_t : ('a -> 'a -> 'a) -> ('b -> 'b -> 'b) -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t
val meet_relcomponents_t : ('a -> 'a -> 'a) -> ('b -> 'b -> 'b) -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t
val join_relcomponents_t : ('a -> 'a -> 'a) -> ('b -> 'b -> 'b) -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t
val leq_relcomponents_t : ('a -> 'a -> bool) -> ('b -> 'b -> bool) -> ('a, 'b) relcomponents_t -> ('a, 'b) relcomponents_t -> bool
module RelComponents (D3 : S3) (PrivD : Lattice.S) : sig ... end
module type RD = sig ... end