3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05:51 +00:00
Commit graph

95 commits

Author SHA1 Message Date
Jakob Rath
abc4cc5295 Simplify boolean propagation level 2022-11-09 16:59:51 +01:00
Jakob Rath
2953b1c093 Dedup op constraints 2022-11-07 15:02:48 +01:00
Jakob Rath
89acd96a89 All constraints have bvars now 2022-11-07 14:14:36 +01:00
Jakob Rath
7662427d92 Split constraint_manager into separate file 2022-11-07 13:33:48 +01:00
Jakob Rath
29695391de First pass at free variable elimination 2022-10-31 15:22:03 +01:00
Jakob Rath
6218931dde We only need one of is_true/is_false 2022-09-29 17:19:47 +02:00
Jakob Rath
7be82a36f2 Recognize x != k among new literals in lemma 2022-09-28 15:16:05 +02:00
Jakob Rath
6715058876 Simplify equations into canonical form
Also simplify constraints that are always false due to parity
2022-09-28 13:22:17 +02:00
Jakob Rath
3a759c1a28 move fi_record 2022-08-22 14:14:30 +02:00
Jakob Rath
26fcfc6ecd Add default constructor to fi_entry 2022-08-22 14:03:43 +02:00
Jakob Rath
c3e7bd34d0 make_asserting for unit coefficients 2022-08-19 16:02:56 +02:00
Jakob Rath
48c6bea331 umul 2 2022-07-21 12:38:00 +02:00
Jakob Rath
003896991d fix merge 2022-07-01 17:16:40 +02:00
Jakob Rath
2345fb6428 Support watching inactive constraints
This allows us to handle non-redundant clauses (like we get from quot_rem)
2022-05-27 15:49:54 +02:00
Jakob Rath
63031548cb Store only literals in the conflict state 2022-04-11 15:00:06 +02:00
Jakob Rath
509a007ed7 Integrate univariate solver in polysat 2022-03-18 15:43:06 +01:00
Jakob Rath
9d47d7959d helper functions to add constraints to univariate_solver 2022-03-17 14:08:00 +01:00
Nikolaj Bjorner
1faccffd0d add smul over and underflow predicate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-20 11:39:45 +02:00
Nikolaj Bjorner
8c9835bca6 smul no overflow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-16 18:55:07 +02:00
Nikolaj Bjorner
b488a1fadd WIP revamp conflict state
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-29 16:17:58 -08:00
Nikolaj Bjorner
be790b8892 add back minimize vars
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-26 18:01:26 -08:00
Nikolaj Bjorner
cd11b70864 add value-propagate flag to patch regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-23 12:09:49 +01:00
Nikolaj Bjorner
cbbf1381f7 update to use incremental substitution
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-23 03:00:25 +01:00
Nikolaj Bjorner
c1d5111159 add first test for band
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-18 12:28:59 -08:00
Nikolaj Bjorner
a2aa1170f9 rename to op-constraint to give space for other operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-15 09:20:11 -08:00
Nikolaj Bjorner
79bc33b88e na 2021-12-14 19:42:19 -08:00
Nikolaj Bjorner
6eb6eb39a4 more of shr 2021-12-14 19:23:31 -08:00
Nikolaj Bjorner
06f7ba2e78 add stubs for shr 2021-12-14 14:35:08 -08:00
Nikolaj Bjorner
c7da31a67d na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-13 10:24:42 -08:00
Nikolaj Bjorner
83efb1413a na 2021-12-11 08:41:04 -08:00
Nikolaj Bjorner
bf258ee29d add bit shorthand 2021-12-09 15:25:44 -08:00
Nikolaj Bjorner
a4fc63c542 initial overflow test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-09 14:39:00 -08:00
Nikolaj Bjorner
0dcaf9b9f9 add ovfl constraint
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-09 09:05:23 -08:00
Nikolaj Bjorner
c9f5ce43b2 viable 2 with dlist
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-10 14:43:10 -08:00
Nikolaj Bjorner
95e2d174c7 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-25 17:26:18 -07:00
Nikolaj Bjorner
e6c413b249 add variable minimization 2021-09-22 14:27:05 -07:00
Nikolaj Bjorner
c82bbaad7d update todos, working on assignment minimization 2021-09-22 13:29:36 -07:00
Nikolaj Bjorner
ce12c51083 remove last references to unit clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-20 17:36:07 -07:00
Nikolaj Bjorner
8ee54c665a removing unit clauses and dependency manager, use minisat approach by tracking assumption literals directly also in clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-20 15:10:03 -07:00
Nikolaj Bjorner
fa3886136b adding Boolean propagation, watch; and factoring 2021-09-18 22:18:15 -04:00
Nikolaj Bjorner
689c5b4e12 generalize level
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-15 16:46:30 +01:00
Nikolaj Bjorner
3c8c8f5d40 update var dependency tracking
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-15 09:10:36 +01:00
Nikolaj Bjorner
f9b1b4e65d add mode to display to get constraints without wild-card notation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-14 14:13:31 +02:00
Jakob Rath
43fef8e8ba External constraints need to remember their sign 2021-09-14 09:50:07 +02:00
Jakob Rath
18710a86d7 print clauses 2021-09-13 17:44:19 +02:00
Nikolaj Bjorner
c082ea4357 update dep
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-13 17:35:36 +02:00
Jakob Rath
bb227c0d6e Track existing constraints with indexed_uint_set 2021-09-13 11:00:08 +02:00
Nikolaj Bjorner
f5fd295e01 reorganize variable tracking for lemmas
this is going to break a bunch
2021-09-12 18:05:29 +02:00
Nikolaj Bjorner
b36bc11b85 remove eq constraint, fix gc for external constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-11 20:09:28 +02:00
Nikolaj Bjorner
f8a3857adb comments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-11 16:55:49 +02:00