3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-08 10:25:18 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-12 17:49:50 -07:00
parent 9b609af8fc
commit 75a460cc15
2 changed files with 22 additions and 12 deletions

View file

@ -81,6 +81,14 @@ bool rewriter_tpl<Config>::process_const(app * t0) {
SASSERT(t->get_num_args() == 0);
br_status st = m_cfg.reduce_app(t->get_decl(), 0, nullptr, m_r, m_pr);
SASSERT(st != BR_DONE || m().get_sort(m_r) == m().get_sort(t));
TRACE("reduce_app",
tout << "t0:" << mk_bounded_pp(t0, m()) << "\n";
if (t != t0) tout << "t: " << mk_bounded_pp(t, m()) << "\n";
tout << "st: " << st;
if (m_r) tout << " --->\n" << mk_bounded_pp(m_r, m());
tout << "\n";
if (m_pr) tout << mk_bounded_pp(m_pr, m()) << "\n";
);
switch (st) {
case BR_FAILED:
if (!retried) {
@ -252,8 +260,6 @@ void rewriter_tpl<Config>::process_app(app * t, frame & fr) {
fr.m_i++;
if (!visit<ProofGen>(arg, fr.m_max_depth))
return;
}
func_decl * f = t->get_decl();
@ -292,12 +298,13 @@ void rewriter_tpl<Config>::process_app(app * t, frame & fr) {
}
br_status st = m_cfg.reduce_app(f, new_num_args, new_args, m_r, m_pr2);
CTRACE("reduce_app", st != BR_FAILED,
CTRACE("reduce_app", true || st != BR_FAILED || new_t,
tout << mk_bounded_pp(t, m()) << "\n";
tout << "st: " << st;
if (m_r) tout << " --->\n" << mk_bounded_pp(m_r, m());
tout << "\n";
if (m_pr2) tout << mk_bounded_pp(m_pr2, m()) << "\n";
if (new_t) tout << new_t << "\n";
);
SASSERT(st == BR_FAILED || rewrites_to(m_r, m_pr2));
SASSERT(st == BR_FAILED || rewrites_from(new_t, m_pr2));
@ -422,17 +429,15 @@ void rewriter_tpl<Config>::process_app(app * t, frame & fr) {
}
}
else {
if (ProofGen) {
m_r = new_t;
if (fr.m_new_child) {
m_r = m().mk_app(f, new_num_args, new_args);
if (ProofGen) {
m_pr = m().mk_rewrite(t, m_r);
}
}
else {
if (fr.m_new_child) {
m_r = m().mk_app(f, new_num_args, new_args);
}
else {
TRACE("rewriter_reuse", tout << "reusing:\n" << mk_ismt2_pp(t, m()) << "\n";);
m_r = t;
}
TRACE("rewriter_reuse", tout << "reusing:\n" << mk_ismt2_pp(t, m()) << "\n";);
m_r = t;
}
}
result_stack().shrink(fr.m_spos);

View file

@ -1174,6 +1174,11 @@ public:
void apply_sort_cnstr(enode* n, sort*) {
TRACE("arith", tout << "sort constraint: " << mk_pp(n->get_owner(), m) << "\n";);
#if 0
if (!th.is_attached_to_var(n)) {
mk_var(n->get_owner());
}
#endif
}
void push_scope_eh() {