module Predicate:Information associated with predicates. This includes:sig..end
access.type predicate
val get_symbol : predicate -> Term.symbolval get_declarations : predicate -> Opt.declaration listval get_discrimination_hints : predicate -> Opt.discrimination_valuesval get_delta_predicate : predicate -> predicateval get_main_predicate : predicate -> predicateval get_is_builtin : predicate -> boolval get_all_bound_reader : predicate -> Access.Reader.readerval get_writers : predicate -> Access.Writer.writer listval has_delta_predicate : predicate -> boolpredicate is assumed to be not a delta predicate.val assert_unit_clause : predicate -> Term.term -> unitval add_declaration : predicate -> Opt.declaration -> unitval extent_size : predicate -> intval default_reader : predicate -> Access.Reader.readerNot_found if there is no reader associated with the predicate.val applicability : predicate -> Opt.binding_pattern -> Opt.applicability_valueval choose_best_reader : predicate -> Opt.binding_pattern -> Access.Reader.readerval ensure_ready_to_assert : predicate -> unitval ensure_ready_to_run : predicate -> unitval ensure_delta_ready_to_run : predicate -> unit
A predicate table maintains an association between predicate symbols
and predicate objects.
type predicate_table
module PredicateTable:sig..end
val make_predicate_table : unit -> predicate_tableval find_predicate : predicate_table -> Term.symbol -> predicateval abolish : predicate_table -> Term.symbol -> unitval insert : predicate -> Term.term -> Fact.entry -> unitval remove_variant : predicate -> Term.term -> unitval clear_delta_predicate : predicate -> unit