mirror of
https://github.com/Z3Prover/z3
synced 2025-09-06 01:48:02 +00:00
First step towards explaining single bits
This commit is contained in:
parent
d5bc4b84a7
commit
ec06027515
8 changed files with 418 additions and 6 deletions
|
|
@ -17,6 +17,7 @@ Author:
|
|||
#include "math/polysat/interval.h"
|
||||
#include "math/polysat/assignment.h"
|
||||
#include "math/polysat/univariate/univariate_solver.h"
|
||||
#include "util/tbv.h"
|
||||
#include <iostream>
|
||||
|
||||
namespace polysat {
|
||||
|
|
@ -84,6 +85,7 @@ namespace polysat {
|
|||
bool is_currently_false(solver const& s, bool is_positive) const { return is_currently_true(s, !is_positive); }
|
||||
|
||||
virtual void narrow(solver& s, bool is_positive, bool first) = 0;
|
||||
virtual void propagate_bits(solver& s, bool is_positive) {}
|
||||
/**
|
||||
* If possible, produce a lemma that contradicts the given assignment.
|
||||
* This method should not modify the solver's search state.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue