3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05:51 +00:00

revert to logging conflict to get EUF trim to work

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-07-25 09:45:35 -07:00
parent 6c8b8609ee
commit 68a437e615
6 changed files with 15 additions and 4 deletions

View file

@ -192,6 +192,9 @@ namespace arith {
case hint_type::farkas_h:
name = "farkas";
break;
case hint_type::cut_h:
name = "cut";
break;
case hint_type::bound_h:
name = "bound";
break;

View file

@ -1147,7 +1147,7 @@ namespace arith {
app_ref b = mk_bound(m_lia->get_term(), m_lia->get_offset(), !m_lia->is_upper());
IF_VERBOSE(4, verbose_stream() << "cut " << b << "\n");
literal lit = expr2literal(b);
assign(lit, m_core, m_eqs, explain(hint_type::bound_h, lit));
assign(lit, m_core, m_eqs, explain(hint_type::cut_h, lit));
lia_check = l_false;
break;
}

View file

@ -51,6 +51,7 @@ namespace arith {
enum class hint_type {
farkas_h,
bound_h,
cut_h,
implied_eq_h
};

View file

@ -255,6 +255,7 @@ namespace euf {
smt_proof_hint* solver::mk_smt_hint(symbol const& n, unsigned nl, literal const* lits, unsigned ne, expr_pair const* eqs, unsigned nd, expr_pair const* deqs) {
if (!use_drat())
return nullptr;
TRACE("euf", tout << "SMT hint " << n << "\n");
push(value_trail(m_lit_tail));
push(restore_vector(m_proof_literals));