3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-10 17:25:47 +00:00

Log ule rewrites

This commit is contained in:
Jakob Rath 2022-09-28 11:01:23 +02:00
parent e08e124790
commit 480ba01cb0
2 changed files with 29 additions and 5 deletions

View file

@ -32,6 +32,7 @@ namespace polysat {
~ule_constraint() override {}
pdd const& lhs() const { return m_lhs; }
pdd const& rhs() const { return m_rhs; }
static std::ostream& display(std::ostream& out, lbool status, pdd const& lhs, pdd const& rhs);
std::ostream& display(std::ostream& out, lbool status) const override;
std::ostream& display(std::ostream& out) const override;
static bool is_always_false(bool is_positive, pdd const& lhs, pdd const& rhs);
@ -49,4 +50,13 @@ namespace polysat {
void add_to_univariate_solver(solver& s, univariate_solver& us, unsigned dep, bool is_positive) const override;
};
struct ule_pp {
lbool status;
pdd lhs;
pdd rhs;
ule_pp(lbool status, pdd const& lhs, pdd const& rhs): status(status), lhs(lhs), rhs(rhs) {}
};
inline std::ostream& operator<<(std::ostream& out, ule_pp const& u) { return ule_constraint::display(out, u.status, u.lhs, u.rhs); }
}