3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-09 23:52:02 +00:00

bypass assertion violation for parity

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-02-09 16:33:30 -08:00
parent 6b48b25beb
commit 2f86d9de75
2 changed files with 7 additions and 2 deletions

View file

@ -696,7 +696,10 @@ namespace polysat {
#else
pdd a_pi = s.pseudo_inv(a);
//precondition.insert_eval(~s.eq(a_pi * a, rational::power_of_two(a_parity))); // TODO: This is unfortunately not a justification as the inverse might not be set yet (Can we make it to one?)
precondition.insert_eval(~s.parity_at_most(a, a_parity));
auto c = ~s.parity_at_most(a, a_parity);
if (!c.is_currently_false(s))
return { p, false };
precondition.insert_eval(c);
#endif
pdd shift = a;