in
let new1 = List.map (build_new U.Gt) res1
and new2 = List.map (build_new U.Lt) res2 in
- let ok e = not (Equality.is_weak_identity (*metasenv', context, ugraph*) e) in
+ let ok e = not (Equality.is_identity (metasenv', context, ugraph) e) in
(!maxmeta,
(List.filter ok (new1 @ new2)))
;;
let set =
List.fold_left (fun s e -> EqualitySet.add e s) EqualitySet.empty eq_list
in
- (*EqualitySet.elements set*) List.rev eq_list, set (* see applys.ma *)
+ (*EqualitySet.elements set*) eq_list, set (* see applys.ma *)
;;
let make_empty_active () = [], Indexing.empty ;;
let make_active eq_list =
Indexing.demodulation_equality bag eq_uri !maxmeta env table current
in
maxmeta := newmeta;
- if Equality.is_weak_identity newcurrent then None else Some newcurrent
+ if Equality.is_identity env newcurrent then None else Some newcurrent
in
let demod current =
if Utils.debug_metas then
let new_pos_set =
List.fold_left
(fun s e ->
- if not (Equality.is_weak_identity e) then
+ if not (Equality.is_identity env e) then
EqualitySet.add e s
else s)
EqualitySet.empty new_pos
(fun eq ((res,pruned), tbl) ->
if List.mem eq res then
(res, (id_of_eq eq)::pruned),tbl
- else if (Equality.is_weak_identity eq) || (find eq res) then (
+ else if (Equality.is_identity env eq) || (find eq res) then (
(res, (id_of_eq eq)::pruned),tbl
)
else
active_list (([],pruned), Indexing.empty),
List.fold_right
(fun eq p ->
- if (Equality.is_weak_identity eq) then p
+ if (Equality.is_identity env eq) then p
else eq::p)
newa []
in
let tbl =
List.fold_left
(fun t e ->
- if Equality.is_weak_identity e then t else Indexing.index t e)
+ if Equality.is_identity env e then t else Indexing.index t e)
Indexing.empty active
in
let res =
(Equality.string_of_equality ~env current)));
let new' = infer bag eq_uri env current active in
let active =
- if Equality.is_weak_identity (*env*) current then active
+ if Equality.is_identity env current then active
else
let al, tbl = active in
al @ [current], Indexing.index tbl current