Propertytype prop_status = | PropUnknownStatus of property is unknown
*)| PropKTrue of intProperty is true for at least k steps
*)| PropInvariant of Certificate.tProperty is true in all reachable states
*)| PropFalse of (StateVar.t * Model.value list) listProperty is false at some step
*)Current status of a property
type t = {prop_name : string;Identifier for the property
*)prop_source : prop_source;Source of the property
*)prop_kind : prop_kind;Kind of property (do we wish to prove it invariant or reachable)
*)prop_term : Term.t;Term with variables at offsets prop_base and prop_base - 1
prop_expr : string option;mutable prop_status : prop_status;Current status
*)}A property of a transition system
and prop_source = | PropAnnot of Lib.positionProperty is from an annotation
*)| Generated of Lib.position option * StateVar.t list * generated_sourceProperty was generated, for example, from a subrange constraint
*)| Instantiated of Scope.t * Lib.position * tProperty is an instance of a property in a called node.
Reference the instantiated property by the scope of the subsystem and the name of the property
| Assumption of Lib.position * Scope.t * Lib.positionContract assumption that a caller has to prove.
Reference the assumption by its position, the scope of the subsystem, and the position of the node call
*)| Guarantee of Lib.position * Scope.tContract guarantees.
*)| GuaranteeOneModeActive of Lib.position * Scope.tContract: at least one mode active.
*)| GuaranteeModeImplication of Lib.position * Scope.tContract: mode implication.
*)| NonVacuityCheck of Lib.position * Scope.tNon-vacuity check
*)| TerminationCheck of Lib.positionTermination check
*)| Candidate of prop_source optionUser supplied candidate invariant
*)Source of a property
val pp_print_prop_source : Stdlib.Format.formatter -> prop_source -> unitPretty-prints a property source.
val is_candidate : t -> boolReturns true iff the input property is a candidate property
val is_real : t -> boolReturns true iff the input property is not a candidate property
val pp_print_prop_status : Stdlib.Format.formatter -> prop_status -> unitPretty-prints a property status.
val pp_print_prop_quiet : Stdlib.Format.formatter -> t -> unitPretty-prints a property (name and source only).
val pp_print_property : Stdlib.Format.formatter -> t -> unitPretty-prints a property.
val pp_print_generated_source :
Stdlib.Format.formatter ->
generated_source ->
unitval prop_status_known : prop_status -> boolReturn true if the status of the property is known
val set_prop_status : t -> prop_status -> unitval set_prop_invariant : t -> Certificate.t -> unitval set_prop_ktrue : t -> int -> unitval set_prop_false : t -> (StateVar.t * Model.value list) list -> unitval set_prop_unknown : t -> unitval length_of_cex : (StateVar.t * Model.value list) list -> intval get_prop_status : t -> prop_statusval get_prop_original_source : t -> prop_sourceval get_pos_from_prop_source : prop_source -> Lib.position option