mirror of
https://github.com/Z3Prover/z3
synced 2025-11-13 09:31:14 +00:00
Pseudo-inverse op_constraint
This commit is contained in:
parent
84a5ec221f
commit
79e7380ffc
10 changed files with 144 additions and 47 deletions
|
|
@ -26,7 +26,7 @@ namespace polysat {
|
|||
|
||||
class op_constraint final : public constraint {
|
||||
public:
|
||||
enum class code { lshr_op, ashr_op, shl_op, and_op };
|
||||
enum class code { lshr_op, ashr_op, shl_op, and_op, inv_op };
|
||||
protected:
|
||||
friend class constraint_manager;
|
||||
|
||||
|
|
@ -51,6 +51,9 @@ namespace polysat {
|
|||
static lbool eval_and(pdd const& p, pdd const& q, pdd const& r);
|
||||
bool propagate_bits_and(solver& s, bool is_positive);
|
||||
|
||||
clause_ref lemma_inv(solver& s, assignment const& a);
|
||||
static lbool eval_inv(pdd const& p, pdd const& r);
|
||||
|
||||
std::ostream& display(std::ostream& out, char const* eq) const;
|
||||
|
||||
void activate(solver& s);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue