Module Index.MakeLeaf

Parameters

X : Set.OrderedType

Signature

type t
type elt = X.t
val empty : t
val add : t -> Index_intf.term -> elt -> t
val remove : t -> Index_intf.term -> elt -> t
val is_empty : t -> bool
val iter : t -> (Index_intf.term -> elt -> unit) -> unit
val fold : t -> 'a -> ('a -> Index_intf.term -> elt -> 'a) -> 'a
val size : t -> int
val fold_unify : ?⁠subst:Unif_subst.t -> t Scoped.t -> Index_intf.term Scoped.t -> (Index_intf.term * elt * Unif_subst.t) Sequence.t
val fold_match : ?⁠subst:Index_intf.subst -> t Scoped.t -> Index_intf.term Scoped.t -> (Index_intf.term * elt * Index_intf.subst) Sequence.t

Match the indexed terms against the given query term

val fold_matched : ?⁠subst:Index_intf.subst -> t Scoped.t -> Index_intf.term Scoped.t -> (Index_intf.term * elt * Index_intf.subst) Sequence.t

Match the query term against the indexed terms