mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 22:23:22 +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 dep_vector = svector<dep_t>;
|
||||||
using univariate = vector<rational>;
|
using univariate = vector<rational>;
|
||||||
|
|
||||||
virtual ~univariate_solver();
|
virtual ~univariate_solver() = default;
|
||||||
|
|
||||||
virtual void push() = 0;
|
virtual void push() = 0;
|
||||||
virtual void pop(unsigned n) = 0;
|
virtual void pop(unsigned n) = 0;
|
||||||
|
@ -49,7 +49,7 @@ namespace polysat {
|
||||||
|
|
||||||
class univariate_solver_factory {
|
class univariate_solver_factory {
|
||||||
public:
|
public:
|
||||||
virtual ~univariate_solver_factory();
|
virtual ~univariate_solver_factory() = default;
|
||||||
virtual scoped_ptr<univariate_solver> create() = 0;
|
virtual scoped_ptr<univariate_solver> create() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -25,9 +25,34 @@ Notes:
|
||||||
#include "sat/smt/bv_solver.h"
|
#include "sat/smt/bv_solver.h"
|
||||||
#include "sat/smt/euf_solver.h"
|
#include "sat/smt/euf_solver.h"
|
||||||
#include "math/polysat/solver.h"
|
#include "math/polysat/solver.h"
|
||||||
|
#include "math/polysat/univariate_solver.h"
|
||||||
|
|
||||||
namespace bv {
|
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;
|
typedef polysat::pdd pdd;
|
||||||
|
|
||||||
void solver::internalize_polysat(app* a) {
|
void solver::internalize_polysat(app* a) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue