3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-04 18:30:24 +00:00

port over moving m_nla_lemmas into nla_core from the linear monomial propagation branch

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-09-26 20:08:30 -07:00
parent 8d2b65b20b
commit ec2937e2de
9 changed files with 80 additions and 84 deletions

View file

@ -85,7 +85,7 @@ class core {
reslimit& m_reslim;
smt_params_helper m_params;
std::function<bool(lpvar)> m_relevant;
vector<lemma> * m_lemma_vec;
vector<lemma> m_lemmas;
vector<ineq> * m_literal_vec = nullptr;
indexed_uint_set m_to_refine;
tangents m_tangents;
@ -386,15 +386,15 @@ public:
bool conflict_found() const;
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>&);
lbool check(vector<ineq>& ineqs);
lbool check_power(lpvar r, lpvar x, lpvar y);
void check_bounded_divisions();
bool no_lemmas_hold() const;
void propagate(vector<lemma>& lemmas);
void propagate();
lbool test_check(vector<lemma>& l);
lbool test_check();
lpvar map_to_root(lpvar) const;
std::ostream& print_terms(std::ostream&) const;
std::ostream& print_term(const lp::lar_term&, std::ostream&) const;
@ -428,6 +428,7 @@ public:
void set_use_nra_model(bool m);
bool use_nra_model() const { return m_use_nra_model; }
void collect_statistics(::statistics&);
vector<nla::lemma> const& lemmas() const { return m_lemmas; }
private:
void restore_patched_values();
void constrain_nl_in_tableau();