3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00

adding more aggressive patching in nl

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2020-05-27 17:46:37 -07:00
parent 6a5579341d
commit c58bd3105b
6 changed files with 55 additions and 26 deletions

View file

@ -175,7 +175,9 @@ public:
reslimit& m_reslim;
bool m_use_nra_model;
nra::solver m_nra;
private:
bool m_cautious_patching;
public:
void insert_to_refine(lpvar j);
void erase_from_to_refine(lpvar j);
@ -472,7 +474,7 @@ public:
void update_to_refine_of_var(lpvar j);
bool try_to_patch(lpvar, const rational&, const monic&);
bool to_refine_is_correct() const;
bool patch_blocker(lpvar u, const monic& m) const;
bool patch_blocker(lpvar u, const monic& m, const lp::impq&) const;
bool has_big_num(const monic&) const;
bool var_is_big(lpvar) const;
bool has_real(const factorization&) const;
@ -482,6 +484,9 @@ public:
void collect_statistics(::statistics&);
private:
void restore_patched_values();
void constrain_nl_in_tableau();
bool solve_tableau();
bool integrality_holds();
}; // end of core
struct pp_mon {