Invariant.ExpLat
Symbolic (and fully syntactic) expression "lattice".
include module type of struct include CilType.Exp end
include Printable.S with type t = GoblintCil.exp
type t = GoblintCil.exp
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 printXml : 'a BatInnerIO.output -> t -> unit
val name : unit -> string
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int
Unique ID, given by HConsed, for context identification in witness
val arbitrary : unit -> t QCheck.arbitrary
val relift : t -> t
val bot : unit -> GoblintCil.exp
val top : unit -> GoblintCil.exp
val is_bot : 'a -> 'b
val is_top : 'a -> 'b
val leq : 'a -> 'b -> 'c
val pretty_diff : unit -> 'a -> 'b
val join : GoblintCil.exp -> GoblintCil.exp -> GoblintCil.exp
val meet : GoblintCil.exp -> GoblintCil.exp -> GoblintCil.exp
val widen : 'a -> 'b -> 'c
val narrow : GoblintCil.exp -> GoblintCil.exp -> GoblintCil.exp