Module BoxD.AO0

module Bounds : sig ... end
module Arg : sig ... end
module Convert : sig ... end
type t = Man.mt A.t
type var = GobApron.Var.t
val env : 'a A.t -> Apron.Environment.t
val copy : Man.mt A.t -> Man.mt A.t
type marshal = Man.mt Goblint_lib__.GobApron.Abstract0.t * string array
val unmarshal : marshal -> t
val vars : 'a A.t -> Apron.Var.t list
val marshal : t -> marshal
val mem_var : 'a A.t -> Apron.Var.t -> bool
val envop : (Apron.Environment.t -> 'a -> Apron.Environment.t) -> Man.mt A.t -> 'b -> unit
val add_vars_with : Man.mt A.t -> Apron.Var.t list -> unit
val remove_vars_with : Man.mt A.t -> Apron.Var.t list -> unit
val remove_filter_with : Man.mt A.t -> (Apron.Var.t -> bool) -> unit
val keep_vars_with : Man.mt A.t -> Apron.Var.t list -> unit
val keep_filter_with : Man.mt A.t -> (Apron.Var.t -> bool) -> unit
val forget_vars_with : Man.mt A.t -> Apron.Var.t list -> unit
val assign_exp_with : Queries.ask -> Bounds.t -> Apron.Var.t -> GoblintCil.Cil.exp -> bool Stdlib.Lazy.t -> unit
val assign_exp_parallel_with : Queries.ask -> Man.mt A.t -> (Apron.Var.t * GoblintCil.Cil.exp) list -> bool -> unit
val assign_var_with : Man.mt A.t -> Apron.Var.t -> Apron.Var.t -> unit
val assign_var_parallel_with : Man.mt A.t -> (Apron.Var.t * Apron.Var.t) list -> unit
val assign_var_parallel' : Man.mt A.t -> Apron.Var.t list -> Apron.Var.t list -> Man.mt A.t
val substitute_exp_with : Queries.ask -> Bounds.t -> Apron.Var.t -> GoblintCil.Cil.exp -> bool Stdlib.Lazy.t -> unit
val substitute_exp_parallel_with : Queries.ask -> Man.mt A.t -> (Apron.Var.t * GoblintCil.Cil.exp) list -> bool Stdlib.Lazy.t -> unit
val substitute_var_with : Man.mt A.t -> Apron.Var.t -> Apron.Var.t -> unit
val meet_tcons : 'a -> Man.mt A.t -> GobApron.Tcons1.t -> 'b -> Man.mt A.t
val to_lincons_array : Man.mt A.t -> Apron.Lincons1.earray
val of_lincons_array : Apron.Lincons1.earray -> Man.mt A.t
val unify : t -> t -> Man.mt A.t
val cil_exp_of_lincons1 : GobApron.Lincons1.t -> GoblintCil.Cil.exp option