X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fparamodulation%2Fpath_indexing.ml;h=72120c7f7cabbabc686c78ed1d0d704d82533c0a;hb=33a02e0b639217093eb63f30169aaa6ac8c78907;hp=95d6de9f55d46f5021d2410fcb4ac90d027f0fc8;hpb=969fb8763a6d4afb88aef1eaa4a4d1ce7d626264;p=helm.git diff --git a/helm/ocaml/paramodulation/path_indexing.ml b/helm/ocaml/paramodulation/path_indexing.ml index 95d6de9f5..72120c7f7 100644 --- a/helm/ocaml/paramodulation/path_indexing.ml +++ b/helm/ocaml/paramodulation/path_indexing.ml @@ -57,6 +57,7 @@ end module PosEqSet = Set.Make(OrderedPosEquality);; + module PSTrie = Trie.Make(PSMap);; (* @@ -116,7 +117,7 @@ end let index trie equality = - let _, (_, l, r, ordering), _, _ = equality in + let _, _, (_, l, r, ordering), _, _ = equality in let psl = path_strings_of_term 0 l and psr = path_strings_of_term 0 r in let index pos trie ps = @@ -137,7 +138,7 @@ let index trie equality = let remove_index trie equality = - let _, (_, l, r, ordering), _, _ = equality in + let _, _, (_, l, r, ordering), _, _ = equality in let psl = path_strings_of_term 0 l and psr = path_strings_of_term 0 r in let remove_index pos trie ps = @@ -163,7 +164,7 @@ let remove_index trie equality = let in_index trie equality = - let _, (_, l, r, ordering), _, _ = equality in + let _, _, (_, l, r, ordering), _, _ = equality in let psl = path_strings_of_term 0 l and psr = path_strings_of_term 0 r in let meta_convertibility = Inference.meta_convertibility_eq equality in @@ -291,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) ->