File ‹term_index.ML›
signature TERM_INDEX_BASE =
sig
exception INSERT
exception DELETE
end
structure Term_Index_Base : TERM_INDEX_BASE =
struct
exception INSERT
exception DELETE
end
signature TERM_INDEX =
sig
type 'a term_index
val empty : 'a term_index
val is_empty : 'a term_index -> bool
val content : 'a term_index -> 'a list
val norm_term : Term_Normalisation.term_normaliser
val insert : ('a -> bool) -> (term * 'a) -> 'a term_index -> 'a term_index
val insert_safe : ('a -> bool) -> (term * 'a) -> 'a term_index -> 'a term_index
val delete : ('a -> bool) -> term -> 'a term_index -> 'a term_index
val delete_safe : ('a -> bool) -> term -> 'a term_index -> 'a term_index
type 'a retrieval = 'a term_index -> term -> 'a list
val variants : 'a retrieval
val generalisations : 'a retrieval
val instances : 'a retrieval
val unifiables : 'a retrieval
val merge : (('a * 'a) -> bool) -> 'a term_index -> 'a term_index -> 'a term_index
end