3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-13 22:41:15 +00:00

add simplification experiment (disabled) for tracking, some reshuffling of equation/fixed_equation structs

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-10-29 10:21:24 -07:00
parent e7c17e68b8
commit bd8e5eee4b
12 changed files with 286 additions and 39 deletions

View file

@ -67,6 +67,8 @@ class int_solver {
bool m_upper; // we have a cut m_t*x <= k if m_upper is true nad m_t*x >= k otherwise
hnf_cutter m_hnf_cutter;
unsigned m_hnf_cut_period;
vector<equality> m_equalities;
public:
int_solver(lar_solver& lp);
@ -84,7 +86,9 @@ public:
const impq & get_value(unsigned j) const;
bool at_lower(unsigned j) const;
bool at_upper(unsigned j) const;
void simplify(std::function<bool(unsigned)>& is_root);
vector<equality> const& equalities() const { return m_equalities; }
private:
// lia_move patch_nbasic_columns();
bool get_freedom_interval_for_column(unsigned j, bool & inf_l, impq & l, bool & inf_u, impq & u, mpq & m);