ApronDomain.S3include SLatticeinclude SPrintableinclude Printable.Sval top_env : GobApron.Environment.t -> tval bot_env : GobApron.Environment.t -> tval is_top_env : t -> boolval is_bot_env : t -> boolinclude Lattice.S with type t := tinclude Lattice.PO with type t := twiden x y assumes leq x y. Solvers guarantee this by calling widen old (join old new).
include AOps with type t := tinclude AOpsExtra with type t := tval vars : t -> GobApron.Var.t listval mem_var : t -> GobApron.Var.t -> boolval assign_var_parallel' : t -> GobApron.Var.t list -> GobApron.Var.t list -> tval meet_tcons : Queries.ask -> t -> GobApron.Tcons1.t -> GoblintCil.exp -> tval to_lincons_array : t -> GobApron.Lincons1.earrayval of_lincons_array : GobApron.Lincons1.earray -> tval cil_exp_of_lincons1 : GobApron.Lincons1.t -> GoblintCil.exp optionval invariant : t -> GobApron.Lincons1.t listinclude AOpsImperative with type t := tval add_vars_with : t -> GobApron.Var.t list -> unitval remove_vars_with : t -> GobApron.Var.t list -> unitval remove_filter_with : t -> (GobApron.Var.t -> bool) -> unitval keep_vars_with : t -> GobApron.Var.t list -> unitval keep_filter_with : t -> (GobApron.Var.t -> bool) -> unitval forget_vars_with : t -> GobApron.Var.t list -> unitval assign_exp_with :
Queries.ask ->
t ->
GobApron.Var.t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
unitval assign_exp_parallel_with :
Queries.ask ->
t ->
(GobApron.Var.t * GoblintCil.exp) list ->
bool ->
unitval assign_var_with : t -> GobApron.Var.t -> GobApron.Var.t -> unitval assign_var_parallel_with :
t ->
(GobApron.Var.t * GobApron.Var.t) list ->
unitval substitute_exp_with :
Queries.ask ->
t ->
GobApron.Var.t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
unitval substitute_exp_parallel_with :
Queries.ask ->
t ->
(GobApron.Var.t * GoblintCil.exp) list ->
bool Stdlib.Lazy.t ->
unitval substitute_var_with : t -> GobApron.Var.t -> GobApron.Var.t -> unitinclude AOpsPure with type t := tval add_vars : t -> GobApron.Var.t list -> tval remove_vars : t -> GobApron.Var.t list -> tval remove_filter : t -> (GobApron.Var.t -> bool) -> tval keep_vars : t -> GobApron.Var.t list -> tval keep_filter : t -> (GobApron.Var.t -> bool) -> tval forget_vars : t -> GobApron.Var.t list -> tval assign_exp :
Queries.ask ->
t ->
GobApron.Var.t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
tval assign_var : t -> GobApron.Var.t -> GobApron.Var.t -> tval substitute_exp :
Queries.ask ->
t ->
GobApron.Var.t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
tmodule V : RelationDomain.RVmodule Tracked : RelationDomain.Trackedval assert_inv :
Queries.ask ->
t ->
GoblintCil.exp ->
bool ->
bool Stdlib.Lazy.t ->
tval eval_int :
Queries.ask ->
t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
ValueDomainQueries.ID.t