]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/paramodulation/path_indexing.ml
added various profiling statistics...
[helm.git] / helm / ocaml / paramodulation / path_indexing.ml
index bc9bc01f1608fa42d36c369a57808496364a6b08..9212f0ac857ca868141c2dc154a85e5ea2a50b3a 100644 (file)
@@ -49,8 +49,6 @@ end
 
 module PSMap = Map.Make(OrderedPathStringElement);;
 
-(* module PSTrie = Trie.Make(PathStringElementMap);; *)
-
 module OrderedPosEquality = struct
   type t = Utils.pos * Inference.equality
 
@@ -59,6 +57,10 @@ end
 
 module PosEqSet = Set.Make(OrderedPosEquality);;
 
+
+module PSTrie = Trie.Make(PSMap);;
+
+(*
 (*
  * Trie: maps over lists.
  * Copyright (C) 2000 Jean-Christophe FILLIATRE
@@ -111,6 +113,7 @@ module PSTrie = struct
     traverse [] t acc
 
 end
+*)
 
 
 let index trie equality =
@@ -289,6 +292,12 @@ let rec retrieve_unifiables trie term =
 ;;
 
 
+let retrieve_all trie term =
+  PSTrie.fold
+    (fun k v s -> PosEqSet.union v s) trie PosEqSet.empty
+;;
+
+
 let string_of_pstrie trie =
   let rec to_string level = function
     | PSTrie.Node (v, map) ->