(** simplifies current using active and passive *)
let forward_simplify bag eq_uri env current (active_list, active_table) =
- prerr_endline (Equality.string_of_equality ~env current);
let _, context, _ = env in
let demodulate table current =
let newmeta, newcurrent =
let new_pos_set =
List.fold_left
(fun s e ->
- if not (Equality.is_identity env e) then
+ if not (Equality.is_weak_identity e) then
EqualitySet.add e s
else s)
EqualitySet.empty new_pos
active_list (([],pruned), Indexing.empty),
List.fold_right
(fun eq p ->
- if (Equality.is_identity env eq) then p
+ if (Equality.is_weak_identity eq) then p
else eq::p)
newa []
in
Indexing.empty active
in
let res =
- if Equality.is_weak_identity e then None else
forward_simplify bag eq_uri env e (active, tbl)
in
match others with
(Equality.string_of_equality ~env current)));
let new' = infer bag eq_uri env current active in
let active =
- if Equality.is_identity env current then active
+ if Equality.is_weak_identity (*env*) current then active
else
let al, tbl = active in
al @ [current], Indexing.index tbl current