]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/tactics/paramodulation/equality_indexing.mli
duplicate entry in menv avoided
[helm.git] / helm / software / components / tactics / paramodulation / equality_indexing.mli
index d7c3bec5ec179db7cb33028b566f84ea694f8578..c4b9df0ea4d94b9e4c016a863b9caf72caf1ba87 100644 (file)
 
 module type EqualityIndex =
   sig
-    module PosEqSet : Set.S with type elt = Utils.pos * Inference.equality
-    val arities : (Cic.term, int) Hashtbl.t
-    type key = Cic.term
-    type t = Discrimination_tree.DiscriminationTreeIndexing(PosEqSet).t
+    module PosEqSet : Set.S with type elt = Utils.pos * Equality.equality
+    type t = Discrimination_tree.Make(Discrimination_tree.CicIndexable)(PosEqSet).t
     val empty : t
-    val retrieve_generalizations : t -> key -> PosEqSet.t
-    val retrieve_unifiables : t -> key -> PosEqSet.t
+    val retrieve_generalizations : t -> Cic.term -> PosEqSet.t
+    val retrieve_unifiables : t -> Cic.term -> PosEqSet.t
     val init_index : unit -> unit
-    val remove_index : t -> Inference.equality -> t
-    val index : t -> Inference.equality -> t
-    val in_index : t -> Inference.equality -> bool
+    val remove_index : t -> Equality.equality -> t
+    val index : t -> Equality.equality -> t
+    val in_index : t -> Equality.equality -> bool
+    val iter : t -> (Discrimination_tree.CicIndexable.constant_name Discrimination_tree.path -> PosEqSet.t -> unit) -> unit
   end
 
 module DT : EqualityIndex