TermIndex.Leaftype elt = eltval empty : tval add : t -> Logtk.Index_intf.term -> elt -> tval remove : t -> Logtk.Index_intf.term -> elt -> tval update_leaf : t -> Logtk.Index_intf.term -> (elt -> bool) -> tval is_empty : t -> boolval iter : t -> (Logtk.Index_intf.term -> elt -> unit) -> unitval fold : t -> 'a -> ('a -> Logtk.Index_intf.term -> elt -> 'a) -> 'aval size : t -> intval fold_unify :
t Logtk.Scoped.t ->
Logtk.Index_intf.term Logtk.Scoped.t ->
(Logtk.Index_intf.term * elt * Logtk.Unif_subst.t) Iter.tval fold_unify_complete :
unif_alg:
(Logtk.Term.t Logtk.Scoped.t ->
Logtk.Term.t Logtk.Scoped.t ->
Logtk.Unif_subst.t option OSeq.t) ->
t Logtk.Scoped.t ->
Logtk.Index_intf.term Logtk.Scoped.t ->
(Logtk.Index_intf.term * elt * Logtk.Unif_subst.t option OSeq.t) Iter.tval fold_match :
?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) Iter.tMatch the indexed terms against the given query term
val fold_matched :
?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) Iter.tMatch the query term against the indexed terms