Module ApronDomain.D

Parameters

module Man : Manager

Signature

module DWO : sig ... end
include sig ... end
val exp_is_constraint : GoblintCil.exp -> bool
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 ]
include module type of struct include DWO end
val top_env : GobApron.Environment.t -> Man.mt A.t
val bot_env : GobApron.Environment.t -> Man.mt A.t
val is_top_env : Man.mt A.t -> bool
val is_bot_env : Man.mt A.t -> bool
val equal : Man.mt A.t -> Man.mt A.t -> bool
val hash : Man.mt A.t -> int
val compare : Man.mt A.t -> Man.mt A.t -> int
val show : Man.mt A.t -> string
val pretty : unit -> Man.mt A.t -> Printable.Pretty.doc
val printXml : 'a BatInnerIO.output -> Man.mt A.t -> unit
val name : unit -> string
val to_yojson : Man.mt A.t -> Yojson.Safe.t
val tag : Man.mt A.t -> int
val arbitrary : unit -> Man.mt A.t QCheck.arbitrary
val relift : Man.mt A.t -> Man.mt A.t
val leq : Man.mt A.t -> Man.mt A.t -> bool
val join : Man.mt A.t -> Man.mt A.t -> Man.mt A.t
val meet : Man.mt A.t -> Man.mt A.t -> Man.mt A.t
val widen : Man.mt A.t -> Man.mt A.t -> Man.mt A.t
val narrow : Man.mt A.t -> Man.mt A.t -> Man.mt A.t
val pretty_diff : unit -> (Man.mt A.t * Man.mt A.t) -> Lattice.Pretty.doc
val bot : unit -> Man.mt A.t
val is_bot : Man.mt A.t -> bool
val top : unit -> Man.mt A.t
val is_top : Man.mt A.t -> bool
module AO0 = DWO.AO0
module Bounds = DWO.Bounds
module Arg = DWO.Arg
module Convert = DWO.Convert
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 -> Man.mt A.t
val vars : 'a A.t -> Apron.Var.t list
val marshal : Man.mt A.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 : Man.mt A.t -> Man.mt A.t -> Man.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 type_tracked : GoblintCil.typ -> bool
val varinfo_tracked : GoblintCil.varinfo -> bool
val eval_interval : 'a -> Man.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 -> Man.mt A.t
val invariant : Man.mt A.t -> GobApron.Lincons1.t list
module Tracked : sig ... end
module Man = Man