]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/paramodulation/utils.ml
fixed bug in proof generation, new weight function to sort equalities, which
[helm.git] / helm / ocaml / paramodulation / utils.ml
index 42703045d0019616b041af03fd1031d02ab66f4f..d6454f2027d4799fdf2dd49bf1ade2bdd685f24d 100644 (file)
@@ -84,8 +84,15 @@ let weight_of_term ?(consider_metas=true) term =
 
 
 let compute_equality_weight ty left right =
-  let weight_of t = fst (weight_of_term ~consider_metas:false t) in
-  (weight_of ty) + (weight_of left) + (weight_of right)
+  let metasw = ref 0 in
+  let weight_of t =
+    let w, m = (weight_of_term ~consider_metas:true(* false *) t) in
+(*     let mw = List.fold_left (fun mw (_, c) -> mw + 2 * c) 0 m in *)
+(*     metasw := !metasw + mw; *)
+    metasw := !metasw + (2 * (List.length m));
+    w
+  in
+  (weight_of ty) + (weight_of left) + (weight_of right) + !metasw
 ;;