let smallest_to_resist_on_trace ls =
try
let nb =
List.fold_left (fun nb env -> nb + List.length env.states)
0 !global_envs
in
let progress_inc = nb / Pretty.vt_width + 1 in
TimeCheckCand.start ();
let resistants =
List.fold_left
(resist_on_trace_size progress_inc) ls !global_envs in
match resistants with
| s :: _ -> raise (Sustainable [s])
| [] -> raise Not_found
with
| Exit | Not_found ->
TimeCheckCand.pause ();
if not quiet then eprintf "@{</i>@}@{<bg_default>@}@{<fg_red>X@}@.";
[]
| Sustainable ls ->
TimeCheckCand.pause ();
if not quiet then eprintf "@{</i>@}@{<bg_default>@}@{<fg_green>!@}@.";
ls