X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Fparamodulation%2Fequality_indexing.ml;h=19aae0d297b75b88d7a0b68495829e2e92e90c4b;hb=HEAD;hp=d5e5353e9bd585f58427237e6083a952d7e62bf4;hpb=a060ed37101ce0e97bc26af8d49ce2491471c60c;p=helm.git diff --git a/helm/software/components/tactics/paramodulation/equality_indexing.ml b/helm/software/components/tactics/paramodulation/equality_indexing.ml index d5e5353e9..19aae0d29 100644 --- a/helm/software/components/tactics/paramodulation/equality_indexing.ml +++ b/helm/software/components/tactics/paramodulation/equality_indexing.ml @@ -28,16 +28,15 @@ module type EqualityIndex = sig module PosEqSet : Set.S with type elt = Utils.pos * Equality.equality - val arities : (Cic.term, int) Hashtbl.t - type key = Cic.term - type t = Discrimination_tree.DiscriminationTreeIndexing(PosEqSet).t + type t = Discrimination_tree.Make(Cic_indexable.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 -> Equality.equality -> t val index : t -> Equality.equality -> t val in_index : t -> Equality.equality -> bool + val iter : t -> (Cic_indexable.CicIndexable.constant_name Discrimination_tree.path -> PosEqSet.t -> unit) -> unit end module DT = @@ -51,13 +50,11 @@ struct module PosEqSet = Set.Make(OrderedPosEquality);; - include Discrimination_tree.DiscriminationTreeIndexing(PosEqSet) + include Discrimination_tree.Make(Cic_indexable.CicIndexable)(PosEqSet) (* DISCRIMINATION TREES *) - let init_index () = - Hashtbl.clear arities; - ;; + let init_index () = () ;; let remove_index tree equality = let _, _, (_, l, r, ordering), _,_ = Equality.open_equality equality in @@ -98,13 +95,11 @@ module PT = module PosEqSet = Set.Make(OrderedPosEquality);; - include Discrimination_tree.DiscriminationTreeIndexing(PosEqSet) + include Discrimination_tree.Make(Cic_indexable.CicIndexable)(PosEqSet) (* DISCRIMINATION TREES *) - let init_index () = - Hashtbl.clear arities; - ;; + let init_index () = () ;; let remove_index tree equality = let _, _, (_, l, r, ordering), _,_ = Equality.open_equality equality in