mirror of
https://github.com/Z3Prover/z3
synced 2025-04-22 00:26:38 +00:00
implementation stub
This commit is contained in:
parent
6aee62ef2f
commit
d4a28d4553
2 changed files with 27 additions and 2 deletions
|
@ -31,7 +31,7 @@ namespace polysat {
|
|||
using dep_vector = svector<dep_t>;
|
||||
using univariate = vector<rational>;
|
||||
|
||||
virtual ~univariate_solver();
|
||||
virtual ~univariate_solver() = default;
|
||||
|
||||
virtual void push() = 0;
|
||||
virtual void pop(unsigned n) = 0;
|
||||
|
@ -49,7 +49,7 @@ namespace polysat {
|
|||
|
||||
class univariate_solver_factory {
|
||||
public:
|
||||
virtual ~univariate_solver_factory();
|
||||
virtual ~univariate_solver_factory() = default;
|
||||
virtual scoped_ptr<univariate_solver> create() = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -25,9 +25,34 @@ Notes:
|
|||
#include "sat/smt/bv_solver.h"
|
||||
#include "sat/smt/euf_solver.h"
|
||||
#include "math/polysat/solver.h"
|
||||
#include "math/polysat/univariate_solver.h"
|
||||
|
||||
namespace bv {
|
||||
|
||||
class univariate_bitblast_solver : public polysat::univariate_solver {
|
||||
public:
|
||||
univariate_bitblast_solver() {};
|
||||
~univariate_bitblast_solver() override = default;
|
||||
void push() override {}
|
||||
void pop(unsigned n) override {}
|
||||
lbool check() override { return l_undef; }
|
||||
dep_vector unsat_core() override { return {}; }
|
||||
rational model() override { return {}; }
|
||||
void add_ule(univariate lhs, univariate rhs, bool sign, dep_t dep) override {}
|
||||
void add_umul_ovfl(univariate lhs, univariate rhs, bool sign, dep_t dep) override {}
|
||||
void add_smul_ovfl(univariate lhs, univariate rhs, bool sign, dep_t dep) override {}
|
||||
void add_smul_udfl(univariate lhs, univariate rhs, bool sign, dep_t dep) override {}
|
||||
};
|
||||
|
||||
class univariate_bitblast_factory : public polysat::univariate_solver_factory {
|
||||
public:
|
||||
~univariate_bitblast_factory() override = default;
|
||||
scoped_ptr<polysat::univariate_solver> create() override {
|
||||
return alloc(univariate_bitblast_solver);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
typedef polysat::pdd pdd;
|
||||
|
||||
void solver::internalize_polysat(app* a) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue