Module Make.TermIndex
type t
type elt
= C.WithPos.t
module Leaf : Logtk.Index_intf.LEAF with type elt = elt
val name : string
val empty : unit -> t
val is_empty : t -> bool
val size : t -> int
val add : t -> Logtk.Index_intf.term -> elt -> t
val add_seq : t -> (Logtk.Index_intf.term * elt) Sequence.t -> t
val add_list : t -> (Logtk.Index_intf.term * elt) list -> t
val remove : t -> Logtk.Index_intf.term -> elt -> t
val remove_seq : t -> (Logtk.Index_intf.term * elt) Sequence.t -> t
val remove_list : t -> (Logtk.Index_intf.term * elt) list -> t
val iter : t -> (Logtk.Index_intf.term -> elt -> unit) -> unit
val fold : t -> ('a -> Logtk.Index_intf.term -> elt -> 'a) -> 'a -> 'a
val retrieve_unifiables : ?subst:Logtk.Unif_subst.t -> t Logtk.Scoped.t -> Logtk.Index_intf.term Logtk.Scoped.t -> (Logtk.Index_intf.term * elt * Logtk.Unif_subst.t) Sequence.t
val retrieve_generalizations : ?subst:Logtk.Index_intf.subst -> t Logtk.Scoped.t -> Logtk.Index_intf.term Logtk.Scoped.t -> (Logtk.Index_intf.term * elt * Logtk.Index_intf.subst) Sequence.t
val retrieve_specializations : ?subst:Logtk.Index_intf.subst -> t Logtk.Scoped.t -> Logtk.Index_intf.term Logtk.Scoped.t -> (Logtk.Index_intf.term * elt * Logtk.Index_intf.subst) Sequence.t
val to_dot : elt CCFormat.printer -> t CCFormat.printer
print oneself in DOT into the given file