X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fparamodulation%2Fpath_indexing.ml;h=9212f0ac857ca868141c2dc154a85e5ea2a50b3a;hb=6cf15c86b051582032c794f7da8a325e31fc0480;hp=bc9bc01f1608fa42d36c369a57808496364a6b08;hpb=bdc855b1b6c9552a49a01769cb906a438ca60cc4;p=helm.git diff --git a/helm/ocaml/paramodulation/path_indexing.ml b/helm/ocaml/paramodulation/path_indexing.ml index bc9bc01f1..9212f0ac8 100644 --- a/helm/ocaml/paramodulation/path_indexing.ml +++ b/helm/ocaml/paramodulation/path_indexing.ml @@ -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) ->