( ** ) [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] |
Same as
Monome.Focus.focus_term , but
|
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] | |
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] |
Alias to
SimplM.return_same
|
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] | |
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] |