mirror of
https://github.com/Z3Prover/z3
synced 2025-08-27 21:48:56 +00:00
bugs in: - rewriting of 0-ary expressions was incomplete - sharing annotations when a node has two theories attached it is shared - sharing of const of an array Remove unreadable part of pretty printer for lp solver.
This commit is contained in:
parent
3764eb1959
commit
72f6271d82
13 changed files with 70 additions and 38 deletions
|
@ -192,12 +192,16 @@ bool rewriter_tpl<Config>::visit(expr * t, unsigned max_depth) {
|
|||
switch (t->get_kind()) {
|
||||
case AST_APP:
|
||||
if (to_app(t)->get_num_args() == 0) {
|
||||
if (process_const<ProofGen>(to_app(t)))
|
||||
return true;
|
||||
TRACE("rewriter", tout << "process const: " << mk_bounded_pp(t, m()) << " -> " << mk_bounded_pp(m_r,m()) << "\n";);
|
||||
set_new_child_flag(t, m_r);
|
||||
result_stack().push_back(m_r);
|
||||
return true;
|
||||
if (process_const<ProofGen>(to_app(t)))
|
||||
return true;
|
||||
TRACE("rewriter_const", tout << "process const: " << mk_bounded_pp(t, m()) << " -> " << mk_bounded_pp(m_r, m()) << "\n";);
|
||||
rewriter_tpl rw(m(), false, m_cfg);
|
||||
expr_ref result(m());
|
||||
rw(m_r, result, m_pr);
|
||||
m_r = result;
|
||||
set_new_child_flag(t, m_r);
|
||||
result_stack().push_back(m_r);
|
||||
return true;
|
||||
}
|
||||
if (max_depth != RW_UNBOUNDED_DEPTH)
|
||||
max_depth--;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue