Module Property


module Property: sig .. end
ACSL comparable property.
Since Carbon-20101201

type identified_complete = Db_types.kernel_function * Cil_types.kinstr * string list 
type identified_disjoint = identified_complete 
type identified_code_annotation = Db_types.kernel_function * Cil_types.stmt * Cil_types.code_annotation 
type identified_assigns = Db_types.kernel_function * Cil_types.kinstr * Cil_types.funbehavior option *
Cil_types.identified_term Cil_types.assigns list
type identified_decrease = Db_types.kernel_function * Cil_types.kinstr *
Cil_types.term Cil_types.variant
type identified_behavior = Db_types.kernel_function * Cil_types.kinstr * Cil_types.funbehavior 

type predicate_kind =
| PKRequires of Cil_types.funbehavior
| PKAssumes of Cil_types.funbehavior
| PKEnsures of Cil_types.funbehavior * Cil_types.termination_kind
| PKTerminates
type identified_predicate = predicate_kind * Db_types.kernel_function * Cil_types.kinstr *
Cil_types.identified_predicate
type identified_spec = Db_types.kernel_function * Cil_types.kinstr * Cil_types.funspec 

type identified_property =
| IPBlob of State.t
| IPPredicate of identified_predicate
| IPAxiom of string
| IPCodeAnnot of identified_code_annotation
| IPComplete of identified_complete
| IPDisjoint of identified_disjoint
| IPAssigns of identified_assigns
| IPDecrease of identified_decrease
| IPBehavior of identified_behavior
include Datatype.S_with_collections
val get_kinstr : identified_property -> Cil_types.kinstr
val get_kf : identified_property -> Db_types.kernel_function option
val get_behavior : identified_property -> Cil_types.funbehavior option