3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 00:26:38 +00:00

implementation stub

This commit is contained in:
Jakob Rath 2022-03-10 11:13:06 +01:00
parent 6aee62ef2f
commit d4a28d4553
2 changed files with 27 additions and 2 deletions

View file

@ -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;
};

View file

@ -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) {