functor (W : Toprop.T_for_Cfg) ->
sig
module HE :
sig
type ti = W.t_prop
type t
val create : int -> t
val find : t -> Cil2cfg.CFG.E.t -> ti
val replace : t -> Cil2cfg.CFG.E.t -> ti -> unit
end
val get_wp_edge :
Calculus.Cfg.HE.t -> Cil2cfg.CFG.E.t -> Calculus.Cfg.HE.ti
val do_labels : W.t_env -> Calculus.CFG.E.t -> W.t_prop -> W.t_prop
val set_wp_edge :
Db_types.kernel_function ->
WpAnnot.t ->
W.t_env ->
Calculus.Cfg.HE.t -> Calculus.CFG.E.t -> W.t_prop -> W.t_prop
val wp_call :
WpAnnot.t ->
Cil_types.lval option ->
Cil_types.exp -> Cil_types.exp list -> W.t_prop -> W.t_prop
val wp_stmt :
Db_types.kernel_function ->
WpAnnot.t -> Cil_types.stmt -> W.t_prop -> W.t_prop
val get_loop_assigns :
WpAnnot.t ->
Cil2cfg.CFG.E.t -> Cil_types.identified_term Cil_types.assigns list
val get_only_succ :
Db_types.kernel_function * Calculus.CFG.t * WpAnnot.t *
Calculus.Cfg.HE.t * W.t_env ->
Calculus.CFG.t -> Calculus.CFG.vertex -> Calculus.Cfg.HE.ti
val compute_edge :
Db_types.kernel_function * Calculus.CFG.t * WpAnnot.t *
Calculus.Cfg.HE.t * W.t_env -> Calculus.CFG.edge -> Calculus.Cfg.HE.ti
val build_cfg_annots :
'a -> Calculus.Cfg.HE.t -> Format.formatter -> Cil2cfg.CFG.E.t -> unit
val get_result :
Cil2cfg.t ->
Db_types.kernel_function * Calculus.CFG.t * 'a * Calculus.Cfg.HE.t *
W.t_env -> string -> Fol.decl list -> Fol.decl list
val cfg :
?with_bot:bool ->
Fol.decl list ->
Cil2cfg.t ->
WpAnnot.t ->
Fol.decl list * (Format.formatter -> Cil2cfg.CFG.E.t -> unit)
val add_glob_decls : Fol.decl list -> Fol.decl list
end