ValueDomain.Compoundinclude Lattice.S
with type t =
[ `Top
| `Int of ID.t
| `Address of AD.t
| `Struct of Structs.t
| `Union of Unions.t
| `Array of CArrays.t
| `Blob of Blobs.t
| `List of Lists.t
| `Thread of Threads.t
| `Bot ]include Lattice.PO
with type t =
[ `Top
| `Int of ID.t
| `Address of AD.t
| `Struct of Structs.t
| `Union of Unions.t
| `Array of CArrays.t
| `Blob of Blobs.t
| `List of Lists.t
| `Thread of Threads.t
| `Bot ]include Printable.S
with type t =
[ `Top
| `Int of ID.t
| `Address of AD.t
| `Struct of Structs.t
| `Union of Unions.t
| `Array of CArrays.t
| `Blob of Blobs.t
| `List of Lists.t
| `Thread of Threads.t
| `Bot ]val hash : t -> intval show : t -> stringval pretty : unit -> t -> Pretty.docval printXml : 'a BatInnerIO.output -> t -> unitval to_yojson : t -> Printable.jsonval invariant : Invariant.context -> t -> Invariant.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 bot : unit -> tval is_bot : t -> boolval top : unit -> tval is_top : t -> booltype offs = (Cil.fieldinfo, IndexDomain.t) Lval.offsval affecting_vars : t -> Cil.varinfo listval bot_value : Cil.typ -> tval init_value : Cil.typ -> tval top_value : Cil.typ -> tval zero_init_value : Cil.typ -> t