3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00

add circuit and unate encoding besides sorting option

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-07-06 21:09:13 -07:00
parent 0b30ddb769
commit 3ae0ea8246
8 changed files with 488 additions and 184 deletions

View file

@ -124,8 +124,8 @@ namespace opt {
// definitions used for sorting network
pliteral mk_false() { return m.mk_false(); }
pliteral mk_true() { return m.mk_true(); }
pliteral mk_max(pliteral a, pliteral b) { return trail(m.mk_or(a, b)); }
pliteral mk_min(pliteral a, pliteral b) { return trail(m.mk_and(a, b)); }
pliteral mk_max(unsigned n, pliteral const* as) { return trail(m.mk_or(n, as)); }
pliteral mk_min(unsigned n, pliteral const* as) { return trail(m.mk_and(n, as)); }
pliteral mk_not(pliteral a) { if (m.is_not(a,a)) return a; return trail(m.mk_not(a)); }
std::ostream& pp(std::ostream& out, pliteral lit) { return out << mk_pp(lit, m); }