Module Wpo
module Wpo: sig
.. end
Proof Obligations
type
po = t
type
t = {
}
type
dependency = {
}
type
warning = {
|
wrn_loc : Log.source ; |
|
wrn_severe : bool ; |
|
wrn_source : string ; |
|
wrn_reason : string ; |
|
wrn_effect : string ; |
}
type
prover =
| |
Why of string |
| |
AltErgo91 |
| |
AltErgo92 |
| |
Coq |
| |
Coqide |
| |
WP |
type
result =
| |
Valid |
| |
Invalid |
| |
Unknown |
| |
Timeout |
| |
Computing |
| |
Failed of string |
val pp_warning : Format.formatter -> warning -> unit
val pp_dependency : Format.formatter -> dependency -> unit
val pp_prover : Format.formatter -> prover -> unit
val pp_result : Format.formatter -> result -> unit
module Hproof: Hashtbl.Make
(
Datatype.Pair
(
Datatype.String
)
(
Property
)
)
module Results: sig
.. end
module Kfmap: Map.Make
(
Kernel_function
)
module Imap: Map.Make
(
String
)
module WPOset: Set.Make
(
sig
end
)
module Hpo: Hashtbl.Make
(
sig
end
)
type
system = {
|
mutable environments : int Imap.t ; |
|
mutable last : (string * int * string) option ; |
|
mutable index : WPOset.t Imap.t Kfmap.t ; |
|
proofs : WpAnnot.proof Hproof.t ; |
|
results : Results.t Hpo.t ; |
}
val system : system
type
updater = Property.t -> Property.t list -> Cil_types.annotation_status -> unit
val updaters : (string, updater) Hashtbl.t
val register : string -> updater -> unit
val gid : context:string ->
kf:Kernel_function.t -> bhv:string option -> propid:WpAnnot.prop_id -> string
val clear : unit -> unit
val env_name : string -> int -> string
val new_env : context:Imap.key -> string
Generates a fresh environment name.
val release_env : env:string -> unit
Releases the last generated environment name.
val add : WPOset.elt -> unit
val set_po_result : t -> result -> unit
val set_result : Hpo.key -> prover -> result -> unit
val get_result : Hpo.key -> prover -> result option
val get_results : Hpo.key -> (prover * result) list
val iter : ?on_environment:(string -> 'a) ->
?on_function:(Kfmap.key -> unit) ->
?on_behavior:(Kfmap.key -> Imap.key option -> unit) ->
?on_goal:(WPOset.elt -> unit) -> unit -> unit
val local : string -> string -> string
val prove : string -> prover -> string
val why : prover
val all_provers : unit -> prover list
val file_for_ctxt : env:string -> string
val file_for_head : gid:string -> string
val file_for_body : gid:string -> string
val file_for_log : gid:string -> string
val file_for_goal : gid:string -> prover -> string
val file_for_env : env:string -> prover -> string
val file_for_model : model:string -> prover -> string
val coq_for_env : env:'a -> 'a
val coq_for_model : model:string -> string
val prover_of_name : string -> prover option
val bar : string
val flow : bool Pervasives.ref
val pp_environment : Format.formatter -> string -> unit
val pp_function : Format.formatter -> Kernel_function.t -> string option -> unit
val pp_goal : Format.formatter -> Hpo.key -> unit
val pp_goal_flow : Format.formatter -> Hpo.key -> unit