3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-13 17:41:16 +00:00

support checking pseudo-inverses

This commit is contained in:
Jakob Rath 2023-03-12 18:31:57 +01:00
parent 07d1f86575
commit 233baf170c
2 changed files with 70 additions and 2 deletions

View file

@ -33,6 +33,11 @@ namespace polysat {
ast_manager& m() const;
bv_util& bv() const;
expr* mk_fresh_bool_const(char const* prefix);
// expression for "parity of p"
expr* mk_parity(pdd const& p);
public:
polysat_ast(solver&);
~polysat_ast();
@ -59,6 +64,9 @@ namespace polysat {
// ovfl*(p, q)
expr* mk_umul_ovfl(pdd const& p, pdd const& q, bool sign);
// p_inv = pseudo-inverse(p)
expr* mk_inv(pdd const& p, pdd const& p_inv);
expr* mk_not(expr* e);
expr* mk_lit(sat::literal lit);