X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Fparamodulation%2Futils.ml;h=542c2dd77d26e6c6bae42937abd63d9fc2257a72;hb=8752fac73a864c821b6954f0572bce2052924183;hp=db19e87d1d89f77f67ed818df82b625e323da12e;hpb=550c13e167fe77a1bea463b347227c8570f10072;p=helm.git diff --git a/helm/software/components/tactics/paramodulation/utils.ml b/helm/software/components/tactics/paramodulation/utils.ml index db19e87d1..542c2dd77 100644 --- a/helm/software/components/tactics/paramodulation/utils.ml +++ b/helm/software/components/tactics/paramodulation/utils.ml @@ -60,6 +60,8 @@ let string_of_comparison = function | Eq -> "=" | Incomparable -> "I" +type environment = Cic.metasenv * Cic.context * CicUniv.universe_graph + module OrderedTerm = struct type t = Cic.term @@ -101,6 +103,13 @@ let metas_of_term term = aux term ;; +let rec remove_local_context = + function + | Cic.Meta (i,_) -> Cic.Meta (i,[]) + | Cic.Appl l -> + Cic.Appl(List.map remove_local_context l) + | t -> t + (************************* rpo ********************************) let number = [ @@ -291,7 +300,7 @@ end module IntSet = Set.Make(OrderedInt) let compute_equality_weight (ty,left,right,o) = - let factor = 1 in + let factor = 2 in match o with | Lt -> let w, m = (weight_of_term @@ -427,7 +436,6 @@ let compare_weights ?(normalize=false) | (m, _, n) when m > 0 && n > 0 -> Incomparable | _ -> assert false - ;; @@ -723,11 +731,7 @@ let string_of_pos = function | Right -> "Right" ;; +let metas_of_term t = + List.map fst (CicUtil.metas_of_term t) +;; -let eq_ind_URI () = LibraryObjects.eq_ind_URI ~eq:(LibraryObjects.eq_URI ()) -let eq_ind_r_URI () = LibraryObjects.eq_ind_r_URI ~eq:(LibraryObjects.eq_URI ()) -let sym_eq_URI () = LibraryObjects.sym_eq_URI ~eq:(LibraryObjects.eq_URI ()) -let eq_XURI () = - let s = UriManager.string_of_uri (LibraryObjects.eq_URI ()) in - UriManager.uri_of_string (s ^ "#xpointer(1/1/1)") -let trans_eq_URI () = LibraryObjects.trans_eq_URI ~eq:(LibraryObjects.eq_URI ())