3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

debug cross_nested form with new expressions

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-09-30 17:27:05 -07:00
parent 316a0470b1
commit a8dd908fa0
4 changed files with 38 additions and 33 deletions

View file

@ -131,34 +131,39 @@ void test_cn() {
[]{ return 1; });
enable_trace("nla_cn");
enable_trace("nla_cn_details");
nex_var* a = cn.get_nex_creator().mk_var(0);
nex_var* b = cn.get_nex_creator().mk_var(1);
nex_var* c = cn.get_nex_creator().mk_var(2);
nex_var* d = cn.get_nex_creator().mk_var(3);
nex_var* e = cn.get_nex_creator().mk_var(4);
nex_var* g = cn.get_nex_creator().mk_var(6);
nex* min_1 = cn.get_nex_creator().mk_scalar(rational(-1));
auto & cr = cn.get_nex_creator();
cr.active_vars_weights().resize(20);
for (unsigned j = 0; j < cr.active_vars_weights().size(); j++)
cr.active_vars_weights()[j] = static_cast<var_weight>(1);
nex_var* a = cr.mk_var(0);
nex_var* b = cr.mk_var(1);
nex_var* c = cr.mk_var(2);
nex_var* d = cr.mk_var(3);
nex_var* e = cr.mk_var(4);
nex_var* g = cr.mk_var(6);
nex* min_1 = cr.mk_scalar(rational(-1));
// test_cn_on_expr(min_1*c*e + min_1*b*d + min_1*a*b + a*c);
nex* bcd = cn.get_nex_creator().mk_mul(b, c, d);
nex_mul* bcg = cn.get_nex_creator().mk_mul(b, c, g);
nex* bcd = cr.mk_mul(b, c, d);
nex_mul* bcg = cr.mk_mul(b, c, g);
bcg->add_child(min_1);
nex_sum* t = cn.get_nex_creator().mk_sum(bcd, bcg);
nex_sum* t = cr.mk_sum(bcd, bcg);
test_cn_on_expr(t, cn);
nex* aad = cn.get_nex_creator().mk_mul(a, a, d);
nex* abcd = cn.get_nex_creator().mk_mul(a, b, c, d);
nex* aaccd = cn.get_nex_creator().mk_mul(a, a, c, c, d);
nex* add = cn.get_nex_creator().mk_mul(a, d, d);
nex* eae = cn.get_nex_creator().mk_mul(e, a, e);
nex* eac = cn.get_nex_creator().mk_mul(e, a, c);
nex* ed = cn.get_nex_creator().mk_mul(e, d);
nex* _6aad = cn.get_nex_creator().mk_mul(cn.get_nex_creator().mk_scalar(rational(6)), a, a, d);
nex* aad = cr.mk_mul(a, a, d);
nex* abcd = cr.mk_mul(a, b, c, d);
nex* aaccd = cr.mk_mul(a, a, c, c, d);
nex* add = cr.mk_mul(a, d, d);
nex* eae = cr.mk_mul(e, a, e);
nex* eac = cr.mk_mul(e, a, c);
nex* ed = cr.mk_mul(e, d);
nex* _6aad = cr.mk_mul(cr.mk_scalar(rational(6)), a, a, d);
#ifdef Z3DEBUG
nex * clone = cn.get_nex_creator().clone(cn.get_nex_creator().mk_sum(_6aad, abcd, aaccd, add, eae, eac, ed));
clone = cn.get_nex_creator().simplify(clone);
SASSERT(cn.get_nex_creator().is_simplified(clone));
nex * clone = cr.clone(cr.mk_sum(_6aad, abcd, aaccd, add, eae, eac, ed));
clone = cr.simplify(clone);
SASSERT(cr.is_simplified(clone));
TRACE("nla_cn", tout << "clone = " << *clone << "\n";);
#endif
// test_cn_on_expr(cn.get_nex_creator().mk_sum(aad, abcd, aaccd, add, eae, eac, ed), cn);
// test_cn_on_expr(cr.mk_sum(aad, abcd, aaccd, add, eae, eac, ed), cn);
test_cn_on_expr(to_sum(clone), cn);
// TRACE("nla_cn", tout << "done\n";);
// test_cn_on_expr(a*b*d + a*b*c + c*b*d + a*c*d);