Module Ic


module Ic: sig .. end
Compiled input clauses.


Notes:

The compiled clauses intern references to predicate objects (i.e. objects of type Predicate.predicate) and information obtained by them. Abolishing a predicate can make a compiled clause unusable.

See also notes for module IcSet.

type sign =
| Pos (*Positive.*)
| StratifiedNegAsFailure (*Stratified negation as failure.

\+(A), where A must be a non-builtin atom. Succeeds iff A is not unifiable with a fact, at time of the call. A is handled like a builtin that has to be ground in subgoal sorting.

This kind of negation should work well with stratification and ground facts. More complex expressions within the scope of \+ (conjunctions, existential variables) can be translated into this form.

*)
| StratifiedNegAsFailureNotSubsumed (*See explanation for 'not_subsumed' in user documentation.*)
| Findall
| Neg2

module BodyLiteral: sig .. end
module HeadLiteral: sig .. end
module Aux: sig .. end
module DisjunctiveHead: sig .. end

type body =
| Body of BodyLiteral.literal list

type head =
| False
| Unit of HeadLiteral.literal
| Conjunction of HeadLiteral.literal list
| Disjunction of DisjunctiveHead.head
type clause 
val get_body : clause -> body
val get_head : clause -> head
val get_news : clause -> News.news
val get_id : clause -> string
val get_source : clause -> Term.term
val make_clause : Aux.aux -> Term.term -> clause
val clause_delta_clauses : Predicate.predicate list -> clause -> clause list
Returns a list of clauses, that contains for each body literal with a predicate that appears in delta_predicates, a copy of the clause, with the body literal replaced by ist delta version.
val initialize_clause : clause -> News.news -> unit
Prepare a clause for eval_clause.
val eval_clause : clause -> unit
Raises BranchClosed.
val reset_gen_id : unit -> unit
exception BranchClosed of Fact.proof
Raised if False head has been derived (a hypertableau branch has been closed.