sig
type lits = Index_intf.lits
module Make :
functor (C : Index.CLAUSE) ->
sig
type feature_vector = int list
module Feature :
sig
type t = { name : string; f : FeatureVector.lits -> int; }
val name : FeatureVector.Make.Feature.t -> string
val compute :
FeatureVector.Make.Feature.t -> FeatureVector.lits -> int
val pp : t CCFormat.printer
val to_string : t -> string
val sum_of_depths : FeatureVector.Make.Feature.t
val size_plus : FeatureVector.Make.Feature.t
val size_minus : FeatureVector.Make.Feature.t
val count_symb_plus : ID.t -> FeatureVector.Make.Feature.t
val count_symb_minus : ID.t -> FeatureVector.Make.Feature.t
val max_depth_plus : ID.t -> FeatureVector.Make.Feature.t
val max_depth_minus : ID.t -> FeatureVector.Make.Feature.t
end
val compute_fv :
FeatureVector.Make.Feature.t list ->
FeatureVector.lits -> FeatureVector.Make.feature_vector
type t
module C :
sig
type t = C.t
val compare : t -> t -> int
val to_lits : t -> Index_intf.lits
end
val name : string
val empty : unit -> t
val add : t -> C.t -> t
val add_seq : t -> C.t Sequence.t -> t
val add_list : t -> C.t list -> t
val remove : t -> C.t -> t
val remove_seq : t -> C.t Sequence.t -> t
val retrieve_subsuming : t -> Index_intf.lits -> C.t Sequence.t
val retrieve_subsuming_c : t -> C.t -> C.t Sequence.t
val retrieve_subsumed : t -> Index_intf.lits -> C.t Sequence.t
val retrieve_subsumed_c : t -> C.t -> C.t Sequence.t
val iter : t -> C.t Sequence.t
val fold : ('a -> C.t -> 'a) -> 'a -> t -> 'a
val retrieve_alpha_equiv : t -> FeatureVector.lits -> C.t Sequence.t
val retrieve_alpha_equiv_c : t -> C.t -> C.t Sequence.t
val empty_with : FeatureVector.Make.Feature.t list -> t
val default_features : FeatureVector.Make.Feature.t list
val features_of_signature :
?ignore:(ID.t -> bool) ->
Signature.t -> FeatureVector.Make.Feature.t list
val of_signature : Signature.t -> t
val features : t -> FeatureVector.Make.Feature.t list
end
end