saturate_equations env goal (fun e -> true) passive active
in
let finish = Unix.gettimeofday () in
+
+ let initial =
+ List.fold_left (fun s e -> EqualitySet.add e s)
+ EqualitySet.empty equalities
+ in
+ let addfun s e =
+ if not (EqualitySet.mem e initial) then EqualitySet.add e s else s
+ in
+
+ let passive =
+ match rp with
+ | (n, _), (p, _), _ ->
+ EqualitySet.elements (List.fold_left addfun EqualitySet.empty p)
+ | _ -> assert false
+ in
+ let active =
+ let l = List.map snd (fst ra) in
+ EqualitySet.elements (List.fold_left addfun EqualitySet.empty l)
+ in
Printf.printf "\n\nRESULTS:\nActive:\n%s\n\nPassive:\n%s\n"
- (String.concat "\n"
- (List.map (fun (s, e) -> (string_of_equality ~env e)) (fst ra)))
- (String.concat "\n"
- (List.map (string_of_equality ~env)
- (match rp with (n, _), (p, _), _ -> p)));
+ (String.concat "\n" (List.map (string_of_equality ~env) active))
+ (String.concat "\n" (List.map (string_of_equality ~env) passive));
print_newline ();
with e ->
debug_print (lazy ("EXCEPTION: " ^ (Printexc.to_string e)))