Frama-C API - Wpo
type index = | Axiomatic of string option| Function of Frama_c_kernel.Cil_types.kernel_function * string option
Proof Obligations
module DISK : sig ... endmodule GOAL : sig ... endmodule VC_Annot : sig ... endProof Obligations
type po = tand t = {po_gid : string;(*goal identifier
*)po_sid : string;(*goal short identifier (without model)
*)po_name : string;(*goal informal name
*)po_idx : index;(*goal index
*)po_model : WpContext.model;po_pid : WpPropId.prop_id;po_formula : VC_Annot.t;
}module S : Frama_c_kernel.Datatype.S_with_collections with type t = poval get_gid : t -> stringval get_property : t -> Frama_c_kernel.Property.tval get_label : t -> stringval get_model : t -> WpContext.modelval get_scope : t -> WpContext.scopeval get_context : t -> WpContext.contextval get_file_logout : t -> VCS.prover -> Frama_c_kernel.Filepath.tonly filename, might not exists
val get_file_logerr : t -> VCS.prover -> Frama_c_kernel.Filepath.tonly filename, might not exists
val qed_time : t -> floatval remove : t -> unitval add : t -> unitval age : t -> intval reduce : t -> booltries simplification
val resolve : t -> booltries simplification and set result if valid
val set_result : t -> VCS.prover -> VCS.result -> unitval clear_results : t -> unitval add_modified_hook : (t -> unit) -> unitHook is invoked for each goal results modification. Remark: clear() does not trigger those hooks, Cf. add_cleared_hook instead.
val add_removed_hook : (t -> unit) -> unitHook is invoked for each removed goal. Remark: clear() does not trigger those hooks, Cf. add_cleared_hook instead.
val modified : t -> unitval computed : t -> boolval compute : t -> Definitions.axioms option * Conditions.sequentWarning: Prover results are stored as they are from prover output, without taking into consideration that validity is inverted for smoke tests.
On the contrary, proof validity is computed with respect to smoke test/non-smoke test.
val has_verdict : t -> VCS.prover -> boolDefinite result for this prover (not computing)
val get_result : t -> VCS.prover -> VCS.resultRaw prover result (without any respect to smoke tests)
val get_results : t -> (VCS.prover * VCS.result) listReturn all results (without any respect to smoke tests).
val get_prover_results : t -> (VCS.prover * VCS.result) listReturn all prover results (without any respect to smoke tests).
val get_proof : t -> [ `Passed | `Failed | `Unknown ] * Frama_c_kernel.Property.tConsolidated wrt to associated property and smoke test.
val get_target : t -> Frama_c_kernel.Property.tAssociated property.
val is_trivial : t -> boolCurrently trivial sequent (no forced simplification)
val is_fully_valid : t -> boolChecks for some prover or script with valid verdict (no forced qed)
val is_locally_valid : t -> boolChecks for some prover (no tactic) with valid verdict (no forced qed)
val all_not_valid : t -> boolChecks for all provers to give a non-valid, computed verdict
val is_passed : t -> boolvalid, or all-not-valid for smoke tests
val has_unknown : t -> boolChecks there is some provers with a non-valid verdict
val is_tactic : t -> boolval is_smoke_test : t -> boolval iter : ?ip:Frama_c_kernel.Property.t -> ?index:index -> ?on_axiomatics:(string option -> unit) -> ?on_behavior: (Frama_c_kernel.Cil_types.kernel_function -> string option -> unit) -> ?on_goal:(t -> unit) -> unit -> unitval iter_on_goals : (t -> unit) -> unitval goals_of_property : Frama_c_kernel.Property.t -> t listval pp_index : Stdlib.Format.formatter -> index -> unitval pp_goal : Stdlib.Format.formatter -> t -> unitval pp_title : Stdlib.Format.formatter -> t -> unitval pp_function : Stdlib.Format.formatter -> Frama_c_kernel.Kernel_function.t -> string option -> unitval pp_goal_flow : Stdlib.Format.formatter -> t -> unitVC Generator interface.
class type generator = object ... end