let user_prop_names p = match property_of_id 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 (_, _, _, id_t_list) ->
let add_name names (z, _) = match z with Nothing -> names
| Location { it_content = {term_name = l}} -> l @ names
in List.fold_left add_name ["assigns"] id_t_list
| Property.IPAxiom _
| Property.IPDecrease _ -> []
| Property.IPBehavior _
| Property.IPBlob _ -> []