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

190 commits

Author SHA1 Message Date
Clemens Eisenhofer
47cb83f578 Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat 2022-12-07 16:35:42 +01:00
Nikolaj Bjorner
ef811a3dd8 add propagation rule for strict inequality to force univariate polynomials
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 04:56:42 -08:00
Nikolaj Bjorner
f2c228f160 update function that propagates bounds on x*y = 0 to be more comprehensive
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-05 01:19:26 -08:00
Nikolaj Bjorner
5b8dcfb801 wip - adding saturation/propagations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-03 15:38:01 -08:00
Nikolaj Bjorner
215a4e9bad review and fix soundness bug in band rule
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-02 19:04:23 -08:00
Jakob Rath
91c6582bf7 pwatch 2022-12-01 15:50:03 +01:00
Jakob Rath
5069796755 Create clauses without adding them 2022-11-30 14:51:43 +01:00
Clemens Eisenhofer
2b7fd152c4 Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat 2022-11-29 14:54:49 +01:00
Jakob Rath
0c44391b9e Don't call assign_eh for internal constraints 2022-11-28 18:43:19 +01:00
Jakob Rath
3d79cddf33 Update saturation inferences 2022-11-28 18:02:18 +01:00
Jakob Rath
2787a22007 Backtrack/backjump based on accumulated lemmas 2022-11-23 12:49:36 +01:00
Jakob Rath
e4999b07aa Remove active flag from constraint
Superseded by boolean assignment and pwatch
2022-11-22 14:45:51 +01:00
Jakob Rath
a144a09ede Propagation must be justified by a prefix of Gamma 2022-11-22 13:42:31 +01:00
Jakob Rath
6e72a97727 Refactor assignment and search state 2022-11-21 17:25:15 +01:00
Clemens Eisenhofer
98d572b48b First try to generalize variable elimination 2022-11-20 11:35:12 +01:00
Jakob Rath
adc9f7abe4 Add basic implementation of left shift 2022-11-17 17:37:52 +01:00
Jakob Rath
cd83a6ec69 Remove bailout state from conflict 2022-11-14 15:15:35 +01:00
Jakob Rath
01af25ca02 Remove backjump state from conflict 2022-11-14 14:33:19 +01:00
Jakob Rath
d3f70c0fb8 Rename: explain -> superposition 2022-11-10 14:42:13 +01:00
Jakob Rath
e7c77a22ab Dedup quot_rem and lshr too 2022-11-07 15:25:05 +01:00
Jakob Rath
a1736473a4 Move bit-wise expressions to constraint_manager 2022-11-07 14:00:02 +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
714c71ab88 Try to fix lemma_invariant 2022-10-07 17:48:22 +02:00
Jakob Rath
74b53c3323 Fix checking of lemma invariant 2022-10-07 16:20:44 +02:00
Jakob Rath
8333664433 Simplify handling of side lemmas in conflict 2022-10-07 16:19:41 +02:00
Jakob Rath
af368b39c9 less output 2022-10-07 10:10:44 +02:00
Jakob Rath
dc9373dcbd Change old solver::propagate method 2022-10-04 17:09:09 +02:00
Jakob Rath
46c69766d1 output 2022-10-04 14:09:57 +02:00
Jakob Rath
3d27ec41d0 Bring back boolean decisions (wip)
The backtracking code doesn't know about boolean decisions yet
2022-10-03 18:36:16 +02:00
Jakob Rath
05442e8788 lemma_invariant 2022-09-30 13:12:47 +02:00
Jakob Rath
5e54cd3e44 Add basic support for not, or, xor, nand, nor via rewriting 2022-09-30 13:02:32 +02:00
Jakob Rath
8d803a1266 Move unfinished make_asserting code 2022-09-28 19:19:33 +02:00
Jakob Rath
a4f0e3a228 Add level to conflict
- reset conflict at correct level when popping user scopes
- functions as flag when handling inconsistent input (e.g., opposite literals)
- now all constraints in the conflict core should have bvalue == l_true
2022-09-23 16:06:14 +02:00
Jakob Rath
b43971bb4a Connect conflict2 2022-09-21 12:14:44 +02:00
Jakob Rath
a416e16566 conflict2 2022-09-19 16:01:45 +02:00
Jakob Rath
acf9976df9 make it compile 2022-08-26 16:28:52 +02:00
Jakob Rath
e39e1dcc49 Extract inference_logger 2022-08-25 16:03:17 +02:00
Jakob Rath
53f276d225 apply 2022-08-22 12:44:56 +02:00
Jakob Rath
3e99828c3c start make_asserting for non-unit coeff 2022-08-19 17:06:28 +02:00
Jakob Rath
c3e7bd34d0 make_asserting for unit coefficients 2022-08-19 16:02:56 +02:00
Jakob Rath
201d841a90 lit_pp with extra information 2022-08-17 09:29:00 +02:00
Jakob Rath
bab8d817ef Remove decisions on lemmas 2022-08-04 14:24:20 +02:00
Jakob Rath
c67024d88b unused for now 2022-08-04 13:52:29 +02:00
Jakob Rath
014fe4e3fd fallback stats 2022-08-04 08:51:24 +02:00
Jakob Rath
b9588af07a fix output 2022-08-03 10:01:54 +02:00
Jakob Rath
a76f977f85 Change univariate fallback solver to one-shot mode for now 2022-08-02 12:42:34 +02:00
Jakob Rath
48c6bea331 umul 2 2022-07-21 12:38:00 +02:00
Jakob Rath
d4592f2abf umul 2022-07-21 11:57:27 +02:00
Jakob Rath
8d871bf8b5 dead code 2022-07-21 11:48:41 +02:00