3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-12-17 01:38:31 +00:00

Add basic implementation of left shift

This commit is contained in:
Jakob Rath 2022-11-17 17:36:09 +01:00
parent 68707eefe7
commit adc9f7abe4
7 changed files with 121 additions and 14 deletions

View file

@ -55,6 +55,16 @@ Notes:
The try_recognize_bailout returns true, but fails to simplify any other literal.
Overall, why return true immediately if there are other literals that subsume each-other?
TODO: connect disjoint intervals
For example, rewrite:
p < a \/ b <= p
<=> ~ (a <= p < b)
<=> ~ (p - a < b - a)
<=> p - a >= b - a
(similar for other combinations of <, <=)
--*/
#include "math/polysat/solver.h"
#include "math/polysat/simplify_clause.h"