mirror of
https://github.com/Z3Prover/z3
synced 2025-04-16 05:48:44 +00:00
fix #6955
This commit is contained in:
parent
11ab583232
commit
8c00181815
|
@ -568,25 +568,21 @@ namespace qe {
|
||||||
m_solver = nullptr;
|
m_solver = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void assert_expr(expr *e) {
|
void assert_expr(expr* e) {
|
||||||
if (!m.is_true(e))
|
if (!m.is_true(e))
|
||||||
m_solver->assert_expr(e);
|
m_solver->assert_expr(e);
|
||||||
}
|
}
|
||||||
void assert_blocking_fml(expr* e) {
|
void assert_blocking_fml(expr* e) {
|
||||||
if (m.is_true(e)) return;
|
if (m.is_true(e))
|
||||||
if (m_last_assert) {
|
return;
|
||||||
if (e == m_last_assert) {
|
if (m_last_assert && e == m_last_assert && !m.is_false(e)) {
|
||||||
verbose_stream() << "Asserting this expression twice in a row:\n " << m_last_assert << "\n";
|
IF_VERBOSE(0, verbose_stream() << "Asserting this expression twice in a row:\n " << m_last_assert << "\n");
|
||||||
SASSERT(false);
|
UNREACHABLE();
|
||||||
std::exit(3);
|
|
||||||
}
|
}
|
||||||
|
m_last_assert = e;
|
||||||
}
|
|
||||||
m_last_assert = e;
|
|
||||||
|
|
||||||
m_solver->assert_expr(e);
|
m_solver->assert_expr(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
void get_core(expr_ref_vector& core) {
|
void get_core(expr_ref_vector& core) {
|
||||||
core.reset();
|
core.reset();
|
||||||
m_solver->get_unsat_core(core);
|
m_solver->get_unsat_core(core);
|
||||||
|
|
Loading…
Reference in a new issue