X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Fparamodulation%2Futils.ml;h=c2b1905f89f4f313ae4e2cd230ec301e889f883f;hb=e8f64678cc425f19336ff4f905f9b2f00acd6627;hp=6a32e25953f5afff5df75c0ce55058c246303a0c;hpb=2cd538bfba517fa5a300f3b5d32afaa380a7f59f;p=helm.git diff --git a/helm/software/components/tactics/paramodulation/utils.ml b/helm/software/components/tactics/paramodulation/utils.ml index 6a32e2595..c2b1905f8 100644 --- a/helm/software/components/tactics/paramodulation/utils.ml +++ b/helm/software/components/tactics/paramodulation/utils.ml @@ -724,38 +724,20 @@ let string_of_pos = function | Right -> "Right" ;; - -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_URI () = + match LibraryObjects.eq_URI () with + None -> assert false + | Some uri -> uri + +let eq_ind_URI () = LibraryObjects.eq_ind_URI ~eq:(eq_URI ()) +let eq_ind_r_URI () = LibraryObjects.eq_ind_r_URI ~eq:(eq_URI ()) +let sym_eq_URI () = LibraryObjects.sym_eq_URI ~eq:(eq_URI ()) let eq_XURI () = - let s = UriManager.string_of_uri (LibraryObjects.eq_URI ()) in + let s = UriManager.string_of_uri (eq_URI ()) in UriManager.uri_of_string (s ^ "#xpointer(1/1/1)") -let trans_eq_URI () = LibraryObjects.trans_eq_URI ~eq:(LibraryObjects.eq_URI ()) - -let rec metas_of_term = function - | Cic.Meta (i, c) -> [i] - | Cic.Var (_, ens) - | Cic.Const (_, ens) - | Cic.MutInd (_, _, ens) - | Cic.MutConstruct (_, _, _, ens) -> - List.flatten (List.map (fun (u, t) -> metas_of_term t) ens) - | Cic.Cast (s, t) - | Cic.Prod (_, s, t) - | Cic.Lambda (_, s, t) - | Cic.LetIn (_, s, t) -> (metas_of_term s) @ (metas_of_term t) - | Cic.Appl l -> List.flatten (List.map metas_of_term l) - | Cic.MutCase (uri, i, s, t, l) -> - (metas_of_term s) @ (metas_of_term t) @ - (List.flatten (List.map metas_of_term l)) - | Cic.Fix (i, il) -> - List.flatten - (List.map (fun (s, i, t1, t2) -> - (metas_of_term t1) @ (metas_of_term t2)) il) - | Cic.CoFix (i, il) -> - List.flatten - (List.map (fun (s, t1, t2) -> - (metas_of_term t1) @ (metas_of_term t2)) il) - | _ -> [] -;; +let trans_eq_URI () = LibraryObjects.trans_eq_URI ~eq:(eq_URI ()) + +let metas_of_term t = + List.map fst (CicUtil.metas_of_term t) +;;