module Register: sig
.. end
Process exceptions for all external functions.
module M0_no_call: Mvar.MC
(
Model0
)
module M0_call: Call.WithPrePost
(
M0_no_call
)
module M0_simple: Calculus.Msimple
(
M0_call
)
module M0: Calculus.Moblig
(
M0_simple
)
module Cfg0: Calculus.Cfg
(
M0
)
module M1_no_call: Mvar.MC
(
Model1
)
module M1_call: Call.WithPrePost
(
M1_no_call
)
module M1_simple: Calculus.Msimple
(
M1_call
)
module M1: Calculus.Moblig
(
M1_simple
)
module Cfg1: Calculus.Cfg
(
M1
)
module M2_no_call: Model2
module M2_call: Call.WithPrePost
(
M2_no_call
)
module M2: Calculus.Msimple
(
M2_call
)
module Cfg2: Calculus.Cfg
(
M2
)
module M3_no_call: Lowlevel_model
module M3_call: Call.WithPrePost
(
M3_no_call
)
module M3: Calculus.Msimple
(
M3_call
)
module Cfg3: Calculus.Cfg
(
M3
)
type
model_kind =
val kind_of_num : int -> model_kind
val model_name : model_kind -> string
val prelude : model_kind -> string list
val wp_cfg_fun : model_kind ->
?with_bot:bool ->
Fol.decl list ->
Cil2cfg.t ->
WpAnnot.t -> Fol.decl list * (Format.formatter -> Cil2cfg.CFG.E.t -> unit)
val add_glob_decls : model_kind -> Fol.decl list -> Fol.decl list
val cfg_dot : string ->
string ->
Cil2cfg.t -> (Format.formatter -> Cil2cfg.CFG.E.t -> unit) option -> string
val dot_cfg : Cil2cfg.t -> string
val dot_annots : Cil2cfg.t -> WpAnnot.t -> string
val dot_lannots : Cil2cfg.t -> WpAnnot.t list -> unit
val build_obligs : model_kind ->
bool -> bool -> (Cil2cfg.t * WpAnnot.t list) list -> Fol.decl list option
val why_file : model_kind ->
bool -> bool -> (Cil2cfg.t * WpAnnot.t list) list -> string option
val prove : string -> unit
val get_all_kf : unit -> Db_types.kernel_function list
val get_model_option : unit -> model_kind option
val get_behav_option : unit -> Wp_parameters.Behav.t option
val get_annots : string option -> Cil2cfg.t -> WpAnnot.t list
val process_ex : exn -> unit
Process exceptions for all external functions.
val wp_why_file : Db_types.kernel_function option ->
string option -> model_kind -> string option
build the WHY file and return its name if everythink is OK.
Compute for the given function if any; compute for all the functions
otherwise. Also use the behavior option.
val wp_cfg_dot : bool -> Db_types.kernel_function -> string option
build the CFG dot file, and return its name if everythink is OK.
The bool
parameter is with_annots
and tells if the annotations
are also in the dot file.
val main : 'a -> unit