mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 06:03:23 +00:00
parent
8db0429809
commit
b2c3025e21
2 changed files with 2 additions and 3 deletions
|
@ -363,8 +363,7 @@ namespace smt {
|
||||||
}
|
}
|
||||||
idx--;
|
idx--;
|
||||||
// skip literals from levels above the conflict level
|
// skip literals from levels above the conflict level
|
||||||
while (m_ctx.get_assign_level(m_assigned_literals[idx]) > m_conflict_lvl) {
|
while (m_ctx.get_assign_level(m_assigned_literals[idx]) > m_conflict_lvl && idx > 0) {
|
||||||
SASSERT(idx > 0);
|
|
||||||
idx--;
|
idx--;
|
||||||
}
|
}
|
||||||
return idx;
|
return idx;
|
||||||
|
|
|
@ -4284,6 +4284,7 @@ namespace smt {
|
||||||
// adding length constraint for _ = constStr seems slowing things down.
|
// adding length constraint for _ = constStr seems slowing things down.
|
||||||
|
|
||||||
expr_ref option1(mk_and(and_item), mgr);
|
expr_ref option1(mk_and(and_item), mgr);
|
||||||
|
ctx.get_rewriter()(option1);
|
||||||
arrangement_disjunction.push_back(option1);
|
arrangement_disjunction.push_back(option1);
|
||||||
double priority;
|
double priority;
|
||||||
if (i == strValue.length()) {
|
if (i == strValue.length()) {
|
||||||
|
@ -7681,7 +7682,6 @@ namespace smt {
|
||||||
void theory_str::add_theory_assumptions(expr_ref_vector & assumptions) {
|
void theory_str::add_theory_assumptions(expr_ref_vector & assumptions) {
|
||||||
TRACE("str", tout << "add overlap assumption for theory_str" << std::endl;);
|
TRACE("str", tout << "add overlap assumption for theory_str" << std::endl;);
|
||||||
const char* strOverlap = "!!TheoryStrOverlapAssumption!!";
|
const char* strOverlap = "!!TheoryStrOverlapAssumption!!";
|
||||||
seq_util m_sequtil(get_manager());
|
|
||||||
sort * s = get_manager().mk_bool_sort();
|
sort * s = get_manager().mk_bool_sort();
|
||||||
m_theoryStrOverlapAssumption_term = expr_ref(mk_fresh_const(strOverlap, s), get_manager());
|
m_theoryStrOverlapAssumption_term = expr_ref(mk_fresh_const(strOverlap, s), get_manager());
|
||||||
assumptions.push_back(get_manager().mk_not(m_theoryStrOverlapAssumption_term));
|
assumptions.push_back(get_manager().mk_not(m_theoryStrOverlapAssumption_term));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue