logtk

Core types and algorithms for logic
IN THIS PACKAGE
Module Logtk . Index_intf . TERM_IDX . Leaf
type t
type elt = elt
val empty : t
val add : t -> term -> elt -> t
val remove : t -> term -> elt -> t
val is_empty : t -> bool
val iter : t -> ( term -> elt -> unit ) -> unit
val fold : t -> 'a -> ( 'a -> term -> elt -> 'a ) -> 'a
val size : t -> int
val fold_unify : t Scoped.t -> term Scoped.t -> (term * elt * Unif_subst.t) Iter.t
val fold_unify_complete : unif_alg:( Term.t Scoped.t -> Term.t Scoped.t -> Unif_subst.t option OSeq.t ) -> t Scoped.t -> term Scoped.t -> (term * elt * Unif_subst.t option OSeq.t) Iter.t
val fold_match : ?subst:subst -> t Scoped.t -> term Scoped.t -> (term * elt * subst) Iter.t

Match the indexed terms against the given query term

val fold_matched : ?subst:subst -> t Scoped.t -> term Scoped.t -> (term * elt * subst) Iter.t

Match the query term against the indexed terms