3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00
This commit is contained in:
Nikolaj Bjorner 2021-04-06 20:06:51 -07:00
parent e5e663e874
commit 0b0efa83ca
3 changed files with 23 additions and 10 deletions

View file

@ -220,12 +220,22 @@ namespace smt {
void context::display_assignment(std::ostream & out) const {
if (!m_assigned_literals.empty()) {
out << "current assignment:\n";
unsigned level = 0;
for (literal lit : m_assigned_literals) {
display_literal(out, lit);
if (level < get_assign_level(lit.var())) {
level = get_assign_level(lit.var());
out << "level " << level << "\n";
}
display_literal(out << lit << " ", lit);
if (!is_relevant(lit)) out << " n ";
out << ": ";
display_verbose(out, m, 1, &lit, m_bool_var2expr.c_ptr());
out << "\n";
if (level > 0) {
auto j = get_justification(lit.var());
display(out << " ", j);
}
else
out << "\n";
}
}
}

View file

@ -2811,6 +2811,7 @@ void theory_seq::assign_eh(bool_var v, bool is_true) {
expr_ref f(m);
literal lit(v, !is_true);
TRACE("seq", tout << (is_true?"":"not ") << mk_bounded_pp(e, m) << "\n";);
TRACE("seq", tout << (is_true?"":"not ") << mk_bounded_pp(e, m) << " " << ctx.get_scope_level() << " " << lit << "\n";);
if (m_util.str.is_prefix(e, e1, e2)) {
if (is_true) {