Index of values


( ** ) [Clause_intf.S.Eligible]
Logical "and"
(++) [Clause_intf.S.Eligible]
Logical "or"
(>>=) [Phases.Infix]
(>>=) [SimplM.Infix]
(>>=) [SimplM]
Monadic bind
(>>?=) [Phases.Infix]
(>|=) [Phases.Infix]
(>|=) [SimplM.Infix]
(~~) [Clause_intf.S.Eligible]
Logical "not"

A
abs [Bool_lit_intf.S]
Literal without its sign
adapt_c [ProofStep]
adapt_f [ProofStep]
add [Flex_state]
add [Trail]
add [Monome]
Add term with coefficient.
add [AC_intf.S]
Declare that the given symbol is AC, and update the Env subsequently by adding clauses, etc.
add [ProofState_intf.S.CLAUSE_SET]
Add clauses to the set
add [ClauseQueue_intf.S]
Add a clause to the Queue
add_active [Env_intf.S]
Add active clauses
add_active_simplify [Env_intf.S]
Add simplification w.r.t active set
add_backward_redundant [Env_intf.S]
Add rule that finds redundant clauses within active set
add_backward_simplify [Env_intf.S]
Add simplification of the active set
add_binary_inf [Env_intf.S]
Add a binary inference rule
add_clause [Sat_solver_intf.S]
add_clause ~tag ~proof c adds the constraint c to the SAT solver, annotated with proof.
add_clause_conversion [Env_intf.S]
add_clause_seq [Sat_solver_intf.S]
add_clauses [Sat_solver_intf.S]
add_const [Monome]
Add given number to constant
add_constr [Compute_prec]
Add a precedence constraint with its priority.
add_constr_rule [Compute_prec]
Add a precedence constraint rule
add_constrs [Compute_prec]
add_default_hook [Literal]
add_from_hook [Ctx_intf.S.Lit]
add_generate [Env_intf.S]
add_is_trivial [Env_intf.S]
Add tautology detection rule
add_list [Trail]
add_list [Monome]
add_lit_rule [Env_intf.S]
Add a literal rewrite rule
add_multi_simpl_rule [Env_intf.S]
Add a multi-clause simplification rule
add_opt [Params]
add_opts [Params]
add_passive [Env_intf.S]
Add passive clauses
add_redundant [Env_intf.S]
Add redundancy criterion w.r.t.
add_rewrite_rule [Env_intf.S]
Add a term rewrite rule
add_rw_simplify [Env_intf.S]
Add forward rewriting rule
add_signature [Ctx_intf.S]
Merge the given signature with the context's one
add_simpl [Env_intf.S]
Add simplification clauses
add_simplify [Env_intf.S]
Add basic simplification rule
add_status [Compute_prec]
Specify explicitely the status of some symbols
add_step_init [Env_intf.S]
add a function to call before each saturation step
add_stmt [Rewrite_rule.Set]
add_stmt st set adds rewrite rules from st to set, if any
add_to_hook [Ctx_intf.S.Lit]
add_unary_inf [Env_intf.S]
Add a unary inference rule
adds [ClauseQueue_intf.S]
Add clauses to the queue
after_check_sat [Avatar_intf.S]
age [ClauseQueue_intf.S.WeightFun]
Returns the age of the clause (or 0 for the empty clause)
all_simplify [Env_intf.S]
Use all simplification rules to convert a clause into a set of maximally simplified clause (or [] if they are all trivial).
always [Clause_intf.S.Eligible]
All literals
app_list [SimplM]
apply [ClauseContext]
apply c t fills the hole of c with the given term t.
apply_same_scope [ClauseContext]
Same as ClauseContext.apply, but now variables from the context and variables from the term live in the same scope
apply_sign [Bool_lit_intf.S]
apply_sign s lit is lit if s, neg lit otherwise
apply_subst [ArithLit.Focus]
Apply a substitution
apply_subst [ArithLit]
apply_subst [Monome.Focus]
Apply a substitution.
apply_subst [Monome]
Apply a substitution to the monome's terms
apply_subst [Literals]
apply_subst [Literal]
apply_subst [Clause_intf.S]
apply the substitution to the clause
apply_subst_list [Literal]
apply_subst_no_renaming [ArithLit.Focus]
Apply a substitution with renaming (careful with collisions!)
apply_subst_no_renaming [ArithLit]
apply_subst_no_renaming [Monome.Focus]
Apply a substitution but doesn't rename free variables.
apply_subst_no_renaming [Monome]
Apply a substitution but doesn't rename free variables.
apply_subst_no_renaming [Literal]
apply_subst_no_simp [ArithLit]
Same as ArithLit.apply_subst but takes care simplifying the literal.
apply_subst_no_simp [Literal]
are_variant [ArithLit]
are_variant [Literals]
Simple interface on top of Literals.variant with distinc scopes
are_variant [Literal]
arith [Clause_intf.S.Eligible]
arith_hook_from [Literal.Conv]
as_case [BBox]
If payload t = Case p, then return Some p, else return None
as_cst [Ind_cst]
as_cst_exn [Ind_cst]
Unsafe version of Ind_cst.as_cst
as_eqn [Literal.View]
as_graph [ProofPrint]
Get a graph of the proof
as_sub_cst_of [Ind_cst]
downcasts iff t is a sub-constant of cst
at [Literals.Pos]
Return the subterm at the given position, or
at [Literal.Pos]
Subterm at given position, or
at [Clause_intf.S.Pos]
available_selections [Selection]
available names for selection functions
axioms [MetaProverState_intf.S.Result]
Additional axioms
axioms [AC_intf.S]
List of (persistent) axioms that are needed for simplifications to be complete for the given symbol.

B
backward_demodulate [Superposition.S]
backward version of demodulation: add to the set active clauses that can potentially be rewritten by the given clause
backward_simplify [Env_intf.S]
Perform backward simplification with the given clause.
basic_simplify [Superposition.S]
basic simplifications (remove duplicate literals, trivial literals, destructive equality resolution...)
before_check_sat [Avatar_intf.S]
bfs [ClauseQueue_intf.S]
Strong orientation toward FIFO
bind [Phases]
bind state f calls f to go one step further from state
by_name [Extensions]
Get an extension by its name, if any

C
canc_div_case_switch [ArithInt.S]
Eliminate negative divisibility literals within a power-of-prime quotient of Z: not (d^i | m) ----->
canc_div_chaining [ArithInt.S]
Chain together two divisibility literals, assuming they share the same prime
canc_div_prime_decomposition [ArithInt.S]
Eliminate divisibility literals with a non-power-of-prime quotient of Z (for instance 6 | a ---> { 2 | a, 3 | a })
canc_divisibility [ArithInt.S]
Infer divisibility constraints from integer equations, for instace C or 2a=b ----> C or 2 | b if a is maximal
canc_equality_factoring [ArithInt.S]
cancellative equality factoring
canc_ineq_chaining [ArithInt.S]
cancellative inequality chaining.
canc_ineq_factoring [ArithInt.S]
Factoring between two inequation literals
canc_less_to_lesseq [ArithInt.S]
Simplification: a < b ----> a+1 ≤ b
canc_sup_active [ArithInt.S]
cancellative superposition where given clause is active
canc_sup_passive [ArithInt.S]
cancellative superposition where given clause is passive
cancellation [ArithInt.S]
cancellation (unifies some terms on both sides of a comparison operator)
case_compare [Ind_cst]
case_equal [Ind_cst]
case_hash [Ind_cst]
case_is_base [Ind_cst]
case_is_rec [Ind_cst]
case_sub_constants [Ind_cst]
All sub-constants that are subterms of a specific case
case_switch_limit [ArithInt]
Positive integer: maximum width of an inequality case switch.
case_to_term [Ind_cst]
check [Sat_solver_intf.S]
Is the current problem satisfiable?
check_empty [Avatar_intf.S]
Forbid empty clauses with trails, i.e.
check_satisfiability [Avatar_intf.S]
Checks that the SAT context is still valid
check_timeout [Saturate]
check whether we still have some time w.r.t timeout
classify [Classify_cst]
classify id returns the role id plays in inductive reasoning
clauses [ProofState_intf.S.PassiveSet]
Current set of clauses
clauses [ProofState_intf.S.ActiveSet]
Current set of clauses
coeff [Monome.Focus]
coeffs [Monome.Seq]
coeffs [Monome]
coefficients
coeffs_n [Monome.Int.Solve]
coeffs_n l gcd, if length l = n, returns a function that takes a list of n-1 terms k1, ..., k(n-1) and returns a list of monomes m1, ..., mn that depend on k1, ..., k(n-1) such that the sum l1 * m1 + l2 * m2 + ... + ln * mn = 0.
coeffs_swap [Monome.Seq]
combine [ClauseQueue_intf.S.WeightFun]
Combine a list of pairs w, coeff where w is a weight function, and coeff a strictly positive number.
combine [Clause_intf.S.Eligible]
Logical "and" of the given eligibility criteria.
compare [Trail]
compare [ClauseContext]
compare [Bool_lit_intf.S]
compare [ArithLit]
compare [Monome.Int]
Compare monomes as if they were multisets of terms, the coefficient in front of a term being its multiplicity.
compare [Monome]
compare [ProofStep]
compare [Literals]
compare [Literal.Comp]
partial comparison of literals under the given term ordering
compare [Literal]
lexicographic comparison of literals
compare [SClause]
compare [Clause_intf.S.WithPos]
compare [Ctx_intf.S]
Compare two terms
compare [Clause_intf.S]
compare_by_result [ProofStep]
Compare proofs by their result
compare_proof [ProofStep]
comparison [Monome]
Try to compare two monomes.
condensation [Superposition.S]
condensation
const [Monome.Int]
Empty monomial, from constant (decides type)
const [Monome]
constant
contextual_literal_cutting [Superposition.S]
contexual Literal.t cutting of the given clause by the active set
convert_input_statements [Env_intf.S]
Convert raw input statements into clauses, triggering Env_intf.S.on_input_statement
convert_lemma [Avatar_intf.S]
Intercepts input lemmas and converts them into clauses.
cover_set_cases [Ind_cst]
Cases of the cover set
cover_set_sub_constants [Ind_cst]
All sub-constants of a given inductive constant
cr_add [Env_intf.S]
cr_return [Env_intf.S]
cr_skip [Env_intf.S]
create [Clause_intf.S]
Build a new clause from the given literals.
create_a [Clause_intf.S]
Build a new clause from the given literals.
create_key [Flex_state]
cst_compare [Ind_cst]
cst_cover_set [Ind_cst]
Get the cover set of this constant:
cst_depth [Ind_cst]
cst_equal [Ind_cst]
cst_hash [Ind_cst]
cst_id [Ind_cst]
cst_of_id [Ind_cst]
cst_of_id id ty returns a new or existing constant for this id.
cst_of_term [Ind_cst]
cst_of_term t returns a new or existing constant for this term, if any.
cst_same_type [Ind_cst]
cst_to_term [Ind_cst]
cst_ty [Ind_cst]
cur_phase [Phases.Key]
The current phase is stored in the state using this key
current_phase [Phases]
Get the current phase
cut [Literals.Pos]
Index + literal position
cut [Literal.Pos]
cut the subterm position off.
cut_res_clauses [Avatar_intf.S]

D
debug [ProofState_intf.S]
debug functions: much more detailed printing
declarations_of_cst [Ind_cst]
declarations_of_cst c returns a list of type declarations that should be made if c is new (declare the subcases of its coverset)
declare [Ctx_intf.S]
Declare the type of a symbol (updates signature)
declare_cst [Ind_cst]
Adds the constant to the set of inductive constants, make a coverset...
declare_ty [EnumTypes.S]
Declare that the domain of the type ty_id is restricted to given list of cases, in the form forall var. Or_{c in cases} var = c.
default [Extensions]
Default extension.
default [ClauseQueue_intf.S.WeightFun]
default [ClauseQueue_intf.S]
Obtain the default queue
default_selection [Selection]
Default selection function
demodulate [Superposition.S]
rewrite clause using orientable unit equations
depth [Literals]
depth [Literal]
depth of literal
difference [Monome.Focus]
difference [Monome]
diophant2 [Monome.Int.Solve]
Find the solution vector for this diophantine equation, or fails.
diophant_l [Monome.Int.Solve]
generalize diophantine equation solving to a list of at least two coefficients.
distance_to_goal [ProofStep]
distance_to_conjecture p returns None if p has no ancestor that is a conjecture (including p itself).
distance_to_goal [Clause_intf.S]
See Proof.distance_to_goal, applied to the clause's proof
div_case_switch_limit [ArithInt]
Positive integer: maximum prime number suitable for div_case_switch (ie maximum n for enumeration of cases in n^k | x)
divisible [Monome.Int]
divisible e n returns true if all coefficients of e are divisible by n and n is an int >= 2
do_binary_inferences [Env_intf.S]
do binary inferences that involve the given clause
do_generate [Env_intf.S]
do generating inferences
do_unary_inferences [Env_intf.S]
do unary inferences for the given clause
dominates [Ind_cst]
dominates c sub is true if sub is a sub-constant of c, or if some sub-constant of c dominates sub transitively
dominates [Monome]
dominates ~strict m1 m2 is true if m1 is always greater than m2, in any model or variable valuation.
dot_all_roots [Params]
dot_file [Params]
dot_sat [Params]
dummy [Bool_lit.PAYLOAD]
dummy [Bool_lit_intf.S]
Value that should not be used
dummy [BBox]

E
eligible_param [Clause_intf.S]
Bitvector that indicates which of the literals of subst(clause) are eligible for paramodulation.
eligible_res [Clause_intf.S]
Bitvector that indicates which of the literals of subst(clause) are eligible for resolution.
eliminate_unshielded [ArithInt.S]
Eliminate unshielded variables using an adaptation of Cooper's algorithm
empty [Rewrite_rule.Set]
empty [Flex_state]
empty [Trail]
empty [Compute_prec]
empty_state [Phases]
enable_depth_limit [Heuristics]
Set a maximal depth for terms.
eq [Monome]
eq [Clause_intf.S.Eligible]
Equations
eq_subsumes [Superposition.S]
equality subsumption
eq_zero [Monome.Int.Solve]
Returns substitutions that make the monome always equal to zero.
equal [Trail]
equal [ClauseContext]
equal [Bool_lit_intf.S]
equal [ArithLit]
equal [ProofStep]
equal [Literals]
equal [Literal]
equality of literals
equal [SClause]
equal_com [ArithLit]
equal_com [Literals]
equal_com [Literal]
commutative equality of lits
equal_proof [ProofStep]
exists [Trail]
exists_ac [AC_intf.S]
Is there any AC symbol?
exit [Phases]
Exit
expand_def [Params]
explore [ClauseQueue_intf.S]
Use heuristics for selecting "small" clauses
extension [MetaProverState]
Prover extension
extension [Ind_types]
extension [Heuristics]
extension [ArithInt]
extension [EnumTypes]
extension [Rewriting]
extension [Superposition]
extension [Induction]
extension [Avatar]
Extension that enables Avatar splitting and create a new SAT-solver.
extension [AC]
extensions [Extensions]
All currently available extensions
extract [ClauseContext]
extract lits t returns None if t doesn't occur in lits.
extract_exn [ClauseContext]
Unsafe version of ClauseContext.extract.

F
factorize [Monome.Int]
Factorize e into Some (e',s) if e = e' x s, None otherwise (ie if s=1).
fail [Phases]
Fail with the given error message
favor_all_neg [ClauseQueue_intf.S.WeightFun]
Favor clauses with only negative ground lits
favor_goal [ClauseQueue_intf.S.WeightFun]
The closest a clause is from the initial goal, the lowest its weight.
favor_ground [ClauseQueue_intf.S.WeightFun]
favor_horn [ClauseQueue_intf.S.WeightFun]
favor_non_all_neg [ClauseQueue_intf.S.WeightFun]
Favor clauses that have at least one non-(ground negative) lit
files [Params]
filter [Trail]
Only keep a subset of boolean literals
filter [Clause_intf.S.Eligible]
filter_absurd_trails [Avatar_intf.S]
filter_trails f calls f on every trail associated with the empty clause.
find [Monome]
find_cst_in_term [Ind_cst]
find_cst_in_lits term searches subterms of term for constants that are of an inductive type and that are not constructors.
find_exn [Monome]
find_proof [AC_intf.S]
Recover the proof for the AC-property of this symbol.
find_signature [Ctx_intf.S]
Find the type of the given symbol
find_signature_exn [Ctx_intf.S]
Unsafe version of Ctx_intf.S.find_signature.
flag_backward_simplified [SClause]
clause has been backward simplified
flag_cut_introduced [Avatar]
flag_lemma [SClause]
clause is a lemma
flag_persistent [SClause]
clause cannot be redundant
flag_redundant [SClause]
clause has been shown to be redundant
flex_add [Env_intf.S]
add k -> v to the flex state
flex_get [Env_intf.S]
flex_get k is the same as Flex_state.get_exn k (flex_state ()).
flex_state [Env_intf.S]
State inherited from configuration
focus_arith [Literal.View]
Focus on a specific term in an arithmetic literal.
focus_term [ArithLit.Focus]
Attempt to focus on the given atomic term, if it occurs directly under the arith literal
focus_term [Monome.Focus]
Focus on the given term, if it is one of the members of the given monome.
focus_term_exn [ArithLit.Focus]
focus_term_exn [Monome.Focus]
focused_monome [ArithLit.Focus]
The focused monome
fold [Trail]
fold [ArithLit]
fold [Monome]
Fold over terms
fold [Literal]
basic fold
fold_arith [Literals]
Fold over eligible arithmetic literals
fold_arith_terms [Literals]
Fold on terms under arithmetic literals, with the focus on the current term
fold_eqn [Literals]
fold f over all literals sides, with their positions.
fold_l [Phases]
fold_l [SimplM]
fold_lits [Literals]
Fold over literals who satisfy eligible.
fold_m [Monome.Focus]
Fold on terms of the given monome, focusing on them one by one, along with the position of the focused term
fold_max [Monome]
Fold over terms that are maximal in the given ordering.
fold_terms [ArithLit.Focus]
Fold on focused terms in the literal, one by one, with the position of the focused term
fold_terms [ArithLit]
fold_terms [Literals]
See Literal.fold_terms, which is the same but for the eligible argument
fold_terms [Literal]
Iterate on terms, maybe subterms, of the literal.
for_all [Trail]
forward_simplify [Env_intf.S]
Simplify the clause w.r.t to the active set and experts
fresh_id [Bool_lit_intf.S]
Make a fresh ID.
from_hooks [Ctx_intf.S.Lit]

G
generate [Env_intf.S]
Perform all generating inferences
generic_unif [ArithLit]
Generic unification/matching/variant, given such an operation on monomes
get [Flex_state]
get [Phases]
get [ArithLit.Focus]
get [Monome.Focus]
get [SimplM]
get_active [Env_intf.S]
Active clauses
get_arith [Literals.View]
get_arith [Literal.View]
Extract an arithmetic literal
get_arith_exn [Literals.View]
get_empty_clauses [Env_intf.S]
Set of known empty clauses
get_env [MetaProverState]
get_env (module Env) returns the meta-prover saved in Env, assuming the extension has been loaded in Env.
get_env [Avatar]
get_eqn [Literals.View]
get the term l at given position in clause, and r such that l ?= r is the Literal.t at the given position.
get_eqn [Literal.View]
View of a Prop or Equation literal, oriented by the position.
get_eqn_exn [Literals.View]
get_exn [Flex_state]
get_exn [ArithLit.Focus]
get_flag [SClause]
get value of boolean flag
get_flag [Clause_intf.S]
get value of boolean flag
get_key [Phases]
get_key k returns the value associated with k in the state
get_or [Flex_state]
get_passive [Env_intf.S]
Passive clauses
get_profile [ClauseQueue]
get_proof [Sat_solver_intf.S]
Return a proof of false, assuming Sat_solver_intf.S.check returned Unsat.
get_proof_of_lit [Sat_solver_intf.S]
get_proof_of_lit lit returns the proof of lit, assuming it has been proved true at level 0 (see Sat_solver_intf.S.valuation_level)
get_some_empty_clause [Env_intf.S]
Some empty clause, if present, otherwise None
given_clause [Saturate.S]
run the given clause until a timeout occurs or a result is found.
given_clause_step [Saturate.S]
Perform one step of the given clause algorithm.
goal_oriented [ClauseQueue_intf.S]
custom weight function that favors clauses that are "close" to initial conjectures.
ground [ClauseQueue_intf.S]
Favor positive unit clauses and ground clauses

H
handle_distinct_constants [Superposition.S]
Decide on "quoted" "symbols" (which are all distinct)
has_empty_clause [Env_intf.S]
Is there an empty clause?
has_instances [Monome.Int]
For real or rational, always true.
has_selected_lits [Clause_intf.S]
does the clause have some selected literals?
has_trail [Clause_intf.S]
Has a non-empty trail?
hash [Trail]
hash [ClauseContext]
hash [Bool_lit_intf.S]
hash [Monome]
hash [ProofStep]
hash [Literal]
hashing of literal
hash [SClause]
hash_fun [ClauseContext]
hash_fun [Bool_lit_intf.S]
hash_fun [Monome]
hash_proof [ProofStep]
heuristic_weight [Literal]
heuristic difficulty to eliminate lit
home [Const]

I
id [SClause]
id [Clause_intf.S]
idx [Literals.Pos]
Index in the literal array
idx_back_demod [Superposition.S]
index for backward demodulation/simplifications
idx_fv [Superposition.S]
index for subsumption
idx_simpl [Superposition.S]
index for forward simplifications
idx_sup_from [Superposition.S]
index for superposition from the set
idx_sup_into [Superposition.S]
index for superposition into the set
infer_active [Superposition.S]
superposition where given clause is active
infer_equality_factoring [Superposition.S]
infer_equality_resolution [Superposition.S]
infer_passive [Superposition.S]
superposition where given clause is passive
inject_case [BBox]
Inject cst = case
inject_lemma [BBox]
Make a new literal from this list of clauses that we are going to cut on.
inject_lits [BBox]
Inject a clause into a boolean literal.
instantiate_vars [EnumTypes.S]
Instantiate variables whose type is a known enumerated type, with all cases of this type.
introduce_cut [Avatar_intf.S]
Introduce a cut on the given clause(s).
is_RR_horn_clause [Literals]
Recognized whether the clause is a Range-Restricted Horn clause
is_absurd [ArithLit]
is_absurd [Literals]
All literals are false, or there are no literals
is_absurd [Literal]
is_ac [AC_intf.S]
is_active [Trail]
Trail.is_active t ~v is true iff all boolean literals in t are satisfied in the boolean valuation v.
is_active [Env_intf.S]
Is the clause in the active set
is_active [Clause_intf.S]
True if the clause's trail is active in this valuation
is_arith [Literal]
is_arith_divides [Literal]
is_arith_eq [Literal]
is_arith_eqn [Literal]
= or !=
is_arith_ineq [Literal]
< or <=
is_arith_less [Literal]
is_arith_lesseq [Literal]
is_arith_neq [Literal]
is_assert [ProofStep]
Proof: the statement was asserted in some file
is_backward_simplified [SClause]
is_backward_simplified [Clause_intf.S]
is_completeness_preserved [Ctx_intf.S]
Check whether completeness was preserved so far
is_const [Monome]
Returns true if the monome is only a constant
is_cst [Ind_cst]
Check whether the given constant is an inductive constant
is_divides [ArithLit]
is_eligible_param [Clause_intf.S]
Check whether the idx-th literal is eligible for paramodulation
is_empty [Rewrite_rule.Set]
is_empty [Trail]
Empty trail?
is_empty [SClause]
is_empty [Clause_intf.S]
Is the clause an empty clause?
is_empty [ClauseQueue_intf.S]
check whether the queue is empty
is_eq [ArithLit]
is_eq [Literal]
is the literal of the form a = b?
is_eqn [ArithLit]
is_eqn [Literal]
is the literal a proper (in)equation or prop?
is_goal [ProofStep]
The statement comes from the negation of a goal in some file
is_goal [Clause_intf.S]
Looking at the clause's proof, return true iff the clause is an initial (negated) goal from the problem
is_ground [Monome]
Are there no variables in the monome?
is_ground [Literals]
all the literals are ground?
is_ground [Literal]
is_ground [Clause_intf.S]
is_horn [Literals]
Recognizes Horn clauses (at most one positive literal)
is_ineq [ArithLit]
< or <=
is_less [ArithLit]
is_lesseq [ArithLit]
is_max [ArithLit.Focus]
Is the focused term maximal in the literal?
is_max [Monome.Focus]
Is the focused term maximal in the monome?
is_max [Literals]
Is the i-th literal maximal in the ordering?
is_max_term [Literal.Pos]
Is the term at the given position, maximal in the literal w.r.t this ordering? In other words, if the term is replaced by a smaller term, can the whole literal becomes smaller?
is_maxlit [Clause_intf.S]
Is the i-th literal maximal in subst(clause)? Equivalent to Bitvector.get (maxlits ~ord c subst) i
is_neg [ArithLit]
is_neg [Literal]
is the literal negative?
is_neq [ArithLit]
is_neq [Literal]
is the literal of the form a != b?
is_new [SimplM]
is_oriented_rule [Clause_intf.S]
Is the clause a positive oriented clause?
is_passive [Env_intf.S]
Is the clause a passive clause?
is_pos [ArithLit]
is_pos [Literal]
is the literal positive?
is_pos_eq [Literals]
Recognize whether the clause is a positive unit equality.
is_prime [ArithLit.Util]
Is the integer prime?
is_proof_of_false [ProofPrint]
is_prop [Literal]
is the literal a boolean proposition?
is_redundant [Env_intf.S]
Is the given clause redundant w.r.t the active set?
is_redundant [SClause]
is_redundant [Clause_intf.S]
is_same [SimplM]
is_selected [Clause_intf.S]
check whether a literal is selected
is_semantic_tautology [Superposition.S]
semantic tautology deletion, using a congruence closure algorithm to see if negative literals imply some positive Literal.t
is_strictly_max [ArithLit.Focus]
Is the focused term maximal in the literal, ie is it greater than all the othe terms?
is_sub_cst [Ind_cst]
Is the term a constant that was created within a cover set?
is_sub_cst_of [Ind_cst]
is_tautology [ArithInt.S]
is the clause a tautology w.r.t linear expressions?
is_tautology [Superposition.S]
Check whether the clause is a (syntactic) tautology, ie whether it contains true or "A" and "not A"
is_trivial [Trail]
returns true iff the trail contains both i and -i.
is_trivial [ArithLit]
is_trivial [AC_intf.S]
Check whether the clause is AC-trivial
is_trivial [Env_intf.S]
Check whether the clause is trivial
is_trivial [ProofStep]
is_trivial [Literals]
Tautology? (simple syntactic criterion only)
is_trivial [Literal]
is_trivial_lit [AC_intf.S]
Is the literal AC-trivial?
is_unit_clause [Clause_intf.S]
is the clause a unit clause?
is_zero [Monome]
return true if the monome is the constant 0

K
k_avatar [Avatar]
key [MetaProverState]
key [Superposition]
key to access the Env.flex_state.
key [Params]
key_ac [AC]
kind [ProofStep]

L
last_result [Sat_solver_intf.S]
Last computed result.
lemmas [MetaProverState_intf.S.Result]
Discovered lemmas
length [Trail]
length [SClause]
length [Clause_intf.S]
Number of literals
leq_zero [Monome.Int.Solve]
Shortcut for Monome.Int.Solve.lower_zero when strict = false
lit_at [Literals.Pos]
Lookup which literal the position is about, return it and the rest of the position.
lits [SClause]
lits [Clause_intf.S.Seq]
lits [Clause_intf.S]
lits_of_path [Ind_cst]
Extract the raw equality literals from this path
load_extensions [Phases_impl]
lost_completeness [Ctx.Key]
lost_completeness [Ctx_intf.S]
To be called when completeness is not preserved
lower_zero [Monome.Int.Solve]
Solve for the monome to be always lower than zero (strict determines whether the inequality is strict or not).
lt_zero [Monome.Int.Solve]
Shortcut for Monome.Int.Solve.lower_zero when strict = true

M
make [ClauseContext]
Make a context from a var and literals containing this var.
make [Bool_lit_intf.S]
Make a fresh literal with the given payload
make [ArithLit]
make [SClause]
make [ClauseQueue_intf.S]
Bring your own implementation of queue.
map [Phases]
Map the current value
map [Trail]
map [ArithLit]
functor
map [Monome.Focus]
map [Monome]
map [SimplM]
map [Literals]
map [Literal]
functor
map_l [SimplM]
map_lit [ArithLit.Focus]
Apply a function to the monomes and focused monomes
map_num [Monome]
mark_backward_simplified [SClause]
mark_backward_simplified [Clause_intf.S]
mark_redundant [SClause]
mark_redundant [Clause_intf.S]
matching [ArithLit]
checks whether subst(lit_a) is equal to lit_b.
matching [Monome]
matching [Literal]
checks whether subst(lit_a) matches lit_b.
max [Clause_intf.S.Eligible]
Maximal literals of the clause
max_terms [ArithLit]
Maximal terms of the literal
max_terms [Literal.Comp]
Maximal terms of the literal
maxlits [Literals]
Bitvector of positions of maximal literals
maxlits [Clause_intf.S]
List of maximal literals
maxlits_l [Literals]
List of maximal literals, with their index, among the array
mem [Trail]
mem [Monome]
Is the term in the monome?
merge [Trail]
Merge several trails (e.g.
merge_l [Trail]
Merge several trails (e.g.
mk_absurd [Literal]
mk_arith [Literal]
mk_arith_eq [Literal]
mk_arith_less [Literal]
mk_arith_lesseq [Literal]
mk_arith_neq [Literal]
mk_arith_op [Literal]
mk_assert [ProofStep]
mk_assert' [ProofStep]
mk_bc [ProofStep]
mk_c [ProofStep]
mk_data [ProofStep]
mk_div [ArithLit.Focus]
mk_divides [ArithLit]
mk_divides [Literal]
mk_eq [ArithLit]
mk_eq [Literal]
build literals.
mk_esa [ProofStep]
mk_f_esa [ProofStep]
mk_f_inference [ProofStep]
mk_f_simp [ProofStep]
mk_f_trivial [ProofStep]
mk_false [Literal]
mk_goal [ProofStep]
mk_goal' [ProofStep]
mk_inference [ProofStep]
mk_left [ArithLit.Focus]
mk_less [ArithLit]
mk_lesseq [ArithLit]
mk_lit [Literal]
mk_neq [ArithLit]
mk_neq [Literal]
mk_not_divides [ArithLit]
mk_not_divides [Literal]
mk_precedence [Compute_prec]
Make a precedence
mk_prop [Literal]
mk_right [ArithLit.Focus]
mk_rule [ProofStep]
mk_simp [ProofStep]
mk_tauto [Literal]
mk_trivial [ProofStep]
mk_true [Literal]
modulo [Monome.Int.Modulo]
Representative of the number in Z/nZ
multi_simplify [Env_intf.S]
Can we simplify the clause into a List of simplified clauses?
must_be_kept [BBox]
must_be_kept lit means that lit should survive in boolean splitting, that is, that if C <- lit, Gamma then any clause derived from C recursively will have lit in its trail.

N
name [ClauseQueue_intf.S]
Name of the implementation/role of the queue
names [Extensions]
Names of loaded extensions
narrow_lit [Rewrite_rule]
narrow_term rules lit finds the set of rules (l --> clauses) in rules and substitutions sigma such that sigma(l) = sigma(tit)
narrow_term [Rewrite_rule]
narrow_term rules t finds the set of rules (l --> r) in rules and substitutions sigma such that sigma(l) = sigma(t)
neg [Bool_lit_intf.S]
Negate the boolean literal
neg [Literals]
neg [Clause_intf.S.Eligible]
Only negative literals
negate [ArithLit]
negate [Literal]
negate literal
negative_simplify_reflect [Superposition.S]
neq_zero [Monome.Int.Solve]
Find some solutions that negate the equation.
new_flag [SClause]
new flag that can be used on clauses
next [ProofState_intf.S.PassiveSet]
Get-and-remove the next passive clause to process
next_passive [Env_intf.S]
Extract next passive clause
no_select [Selection]
norm [Bool_lit_intf.S]
norm l = abs l, not (sign l)
normalize [Monome.Int]
Normalize the monome, which means that if some terms are integer constants, they are moved to the constant part (e.g after apply X->3 in 2.X+1, one gets 2.3 +1.
normalize_clause [Rewrite_rule]
normalize literals of the clause w.r.t.
normalize_term [Rewrite_rule]
normalize rules t computes the normal form of t w.r.t the set of rewrite rules
normalize_wrt_zero [Monome.Int]
Allows to multiply or divide by any positive number since we consider that the monome is equal to (or compared with) zero.
nth [Monome]
num_clauses [ProofState_intf.S.PassiveSet]
num_clauses [ProofState_intf.S.ActiveSet]

O
of_form [Literal.Conv]
Conversion from a formula.
of_form [Ctx_intf.S.Lit]
of_forms [Literals.Conv]
Convert a list of atoms into literals
of_forms [Clause_intf.S]
Directly from list of formulas
of_forms_axiom [Clause_intf.S]
Construction from formulas as axiom (initial clause)
of_list [Trail]
of_list [Monome.Int]
of_profile [ClauseQueue_intf.S]
Select the queue corresponding to the given profile
of_sclause [Clause_intf.S]
of_statement [Clause_intf.S]
Extract a clause from a statement, if any
of_term [Monome.Int]
of_term_exn [Monome.Int]
try to get a monome from a term.
on_add [AC_intf.S]
on_add_clause [ProofState_intf.S.CLAUSE_SET]
signal triggered when a clause is added to the set
on_axiom [MetaProverState_intf.S]
on_empty_clause [Env_intf.S]
Signal triggered when an empty clause is found
on_input_lemma [Avatar_intf.S]
Triggered every time a cut is introduced for an input lemma (i.e.
on_input_statement [Env_intf.S]
Triggered on every input statement
on_lemma [MetaProverState_intf.S]
on_new_cst [Ind_cst]
Triggered with new inductive constants
on_new_symbol [Ctx_intf.S]
on_pre_rewrite [MetaProverState_intf.S]
on_remove_clause [ProofState_intf.S.CLAUSE_SET]
signal triggered when a clause is removed from the set
on_rewrite [MetaProverState_intf.S]
on_signature_update [Ctx_intf.S]
on_start [Env_intf.S]
Triggered before starting saturation
on_theory [MetaProverState_intf.S]
op [ArithLit.Focus]
opposite_monome [ArithLit.Focus]
The opposite monome (in Left and Right), if any.
opposite_monome_exn [ArithLit.Focus]
Unsafe version of ArithLit.Focus.opposite_monome.
ord [Params]
ord [Env_intf.S]
ord [Ctx.PARAMETERS]
ord [Ctx_intf.S]
current ordering on terms

P
param [Clause_intf.S.Eligible]
Only literals that are eligible for paramodulation
params [Env_intf.S]
parents [ProofStep]
parse_args [Params]
parse_args returns parameters
parse_cli [Phases_impl]
Parses the file list and parameters, also puts the parameters in the state
parse_theory_file [MetaProverState_intf.S]
Update prover with the content of this file, returns the new results or an error
parse_theory_files [MetaProverState_intf.S]
Parse several files
path_compare [Ind_cst]
path_cons [Ind_cst]
path_contains_cst [Ind_cst]
Does the path contain this inductive constant?
path_dominates [Ind_cst]
path_dominates a b is true if b is a suffix of a.
path_empty [Ind_cst]
path_equal [Ind_cst]
path_hash [Ind_cst]
path_length [Ind_cst]
payload [Bool_lit_intf.S]
Obtain the payload
payload [BBox]
Obtain the payload of this boolean literal, that is, what the literal represents
polarity [ArithLit]
Used for the literal ordering
pop_new_results [MetaProverState_intf.S]
Obtain the difference between last call to pop_new_results p and results p, and pop this difference.
pos [Literals]
pos [Clause_intf.S.Eligible]
Only positive literals
positive_simplify_reflect [Superposition.S]
pp [Rewrite_rule.Set]
pp [ClauseContext]
pp [Bool_lit_intf.S]
pp [BBox]
pp [ArithLit.Focus]
pp [ArithLit]
pp [Monome.Focus]
pp [Monome]
pp [Env_intf.S]
pp [ProofState_intf.S]
pretty print the content of the state
pp [ProofPrint]
Prints the proof according to the given input switch
pp [Literals]
pp [Literal]
pp [SClause]
pp [Clause_intf.S.WithPos]
pp [Clause_intf.S]
pp [ClauseQueue_intf.S]
pp_bclause [BBox]
pp_case [Ind_cst]
pp_cst [Ind_cst]
pp_cut_res [Avatar_intf.S]
pp_debug [Literal]
pp_decl [EnumTypes.S]
pp_dot [ProofPrint]
Pretty print the proof as a DOT graph
pp_dot_file [ProofPrint]
print to dot into a file
pp_dot_seq [ProofPrint]
Print a set of proofs as a DOT graph, sharing common subproofs
pp_dot_seq_file [ProofPrint]
same as ProofPrint.pp_dot_seq but into a file
pp_full [Env_intf.S]
pp_kind [ProofStep]
pp_kind_tstp [ProofStep]
pp_normal [ProofPrint]
pp_notrec [ProofPrint]
Non recursive printing on formatter
pp_path [Ind_cst]
pp_payload [BBox]
pp_result [ProofPrint]
pp_result_of [ProofPrint]
pp_rule [ProofStep]
pp_rule_clause [Rewrite_rule]
pp_rule_term [Rewrite_rule]
pp_set [Clause_intf.S]
pp_set_tstp [Clause_intf.S]
pp_src [ProofStep]
pp_src_tstp [ProofStep]
pp_trail [SClause]
pp_trail [Clause_intf.S]
Printer for boolean trails, that uses Clause_intf.S.Ctx to display boxes
pp_trail_tstp [SClause]
pp_tstp [ArithLit]
pp_tstp [Monome]
pp_tstp [ProofPrint]
pp_tstp [Literals]
pp_tstp [Literal]
pp_tstp [SClause]
pp_tstp [Clause_intf.S]
pp_tstp_full [SClause]
Print in a toplevel TPTP statement
pp_tstp_full [Clause_intf.S]
Print in a cnf() statement
pp_vars [SClause]
pre_rewrite [MetaProverState_intf.S.Result]
Pre-processing rules
prec_constr [Classify_cst]
Partial order on ID.t, with: regular > constant > sub_constant > cstor
precedence [Env_intf.S]
pred [Monome]
-1
presaturate [Params]
presaturate [Saturate.S]
Interreduction of the given state, without generating inferences.
prime_decomposition [ArithLit.Util]
Decompose the number into a product of power-of-primes.
primes_leq [ArithLit.Util]
Sequence of prime numbers smaller than (or equal to) the given number
print [MetaProverState_intf.S.Result]
print [Phases_impl]
Printing of results
print_lemmas [Avatar_intf.S]
print the current list of lemmas, and their status
process_file [Phases_impl]
process_file f parses f, does the preprocessing phases, including type inference, choice of precedence, ordering, etc.
process_files_and_print [Phases_impl]
Process each file in the list successively, printing the results.
product [ArithLit.Focus]
Product by a constant
product [Monome.Focus]
product [Monome]
Product with constant
profile_of_string [ClauseQueue]
proof [Clause_intf.S]
Obtain the pair conclusion, step
proof_step [Clause_intf.S]
Extract its proof from the clause
proofs [AC_intf.S]
All proofs for all AC axioms
proved_at_0 [Sat_solver_intf.S]
If the literal has been propagated at decision level 0, return its value (which does not depend on the model).
prover [MetaProverState_intf.S]
meta-prover
purify [ArithInt.S]
Purify clauses by replacing arithmetic expressions occurring under terms by variables, and adding constraints

Q
queue [ProofState_intf.S.PassiveSet]
Current state of the clause queue
quotient [Monome.Int]
quotient e c tries to divide e by c, returning e/c if it is still an integer expression.

R
raw_lits [ClauseContext]
give access to the underlying literals.
reasoner [MetaProverState_intf.S]
Meta-level reasoner (inference system)
reduce_same_factor [Monome.Int]
reduce_same_factor m1 m2 t multiplies m1 and m2 by some constants, so that their coefficient for t is the same.
register [Heuristics.S]
register [ArithInt.S]
register [Superposition.S]
Register rules in the environment
register [Superposition]
Register the superposition module to its Environment's mixtbl.
register [Induction_intf.S]
Register the inference rules for inductive reasoning
register [Avatar_intf.S]
Register inference rules to the environment
register [Selection]
Register new selection function
register [Extensions]
Register an extension to the (current) prover.
remove [Trail]
remove [Monome]
Remove the term
remove [ProofState_intf.S.CLAUSE_SET]
Remove clauses from the set
remove_active [Env_intf.S]
Remove active clauses
remove_const [Monome]
Remove the constant
remove_passive [Env_intf.S]
Remove passive clauses
remove_simpl [Env_intf.S]
Remove simplification clauses
renaming [Ctx_intf.S]
renaming_clear [Ctx_intf.S]
Obtain the global renaming.
replace [ArithLit.Focus]
replace a m replaces mf.coeff × mf.term with m where mf is the focused monome in a, and return the resulting literal
replace [Literals.Pos]
In-place modification of the array, in which the subterm at given position is replaced by the by term.
replace [Literal.Pos]
Replace subterm, or
res [Clause_intf.S.Eligible]
Only literals that are eligible for resolution
rest [Monome.Focus]
restore [Sat_solver_intf.S]
Restore to a level below in the stack
result [ProofStep]
results [MetaProverState_intf.S]
Sum of all results obtained so far
return [Phases]
Return a value into the monad
return [SimplM]
return_err [Phases]
return_new [SimplM]
return_phase [Phases]
Finish the given phase
return_phase_err [Phases]
return_same [SimplM]
rewrite [MetaProverState_intf.S.Result]
List of term rewrite systems
rhs_clause [Rewrite_rule]
rhs_term [Rewrite_rule]
root_save_level [Sat_solver_intf.S]
root_term [Literal.Pos]
Obtain the term at the given position, at the root of the literal.
root_terms [Literal]
all the terms immediatly under the lit
rule [ProofStep]
Rule name for Esa/Simplification/Inference steps
rules [Rewriting.Key]
run [Phases]
run m is run_with empty_state m
run_parallel [Phases]
run_sequentiel l runs each action of the list in succession, restarting every time with the initial state (once an action has finished, its state is discarded).
run_with [Phases]
run_with state m executes the actions in m starting with state, returning some value (or error) and the final state.

S
save [Sat_solver_intf.S]
Save current state on the stack
scale [ArithLit.Focus]
Multiply the two literals by some constant so that their focused literals have the same coefficient
scale [Monome.Focus]
Scale to the same coefficient
scale_power [ArithLit.Focus]
For a "divides" literal, bring it to the given power.
scan_clause [MetaProverState_intf.S]
Scan a clause for axiom patterns, and save it
scan_statement [AC_intf.S]
Check whether the statement contains an "AC" attribute, do the proper declaration in this case
section [Superposition]
section [Rewrite_rule]
section [BBox]
section [ProofStep]
section [Const]
seed [Params]
select [Params]
select [Ctx.PARAMETERS]
select [Ctx_intf.S]
select_complex [Selection]
x!=y, or ground negative lit, or like select_diff_neg_lit
select_complex_except_RR_horn [Selection]
if clause is a restricted range horn clause, then select nothing; otherwise, like select_complex
select_diff_neg_lit [Selection]
arbitrary negative literal with maximal weight difference between sides
select_max_goal [Selection]
Select a maximal negative literal, if any, or nothing
selected_lits [Clause_intf.S]
get the list of selected literals
selection_from_string [Selection]
selection function from string (may fail)
selection_fun [Ctx_intf.S]
selection function for clauses
set [Phases]
set [Monome]
set_flag [SClause]
set boolean flag
set_flag [Clause_intf.S]
set boolean flag
set_key [Phases]
set_ord [Ctx_intf.S]
set_printer [Sat_solver_intf.S]
How to print literals?
set_profile [ClauseQueue]
set_selection_fun [Ctx_intf.S]
set_sign [Bool_lit_intf.S]
Set the sign of the literal to the given boolean
set_term [Monome]
set_weight_rule [Compute_prec]
Choose the way weights are computed
setup [MetaProverState_intf.S]
setup () registers some inference rules to E
setup [Ind_types.Make]
setup [EnumTypes.S]
Register rules in the environment
setup [Rewriting.Make]
setup [Sat_solver_intf.S]
setup [AC_intf.S]
Register on Env
setup_gc [Phases_impl]
setup_signal [Phases_impl]
sign [Bool_lit_intf.S]
Current sign of the literal (positive or negative)
sign [ArithLit]
sign [Monome]
Assuming is_constant m, sign m returns the sign of m.
sign [Literal]
signature [Env_intf.S]
signature [Ctx.PARAMETERS]
signature [Ctx_intf.S]
Current signature
simplify [AC_intf.S]
Simplify the clause modulo AC
simplify [Env_intf.S]
Simplify the clause.
simplify_active_with [Env_intf.S]
Can be called when a simplification relation becomes stronger, with the strengthened relation.
singleton [Trail]
singleton [Monome.Int]
One term.
size [Monome]
Number of distinct terms.
split [Avatar_intf.S]
Split a clause into components
split [Monome]
split m splits into a monome with positive coefficients, and one with negative coefficients.
split [Literal.Pos]
split_solution [Monome.Int.Solve]
Split the solution into a variable substitution, and a list of constraints on non-variable terms
start_phase [Phases]
Start the given phase
stat_clause_create [Clause]
stats [Env_intf.S]
Compute stats
stats [ProofState_intf.S]
Compute statistics
step [ProofStep]
step_init [Env_intf.S]
call all functions registered with Env_intf.S.add_step_init
steps [Params]
string_of_any_phase [Phases]
string_of_phase [Phases]
subsumed_by [Env_intf.S]
List of active clauses subsumed by the given clause
subsumed_by_active_set [Superposition.S]
check whether the clause is subsumed by any clause in the set
subsumed_in_active_set [Superposition.S]
list of clauses in the active set that are subsumed by the clause
subsumes [Superposition.S]
subsumes c1 c2 iff c1 subsumes c2
subsumes [Trail]
subsumes a b is true iff a is a subset of b
subsumes [ArithLit]
Find substitutions such that subst(lit_a) implies lit_b.
subsumes [Literal]
More general version of Literal.matching, yields subst such that subst(lit_a) => lit_b.
subsumes_with [Superposition.S]
returns subsuming subst if the first clause subsumes the second one
succ [Monome]
+1
sum [Monome.Int.Modulo]
Sum in Z/nZ
sum [Monome.Focus]
sum [Monome]
sum_list [Monome]
Sum of a list.
symbols [AC_intf.S]
set of AC symbols
symbols [Literals]
symbols [Literal.Seq]
symbols [Literal]
symbols [Clause_intf.S]
symbols that occur in the clause
symbols_of_terms [AC_intf.S]
set of AC symbols occurring in the given term

T
t [Induction_intf.S.Meta]
Plugin that encodes the fact that a type is inductive, together with the list of its constructor symbols.
tail [Literals.Pos]
sub-position
take_first [ClauseQueue_intf.S]
Take first element of the queue, or raise Not_found
term [ArithLit.Focus]
Focused term
term [Monome.Focus]
term_pos [Literal.Pos]
term_pos lit p = snd (cut lit p), the subterm position.
terms [ArithLit.Seq]
terms [Monome.Seq]
terms [Monome]
List of terms that occur in the monome with non-nul coefficients
terms [Literals.Seq]
terms [Literal.Seq]
terms [Clause_intf.S.Seq]
theories [MetaProverState_intf.S.Result]
Detected theories
theories [MetaProverState_intf.S]
List of theories detected so far
timeout [Params]
to_form [ArithLit]
Conversion into a simple literal
to_form [Literals.Seq]
to_form [Literals]
Make a 'or' formula from literals
to_form [Literal.Conv]
to_form [Ctx_intf.S.Lit]
to_forms [Literals.Conv]
To list of formulas
to_forms [Clause_intf.S]
Easy iteration on an abstract view of literals
to_hooks [Ctx_intf.S.Lit]
to_int [Bool_lit_intf.S]
to_list [Trail]
to_monome [Monome.Focus]
Conversion back to an unfocused monome
to_multiset [ArithLit.Seq]
to_multiset [Monome.Int]
Multiset of terms with multiplicity
to_sclause [Clause_intf.S]
to_seq [Trail]
to_string [ArithLit.Focus]
to_string [ArithLit]
to_string [Monome]
to_string [Literals]
to_string [Literal]
to_string [Clause_intf.S]
Debug printing to a string
to_string [ClauseQueue_intf.S]
to_term [Monome.Int]
convert back to a term
trail [SClause]
trail [Clause_intf.S]
Get the clause's trail
trail_l [Clause_intf.S]
Merge the trails of several clauses
trail_subsumes [Clause_intf.S]
trail_subsumes c1 c2 = Trail.subsumes (get_trail c1) (get_trail c2)
traverse [ProofPrint]
ty [Monome]
type of the monome (int or rat)

U
uminus [Monome.Int.Modulo]
Additive inverse in Z/nZ
uminus [Monome.Focus]
uminus [Monome]
unary_depth [Params]
unfocus [ArithLit.Focus]
Conversion back to a literal
unfocus_arith [Literal.View]
unify [ArithLit.Focus]
Unify the two focused terms, and possibly other terms of their respective focused monomes; yield the new literals accounting for the unification along with the unifier
unify [ArithLit]
unify [Monome]
unify [Literal]
unify_ff [Monome.Focus]
Unify two focused monomes.
unify_mm [Monome.Focus]
Unify parts of two monomes m1 and m2.
unify_self [Monome.Focus]
Extend the substitution to other terms within the focused monome, if possible.
unify_self_monome [Monome.Focus]
Unify at least two terms of the monome together
update [Phases]
update ~f changes the state using f
update_flex_state [Env_intf.S]
update_flex_state f changes flex_state () using f
update_proof [Clause_intf.S]
update_proof c f creates a new clause that is similar to c in all aspects, but with the proof f (proof_step c)
update_trail [SClause]
update_trail [Clause_intf.S]
Change the trail.

V
valuation [Sat_solver_intf.S]
Assuming the last call to Sat_solver_intf.S.check returned Sat, get the boolean valuation for this (positive) literal in the current model.
valuation_level [Sat_solver_intf.S]
Gives the value of a literal in the model, as well as its decision level.
var_occurs [Monome]
Does the variable occur in the monome?
var_occurs [Literal]
variant [ArithLit]
variant [Monome]
variant [Literals]
Variant checking (alpha-equivalence).
variant [Literal]
vars [ArithLit.Seq]
vars [Monome.Seq]
vars [Literals.Seq]
vars [Literals]
vars [Literal.Seq]
vars [Literal]
gather variables
vars [Clause_intf.S.Seq]
version [Params]
version [Const]

W
weight [Literals]
weight [Literal]
weight of the lit (sum of weights of terms)
weight [Clause_intf.S]
with_phase [Phases]
Start phase, call f () to get the result, return its result using Phases.return_phase
with_phase1 [Phases]
with_phase2 [Phases]