3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-29 10:49:23 +00:00

enabled extensional arrays in duality and added theory axioms lazily in GreedyReduce

This commit is contained in:
Ken McMillan 2013-12-10 14:34:14 -08:00
parent 56b3406ee5
commit 7043386915
4 changed files with 34 additions and 6 deletions

View file

@ -171,6 +171,9 @@ namespace Duality {
/** Assert a background axiom. */
virtual void assert_axiom(const expr &axiom) = 0;
/** Get the background axioms. */
virtual const std::vector<expr> &get_axioms() = 0;
/** Return a string describing performance. */
virtual std::string profile() = 0;
@ -182,7 +185,11 @@ namespace Duality {
/** Cancel, throw Canceled object if possible. */
virtual void cancel(){ }
LogicSolver(context &c) : aux_solver(c){}
/* Note: aux solver uses extensional array theory, since it
needs to be able to produce counter-models for
interpolants the have array equalities in them.
*/
LogicSolver(context &c) : aux_solver(c,true){}
virtual ~LogicSolver(){}
};
@ -208,6 +215,10 @@ namespace Duality {
islvr->AssertInterpolationAxiom(axiom);
}
const std::vector<expr> &get_axioms() {
return islvr->GetInterpolationAxioms();
}
std::string profile(){
return islvr->profile();
}