sig
type sign =
Pos
| StratifiedNegAsFailure
| StratifiedNegAsFailureNotSubsumed
| Findall
| Neg2
module BodyLiteral :
sig
type literal
val get_sign : Ic.BodyLiteral.literal -> Ic.sign
val get_predicate : Ic.BodyLiteral.literal -> Predicate.predicate
val get_atom : Ic.BodyLiteral.literal -> Term.term
val get_reader : Ic.BodyLiteral.literal -> Access.Reader.reader
val get_foreign_context : Ic.BodyLiteral.literal -> Term.context
val get_is_delta : Ic.BodyLiteral.literal -> bool
val get_builtin : Ic.BodyLiteral.literal -> Term.p
val make_literal :
Predicate.predicate_table ->
Term.symbol_table -> Term.term -> Ic.BodyLiteral.literal
val print_optim_info : Ic.BodyLiteral.literal -> unit
end
module HeadLiteral :
sig
type literal
val get_atom : Ic.HeadLiteral.literal -> Term.term
val get_predicate : Ic.HeadLiteral.literal -> Predicate.predicate
val make_literal :
Predicate.predicate_table -> Term.term -> Ic.HeadLiteral.literal
end
module Aux :
sig
type aux
val make_aux :
Cfg.cfg ->
Predicate.predicate_table ->
Term.symbol_table -> NegativeUnits.store -> Ic.Aux.aux
end
module DisjunctiveHead :
sig
type head
val get_literals :
Ic.DisjunctiveHead.head -> Ic.HeadLiteral.literal list
end
type body = Body of Ic.BodyLiteral.literal list
type head =
False
| Unit of Ic.HeadLiteral.literal
| Conjunction of Ic.HeadLiteral.literal list
| Disjunction of Ic.DisjunctiveHead.head
type clause
val get_body : Ic.clause -> Ic.body
val get_head : Ic.clause -> Ic.head
val get_news : Ic.clause -> News.news
val get_id : Ic.clause -> string
val get_source : Ic.clause -> Term.term
val make_clause : Ic.Aux.aux -> Term.term -> Ic.clause
val clause_delta_clauses :
Predicate.predicate list -> Ic.clause -> Ic.clause list
val initialize_clause : Ic.clause -> News.news -> unit
val eval_clause : Ic.clause -> unit
val reset_gen_id : unit -> unit
exception BranchClosed of Fact.proof
end