module Env:Entry point to "global" settings and datastructures.sig..end
Processing happens in the context of an env object. Usually a
single env is used in a invocation of the system as standalone
program. But of course also several envs could be used at the
same time.
Associted with an env are
Cfg.cfg representing configuration information.Term.symbol_table.Predicate.predicate_table. Via the predicate table,
meta information about predicates, such as index declarations,
as well as the extent of predicates (derived or input unit clauses)
can be accessed. Env provides some functions from Predicate, with a "symbolic"
interface, i.e. instead of taking symbol objects as input, name
and arity are used.type env
val make_env : Cfg.cfg -> envval get_cfg : env -> Cfg.cfgval get_symbol_table : env -> Term.symbol_tableval get_predicate_table : env -> Predicate.predicate_tableval get_negative_units : env -> NegativeUnits.storeval get_rules : env -> Term.term listval get_current_result : env -> Tableau.resultval set_current_result : env -> Tableau.result -> unitval ensure_ready_to_assert : env -> Term.symbol -> Predicate.predicateval ensure_ready_to_run : env -> Term.symbol -> Predicate.predicatetype statement_type =
| |
Meta |
| |
Unit |
| |
Rule |
| |
Disjunction |
| |
False |
val classify_statement_functor : env -> Term.symbol -> statement_typeval lookup_predicate : env -> string -> int -> Predicate.predicateNot_found if the predicate does not exist.val find_predicate : env -> string -> int -> Predicate.predicateval add_rule : env -> Term.term -> unitval add_disjunction : env -> Term.term -> unitval add_false : env -> unitval abolish_predicate : env -> string -> int -> unitval clear_rules : env -> unitval begin_shared_input : env -> unitval end_shared_input : env -> unitval unit_for_env : env -> Term.term -> Term.term