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

18856 commits

Author SHA1 Message Date
Nuno Lopes
a302c2f15e fix crashes in elim-uncnstr2
This would crash before:
(declare-fun x () (_ BitVec 4))
(assert (not (bvule x #x1)))
(apply elim-uncnstr2)

That's because the index_set iterator was querying qtail to compute the end of the iteration
But the problem is that elim-uncnstr2 may add new fmls to the goal, as in this case.
The bvule is replaced with an 'or', but since it's negated, it turns into 2 goals
Solve the issue by freezing the qtail for the iteration loop.
This is the right behavior for elim-uncnstr2, as it can't rewrite exprs that haven't been analyzed before

@NikolajBjorner please check if this the right behavior for the other simplifiers. Thank you
2022-12-11 15:21:23 +00:00
Nikolaj Bjorner
d092523733 bugfixes to try_factor_equality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-10 10:51:21 -08:00
Nikolaj Bjorner
c27bd0d650 added try_factor
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 14:58:37 -08:00
Nikolaj Bjorner
6e886114f9 add parity4
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 09:56:47 -08:00
Nikolaj Bjorner
707577644f assignment -> assignment_t for build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 09:33:24 -08:00
Nikolaj Bjorner
57f2d72fe2 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 09:26:40 -08:00
Nikolaj Bjorner
ee307dd84f Merge branch 'master' of https://github.com/z3prover/z3 2022-12-09 08:50:46 -08:00
Nikolaj Bjorner
1434c7d394 #6059
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 08:50:32 -08:00
Jakob Rath
8d13446537 Solve boolean skeleton first 2022-12-09 17:22:51 +01:00
Nuno Lopes
9ebacd87e2 fix buggy mask (typo in my last commit..) 2022-12-09 16:16:52 +00:00
Nikolaj Bjorner
e716e507d9 investigate bench4
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 08:14:42 -08:00
Nikolaj Bjorner
96a2c04026 fix bug reported by Nuno
qhead should not be changed after tactic execution. It should remain 0 so the same tactic can be applied repeatedly on the entire state
2022-12-09 07:57:06 -08:00
Nuno Lopes
a96f5a9b42 fix overflow in mpz::bitwise_not 2022-12-09 11:59:39 +00:00
Nuno Lopes
c6f9c09d70 cleanup more in dependent_expr_state_tactic to reduce mem consumption 2022-12-09 11:34:53 +00:00
Nikolaj Bjorner
a6b49d8b4e provide access to saturation for selected constraints 2022-12-08 19:17:35 -08:00
Nuno Lopes
ca6fed8b25 minor code simplification 2022-12-08 18:20:46 +00:00
Nikolaj Bjorner
33902c7c9e fix parity propagation code, add tail-spin unit tests. The unit tests diverge because conflict resolution removes conflicting literals from the conflict clause before the decision variable gets processed. We have to change how conflict resolution is processed for such conflict clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-08 09:57:38 -08:00
Jakob Rath
3c8718615a yes, no need for plugins to be mutually exclusive 2022-12-08 16:19:11 +01:00
Jakob Rath
5ad961029d Rename revert_decision -> revert_pvar, and enable it.
Also rename resolve_with_assignment to resolve_evaluated
2022-12-08 16:19:11 +01:00
Jakob Rath
676aa81c5a Fix test_ineq2 2022-12-08 16:19:11 +01:00
Jakob Rath
a81e05e660 We shouldn't assume that v is assigned
Happens if it is a viable conflict for v
2022-12-08 16:19:11 +01:00
Jakob Rath
3fe8f4a0cd minor issue about narrow with first=true 2022-12-08 16:19:11 +01:00
Jakob Rath
85818612fb val_pp 2022-12-08 16:19:11 +01:00
Nikolaj Bjorner
28fb67219e fix new (and unused) function for extracting min parity of a polynomial
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-08 07:13:31 -08:00
Nikolaj Bjorner
8981d32caf
#6481 2022-12-08 07:06:27 -08:00
Nikolaj Bjorner
acbd60799d add placeholder for factor equality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 20:12:19 -08:00
Nikolaj Bjorner
437f826e8b sketch parity generalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 20:04:58 -08:00
Jakob Rath
55d691e16e enable 2022-12-07 18:45:00 +01:00
Jakob Rath
45e94ae7dd insert_eval 2022-12-07 18:41:42 +01:00
Nikolaj Bjorner
4a451b10d8 add custom coercion for floats. fix #6482
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 09:07:13 -08:00
Nikolaj Bjorner
c45c40e782 doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 08:51:18 -08:00
Clemens Eisenhofer
592791ba34 continue instead of return 2022-12-07 16:55:30 +01:00
Clemens Eisenhofer
c088eb4a26 Readded variable evaluation as fallback for variable elimination 2022-12-07 16:54:39 +01:00
Clemens Eisenhofer
47cb83f578 Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat 2022-12-07 16:35:42 +01:00
Jakob Rath
93ee9c7f8e compile 2022-12-07 16:16:07 +01:00
Jakob Rath
a4adb63662 unit test updates 2022-12-07 16:15:28 +01:00
Jakob Rath
71acba20e2 Assertion was too strong (via test_ineq1) 2022-12-07 16:13:24 +01:00
Jakob Rath
05a1f4d096 Skip try_parity for x==y and y==x 2022-12-07 16:09:10 +01:00
Jakob Rath
85715eb164 Update use of insert_eval and lemma scores to support propagation 2022-12-07 16:08:24 +01:00
Jakob Rath
fca4f18194 p 2022-12-07 12:47:30 +01:00
Nikolaj Bjorner
754cb540d0 disable new code paths for commit
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 02:23:43 -08:00
Nikolaj Bjorner
7e69dab8f6 distribute forall cpp code 2022-12-06 18:15:18 -08:00
Nikolaj Bjorner
c33e58ee1a update distribute forall
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 17:59:33 -08:00
Nikolaj Bjorner
80033e8744 cave in to supporting proofs (partially) in simplifiers, updated doc 2022-12-06 17:02:04 -08:00
Nikolaj Bjorner
aaabbfb594 remove comment that does not align with result
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 15:53:55 -08:00
Nikolaj Bjorner
d125d87aed typo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 15:51:42 -08:00
Nikolaj Bjorner
1e06c7414a add doc 2022-12-06 15:44:21 -08:00
Nikolaj Bjorner
7df4e04a2c add der description
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 05:46:52 -08:00
Nikolaj Bjorner
90ba225ae3 add more doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 05:39:05 -08:00
Nikolaj Bjorner
fdba85e39f trigger also parity constraints in linear case
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 05:18:50 -08:00