3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 03:45:51 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-05-15 10:12:11 -07:00
parent 683ce27c8f
commit 88bbe9d54e
6 changed files with 164 additions and 54 deletions

View file

@ -39,9 +39,7 @@ namespace polysat {
inc_level_i,
add_var_i,
set_bound_i,
set_value_i,
add_row_i,
activate_constraint_i
add_row_i
};
solver& s;
@ -54,14 +52,25 @@ namespace polysat {
svector<var_t> m_vars;
vector<rational> m_coeffs;
svector<var_t> m_bool_var2row;
unsigned_vector m_sz2num_vars;
fixplex_base& sz2fixplex(unsigned sz);
void linearize(pdd const& p);
var_t fresh_var(unsigned sz);
var_t internalize_pdd(pdd const& p);
void new_eq(eq_constraint& eq);
void new_le(ule_constraint& le);
void new_bit(var_constraint& vc);
void assert_eq(eq_constraint& eq);
void assert_le(ule_constraint& le);
void assert_bit(var_constraint& vc);
// bind monomial to variable.
var_t mono2var(unsigned sz, unsigned_vector const& m);
var_t pvar2var(unsigned sz, pvar v);
unsigned_vector var2mono(unsigned sz, var_t v) { throw default_exception("nyi"); }
//
// TBD trail object for