Module Register


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 =
| M0
| M1
| M2
| M3
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