ApronDomain.OctagonD
module DWO : sig ... end
val assert_inv :
Queries.ask ->
DWO.t ->
GoblintCil.exp ->
bool ->
bool Stdlib.Lazy.t ->
DWO.t
val check_assert :
Queries.ask ->
DWO.t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
[> `False | `Top | `True ]
val eval_interval_expr :
Queries.ask ->
DWO.t ->
GoblintCil.Cil.exp ->
bool Stdlib.Lazy.t ->
Z.t option * Z.t option
val eval_int :
Queries.ask ->
DWO.t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
[> `Lifted of IntDomain.IntDomTuple.t | `Top ]
val top_env : GobApron.Environment.t -> OctagonManager.mt A.t
val bot_env : GobApron.Environment.t -> OctagonManager.mt A.t
val is_top_env : OctagonManager.mt A.t -> bool
val is_bot_env : OctagonManager.mt A.t -> bool
val equal : OctagonManager.mt A.t -> OctagonManager.mt A.t -> bool
val hash : OctagonManager.mt A.t -> int
val compare : OctagonManager.mt A.t -> OctagonManager.mt A.t -> int
val show : OctagonManager.mt A.t -> string
val pretty : unit -> OctagonManager.mt A.t -> Printable.Pretty.doc
val printXml : 'a BatInnerIO.output -> OctagonManager.mt A.t -> unit
val to_yojson : OctagonManager.mt A.t -> Yojson.Safe.t
val tag : OctagonManager.mt A.t -> int
val arbitrary : unit -> OctagonManager.mt A.t QCheck.arbitrary
val relift : OctagonManager.mt A.t -> OctagonManager.mt A.t
val leq : OctagonManager.mt A.t -> OctagonManager.mt A.t -> bool
val join :
OctagonManager.mt A.t ->
OctagonManager.mt A.t ->
OctagonManager.mt A.t
val meet :
OctagonManager.mt A.t ->
OctagonManager.mt A.t ->
OctagonManager.mt A.t
val widen :
OctagonManager.mt A.t ->
OctagonManager.mt A.t ->
OctagonManager.mt A.t
val narrow :
OctagonManager.mt A.t ->
OctagonManager.mt A.t ->
OctagonManager.mt A.t
val pretty_diff :
unit ->
(OctagonManager.mt A.t * OctagonManager.mt A.t) ->
Lattice.Pretty.doc
val bot : unit -> OctagonManager.mt A.t
val is_bot : OctagonManager.mt A.t -> bool
val top : unit -> OctagonManager.mt A.t
val is_top : OctagonManager.mt A.t -> bool
module AO0 = DWO.AO0
module Bounds = AO0.Bounds
module Arg = AO0.Arg
module Convert = AO0.Convert
type var = GobApron.Var.t
val copy : OctagonManager.mt A.t -> OctagonManager.mt A.t
type marshal =
OctagonManager.mt Goblint_lib__.GobApron.Abstract0.t * string array
val unmarshal : marshal -> OctagonManager.mt A.t
val marshal : OctagonManager.mt A.t -> marshal
val envop :
(Apron.Environment.t -> 'a -> Apron.Environment.t) ->
OctagonManager.mt A.t ->
'b ->
unit
val add_vars_with : OctagonManager.mt A.t -> Apron.Var.t list -> unit
val remove_vars_with : OctagonManager.mt A.t -> Apron.Var.t list -> unit
val remove_filter_with : OctagonManager.mt A.t -> (Apron.Var.t -> bool) -> unit
val keep_vars_with : OctagonManager.mt A.t -> Apron.Var.t list -> unit
val keep_filter_with : OctagonManager.mt A.t -> (Apron.Var.t -> bool) -> unit
val forget_vars_with : OctagonManager.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 ->
OctagonManager.mt A.t ->
(Apron.Var.t * GoblintCil.Cil.exp) list ->
bool ->
unit
val assign_var_with :
OctagonManager.mt A.t ->
Apron.Var.t ->
Apron.Var.t ->
unit
val assign_var_parallel_with :
OctagonManager.mt A.t ->
(Apron.Var.t * Apron.Var.t) list ->
unit
val assign_var_parallel' :
OctagonManager.mt A.t ->
Apron.Var.t list ->
Apron.Var.t list ->
OctagonManager.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 ->
OctagonManager.mt A.t ->
(Apron.Var.t * GoblintCil.Cil.exp) list ->
bool Stdlib.Lazy.t ->
unit
val substitute_var_with :
OctagonManager.mt A.t ->
Apron.Var.t ->
Apron.Var.t ->
unit
val meet_tcons :
'a ->
OctagonManager.mt A.t ->
GobApron.Tcons1.t ->
'b ->
OctagonManager.mt A.t
val to_lincons_array : OctagonManager.mt A.t -> Apron.Lincons1.earray
val of_lincons_array : Apron.Lincons1.earray -> OctagonManager.mt A.t
val unify :
OctagonManager.mt A.t ->
OctagonManager.mt A.t ->
OctagonManager.mt A.t
val cil_exp_of_lincons1 : GobApron.Lincons1.t -> GoblintCil.Cil.exp option
type t = AO0.t
val add_vars : t -> GobApron.Var.t list -> t
val remove_vars : t -> GobApron.Var.t list -> t
val remove_filter : t -> (GobApron.Var.t -> bool) -> t
val keep_vars : t -> GobApron.Var.t list -> t
val keep_filter : t -> (GobApron.Var.t -> bool) -> t
val forget_vars : t -> GobApron.Var.t list -> t
val assign_exp :
Queries.ask ->
t ->
GobApron.Var.t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
t
val assign_var : t -> GobApron.Var.t -> GobApron.Var.t -> t
val substitute_exp :
Queries.ask ->
t ->
GobApron.Var.t ->
GoblintCil.exp ->
bool Stdlib.Lazy.t ->
t
val eval_interval :
'a ->
OctagonManager.mt A.t ->
Apron.Texpr1.t ->
Z.t option * Z.t option
val assert_constraint :
Queries.ask ->
AO0.Bounds.t ->
GoblintCil.exp ->
bool ->
bool Stdlib.Lazy.t ->
OctagonManager.mt A.t
val invariant : OctagonManager.mt A.t -> GobApron.Lincons1.t list
module Tracked : sig ... end
module Man : sig ... end