module News:Storing and processing of newly derived facts (similar to a SOS).sig
..end
type
news
news
objects.val make_news : Cfg.cfg -> news
news
object.val null_news : news
news
object to initialize typed fields.val set_max_literal_weight : news -> int -> unit
val reset_weight_limit_exceeded : news -> unit
val unit_table_size : news -> int
val delayed_clauses_size : news -> int
val weight_limit_exceeded : news -> int
val insert_unit : news -> Predicate.predicate -> Fact.fact -> unit
news
object.val insert_disjunction : news ->
(Predicate.predicate * Fact.fact * int * Fact.fact list) list -> unit
news
object. The disjunction is
represented as a list of length > 1 of quadruples. A quadruple
contains: the predicate, the atom, the weight of the atom, and
a list of terms used for complement splitting.val process_news : news -> int
process_news news
processes facts in news
. Processed facts
are removed from news
.
The number of actually new facts is returned, i.e. processed facts that are not subsumed by previously derived facts.
The precise meaning of process_news
depends on the particular strategy.
val clear_news : news -> unit
module Disjunct:sig
..end
type
delayed_clause
val get_disjuncts : delayed_clause -> Disjunct.disjunct list
val pick_disjunction : news -> delayed_clause
Not_found
if no disjunction that is not subsumed by a unit in
the extent is found.type
state
val obtain_state : news -> state
val install_state : state -> unit