mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 03:15:50 +00:00
some interpolation fixes; make duality a bit more persistent in checking interpolant
This commit is contained in:
parent
88ff20a0fb
commit
cb3dc63e68
3 changed files with 87 additions and 31 deletions
|
@ -2703,10 +2703,12 @@ namespace Duality {
|
|||
const std::vector<expr> &theory = ls->get_axioms();
|
||||
for(unsigned i = 0; i < theory.size(); i++)
|
||||
s.add(theory[i]);
|
||||
if(s.check(lits.size(),&lits[0]) != unsat)
|
||||
throw "should be unsat";
|
||||
for(int k = 0; k < 100; k++) // keep trying, maybe MBQI will do something!
|
||||
if(s.check(lits.size(),&lits[0]) == unsat)
|
||||
goto is_unsat;
|
||||
throw "should be unsat";
|
||||
}
|
||||
|
||||
is_unsat:
|
||||
for(unsigned i = 0; i < conjuncts.size(); ){
|
||||
std::swap(conjuncts[i],conjuncts.back());
|
||||
std::swap(lits[i],lits.back());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue