let print_ghosts_declaration main states_l=
  print_start_block "State ghosts variables declaration";
  fprintf !out_fmt "//%c ghost int %s = %s \n" '@' curOp main ;
  fprintf !out_fmt "//%c ghost int %s = %s \n" '@' curOpStatus callStatus ;
  fprintf !out_fmt "//%c ghost int %s[%s] \n" '@' curState nbStates;
  fprintf !out_fmt "//%c ghost int %s[%s] \n" '@' curTrans nbTrans;
  let acc = ref "" in
  let sep = ref "{" in
    (List.iter
        (fun st ->
          if st.acceptation=True then
            begin
              acc:=(!acc)^(!sep)^(string_of_int st.nums);
              sep:=","
            end)
        states_l);
    fprintf !out_fmt "const int %s[%s] = %s}\n" acceptSt nbAcceptSt !acc;
    print_end_block "State ghosts variables declaration"