mirror of
https://github.com/Z3Prover/z3
synced 2025-08-04 02:10:23 +00:00
split free vars in nla
This commit is contained in:
parent
a8c4384536
commit
610313946d
8 changed files with 165 additions and 73 deletions
|
@ -84,6 +84,7 @@ class core {
|
|||
smt_params_helper m_params;
|
||||
std::function<bool(lpvar)> m_relevant;
|
||||
vector<lemma> * m_lemma_vec;
|
||||
vector<ineq> * m_literal_vec = nullptr;
|
||||
indexed_uint_set m_to_refine;
|
||||
tangents m_tangents;
|
||||
basics m_basics;
|
||||
|
@ -110,6 +111,10 @@ class core {
|
|||
|
||||
void check_weighted(unsigned sz, std::pair<unsigned, std::function<void(void)>>* checks);
|
||||
|
||||
u_map<unsigned> m_lower_bounds_added, m_upper_bounds_added;
|
||||
bool can_add_bound(unsigned j, u_map<unsigned>& bounds);
|
||||
void add_bounds();
|
||||
|
||||
public:
|
||||
// constructor
|
||||
core(lp::lar_solver& s, params_ref const& p, reslimit&);
|
||||
|
@ -380,7 +385,7 @@ public:
|
|||
|
||||
bool conflict_found() const;
|
||||
|
||||
lbool check(vector<lemma>& l_vec);
|
||||
lbool check(vector<ineq>& ineqs, vector<lemma>& l_vec);
|
||||
lbool check_power(lpvar r, lpvar x, lpvar y, vector<lemma>& l_vec);
|
||||
void check_bounded_divisions(vector<lemma>&);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue