3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00

move more equality functionality

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-04-15 14:24:50 -07:00
parent 5163492d5b
commit c733789467
4 changed files with 23 additions and 35 deletions

View file

@ -42,6 +42,7 @@ namespace polysat {
ckind_t kind() const { return m_kind; }
virtual std::ostream& display(std::ostream& out) const = 0;
virtual bool propagate(solver& s, pvar v) = 0;
virtual constraint* resolve(solver& s, pvar v) = 0;
eq_constraint& to_eq();
eq_constraint const& to_eq() const;
p_dependency* dep() const { return m_dep; }
@ -58,8 +59,8 @@ namespace polysat {
}
pdd const & p() const { return m_poly; }
std::ostream& display(std::ostream& out) const override;
bool propagate(solver& s, pvar v) override;
constraint* resolve(solver& s, pvar v) override;
};
inline std::ostream& operator<<(std::ostream& out, constraint const& c) { return c.display(out); }