module PSMap = Map.Make(OrderedPathStringElement);;
-(* module PSTrie = Trie.Make(PathStringElementMap);; *)
-
module OrderedPosEquality = struct
type t = Utils.pos * Inference.equality
module PosEqSet = Set.Make(OrderedPosEquality);;
+
+module PSTrie = Trie.Make(PSMap);;
+
+(*
(*
* Trie: maps over lists.
* Copyright (C) 2000 Jean-Christophe FILLIATRE
traverse [] t acc
end
+*)
let index trie equality =
;;
+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) ->