mirror of
https://github.com/Z3Prover/z3
synced 2026-06-11 11:25:36 +00:00
add hook to turn on xor solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0e651eee04
commit
e4f57a13ba
5 changed files with 27 additions and 3 deletions
|
|
@ -44,6 +44,7 @@ z3_add_component(sat_smt
|
|||
sat_th.cpp
|
||||
tseitin_theory_checker.cpp
|
||||
user_solver.cpp
|
||||
xor_solver.cpp
|
||||
COMPONENT_DEPENDENCIES
|
||||
sat
|
||||
ast
|
||||
|
|
|
|||
|
|
@ -19,9 +19,16 @@ Abstract:
|
|||
|
||||
namespace xr {
|
||||
|
||||
|
||||
solver::solver(euf::solver& ctx):
|
||||
th_solver(ctx.get_manager(), symbol("xor-solver"), ctx.get_manager().get_family_id("xor-solver"))
|
||||
{}
|
||||
solver(ctx.get_manager(), ctx.get_si(), ctx.get_manager().get_family_id("xor")) {
|
||||
m_ctx = &ctx;
|
||||
}
|
||||
|
||||
solver::solver(ast_manager& m, sat::sat_internalizer& si, euf::theory_id id)
|
||||
: euf::th_solver(m, symbol("xor"), id),
|
||||
si(si) {
|
||||
}
|
||||
|
||||
euf::th_solver* solver::clone(euf::solver& ctx) {
|
||||
// and relevant copy internal state
|
||||
|
|
|
|||
|
|
@ -18,9 +18,11 @@ Abstract:
|
|||
|
||||
namespace xr {
|
||||
class solver : public euf::th_solver {
|
||||
euf::solver* m_ctx = nullptr;
|
||||
sat::sat_internalizer& si;
|
||||
public:
|
||||
solver(euf::solver& ctx);
|
||||
|
||||
solver(ast_manager& m, sat::sat_internalizer& si, euf::theory_id id);
|
||||
th_solver* clone(euf::solver& ctx) override;
|
||||
|
||||
sat::literal internalize(expr* e, bool sign, bool root) override { UNREACHABLE(); return sat::null_literal; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue