| ( ** ) [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] |