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

18144 commits

Author SHA1 Message Date
Jakob Rath
109ab0be40 Detect more equations in refine_equal_lin 2022-12-21 12:21:22 +01:00
Jakob Rath
8da9850d45 Add rational::pseudo_inverse 2022-12-21 12:13:05 +01:00
Jakob Rath
4a1781d747 more viable refinement tests 2022-12-21 11:18:27 +01:00
Nikolaj Bjorner
0a75585073 revamp parity propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-20 17:45:33 -08:00
Nikolaj Bjorner
ca855fbad3 redoing parity lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-20 15:46:25 -08:00
Nikolaj Bjorner
a8d401864b review
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-20 12:46:15 -08:00
Jakob Rath
5c54ea87f1 Add unit test based on bench27 2022-12-20 09:40:15 +01:00
Jakob Rath
e5b142b265 Rotate first entry for refinement 2022-12-20 09:32:27 +01:00
Jakob Rath
86a36a524a Fix unsoundness in viable fallback
(the src constraint of forbidden intervals is not necessarily univariate)
2022-12-19 15:37:49 +01:00
Jakob Rath
868a3710e0 fix segfault 2022-12-19 14:25:58 +01:00
Jakob Rath
59592754d8 minor univariate tweak 2022-12-19 14:07:57 +01:00
Jakob Rath
ac0e9ebe5f Don't lose variables when aborting decisions 2022-12-19 14:02:47 +01:00
Jakob Rath
69b41a7e70 Check invariant on pvars 2022-12-19 13:55:50 +01:00
Clemens Eisenhofer
ec06027515 First step towards explaining single bits 2022-12-19 12:27:37 +01:00
Jakob Rath
208f166934 Merge remote-tracking branch 'origin/polysat' into polysat 2022-12-19 09:11:18 +01:00
Nikolaj Bjorner
30bbb5399f add stub
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-18 22:02:42 -08:00
Nikolaj Bjorner
1c884c8d72 allow multiple lemmas during processing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-18 19:03:28 -08:00
Nikolaj Bjorner
1940f53b31 fix memory smash in cache push
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-18 12:33:58 -08:00
Nikolaj Bjorner
8c775f55a1 adding stub for non-overflow lemma (disabled as not seen to be of use)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-18 12:26:30 -08:00
Nikolaj Bjorner
899b1f8f7e fiddle with univariate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-17 20:02:46 -08:00
Nikolaj Bjorner
4e8bd4425f add find_two
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-17 19:41:09 -08:00
Nikolaj Bjorner
3c035daaa6 fix missing parity propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-17 19:08:40 -08:00
Nikolaj Bjorner
b581cbf062 add lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-17 18:25:21 -08:00
Jakob Rath
bf92fa4882 clause_iterator 2022-12-16 15:21:32 +01:00
Jakob Rath
342774eff8 test_ineq_non_axiom4 is slow but doesn't block anymore 2022-12-16 15:02:04 +01:00
Jakob Rath
75a64975b5 test 2022-12-16 15:00:50 +01:00
Jakob Rath
3e6e1e1a8a test 2022-12-16 14:37:31 +01:00
Jakob Rath
ca373836af Merge remote-tracking branch 'origin/polysat' into polysat 2022-12-16 14:26:38 +01:00
Jakob Rath
3b3636b30e Remove conflict::set 2022-12-16 14:25:41 +01:00
Jakob Rath
06e6f27614 refactor 2022-12-16 14:22:50 +01:00
Jakob Rath
9f05f645c1 update types and docs 2022-12-16 13:16:55 +01:00
Jakob Rath
c54c564019 convert to loop 2022-12-16 13:11:20 +01:00
Jakob Rath
e23774a746 reorder definitions 2022-12-16 13:06:16 +01:00
Jakob Rath
afde0e993c Add bitblasting fallback to viable::query
(integration between conflict/viable is still messy)
2022-12-16 13:02:54 +01:00
Jakob Rath
44cb528300 Extract usolver 2022-12-16 10:46:57 +01:00
Jakob Rath
5d7833e65e Warn on unused result (mainly for substitution::add) 2022-12-16 10:28:57 +01:00
Clemens Eisenhofer
d5bc4b84a7 Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat 2022-12-16 10:14:10 +01:00
Clemens Eisenhofer
71211f3134 Some bugfixes and unit-tests for variable elimination 2022-12-16 10:12:34 +01:00
Jakob Rath
8a5f1af3d1 univariate::find_max 2022-12-15 15:59:15 +01:00
Jakob Rath
31e0add966 univariate::find_min 2022-12-15 15:51:29 +01:00
Jakob Rath
37536425f4 Encode 2^k*x as (bvshl x k) in the fallback solver 2022-12-15 14:03:42 +01:00
Jakob Rath
06a999e219 skip diseq when not using polysat 2022-12-15 13:46:10 +01:00
Jakob Rath
a6504785b5 print bitblasted constraints 2022-12-15 13:43:23 +01:00
Jakob Rath
5de0007157 very basic refinement loop breaking 2022-12-15 13:39:48 +01:00
Jakob Rath
3d06a90e7f track refinement source 2022-12-15 13:08:13 +01:00
Jakob Rath
e978e4fc8e Strengthen umul_ovfl lemma 2022-12-14 11:07:16 +01:00
Clemens Eisenhofer
dc95179ae5 Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat 2022-12-14 10:39:15 +01:00
Jakob Rath
1bc4313333 Fix unsoundness in previous commit 2022-12-13 15:27:07 +01:00
Jakob Rath
7e7cea54f4 Intervals from equality constraints: remove superfluous side constraints 2022-12-13 15:02:45 +01:00
Jakob Rath
434e794790 test 2022-12-13 12:00:38 +01:00