let user_prop_names p = match p with
| Property.IPPredicate (_,_,_,idp) -> idp.ip_name
| Property.IPCodeAnnot (_,_, ca) -> code_annot_names ca
| Property.IPComplete (_, _, lb) ->
let name =
Pretty_utils.sfprintf "complete_behaviors%a" pp_names lb
in [name]
| Property.IPDisjoint (_, _, lb) ->
let name = Pretty_utils.sfprintf "disjoint_behaviors%a" pp_names lb
in [name]
| Property.IPAssigns (_, _, _, l) ->
List.fold_left
(fun acc (t,_) -> t.it_content.term_name @ acc) ["assigns"] l
| Property.IPFrom _ -> ["from"]
| Property.IPDecrease (_,_, Some ca,_) -> code_annot_names ca
| Property.IPDecrease _ -> ["decreases"]
| Property.IPAxiom _
| Property.IPAxiomatic _
| Property.IPLemma _
| Property.IPBehavior _
| Property.IPUnreachable _
| Property.IPOther _ -> []