let prop_main p =
  match p.p_kind , p.p_prop with
  | PKProp , Property.IPAssigns (_kf, (Kstmt s), _, _) ->
      "stmt_assigns_" ^ string_of_int s.sid
  | PKProp , p -> id_prop_txt p
  | PKPropLoop , Property.IPAssigns (_kf, (Kstmt s), _, _) ->
      "loop_assigns_" ^ string_of_int s.sid
  | PKPropLoop , p -> id_prop_txt p
  | PKEstablished , p -> id_prop_txt p ^ "_established"
  | PKPreserved , p -> id_prop_txt p ^ "_preserved"
  | PKVarDecr , p -> id_prop_txt p ^ "_decrease"
  | PKVarPos , p -> id_prop_txt p ^ "_positive"
  | PKAFctOut , _ -> "normal_assigns"
  | PKAFctExit , _ -> "exit_assigns"