Wp.VCSourceWP Proof Obligation Generator and Management
elementary proof obligation
Same as is_valid for non-smoke tests. For smoke-tests, same as is_unknown.
Notice that a property or a function have no proof obligation until you explicitly generate them via the generate_xxx functions below.
List of proof obligations computed for a given property. Might be empty if you don't have used one of the generators below.
The generated VCs are also added to the database, so they can be accessed later. The default value for model is what has been given on the command line (-wp-model option)
val generate_kf :
?model:string ->
?bhv:string list ->
?prop:string list ->
Frama_c_kernel.Kernel_function.t ->
t Frama_c_kernel.Bag.tval prove :
t ->
?config:VCS.config ->
?mode:VCS.mode ->
?start:(t -> unit) ->
?progress:(t -> string -> unit) ->
?result:(t -> VCS.prover -> VCS.result -> unit) ->
VCS.prover ->
bool Frama_c_kernel.Task.taskReturns a ready-to-schedule task.
val spawn :
t ->
?config:VCS.config ->
?start:(t -> unit) ->
?progress:(t -> string -> unit) ->
?result:(t -> VCS.prover -> VCS.result -> unit) ->
?success:(t -> VCS.prover option -> unit) ->
?pool:Frama_c_kernel.Task.pool ->
(VCS.mode * VCS.prover) list ->
unitSame as prove but schedule the tasks into the global server returned by server function below.
The first succeeding prover cancels the other ones.
Default number of parallel tasks is given by -wp-par command-line option. The returned server is global to Frama-C, but the number of parallel task allowed will be updated to fit the ~procs or command-line options.
val command :
?provers:Why3.Whyconf.prover list ->
?tip:bool ->
t Frama_c_kernel.Bag.t ->
unitRun the provers with the command-line interface. If ~provers is set, it is used for computing the list of provers to spawn. If ~tip is set, it is used to compute the script execution mode.