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 : bool
val stable_derivation : bool
val version : string
val resolvent_max_size : int
Preprocessing_resolution.compute_resolvents
.val resolvents_max_number : int
Preprocessing_resolution.compute_resolvents
.val max_cached_partial_context_unifiers : int
Context_unifier.context_partner
.cp_partial_context_unifier
?val max_unprocessed_assert_candidates : int
val max_assert_candidates : int
this trades off potential recomputation time
for a fixed upper limit on candidate memory usage.
val max_assert_lookahead : int
val max_assert_lookahead_exceeding : int
val max_unprocessed_split_candidates : int
Const.max_unprocessed_assert_candidates
for
split candidates.val decay_clause_utility_interval : int
decay_clause_utility
backtrack operations.val decay_clause_utility_ratio : int
decay_clause_utility_ratio
on decay.Lemma
).val lemma_max_constraints : int
lemma_max_constraints
constraints are generated.
just too expensive in general.Jumping
through the search space.val jumping_min_distance : int
val jumping_check_every_splits : int
jump_check_every_splits
if a jump should be done
(also based on the used time and the time limit).val jumping_time_delta : float
val fd_static_symmetry_reduction : bool
for 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 : bool
for 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 : bool
Symbol.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)