Module ValueDomainQueries.ID

include sig ... end
type t = [
  1. | `Bot
  2. | `Lifted of I.t
  3. | `Top
]
val equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Ppx_deriving_runtime.int
val hash : t -> int
val tag : 'a -> 'b
val show : [< `Bot | `Lifted of I.t | `Top ] -> string
val pretty : unit -> t -> Printable.Pretty.doc
val name : unit -> string
val printXml : 'a BatInnerIO.output -> [< `Bot | `Lifted of I.t | `Top ] -> unit
val to_yojson : [< `Bot | `Lifted of I.t | `Top ] -> Yojson.Safe.t
val relift : [< `Bot | `Lifted of I.t | `Top Lifted ] as 'a -> 'a
val arbitrary : unit -> [ `Bot | `Lifted of I.t | `Top ] QCheck.arbitrary
val bot : unit -> [> `Bot ]
val is_bot : [> `Bot ] -> bool
val top : unit -> [> `Top ]
val is_top : [> `Top ] -> bool
val leq : [< `Bot | `Lifted of I.t | `Top ] -> [< `Bot | `Lifted of I.t | `Top ] -> bool
val pretty_diff : unit -> (t * t) -> Lattice.Pretty.doc
val join : [< `Bot | `Lifted of I.t | `Top Lifted Top ] as 'a -> 'a -> 'a
val meet : [< `Bot | `Lifted of I.t | `Top Bot Lifted ] as 'a -> 'a -> 'a
val widen : [> `Lifted of I.t ] -> [> `Lifted of I.t ] as 'a -> 'a
val narrow : [> `Bot | `Lifted of I.t | `Top ] as 'a -> 'a -> 'a
val lift : ('a -> 'b) -> 'c -> [> `Lifted of 'b ]
val unlift : ('a -> 'b) -> [> `Lifted of 'c ] -> 'd
val unlift_opt : ('a -> 'b option) -> [> `Lifted of 'c ] -> 'b option
val unlift_is : ('a -> bool) -> [> `Lifted of 'b ] -> bool
val bot_of : GoblintCil.Cil.ikind -> [> `Lifted of I.t ]
val top_of : GoblintCil.Cil.ikind -> [> `Lifted of I.t ]
val of_int : GoblintCil.Cil.ikind -> I.int_t -> [> `Lifted of I.t ]
val of_bool : GoblintCil.Cil.ikind -> bool -> [> `Lifted of I.t ]
val of_interval : ?suppress_ovwarn:bool -> GoblintCil.Cil.ikind -> (I.int_t * I.int_t) -> [> `Lifted of I.t ]
val of_excl_list : GoblintCil.Cil.ikind -> I.int_t list -> [> `Lifted of I.t ]
val of_congruence : GoblintCil.Cil.ikind -> (I.int_t * I.int_t) -> [> `Lifted of I.t ]
val starting : ?suppress_ovwarn:bool -> GoblintCil.Cil.ikind -> I.int_t -> [> `Lifted of I.t ]
val ending : ?suppress_ovwarn:bool -> GoblintCil.Cil.ikind -> I.int_t -> [> `Lifted of I.t ]
val to_int : [> `Lifted of I.t ] -> I.int_t option
val to_bool : [> `Lifted of I.t ] -> bool option
val is_top_of : GoblintCil.Cil.ikind -> [> `Lifted of I.t ] -> bool
val is_bot_ikind : [< `Bot | `Lifted of I.t | `Top ] -> bool