Module FeatureVector.Make

Parameters

C : Index.CLAUSE

Signature

type feature_vector = int list

a vector of feature

Features

module Feature : sig ... end
val compute_fv : Feature.t list -> lits -> feature_vector

Index

include Index.SUBSUMPTION_IDX with module C = C
type t
module C = C
val name : string
val empty : unit -> t

Empty index

val add : t -> C.t -> t

Index the clause

val add_seq : t -> C.t Sequence.t -> t
val add_list : t -> C.t list -> t
val remove : t -> C.t -> t

Un-index the clause

val remove_seq : t -> C.t Sequence.t -> t
val retrieve_subsuming : t -> Index_intf.lits -> Index_intf.labels -> C.t Sequence.t

Fold on a set of indexed candidate clauses, that may subsume the given clause.

val retrieve_subsuming_c : t -> C.t -> C.t Sequence.t
val retrieve_subsumed : t -> Index_intf.lits -> Index_intf.labels -> C.t Sequence.t

Fold on a set of indexed candidate clauses, that may be subsumed by the given clause

val retrieve_subsumed_c : t -> C.t -> C.t Sequence.t
val retrieve_alpha_equiv : t -> Index_intf.lits -> Index_intf.labels -> C.t Sequence.t

Retrieve clauses that are potentially alpha-equivalent to the given clause

val retrieve_alpha_equiv_c : t -> C.t -> C.t Sequence.t

Retrieve clauses that are potentially alpha-equivalent to the given clause

val iter : t -> C.t Sequence.t
val fold : ('a -> C.t -> 'a) -> 'a -> t -> 'a
val empty_with : Feature.t list -> t
val default_features : Feature.t list
val features_of_signature : ?⁠ignore:(ID.t -> bool) -> Signature.t -> Feature.t list

Build a set of features from the given signature. IDs that satisfy ignore are not considered (default ignores connectives)

val of_signature : Signature.t -> t
val features : t -> Feature.t list