sig
type predicate
val get_symbol : Predicate.predicate -> Term.symbol
val get_declarations : Predicate.predicate -> Opt.declaration list
val get_discrimination_hints :
Predicate.predicate -> Opt.discrimination_values
val get_delta_predicate : Predicate.predicate -> Predicate.predicate
val get_main_predicate : Predicate.predicate -> Predicate.predicate
val get_is_builtin : Predicate.predicate -> bool
val get_all_bound_reader : Predicate.predicate -> Access.Reader.reader
val get_writers : Predicate.predicate -> Access.Writer.writer list
val has_delta_predicate : Predicate.predicate -> bool
val assert_unit_clause : Predicate.predicate -> Term.term -> unit
val add_declaration : Predicate.predicate -> Opt.declaration -> unit
val extent_size : Predicate.predicate -> int
val default_reader : Predicate.predicate -> Access.Reader.reader
val applicability :
Predicate.predicate -> Opt.binding_pattern -> Opt.applicability_value
val choose_best_reader :
Predicate.predicate -> Opt.binding_pattern -> Access.Reader.reader
val ensure_ready_to_assert : Predicate.predicate -> unit
val ensure_ready_to_run : Predicate.predicate -> unit
val ensure_delta_ready_to_run : Predicate.predicate -> unit
type predicate_table
module PredicateTable :
sig
val find :
Predicate.predicate_table -> Term.symbol -> Predicate.predicate
val iter :
(Term.symbol -> Predicate.predicate -> unit) ->
Predicate.predicate_table -> unit
end
val make_predicate_table : unit -> Predicate.predicate_table
val find_predicate :
Predicate.predicate_table -> Term.symbol -> Predicate.predicate
val abolish : Predicate.predicate_table -> Term.symbol -> unit
val insert : Predicate.predicate -> Term.term -> Fact.entry -> unit
val remove_variant : Predicate.predicate -> Term.term -> unit
val clear_delta_predicate : Predicate.predicate -> unit
end