val equal : t -> t -> bool
val compare : t -> t -> int
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 arbitrary : unit -> t QCheck.arbitrary
val pretty_diff : unit -> (t * t) -> Lattice.Pretty.doc
val is_bot_env : t -> bool
val add_vars : t -> var list -> t
val remove_vars : t -> var list -> t
val remove_vars_with : t -> var list -> unit
val remove_filter : t -> (var -> bool) -> t
val remove_filter_with : t -> (var -> bool) -> unit
val keep_vars : t -> var list -> t
val keep_filter : t -> (var -> bool) -> t
val forget_vars : t -> var list -> t
val assign_exp :
Queries.ask ->
t ->
var ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
t
val assign_var_parallel_with : t -> (var * var) list -> unit
val assign_var_parallel' : t -> var list -> var list -> t
val substitute_exp :
Queries.ask ->
t ->
var ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
t
val mem_var : t -> var -> bool
val assert_inv :
Queries.ask ->
t ->
GoblintCil.exp ->
bool ->
bool Stdlib.Lazy.t ->
t