module Const:global constantssig..end
basically, these values were determined by experiments
and not considered important enough
to be moved to the configuration options.
exception FOF of bool
FOF theorem is raised if the input is in fof format.
theorem is true iff the input contains a conjecture.exception CLAUSIFIER_RESOURCE_OUT
exception NO_SOLUTION of string
exception PARSE_ERROR
val debug : boolval stable_derivation : boolval version : stringval resolvent_max_size : intPreprocessing_resolution.compute_resolvents.val resolvents_max_number : intPreprocessing_resolution.compute_resolvents.val max_cached_partial_context_unifiers : intContext_unifier.context_partner.cp_partial_context_unifier?val max_unprocessed_assert_candidates : intval max_assert_candidates : int
this trades off potential recomputation time
for a fixed upper limit on candidate memory usage.
val max_assert_lookahead : intval max_assert_lookahead_exceeding : intval max_unprocessed_split_candidates : intConst.max_unprocessed_assert_candidates for
split candidates.val decay_clause_utility_interval : intdecay_clause_utility backtrack operations.val decay_clause_utility_ratio : intdecay_clause_utility_ratio on decay.Lemma).val lemma_max_constraints : intlemma_max_constraints constraints are generated.
just too expensive in general.Jumping through the search space.val jumping_min_distance : intval jumping_check_every_splits : intjump_check_every_splits if a jump should be done
(also based on the used time and the time limit).val jumping_time_delta : floatval fd_static_symmetry_reduction : boolfor each sort do some static symmetry reduction for constants.
E.g., if the constants are a, b, c, d, and the domain size is 3, then the axioms are:
val fd_use_canonicity : bool
E.g., if the constants are a, b, c, d, and the domain size is 3, then the axioms are:
c = 3 -> b = 2
d = 3 -> b = 2 \/ c = 2
val fd_use_term_definitions : boolfor example,
p(f(g(x), y))
will be transformed into the two clauses
p(s0(x))
and
s0(x, y) = f(g(x), y), where s0 is a fresh skolem symbol.
These are then flattened as usual.
The definition term s0(x, y) is reused whenever
an instance of f(g(x), y) has to be flattened.
val fd_use_definitions : bool
for example,
after f(a, x) is flattened to
x = y <- r_f(z, x), r_a(z)
it produces the definition
f(z, y) <- a(z).
val fd_use_diff : boolSymbol.equality by -Symbol.diff.
as except for the equality axioms
all clauses contain only positive equalities,
this has the effect that -v unifies less often,
and there are less context unifiers in most cases.val fd_instantiate_totality_axiom : bool
For example, if f is the only symbol of arity 1,
then add the totality axiom
r_2(f, x, 1) \/ ... \/ r_2(f, x, n)
instead of the more general
r_2(z, x, 1) \/ ... \/ r_2(z, x, n)