mirror of
https://github.com/Z3Prover/z3
synced 2026-07-18 13:05:46 +00:00
fix loop bug in ho_matching and add throttle configurations
This commit is contained in:
parent
d9d3be959c
commit
b2f0d0682a
7 changed files with 35 additions and 1 deletions
|
|
@ -28,6 +28,8 @@ void smt_params::updt_local_params(params_ref const & _p) {
|
|||
m_relevancy_lvl = p.relevancy();
|
||||
m_ematching = p.ematching();
|
||||
m_ho_matching = p.ho_matching();
|
||||
m_ho_matching_bound = p.ho_matching_bound();
|
||||
m_term_enumeration = p.term_enumeration();
|
||||
m_induction = p.induction();
|
||||
m_clause_proof = p.clause_proof();
|
||||
m_phase_selection = static_cast<phase_selection>(p.phase_selection());
|
||||
|
|
|
|||
|
|
@ -110,6 +110,8 @@ struct smt_params : public preprocessor_params,
|
|||
bool m_new_core2th_eq = true;
|
||||
bool m_ematching = true;
|
||||
bool m_ho_matching = false;
|
||||
unsigned m_ho_matching_bound = 10000;
|
||||
bool m_term_enumeration = true;
|
||||
bool m_induction = false;
|
||||
bool m_clause_proof = false;
|
||||
symbol m_proof_log;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ def_module_params(module_name='smt',
|
|||
('restricted_quasi_macros', BOOL, False, 'try to find universally quantified formulas that are restricted quasi-macros'),
|
||||
('ematching', BOOL, True, 'E-Matching based quantifier instantiation'),
|
||||
('ho_matching', BOOL, False, 'higher-order matching for quantifier instantiation'),
|
||||
('ho_matching_bound', UINT, 10000, 'per-problem expansion-step budget of the higher-order matching search; bounds the (undecidable) HO unification to guarantee termination'),
|
||||
('term_enumeration', BOOL, True, 'use term enumeration to populate instantiation sets for higher-order variables during model-based quantifier instantiation'),
|
||||
('phase_selection', UINT, 3, 'phase selection heuristic: 0 - always false, 1 - always true, 2 - phase caching, 3 - phase caching conservative, 4 - phase caching conservative 2, 5 - random, 6 - number of occurrences, 7 - theory'),
|
||||
('phase_caching_on', UINT, 400, 'number of conflicts while phase caching is on'),
|
||||
('phase_caching_off', UINT, 100, 'number of conflicts while phase caching is off'),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue