auto_context := context;
let rec aux tables maxm flags cache (elems : status) =
(* pp_status context elems; *)
+(* DEBUGGING CODE: uncomment these two lines to stop execution at each iteration
+ auto_status := elems;
+ check_pause ();
+*)
match elems with
+ | (m, s, size, don, todo, fl)::orlist as status when !hint <> None ->
+ (match !hint with
+ | Some i when condition_for_hint i todo ->
+ aux tables maxm flags cache orlist
+ | _ ->
+ hint := None;
+ aux tables maxm flags cache elems)
| [] ->
(* complete failure *)
Gaveup (tables, cache, maxm)
aux tables maxm flags cache ((m, s, size, don,todo, fl)::orlist)
| Notfound
| Failed_in _ when depth > 0 ->
- (match !hint with
- | Some i when condition_for_hint i todo ->
- aux tables maxm flags cache orlist
- | _ -> hint := None;
- (* more depth or is the first time we see the goal *)
+ ( (* more depth or is the first time we see the goal *)
if prunable m s gty todo then
(debug_print (lazy(
"FAIL: LOOP: one father is equal"));