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:
parent
56b3406ee5
commit
7043386915
4 changed files with 34 additions and 6 deletions
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue